Advertisement
Doesnt

relicsong.asm

Nov 10th, 2014
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 KB | None | 0 0
  1.  
  2. .org 0xC81000
  3. push {r4-r6,lr}
  4. ldr r1, .CurrentBattScript
  5. ldr r0, [r1, #0x0]
  6. add r0, #0x1
  7. str r0, [r1, #0x0]
  8.  
  9. FindUser:
  10. ldr r1, .UserBank
  11. ldrb r0, [r1, #0x0]
  12. cmp r0, #0x0
  13. beq ResolvePlayer
  14. cmp r0, #0x2
  15. beq ResolvePlayer
  16. b ResolveEnemy
  17.  
  18. ResolvePlayer:
  19. ldr r2, .PlayerParty
  20. b ResolveGeneral
  21.  
  22. ResolveEnemy:
  23. ldr r2, .EnemyParty
  24.  
  25. ResolveGeneral:
  26. ldr r3, .ActiveBanks
  27. add r3, r3, r0
  28. ldrb r0, [r3, #0x0]
  29.  
  30. #At this point r0=slot in party
  31. #And r2=start of party
  32.  
  33. mov r1, #0x64
  34. mul r0, r1
  35. add r0, r2
  36. mov r5, r0
  37. mov r1, #0xB
  38. bl Decrypter
  39. mov r1, #0xFC
  40. cmp r0, r1
  41. beq ResolveAria
  42. mov r1, #0xFD
  43. cmp r0, r1
  44. beq ResolvePirouette
  45. b Done
  46.  
  47. ResolveAria:
  48. mov r4, #0xFD
  49. mov r6, #0x1
  50. mov r0, r5
  51. mov r1, #0xB
  52. mov r2, r4
  53. push {r2}
  54. mov r2, sp
  55. bl Encrypter
  56. pop {r2}
  57. b ResolveStats
  58.  
  59. ResolvePirouette:
  60. mov r4, #0xFC
  61. mov r6, #0xE
  62. mov r0, r5
  63. mov r1, #0xB
  64. mov r2, r4
  65. push {r2}
  66. mov r2, sp
  67. bl Encrypter
  68. pop {r2}
  69. b ResolveStats
  70.  
  71. ResolveStats:
  72. mov r0, r5
  73. bl Recalc
  74.  
  75. UpdateBattleStruct:
  76. ldrb r0, .UserBank
  77. ldr r1, .BattleStructs
  78. mov r2, #0x58
  79. ldrb r0, [r0, #0x0]
  80. mul r0, r2
  81. add r0, r1
  82. strh r4, [r0, #0x0]
  83. mov r1, #0x0
  84. add r0, #0x20
  85. strb r1, [r0, #0x1]
  86. strb r6, [r0, #0x2]
  87. sub r0, #0x20
  88.  
  89. mov r4, r0
  90. mov r0, r5
  91. mov r1, #0x3B
  92. bl Decrypter
  93. strh r0, [r4, #0x2]
  94. mov r0, r5
  95. mov r1, #0x3C
  96. bl Decrypter
  97. strh r0, [r4, #0x4]
  98. mov r0, r5
  99. mov r1, #0x3D
  100. bl Decrypter
  101. strh r0, [r4, #0x6]
  102. mov r0, r5
  103. mov r1, #0x3E
  104. bl Decrypter
  105. strh r0, [r4, #0x8]
  106. mov r0, r5
  107. mov r1, #0x3F
  108. bl Decrypter
  109. strh r0, [r4, #0xA]
  110.  
  111.  
  112. Done:
  113. pop {r4-r6}
  114. pop {r0}
  115. bx r0
  116.  
  117. Decrypter:
  118. ldr r3, .Decrypt_Addr
  119. bx r3
  120.  
  121. Encrypter:
  122. ldr r3, .Encrypt_Addr
  123. bx r3
  124.  
  125. Recalc:
  126. ldr r3, .Recalc_Addr
  127. bx r3
  128.  
  129. .CurrentBattScript: .word 0x02023d74
  130. .UserBank: .word 0x02023D6B
  131. .ActiveBanks: .word 0x02023bce
  132. .PlayerParty: .word 0x02024284
  133. .EnemyParty: .word 0x0202402C
  134. .BattleStructs: .word 0x02023be4
  135. .Decrypt_Addr: .word 0x0803fbe9
  136. .Encrypt_Addr: .word 0x0804037d
  137. .Recalc_Addr: .word 0x0803e47d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement