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.
![](http://i.imgur.com/mb5symD.png)
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.
![](http://i.imgur.com/BhLH1Ts.png)
Mario flashes his classic peace sign. Let's-a-go!
![](http://i.imgur.com/LDG2bIe.png)
Here is where you can see the first substantial changes to the enemies and powerups.
![](http://i.imgur.com/8WGFP1Q.png)
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!
![](http://i.imgur.com/28PBIVl.png)
No longer do you have the ambiguity of "is that a skull or a peace sign?"
![](http://i.imgur.com/ITUgKkY.png)
Fire Mario throws fireballs like an expert.
![](http://i.imgur.com/9v0rEgE.png)
I think the Koopa Troopas look very Koopa-y today.
![](http://i.imgur.com/2LPDVIa.png)
It always bothered me that the Piranha Plant's mouth wasn't really connected to its "body". Something had to change about it, fast.
![](http://i.imgur.com/iSGYQR2.png)
What's a Koopa Troopa without a Red Koopa Troopa?
dun dun DUUUUUUN![](http://i.imgur.com/B6QzGfR.png)
Toad is as annoying as ever, but at least he doesn't look like he's giving the middle finger anymore!
![](http://i.imgur.com/AzXnn9c.png)
Under the sea...under the sea...darling, it's better down where it's wetter, take it from me...
![](http://i.imgur.com/hqcQkr3.png)
The cloud is NOT impressed.
![](http://i.imgur.com/TLdJ6MU.png)
I don't know what will kill you faster: a bullet to the head, or a hammer to the head.
![](http://i.imgur.com/gRSXA8I.png)
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 |
[/spoiler]
The .ips patch is attached. This is a work in progress, so tell me what you think!