Language…
8 users online: David_Odie, Gloomyerr_, rafaelfutbal, Rykon-V73, Sirius_Kokov, UTF, Zatara, Zavok - Guests: 86 - Bots: 77
Users: 70,607 (2,479 active)
Latest user: Will605

Best Raccoon + Cape Patch

SMW Patches → Best Raccoon + Cape Patch

Submission Details

Name: Best Raccoon + Cape Patch
Author: Chdata
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
Description: This patch allows you to have both the Cape Mario and Raccoon Mario powerups in one hack by making a freeram flag to control it. It only applies if you have powerup #$02 (cape).

This patch DOES NOT have any DMA set up to change your graphics, especially if you do it mid level (which you can). I suggest using another patch to allow you to use different gfx.

For example, if you don't plan on allowing the change mid level, Marioexgfx is perfect for that. If you want to make both an always available powerup and be changeable mid level, I'd suggest something else like Huflungdu's seperate gfx patch.

v1.1: Now updated to work with Asar and the SA-1 patch.
Tags: ability cape lorom raccoon sa-1 smb3
Comments: 10 (jump to comments)
Download 13.82 KiB | 1,195 downloads

Comments (10)

 LadiesMan217 Link
Seems to be a bug displaying the incorrect tail image when hitting a net door. Reason is bc the "cape image" gfx for the tail used a space for a face instead of a tail. To fix this I just did something like this:

Code
org $00E46B
autoclean JML TailXYPos

;(put this somewhere under freecode)

TailXYPos:
LDX $05
LDA !ram
BNE +
REP #$20
JML $00E46F|!bank
+
REP #$20			;$00E46D	||
LDA $80				;$00E46F	||
CLC				;$00E471	||
ADC.l DATA_00DE32Raccoon,x	;$00E472	|| Store Y position for the tile.
PHA				;$00E475	||
CLC				;$00E476	|| Skip the rest if veritcally offscreen.
ADC #$0010			;$00E477	||
CMP #$0100			;$00E47A	||
PLA				;$00E47D	||
SEP #$20			;$00E47E	||
BCS +				;$00E480	||
STA $0301|!addr,y		;$00E482	|/
REP #$20			;$00E485	|
LDA $7E				;$00E487	|\ 
CLC				;$00E489	||
ADC.l DATA_00DD4ERaccoon,x	;$00E48A	||
JML $00E48D|!bank
+
JML $00E49F|!bank

DATA_00DD4ERaccoon:					;$00DD4E	| 16-bit X offsets of Mario's tiles in various poses. 16-bit, indexed by $00DD32.
	dw $0000,$0000,$0010,$0010	; 8 bytes per entry: head, body, extra tile #1, extra tile #2.
	dw $0000,$0000,$FFF8,$FFF8	;  This value is then added with the onscreen X position in $7E.
	dw $000E,$0006,$FFF2,$FFFA
	dw $0017,$0007,$000F,$FFEA
	dw $FFFA,$FFFA,$0000,$0000
	dw $0000,$0000,$0010,$0010
	dw $0000,$0000,$FFF8,$FFF8
	dw $0000,$FFF8,$0008,$0000
	dw $0008,$FFF8,$0000,$0000
	dw $FFF8,$0000,$0000,$0010
	dw $0002,$0000,$FFFE,$0000
	dw $0000,$0000,$FFFC,$0005
	dw $0004,$FFFB,$FFFB,$0006
	dw $0005,$FFFA,$FFF9,$0009
	dw $0007,$FFF7,$FFFD,$FFFD
	dw $0003,$0003,$FFFF,$0007
	dw $0001,$FFF9        
	dw $000A,$FFF6,$0008,$FFF8	; Cape positions, indexed by $00E21A.
	dw $0008,$FFF8,$0000,$0008
	dw $FFF8,$FFFE,$0002,$000B
	dw $FFF5,$0014,$FFEC,$000E
	dw $FFF3,$0008,$FFF8,$000C
	dw $0014,$FFFD,$FFF4,$FFF4
	dw $000B,$000B,$0003,$0013
	dw $FFF5,$0005,$FFF5,$0009
	dw $0001,$0001,$FFF7,$0007
	dw $0007,$0005,$000D,$000D
	dw $FFFB,$FFFB,$FFFB,$FFFF
	dw $000F,$0001,$FFF9,$0000
DATA_00DE32Raccoon:					;$00DE32	| 16-bit Y offsets of Mario's tiles in various poses, indexed by $00DD32.
	dw $0001,$0011,$0011,$0019	; 8 bytes per entry: head, body, extra tile #1, extra tile #2.
	dw $0001,$0011,$0011,$0019	;  This value is then added with the onscreen Y position in $80.
	dw $000C,$0014,$000C,$0014
	dw $0018,$0018,$0028,$0018
	dw $0018,$0028,$0006,$0016
	dw $0001,$0011,$0009,$0011
	dw $0001,$0011,$0009,$0011
	dw $0001,$0011,$0011,$0001
	dw $0011,$0011,$0001,$0011
	dw $0011,$0001,$0011,$0011
	dw $0001,$0011,$0001,$0011
	dw $0011,$0005,$0004,$0014
	dw $0004,$0014,$000C,$0014
	dw $000C,$0014,$0010,$0010
	dw $0010,$0010,$0010,$0000
	dw $0010,$0000,$0010,$0000
	dw $0010,$0000
	dw $000B,$000B,$0011,$0011	; Cape positions, indexed by $00E21A.
	dw $FFFF,$FFFF,$0010,$0010
	dw $0010,$0010,$0010,$0010
	dw $0010,$0015,$0015,$0025
	dw $0025,$0004,$0004,$0004
	dw $0014,$0014,$0004,$0014
	dw $0014,$0004,$0004,$0014
	dw $0004,$0004,$0014,$0000
	dw $0008,$0000,$0000,$0008
	dw $0000,$0000,$0010,$0018
	dw $0000,$0010,$0018,$0000
	dw $0010,$0000,$0010,$FFF8
edidari Link
For anyone that wants to fix the turning around pose bug,
just paste this code:
Code
org $00E1E2	;x63E2 - ?
db $0A

Hayashi Neru Link
Originally posted by Souldbminer
Not needed, Use custom powerup patch by lx5

Sadly the Lx5's power-up patch is not compatible with the latest SA-1 patch.

There was v.3.4.4. I didn't know that.
 MarioFanGamer Link
Moderated with:
  • Lunar Magic v3.31
  • SA-1 Pack v1.41
  • Sar v1.81
  • GPS v1.4.3
  • PIXI v1.32
  • UberASMTool v1.5
  • BSNES v115
Added ability tag.

Keep in mind that the patch features a bug where the turning around pose uses the wrong tile because that one is a hardcoded tile. That one is less a mistake of the updater and more of the original creator overlooked it which is why we have accepted it due to grandfathering.

Otherwise, that patch is a way to add in more powerups without resorting to resources such as lx5's custom powerups i.e. add new powerup states. It may be difficult to integrate it, at least, considering the powerup state is shared by the cape which means any resource which sets the cape also have to clear the raccoon flag (including the feather itself) and require the use of custom ?-blocks, a modified feather disassembly, item box special and Alt Mario ExGFX but it's still a possible if hacky alternative.
Soul Link
Not needed, Use custom powerup patch by lx5
Hayashi Neru Link
Unfortunately this is not compatible with the 32×32 player patch.
Apple Boy Link
The return we needed?
idk i've never used this before
Wavee Link
Should hopefully now work fine with the latest asar and sa-1 patch.
Romano338 From older version: Best Raccoon+Cape Patch Link
"Based off of Neosz's "MUCH Better Raccoon Patch"
how is it even possible given that 1. this patch was released 5 years sooner and 2. "MUCH Better Raccoon Patch" is based off of this patch.
Alcaro From older version: Best Raccoon+Cape Patch Link
To use with Asar, remove every { and } from the file, in addition to the usual ;@xkas and freespace setting.