diff options
| author | Colin Noga <Tempus@Spectrum-Song.local> | 2011-08-14 13:36:51 -0500 | 
|---|---|---|
| committer | Colin Noga <Tempus@Spectrum-Song.local> | 2011-08-14 13:36:51 -0500 | 
| commit | ead037af2d2665e94ed8d804a1e220c47ba54db9 (patch) | |
| tree | 73a9b2ade2494b17caf3d1e1cd7f3bffca72c917 | |
| parent | 16ddd9a408d1a02f99b9a9851d412dcebf2a8483 (diff) | |
| download | kamek-ead037af2d2665e94ed8d804a1e220c47ba54db9.tar.gz kamek-ead037af2d2665e94ed8d804a1e220c47ba54db9.zip | |
Bobomb bros, colour snow, pipe spawner, and other fixes.
| -rw-r--r-- | growup.yaml | 5 | ||||
| -rw-r--r-- | spritetex.yaml | 27 | ||||
| -rwxr-xr-x | src/growup.s | 6 | ||||
| -rwxr-xr-x | src/spritetex.S | 171 | 
4 files changed, 192 insertions, 17 deletions
| diff --git a/growup.yaml b/growup.yaml index 94790e1..4758e0d 100644 --- a/growup.yaml +++ b/growup.yaml @@ -147,11 +147,6 @@ hooks:  ## Below are enemy specific hacks to fix issues that arise when resizing -  - name: FixingPipeSpawnerGoomba -    type: branch_insn -    branch_type: bl -    src_addr_pal: 0x80ABB6A8 -    target_func: 'InheritSettings_C'    - name: FixingPipeSpawnerGoombaB      type: branch_insn diff --git a/spritetex.yaml b/spritetex.yaml index 8ec7b9e..65f846a 100644 --- a/spritetex.yaml +++ b/spritetex.yaml @@ -492,6 +492,11 @@ hooks:      target_func: 'TEX_HuckitBalls' +  - name: TEX_HuckitBallsInherit +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x80A3F1A0 +    target_func: 'TEX_HuckitBallsInherit' @@ -507,6 +512,12 @@ hooks:      src_addr_pal: 0x80A5BA68      target_func: 'HammerLaunch' +  - name: HammerLeft +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x80A5BAA4 +    target_func: 'HammerLeft' +    - name: HammerSpin      type: branch_insn      branch_type: bl @@ -568,3 +579,19 @@ hooks:      data: '00000003000000010000000200000000'      addr_pal: 0x8093DAD8 + + + +  - name: TEX_Flakes +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x80887AC0 +    target_func: 'TEX_Flakes' + +  - name: TEX_BlackFlakes +    type: branch_insn +    branch_type: bl +    src_addr_pal: 0x808882E0 +    target_func: 'TEX_BlackFlakes' + + diff --git a/src/growup.s b/src/growup.s index 11fa5b4..0576ebe 100755 --- a/src/growup.s +++ b/src/growup.s @@ -868,7 +868,6 @@ ModifyRiderInitD:  	blr						# Off we go! -  .global InheritSettings  InheritSettings: @@ -881,6 +880,7 @@ InheritSettings:  InheritSettings_B:  	lwz r5, 4(r3) +	andis. r5, r5, 0x0FF0  	blr @@ -894,7 +894,9 @@ InheritSettings_C:  .global InheritSettings_D  InheritSettings_D: -	ori r4, r4, 0x2 +	lwz r0, 4(r3) +	andis. r0, r0, 0xFFF0 +	or r4, r4, r0  	blr 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 | 
