Problema con imagenes codificadas con LZSS

Lugar donde se intentarán resolver problemas específicos
Responder
Avatar de Usuario
Dahrkael
Mensajes: 29
Registrado: 29 Oct 2011, 20:48
Contactar:

Problema con imagenes codificadas con LZSS

Mensaje por Dahrkael » 29 Oct 2011, 21:28

Buenas, el problema seguramente sera que estoy ciego.
Estoy trasteando con el RPG Maker DS (que como su nombre indica es de Nintendo DS) mas para aprender que otra cosa, pero si se deja traducir que mejor. Paso a exponer mi problema actual:

El juego usa formatos propios para todo, imagenes incluidas, aunque internamente usan los formatos tipicos (paleta, mapa y tiles o paleta y tiles).
La cosa es que algunas imagenes (convenientemente nombradas .blz mientras que el resto son .bin) tienen una parte codificada con LZSS, aparentemente solo 3/4 de los tiles estan codificados, cosa que me extraña.

He comprobado que el Crystal Tile 2 puede exportarlos descodificados pero no estoy seguro de como, ya que si uso su funcion de buscar compresiones no me aparece ninguna ni remotamente cercana al comienzo de la buena.

Ahora vamos con las imagenes:
- Esto es una imagen extraida con el Crystal Tile 2 y exportada a png con mi programa
[img]http://bb.ohsk.net/uploads/bg01bin.png[/img]
Se ve perfecta, eso es bueno supongo.

- Esto es la misma imagen sin extraer, cargada en plan guarro por mi programa:
[img]http://bb.ohsk.net/uploads/bg01blz.png[/img]
Ignorese la parte de abajo, ya que como la parte codificada es menor, relleno con ceros para que no pete. Notese tambien que los colores mas o menos encajan y que la primera parte no esta codificada.


Ahora foticos de hexadecimal que a todo el mundo gustan:

Esto es el archivo original semicodificado, la parte seleccionada es lo que difiere del descodificado (es mas largo, pero con una parte supongo que vale para la explicacion inicial), las dos primeras lineas son el final del mapa, y entremedias esta el inicio de los tiles, esto uno de los motivos por los cuale estoy confuso.
[img]http://bb.ohsk.net/uploads/hexblz.PNG[/img]

Y aqui la version sin codificacion alguna, con la misma parte seleccionada.
[img]http://bb.ohsk.net/uploads/hexbin.PNG[/img]

He leido el articulo de CUE de LZSS para tontos (varias veces) y he probado snippets ajenos (los cuales todos petan). Pero ni veo tuberia, ni veo nada que indique el estado inicial de la codificacion para poder revertirla, ese es mi principal problema.

¿Alguien suficientemente majo u ocioso tiene alguna idea?

los archivos en cuestion son estos, por si a alguien le apetece echar un vistazo:
http://bb.ohsk.net/uploads/bg01.7z

PT (PostTocho): No se me da bien redactar y tiendo a enredar las cosas o incluir cosas que no vienen a cuento, no lo tengais en cuenta.
PD: No hay ni un solo acento en este post.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 30 Oct 2011, 09:14

¡Enhorabuena, su número ha sido premiado con la solución a su problema! Estoooo, algo me dice que no se me ha pasado del todo la cogorza de ayer, pero yo no tengo la culpa de que con el cambio de hora se pueda beber una horita más, que no veas lo que da sí.

Para ser sinceros, he leído poco el post. Yo hago como con las novelas, empiezo por el final, y como dices que no hay acentos, pues paso, que soy un tiquismiquis de cuidado. Sólo por eso te toca currar un poco. Busca por el foro algo que hable de compresión de overlays-bla-bla-bla-rollo_patatero y por ahí estará un programa llamado "ds-lzovl.exe", que descomprime perfectamente esos ficheros porque tienen la misma estructura (deben ser de la familia). Eso sí, te aviso que la compresión no la terminé de hacer decentemente (porque no quise, para qué vamos a decir lo contrario), pero se puede hacer perfectamente.

Otro regalo más, para que puedas hacer un copy & paste cuando lo necesites (o para que te acuerdes de mi familia, según como se mire):
áéíóúüÁÉÍÓÚÜ
:twisted: :twisted: :twisted:

Avatar de Usuario
Dahrkael
Mensajes: 29
Registrado: 29 Oct 2011, 20:48
Contactar:

Mensaje por Dahrkael » 30 Oct 2011, 17:28

Ciertamente todo ha cobrado sentido de repente, ya sabía yo que esta gente es incapaz de hacer las cosas como el resto del mundo. Ya lo he implementado en mi programa y va perfecto, gracias.

Avatar de Usuario
CUE
Administrador
Administrador
Mensajes: 5520
Registrado: 24 Ene 2011, 16:52

Mensaje por CUE » 31 Oct 2011, 10:55

Bueno, pues como veo que hay juegos que usan la misma compresión que los overlays, voy a incluir esa codificación en las utilidades que estoy haciendo. Como BLZ me sirve para indicar que se decodifica desde "abajo" ('Bottom LZ'), ése será el nombre que usaré. Ya pondré mas info en el post correspondiente.

Responder