(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-19-24 01:46 AM
0 users currently in ROM Hacking.
Acmlm's Board - I3 Archive - ROM Hacking - SMW - Seperate GFX for Luigi...
  
User name:
Password:
Reply:
 
Options: - -
Quik-Attach:
Preview for more options

Max size 1.00 MB, types: png, gif, jpg, txt, zip, rar, tar, gz, 7z, ace, mp3, ogg, mid, ips, bz2, lzh, psd

UserPost
HabsoluteFate
Posts: 23/45
Originally posted by Tweaker
Hmm... Thinking about the entire concept of the edit, it should be simple. Here's how I would do it...

First, I would track the routine that loads Mario's graphics into VRAM. Add a compare to the RAM byte that stores current character/game mode (1P or 2P, Mario or Luigi... etc). Then I would make a copy of that loading routine, and set up a branch table that chooses between the character art to load depending on character. Then I'd do the same at the routine that loads the seperate pallette for Luigi... Which should cover it all. I'd do the same for mappings if needed.

That's putting it vaguely though. I'd like to hear the methods of the rest of you who did it, in case I'm makig bad use of the engine. Truthfully, I've never touched a SMB ROM, but I figure since this is how I did it in my Sonic hack, it should work in a relatively similar way.


The way i intend to do it is pretty much what you describe there...which is the exact same way that i did the Custom Palette code i already created....I just gotta get around to it..the information SmallHacker was nice enough to provide me with should help speed things along as soon as I get a chance to work on it again
Tweaker
Posts: 43/131
Hmm... Thinking about the entire concept of the edit, it should be simple. Here's how I would do it...

First, I would track the routine that loads Mario's graphics into VRAM. Add a compare to the RAM byte that stores current character/game mode (1P or 2P, Mario or Luigi... etc). Then I would make a copy of that loading routine, and set up a branch table that chooses between the character art to load depending on character. Then I'd do the same at the routine that loads the seperate pallette for Luigi... Which should cover it all. I'd do the same for mappings if needed.

That's putting it vaguely though. I'd like to hear the methods of the rest of you who did it, in case I'm makig bad use of the engine. Truthfully, I've never touched a SMB ROM, but I figure since this is how I did it in my Sonic hack, it should work in a relatively similar way.
Smallhacker
Posts: 328/832
That's because you didn't apply my IPS patch to the ROM.
Zachio
Posts: 91/595
Originally posted by andres
Yes, itīs the same , look:
Data at $100070-$1001EF:

-data-

Thatīs the data, and when I go to the address $620C to $638B I find...
The same data !!!


Hmm... In mine, at $100070 for an entire screenfull there's just 0s. I looked at a 1MB and a 2MB one.
Smallhacker
Posts: 326/832
That's Luigi's tilemap. If you actually read my instructions you would know that in order to edit Luigi's tilemap, you have to edit Mario's tilemap with SMWPTE and then move the data manually with a Hex editor. (The "copy the file" thing is done to preserve Mario's tilemap.)
Deleted User
Posts: 215/-7750
Yes, itīs the same , look:
Data at $100070-$1001EF:
50 50 50 09 50 50 50 50 50 50 09 2B 50 2D 50 D5 2E C4 C4 C4 D6 B6 50 50 50 50 50 50 50 C5 D7 2A E0 50 D5 29 2C B6 D6 28 E0 E0 C5 C5 C5 C5 C5 C5 5C 5C 50 5A B6 50 28 28 C5 D7 28 70 C5 70 1C 93 C5 C5 0B 85 90 84 70 70 70 A0 70 70 70 70 70 70 A0 74 70 80 70 84 17 A4 A4 A4 B3 B0 70 70 70 70 70 70 70 E2 72 0F 61 70 63 82 C7 90 B3 D4 A5 C0 08 54 0C 0E 1B 51 49 4A 48 4B 4C 5D 5E 5F E3 90 5F 5F C5 70 70 70 A0 70 70 70 70 70 70 A0 74 70 80 70 84 17 A4 A4 A4 B3 B0 70 70 70 70 70 70 70 E2 72 0F 61 70 63 82 C7 90 B3 D4 A5 C0 08 64 0C 0E 1B 51 49 4A 48 4B 4C 5D 5E 5F E3 90 5F 5F C5 71 60 60 19 94 96 96 A2 97 97 18 3B B4 3D A7 E5 2F D3 C3 C3 F6 D0 B1 81 B2 86 B4 87 A6 D1 F7 3A F0 F4 F5 39 3C C6 E6 38 F1 F0 C5 C5 C5 C5 C5 C5 6C 4D 71 6A 6B 60 38 F1 5B 69 F1 F1 4E E1 1D A3 C5 C5 1A 95 10 07 02 01 00 02 14 13 12 30 27 26 30 03 15 04 31 07 E7 25 24 23 62 36 33 91 34 92 35 A1 32 F2 73 1F C0 C1 C2 83 D2 10 B7 E4 B5 61 0A 55 0D 75 77 1E 59 59 58 02 02 6D 6E 6F F3 68 6F 6F 06 02 01 00 02 14 13 12 30 27 26 30 03 15 04 31 07 E7 25 24 23 62 36 33 91 34 92 35 A1 32 F2 73 1F C0 C1 C2 83 D2 10 B7 E4 B5 61 0A 55 0D 75 77 1E 59 59 58 02 02 6D 6E 6F F3 68 6F 6F 06

Thatīs the data, and when I go to the address $620C to $638B I find...
The same data !!!
Zachio
Posts: 88/595
Originally posted by andres
Originally posted by Smallhacker
Open your hex editor and copy the data at $100070-$1001EF to $620C-$638B.
I think that the data at $100070 to $1001EF and $620C to $638B itīs the same.


Did you even look? it's not.
Smallhacker
Posts: 324/832
Originally posted by andres
Originally posted by Smallhacker
Open your hex editor and copy the data at $100070-$1001EF to $620C-$638B.
I think that the data at $100070 to $1001EF and $620C to $638B itīs the same.

What?
Deleted User
Posts: 212/-7750
Originally posted by Smallhacker
Open your hex editor and copy the data at $100070-$1001EF to $620C-$638B.
I think that the data at $100070 to $1001EF and $620C to $638B itīs the same.
Sukasa
Posts: 765/2068
SH, I can work on a bit of DMA for luigi... If someone can get me a GFX file and help me get it the locations of the GFX decompression routine, and the ExGFX pointer lists, I can get Luigi to have special GFX.
HabsoluteFate
Posts: 22/45
Originally posted by Smallhacker
I'm afraid that it's written in a sweet, but pretty unknown language called Blitz Basic. (The compiler costs money, by the way, but I got a free (but very outdated) version of it in a PC magazine.) However, if you want me to, I can give you the code and add explainations and such stuff.


If you could do that, it would be great...thank you!
Smallhacker
Posts: 320/832
I'm afraid that it's written in a sweet, but pretty unknown language called Blitz Basic. (The compiler costs money, by the way, but I got a free (but very outdated) version of it in a PC magazine.) However, if you want me to, I can give you the code and add explainations and such stuff.
HabsoluteFate
Posts: 21/45
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.


Hello Smallhacker,
Do you mind if I derive your code and add it to the SMW Dev Environment? Would it be possible to get the source code & perhaps your notes about it? I would give you as much credit as you want for it...i've been lazy working on the SMW Dev Environment but i think this is the exact kind of thing that could make me work on it again...
Techokami
Posts: 194/303
Originally posted by Hamtaro126
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

Use the Request ASM Hack thread, please
Hamtaro126
Posts: 20/45
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
asdf
Posts: 930/4077
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.
jp
Posts: 43/52
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
Techokami
Posts: 185/303
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
Pac
Posts: 142/804
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.
BMF54123
Posts: 188/876
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...
This is a long thread. Click here to view it.
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.003 seconds; used 374.98 kB (max 446.23 kB)