From ead037af2d2665e94ed8d804a1e220c47ba54db9 Mon Sep 17 00:00:00 2001 From: Colin Noga Date: Sun, 14 Aug 2011 13:36:51 -0500 Subject: Bobomb bros, colour snow, pipe spawner, and other fixes. --- src/spritetex.S | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 161 insertions(+), 10 deletions(-) (limited to 'src/spritetex.S') diff --git a/src/spritetex.S b/src/spritetex.S index 48c6a64..fa4d6e8 100755 --- a/src/spritetex.S +++ b/src/spritetex.S @@ -1,6 +1,7 @@ .extern sprintf .extern GenerateRandomNumber .extern BombExplodeState +.extern AbsValue #ifndef __MWERKS__ .set r0,0; .set r1,1; .set r2,2; .set r3,3; .set r4,4 @@ -838,6 +839,15 @@ TEX_HuckitBalls: b GetTexFilenameForR5 +.global TEX_HuckitBallsInherit +TEX_HuckitBallsInherit: + lwz r10, 4(r9) + andis. r10, r10, 0xF00 + or r4, r4, r0 + or r4, r4, r10 + blr + + .global HammerColour HammerColour: @@ -933,11 +943,12 @@ ThrowLemmyBall: .global HammerLaunch HammerLaunch: mr r3, r30 + mr r10, r30 # r31 is the new actor currently # r30 is self, all others are volatile lwz r5, 4(r30) - lwz r8, 0x348(r30) + lbz r8, 0x348(r30) srwi r5, r5, 8 andi. r5, r5, 0xF @@ -989,12 +1000,6 @@ FacingLeft: lfsx f0, r7, r6 # get it from the array stfs f0, 0xE8(r31) - li r7, 90 - sth r7, 0x100(r31) - - li r7, 90 - sth r7, 0x106(r31) - blr @@ -1082,9 +1087,6 @@ BombFacingLeft: lfsx f0, r7, r6 stfs f0, 0xE8(r31) - li r7, 180 - sth r7, 0x102(r31) - mtlr r0 addi sp, sp, 0x40 blr @@ -1098,9 +1100,158 @@ HammerSpin: blr +.global HammerLeft +HammerLeft: + + lbz r8, 0x348(r10) + lha r7, 0x102(r31) + + cmpwi r8, 0 + bne GoingLeft + blr + + +GoingLeft: + + li r8, 1 + stb r8, 0x348(r31) + + li r6, 0xFD00 + add r7, r6, r7 + sth r7, 0x102(r31) + sth r7, 0x108(r31) + sth r7, 0xC(r1) + blr + + + + +.global TEX_BlackFlakes +TEX_BlackFlakes: + + mflr r9 + + lwz r6, 4(r23) + srwi r6, r6, 24 + andi. r6, r6, 0xF + + cmpwi r6, 1 + beq FlakeyLeaves + + cmpwi r6, 2 + beq FlakeySakura + + cmpwi r6, 3 + beq FlakeyStardust + + stb r5, 0x5BB(r23) + blr + +# li r5, 0xFF +# li r4, 0 +# li r3, 0 +# li r0, 0xFF +# +# stb r5, 0x5B4(r23) +# stb r4, 0x5B5(r23) +# stb r3, 0x5B6(r23) +# stb r0, 0x5B7(r23) +# stb r5, 0x5B8(r23) +# stb r4, 0x5B9(r23) +# stb r3, 0x5BA(r23) +# stb r0, 0x5BB(r23) + + +FlakeyLeaves: + + li r5, 0xB4 + stb r5, 0x5B4(r23) + stb r5, 0x5B8(r23) + + li r3, 0x40 + bl GenerateRandomNumber + mr r4, r3 + stb r4, 0x5B5(r23) + stb r4, 0x5B9(r23) + + li r3, 0x0 + stb r3, 0x5B6(r23) + stb r3, 0x5BA(r23) + + li r0, 0xFF + stb r0, 0x5B7(r23) + stb r0, 0x5BB(r23) + + mtlr r9 + blr + + +FlakeySakura: + + li r3, 0x20 + bl GenerateRandomNumber + + li r5, 0xFF + sub r5, r5, r3 + stb r5, 0x5B4(r23) + stb r5, 0x5B8(r23) + + li r4, 0xC8 + sub r4, r4, r3 + stb r4, 0x5B5(r23) + stb r4, 0x5B9(r23) + + li r4, 0xF8 + sub r3, r4, r3 + stb r3, 0x5B6(r23) + stb r3, 0x5BA(r23) + + li r0, 0xD0 + stb r0, 0x5B7(r23) + stb r0, 0x5BB(r23) + + mtlr r9 + blr + + +FlakeyStardust: + + li r5, 0xFF + stb r5, 0x5B4(r23) + stb r5, 0x5B8(r23) + + li r4, 0xF8 + stb r4, 0x5B5(r23) + stb r4, 0x5B9(r23) + + li r3, 0xD8 + stb r3, 0x5B6(r23) + stb r3, 0x5BA(r23) + + li r3, 0xFF + bl GenerateRandomNumber + mr r0, r3 + stb r0, 0x5B7(r23) + stb r0, 0x5BB(r23) + + mtlr r9 + blr + + + +.global TEX_Flakes +TEX_Flakes: + lwz r5, 4(r30) + srwi r5, r5, 24 + andi. r5, r5, 0xF + b GetTexFilenameForR5 + .data +BomombDir: + .word 0x0400FC00 + TexFilenameBuffer: .long 0,0,0,0 -- cgit v1.2.3