You can help CodeWalrus stay online by donating here. | New CodeWalrus | Old (dark mode) | Old (light) | Discord server

Graphics-hacking Super Mario Bros.

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

0
b/Consoles publicado por u/JWinslow23 July 03, 2017, 04:32:57 AM
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 DUUUUUUN

Toad 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


AddressCode before thisCode after this
$0A71 - $0A7ARemove axeDestroy/write block metatile
$12BA - $12BFSwitch playersArea parser task handler
$63A2 - $63ABBlockBufferChk_Enemy (?)BlockBufferChk_FBall (?)
$673B - $674DCUSTOM: Draw "peace sign" Mario before levelDATA: Enemy graphics table
$6F38 - $6F43Kick player's feet while swimmingChoose graphics for player's action
$70F9 - $710BShrink playerFlip player tiles if dying

The .ips patch is attached. This is a work in progress, so tell me what you think!
Last Edit: February 20, 2018, 11:24:08 AM by JWinslow23
Inicia sesión o crea una cuenta para dejar un comentario
u/123outerme July 03, 2017, 04:54:05 AM
This is really awesome! The graphics look really great, and you even took the liberty to make a few gameplay improvements. I like how you decided to add your name to the title screen, but legally, I don't believe you own a copyright on Super Mario Bros. :P
u/JWinslow23 July 03, 2017, 07:50:36 AM
Quote from: 123outerme on July 03, 2017, 04:54:05 AM
This is really awesome! The graphics look really great, and you even took the liberty to make a few gameplay improvements. I like how you decided to add your name to the title screen, but legally, I don't believe you own a copyright on Super Mario Bros. :P
Well, this one tool I have that's supposed to edit the title screen isn't working for me, so that's the best I could do. I wanted to make it say "Super Old Mario Bros", or at least add "GFX by Josiah" on it, but apparently there's not enough space for both.
u/gameblabla July 04, 2017, 12:38:46 AM
Hey, it doesn't look too bad !
II gave it a try in Mednafen and it works just fine.
I like the new fireballs and the fact the enemies changes colors in level 2.
One gameplay improvement you could do : When fireball mario gets hit, make it so he becomes giant mario rather than small c mario.

Also, another issue : it does not fit in 32ko :'(
u/JWinslow23 July 04, 2017, 07:18:38 AM
I posted a new patch. It adds an image of Mario flashing his trademark peace sign before the level:

This was not as easy as changing a few bytes: because the space for defining player poses is full, I had to write my own routine specifically for drawing the peace sign pose. I hope it was worth finding 24 unused bytes I could define this new code with!

It also adds your requested damage fix. For reference, TITLPZ+VGLIVO are the Game Genie codes I'm using to fix the damage mechanism. This can also be used in stock SMB1, so try it yourself!
Last Edit: July 04, 2017, 08:00:21 AM by JWinslow23
u/tr1p1ea July 04, 2017, 11:59:34 AM
Looking awesome man!
u/Dream of Omnimaga July 05, 2017, 04:15:41 PM
Those graphical changes and other edits look great Jwin! :)
u/JWinslow23 July 09, 2017, 11:19:22 AM
Bump.

I made another long-awaited change (at least, I've been wanting it for a long time).



Whenever I performed the infinite-lives glitch in World 3-1, it was always weird to me how the lives would glitch out with a crown and a random character. Upon looking at the code, it seems at least the crown was intended if you got over 9 lives (but I guess it fails upon having over 19 lives). So I simply took the lives-displaying code and made it display two-digit lives properly. As well, I capped the amount of lives at 99.

Download the new patch in the first post!
u/JWinslow23 February 20, 2018, 11:00:28 AM
Necro-bump.

Since I've last updated here, I have made many more graphics changes (not all of them that I was wanting to, though). However, the biggest new thing I've added is this:




Now, both before each level AND when going in pipes, Mario flashes his trademark peace sign! You have no idea how much ASM hacking I had to do to get it to this state :P

Download link in the first post!
u/Lionel Debroux February 20, 2018, 11:17:07 AM
Amusing :)

Do you plan on making a special version of Oiram CE, which could feature a subset of your sprite mods, the peace sign or things like that ?
u/JWinslow23 February 20, 2018, 05:57:36 PM
Ask @MateoConLechuga for that. ;)
u/Adriweb February 21, 2018, 10:06:22 AM
Well it's doable already, no need to ask Mateo, anyone can :D
Start a Discussion

b/Consoles

Game console programming, homebrew development and hacking.

40
Topics
Explore Board
Website statistics


MyCalcs | Ticalc.org | Cemetech | Omnimaga | TI-Basic Developer | MaxCoderz | TI-Story | Casiocalc.org | Casiopeia | The Museum of HP Calculators | HPCalc.org | CnCalc.org | Music 2000 Community | TI Education | Casio Education | HP Calcs | NumWorks | SwissMicros | Sharp Calculators
Powered by EzPortal