Advertisement
Guest User

Untitled

a guest
Feb 12th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.85 KB | None | 0 0
  1. .text
  2. .align 2
  3. .thumb
  4. .thumb_func
  5.  
  6. @hook via r0 @08056568
  7.  
  8. main:
  9.  
  10. @if a script is running wait
  11. ldr r0, =(0x3000F9C)
  12. ldrb r0, [r0]
  13. cmp r0, #0x1
  14. beq noCrash
  15.  
  16. @check if script should run
  17. ldr r0, =(0x20370CE)
  18. ldrh r1, [r0]
  19. cmp r1, #0x0
  20. bne loadScript
  21.  
  22. noCrash:
  23. @hook cleanup
  24. ldrh r0, [r4, #0x2E]
  25. ldrh r1, [r4, #0x2C]
  26. ldr r2, c1_overworld_normal
  27. bl linker
  28. pop {r4}
  29. pop {r0}
  30. bx r0
  31.  
  32.  
  33. loadScript:
  34. @reset var value since this is run every frame (maybe not, but very often)
  35. mov r2, #0x0
  36. strh r2, [r0]
  37.  
  38. @calculate script to run
  39. sub r1, r1, #0x1
  40. lsl r1, r1, #0x2
  41. ldr r0, ScriptTablePointer
  42. add r0, r0, r1
  43. ldr r0, [r0]
  44.  
  45. @script executer
  46. ldr r2, =(0x8069AE4 +1)
  47. bl linker
  48. b noCrash
  49.  
  50. linker:
  51. bx r2
  52.  
  53. .align 2
  54.  
  55. ScriptTablePointer:
  56. .word 0x8800050
  57.  
  58. c1_overworld_normal:
  59. .word 0x805644C +1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement