Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .thumb
- .thumb_func
- #.org 0x10611e
- #b 0x1061a8
- #.org 0x106370
- #ldr r0, .MethodAddr
- #bx r0
- #.MethodAddr: .word 0x08C83401
- #.org 0x106530
- #b 0x1066d0
- #x10611e: 43 E0
- #x106370: 00 48 00 47 <ptr to code+1>
- #x106530: CE E0
- #x452200: 0A
- mov r5, r1
- ldr r0, .StringPtr1
- ldr r1, .RAMHPSpePtr
- mov r2, #0x12
- bl strcpy
- ldr r0, .StringPtr2
- ldr r1, .RAMAtkPtr
- mov r2, #0x12
- bl strcpy
- ldr r0, .StringPtr3
- ldr r1, .RAMDefPtr
- mov r2, #0x12
- bl strcpy
- #HP
- ldr r4, .PokemonTable
- ldr r3, [sp, #0x1C]
- mov r0, #0x1c
- mul r3, r3, r0
- add r4, r4, r3
- ldrb r0, [r4, #0x0]
- ldr r1, .HPAddr
- bl WriteStat
- #Atk
- ldrb r0, [r4, #0x1]
- ldr r1, .AtkAddr
- bl WriteStat
- #Def
- ldrb r0, [r4, #0x2]
- ldr r1, .DefAddr
- bl WriteStat
- #Speed
- ldrb r0, [r4, #0x3]
- ldr r1, .SpeedAddr
- bl WriteStat
- #SpAtk
- ldrb r0, [r4, #0x4]
- ldr r1, .SpAtkAddr
- bl WriteStat
- #SpDef
- ldrb r0, [r4, #0x5]
- ldr r1, .SpDefAddr
- bl WriteStat
- ldr r0, .RAMStoragePtr
- str r5, [r0, #0x0]
- mov r3, #0x8
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, r5
- mov r1, #0x0
- ldr r2, .RAMHPSpePtr
- mov r3, #0x0
- bl WriteMethod
- ldr r2, .RAMStoragePtr
- ldr r5, [r2, #0x0]
- mov r3, #0x14
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, r5
- mov r1, #0x0
- ldr r2, .RAMAtkPtr
- mov r3, #0x0
- bl WriteMethod
- ldr r2, .RAMStoragePtr
- ldr r5, [r2, #0x0]
- mov r3, #0x20
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, r5
- mov r1, #0x0
- ldr r2, .RAMDefPtr
- mov r3, #0x0
- bl WriteMethod
- ldr r2, .RAMStoragePtr
- ldr r5, [r2, #0x0]
- ldr r0, [sp, #0x1C]
- mov r3, #0x1c
- mul r0, r3
- ldr r1, .PokemonTable
- mov r3, #0x16
- add r1, r1, r3
- add r1, r0, r1
- ldr r3, .AbilityTable
- ldrb r2, [r1, #0x0]
- mov r1, #0xd
- mul r1, r2
- add r2, r1, r3
- mov r3, #0x2c
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, r5
- mov r1, #0x0
- mov r3, #0x0
- bl WriteMethod
- ldr r0, [sp, #0x1C]
- mov r3, #0x1c
- mul r0, r3
- ldr r1, .PokemonTable
- mov r3, #0x16
- add r1, r1, r3
- add r1, r0, r1
- ldrb r2, [r1, #0x1]
- ldrb r5, [r1, #0x0]
- ldr r3, .AbilityTable
- cmp r2, r5
- beq SkipAbilTwo
- cmp r2, #0x0
- beq SkipAbilTwo
- mov r1, #0xd
- mul r1, r2
- add r2, r1, r3
- ldr r0, .RAMStoragePtr
- ldr r5, [r0, #0x0]
- mov r3, #0x38
- str r3, [sp, #0x0]
- str r6, [sp, #0x4]
- mov r0, r5
- mov r1, #0x0
- mov r3, #0x0
- bl WriteMethod
- SkipAbilTwo:
- End:
- mov r5, #0x4
- ldr r0, .EndAddr
- bx r0
- WriteMethod:
- ldr r5, .WriteMethodOffset
- bx r5
- WriteStat:
- ldr r2, .StringTable
- lsl r0, r0, #0x2
- add r0, r0, r2
- mov r2, #0x4
- #fall through
- strcpy:
- loop:
- ldrb r3, [r0, #0x0]
- strb r3, [r1, #0x0]
- add r0, r0, #0x1
- add r1, r1, #0x1
- sub r2, r2, #0x1
- cmp r2, #0x0
- bne loop
- bx lr
- .align 2
- .WriteMethodOffset: .word 0x081047c9
- .RAMHPSpePtr: .word 0x02023be4
- .RAMAtkPtr: .word 0x02023bf8
- .RAMDefPtr: .word 0x02023c0c
- .RAMStoragePtr: .word 0x02023c20
- .HPAddr: .word 0x02023be8
- .SpeedAddr: .word 0x02023bf1
- .AtkAddr: .word 0x02023bfc
- .SpAtkAddr: .word 0x02023c05
- .DefAddr: .word 0x02023c10
- .SpDefAddr: .word 0x02023c19
- .EndAddr: .word 0x08106381
- #Update these!!
- .PokemonTable: .word 0x08254784
- .AbilityTable: .word 0x08C8D370
- .StringTable: .word 0x085B26F0
- .StringPtr1: .word 0x085B2AF0
- .StringPtr2: .word 0x085B2B10
- .StringPtr3: .word 0x085B2B30
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement