Thread: [Tutorial] Add animations in Fire Red
View Single Post
Old November 30th, 2009 (4:34 PM).
Juan Juan is offline
Brazilian with a bad English
    Join Date: Jun 2007
    Location: Pindamonhangaba - SP
    Age: 26
    Nature: Adamant
    Posts: 92
    Originally Posted by diegoisawesome View Post
    I found something in the FlowerAnimation SubRoutine:
    ROM:080700A4 ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
    ROM:080700A4 FlowerAnimation                         ; CODE XREF: Tileset0Main+28p
    ROM:080700A4                 PUSH    {R4,LR}
    ROM:080700A6                 LSL     R0, R0, #0x10
    ROM:080700A8                 LSR     R0, R0, #0x10
    ROM:080700AA                 LDR     R4, =0x83A7660  ; Image Table pointer
    ROM:080700AC                 MOV     R1, #5
    ROM:080700AE                 BL      sub_81E4684
    ROM:080700B2                 LSL     R0, R0, #0x10
    ROM:080700B4                 LSR     R0, R0, #0xE
    ROM:080700B6                 ADD     R0, R0, R4
    ROM:080700B8                 LDR     R0, [R0]
    ROM:080700BA                 LDR     R1, =0x6003F80  ; RAM Offset
    ROM:080700BC                 MOV     R2, #0x80       ; Animation Size
    ROM:080700BE                 BL      sub_806FF04     ; Subroutine then save the data in the DMA3.
    ROM:080700BE                                         ; Don't change it.
    ROM:080700C2                 POP     {R4}
    ROM:080700C4                 POP     {R0}
    ROM:080700C6                 BX      R0
    ROM:080700C6 ; End of function FlowerAnimation
    The bolded number is what governs the frames of the animation. I changed it to 4 in my own ROM, and it skipped frame number 5. I put 6, and there was an extra blank frame added between 5 and 1. This is useful for my hack, as I made a flower animation that has only 4 frames.
    Yes, r1 seems to be the number of frames.
    But look the other animations, it gets some operations involving r1.
    I do not debug that part out of laziness, I do not know the values that it receives after these operations.
    Reply With Quote