Ramiro el Vampiro “R”; 20160126

Pues no, no era nada de eso. Era una reorganización de código que hice para K2T que metía una cagada que, con la combinación de #defines de ese juego en config.h, no daba la cara.

También he enmendado un montón de efectos colaterales introducidos en K2T. Realmente me está viniendo bien esto: modifiqué y añadí cielo y tierra en K2T – un juego para 128K en un nuevo modo de Genital (New Genital!) que intenta imitar una suerte de 2.5D tipo “engañar al chamán” (no hay alturas reales), y ahora me pongo con un juego para 48K de plataformas que apena necesita desarrollo, ¡pero me sirve para maquear todas las posibles cagadas cometidas! Siempre mola alternar juegos de diferentes características por esto mismo.

En fin, veamos como se ha quedado esto. Primera compilación, en al que no funcionará apenas nada – pero al menos todo está ahí, salvo el script. Y ahora ocupa…. (redoble) ~30K! O_o Joder, habla de mejoras.

El Ramiro original apenas cabía, coño, tuvimos que dejar de incluir música en el menú y todo. Ahora voy a poder decirle al murciano que se curre algo y, si me deja sitio, poner algo de más age en la intro (aunque mejor que no empiece a fliparme con esto, que aún hay que meter el scripting y, además, más textos que en el original – y las rutinas para mostrarlo).

Otra cosa que tengo que hacer es meter los sonidos, y aprovecharé para hacerlo en condiciones y usar constantes.

~~

Acabo de recordar que ayer se me fue la pinza y dejé el modo twots de map2bin.exe (el que interpreta y genera datos para mapas de dos tilesets de 16 + decoraciones) a falta de crear al final la tabla con el mapeo de tilesets para cada pantalla. Voy a ellou.

~

Sigo arreglando algunas cosillas, pero acabo de darme cuenta de que se me ha ocurrido cargarme el módulo viejo de enemigos para siempre justo cuando lo necesito XD

Vaya, que Ramiro usa en su .ene, obviamente, el formato viejo… Y acabo de ventilármelo.

Lo que voy a hacer es algo que vendrá bien (o será completamente inutil) en el futuro: un parseador/conversor del formato viejo al antiguo. No es complicado, se trata de cambiar el “tipo” del enemigo.

El tipo viejo era así:

t = 1 - 3, lineal.
t = 4, plataforma (lineal).
t = 6, fanty.
t = 7, pursuer.

Había más, pero para hacer revisiones de clásicos me basta y sobra con esos.

El formato nuevo es:

// XTTTTDNN where
// X = dead
// TTTT = type       1000 = platform
//                   0001 = linear
//                   0010 = flying
//                   0011 = pursuing

Así que es tan fácil como:

t0 	t1
1 	00001000 (8)
2 	00001001 (9)
3 	00001010 (10)
4 	01000011 (67)
6 	00010010 (18)
7 	00011000 (24)
8	00001100 (12)

Venga, si tardo más de cinco minutos soy una patata con tupé.

~

Ya se mueven los enemigos y tal, pero me he dado cuenta de algo que hay diferente: en la versión original, el cálculo de los atributos era levemente diferente a al hora de convertir el tileset. Antes, cuando sólo encontraba un color, forzaba a que el otro fuera negro. Ahora intenta compensar (claro con oscuro). Voy a estudiar como era exactamente la conversión original y hago un custom para convertir este tileset de la misma manera.

¡Joer, monto un circo y me crecen los enanos!

~

Hecho. A otra cosa. Para probar más cosas tengo que empezar con el script. Lo primero es poner la interacción de Ramiro con la hija canija en la primera pantalla. De paso, voy definiendo la utilidad de cada flag.

Antes que nada voy a leer la breve lista de flags que hay al principio del script original para hacer find & replace y “etiquetar” los números para que sea más fácil seguir el script.

~~~

Como últimamente no paro de fliparme (no sé qué pasa) voy a hacer una nueva versión de la rutina que imprime textos. Básicamente será la de Ninjajar / Leovigildo / etc, pero:

  • Muestra el texto linea a linea con los sonidos POPOOOOU del original.
  • Se presenta en una caja de texto con un título en rojete con el nombre del que habla.
  • Hacer esto de la forma más sencilla posible [*]

[*] Así: el text stuffer mete saltos de linea con “%”, que además puedo meter yo de forma explícita. Lo que se hace es que la primera linea que se escribe es el título (y se pinta de otro color y tal).

Se me acumula la mierda:

  • [X] Añadir al fuente ¡ ¿ Ñ y algo para pintar un recuadro.
  • [ ] Cambiar los sonidos del engine (usando constantes).
  • [X] Adaptar la función de pintar textos y encasquetarla en el extern.

~~

Ya tengo la función nueva de pintar las cajas de texto. Voy a probar a ver si funciona. Como el cuadro de texto (levemente más complejo que e costumbre) se vea guay, soy el rey de pichas.

~

Antes de probar nada me he empezado a rayar con los nombres de las pantallas. 30 pantallas de 30 caracteres por nombre son 900 bytes. Vamos bien de memoria, pero me parece un desperdicio, así que lo meteré dentro del texto empaquetado para reducir. Serán los 30 primeros textos. Los que se imprimen desde el script empiezan en el 31.

~~

¡Perfecto! Así ocupan 532 bytes, poco más de la mitad. Voy a modificar las rutinas y a quitar la extensión levelnames.h

~~

Urm – hay algún problema con el texto comprimido. O bien se comprime mal, o bien se descomprime mal. Sé que modifiqué textstuffer2 para k2t y poder meter los cuadros de texto con caritas y tal que tenían un word-wrapping diferente; quizá se cambiase algo en el empaquetado.

La cosa es que salen letras raras donde no deberían. Tengo que revisar qué estoy jiñando.

Vale, creo que me acabo de acordar: creo que en K2T se admite más de 256 textos y yo estoy considerando un máximo de 256… Revisemos… Hmmm … parece que hay cambios pero no parece que deberían afectar. Revisemos más. Obviamente algo hay distinto.

… Ya está. Era una estupidez. Había cambiado esto para usar el espacio en el caracter 31, que estaba vacío, pero ese era también el caracter de escape para el rango de los caracteres menos usados. Voy a ver si ya funfuña…

~~

Funfuñaba, pero me dije de centrar verticalmente los cuadros de texto, que siempre queda más molón, y obtengo resultados raros. Creo que tengo que revisar textstuffer2. Desde luego llevo un par de días de un espeso acojonante. A ver si vuelvo a un mejor estado de forma.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s