Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .thumb
- ldr r0, =(0x02036E38) @ npc_states
- ldrb r0, [r0,#4] @npc_states.oamid
- ldr r1, =(0x0202063C) @ objects
- mov r2, #0x44
- mul r2, r0, r2
- add r1, r1, r2
- ldr r2, new_callback
- str r2, [r1, #0x1c] @obj.callback
- .align 2
- new_callback: .word 0x08thatroutine+1
- ==
- .thumb
- push {r4-r7, lr} @r0 contains the obj
- ldrh r1, [r0, #0x3a] @obj.private7, counter
- ldrh r2, =(0xffff -1)
- cmp r1, r2
- blt continue
- mov r1, #0
- continue:
- add r4, r0, #0 @ store r0 in r4
- add r0, r1, #1 @ numerator = r1 + 1
- strh r0, [r4, #0x3a] @obj.private7, counter
- mov r1, #2 @ denominator = 2
- bl get_remainder
- cmp r0, #0
- bne end
- add r0, r4, #0 @ store r4 in r0
- ldrh r1, [r0, #0x3a] @obj.private6
- ldrh r2, [r0, #0x24] @obj.pos_2
- cmp r1, #0
- beq move_up @from default
- cmp r1, #1
- beq move_down @from top
- cmp r1, #2
- beq move_down @from default
- @otherwise move_up from bottom
- move_up:
- sub r2, r2, #2
- str r2, [r0, #0x24] @obj.pos_2
- b store_new_y_pos
- move_down:
- add r2, r2, #2
- str r2, [r0, #0x24] @obj.pos_2
- store_new_y_pos:
- add r1, r1, #1
- cmp r1, #4
- bne end2
- mov r1, #0
- end2:
- strh r1, [r0, #0x3a] @obj.private6
- end:
- pop {r4-r7, pc}
- get_remainder:
- ldr r2, =(0x081E4684+1)
- bx r2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement