Foros - Stratos

Proyectos => Proyecto dx_lib32 => Mensaje iniciado por: Hechelion en 10 de Noviembre de 2007, 10:30:03 PM

Título: Ayuda para empaquetar Recursos
Publicado por: Hechelion en 10 de Noviembre de 2007, 10:30:03 PM
Saludos estimada comunidad de DX_Lib32

Quisiera saber si alguien tiene algún ejemplo o si me puediese orientar para utilizar recursos comprimidos (especialmente de imagenes).

Descargue la utilidad PakScape de la página de Lib32 y aunque puedo crear archivos con las imagenes, no se como las puedo utilizar desde ahí con mi aplicación.

Cualquier ayuda será bienvenida.
Título: Ayuda para empaquetar Recursos
Publicado por: [EX3] en 11 de Noviembre de 2007, 12:32:36 AM
Comprimidos me temo que no, ya que el formato PAK de half-life, que es el que usa dx_lib32, no comprime los datos. Sobre como usarlo tienes el tutorial 1 de dx_system que muestra un mini explorador de paquetes PAK (trae uno de prueba) y la opcion de extraer archivos. Echale un vistazo al codigo fuente, veras que no es muy complicado manejarlo.

Salu2...
Título: Ayuda para empaquetar Recursos
Publicado por: Hechelion en 11 de Noviembre de 2007, 08:15:21 AM
Efectivamente había revisado dicho tutorial, pero la verdad no le vi utilidad practica ya que necesito extrare el archivo al disco duro para poder usarlo (o eso entendi yo).

¿Puedo usar una imagen dentro de un PAK o extrayendola solamente a la memoria y no sobre un HDD?.
Título: Ayuda para empaquetar Recursos
Publicado por: [EX3] en 11 de Noviembre de 2007, 03:34:32 PM
Si son imagenes PNG, que cumpliria la funcion de compresion de datos, las podrias extraer directamente a memoria mediante PAK_ExtractFileInMemory() y despues cargarla mediante MAP_LoadFromMemory(). Con otros formatos graficos no funciona debido a un extraño error indocumentado de la funcion de Direct3D8 para cargar un array de bytes como textura, es una funcion que ni dios usa y los pocos que la usamos nos pasa lo mismo.

Sobre lo de extraer a disco, no le veo problema a extraer los datos a disco y despues cargarlo desde ahi. Yo suelo extraer los recursos a disco en el directorio temporal del usuario, cargarlos en el programa y despues borrarlos, en verdad es como funcionan muchos programas que usan recursos empaquetados y es lo que te tocara hacer con sonidos y demas recursos que no sean graficos ya que dx_lib32 no tiene funciones para importar sonidos o videos desde memoria (aunque imagino que lo que pretendes sera crear paquetes de texturas unicamente).

Salu2...
Título: Ayuda para empaquetar Recursos
Publicado por: Hechelion en 11 de Noviembre de 2007, 05:47:37 PM
Se agradece la respuesta, efectivamente queria crear  paquetes de texturas.
Por último, ¿utilizas el archivo temporal de windows o prefieres crear un temporal propio dentro de la carpeta del juego?.

Pregunto más que nada para tener una idea de lo que se usa.
Título: Ayuda para empaquetar Recursos
Publicado por: [EX3] en 11 de Noviembre de 2007, 07:31:00 PM
Suelo usar el directorio temporal de Windows (en plataformas 9x) o el directorio temporal correspondiente al usuario (plataformas NT), obteniendo la ruta a traves de Visual Basic con Environ("TEMP") o de la propia dx_lib32 con dx_System.SYS_GetPath(TEMP_DIR).

Salu2...