summaryrefslogtreecommitdiff
path: root/src/poweruphax.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/poweruphax.S')
-rw-r--r--src/poweruphax.S82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/poweruphax.S b/src/poweruphax.S
index 899b5e4..34cca4b 100644
--- a/src/poweruphax.S
+++ b/src/poweruphax.S
@@ -647,6 +647,88 @@ CheckExistingPowerup:
+.global AcPyCtorHS
+AcPyCtorHS:
+ stwu r1, -0x10(r1)
+ mflr r0
+ stw r0, 0x14(r1)
+ stw r31, 0xC(r1)
+ mr r31, r3
+
+ bl build__21dHammerSuitRenderer_cFv
+ stw r3, 0x2D08(r31)
+
+ mr r3, r31
+ lwz r31, 0xC(r1)
+ lwz r0, 0x14(r1)
+ mtlr r0
+ addi r1, r1, 0x10
+ blr
+
+.global AcPyDtorHS
+AcPyDtorHS:
+ stwu r1, -0x10(r1)
+ mflr r0
+ stw r0, 0x14(r1)
+ stw r31, 0xC(r1)
+ stw r30, 8(r1)
+
+ mr r31, r4
+ mr r30, r3
+
+ cmpwi r3, 0
+ beq oops
+ lwz r3, 0x2D08(r30)
+ li r4, 1
+ bl __dt__21dHammerSuitRenderer_cFv
+oops:
+
+ mr r3, r30
+ mr r4, r31
+ bl RealAcPyDtor
+
+ lwz r30, 8(r1)
+ lwz r31, 0xC(r1)
+ lwz r0, 0x14(r1)
+ mtlr r0
+ addi r1, r1, 0x10
+ blr
+
+.global AcPySetMeUpHS
+AcPySetMeUpHS:
+ # partway in: r31 = this
+ lwz r3, 0x2D08(r31)
+ addi r4, r31, 0x2A60
+ bl setup__21dHammerSuitRenderer_cFP21dPlayerModelHandler_c
+
+ # epilogue
+ li r3, 1
+ lwz r31, 0xC(r1)
+ lwz r0, 0x14(r1)
+ mtlr r0
+ addi r1, r1, 0x10
+ blr
+
+.global AcPyDrawHS
+AcPyDrawHS:
+ # partway in: r31 = this
+ lwz r3, 0x2D08(r31)
+ bl draw__21dHammerSuitRenderer_cFv
+
+ # epilogue
+ li r3, 1
+ lwz r0, 0x14(r1)
+ lwz r31, 0xC(r1)
+ mtlr r0
+ addi r1, r1, 0x10
+ blr
+
+.extern RealAcPyDtor
+.extern build__21dHammerSuitRenderer_cFv
+.extern __dt__21dHammerSuitRenderer_cFv
+.extern setup__21dHammerSuitRenderer_cFP21dPlayerModelHandler_c
+.extern draw__21dHammerSuitRenderer_cFv
+
.data
PowerupSounds: