Registrarse

[ASM] RUBY [AXVE] Portada Animada.

Eaas

Profesional de WaH
Hoy vengo a dejar algo que la verdad tenía hace mucho y no había aportado a la comunidad.

Primero les dejo los pasos para realizar el sistema y más abajo les dejo lo que se podría realizar con el.

.THUMB
.ALIGN 2

@ 0807C716 000000480047xxxxxx08
@TABLE [puntero - 32 bits] [pausa - 8 bits] [00 00 00]

PUSH {R0-R3}
LDR R0, = 0x02024F50
LDRB R1, [R0]
CMP R1, # 0
BEQ LOAD_FRAME

SUB R1, R1, # 1
STRB R1, [R0]
B POPPING

LOAD_FRAME:
LDRB R1, [R0, # 1] @frame_index
AÑADIR R1, R1, # 1
CMP R1, # 4 @FRAME_COUNT
BNE WRITE

MOV R1, # 0

WRITE:
STRB R1, [R0, # 1]
LSL R1, R1, # 3
LDR R2, = 0x08C04900 @TABLE
ADD R2, R2, R1
LDRB R3, [R2, # 4]
STRB R3, [R0] @new_pause
LDR R0, [ R2] @pointer_frame
LDR R1, = 0x0600E000
SWI 0x12

POPPING:
POP {R0-R3}
LDR R0, = 0x0807C724 + 1
BX R0

Primero deben modificar en la rutina el offset donde dice "@Table" por el offset de la vuestra.

La rutina debe insertarse en el desplazamiento 0x0807C716.

La tabla de animación sigue el siguiente formato:
[FRAME_POINTER - 4 BYTE LITTLE ENDIAN] [PAUSA - 1 BYTE] [00 00 00]

Ejemplo:
Si su frame lo inserto en el offset 0x0800000 y desea que el tiempo de pausado de ese frame al próximo sea de 3, entonces quedaría así:

00 00 80 08 03 00 00 00

Y así con todos las entradas de la tabla.

Algunos cambios:
0807C21A 00 00 00 00 (eliminar la carga de burbujas antiguas sin procesar)
0807C72A 00 00 00 00 (eliminar el desvanecimiento de la paleta azul única)
0807C28C 00 D0 00 06 (nueva ubicación de las raws)
0807C294 00 D8 00 06
0807C3F0 0B 1A (nuevo atributo)
0807C3F4 0A 1B
0807C722 00 00 (detener el desplazamiento de las burbujas)
0807C43C 00 00 00 00 (detener el efecto de las ondas)
0807C6A0 41 (desactivar el efecto semitransparente)
Finalmente, los repoints que se han realizado son los siguientes:

Código:
0807c280  Tileset Backgroud
0807c288  Raw Backgroud
08393210  Paleta Backgroud (sin comprimir)
08393220  Paleta Pokémon Frames (sin comprimir)
0807c290  Raw Pokémon Frame
En este caso se usó un solo juego de paletas y un solo Raw para aligerar la rutina.



Ejemplo:


Agradecimientos:
@Andrea

Este usuario rehizo la rutina y no fuera posible este post sin el.

Aquí les dejo una ROM modificada con este sistema, por si quieren revisar algo.
 
Última edición:
Arriba