Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ayuda para empaquetar Recursos

Iniciado por Hechelion, 10 de Noviembre de 2007, 10:30:03 PM

« anterior - próximo »

Hechelion

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.

[EX3]

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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

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?.

[EX3]

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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt

Hechelion

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.

[EX3]

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...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

Blog | Game Portfolio | LinkedIn | Twitter | Itch.io | Gamejolt






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.