diff options
Diffstat (limited to 'src/growup.s')
-rwxr-xr-x | src/growup.s | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/src/growup.s b/src/growup.s index 724ee4c..b8d8922 100755 --- a/src/growup.s +++ b/src/growup.s @@ -1113,6 +1113,140 @@ LakituBomb: +.global GlobalZOrderDeath +GlobalZOrderDeath: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalZorder + + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f8, 0(r11) + stfs f8, 0xB4(r28) + stfs f8, 0xC(r1) + + mtlr r0 + addi r1, r1, 0x60 + blr + +NormalZorder: + mtlr r0 + addi r1, r1, 0x60 + blr + + +.global PokeyZOrderDeath +PokeyZOrderDeath: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalPokeyZorder + + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f0, 0(r11) + stfs f0, 0xB4(r31) + + lwz r0, 0x5D0(r31) + blr + +NormalPokeyZorder: + lwz r0, 0x5D0(r31) + blr + + +.global PokeyZOrderDeathFreeze +PokeyZOrderDeathFreeze: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalPokeyZorderFreeze + + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f0, 0(r11) + stfs f0, 0xB4(r3) + + lwz r0, 0x604(r3) + blr + +NormalPokeyZorderFreeze: + lwz r0, 0x604(r3) + blr + + +.global PokeyZOrderDamage +PokeyZOrderDamage: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalPokeyZorderDamage + + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f0, 0(r11) + stfs f0, 0xB4(r31) + + mr r3, r31 + blr + +NormalPokeyZorderDamage: + mr r3, r31 + blr + + +.global GabonRockZOrderDeath +GabonRockZOrderDeath: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalGabonRockZorder + + stfs f0, 0xE8(r3) + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f0, 0(r11) + stfs f0, 0xB4(r3) + blr + +NormalGabonRockZorder: + stfs f0, 0xE8(r3) + blr + + +.global GabonRockZOrderDeathDrop +GabonRockZOrderDeathDrop: + + lis r10, ZOrderOn@h + ori r10, r10, ZOrderOn@l + lbz r10, 0(r10) + cmpwi r10, 0 + beq NormalGabonRockZorderDrop + + mr r31, r3 + lis r11, InFront@h + ori r11, r11, InFront@l + lfs f0, 0(r11) + stfs f0, 0xB4(r31) + blr + +NormalGabonRockZorderDrop: + mr r31, r3 + blr + + + .data .global GlobalSpriteSize @@ -1133,6 +1267,12 @@ SizerOn: .align 4 +.global ZOrderOn +ZOrderOn: + .byte 0 + +.align 4 + LookupTable: .float 1, 1, 1, 1, 0.25, 0.5, 0.75, 1.25, 1.5, 2, 2.5, 3, 4, 5, 8, 10 @@ -1142,6 +1282,9 @@ RiderLookupTable: PiranhaPosF: .float 4.0 +InFront: + .float 5500.0 + ConvertFloat: .word 0x43300000,0x0,0x43300000,0x80000000 |