Posted on 01-04-18, 02:40 am

Super Koopa
Careful with that axe, Eugene!


Posts: 824/854
Since: 10-08-14

Last post: 47 days
Last view: 15 hours
In the last time I've been some more research on unused objects and functions in Super Mario Galaxy 2 and I eventually found out that there's a ton of them. Years ago I've documented most leftover objects, but this list here is supposed to be complete and thorough. Still, it's not 100% done.

Semi-unused

We'll start with those, because these are the easiest to understand. These names sound familar, right? In fact, these objects aren't placed in levels, but are actually spawned/used through other means.
AirBubble BegomanSpike BegomanSpring BombTeresa DemoAstroPlanet DemoTitlePlanet FireBubble KoopaBattleSky KoopaLastBattleSky WorldMap01Sky WorldMap02Sky WorldMap03Sky WorldMap04Sky WorldMap05Sky WorldMap06Sky WorldMap07Sky

Reversely, we have a few objects that are placed in actual levels, but their effect never kicks in due to multiple reasons. It is unknown and, in my opinion, a shame that they were not fully used in the game. For instance MorphSwitchArea. This can be used to activate an event while the player has a certain power-up while standing inside that area. The other objects are pretty much leftovers and ports from the first game.
MorphSwitchArea SphereAir SunLightArea TeresaRoomGlaringLight VRSandwichSun

Unused objects

Those objects are in the general object table that is in the game's code, except for StarCreekWaterfallL which is found in ProductMapObjDataTable. Most of those are functional and unique and you can find information on them on the object database.

Then, we have a bunch of leftovers in PlanetMapDataTable, however, there are no associated model files in ObjectData. Or, they are useless.

Lastly, a few leftovers can be found in ProductMapObjDataTable as well. They are useless as well, because models, particles or whatsoever were removed.

Leftover objects

It is not surprising there would be leftovers from the first game in SMG2. However, the amount of remnants is actually impressive! We'll start with the planets first, though.

These entries are found in PlanetMapDataTable. Adding back the model file from SMG1 will make them usable.

Then, we have the more interesting leftover objects. These range from unused enemies and sky models to basic platforms and decorations. Most of those will work if you add back the model files to ObjectData, however, some of them require additional parameters to work. See the wiki to find out what's lost. Objects marked with a star were unused in the first game as well.

Scattered leftovers

Now, those are a bit difficult and it's arguable if we can still consider these as unused objects or not.

In the game's internal PlanetFunctionTable are a few leftovers for removed planets from SMG1 and the early stages of SMG2's developement. Those from SMG1 will function when adding back the entry in PlanetMapDataTable and their model file to ObjectData. The value on the right side is the pointer to the object's function.
ChoConveyorPlanetD 0x80261200 CoinRoomBrickBluePlanet 0x80261260 CoinRoomSfBluePlanet 0x80261260 CoinRoomSfPurplePlanet 0x80261260 CoinRoomWoodBluePlanet 0x80261260 CoinRoomWoodBrownPlanet 0x80261260 DarkHopperPlanetA 0x802612E0 DarkHopperPlanetB 0x802612E0 DarkHopperPlanetC 0x802612E0 DarkHopperPlanetD 0x802612E0 DarknessRoomPlanet 0x802612E0 FlagDiscPlanetB 0x802611C0 FlagDiscPlanetC 0x802611C0 FlagDiscPlanetD 0x802611C0 FlagDiscPlanetE 0x802611C0 MarioFacePlanet 0x80260F80 ReverseGravity2DFireBlockBreakPlanet 0x802614E0 StarDustStartPlanet 0x80261200

Two other objects are referenced in the LavaFloaterStepTable. These can be brought back in by adding the model file to ObjectData and by adding a new entry in ProductMapObjDataTable. The ClassName should be LavaFloater.
FloaterOtakingFloaterA LavaHomeFloaterB

Also, a few seesaw platforms are referenced in the SeesawStepSeTable that links the sound effects to those. Just add back the model file and a new entry for them in ProductMapObjDataTable. Use SimpleFloaterObj as the ClassName.
IceMountainSeesawNoSlipA SE_OJ_LV_ICE_M_SEESAW_S IceMountainSeesawSlipA SE_OJ_LV_ICE_M_SEESAW_S IceMountainSeesawSlipB SE_OJ_LV_ICE_M_SEESAW_M IceMountainSeesawSlipC SE_OJ_LV_ICE_M_SEESAW_L IceMountainSeesawSlipD SE_OJ_LV_ICE_M_SEESAW_L IceVolcanoBalanceStepA SE_OJ_LV_VOL_BAL_STEP_ROT IceVolcanoBalanceStepB SE_OJ_LV_VOL_BAL_STEP_ROT KoopaShipSeesawStep SE_OJ_LV_KOOPA_SHIP_SEESAW

Additionally, we have three unused entries in the EffectSeTable. Just like many other leftover effects in the game, those are pretty much useless, but they do exist. It is worth noting that the entry for LavaVolcanoEruption has existed since SMG1, but there was never a corresponding object for that. It doesn't even have a sound effect assigned to it for some reason. Interestingly, the table has an entry for BigTreeLeafSplash, an object used in the final game. However, the entry here is never used.
BigTreeLeafSplash (no sound assigned) IcicleRockLight (no sound assigned) LavaVolcanoEruption SE_OJ_LV_ICICLE_ROCK_LIGHT Steam SE_OJ_LV_HD_STEAM

Pretty much everything for these objects can be found in the game's code. All of them need an entry in the internal object table. But GoldenTurtle, KameckTurtle, MorphItemNeo, MorphItemNeoIce and SwingRope require some additional code to function.
AssemblyBlockPartsIceB AssemblyBlockPartsIceC AssemblyBlockPartsIceD AssemblyBlockPartsIceE AssemblyBlockPartsTimerA ChildIceMeramera ChildMeramera FallDownBridge GoldenTurtle KameckTurtle MorphItemNeoFoo MorphItemNeoIce ShellfishKinokoOneUp SwingRope UFOBlueStarCupsule ZoneHalo

Checked by every area object in the game, there is a table that assigns various functions and parameters to area name prefixes. Many area bindings are used for actual objects (even some of the unused ones, such as MirrorArea, EffectArea, etc.) but 16 prefixes were not assigned to any object in SMG2.
CameraRepulsiveArea deprecated CubeCamera works ForbidJump works ForbidWaterSearch works HipDropGuidance deprecated ImageEffectArea unknown Onimasu unknown PipeMode deprecated PlaneCircularMode deprecated PlayerSeArea unknown QuakeEffectArea deprecated RaceJudge unknown SceneExitArea deprecated ShadeCube unknown TripodBossStepStart unknown WorldMapAccessArea deprecated

We can also find various references to other objects from SMG1, but their exact use or reason to exist is unknown. Some of them are found in various tables, some others are just leftover strings.
BgmProhibitArea FlexibleSandPlanetParts FlexibleSphere KoopaJrNormalShipA KoopaVS2PartsClipAreaDisplayA KoopaVS2PartsJoinedMoveStep KoopaVS2PartsNarrowRoad KoopaVS2PartsSquareMoveStepA KoopaVS2PartsSquareMoveStepB PhantomShipA ScaleDownRelayPlanet SeaBottomBigDoorA SeaBottomBigDoorB SeaBottomBigDoorC ShellfishBlueChip

_________________________
[22:47:32] Tahcryon: Sad to hear that you won’t be shitting out SMG levels, Aurum
[22:47:42] Aurum: shitting out smg levels
[22:47:47] Aurum: I really wish it would be like this
[22:47:57] Aurum: it would make things so much easier
Posted on 01-04-18, 06:37 pm

Ninji
Banned permanently: Acts like a derp; spreads misinformation; we have told you a few times.


Posts: 189/241
Since: 08-31-17

Last post: 104 days
Last view: 12 days
I love hacking Galaxy
Wait, did you post this twice?
_________________________
Some stuff i'm working on:
% 19 % Starship Mario Galaxy: All-in-one fun zone right on your starship! Thread Link!
% 34 % SMG Hacks: The things you need to fully customise your SMG1/2 experience! Thread Link!
Posted on 01-04-18, 07:52 pm

Super Koopa
Careful with that axe, Eugene!


Posts: 826/854
Since: 10-08-14

Last post: 47 days
Last view: 15 hours
No, this the only list containing everything.
_________________________
[22:47:32] Tahcryon: Sad to hear that you won’t be shitting out SMG levels, Aurum
[22:47:42] Aurum: shitting out smg levels
[22:47:47] Aurum: I really wish it would be like this
[22:47:57] Aurum: it would make things so much easier