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}
- 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
- ldrh r2, [r1, #0x3a] @obj.private7, counter
- ldrh r3, =(0xffff -1)
- cmp r2, r3
- blt continue
- mov r2, #0
- continue:
- add r0, r2, #1 @ numerator = r2 + 1
- strh r0, [r1, #0x3a] @obj.private7, counter
- mov r1, #2 @ denominator = 2
- bl =(0x081E4684+1) @ get remainder
- cmp r0, #0
- bne end
- 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
- ldrh r2, [r1, #0x3a] @obj.private6
- ldrh r3, [r1, #0x24] @obj.pos_2
- cmp r2, #0
- beq move_up @from default
- cmp r2, #1
- beq move_down @from top
- cmp r2, #2
- beq move_down @from default
- @otherwise move_up from bottom
- move_up:
- sub r3, r3, #2
- str r3, [r1, #0x24] @obj.pos_2
- b store_new_y_pos
- move_down:
- add r3, r3, #2
- str r3, [r1, #0x24] @obj.pos_2
- store_new_y_pos:
- add r2, r2, #1
- cmp r2, #4
- bne end2
- mov r2, #0
- end2:
- strh r2, [r1, #0x3a] @obj.private6
- end:
- pop {r4-r7, pc}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement