I had an idea to hack the graphics of Super Mario Bros to change the art style. So far, I'm almost done hacking the graphics for the sprites (and now, I even have some leftover tiles, in case I wanna add something somewhere).
These pictures will show my progress, with (almost!) every graphic I've changed.
I can't really figure out the title screen format (and it doesn't help that it's stored in CHR-ROM without much breathing room for adding things), so I did this basic edit.
Mario flashes his classic peace sign. Let's-a-go!
Here is where you can see the first substantial changes to the enemies and powerups.
I took the liberty of disabling the powerup-flashing code of the Fire Flower and Starman. That orange deserves to be displayed in its full glory!
No longer do you have the ambiguity of "is that a skull or a peace sign?"
Fire Mario throws fireballs like an expert.
I think the Koopa Troopas look very Koopa-y today.
It always bothered me that the Piranha Plant's mouth wasn't really connected to its "body". Something had to change about it, fast.
What's a Koopa Troopa without a Red Koopa Troopa?
dun dun DUUUUUUNToad is as annoying as ever, but at least he doesn't look like he's giving the middle finger anymore!
Under the sea...under the sea...darling, it's better down where it's wetter, take it from me...
The cloud is NOT impressed.
I don't know what will kill you faster: a bullet to the head, or a hammer to the head.
Buzzy Beetle is buzzy.
In addition to changing the graphics, here is a list of the changes I have made to the code.
- Implemented my "powerup-fix" (Mario form is based on collected powerup, not previous form)
- Made damage system more forgiving (only lose one powerup per hit, instead of always reverting to Small Mario)
- Disabled powerup flashing
- Altered player sprite that shows before levels
- Fixed lives display (two-digit numbers of lives display correctly), and capped lives at 99
Just for future reference for me, I'll put some addresses here that I have NOPed and made safe for any code/routines I might wanna code.
Spoiler
Address | Code before this | Code after this |
$0A71 - $0A7A | Remove axe | Destroy/write block metatile |
$12BA - $12BF | Switch players | Area parser task handler |
$63A2 - $63AB | BlockBufferChk_Enemy (?) | BlockBufferChk_FBall (?) |
$673B - $674D | CUSTOM: Draw "peace sign" Mario before level | DATA: Enemy graphics table |
$6F38 - $6F43 | Kick player's feet while swimming | Choose graphics for player's action |
$70F9 - $710B | Shrink player | Flip player tiles if dying |
The .ips patch is attached. This is a work in progress, so tell me what you think!