(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-06-24 12:29 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - SMW - Seperate GFX for Luigi... New poll | |
Pages: 1 2Add to favorites | Next newer thread | Next older thread
User Post
Pac

Bandit
Free Ice Man!








Since: 11-18-05
From: Ireland

Rate me

Last post: 6286 days
Last view: 6286 days
Posted on 02-16-06 08:13 AM Link | Quote
Obviously, this isn't the first time this has been brought up, but I feel it's about time somebody actually did something about it. A lot of people don't even use 2 Player (some even disable it in their hacks), but there are still a lot that do, and I am definitely not the only one who finds it annoying that Mario and Luigi use the same GFX.

I am not posting this in the ASM hack request thread because I am not requesting, I'm simply asking what's involved in making this ASM hack myself.

I know quite a bit of ASM by now, so before somebody calls me a n00b (and even gets it closed), know that I know what I'm talking about. And before anybody suggests that people use SMAS+W instead... just no.

So basically, I just want to brief run-down of what's involved in making an ASM hack like this.

PS: I'm also going to try to make different GFX files to load in SP1 because M and L use different expansion tiles (fingertips etc.) Would this be difficult? Would it involve bypassing the ExGFX and/or Super GFX Bypass?

Thanks in advance.
HabsoluteFate

Red Goomba


 





Since: 11-19-05

Last post: 6524 days
Last view: 6524 days
Posted on 02-16-06 08:39 AM Link | Quote
the SMW Dev Environment was going to split up the sprites eventually i just never got to it...although you can use it to split up the palettes with the current version...
from what i remember it was possible to split up the sprites and eventually thats what SDE was going to have functionality-wise along with everything else


(edited by HabsoluteFate on 02-16-06 07:40 AM)
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 02-16-06 11:26 AM Link | Quote
I tried a long time ago, but gave up when I noticed that MVP/MVN doesn't like copying $100 bytes and above (and I know nothing about how to use DMA).

I came up with another idea a few days ago, though, but it gives you less graphics space.

I belive it would be a lot easier to copy the Mario tilemaps and hax some ASM to make it load the new tilemap for player 2. However, this requires you to cram both Mario's and Luigi's graphics into GFX32.bin.

To save space, you could remove some frames, like lowering Big Mario's walking/running animation frames to 2, and such stuff. Also, you could keep the Mario bodies, but make the faces different to save a lot of space.
Raccoon Sam

Boomerang Brother
Custom Title








Since: 11-20-05
From: Correct

Last post: 6286 days
Last view: 6286 days
Posted on 02-16-06 11:36 AM Link | Quote
Well, there could be a somekind of a trick prehaps.
If the function "Omg, It's player 2. { Change Pallette". Would be replaced with "Omg, It's player 2. { Change graphics."
Or something *-,-*. I dunno about this stuff..


(edited by Raccoon Sam on 02-16-06 11:17 AM)
Pac

Bandit
Free Ice Man!








Since: 11-18-05
From: Ireland

Rate me

Last post: 6286 days
Last view: 6286 days
Posted on 02-16-06 11:49 AM Link | Quote
Raccoon Sam, just... stop posting. _¬
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 02-16-06 02:23 PM Link | Quote
Okay. My idea was a lot easier than I thought.

This patch gives Luigi his own tilemap. It's not fully tested, so backup your rom before applying the patch. Also, make sure that $100000-$1001FF in the rom is empty. If it isn't, you can't use this patch.

As you might have guessed, my tilemap editor doesn't support editing Luigi's tilemap.
To edit Luigi's tilemap, make a copy of the rom. Then open your hex editor and copy the data at $100070-$1001EF to $620C-$638B. Now, edit the tilemap in the editor. When you're done, copy the data at $620C-$638B to $100070-$1001EF. Then copy the data at $620C-$638B in the copy of the rom to the same location in the real hack.

Attachments

L_Tilemap.ips (494b) - views: 71
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6301 days
Last view: 6287 days
Posted on 02-16-06 03:23 PM Link | Quote
@SmallHacker: hi God
insectduel

Lantern Ghost
Not welcome here anymore.








Since: 11-18-05
From: Bronx, New York

Last post: 6529 days
Last view: 6324 days
Posted on 02-16-06 03:39 PM Link | Quote
My brother created his Luigi Patch long time ago but never requested to me yet. But he still never disable the 1P/2P Game menu yet. He also include Toad, and Peach Sprites as well.
Someguy

Tooky


 





Since: 11-17-05
From: West Virginia-USA

Last post: 6291 days
Last view: 6286 days
Posted on 02-16-06 03:45 PM Link | Quote
How come nobody's tried to trace the way Super Mario All Stars + World does it? Perhaps not many know that it loads an uncompressed set of graphics overtop Mario when player two is playing? Maybe it's just not as easy as I figure it would be... Awesome job with the tilemap thing though, SmartHacker.
Smallhacker

Super Koopa
I AM A Group Of Officially Frustrated Younglings, G.O.O.F.Y. MEMBER








Since: 11-17-05
From: Söderhamn, Sweden

Last post: 6288 days
Last view: 6286 days
Skype
Posted on 02-16-06 03:56 PM Link | Quote
Originally posted by Someguy
How come nobody's tried to trace the way Super Mario All Stars + World does it?

Hmm... Mental note: Find the differences between SMW and the SMAS+SMW version whenever I feel like it.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6301 days
Last view: 6287 days
Posted on 02-16-06 04:01 PM Link | Quote
I sat down with the SMAS+SMW ROM to find Luigi's GFX... it's odd. His GFX are loaded in the title screen (right below the title screen GFX you can find the Luigi sprites, UNCOMPRESSED to boot)

This might be a tricky thing to pull off, but who knows?

@SmallHacker: Differences...
1) Has 4 save slots
2) You can press Select at the map screen to quit
3) No internal save file manager (as in, it's done through the selection screen in SMAS' main menu)
4) Loads another GFX file for Luigi via a method I would LOVE to figure out

...as I was finishing up this post, an idea came to mind. Why not use an ExGFX slot to store the Luigi GFX file?


(edited by Techokami on 02-16-06 03:06 PM)
Yoronosuku

Toss Tortoise


 





Since: 11-17-05
From: Massachusetts is my new home..

Last post: 6286 days
Last view: 6286 days
Skype
Posted on 02-16-06 05:54 PM Link | Quote
Originally posted by insectduel
My brother created his Luigi Patch long time ago but never requested to me yet. But he still never disable the 1P/2P Game menu yet. He also include Toad, and Peach Sprites as well.

So your brother made a 4-player game? Or he just made it possible to select Toad and Peach? It dosn't matter, since I won't believe a word of it until I see proof. It just seems so unlikely...

Originally posted by Someguy
How come nobody's tried to trace the way Super Mario All Stars + World does it? Perhaps not many know that it loads an uncompressed set of graphics overtop Mario when player two is playing? Maybe it's just not as easy as I figure it would be... Awesome job with the tilemap thing though, SmartHacker.

I also was surprised that no one else looked into doing this! Especially since you seemed to have figured it out (you said it loads uncompressed graphics over Mario?)...I think since it is still SMW that you could, except for offset-related data of course, almost copy the exact code that does it in SMAS+W into SMW just about perfect? Or maybe I'm just aiming too high..


(edited by Yoronosuku on 02-16-06 04:55 PM)
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6301 days
Last view: 6287 days
Posted on 02-16-06 06:18 PM Link | Quote
Originally posted by Yoronosuku
Originally posted by insectduel
My brother created his Luigi Patch long time ago but never requested to me yet. But he still never disable the 1P/2P Game menu yet. He also include Toad, and Peach Sprites as well.

So your brother made a 4-player game? Or he just made it possible to select Toad and Peach? It dosn't matter, since I won't believe a word of it until I see proof. It just seems so unlikely...
QFT.

Originally posted by Yoronosuku
Originally posted by Someguy
How come nobody's tried to trace the way Super Mario All Stars + World does it? Perhaps not many know that it loads an uncompressed set of graphics overtop Mario when player two is playing? Maybe it's just not as easy as I figure it would be... Awesome job with the tilemap thing though, SmartHacker.

I also was surprised that no one else looked into doing this! Especially since you seemed to have figured it out (you said it loads uncompressed graphics over Mario?)...I think since it is still SMW that you could, except for offset-related data of course, almost copy the exact code that does it in SMAS+W into SMW just about perfect? Or maybe I'm just aiming too high..
IMHO, that seems to be a plausible way to do it. All we need is someone who knows how to do the greasework to get the code =/
Someguy

Tooky


 





Since: 11-17-05
From: West Virginia-USA

Last post: 6291 days
Last view: 6286 days
Posted on 02-16-06 07:45 PM Link | Quote
Most people say all SMAS+W really is is just SMW tacked onto the end of SMAS. They may have modded offsets or such but LM has full compatability with whatever changes there are so it can't be so big that porting code would be hard.

I myself figure it would be tacked on right after the Mario GFX loading routine, check the current player value, if it's Luigi, quickly replace the just loaded graphics with the uncompressed ones. No need to mess with the GFX sets or anything like that.
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6286 days
Last view: 6286 days
Posted on 02-17-06 06:46 AM Link | Quote
Heheh, funny, I was actually working on a way to switch Mario's tiles a couple of days ago. What are the odds?

Anyway, what I did was locate the code that copies Mario's decompressed tiles from RAM to VRAM each frame, and changed it to copy uncompressed tiles from ROM instead. This may even be the same method SMAS+SMW uses, as it doesn't require a lengthy DMA transfer. Of course, there's more to swapping player sprites than that (all I've done is change some addresses), but it's a start.

One HUGE benefit of having ROM-based player tiles is that it frees up nearly 24K of RAM between $7E2000-$7E7BFF...
Pac

Bandit
Free Ice Man!








Since: 11-18-05
From: Ireland

Rate me

Last post: 6286 days
Last view: 6286 days
Posted on 02-17-06 07:32 AM Link | Quote
Ont thing that SMAS+W doesn't do is load different player expansion tiles (fingertips). SMB3 does, and I'm using SMB3 player sprites.

So yeah, just wanted to throw that in there.
Techokami

Porcupo








Since: 12-03-05
From: Mass-uh-chew-sits USofA

Last post: 6301 days
Last view: 6287 days
Posted on 02-17-06 08:17 AM Link | Quote
Originally posted by peter_ac
Ont thing that SMAS+W doesn't do is load different player expansion tiles (fingertips). SMB3 does, and I'm using SMB3 player sprites.

So yeah, just wanted to throw that in there.

One thing that can be done is to work around this and edit the SMB3 sprites
Another would be to also load a different GFX00 when as Luigi
jp

Red Paragoomba


 





Since: 12-19-05
From: Uruguay

Last post: 6633 days
Last view: 6633 days
Posted on 02-18-06 09:42 PM Link | Quote
I accomplished that early in January
I used a DMA transfer of a tile set saved in the ROM. I extracted the tile set from a ZST.

I'm not working on my hack anymore, so I'm releasing all my notes.

In this thread there is more info, I included the code used in a block to activate it

http://board.acmlm.org/thread.php?id=2847
asdf

Link's Awakening
‭‮‭‮ಠ_ಠ








Since: 11-18-05

Last post: 6287 days
Last view: 6286 days
Posted on 02-18-06 09:55 PM Link | Quote
Originally posted by Smallhacker
Okay. My idea was a lot easier than I thought.

This patch gives Luigi his own tilemap. It's not fully tested, so backup your rom before applying the patch. Also, make sure that $100000-$1001FF in the rom is empty. If it isn't, you can't use this patch.

As you might have guessed, my tilemap editor doesn't support editing Luigi's tilemap.
To edit Luigi's tilemap, make a copy of the rom. Then open your hex editor and copy the data at $100070-$1001EF to $620C-$638B. Now, edit the tilemap in the editor. When you're done, copy the data at $620C-$638B to $100070-$1001EF. Then copy the data at $620C-$638B in the copy of the rom to the same location in the real hack.


Holy crap, dude. Holy crap. Good job on that, hopefully we can get all the bugs worked out.

I also don't believe that 4-player game crap.
Hamtaro126

Red Goomba
stupid as as OSHT BAN


 





Since: 11-20-05
From: Hacktown, Usa

Last post: 6547 days
Last view: 6286 days
Posted on 02-18-06 10:22 PM Link | Quote
GREAT WORK JP!!! But a couple of things:

1: Can Anyone give me a hack for changing the
NINTENDO PRESENTS logo to a intro/part of a title screen
like one of ice man's hacks (SMW returns i think)? (Optional, as i might rip it later!)

2: Anyone can help make a ASM/TSA hack where
I can use a gun instead of your hand?

3: Make a Hack where a throw block can not change color,
(And the color must be both yellow and blue,
and make it seprate hacks, please!)

Now i cant find the Throw block colors and routine,
as I can find other sprites easily

-hamtaro126
Pages: 1 2Add to favorites | Next newer thread | Next older thread
Acmlm's Board - I3 Archive - ROM Hacking - SMW - Seperate GFX for Luigi... |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.219 seconds; used 453.99 kB (max 588.53 kB)