| Sprite Tilemap Remaping |
|
Forum Index - SMW Hacking - General SMW Hacking Help - Sprite Tilemap Remaping |
|
Pages: 1  |
|
|
|
| Posted on 2012-04-06 12:51:41 AM |
Link | Quote |
|
*not sure if this belongs in this section*
I want to re-organize the sprite graphics but can't seem to find a tool or anything to do it. Is there an easy way to do it? How do I do it, regardless of it being easy or not?
Thanks!
Blueyosh~
|
|
| Posted on 2012-04-06 01:02:34 AM |
Link | Quote |
|
It can be done. It isn't difficult per se, but it does require a bit of knowledge.
To remap a sprite, you need to do some hex editing. Download a hex editor (Translhextion in the tools section is my reccomendation). Open the SMW Rom in your hex editor. You'll need to go to the part that controls the sprite's tilemap. You can look up the offset in the ROM Map. Now... if you're using Translhextion, hold ctrl and press g. type x and then the address of the tile (first column of the ROM Map). You can change the tile value and that will remap the sprite to whatever you enter.
|
|
| Posted on 2012-04-06 01:12:35 AM |
Link | Quote |
|
|
Well, I have enough Hex knowledge to do that, but how does it work for the address? For, say, the Message Block sprite, would it say C0 and if I wanted to change it to the Yoshi Mini Game coin I would change it to C2?
|
| Last edited on 2012-04-06 02:48:40 PM by blueyosh. |
|
| Posted on 2012-04-06 01:18:59 AM |
Link | Quote |
|
|
Yep. Note that for animated sptires you may have to change more than one address (assuming you want to remap both)
|
| Last edited on 2012-04-06 01:20:27 AM by NamelessProtagonist. |
|
| Posted on 2012-04-06 01:24:28 AM |
Link | Quote |
|
|
Alright. For animated sprites I'd asume it would just be a list of the images? Like Goomba would be A8AA? Just want to be sure I get this.
|
|
| Posted on 2012-04-06 01:55:55 AM |
Link | Quote |
|
|
Something like that yes. Just make sure you have a backup before doing any hex editing. It often takes a bit of trial and error.
|
|
| Posted on 2012-04-06 01:57:04 AM |
Link | Quote |
|
Alright thanks for the help!
Blueyosh~
|
|
| Posted on 2012-04-06 02:02:40 AM |
Link | Quote |
|
|
Also just as a note If you know how to do it I find it easier that once you get a sprite tiled the way you want add it to a patch that way if for whatever reason you have to move your hack to a new rom you can just apply the patch and not have to manually do the hex editing each time.
|
|
| Posted on 2012-04-06 10:07:22 AM |
Link | Quote |
|
Yep, that's a good suggestion as well. The code for doing it in a patch is
org $ROM-ADDRESS
db $VALUE-YOU-WANT-IT-CHANGED-TO
Though you have to use the SNES address (second column) instead of the PC one for a patch.
Also, you have to delete the colon from the address. So for example, if you wanted to change the Goomba tilemap...
09DA8 is the PC address you would search for this in a hex editor.
$01:9BA8 is the SNES address.
org $019BA8 is what you would type in a patch to do that hex edit with a patch.
You can also do multiple changes with a single line of code starting from the same point by separating them with a comma...
db $VALUE1,$VALUE2,$VALUE3,$ETC
|
|
| Posted on 2012-04-07 01:07:59 PM |
Link | Quote |
|
Hey, I have a similar question.
I'm trying to remap the Note Block's bounce sprite to SP1; how will I do this?
|
|
| Posted on 2012-04-07 01:39:35 PM |
Link | Quote |
|
By changing the T bit of its YXPPCCCT properties to 0 (or in other words, subtract 1 from the original value).
Originally posted by the ROM map10952 | $02:8752 | 299 bytes
A subroutine for spawning bounce sprites from blocks. It continues into the routine at $02887D.
[...]
At 0x10989/$028789:
Block bounce sprite YXPPCCCT table.
#$01 - Turn Block with item / ! Block
#$02 - Note Block
|
|
| Posted on 2012-04-07 11:33:12 PM |
Link | Quote |
|
Originally posted by yoshicookiezeusBy changing the T bit of its YXPPCCCT properties to 0 (or in other words, subtract 1 from the original value).
Originally posted by the ROM map10952 | $02:8752 | 299 bytes
A subroutine for spawning bounce sprites from blocks. It continues into the routine at $02887D.
[...]
At 0x10989/$028789:
Block bounce sprite YXPPCCCT table.
#$01 - Turn Block with item / ! Block
#$02 - Note Block
Thanks!
Although...I don't really know how to do this...any help?
EDIT:
Wait...so:
00000010 will be the binary thingy? How do I apply this in a hex edit patch?
EDITEDIT:
Okay I don't what the heck I was doing - I was only guessing, but I did this:
Codeorg $028752
LDA #$02
db 00000010
org $0291F1
db $88
And for some reason the Note Block turn into a instant break block. It was cool and unexpected, but I thought of posting it here to know just what I did for this to happen.
|
| Last edited on 2012-04-08 12:13:35 AM by Punk Sarcophagus. |
|
| Posted on 2012-04-08 02:05:51 AM |
Link | Quote |
|
Originally posted by Giant Shy Guydb 00000010
That's decimal mode. Binary is %.
db %00000010
|
|
| Posted on 2012-04-08 02:44:50 AM |
Link | Quote |
|
Originally posted by AlcaroOriginally posted by Giant Shy Guydb 00000010
That's decimal mode. Binary is %.
db %00000010
Okay, so I got it to act like a note block again. But it still doesn't remap to the first graphics page :|
|
|
| Posted on 2012-04-08 04:04:21 AM |
Link | Quote |
|
Codeorg $028752
LDA #$02
db 00000010
No, the value you're supposed to be editing is the second one in the table at $028789. What you're doing right now is changing the start of the bounce block sprite generation subroutine, and in a rather nonsensical way at that. This is what it should look like:
|
|
|
Pages: 1  |
|
|
|
|
Forum Index - SMW Hacking - General SMW Hacking Help - Sprite Tilemap Remaping |