Advertisement
Bond697

B2/W2 Breeding

Aug 23rd, 2012
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ARM 9.79 KB | None | 0 0
  1. OVL_36:021BDA74             ; void __fastcall breeding(void *pSystem, s16 blkGroupID, void *pPlayerInfo, u32 location, void *pDaycarePoke1, void *pDaycarePoke2, void *pPokeEggBlk, RandSet *drnd)
  2. OVL_36:021BDA74             breeding                                ; CODE XREF: setupBreeding+5Ap
  3. OVL_36:021BDA74
  4. OVL_36:021BDA74             var_B0          = -0xB0
  5. OVL_36:021BDA74             var_AC          = -0xAC
  6. OVL_36:021BDA74             var_A8          = -0xA8
  7. OVL_36:021BDA74             var_A4          = -0xA4
  8. OVL_36:021BDA74             var_A0          = -0xA0
  9. OVL_36:021BDA74             pDaycarePoke1   =  0
  10. OVL_36:021BDA74             pDaycarePoke2   =  4
  11. OVL_36:021BDA74             pPokeEggBlk     =  8
  12. OVL_36:021BDA74             drnd            =  0xC
  13. OVL_36:021BDA74
  14. OVL_36:021BDA74 F8 B5                       PUSH    {R3-R7,LR}
  15. OVL_36:021BDA76 A6 B0                       SUB     SP, SP, #0x98   ; blkGroupID
  16. OVL_36:021BDA78 0D 1C                       MOVS    R5, R1
  17. OVL_36:021BDA7A 16 1C                       MOVS    R6, R2
  18. OVL_36:021BDA7C 1F 1C                       MOVS    R7, R3
  19. OVL_36:021BDA7E 2F 9C                       LDR     R4, [SP,#0xBC]
  20. OVL_36:021BDA80 59 F6 2A F8                 BL      getBaseBlk
  21. OVL_36:021BDA84 59 F6 66 FC                 BL      getItemBlkPtr
  22. OVL_36:021BDA88 9E 21 89 00                 MOVS    R1, 0x278       ; item_idx
  23. OVL_36:021BDA8C 01 22                       MOVS    R2, #1          ; quantity
  24. OVL_36:021BDA8E 2B 1C                       MOVS    R3, R5
  25. OVL_36:021BDA90 4A F6 F0 FC                 BL      doesPlayerHaveItemWithQuantity
  26. OVL_36:021BDA94 01 90                       STR     R0, [SP,#4]
  27. OVL_36:021BDA96 2C 98                       LDR     R0, [SP,#0xB0]  ; load location of daycarePKM1
  28. OVL_36:021BDA98 02 90                       STR     R0, [SP,#8]     ; storing location of daycarePKM1
  29. OVL_36:021BDA9A 2D 98                       LDR     R0, [SP,#0xB4]  ; load location of daycarePKM2
  30. OVL_36:021BDA9C 03 90                       STR     R0, [SP,#0xC]   ; storing location of daycarePKM2
  31. OVL_36:021BDA9E 02 A8                       ADD     R0, SP, #8      ; pParents
  32. OVL_36:021BDAA0 00 F0 80 F8                 BL      genderSort
  33. OVL_36:021BDAA4 02 A8                       ADD     R0, SP, #8      ; pParents
  34. OVL_36:021BDAA6 00 F0 9F F8                 BL      setGenderlessFirst ; -if the first pokemon is ditto and the second is genderless, switch them
  35. OVL_36:021BDAAA 04 A8                       ADD     R0, SP, #0x10   ; pEggData
  36. OVL_36:021BDAAC 00 F0 B8 F8                 BL      clearEggDataBlk
  37. OVL_36:021BDAB0 02 A8                       ADD     R0, SP, #8      ; pParents
  38. OVL_36:021BDAB2 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  39. OVL_36:021BDAB4 00 F0 BE F8                 BL      getChild
  40. OVL_36:021BDAB8 02 A8                       ADD     R0, SP, #8      ; pParents
  41. OVL_36:021BDABA 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  42. OVL_36:021BDABC 22 1C                       MOVS    R2, R4          ; pEggSeed
  43. OVL_36:021BDABE 00 F0 C7 F8                 BL      nidoranCompute
  44. OVL_36:021BDAC2 02 A8                       ADD     R0, SP, #8      ; pParents
  45. OVL_36:021BDAC4 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  46. OVL_36:021BDAC6 22 1C                       MOVS    R2, R4          ; pEggSeed
  47. OVL_36:021BDAC8 00 F0 E8 F8                 BL      volbeatCompute
  48. OVL_36:021BDACC 02 A8                       ADD     R0, SP, #8      ; pParents
  49. OVL_36:021BDACE 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  50. OVL_36:021BDAD0 00 F0 0A F9                 BL      manaphyHandler
  51. OVL_36:021BDAD4 02 A8                       ADD     R0, SP, #8      ; pParents
  52. OVL_36:021BDAD6 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  53. OVL_36:021BDAD8 00 F0 16 F9                 BL      incenseHandler
  54. OVL_36:021BDADC 02 A8                       ADD     R0, SP, #8      ; pParents
  55. OVL_36:021BDADE 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  56. OVL_36:021BDAE0 00 F0 62 F9                 BL      zeroFormData
  57. OVL_36:021BDAE4 02 A8                       ADD     R0, SP, #8      ; pParents
  58. OVL_36:021BDAE6 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  59. OVL_36:021BDAE8 00 F0 62 F9                 BL      shellosHandler
  60. OVL_36:021BDAEC 02 A8                       ADD     R0, SP, #8      ; pParents
  61. OVL_36:021BDAEE 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  62. OVL_36:021BDAF0 00 F0 76 F9                 BL      burmyHandler
  63. OVL_36:021BDAF4 02 A8                       ADD     R0, SP, #8      ; pParents
  64. OVL_36:021BDAF6 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  65. OVL_36:021BDAF8 00 F0 88 F9                 BL      basculinHandler
  66. OVL_36:021BDAFC 02 A8                       ADD     R0, SP, #8      ; pParents
  67. OVL_36:021BDAFE 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  68. OVL_36:021BDB00 22 1C                       MOVS    R2, R4          ; pEggSeed
  69. OVL_36:021BDB02 00 F0 A7 F9                 BL      getNature
  70. OVL_36:021BDB06 02 A8                       ADD     R0, SP, #8      ; pParents
  71. OVL_36:021BDB08 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  72. OVL_36:021BDB0A 22 1C                       MOVS    R2, R4          ; pEggSeed
  73. OVL_36:021BDB0C 00 F0 BA F9                 BL      everstoneHandler
  74. OVL_36:021BDB10 02 A8                       ADD     R0, SP, #8      ; pParents
  75. OVL_36:021BDB12 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  76. OVL_36:021BDB14 2A 1C                       MOVS    R2, R5          ; data
  77. OVL_36:021BDB16 23 1C                       MOVS    R3, R4          ; pEggSeed
  78. OVL_36:021BDB18 00 F0 0A FA                 BL      abilDecision
  79. OVL_36:021BDB1C 02 A8                       ADD     R0, SP, #8      ; pParents
  80. OVL_36:021BDB1E 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  81. OVL_36:021BDB20 22 1C                       MOVS    R2, R4          ; pEggSeed
  82. OVL_36:021BDB22 00 F0 41 FA                 BL      dittoAbilFix
  83. OVL_36:021BDB26 04 A8                       ADD     R0, SP, #0x10   ; pEggData
  84. OVL_36:021BDB28 29 1C                       MOVS    R1, R5          ; field
  85. OVL_36:021BDB2A 00 F0 67 FA                 BL      getHatchCounterFromFile
  86. OVL_36:021BDB2E 02 A8                       ADD     R0, SP, #8      ; pParents
  87. OVL_36:021BDB30 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  88. OVL_36:021BDB32 22 1C                       MOVS    R2, R4          ; pEggSeed
  89. OVL_36:021BDB34 00 F0 78 FA                 BL      powerItemHandler
  90. OVL_36:021BDB38 02 A8                       ADD     R0, SP, #8      ; pParents
  91. OVL_36:021BDB3A 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  92. OVL_36:021BDB3C 22 1C                       MOVS    R2, R4          ; pEggSeed
  93. OVL_36:021BDB3E 00 F0 03 FB                 BL      determineInheritance
  94. OVL_36:021BDB42 02 A8                       ADD     R0, SP, #8      ; pParents
  95. OVL_36:021BDB44 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  96. OVL_36:021BDB46 22 1C                       MOVS    R2, R4          ; pEggSeed
  97. OVL_36:021BDB48 00 F0 52 FB                 BL      makeIVSet
  98. OVL_36:021BDB4C 30 1C                       MOVS    R0, R6          ; trainerInfo
  99. OVL_36:021BDB4E 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  100. OVL_36:021BDB50 00 F0 96 FB                 BL      getEggIDSet
  101. OVL_36:021BDB54 02 A8                       ADD     R0, SP, #8      ; pParents
  102. OVL_36:021BDB56 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  103. OVL_36:021BDB58 00 F0 98 FB                 BL      makeSupplimentaryPID
  104. OVL_36:021BDB5C 01 9A                       LDR     R2, [SP,#4]     ; hasShinyCharm
  105. OVL_36:021BDB5E 02 A8                       ADD     R0, SP, #8      ; pParents
  106. OVL_36:021BDB60 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  107. OVL_36:021BDB62 00 F0 AD FB                 BL      shinyBreedHandler
  108. OVL_36:021BDB66 04 A8                       ADD     R0, SP, #0x10   ; pEggData
  109. OVL_36:021BDB68 00 F0 E6 FB                 BL      levelMoves
  110. OVL_36:021BDB6C 02 A8                       ADD     R0, SP, #8      ; pParents
  111. OVL_36:021BDB6E 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  112. OVL_36:021BDB70 2A 1C                       MOVS    R2, R5          ; blkGroupID
  113. OVL_36:021BDB72 00 F0 1B FC                 BL      inheritEggMoves
  114. OVL_36:021BDB76 02 A8                       ADD     R0, SP, #8      ; pParents
  115. OVL_36:021BDB78 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  116. OVL_36:021BDB7A 00 F0 4B FC                 BL      inheritLvlUpMoves
  117. OVL_36:021BDB7E 02 A8                       ADD     R0, SP, #8      ; pParents
  118. OVL_36:021BDB80 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  119. OVL_36:021BDB82 2A 1C                       MOVS    R2, R5          ; blkGroupID
  120. OVL_36:021BDB84 00 F0 B2 FC                 BL      inheritTmMoves
  121. OVL_36:021BDB88 02 A8                       ADD     R0, SP, #8      ; pParents
  122. OVL_36:021BDB8A 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  123. OVL_36:021BDB8C 00 F0 F0 FC                 BL      pichuLightBallHandler
  124. OVL_36:021BDB90 2E 98                       LDR     R0, [SP,#0xB8]  ; get pointer to the fake pkm created by the poketool and now use it make the real thing
  125. OVL_36:021BDB92 04 A9                       ADD     R1, SP, #0x10   ; pEggData
  126. OVL_36:021BDB94 32 1C                       MOVS    R2, R6          ; pTrainerInfo
  127. OVL_36:021BDB96 3B 1C                       MOVS    R3, R7          ; location
  128. OVL_36:021BDB98 00 95                       STR     R5, [SP]        ; blkGroupID
  129. OVL_36:021BDB9A 00 F0 2B FD                 BL      createEggPkm
  130. OVL_36:021BDB9E 26 B0                       ADD     SP, SP, #0x98
  131. OVL_36:021BDBA0 F8 BD                       POP     {R3-R7,PC}
  132. OVL_36:021BDBA0             ; End of function breeding
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement