Página 19 de 22

Re: Compresor de mapas

Publicado: Dom, 26 Ene 2014, 21:47
por na_th_an
Es que la última versión que estoy cocinando cambia cada día :D

Las características del juego que tenemos entre mano nos han obligado a cambiar tantas cosas que creo que, salvo un par de detalles, he reescrito casi todo el motor :boots:

Me pondré en contacto contigo cuando tengamos el juego medio listo y el motor "estable", ya que la única forma que tengo de "integrar" algo en el motor es usándolo, y tendremos que hacer un jueguecillo.

Además, el quid de la cuestión es que se integre bien con lo que tenemos, de una forma lógica. Tengo que reorganizar el tema de los niveles y estructurarlo todo bien, porque ahora mismo tenemos niveles full comprimidos en 48K, niveles full comprimidos en 128K, niveles que se forman con diversos recursos comprimidos en 128K, tu sistema de comprimir los mapas... Tengo que pensar en cómo hacerlo casar todo en condiciones para que, entre otras cosas, podamos combinarlo todo.

Re: Compresor de mapas

Publicado: Lun, 27 Ene 2014, 00:32
por elborra
$this->bbcode_second_pass_quote('na_th_an', 'S')í, me gustaría añadir esto al motor, pero necesito:

1.- Terminar mi proyecto gordo actual. No tengo apenas tiempo libre últimamente y el que tengo lo necesito para avanzar. Cuando termine, tendré rato para cacharrear.

2.- Con tanto hilo, mejoras, cambios y tal que transcurrieron durante una etapa en la que estaba metido en otros manejes y tampoco tenía tiempo para prestar mucha atención, admito que me he perdido. No sabría ni por donde empezar :D ¿Hay algún sitio donde se resuma qué cambios son necesarios, cómo funciona el invento, y pueda descargar los ejecutables? Sé que podría buscarlo porque seguro que anda todo por este hilo, pero la verdad es que no tengo mucho tiempo.
Por mi sin prisas (sólo faltaría lo contrario).

Antonio, creo que lo suyo sería hacer ese nuevo post (por ejemplo en el hilo que me sugirió na_th_an de Módulos miscelaneaos), con todos los paso y herramientas actualizadas. Me servirá a mi y a muchos y si la integración con la Churrera es total cuando llegue el momento na_th_an la podrá incluir sin dificultades. :wan:

Re: Compresor de mapas

Publicado: Lun, 27 Ene 2014, 11:25
por na_th_an
Acabo de ver que Antonio ha actualizado el hilo de las modificaciones con las instrucciones pertinentes para integrar la compresión de mapas. Lo estudiaré para ver la mejor forma de combinarlo con lo que ya hay y dejarlo todo listo e integrado y, a ser posible que no haya que ejecutar nada a mano y modificar a mano ningún archivo (por ejemplo, mapa.h). Pero tendrá que esperar ;)

Re: Compresor de mapas

Publicado: Mar, 28 Ene 2014, 11:33
por elborra
Yo esta tarde me pongo un rato y modifico el mapcnv para adaptarse a este cambio + lo mio de la zona de juego variable y lo dejo en el hilo (generando un mapa.h sin cambios respecto al mapcnv original en el supuesto de no se use ninguna de las 2 opciones). O, en su defecto sólo con la compresión de mapas.

Total, hago las 2 versiones y ya está, y en caso de que al final se integre en la churrera que na_th_an o quien corresponda agrege la versión que más coraje le de :P

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 12:32
por elborra
Antonio te dejo por aquí (que ya se me había pasado o_o) la utilidad mapcnv modificada para gestionar los mapas comprimidos por si quieres añadirla en el post que dejaste en modificaciones de la churrera.
$this->bbcode_second_pass_code('', '** USO **"
MapCnvMod archivo.map ancho_mapa alto_mapa ancho_pantalla alto_pantalla tile_cerrojo [packed] [noinfo]"

- archivo.map : Archivo de entrada exportado con mappy en formato raw."
- ancho_mapa : Ancho del mapa en pantallas."
- alto_mapa : Alto del mapa en pantallas."
- ancho_pantalla : Ancho de la pantalla en tiles."
- alto_pantalla : Alto de la pantalla en tiles."
- tile_cerrojo : Nº del tile que representa el cerrojo."
- packed : Escribe esta opción para mapas de la churrera de 16 tiles."
- noinfo : Oculta el mensaje de advertencia inicial ."

Por ejemplo, para un mapa de 6x5 pantallas para la churrera:"

MapCnv mapa.map 6 5 15 10 15 packed"
')
Los cambios respecto a la versión original:
- Output de textos en la linea de comandos está algo cambiado (Para adaptarlo a mi make.bat que es una locura XD)
- Acepta como parámetro "noinfo" que oculta el texto de warning del principio (también por mi make.bat)
- Gestiona salida de mapa.h para pantallas con tiles impares (mod de zona de juego configurable)
- Gestiona salida de mapa.h para mapas comprimidos (mod mapas comprimidos Antonio)

El mapa.h generado en cualquiera de los casos no altera de ningún modo el funcionamiento por defecto de la utilidad mapcnv original. Obviamente estos cambios son minucias y podeis hacer con ellos lo que querais respetando las licencias previas. Por conveniencia he llamado a la utilidad mapcnvmod.exe para no pisar la original.

Edit: Eliminado archivo por actualización: https://www.mojontwins.com/mojoniaplus/viewtopic.php?p=50565#p50565

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 12:36
por na_th_an
Luego le echo un vistazo y la añado al paquete.

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 12:48
por antoniovillena
Mola, si hace lo mismo que el original y tiene esos añadidos yo reemplazaría el original. Además he visto el código y está todo muy ordenadito.

Un par de detalles:
  • El parámetro noinfo lo veo inservible. El warning más que warning es una descripción de lo que hace el programa. Esto no hace falta mostrarlo si lo ejecutas con parámetros. En caso de que lo ejecutes sin parámetros sí que es bueno pero creo que el texto ** WARNING ** intimida un poco, parece que de primeras estás haciendo algo mal o que el programa va a hacer algo muy peligroso.
  • Las tildes. En línea de comandos casi mejor no usarlas. Intenta poner lo mismo con alguna palabra que no tenga tildes, y si no hay más remedio ponla sin tildes. Es preferible cometer una falta de ortografía a la posibilidad de que puedan aparecer caracteres raros. Otra solución más drástica es hacerlo en inglés.

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 13:02
por elborra
$this->bbcode_second_pass_quote('na_th_an', 'L')uego le echo un vistazo y la añado al paquete.
Perfecto, de todas formas ya verás en el código fuente que los cambios son 3 chorradas:
Para los mapas comprimidos:$this->bbcode_second_pass_code('', '#ifdef COMPRESSED_MAPS"
unsigned char *mapa;"
#else"
unsigned char mapa [] = {
....
}
#endif"')Para los mapas con pantallas de tiles impares y mapa packed ya verás que es una cutrada muy muy muy gorda y poco eficiente; que comprueba cada vez si scrw*scrh es impar (podría haber declarado una variable y sólo hacerlo una vez al principio del programa) y si el tile es el útimo para generar esa info para el mapa. Metido a calzador hasta el infinito y más allá.
Lo demás son chorraditas orientadas al make.bat que tengo yo, así que si la sustituyes por la herramienta oficial (o convivan las dos juntas) vuelve a cambiar los textos según tus gustos.


$this->bbcode_second_pass_quote('antoniovillena', 'M')ola, si hace lo mismo que el original y tiene esos añadidos yo reemplazaría el original. Además he visto el código y está todo muy ordenadito.

Un par de detalles:
Precisamente... a ver por dejarlo claro y no llevarme ningún crédito, el código fuente es el original que esta en un post del foro, yo sólo he cambiado un par de líneas y vuelto a compilar; y es por ello que no quiero modificar ni alterar demasiado dicho código. De ahí viene el parametro "noinfo" ya que por defecto la utilidad original tiene ese comportamiento (sacandote el warning e informando).
Sobre las tiles, igual que tú, he cambiado los textos finales por lo mismo. Se ve que se me pasó alguno en ** USO ** que supongo que es al que te refieres. Quito tildes y vuelvo a subir cuando ande por casa :D

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 14:27
por antoniovillena
Nada, es que pensaba que lo habías creado desde cero.

Re: Compresor de mapas

Publicado: Jue, 30 Ene 2014, 14:32
por na_th_an
Hostia, ni me acordaba del warning :lol: Jodó, si es que hice esa utilidad hace ya cuatro años XD