Registrarse

[RH - ASM] Necesito ayuda con una función

Estado
Cerrado para nuevas respuestas.
Hola.

Necesito ayuda para intentar modificar una orden en el juego Dragon Ball Z Buus Fury. Os pongo en situación. La cosa es que hay una secuencia en la que salen dos personajes y quiero que en lugar uno de ellos, aparezca otro.Y os podréis preguntar, ¿por qué no modificas el sprite y ya? Pues porque quiero introducir un sprite nuevo y no sustituir el original, ya que también es necesario en el juego.El tema está en que el código no utiliza un puntero para decir que sprite debe aparecer, si no que utiliza un byte para designar al personaje que debe aparecer. Es decir, supongamos que el código que da la orden es 02 77 00 01, este último byte (01) es el que según que número hexadecimal pongas, aparece un personaje u otro. Por ejemplo, 01 es Gohan, 02 es Goten, 03 Trunks, etc. Es como una especie de puntero que direcciona al puntero del sprite en cuestión, ya que he probado a dejarlo en 01 ( Gohan) y sustituyendo el puntero del sprite de este por el de Vegeta y lógicamente aparecer Vegeta. Espero estar explicándome bien. . Es decir, quiero conseguir que por ejemplo, cambiando ese byte a 09 por ejemplo, lea el sprite que yo he introducido en un offset libre. He intentado mirar un poco por asm, pero resulta que conforme cambio ese byte, también cambia el código asm ( lo he comprobado en CrystalTile2) Por ejemplo: con el byte 01, que es el original, viene lo siguiente: mrseq r7, CPSR, si pongo 02 ( sería goten) aparece: andeq r7, r0, 80000h, si pongo 03 (trunks) lo que me aparece es ????, si pongo 04(Vegeta) streq r7, [r0], -720h!. El problema es que he intentado buscar esas funciones ( no se si se llaman así) pero no encuentro nada que expliquen que hacen. Me imagino que es algo normal en los juegos, pero aparte de traducir, repointear y modificar sprites, esto ya se me escapa un poco.Espero me puedan ayudar. Gracias.
 
Última edición:
Estado
Cerrado para nuevas respuestas.
Arriba