Proyecto Aquanoids: el videojuego

Ayuda sobre MT Engine MK2.

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Aquanoids: el videojuego

Mensajepor na_th_an » Jue, 13 Ago 2015, 15:01

Tema del cerrojo:

Eso es probablemente un bug de MK2, sencillamente porque no hemos usado nunca el código de los cerrojos/llaves automáticos, está portado directamente de la Churrera, y jamás ha sido probado. Le echaré un vistazo.

El cambio debería ser persistente, vaya.

El otro tema:

Será cualquier detallico de script, lo miraré también.
Como diría Rorshach: "Urm..."
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Proyecto Aquanoids: el videojuego

Mensajepor na_th_an » Jue, 13 Ago 2015, 15:17

El problema es que no se detecta el cerrojo en la lista de cerrojos en memoria a la hora de abrirlo para marcarlo como "abierto". No tengo muy claro por qué pasa, pero será una tontería - lo malo es que hasta mañana ya no lo voy a poder mirar.
Como diría Rorshach: "Urm..."
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Proyecto Aquanoids: el videojuego

Mensajepor elborra » Jue, 13 Ago 2015, 17:24

$this->bbcode_second_pass_quote('NeilParsons', ':')ymca: ¡Asias, asias!

Una cosa que tengo que ver, aparte de que había corregido en el script la colocación de unos tiles en la primera pantalla y la dinámica de movimiento del personaje, es lo siguiente:

Ya había entrado antes en esta pantalla para recoger una de las baterías: había que abrir el cerrojo presente en ella con una llave, bajar y recuperarla, pero en ella tenía que figurar además una lata de fuel en la posición tx, ty = 13, 5 (en el script está correctamente definido) y no había nada, solo un tile del fondo. Y se había definido el flag 1 correspondiente a dicho tile con valor cero para que se imprimiera en su lugar. No creo haberme equivocado en las coordenadas.
Ummmm, ok, el tema es que hay un pequeño lio de flags... en config.h se define a la flag 1 como aquella que usa el motor para contar los objetos (las baterias) y de hecho en el fichero de script na_th_an (supongo) contando con ello comenta:
$this->bbcode_second_pass_code('', '# flags:
# 1 = cuenta de baterías (hasta 15)
# 2 = cuenta de objeto 1
# 3 = cuenta de objeto 2
# 4 = cuenta de objeto 3
# 5 = control objetos')Pero luego en las condiciones realmente se usa la 1, la 2 y la 3 para los objetos (en lugar de la 2, 3, y 4)...

Solución más rápida:
en config.h cambias:$this->bbcode_second_pass_code('', '#define OBJECT_COUNT 1')por$this->bbcode_second_pass_code('', '#define OBJECT_COUNT 0') y ya si quieres por tenerlo bien comentado cambias en el script$this->bbcode_second_pass_code('', '# flags:
# 0 = cuenta de baterías (hasta 15)
# 1 = cuenta de objeto 1
# 2 = cuenta de objeto 2
# 3 = cuenta de objeto 3
# 4 = control objetos')El resto no tienes que tocar nada.

$this->bbcode_second_pass_quote('NeilParsons', 'S')eguí recorriendo el juego y pude ver que en las otras dos pantallas donde coloqué otros objetos especiales estaban en su lugar como así lo indiqué, recogiéndolos y situándolos en el marco del juego. Hasta ahí bien. Quise volver a esa pantalla (la 17 del mapa) y me encuentro que el cerrojo, que se suponía ya estaba abierto de antes, está nuevamente en su sitio. Eso sí, solo en unas pocas pantallas donde había un cerrojo y han sido retirados con las llaves volvían a aparecer. ¿Esto se puede cambiar en alguna parte?
$this->bbcode_second_pass_quote('na_th_an', '[')b]Tema del cerrojo:
Eso es probablemente un bug de MK2, sencillamente porque no hemos usado nunca el código de los cerrojos/llaves automáticos, está portado directamente de la Churrera, y jamás ha sido probado. Le echaré un vistazo.
El cambio debería ser persistente, vaya.
$this->bbcode_second_pass_quote('na_th_an', 'E')l problema es que no se detecta el cerrojo en la lista de cerrojos en memoria a la hora de abrirlo para marcarlo como "abierto". No tengo muy claro por qué pasa, pero será una tontería - lo malo es que hasta mañana ya no lo voy a poder mirar.

Yo tampoco estoy usando los cerrojos porque sino ya me hubiera topado con el mismo problema. Pero me entró curiosidad y... ¡Encontré el problema! :P. Empecé a indagar y todo está perfecto: el cambio es persistente, el motor lo controla bien, etc, etc... ¿entonces? lo único que quedaba por ver es el contenido de bolts.bin y efectivamente no se está generando correctamente. Na_th_an, hay algunos cerrojos que estan correctos pero otros parece que repite la cordenada x del tile para la cordenada y.
Como el fichero source de la utilidad está en la carpeta utils le echaré un vistazo a ver si encuentro el problema.
En resumen, se tiene que corregir un bug en la utilidad map2bin.exe para que genere correctamente el fichero binario de cerrojos.