Advertisement
NWPlayer123

Super Mario 3D World Tree Init Function

Mar 29th, 2015
455
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .text:0222658C Tree_init:                              # CODE XREF: create_Tree+Cj
  2. .text:0222658C
  3. .text:0222658C .set var_10, -0x10
  4. .text:0222658C .set var_C, -0xC
  5. .text:0222658C .set var_8, -8
  6. .text:0222658C .set var_4, -4
  7. .text:0222658C .set arg_4,  4
  8. .text:0222658C
  9. .text:0222658C                 mfspr   r0, LR
  10. .text:02226590                 stwu      r1, -0x18(r1)
  11. .text:02226594                 stw       r31, 0x14(r1)
  12. .text:02226598                 mr.       r31, r3
  13. .text:0222659C                 stw       r30, 0x10(r1)
  14. .text:022265A0                 stw       r28, 8(r1)
  15. .text:022265A4                 mr        r30, r5
  16. .text:022265A8                 stw       r29, 0xC(r1)
  17. .text:022265AC                 stw       r0, 0x1C(r1)
  18. .text:022265B0                 mr        r29, r4
  19. .text:022265B4                 bne       loc_22265C8
  20. .text:022265B8                 li        r3, 0x15C
  21. .text:022265BC                 bl        sub_2369190
  22. .text:022265C0                 mr.       r31, r3
  23. .text:022265C4                 beq       ret_2226860
  24. .text:022265C8
  25. .text:022265C8 loc_22265C8:                            # CODE XREF: Tree_init+28j
  26. .text:022265C8                 cmpwi     r29, 0
  27. .text:022265CC                 bne       loc_2226688
  28. .text:022265D0                 lis       r6, ((dword_1030CD1C+0x10000)@h)
  29. .text:022265D4                 addi      r4, r31, 0x158
  30. .text:022265D8                 lis       r28, ((off_1030CE1C+0x10000)@h)
  31. .text:022265DC                 subi      r6, r6, 0x32E4 # dword_1030CD1C
  32. .text:022265E0                 mr        r5, r30
  33. .text:022265E4                 subi      r28, r28, 0x31E4 # off_1030CE1C
  34. .text:022265E8                 stw       r6, 0x158(r31)
  35. .text:022265EC                 mr        r3, r31
  36. .text:022265F0                 stw       r28, 0(r31)
  37. .text:022265F4                 bl        sub_2413F44
  38. .text:022265F8                 lis       r10, ((dword_1030D21C+0x10000)@h)
  39. .text:022265FC                 lis       r11, ((dword_1030D22C+0x10000)@h)
  40. .text:02226600                 subi      r10, r10, 0x2DE4 # dword_1030D21C
  41. .text:02226604                 subi      r11, r11, 0x2DD4 # dword_1030D22C
  42. .text:02226608                 lis       r9, ((Tree_vtable+0x10000)@h)
  43. .text:0222660C                 stw       r10, 4(r31)
  44. .text:02226610                 lis       r8, ((dword_1030D284+0x10000)@h)
  45. .text:02226614                 subi      r9, r9, 0x2ECC # Tree_vtable
  46. .text:02226618                 stw       r11, 8(r31)
  47. .text:0222661C                 subi      r8, r8, 0x2D7C # dword_1030D284
  48. .text:02226620                 lis       r7, ((dword_1030D274+0x10000)@h)
  49. .text:02226624                 stw       r9, 0(r31)
  50. .text:02226628                 lwz       r12, ((off_1030CE20+0x31E4)@l)(r28)
  51. .text:0222662C                 subi      r7, r7, 0x2D8C # dword_1030D274
  52. .text:02226630                 stw       r8, 0x1C(r31)
  53. .text:02226634                 lis       r9, ((dword_1030D294+0x10000)@h)
  54. .text:02226638                 stw       r12, 0x158(r31)
  55. .text:0222663C                 subi      r9, r9, 0x2D6C # dword_1030D294
  56. .text:02226640                 lis       r6, ((dword_1030D264+0x10000)@h)
  57. .text:02226644                 stw       r7, 0x18(r31)
  58. .text:02226648                 li        r0, 1
  59. .text:0222664C                 subi      r6, r6, 0x2D9C # dword_1030D264
  60. .text:02226650                 stw       r9, 0x20(r31)
  61. .text:02226654                 li        r10, 0
  62. .text:02226658                 addi      r5, r31, 0x84
  63. .text:0222665C                 stw       r6, 0x14(r31)
  64. .text:02226660                 li        r6, 3
  65. .text:02226664                 lis       r12, flt_10C02900@h
  66. .text:02226668                 stb       r0, 0x84(r31)
  67. .text:0222666C                 lis       r0, ((dword_1030D24C+0x10000)@h)
  68. .text:02226670                 addi      r12, r12, flt_10C02900@l
  69. .text:02226674                 stw       r10, 0x80(r31)
  70. .text:02226678                 subic     r0, r0, 0x2DB4 # dword_1030D24C
  71. .text:0222667C                 mtspr   CTR, r6
  72. .text:02226680                 stw       r0, 0xC(r31)
  73. .text:02226684                 b         loc_2226728
  74. .text:02226688 # ---------------------------------------------------------------------------
  75. .text:02226688
  76. .text:02226688 loc_2226688:                            # CODE XREF: Tree_init+40j
  77. .text:02226688                 mr        r5, r30
  78. .text:0222668C                 mr        r3, r31
  79. .text:02226690                 mr        r4, r29
  80. .text:02226694                 lwz       r28, 0(r31)
  81. .text:02226698                 bl        sub_2413F44
  82. .text:0222669C                 lis       r9, ((Tree_vtable+0x10000)@h)
  83. .text:022266A0                 lis       r10, ((dword_1030D21C+0x10000)@h)
  84. .text:022266A4                 subi      r9, r9, 0x2ECC # Tree_vtable
  85. .text:022266A8                 subi      r10, r10, 0x2DE4 # dword_1030D21C
  86. .text:022266AC                 lis       r11, ((dword_1030D22C+0x10000)@h)
  87. .text:022266B0                 stw       r9, 0(r31)
  88. .text:022266B4                 subi      r11, r11, 0x2DD4 # dword_1030D22C
  89. .text:022266B8                 stw       r10, 4(r31)
  90. .text:022266BC                 lis       r6, ((dword_1030D264+0x10000)@h)
  91. .text:022266C0                 stw       r11, 8(r31)
  92. .text:022266C4                 lwz       r12, 4(r28)
  93. .text:022266C8                 lis       r8, ((dword_1030D284+0x10000)@h)
  94. .text:022266CC                 li        r0, 1
  95. .text:022266D0                 subi      r6, r6, 0x2D9C # dword_1030D264
  96. .text:022266D4                 stw       r12, 0(r29)
  97. .text:022266D8                 subi      r8, r8, 0x2D7C # dword_1030D284
  98. .text:022266DC                 lis       r7, ((dword_1030D274+0x10000)@h)
  99. .text:022266E0                 stw       r8, 0x1C(r31)
  100. .text:022266E4                 subi      r7, r7, 0x2D8C # dword_1030D274
  101. .text:022266E8                 li        r10, 0
  102. .text:022266EC                 stw       r7, 0x18(r31)
  103. .text:022266F0                 lis       r12, flt_10C02900@h
  104. .text:022266F4                 addi      r5, r31, 0x84
  105. .text:022266F8                 stb       r0, 0x84(r31)
  106. .text:022266FC                 lis       r0, ((dword_1030D24C+0x10000)@h)
  107. .text:02226700                 lis       r9, ((dword_1030D294+0x10000)@h)
  108. .text:02226704                 stw       r6, 0x14(r31)
  109. .text:02226708                 subic     r0, r0, 0x2DB4 # dword_1030D24C
  110. .text:0222670C                 subi      r9, r9, 0x2D6C # dword_1030D294
  111. .text:02226710                 stw       r10, 0x80(r31)
  112. .text:02226714                 li        r6, 3
  113. .text:02226718                 addi      r12, r12, flt_10C02900@l
  114. .text:0222671C                 stw       r0, 0xC(r31)
  115. .text:02226720                 mtspr   CTR, r6
  116. .text:02226724                 stw       r9, 0x20(r31)
  117. .text:02226728
  118. .text:02226728 loc_2226728:                            # CODE XREF: Tree_init+F8j
  119. .text:02226728                                         # Tree_init+1BCj
  120. .text:02226728                 lwz       r7, ((dword_10C02904-0x2900)@l)(r12)
  121. .text:0222672C                 stw       r7, 4(r5)
  122. .text:02226730                 lwz       r8, ((dword_10C02908-0x2900)@l)(r12)
  123. .text:02226734                 stw       r8, 8(r5)
  124. .text:02226738                 lwz       r9, ((dword_10C0290C-0x2900)@l)(r12)
  125. .text:0222673C                 stw       r9, 0xC(r5)
  126. .text:02226740                 lwzu      r10, ((dword_10C02910-0x2900)@l)(r12)
  127. .text:02226744                 stwu      r10, 0x10(r5)
  128. .text:02226748                 bdnz      loc_2226728
  129. .text:0222674C                 lis       r4, dword_10C02E10@h
  130. .text:02226750                 lwzu      r11, dword_10C02E10@l(r4)
  131. .text:02226754                 stw       r11, 0xB8(r31)
  132. .text:02226758                 lwz       r12, dword_10C00004@l(r4)
  133. .text:0222675C                 lis       r9, ((flt_1030CE04+0x10000)@h)
  134. .text:02226760                 stw       r12, 0xBC(r31)
  135. .text:02226764                 lwz       r0, dbl_10C00008@l(r4)
  136. .text:02226768                 lis       r6, ((flt_1030CE0C+0x10000)@h)
  137. .text:0222676C                 lfs       f11, flt_1030CE04@l(r9)
  138. .text:02226770                 stw       r0, 0xC0(r31)
  139. .text:02226774                 lwz       r5, dword_10C00000@l(r4)
  140. .text:02226778                 lfs       f12, flt_1030CE0C@l(r6)
  141. .text:0222677C                 stw       r5, 0xC4(r31)
  142. .text:02226780                 lis       r12, ((flt_1030CE10+0x10000)@h)
  143. .text:02226784                 lwz       r6, dword_10C00004@l(r4)
  144. .text:02226788                 lis       r7, ((flt_1030CE08+0x10000)@h)
  145. .text:0222678C                 lfs       f13, flt_1030CE08@l(r7)
  146. .text:02226790                 stw       r6, 0xC8(r31)
  147. .text:02226794                 lwz       r7, dbl_10C00008@l(r4)
  148. .text:02226798                 lis       r10, ((flt_1030CE14+0x10000)@h)
  149. .text:0222679C                 lfs       f0, flt_1030CE10@l(r12)
  150. .text:022267A0                 stfs      f13, 0xF8(r31)
  151. .text:022267A4                 li        r9, 0
  152. .text:022267A8                 lfs       f13, flt_1030CE14@l(r10)
  153. .text:022267AC                 stw       r9, 0x100(r31)
  154. .text:022267B0                 stfs      f13, 0x10C(r31)
  155. .text:022267B4                 stw       r9, 0x110(r31)
  156. .text:022267B8                 stfs      f11, 0xE4(r31)
  157. .text:022267BC                 stfs      f11, 0xD4(r31)
  158. .text:022267C0                 stfs      f0, 0x108(r31)
  159. .text:022267C4                 stfs      f11, 0xDC(r31)
  160. .text:022267C8                 stfs      f12, 0xFC(r31)
  161. .text:022267CC                 stfs      f11, 0xD0(r31)
  162. .text:022267D0                 stfs      f11, 0xF0(r31)
  163. .text:022267D4                 stw       r9, 0x104(r31)
  164. .text:022267D8                 stfs      f11, 0xE0(r31)
  165. .text:022267DC                 stfs      f11, 0xE8(r31)
  166. .text:022267E0                 stw       r7, 0xCC(r31)
  167. .text:022267E4                 stfs      f11, 0xEC(r31)
  168. .text:022267E8                 stfs      f11, 0xF4(r31)
  169. .text:022267EC                 stfs      f11, 0xD8(r31)
  170. .text:022267F0                 lwz       r8, dword_10C00000@l(r4)
  171. .text:022267F4                 stw       r8, 0x114(r31)
  172. .text:022267F8                 lis       r8, ((flt_1030CE18+0x10000)@h)
  173. .text:022267FC                 lwz       r10, dword_10C00004@l(r4)
  174. .text:02226800                 lfs       f12, flt_1030CE18@l(r8)
  175. .text:02226804                 stw       r10, 0x118(r31)
  176. .text:02226808                 lwz       r11, dbl_10C00008@l(r4)
  177. .text:0222680C                 stw       r9, 0x124(r31)
  178. .text:02226810                 stw       r11, 0x11C(r31)
  179. .text:02226814                 li        r0, -1
  180. .text:02226818                 stw       r9, 0x128(r31)
  181. .text:0222681C                 stw       r0, 0x12C(r31)
  182. .text:02226820                 lis       r7, flt_10C02E34@h
  183. .text:02226824                 stw       r9, 0x120(r31)
  184. .text:02226828                 stfs      f12, 0x130(r31)
  185. .text:0222682C                 lwzu      r8, flt_10C02E34@l(r7)
  186. .text:02226830                 stw       r8, 0x134(r31)
  187. .text:02226834                 lwz       r0, dword_10C00004@l(r7)
  188. .text:02226838                 stw       r0, 0x138(r31)
  189. .text:0222683C                 lwz       r0, dbl_10C00008@l(r7)
  190. .text:02226840                 stb       r9, 0x150(r31)
  191. .text:02226844                 stw       r0, 0x13C(r31)
  192. .text:02226848                 stw       r9, 0x14C(r31)
  193. .text:0222684C                 li        r11, 1
  194. .text:02226850                 stw       r9, 0x148(r31)
  195. .text:02226854                 stb       r11, 0x140(r31)
  196. .text:02226858                 stw       r9, 0x154(r31)
  197. .text:0222685C                 stw       r9, 0x144(r31)
  198. .text:02226860
  199. .text:02226860 ret_2226860:                            # CODE XREF: Tree_init+38j
  200. .text:02226860                 lwz       r28, 8(r1)
  201. .text:02226864                 lwz       r29, 0xC(r1)
  202. .text:02226868                 lwz       r0, 0x1C(r1)
  203. .text:0222686C                 mr        r3, r31
  204. .text:02226870                 lwz       r30, 0x10(r1)
  205. .text:02226874                 mtspr   LR, r0
  206. .text:02226878                 lwz       r31, 0x14(r1)
  207. .text:0222687C                 addi      r1, r1, 0x18
  208. .text:02226880                 blr
  209. .text:02226880 # End of function Tree_init
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement