Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Compresion En Archivos Pak Del Half-life/quake

Iniciado por [EX3], 27 de Enero de 2004, 11:18:50 PM

« anterior - próximo »

[EX3]

 Nas.

Estoy programando unas funciones para extraer archivos contenidos dentro de un archivo paquete *.PAK. El formato es el mismo ke usan Quake y Half-Life. De momento puedo manipular PAKs sin compresion tanto desde VB como desde el editor ke uso, PAKScape, pero me interesaria poder comprimir los archivos contenidos en los PAKs. Se ke el Quake y el Half-Life pueden leer tanto PAKs comprimidos como sin comprimir. Alguien sabe donde podria encontrar informacion sobre el sistema de compresion de los PAKs?

Gracias.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

Loover

 ¿Pero los paks del quake 3 no eran zips renombrados? Xd.
Vamos estoy casi seguro de ello. De hecho si los renombras a .zip los puedes abrir impunemente con el winzip. Es más, tengo por aquí un visor de pantallas del quake que toma los .pak de entrada y usa...
Mirando en la cabecera de los fuentes:
Citar
//////////////////////////////////////////////////////////////////////
//  Lifted from Titan
//  Based on PCDEZIP.
//  Heavily mangled by Bart
//
//////////////////////////////////////////////////////////////////////
//
//  PCDEZIP.CPP þþ Copyright 1994, Bob Flanders and Michael Holmes     
//  First Published in PC Magazine January 11, 1994                     
//                                                                     
//  PCDEZIP decompresses .ZIP files created with PKZIP through
//  version 2.04g.  PCDEZIP provides syntax and switch compatibilty
//  with both Michael Mefford's PCUNZP and Phil Katz's PKUNZIP.         
//
//////////////////////////////////////////////////////////////////////

IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

[EX3]

 Quake & Quake2 usan PAK, Quake ]|[ utiliza zips renombrados PK3.

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

Loover

IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

[EX3]

 Hicieron bien, el PK3 (Zip) se comprime muchisimo mas ke los PAK por lo ke he podido averiguar. Y en principio ni Quake ni Half-Life han usado PAKs comprimidos. Estoy por hacer un arreglillo al codigo ke teno para manipular los PAKs y añadirle unas lineas para ke comprima y descomprima con la ZLib.dll ke la estaba usando en mi proyecto de empaketador con formato personalizado y me dio muy buen resultado (11 mb ke me ocupaba un mod del half-life a 3 mb!!!) Pero usar la ZLib.dll me impide utilizar editores como el PAKScape y derivados  <_<

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

BeRSeRKeR

 Échale un vistazo al código del quake1 o quake2, a ver si te ayuda...

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

seryu

 yo soy un neofito del quake, pero supongo qe llevara alguna compresion sencilla como rle o algo asi, como dicen arriba, lo mejor es echar un vistazo al codigo fuente, qe gracias a dios esta disponible.

[EX3]

 En caso de ke no encontrara el sistema de compresion del PAK se me ha ocurrido la idea de diseñar un pekeño programa ke leyera y extrajera todos los archivos del PAK creado con el PAKScape, por ejemplo, y los empaketara de nuevo comprimiendo los archivos con la ZLib.dll. Asi no perderia el formato original del PAK. Y si por el contrario se kiere modificar el contenido del PAK desde un editor como PAKScape pues seria lo mismo pero a la inversa, extraer/descomprimir/empaketar, y listos para modificar. ¿No es mala idea, no?

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

AK47

 Saludos
Yo me he hecho mi propio sistema de empaquetacion usando el bzip2 (creo que era asi como se llamaba) que comprime algo mas que el zip normal. Es muy facil ;)

[EX3]

 Yo estaba trabajando en mi propio formato de empaketacion, el *.TPK - TLSA PAK, simulando al PAK pero con compresion, pero al final me decante totalmente por el PAK por ke asi dispondria de editores la mar de sencillos y la mar de completos, vamos, ke al fin y al cabo es cuestion de vageria  :P un asi seguire trabajando con el TPK, a ver en ke acaba.

Creo ke al final hare lo del pekeño programa ke comprima/descomprima los PAKs y añada las dos opciones al motor: la de lectura con o sin compresion, y ya ta :lol:

Salu2...
José Miguel Sánchez Fernández
.NET Developer | Game Programmer | Unity Developer

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

[EX3]

 Vale, acabo de descubrir ke los PAK del Quake/Half-Life no tienen compresion alguna, el formato PAK ke tiene compresion pertenece a otro juego (cuyo nombre desconozco) asi ke definitivamente me tocara meterle la compresion via ZLib.dll, mejor, asi personalizo de paso un poco el formato de la cabecera y demas para añadirle mas opciones (genial)

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.