Language…
7 users online: 35TCB77, elfantastico, fanfan21, HammerBrother, Katerpie, Pyro X, theultimategamer_100 - Guests: 73 - Bots: 66
Users: 68,396 (2,262 active)
Latest user: Fenris_VII

Separate Luigi Graphics v3

SMW Patches → Separate Luigi Graphics v3

Submission Details

Name: Separate Luigi Graphics v3
Authors: Bensalot, DiscoTheBat, Smallhacker
Added:
Version History: View
Tool: Asar
Requires Free Space: Yes
Bug Fix: No
Featured: No
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.

Added SA-1 support and fixed an issue where the separate graphics would not change after a game over or if you are starting the game as Luigi.
Tags: graphics lorom luigi mario player sa-1
Comments: 69 (jump to comments)
Download 27.96 KiB | 2,158 downloads

Screenshots

View all

Comments (69)

Rapha2k Link
I'm new to creation and I wanted more than 1 character in my kaizo, could you teach me a tutorial for changing characters?
Shorai Link
Can someone explain what has happened? I tried installing the patch as instructed in the readme (I think) and I get this message.

luigi.asm:24: warning: (Wfeature_deprecated): DEPRECATION NOTIFICATION: Feature "header" is deprecated and will be REMOVED in the future. Please update your code to conform to newer styles. Suggested work around: Remove command, unnecessary... [header] One or more warnings were detected while assembling the patch. Do you want insert the patch anyway? (Default: yes)

When trying to play the rom, it freezes at the Nintendo logo.

Green Jerry Link
The warning itself stays what you should do:
Originally posted by Warning
Suggested work around: Remove command, unnecessary...

Just open the ASM file in Notepad and remove the "header" command.
Joaololpvp Link
I don't quite understand the reason, but when I apply the patch, Luigi player 2 is not changed, he continues as Mario, there is one, but I use the powerup patch, it is not compatible with him and That's why he doesn't separate the Mario and Luigi models?
Flipipu Link
Originally posted by h.carrell
Yes it is


How would I do that?
Flipipu Link
Is it possible to extract the GFX files from a rom that already uses this patch? I have a hack I made a while back and I've since lost the character sheet with all the sprites I created, so I'm wondering if it's possible to extract them both directly from the rom itself so that way I can actually preserve them. I tried extracting in Lunar Magic but no dice, all it did was give me a weird jumbled version of GFX32, where it had some of the sprites I made alongside Mario's default sprites
h.carrell Link
Yes it is
ZachJamesGames Link
Originally posted by smwln
Originally posted by Garatchten
Just want to inform you guys that when Princess Toadstool kisses Luigi, he blushes but it's the blush graphic for Mario. Located in GFX24.bin, this blush graphic is still used for both bros. Luigi needs his own for it to not looked scuffed.

You can insert separate Luigi blushing sprites by editing the "Replacement GFX files for Luigi" section in Luigi.asm.


Garatchten, to help clarify smwln's comment, in order to change Luigi's extended tiles (GFX00.bin), Small Luigi's blushing tiles (GFX22.bin), or Super Luigi's blushing tiles (GFX24.bin) you need to look at this section right at the top of luigi.asm:

Code
; Replacement GFX files for Luigi
!gfx00Luigi = #$00 ; Extended tiles
!gfx22Luigi = #$22 ; Blushing graphics (Small)
!gfx24Luigi = #$24 ; Blushing graphics (Super)


Notice those
Code
#$XX
values after !gfx00Luigi, !gfx22Luigi, and !gfx24Luigi? They're not only the same number as the variable, but they match the GFX##.bin file that is being loaded for Luigi to use. Changing
Code
#$XX
to something like
Code
#$0B
or
Code
#$99
would mean that GFX0B.bin or ExGFX99.bin would be used instead!

So what's happening by default without editing any code in this patch is that Vanilla SMW Mario's blush tiles are being drawn overtop of whatever graphics you're using for Luigi, resulting in the "scuffed" graphics.

If you'd like to use different graphics for Luigi's GFX00, GFX22, or GFX24 you need to change the
Code
#$XX
values to match the graphics number you want to use. Most folks will probably accomplish this by using ExGFX slots (but you could also use GFX00-31 if you wanted)! So, if you'd like to make custom blushing graphics for Luigi:

1) Make copies of GFX22.bin and GFX24.bin
2) Rename those copied .bin files to something like "ExGFX80.bin" and "ExGFX81.bin" respectively
3) Open your newly named files and alter Vanilla SMW Mario's blushing tiles to look how you want for Luigi
4) Make sure you insert your new ExGFX files into your ROM via Lunar Magic
5) Inside luigi.asm edit the "; Replacement GFX files for Luigi" lines to something like this:

Code
; Replacement GFX files for Luigi
!gfx00Luigi = #$00 ; Extended tiles
!gfx22Luigi = #$80 ; Blushing graphics (Small)
!gfx24Luigi = #$81 ; Blushing graphics (Super)


6) Apply the patch with Asar and you should now have Luigi using tiles for his blush that work for you! You can do the same thing for Luigi's GFX00.bin slot.

One problem I am running into tho is that if you are playing as Luigi in a level that uses Super GFX Bypass, the default 00, 22, and 24 GFX.bin files will be used instead of the ones you change in luigi.asm. So if you want your Luigi extended, small blush, or super blush graphics to look right for P2 you apparently have to have them in a level that does not use Super GFX Bypass (unless there's a way to fix that, any help there would be incredibly welcome!)

I hope this helps folks. I was having trouble with this for a few days and finally figured it out! (except for the Super GFX Bypass problem)
Garatchten Link
I’ll try that, thanks for the help.
smwln Link
Originally posted by Garatchten
Just want to inform you guys that when Princess Toadstool kisses Luigi, he blushes but it's the blush graphic for Mario. Located in GFX24.bin, this blush graphic is still used for both bros. Luigi needs his own for it to not looked scuffed.

You can insert separate Luigi blushing sprites by editing the "Replacement GFX files for Luigi" section in Luigi.asm.
Garatchten Link
Just want to inform you guys that when Princess Toadstool kisses Luigi, he blushes but it's the blush graphic for Mario. Located in GFX24.bin, this blush graphic is still used for both bros. Luigi needs his own for it to not looked scuffed.
gabriel09213535 Link
Originally posted by gabriel09213535
somehow, after I made the patch, when I run the rom on snes9x, after the nintendo intro, there is a noise of yoshi spitting, and then... error.
does anyone know how to fix or avoid.
they've always worked before, why this just now man?


It's fine now, someway i did.
gabriel09213535 Link
somehow, after I made the patch, when I run the rom on snes9x, after the nintendo intro, there is a noise of yoshi spitting, and then... error.
does anyone know how to fix or avoid.
they've always worked before, why this just now man?
Flipipu Link
Is there a way to change GFX00 and all those other ones for Luigi as well? I'm not good with asm coding and stuff so idk how to do it if there is a way to
steven3004 Link
Say, if I add a third player graphic with this, will the player use either Mario or Luigi's palette or will another existing one in-game? Can we even make new palettes for this third player?
KaidenThelens Link
'Replacement GFX files for Luigi' option doesn't work when GFX bypass is on. #smw{x_x}
HackBro Link
Thank you8>
MomentBruh Link
When I apply this patch to my ROM layer 3 messages won't show, getting me softlocked on the intro screen and unable to read messages in message boxes
Black Goku Link
Originally posted by Thiago678
Is it compatible with Mario DMA-er?
Yes, but the 8x8 tiles will still shared on both players.
Thiago678 Link
Is it compatible with Mario DMA-er?
Black Goku Link
It is compatible with 32x32 Player Tilemap 1.5??
Green Koopa Link
Fantastic. I'm just getting into this and was wondering why Luigi sneezes when he shot a fireball. Now I know 🐢
 Maarfy Link
Thanks for the update! Per the base this update builds on it's not the most efficient patch under the sun, but it still works well enough, and the update only offers improvements. I went ahead and made a minor change to make the patch amenable to SA-1 1.35+, and commented out a useless duplicate instruction. (I also changed the title in the patch to "v3".)

Note that the readme includes instructions to add a third set of additional player graphics and beyond, which for the most part works as expected. What the patch is not set up for, is installing additional sets of extended tiles to go with these new graphics. You have GFX00, 22, and 24 to use for Mario, and three corresponding replacement files to share between all characters who are not Mario. Also note that this update does not change the readme from v2.2.

Tested with Asar 1.71, Lunar Magic 3.21, SA-1 1.32, SA-1 1.40, Snes9x 1.59.2, BSNES 0.6.9.
Apple Boy Link
Super excited for when this can be done with OW Mario and Luigi!
Nara Sherko Link
I used it from my SMW hack
Blizzard Buffalo Link
So... this is the patch that JUMP 1/2 uses... right?

...Or is just similar in mechanics, just working very differently from other coding?
Bensalot Author Link
If you like this, I submitted an Uberasm that allows you to switch characters on the overworld map. Its waiting for approval. It fixes a lot of the issues some of the other blocks and patches for that purpose have.
Moltz Link
Oh damn this one's a huge improvement compared to the old one.
AyGaAlPa Link
A dream come true.... Thanks you #wario{<3}
Diba9Br From older version: Separate Luigi Graphics v2.2 Link
wut? now it worked
Diba9Br From older version: Separate Luigi Graphics v2.2 Link
Originally posted by Josuke Yoshikage
Originally posted by PixHackSMW
When Luigi appears in the overworld I can't move him, I swear, I tried pressing all the directional keys, but he won't move
Yeah it happened to me too. Why isn't anyone updating this?
it's also happening to me
Diba9Br From older version: Separate Luigi Graphics v2.2 Link
Originally posted by Diba9Br
I CAN'T MOVE ON OVERWORLD! #smw{>:|}
lucky i made a backup
Diba9Br From older version: Separate Luigi Graphics v2.2 Link
I CAN'T MOVE ON OVERWORLD! #smw{>:|}
Flaming Hot Toons From older version: Separate Luigi Graphics v2.2 Link
Someone Needs To Remake This #w{:<}
Koop the Koopa From older version: Separate Luigi Graphics v2.2 Link
Originally posted by Josuke Yoshikage
Yeah it happened to me too. Why isn't anyone updating this?
This is an old patch
Josuke Yoshikage From older version: Separate Luigi Graphics v2.2 Link
Originally posted by PixHackSMW
When Luigi appears in the overworld I can't move him, I swear, I tried pressing all the directional keys, but he won't move
Yeah it happened to me too. Why isn't anyone updating this?
PixHackSMW From older version: Separate Luigi Graphics v2.2 Link
When Luigi appears in the overworld I can't move him, I swear, I tried pressing all the directional keys, but he won't move
JuanGamerSTC7 Br From older version: Separate Luigi Graphics v2.2 Link
PLEASE!! MAKE A VERSION COMPATIBLE WITH SA-1 !!!!!!
Picayune From older version: Separate Luigi Graphics v2.2 Link
rip sa-1 and 32x32 I may make a patch that supports these one day
Koop the Koopa From older version: Separate Luigi Graphics v2.2 Link
Originally posted by LOLRyan2006 Mario Fan
First, where is SA-1 support?

Second, why can’t I use this with 32x32 player graphics?

Cause... the patches hate each other
LOLRyan2006 the Goombud From older version: Separate Luigi Graphics v2.2 Link
First, where is SA-1 support?

Second, why can’t I use this with 32x32 player graphics?
Koop the Koopa From older version: Separate Luigi Graphics v2.2 Link
It crashes my rom when the nintendo presents logo appears.
Way to fix this?
JumperTD From older version: Separate Luigi Graphics v2.2 Link
Originally posted by Pigeon Lord
When I Added It To My Romhack I Got Stuck On The Nintendo Presents Screen. I Copied And Pasted But Nothing Worked.
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.
Pigeon Lord From older version: Separate Luigi Graphics v2.2 Link
When I Added It To My Romhack I Got Stuck On The Nintendo Presents Screen. I Copied And Pasted But Nothing Worked.
File Type .smc
Emulator. SNES9X
TheRollingTwig From older version: Separate Luigi Graphics v2.2 Link
Originally posted by VoxelRoguery
I followed the instructions, but even though I used a fresh rom, I have no freespace? What?


Just starting but I believe you need to expand the ROM size in File > Expand ROM > Expand ROM to 4MB
BoxedApplePie From older version: Separate Luigi Graphics v2.2 Link
I followed the instructions, but even though I used a fresh rom, I have no freespace? What?
oderjunks From older version: Separate Luigi Graphics v2.2 Link
Benjo0006 From older version: Separate Luigi Graphics v2.2 Link
when i made the patch and i opened it up the first text does not show up and it softlocks me..
Zerukin From older version: Separate Luigi Graphics v2.2 Link
I unheadered my rom, but I get what sonic 10179 is getting when I do. With the header, it seems to work, but the moment I try to boot the rom to test it, it has a blank screen.
Majunia From older version: Separate Luigi Graphics v2.2 Link
Why this patch hasn't be actualized?
Brozilla From older version: Separate Luigi Graphics v2.2 Link
@sonic10179
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
sonic10179 From older version: Separate Luigi Graphics v2.2 Link
I keep getting : Warning: The ROM title appears to be "", which looks like garbage. Is this your ROM title? (Note that inproperly answering "yes" will crash your ROM.) My ROM is called Super Mario World (USA).sfc.
Emulator : ZSNES.
Sylvenight_alt_alt From older version: Separate Luigi Graphics v2.2 Link
How do I make this work for 32x32 graphics, or is it already possible?
Sylvenight_alt From older version: Separate Luigi Graphics v2.2 Link
I'm not using a SA-1 ROM, and i'm new to ROM hacks so I don't know if I used the wrong RAM address or not.
buggy789 From older version: Separate Luigi Graphics v2.2 Link
Are you sure the SA-1 version works?
Or am just using the wrong RAM address?
Sylvenight_alt From older version: Separate Luigi Graphics v2.2 Link
Whenever I apply the patch, if I do a standard jump with Mario (not a running jump) the bottom half of his graphic for jumping doesn't appear. Emulator: Snes9x
juaneergameer From older version: Separate Luigi Graphics v2.2 Link
i am actually using this... and works perfectly! i edited your graphics and make them mario and luigi from smb3 (well only mario i used some graphics fron smb1)but that last doesn't care 13/10
Bensalot Author From older version: Separate Luigi Graphics v2.2 Link
I managed to convert this to SA1. Enjoy!

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

IHMPRKB123 From older version: Separate Luigi Graphics v2.2 Link
Me gusta este parche pero necesito que lo hagan compatible con SA-1
I like this patch but I need to make it compatible with SA-1
benjausen From older version: Separate Luigi Graphics v2.2 Link
Can you make a SA-1 version please?
smwln From older version: Separate Luigi Graphics v2.2 Link
How do you use this part of the patch?

; 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.
LuigiXHero From older version: Separate Luigi Graphics v2.2 Link
I tried to patch this but ASAR just hang, I let it run for an hour and nothing... What am I doing wrong?

Edit: I fixed this, make sure you are using the right type of rom.
H.carrell on an ipad From older version: Separate Luigi Graphics v2.2 Link
And try dragging the patch in then your rom and boom all done
H.carrell on an ipad From older version: Separate Luigi Graphics v2.2 Link
caiquinus17 use asar
AlexTheTT From older version: Separate Luigi Graphics v2.2 Link
So, question... I changed where things are pointed to on the char. tile map in my rom. How do I do this again for luigi's sprite?
Rosicom From older version: Separate Luigi Graphics v2.2 Link
I just get a purple-ish screen and some random noises...
PablosCorner From older version: Separate Luigi Graphics v2.2 Link
VV What doesn't work about it? VV
SuperCalebWorld9367 From older version: Separate Luigi Graphics v2.2 Link
WON'T WORK
caiquinus17 From older version: Separate Luigi Graphics v2.2 Link
please!What programs I use ?and How do I enter Luigi ?I've tried xkas and asar and I can not!!!