Super Mario Sunshine/Unused Code
This is a sub-page of Super Mario Sunshine.
Contents
Unused Multiplayer Functionality
It would appear that at some point there was a multiplayer mode planned, as a function called SMS_isMultiplayerMap exists within the code. When the scene ID is changed to what the function is looking for (0x0C00), the area's camera will function using an unused multiplayer behavior. This camera behavior can be activated in the European version with the following Action Replay code: 042A8B34 38600001.
Another class called TCameraMultiPlayer was also implemented at one point, but was removed, and instead the multiplayer camera functionality was coded into the CPolarSubCamera class. This class has functions called ctrlMultiPlayerCamera, addMultiPlayer, removeMultiPlayer, and createMultiPlayer. Another class named MultiPlayerData is stored in the CPolarSubCamera class, which holds a few floats relating to the camera.
If Shadow Mario is present, the camera will zoom out to show both him and Mario at the same time. The camera is very buggy and will sometimes go right through the level geometry. Moving the C-Stick only makes very subtle camera movements, but not enough to rotate it. If Shadow Mario is despawned, the camera will fixate on Mario and remain there.
If Shadow Mario is defeated in a scene with this ID applied, he won't disappear or trigger an event like he normally does. Instead, he will run to his nearest node point and stay there without reacting to Mario's presence.
Pickup Function
Additionally, there is an unused multiplayer feature that allows Mario to pick up Shadow Mario and vice versa. For it to be enabled, collision must be applied to the EnemyMario and EMario actors.
Unused Goop Function
To do: Add code for Japanese version. |
Previously seen in promotional footage, Mario's entire model could be covered in goop, excluding his eyes. This can be activated with the following Action Replay codes:
USA | Europe |
---|---|
EVJB-BH5N-WKDX7 9AUG-4A1G-YCF23 NJ82-ADD7-XT0QN HC1H-XBAH-HJUD0 QZV3-B2GD-8RZE0 RZKD-E472-ZNMC8 PFV0-U7DG-K6HU4 M80D-0RVE-DP4BG |
9VQ4-YJDZ-1AYJ0 VY33-ZCX4-MY80T V1U2-4H5A-JDRYD PN92-YB5D-DJU31 W1V6-JYMZ-5UZA1 RZKD-E472-ZNMC8 N5CE-CF8R-RB82M 2AHC-1BH2-B2M7D |
Unused Pollution Effects
To do: Do the codes work? If so, add other versions. |
There are many different types of pollution, with three unique effects for when Mario interacts with it: muddy, electric, and firey. However, there are a few pollution effects which go unused.
Value | Description |
---|---|
0 | Mario begins to sink slowly upon contact with this pollution, losing 2 points of health per second.
|
3 | A strange effect that prevents Mario from moving laterally. |
5 | This effect kills Mario instantly upon contact. |
6 | This effect paints Mario's clothes without taking damage. |
7 | An unused duplicate of fire pollution. |
Use the following Gecko codes to change all pollution's effect:
Version | Gecko Code |
---|---|
JP | 041F2B68 38A0XXXX |
NA | 041A0FD0 38A0XXXX |
Replace "XXXX" with the pollution effect (Ex: "0000" for the unused sinking goop).
Unused Boo Disguises
Boos have the ability to be disguised as yellow coins, blue coins, and Shadow Mario; However, there are 10 other disguises that are never used.
- These are accessible by changing a Boo's "type" parameter.
Disguise | Type |
---|---|
Shadow Mario | 0 |
Yellow Coin | 1 |
Red Coin | 2 |
Blue Coin | 3 |
Bananas | 4 |
Durian | 5 |
Papaya | 6 |
Pineapple | 7 |
Coconut | 8 |
1-Up Mushroom | 9 |
Wooden Box | 10 |
Wooden Barrel | 11 |
Male Pianta | 12 |
Unused Screen Wipe
An unused screen wipe named "Door" which closes the screen like a pair of doors.
NamekuriLauncherManager
To do: Investigate this further, possibly even make it functional through reverse engineering |
The pile-of-goop generator that spawns Strollin' Stus has an unused manager for spawning Goobles called NamekuriLauncherManager, according to the game's code.
Shadow Mario HP Meter
Shadow Mario has an unused function called drawHPMeter. If its timer is set to anything other than 0, an HP meter will display for that amount of time upon him taking damage.
USA | Japan | Europe | Switch |
---|---|---|---|
0403fd94 60000000 0440fa90 RRGGBBAA |
04253748 60000000 04411480 RRGGBBAA |
0403fbe4 60000000 04407170 RRGGBBAA |
0403fbf0 60000000 04404650 RRGGBBAA |
- The "RRGGBBAA" line determines the health bar's RGBA (color/alpha) value, so replace this line with your desired values:
RR = Red
GG = Green
BB = Blue
AA = Alpha
Leftover SPCPrint Function
To do: Add codes for other regions. |
In various stage's event scripts (used for talking to NPCs, triggering in-game cutscenes, etc.) there are leftover "print()" fuctions which the delevopers used to print text to a logger when certain functions are called. This can be re-enabled and viewed in Dolphin's logger using either of the following codes:
USA | Japan |
---|---|
C203DB3C 00000008 9421FFB0 7C0802A6 90010054 7C0902A6 90010000 3C008034 60004644 7C0903A6 4E800421 80010000 7C0903A6 80010054 7C0803A6 38210050 4E800020 60000000 |
C20DD0A4 00000008 9421FFB0 7C0802A6 90010054 7C0902A6 90010000 3C008008 6000EF64 7C0903A6 4E800421 80010000 7C0903A6 80010054 7C0803A6 38210050 4E800020 00000000 |
E3 Sun Shade
To do: Explain the longer USA code properly |
As on the promotional trailers, the sun shade window from the glare used additive blending, while later copies have the normal transparency. When the flag using these codes is enabled, the blend factors change while rendering on-screen.
Retail | E3/Promos |
---|---|
![]() |
![]() |
USA | Europe | Japan | Switch |
---|---|---|---|
0417d4a4 38600001 0417d4a8 38800004 0417d4ac 38a00001 0417d4b0 38c00005 0417d4b4 481e491d 0417d4b8 48000024 0417d4bc 38600001 0417d4c0 38800004 0417d4c4 38a00005 0417d4c8 7CA62B78 0417d4cc 481e4905 0417d4d0 80010064 0417d4d4 48000088 0417d558 4bffff64 |
022976E6 00000002 02295C9E 00000002 |
020F3086 00000002 020F12D2 00000002 |
02295E8A 00000002 02294442 00000002 |