Squeetz

RestoreBattlersData

Mar 22nd, 2020
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. RestoreBattlersData:
  2. push {r4, lr}
  3. ldr r4, =(gAiStructPtr)
  4. ldr r3, [r4]
  5. ldr r4, [r3, #backup]
  6. cmp r0, #0x0
  7. beq RestoreBattlers_Cont
  8. ldr r4, [r3, #backup2]
  9. RestoreBattlers_Cont:
  10. ldr r0, =(battle_data)
  11. mov r1, r4
  12. mov r2, #0x16
  13. lsl r2, #0x4 @0x160 (0x58 * 4)
  14. add r4, r2 @r4 = backup.statuses3
  15. bl WordMemCopy
  16. ldr r0, =(gStatuses3)
  17. mov r1, r4
  18. mov r2, #0x4 * 4
  19. bl WordMemCopy
  20. ldr r0, =(status5)
  21. add r4, #0x10 @r4 = backup.status5
  22. mov r1, r4
  23. mov r2, #0x2 * 4
  24. bl WordMemCopy
  25. ldr r0, =(gSideTimers)
  26. add r4, #0x8 @r4 = backup.sideTimers
  27. mov r1, r4
  28. mov r2, #0xC * 2
  29. bl WordMemCopy
  30. add r4, #0x18 @r4 = backup.battlers
  31. ldr r1, =(b_attacker)
  32. ldrb r0, [r4]
  33. strb r0, [r1]
  34. ldrb r0, [r4, #0x1] @b_defender
  35. strb r0, [r1, #0x1]
  36. add r4, #0x2 @r4 = backup.weather
  37. ldrh r0, [r4]
  38. ldr r1, =(weather)
  39. strh r0, [r1]
  40. add r4, #0x2 @r4 = backup.disableStructs
  41. ldr r0, =(gDisableStructs)
  42. mov r1, r4
  43. mov r2, #0x1C * 4
  44. bl WordMemCopy
  45. add r4, #0x70 @r4 = backup.sideStatuses
  46. ldr r1, =(gSideStatuses)
  47. ldrh r0, [r4]
  48. strh r0, [r1]
  49. ldrh r0, [r4, #0x2]
  50. strh r0, [r1, #0x2]
  51. add r4, #0x4 @r4 = backup.fieldstatus
  52. ldr r1, =(fieldstatus)
  53. ldr r0, [r4]
  54. str r0, [r1]
  55. ldr r0, [r4, #0x4]
  56. str r0, [r1, #0x4]
  57. add r4, #0x8
  58. ldr r1, =(sidestatus)
  59. ldr r0, [r4]
  60. str r0, [r1]
  61. ldr r0, [r4, #0x4]
  62. str r0, [r1, #0x4]
  63. pop {r4, pc}
Add Comment
Please, Sign In to add comment