Registrarse

[INV] Dive en el mismo mapa (Agua Translúcida) [60%]

Estado
Cerrado para nuevas respuestas.

Juanjo

Hacker del pasado... Compilador del presente
Miembro insignia
OBJETIVO:

Establecer un sistema funcional que se aplique al tile de agua translucido, sistema que haría mucho más real el Dive.

APLICACIONES:

Al hacer dive en agua translucida el mini bucerá pero en el mismo mapa, podrá entrar a sitios secretos, cuevas, y el cambio de mini al de surfing, como cambio de paletas en algas y demás cosas, también dejará intacto el dive normal. Lo que hará que el prota pueda acceder a zonas mucho más profundas con cambio de mapa.

CONDICIONES Y RETRICCIONES

  • Que el cambio del mini en el dive y la música depende únicamente del tipo de mapa.
  • Que el tipo de mapa depende únicamente de un byte en el cabezal.
  • Que el cabezal se almacena como un byte en el rom.
  • Que en el script de dive al colgar alguna var o flag se cuelga.
  • Que para lograr bien el efecto hay que usar mapeados ultra profesionales con movimientos permitidos.
  • Que ni tanto surf ni dive requieren el movimiento permitido 04, tal solo lo necesitan en la costa.
  • Que el movimiento 0C permite caminar abajo, el 10 arriba y el 3C en ambos.



Acá está el cabezal, esos dos bytes representan al tipo de mapa y al clima. En este caso queremos que cambie a 0E 05.

Se intentó cambiar usando el WBTO pero a pesar de que el mapa se comportaba como Underwater, para que el clima y el mini cambiara era necesario un warp, que jodía el WBTO.

PROCEDIMIENTO

Rastrear el offset de Dive.

Hacer que active una variable.

Esta variable también condicionará cargar otro cabezal idéntico pero con el byte cambiado.

De acuerdo al valor de la variable, un script de nivel cambiará el tile de la coordenada del protagonista para cambiar su altura.

El warp del dive hará que se active tanto el script de nivel y cargue el nuevo cabezal.

Al devolverse se cerrará de nuevo la variable por lo que volverá a subir al personaje y dejará el cabezal condicional.


LOGROS


1) Rastreado el script de DIVE:

0x1B123E (subida)
0x1B1220 (bajada)

2) Rastreado el valor en la RAM del tipo de mapa y el clima:

0x202E83E (tipo)
0x202E83F (clima)

Como expliqué arriba el WBTO fracasó pero igual estos offsets son importantes para ver en el visor de memoria que tipo de mapa es.

3) Logrado repuntear la dirección de un cabezal a un offset libre.

LOGROS FUTUROS

Repunteo condicional: Al acceder al cabezal del mapa debe existir alguna manera de que cargue un cabezal u otro dependiendo del valor de una variable. Si logramos lo anterior esta investigación subirá a 99%

Cambio de altura: Se está investigando con un setmaptile común y corriente, aunque se le está dando importancia primero al repunteo condicional.


Investigación Iniciada a los 20 días Noveno mes de año 2010
Re-abierta a los 18 días del sexto mes de 2013

Firman:

JUANJO
Positron-Investigador
 
Estado
Cerrado para nuevas respuestas.
Arriba