Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 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} @r0 contains the obj
  20. ldrh r1, [r0, #0x3a] @obj.private7, counter
  21. ldrh r2, =(0xffff -1)
  22. cmp r1, r2
  23. blt continue
  24. mov r1, #0
  25.  
  26. continue:
  27. add r4, r0, #0 @ store r0 in r4
  28. add r0, r1, #1 @ numerator = r1 + 1
  29. strh r0, [r4, #0x3a] @obj.private7, counter
  30. mov r1, #2 @ denominator = 2
  31. ldr r2, =(0x081E4684+1)
  32. bl linker_r2
  33. cmp r0, #0
  34. bne end
  35. add r0, r4, #0 @ store r4 in r0
  36. ldrh r1, [r0, #0x3a] @obj.private6
  37. ldrh r2, [r0, #0x24] @obj.pos_2
  38. cmp r1, #0
  39. beq move_up @from default
  40. cmp r1, #1
  41. beq move_down @from top
  42. cmp r1, #2
  43. beq move_down @from default
  44.  
  45. @otherwise move_up from bottom
  46.  
  47. move_up:
  48. sub r2, r2, #2
  49. str r2, [r0, #0x24] @obj.pos_2
  50. b store_new_y_pos
  51.  
  52. move_down:
  53. add r2, r2, #2
  54. str r2, [r0, #0x24] @obj.pos_2
  55.  
  56. store_new_y_pos:
  57. add r1, r1, #1
  58. cmp r1, #4
  59. bne end2
  60. mov r1, #0
  61.  
  62. end2:
  63. strh r1, [r0, #0x3a] @obj.private6
  64.  
  65. end:
  66. pop {r4-r7, pc}
  67.  
  68. linker_r2:
  69. bx r2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement