We just released a Feb. 5 '89 prototype of DuckTales for the NES!
If you'd like to support our preservation efforts (and this wasn't cheap), please consider donating or supporting us on Patreon. Thank you!

Super Mario 3D All-Stars

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Super Mario 3D All-Stars

Also known as: Super Mario 3D Collection (JP)
Developers: Nintendo, Nintendo European Research & Development
Publisher: Nintendo
Platform: Nintendo Switch
Released internationally: September 18, 2020


DevTextIcon.png This game has hidden development-related text.
Carts.png This game has revisional differences.


To celebrate the 35th Anniversary of the Super Mario franchise, Super Mario 3D All-Stars is a Nintendo Switch bundle of enhanced versions (Read: HD emulations) of Super Mario 64, Super Mario Sunshine, Super Mario Galaxy, and their respective soundtracks.

Hmmm...
To do:
The launcher app has some misc files from an unknown (as of release) 3D Mario game and maybe other games. (2021-02 update - is it related to Bowser's Fury?)

Game Changes

Each game received a fair amount of changes in the porting process. Full lists of changes can be found at the following pages:

The most important changes are summarized below:

  • Super Mario 64 is based on the 1997 Shindou Pak Taiou Version, with the text translated for non-Japanese languages and some textures being redrawn in a higher resolution. These changes are patched in on the fly as the game runs.
  • Super Mario Sunshine now runs in 16:9 widescreen, and similar to Super Mario 64, the textures and cutscenes are upscaled to HD. Like 64‍ '​s updated textures, Sunshine‍ '​s upscaled cutscenes are patched in on the fly; as a result, if the ISO is ripped and loaded in an emulator like Dolphin, the cutscenes will not display (though the game will otherwise function normally). Also, it was compatible with practically every Switch controller except the GameCube one until patch 1.1.0, which added GameCube controller support for Sunshine.
  • Super Mario Galaxy, like Sunshine, uses Nintendo's own GameCube/Wii emulator, Hagi. The code is partially recompiled to run on the Switch's CPU, but graphics and DSP are emulated by Hagi. A large amount of the game's unused content was removed to make it fit a smaller file size. Like the other two games, several textures were upscaled or redone and patched in while the game runs.

Emulators

N64 Renderers

18n64Kirby64Renderer
20n64MarioGolfRenderer
21n64MarioStoryRenderer
22n64MarioTennisRenderer
22n64PerfectDarkRenderer
22n64PokemonSnapRenderer

Leftover strings found throughout the code of the Super Mario 64 NCA. They reference the Nintendo 64 games Kirby 64: The Crystal Shards, Mario Golf, Paper Mario (by its Japanese name Mario Story), Mario Tennis, Perfect Dark, and Pokémon Snap. This could be evidence of future N64 game ports for Switch, but they are more likely just leftovers from the Wii U Virtual Console emulator, which has support for these games and similar configuration data to this emulator.

(Source: Dashinglb)

Unused Control Schemes

In each game, there are configuration files that tell the emulator how to run. In Super Mario Sunshine, there are different control schemes in the configuration file, one of which is for a computer keyboard.

"Input" : { 
			"0" : 
			{ 
				"Keyboard" : 
				{ 
					"KeyPadAxisLeftX" : "Axis(NumPad4,NumPad6)", 
					"KeyPadAxisLeftY" : "Axis(NumPad2,NumPad8)", 
					"KeyPadAxisRightX" : "Axis(NumPad9,NumPad7)", 
					"KeyPadAxisRightY" : "Axis(NumPad1,NumPad3)", 
					"KeyPadAxisTriggerLeft" : "NumPad5", 
					"KeyPadAxisTriggerRight" : "Add(E, Clamp(Z, 0.0, 0.99))", 
					"KeyPadButtonA" : "Q", 
					"KeyPadButtonB" : "S", 
					"KeyPadButtonDown" : "KeyDown", 
					"KeyPadButtonL" : "NumPad5", 
					"KeyPadButtonLeft" : "KeyLeft", 
					"KeyPadButtonR" : "E", 
					"KeyPadButtonRight" : "KeyRight", 
					"KeyPadButtonStart" : "Space", 
					"KeyPadButtonUp" : "KeyUp", 
					"KeyPadButtonX" : "X", 
					"KeyPadButtonY" : "Y", 
					"KeyPadButtonZ" : "R" 
				}, 

Project Dates

Sunshine Save File

Present in the data/saves/MarioSunshine directory is a save file that uses a different format than a traditional GameCube or emulator. If one is able to convert the save into the standard format, it can be seen that the last modification date was February 19, 2020 at 12:14:57 PM (UTC). The save file is empty and is most likely used to bypass the Memory Card file creation process that happens when Sunshine is played for the first time.

(Source: ecumber05)

Cutscene and Movie Dates

The video files in each game contain extra data of when they were created. The main launcher's video files have creation dates of around March 4-11, 2020, and a modification date of April 15, 2020. For Super Mario Sunshine, the cutscenes are all modified on April 7-10 with the exception of the intro video, which was modified on February 6. The Super Mario Galaxy cutscenes were modified on April 11-14.

Internal Project Name

Super Mario 3D All-Stars is internally referred to as Stardust in the data of Super Mario 64, the GCM file for Super Mario Sunshine, and in strings from the launcher's executable.

Version Differences

Version 1.0.0

  • The initial version.

Version 1.0.1

Hmmm...
To do:
Document the specific changes.

Released on launch day, with the following changes:

  • Fixed/adjusted the display in Super Mario Galaxy when playing in Co-Star mode.
  • Various bugfixes.

Version 1.1.0

Released on November 16, 2020, with the following changes:

  • An inverted camera option is added for all three games.
  • Super Mario Sunshine now has GameCube controller support, available by use of the GameCube adapter for either Wii U or Switch, complete with analog trigger support. The in-game button visuals are not changed.
  • Using the Turbo Nozzle underwater in Sunshine no longer corrupts the edges of the game's 16:9 display.
  • The debug cubes seen in secret levels in Sunshine are no longer visible, better reflecting the original release.
  • The sound effect that plays when a race starts in Sunshine now plays back properly.
  • Various bugfixes.