Name: | Separate Luigi Graphics v2.2 |
Authors: | DiscoTheBat, Smallhacker |
Added: | |
Version History: | View |
Tool: | Asar |
Requires Free Space: | Yes |
Bug Fix: | No |
Featured: | Yes |
Description: | This is the Smallhacker's "Separate Luigi Graphics" patch. Luigi's graphics are changed to be different from Mario, just like in Super Mario All-Stars + World. Unlike version 2.1, this one relies on hijack $A1DA to change graphics every frame so you can change the player graphics without resetting the game. This patch also allows more than two player graphics, see the README for a tutorial on how to do this. Now updated for Asar, which will find freespace automatically for the patch AND the Mario & Luigi graphics. |
Tags: | graphics lorom luigi mario needs remoderation player |
Comments: | 40 (jump to comments) |
Download
25.12 KiB | 3,630 downloads
Comments (40)
Second, why can’t I use this with 32x32 player graphics?
Cause... the patches hate each other
Second, why can’t I use this with 32x32 player graphics?
Way to fix this?
File Type .smc
Emulator. SNES9X
I'm having the same problem as Pigeon Lord, except I have a 4MB Rom with SMB:TLL-styled Choose Player Patch installed, and I'm hearing sounds playing at the black screen.
File Type .smc
Emulator. SNES9X
Just starting but I believe you need to expand the ROM size in File > Expand ROM > Expand ROM to 4MB
AFAIK you should be patching with an unheadered ROM while using ASAR. That is to say remove the ROM's Header and try again.
@Sylvenight_alt_alt
I don't think so. The 32x32 is broken with 2 *patches. I'd expect the same for this one too.
*DKCR Status Bar
*Custom Mario Palette
Emulator : ZSNES.
Or am just using the wrong RAM address?
if read1($00FFD5) == $23
sa1rom
endif
; Mario and Luigi graphics are stored separately in the files
; "Mario.bin" and "Luigi.bin". The graphics in GFX32 are no longer used.
; Make sure "Mario.bin" or "Luigi.bin" are around 24 KB in size,
; the same size as GFX32.bin, to avoid taking up freespace.
; The hack must have been edited by Lunar Magic before applying this patch.
; If you haven't used Lunar Magic, open your ROM, extract GFX, insert GFX
; and save a level.
; MUST BE AN UNUSED RAM ADDRESS
; (Default address: "Unused" part of stack)
!currentGfx = $7E010F
; Replacement GFX files for Luigi
!gfx00Luigi = #$00 ; Extended tiles
!gfx22Luigi = #$22 ; Blushing graphics (Small)
!gfx24Luigi = #$24 ; Blushing graphics (Super)
org $00AA6B
autoclean JSL Gfx
org $049DD6
autoclean JSL SwitchPlayer
org $00B8A4
autoclean JSL Load1st
RTS
org $009AA4
autoclean JSL Title
org $00A99B
autoclean JSL Setup
org $00A1DA
autoclean JML Select
freecode
prot MarioGfx,LuigiGfx
Select:
JSR Change ;\ Don't change this, it will upload the graphics every frame.
JSR Upload ;/ Scroll Down to see the Change:
LDA $7426 ;\
BEQ Select2 ;| Restore Codes
JML $00A1DF ;|
;|
Select2: ;|
JML $00A1E4 ;/
SwitchPlayer:
STA $6DB3
TAX
JSR Change
JSR Upload
RTL
Setup:
LDA #$FF
STA !currentGfx
LDA #$03
STA $0F
RTL
Load1st:
SEP #$30
JSR Change
JSR Upload
RTL
Title:
JSR Change
JSR Upload
JML $04F675
Change:
LDA $6DB3 ;\
CMP #$00 ;| See this? You can change this to whatever you want.
BEQ Mario ;|
;|
LDA $6DB3 ;|
CMP #$01 ;|
BEQ Luigi ;/
RTS
Luigi:
LDA.b #LuigiGfx
STA $4302
LDA.b #LuigiGfx>>8
STA $4303
LDA.b #LuigiGfx>>16
STA $4304
LDA #$01
RTS
;BRA Upload
Mario:
LDA.b #MarioGfx
STA $4302
LDA.b #MarioGfx>>8
STA $4303
LDA.b #MarioGfx>>16
LDA.b #MarioGfx>>16
STA $4304
LDA #$00
RTS
Upload:
CMP !currentGfx
BEQ Return
STA !currentGfx
LDA #$00
STA $4305
LDA #$5D
STA $4306
LDA #$00
STA $2181
LDA #$20
STA $2182
LDA #$7E
STA $2183
LDA #$80
STA $4301
LDA #$00
STA $4300
LDA #$01
STA $420B
Return:
RTS
Gfx:
LDA !currentGfx
CMP #$01
BNE GfxGo
CPY #$00
BEQ Gfx00
CPY #$22
BEQ Gfx22
CPY #$24
BEQ Gfx24
GfxGo:
if read3($0FF160) == $FFFFFF
JML $00BA28
else
JML $0FF160
endif
Gfx00:
LDY !gfx00Luigi
BRA GfxGo
Gfx22:
LDY !gfx22Luigi
BRA GfxGo
Gfx24:
LDY !gfx24Luigi
BRA GfxGo
; Point these to the start of two empty banks
freecode align
MarioGfx:
incbin Mario.bin
freecode align
LuigiGfx:
incbin Luigi.bin
I like this patch but I need to make it compatible with SA-1
; Replacement GFX files for Luigi
!gfx00Luigi = #$00 ; Extended tiles
!gfx22Luigi = #$22 ; Blushing graphics (Small)
!gfx24Luigi = #$24 ; Blushing graphics (Super)
Luigi.bin only applies to GFX32.
Edit: Figured it out! You have to use ExGFX. For example, copy GFX00, change it to the Luigi version, rename it ExGFX80, insert it into the ROM, change "!gfx00Luigi = #$00" to "!gfx00Luigi = #$80" in the patch, then apply the patch.
Edit: I fixed this, make sure you are using the right type of rom.