diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/poweruphax.S | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/src/poweruphax.S b/src/poweruphax.S index 2779906..39a1b77 100644 --- a/src/poweruphax.S +++ b/src/poweruphax.S @@ -838,7 +838,8 @@ Wm2dPlayerDrawHS: .extern draw__21dHammerSuitRenderer_cFv .extern draw__21dPlayerModelHandler_cFv - +.extern GabonRock_DropOutState +.extern GabonRock_CrushState .global HammerGabonRock @@ -851,7 +852,13 @@ HammerGabonRock: cmpwi r0, 19 bne hgrExit - + addi r3, r31, 0x394 + lis r4, GabonRock_CrushState@h + ori r4, r4, GabonRock_CrushState@l + lwz r12, 0(r3) + lwz r12, 0x18(r12) + mtctr r12 + bctrl lbz r0, 0xA1(r28) ori r0, r0, 2 @@ -867,6 +874,24 @@ hgrExit: addi r1, r1, 0x40 blr +.global HammerCallbackGabonRockOverride +.extern forceHCGROPushBack +.extern continueFromHCGRO +HammerCallbackGabonRockOverride: + lhz r3, 8(r30) #objThis + cmpwi r3, 115 #HAMMER + bne continueHCGRO + + lhz r3, 8(r30) #objOther + cmpwi r3, 374 #GABON_ROCK + bne continueHCGRO + + b forceHCGROPushBack + +continueHCGRO: + lbz r0, 0x2D(r4) #to fix the branch we nuked + b continueFromHCGRO + .data |