Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. .thumb
  2.  
  3. ldr r0, =(0x02036E38) @ npc_states
  4. ldrb r0, [r0,#4] @npc_states.oamid
  5. ldr r1, =(0x0202063C) @ objects
  6. mov r2, #0x44
  7. mul r2, r0, r2
  8. add r1, r1, r2
  9. ldr r2, new_callback
  10. str r2, [r1, #0x1c] @obj.callback
  11.  
  12. .align 2
  13. new_callback: .word 0x08thatroutine+1
  14.  
  15. ==
  16.  
  17. .thumb
  18.  
  19. push {r4-r7, lr}
  20. ldr r0, =(0x02036E38) @ npc_states
  21. ldrb r0, [r0,#4] @npc_states.oamid
  22. ldr r1, =(0x0202063C) @ objects
  23. mov r2, #0x44
  24. mul r2, r0, r2
  25. add r1, r1, r2
  26. ldrh r2, [r1, #0x3a] @obj.private7, counter
  27. ldrh r3, =(0xffff -1)
  28. cmp r2, r3
  29. blt continue
  30. mov r2, #0
  31.  
  32. continue:
  33. add r0, r2, #1 @ numerator = r2 + 1
  34. strh r0, [r1, #0x3a] @obj.private7, counter
  35. mov r1, #2 @ denominator = 2
  36. bl =(0x081E4684+1) @ get remainder
  37. cmp r0, #0
  38. bne end
  39. ldr r0, =(0x02036E38) @ npc_states
  40. ldrb r0, [r0,#4] @npc_states.oamid
  41. ldr r1, =(0x0202063C) @ objects
  42. mov r2, #0x44
  43. mul r2, r0, r2
  44. add r1, r1, r2
  45. ldrh r2, [r1, #0x3a] @obj.private6
  46. ldrh r3, [r1, #0x24] @obj.pos_2
  47. cmp r2, #0
  48. beq move_up @from default
  49. cmp r2, #1
  50. beq move_down @from top
  51. cmp r2, #2
  52. beq move_down @from default
  53.  
  54. @otherwise move_up from bottom
  55.  
  56. move_up:
  57. sub r3, r3, #2
  58. str r3, [r1, #0x24] @obj.pos_2
  59. b store_new_y_pos
  60.  
  61. move_down:
  62. add r3, r3, #2
  63. str r3, [r1, #0x24] @obj.pos_2
  64.  
  65. store_new_y_pos:
  66. add r2, r2, #1
  67. cmp r2, #4
  68. bne end2
  69. mov r2, #0
  70.  
  71. end2:
  72. strh r2, [r1, #0x3a] @obj.private6
  73.  
  74. end:
  75. pop {r4-r7, pc}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement