Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - SMB: Changing Individual Enemy Palettes?
  
User name:
Password:
Reply:
 

UserPost
HyperLamer
Posts: 7726/8210
It's a fairly straightforward format, so it's probably used in a few other games, but it's all up to the programmers in the end. Some may define palettes for each tile of the sprite, store them in some other format, etc.
icegoom
Posts: 4/22
Ah, I needed to stick an "x" on the front of the offset. Everything makes sense now that I'm in the right place.

I guess I really should try to find FCEUXD and learn how to use that.

Out of curiosity, are sprites' palettes arranged in a similar way in other games, or is just SMB like this?
Dish
Posts: 596/596
Originally posted by Mattrizzle
You must put an x in front of the address in Translhextion for it to read it in hex. Otherwise, it reads it in decimal, removing any letters.


That's an awfully stupid "feature". Who the hell is going to input offsets in decimal?

I think Thingy did that too.. but it's been a while since I used any of those.
Mattrizzle
Posts: 67/75
You must put an x in front of the address in Translhextion for it to read it in hex. Otherwise, it reads it in decimal, removing any letters.
dan
Posts: 762/782
Not sure how Transhexlation works, but the offset is definitely at 686b. Try using FCEUXD's hex editor, although, I might just whip up a DRDHack module for this.

Edit - I created a DRDHack module for this, grab it here. The enemy names might be slightly incorrect or mixed up, I just took the listing from the listing in SMB Utility.
icegoom
Posts: 3/22
Bear with me, I'm very inexperienced with hex editing.

I went into Transhexlation and typed 686b without the dollar sign. (Because Transhexlation didn't think it was a valid offset with the dollar sign in front) It took me to the middle of a row, to 07 followed by E8. I really don't know what to do with that, so I just tried changing 07 to 08 to see if anything would happen. I played through several levels and didn't see any enemies that had changed color. So then I tried changing the next couple of lines to all 00's and seeing if that would change anything. It didn't seem to have any effect in-game.

So I guess I'm going to have to be stupid and n00bish and ask someone to tell me exactly which number I need to change to what in order to get results.
dan
Posts: 761/782
At $686b in the ROM, there is a table that contains the palette indexes that each enemy uses.
icegoom
Posts: 2/22
For each level type in Super Mario Bros, there are three palettes that enemies can have. Above ground, for example, Goombas, Buzzy Beetles, and Bullet Bills share one palette, while Green Koopas, Pirahna Plants, Hammer Bros, and Lakitu share another one.

I'm wondering if it's possible to change an enemy from one palette group to another one. Say I wanted to make Goombas red and share a palette with Red Koopas and Spinies. I know how to change the three palettes themselves, and I see where the data is for which tiles the enemies will be made from, but I can't find any data that seems to indicate which of the three palettes a specific sprite will use.

Can anyone who's done this before point me towards what I need to change?
Acmlm's Board - I2 Archive - Rom Hacking - SMB: Changing Individual Enemy Palettes?


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.004 seconds.