Luigi's Mansion (GameCube)/Unused Code
This is a sub-page of Luigi's Mansion (GameCube).
Please elaborate. Having more detail is always a good thing. |
This page or section has one or more broken YouTube links. Please find an archived version of the video(s) or a suitable replacement. Specifically: Unused Screen Settings video has been set to Private |
Contents
Unused Multiplayer Mode
An unused two-player splitscreen can be activated with a simple Action Replay code. When the code is activated, a second Luigi will spawn and it will bind the second controller port to it. When both Luigi are near each other, only the first player's camera is shown; moving further away causes the game to go into splitscreen mode. The second Luigi may act a little broken, since you can't properly stun ghosts as well as enter rooms that the first Luigi isn't in. Doors will take a while for the second Luigi to enter through, and captured ghosts by the second Luigi won't actually count.
Unused Multiplayer Mode:
Version | Encrypted | Decrypted |
---|---|---|
Europe (Revision 2) | B2Y9-GX8A-MRZZ0 0WMY-12C3-ZG2YC 975R-DH4Y-UZ21P T51C-YTEZ-B5C5Y 178B-T03H-9E0EE X54D-33F7-60HFD E7Y8-UN0P-BGYQF T12K-K3FF-DCP91 TZY3-U7UR-7K667 AY42-JJMM-RPJJT F0UA-4NAK-XJ8Y4 AZB7-1X81-Z5KB4 U202-DDDR-J87KG 758N-H8XU-VQ1C0 KHE9-WEC6-93ZEC UJDE-4A76-W4W0H Y80K-NP48-VBE5X FQ2E-VCHF-H4PTD |
044C5770 00000001 040058FC 483739E4 043792E0 7C0802A6 043792E4 90010004 043792E8 9421FFF0 043792EC 38600098 043792F0 4BE589D5 043792F4 38800001 043792F8 906D011C 043792FC 4BE61695 04379300 38210010 04379304 80010004 04379308 7C0803A6 0437930C 4E800020 04075560 800D011C 0400CA40 60000000 0400CAA0 60000000 0403FE58 60000000 |
USA | NRP6-DBEB-UUCR5 DUNR-1FY6-U1Q35 2W9B-ANPE-7Z5VQ 84KV-ZC6P-9MW55 U8V6-M47X-HXB7A UGC3-N4XX-K9Z4N QZPX-E9E6-VNV83 A3KF-V4YF-BPJR9 CWZG-U5PK-ET3JF 9YBU-PH33-2UVJW QVUT-7PZ3-WMENY WEYJ-Y1AX-1A4QU F753-Q4QC-AQE2J 8XZU-AYV6-HKWQE 6DX2-UABH-R7CQ1 X3N4-TJN7-H999U AVQZ-8FJQ-Q3AX3 RDNM-ACC0-ZG9H6 726G-GGVR-G7MMZ GRTM-3V95-Z847Y T6KR-5JQE-FU6FM HVM3-A3DW-J6RAX |
044D80B0 00000001 04005894 483829CC 04388260 7C0802A6 04388264 90010004 04388268 9421FFF0 0438826C 38600098 04388270 4BE46495 04388274 38800001 04388278 906D011C 0438827C 4BE4F01D 04388280 38210010 04388284 80010004 04388288 7C0803A6 0438828C 4E800020 040726D8 800D011C 04079EB4 60000000 04079E6C 48000010 040B943C 3003FFFE 0400BBC4 60000000 0400BC24 60000000 0403E7D8 60000000 04079574 60000000 |
Unused Poisoned State
Luigi has an unused "poisoned" state in which he moans, loses health (and coins), expels purple heart particles, plays a wobbling sound, and uses an unused animation called DOKU_LP (POISON_LOOP) in which he dances between each foot and holds himself while choking. In the animation he also uses the otherwise-unused sad eyes texture and puffs his cheeks out. At the end of the animations he slaps his face.
To activate it, enter one of the following Action Replay codes and then press B + D-Pad Up:
Version | Encrypted | Decrypted |
---|---|---|
USA | CYZJ-HD1Q-DVHH3 J3U2-9UWV-YBCPR UE09-PJ70-E6U18 UTKZ-60UJ-4PAB0 |
00BA32FB 08000000 4A4CAFD0 00000208 323A2B84 00008050 423A2B84 09A44320 |
Europe | F5HC-5TPP-9FXCD KHWK-6VN2-KMZ4J ZU4Y-G8FC-CV1U8 RWW2-RV33-5BYXF |
00725BE5 18000000 4A4B8590 00000208 3238FDE4 00008050 4238FDE4 09A44320 |
Europe Demo | 4B7D-244B-9R563 420U-FF3R-QEQR9 V7WB-NKKZ-9TU68 W0T0-NJJU-CDNVX |
00724C0A 18000000 CA4BA890 00000208 323920E4 00008050 423920E4 09A44320 |
Unused Luigi Fear States
The game holds three more unused modes for Luigi, which consist of a near-identical replica of the crawl sequence used when the unused purple ghosts scare him in the E3 2001 demo, the pink ghost scare attack from the Nintendo Difference build, and an otherwise-unseen "alert" mode.
The first has Luigi's health limit capped to its half, 50 HP, while he crawls uncontrollably across the room he's in, in a very similar fashion to E3 2001. It should be noted that, despite the similarity to the earlier build's crawl sequence, this routine seems to have been updated with a couple of features such as a sweat particle effect which is used in Toad's crying animation on the retail build, and the way he crawls automatically - control stick input only changing his direction - and much faster in comparison. There are unused ghost animations associated with this.
The second routine caps his health to 70 HP, as happens with the pink ghost's scare seen on Nintendo Difference. However, Luigi's movement speed is lowered and his head is locked to a looking-down position; although that's apparently the maximum extent of this state, the game is actually attempting to make him play an animation that is not defined properly, so it defaults to 00 (Wait/Standstill) instead.
The third, interestingly, only seems to trigger on lit rooms. When in this state, Luigi enters a frightened/scared state, which plays in place of his normal idle animation, and the engine plays one of his "uneasy" voice clips. He also tiptoes instead of walking during movement.
Start crawl routine upon damage:
Version | Encrypted | Decrypted |
---|---|---|
Japan | CW4N-ZM38-VR30T A49B-7WVE-YUKKY |
040B4990 38000064 040B7A88 38800000 |
USA | CXB3-W1KK-W6N3N NHTV-WKGT-1BJA5 |
040B6220 38000064 040B9314 38800000 |
Europe | YG1T-EE88-MQE6Q AMDT-V9QH-BKY8K |
040B95AC 38000064 040BC72C 38800000 |
Vacuum Overheat Shake & Skipped Meter Write
At 800B8660, there's code which sets up a shake effect for the Poltergust. Such effect appears to be very similar, or identical, to the shaking seen while the vacuum was overheating at E3 2001 and earlier builds of the game. The intensity of the effect always reads zero, so it's never seen, even when sucking up an explosive Spark ghost. The Action Replay code below sets its intensity to 1. When it's active, a boxing explosion-like sound is heard constantly. Additionally, on the same area at 800B8654, there's some never-accessed code which writes directly to the unseen Ghost Counter's number. It originally writes 10 (0x0A), but it can be changed to other values. This segment of code could have been from when the meter kept track of heat level and reached its maximum.
Version | Activate shake | Set Ghost Counter to 10 |
---|---|---|
USA | 040B8678 C0029C98 | 040B8650 60000000 |
Europe | 040BBA78 C00DBA38 | 040BBA50 60000000 |
Unused EnFrighten Appear Type
On creation, ordinary ghosts have a pointer to EnFrighten, an unused behavior resembling the purple ghost's jumpscare attack seen in the E3 2001 demo. This pointer is unused due to ghosts using value 2 for the appear_type property in the enemy JMP listing, which runs the usual ghost appearance EnAppear. Changing a ghost's appear_type to 1 restores EnFrighten in place of their usual appearance, however it crashes during its range check due to an invalid pointer read/function call starting at 800D4C10. What this was meant to do is unclear.
The codes below fix the crash and force ghosts to use this behavior; however, the way it's set up makes the ghosts uncatchable due to the code which enables stunning never running.
Version | Gecko | Action Replay |
---|---|---|
USA | 040c9284 38a3030c 040d4bd8 c00d53c0 040d4c14 60000000 040d4c18 60000000 040d4c1c 60000000 040d4c20 60000000 |
92MV-Q4XV-98KHX 17WZ-DY7T-RU2DH VRRG-YG92-3TZ5W 77QH-PWW0-74EUZ 95D5-DH9P-0G3GK W2EU-ZTZA-GMYMH M641-CCNY-Y2AHX |
Europe | 040cc72c 38a3030c 040d8018 c00d54d8 040d8054 60000000 040d8058 60000000 040d805c 60000000 040d8060 60000000 |
29ZK-DVD4-KHVKX 1H0C-K125-YNPYC HX98-WNW2-Z2QEJ DCR2-XCGZ-CFUGQ TQ7Y-WHE1-3JFR7 41JY-K210-E6HK1 1V35-DUDQ-PP6CF |
Japan | 040c798c 38a3030c 040d3338 c00d5310 040d3374 60000000 040d3378 60000000 040d337c 60000000 040d3380 60000000 |
BN9H-H412-Z904U 9VQK-PHG7-HVK1M JYZZ-09JD-DQGMT MWQ6-XGY6-KNR4T 4KCA-BR4T-46TC2 213A-NWPV-VT2YZ PRA1-WVKE-2M03Q |
Unused Screen Settings
This page or section has one or more broken YouTube links. Please find an archived version of the video(s) or a suitable replacement. |
The function 80010F20 manages screen scale and positioning. The code used for the default screen and the GBH camera viewport is found here, but skipped code exists at 800110AC which changes the viewport's size to 560x430 and the XY offsets to 40 and 30 respectively. The resulting size and positioning look very similar to those of a zoom mechanic seen in pre-release footage. The graphic that would wrap around it was seemingly removed, but graphics with a border of the same style can be seen in the Pause and File Select screens. The Action Replay codes below force this setting in-game.
NTSC-U | PAL |
---|---|
04010FD4 48000010 | 04011BB4 48000010 |
Unused Speedy Spirits
Luigi's Mansion used to have 25 Speedy Spirits, though only 15 Speedy Spirits are used. Speedy Spirits 16 - 20 still have their dependencies to appear in-game and function (if they're given properties like behavior, money count, etc.) However, Speedy Spirits 21 - 25 had most of their data deleted, aside from leftover parameter files hinting at their existence.
Riding Poltergust in American and Japanese builds
In the Hidden Mansion, Luigi rides the Poltergust 3000 during the Boolossus battle, however this only happens in the PAL version of the game. Despite this, the implementation for the riding state had already been complete for the NTSC-U and NTSC-J builds, but is never triggered.
The Gecko codes below make Luigi always start in the riding Poltergust state:
NTSC-U | NTSC-J |
---|---|
040ADF20 90DD134C
040ADF24 981D134C |
040AC8A0 90DD134C
040AC8A4 981D134C |
The PAL version of the game has the camera zoom in and out after the riding state is triggered that had not yet been implemented for NTSC-U and NTSC-J. Additionally, the Luigi player object has a new float property (0x134c) just before the byte that sets the riding state in PAL but missing from NTSC-U and NTSC-J which is used to count frames before the riding state is activated.
Game Boy Horror Ghost Tracker
The function 8004463C (US) handles alpha effects and coloring for the unused Game Boy Horror timer's colon. Within it, a comparison against general-purpose register 0 at 80044730 controls the execution of complex operations directly responsible for the timer's border's actor tracking functionality, which had been originally seen in the trailer promoting the game's presence at E3 2001 and became absent by the time of playable demo builds. Its code never runs due to developers intentionally setting the register to 0.
Two versions of this mechanic still exist: mode 1, featuring swaying and smoother motion, and mode 2, which trades animations for more accurate tracking (enabled at 0:16 in the video). Those two modes would automatically switch between each other when far from or near ghosts, respectively, but it is unknown whether code for this still exists. As is, it will only track objects detected by the Boo Radar and not any ordinary or portrait ghosts, presumably indicating they share the same target actor data and/or code.
The code below can force these states:
NTSC-U |
---|
0404472C 3800000x |
where x: 0 = default animation; 1 = far-distance mode; 2 = close-distance mode; 3 and above = also default animation.