Advertisement
Guest User

Untitled

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