Usar Exomizer en la churrera?

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Usar Exomizer en la churrera?

Mensajepor D_Skywalk » Dom, 27 Oct 2013, 10:06

Windows apack.exe:
$this->bbcode_second_pass_code('', '
wine ../utils/apack.exe ../gfx/title.scr build/title.bin
===============================================================================
aPLib example Copyright (c) 1998-2004 by Joergen Ibsen / Jibz
All Rights Reserved

http://www.ibsensoftware.com/
===============================================================================

compressed 6912 -> 1443 bytes (20%) in 0.01 seconds

wine ../utils/apack.exe ../gfx/ending.scr build/ending.bin
===============================================================================
aPLib example Copyright (c) 1998-2004 by Joergen Ibsen / Jibz
All Rights Reserved

http://www.ibsensoftware.com/
===============================================================================

compressed 6912 -> 1217 bytes (17%) in 0.01 seconds
')

Total:
36331 + 24200 = 60531 ( 123 free )


Linux appack elf64:
$this->bbcode_second_pass_code('', 'appack c ../gfx/title.scr build/title.bin
===============================================================================
aPLib example Copyright (c) 1998-2009 by Joergen Ibsen / Jibz
All Rights Reserved

http://www.ibsensoftware.com/
===============================================================================

compressed 6912 -> 1467 bytes (21%) in 0.00 seconds
appack c ../gfx/ending.scr build/ending.bin
===============================================================================
aPLib example Copyright (c) 1998-2009 by Joergen Ibsen / Jibz
All Rights Reserved

http://www.ibsensoftware.com/
===============================================================================

compressed 6912 -> 1241 bytes (17%) in 0.00 seconds
')

Total:
36379 + 24200 = 60579 ( 75 free )


Es casi el doble :|
David Skywalker
Weblog: http://david.dantoine.org
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Usar Exomizer en la churrera?

Mensajepor D_Skywalk » Dom, 27 Oct 2013, 10:24

Ya lo tengo!!
No hay que usar la safe, ahora comprime igual que la de windows. Además he limpiado el código y la he dejado sólo para comprimir como la de windows.

Un Saludo y ahora tengo curiosidad de como quedaría con exomizer :cheer:
Adjuntos
apack.linux.zip
apack linuxero!
(315.93 KiB) Descargado 175 veces
David Skywalker
Weblog: http://david.dantoine.org
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Usar Exomizer en la churrera?

Mensajepor antoniovillena » Dom, 27 Oct 2013, 10:57

Vaya currada D_Skywalk, no me esperaba tantos avances en tan poco tiempo.

Veo que no has tenido problema en pasar el .bat a bash, en realidad es mucho más sencillo en bash donde no hay que dar tantas vueltas para obtener la longitud de un archivo o pasar un número a hexadecimal. La utilidad GenTape la porté a Linux en su momento porque había gente interesada, en el script hay que hacer un par de cambio: encerrar las cadendas con comillas simples es comillas dobles y cambiar el caracter de continuación de línea.

$this->bbcode_second_pass_code('', '
./GenTape $FULLNAME.tap \
basic "'$TAPENAME'" 0 compress_tap.bin \
data $GAMENAME.bin.exo.opt
')

Como he dicho antes, GenTape no es necesario porque bin2tap y copy /b (o cat en linux) hacen el mismo trabajo. La única ventaja de GenTape es que lo hace todo de una vez y permite elegir entre tap, tzx ó wav simplemente cambiando la extensión en la llamada.

Respecto a los parámetros de zcc (create-app, etc...) no tengo ni idea, es una copia literal del comp.bat que se distribuye en el código fuente.

En cuanto a tiempo de procesado entre aplib y exomizer, en las pantallas no creo que se note una diferencia apreciable (desde el punto de vista del usuario). Sin embargo en la descompresión del juego completo sí que se notará, a lo mejor exomizer tarda 4 segundos en lugar de los 3 que tarde aplib.

Si comparáis los ratios de compresión, exomizer comprime mejor, aunque no mucho mejor. Independientemente del algoritmo que uséis para la versión final de la Churrera, os recomiendo que apliquéis el filtro RCS, tanto en aplib como en exomizer la diferencia de tamaño es notable.
Avatar de Usuario
D_Skywalk
Mensajes: 352
Registrado: Mar, 01 Oct 2013, 13:36

Re: Usar Exomizer en la churrera?

Mensajepor D_Skywalk » Dom, 27 Oct 2013, 11:04

Domingo, niño pequeño... te levantas pronto :poke:
XDDD

No se a que te refieres a comprimir el programa, el uso que yo le daría en principio es para la pantalla de título de Justin y para la Final.

Y para el juego de halloween me gustaría usarla para comprimir, map, ene y sprites de 3 fases y ... a ver que cabe en 48K :cafe:

Un Saludo :wan:
Última edición por D_Skywalk el Dom, 27 Oct 2013, 11:05, editado 1 vez en total.
David Skywalker
Weblog: http://david.dantoine.org
antoniovillena
Mensajes: 494
Registrado: Jue, 24 Oct 2013, 15:52

Re: Usar Exomizer en la churrera?

Mensajepor antoniovillena » Dom, 27 Oct 2013, 11:05

$this->bbcode_second_pass_quote('D_Skywalk', '
')Este ejemplo vale para la pantalla de título por lo que entiendo, no?
Si quisiera comprimir unos sprites y tenerlos en memoria, como debería de hacerlo?


En el .bat lo que he hecho es comprimir la pantalla de carga y el resto del juego, el cual supongo que están todos los datos sin comprimir. Si quisieras tener elementos comprimidos en memoria y descomprimirlos al vuelo durante el juego (no al principio) la cosa sería más compleja. Tendrías que tener la rutina de descompresión siempre en memoria y separar los datos del juego entre comprimidos y no comprimidos. Al comienzo del juego sólo descomprimirías los datos no comprimidos dejando los comprimidos intactos, así cuando llegue el momento (por ejemplo al final del juego) se llamará a la rutina descompresora (con los datos comprimidos de la pantalla de ending).