Players have been roasting poor Mario’s buns in lava pits since the days of Super Mario 64, and everyone can remember Mario’s cries of pain as he leaped out of the burning pools. Super Mario 64’s smoke effect, emanating from the plumber’s toasted hindquarters, always looked a bit silly — even for the Nintendo 64.
A new ROM hack for Super Mario 64 reveals a fix for what we now know was a visual bug. And modders fixed it in only a single line of code.
According to the patch’s description on Romhacking.net, the hack adds no new art. The much better looking smoke particle was inside the game all along, hidden beneath an incorrect line of code. According to hacker zoinknoise, they simply changed “G_IM_FMT_RGBA” to “G_IM_FMT_IA” on line 47 of the “/actors/burn_smoke/model.inc.c” file.
According to zoinknoise:
it’s now known that this texture is displayed in the wrong format by the game, resulting in black garbage pixels. Since video game smoke of this era was often depicted with black garbage pixels, the mistake went unnoticed for over two decades. This patch corrects the error by displaying the texture correctly as proper transparent smoke. It does not add any new art; the texture has been inside the ROM all along.
Haha, what the heck. Thanks to the Super Mario 64 code disassembly it’s been discovered that the smoke Mario emits when he’s touched fire has been bugged for 20 years. On the left: how it looks in the final game. On the right: after a one-line code fix. https://t.co/JenizzKeFh pic.twitter.com/Jb2Ryg2lwx
— Ryan Bloom (@BlazeHedgehog) April 6, 2020
The tweet above showcases the two different smoke effects. The left image shows how most players remember the smoke looking; black dots floating around Mario’s butt. The image on the right is apparently the intended effect, featuring fully formed smoke clouds.
We’re unsure if Nintendo will officially fix this bug before Super Mario 64 comes to the Nintendo Switch in the rumored 35th anniversary bundle.