Mod exclusively for the Super Mario 64 PC Port, developed by PeachyPeach.
OMM Builder is a terminal-styled GUI packaged as a Python script that makes the building process of the Odyssey Mario's Moveset mod simplier, while allowing some customization.
- IMPORTANT NOTICE:
- Cloning the `sm64ex-omm` repository from PeachyPeachSM64's github is the only way to get the builder.
- Never download or execute the file `omm_builder.py` from any other source, even trusted ones, as it's
- likely to contain malicious code that can irremediably harm your computer or steal your personal data.
-
Windows:
-
Download the OMM Builder Setup Script.
-
Extract the
.zip
archive and executeomm_builder_setup.bat
. It will install everything needed for the builder to work.
Note: Running this script as administrator will enable the optionsOpen MinGW64 here
andOpen OMM Builder here
in the Explorer context menu (right click).
-
Once done, open the folder
sm64ex-omm
and place your copy of the Super Mario 64 US ROM inside it, next to the Python scriptomm_builder.py
, and rename itbaserom.us.z64
.
-
-
Linux:
-
Open a terminal and run the following command to install the required packages:
sudo apt install build-essential git python3 libglew-dev libsdl2-dev zip p7zip*
-
Install the builder by cloning the builder branch with this command:
git clone --single-branch --depth 1 https://github.com/PeachyPeachSM64/sm64ex-omm.git -b builder sm64ex-omm
-
Once done, open the directory
sm64ex-omm
and place your copy of the Super Mario 64 US ROM inside it, next to the Python scriptomm_builder.py
, and rename itbaserom.us.z64
.
-
OMM Builder is a terminal-styled GUI. Start it with the command python3 omm_builder.py
, or launch the start-up script omm_builder.bat
(Windows only).
Use E, S, D, F to move, C to go to the next view and X to come back.
Additionally, you can use digits from 1 to 9 to select instantly the desired option and 0 to go back to the previous view.
The main views are the following:
omm_builder.py
└── Games
└── Commands
├── Run
├── Clear
├── Reset
├── Delete
└── Build
├── Build Speed
├── Render API
├── DynOS
├── Patches
├── Texture Packs
├── Sound Packs
├── Model Packs
├── Audio Packs
└── Build and Run
Games that can be built with Odyssey Mario's Moveset:
-
- Super Mario 64 ex-nightly
-
- Super Mario 64 ex-alo
-
- Super Mario 64 Moonshine
-
- Super Mario 74
-
- Super Mario Star Road
-
- Super Mario 64: The Green Stars
-
- Render96
- To build Super Mario 64 Moonshine, extract the mod archive content (
MOONSHINE_FINALUPDATE.rar
) into themoonshine
directory.
- Put your custom resources (Patches, Texture packs, Sound packs, Model packs, Audio packs) into the
custom
directory.
Upon running, OMM Builder will detect automatically the custom resources and their type.
- Some resources can be downloaded automatically by the program if they are selected when building the game:
- DynOS Patch
- Time Trials Patch
- OMM-HD Texture pack
- Render96-HD Texture pack
- Render96 Model pack
If you want more customization or simply build the game the usual way, download the Odyssey Mario's Moveset patch file and add it in sm64pcBuilder2.
You probably built the game with a renderer not supported by your computer.
Delete your build and try again by changing the Render API
option from OpenGL 2.1
to DirectX 11
.
- Windows:
repos/<game>/build/us_pc/sm64.us.f3dex2e.exe
- Linux:
repos/<game>/build/us_pc/sm64.us.f3dex2e
Once built, the game executable is located in the build/us_pc
directory of the game you choose.
If you want to copy or move it, make sure to copy/move the entire build/us_pc
directory, not only the executable file.
- Make sure the Texture pack is in the
res
directory and is a valid.zip
archive. - If there is a
gfx.raw
file in theres
directory, delete it, or change the in-game optionTexture Caching
fromPermanent
toAt Start-up
.
- Make sure the Model pack is in the
res/packs
ordynos/packs
directory and is a valid pack (directory of.bin
files). - In-game, open the
Model Packs
option menu and enable your model pack.
- Windows:
%appdata%\sm64ex\omm_save_file.txt
- Linux:
~/.local/share/sm64ex/omm_save_file.txt
The save file is a plain text file, so any text editor can open it. It is divided in multiple sections:
[xxxx:yy]
: The main game save data.xxxx
is the game name,yy
is the save slot.- Flags: 0 = locked and 1 = unlocked.
- Courses: the first 7 numbers are the stars (1 = collected, 0 = not), the next number is the cannon (1 = open, 0 = closed) and the last number is the coin score.
[sparkly_stars]
: The Sparkly Stars save data. It cannot be edited directly.[mario_colors]
,[peach_colors]
: The custom palettes for playable characters.- Each
mario_custom
(peach_custom
) entry consists of 7 (8) pairs of RGB values in hexadecimal form + a palette name. - The first value of a pair is the ambient color, the second is the diffuse color.
- For Mario, the colors are in the following order: Cap, Hair, Skin, Gloves, Overalls, Shoes, Cappy Eyes.
- For Peach, the colors are in the following order: Skin, Hair, Dress (light tone), Dress (dark tone), Gloves, Earrings, Shoes, Tiara Eyes.
- The palette name cannot have spaces, replace them by underscores.
- Each
[stats]
: Several in-game stats, such as number of objects collected, number of enemies defeated, distance travelled, etc...[settings]
: The saved options. It includes controls, shortcuts and extras.
A PC port exclusivity, the options menu allows the player to configure their game without relying on code modifications, patches or external tools.
The options menu can be accessed by pausing the game, then pressing RSHIFT (keyboard) or R (controller).
Odyssey Mario's Moveset
:Character
: Mario, Peach (if unlocked), Luigi or Wario (Render96 only).Moveset
: Classic, Odyssey (3-Health), Odyssey (6-Health), Odyssey (1-Health).Cap
: Classic, Cappy (No Capture), Cappy (Capture-Press), Cappy (Capture-Hold).Stars
: Classic, Non-Stop.Power-ups
: Classic, Improved.Camera
: Classic, 8-Dir, 16-Dir.Sparkly Stars
:Mode
: Disabled, Normal, Hard.Show Hint at Level Entry
: Always, Only If Not Collected, Never.
Cheats
:Unlimited Cappy Bounces
: Mario can bounce infinitely on Cappy.Cappy Stays Forever
: Cappy no longer returns to Mario after some time.Homing Attack Global Range
: Extend Cappy's homing attack range to the whole level.Mario Teleports to Cappy
: Press (X) again after throwing Cappy to teleport Mario to him.Cappy Can Collect Stars
: Cappy can interact and give stars and keys to Mario.Play As Cappy
: Throw Cappy to control him. Hold (A) to go up, (B) to go down and press (X) to return to Mario.Peach Endless Vibe Gauge
: Peach only. Vibes no longer depletes the Vibe gauge.Shadow Mario
: Turns Mario into Shadow Mario.
Extras
:Mario Colors
: Select a color palette for Mario. The last 4 are customizable.Peach Colors
: Select a color palette for Peach. The last 4 are customizable.Super Mario Odyssey Animations
: If enabled, replace some of the vanilla animations with animations from Super Mario Odyssey.Cappy and Tiara
: If enabled, replace Mario's cap by Cappy and Peach's crown by Tiara.Colored Stars
: If enabled, give each level stars a specific color, like moons in Super Mario Odyssey.Vanishing HUD
: If enabled, make the HUD progressively vanish when Mario is moving.Reveal Secrets
: If enabled, make the secrets visible.Red Coins Radar
: If enabled, locate and show the direction of the nearest red coin.Show Star Number
: If enabled, show for each star its number.Invisible Mode
: If enabled, make Mario, Cappy, Peach, Tiara and their effects invisible.
Shortcuts
: Allow the player to bind up to three keys/buttons for a bunch of options.
Game
(Render96 only):Current Language
: Set the current language.Disable Billboards
: Don't force objects to face the camera. Must be enabled if the Render96 Model Pack is installed.
Camera
:Free Camera
/Puppycam 2
: A modern game camera designed to be more comfortable.Analogue Camera
: Turn on or off the analogue camera.Mouse Look
: Allow the player to move the camera with their mouse.Invert X Axis
: Invert the horizontal rotation of the camera.Invert Y Axis
: Invert the vertical rotation of the camera.Camera X Sensitivity
: Control the horizontal movement speed of the camera.Camera Y Sensitivity
: Control the vertical movement speed of the camera.Camera Deceleration
: Control the movement deceleration of the camera.
Controls
:- Binds: Allow the player to bind up to three keys/buttons for each N64 button.
Stick Deadzone
: The left-stick deadzone.Reset Controls
: Reset the controls back to default.
Display
:Frame Rate
: Set the framerate. Does not affect game updates, they still run 30 times per second.30
: No frame interpolation.60
: Enable frame interpolation to make the game render at a constant 60 FPS.Auto
: Synchronize the framerate with the monitor's refresh rate.Unlimited
: Render as much frames as possible.
Show FPS
: If enabled, show the actual framerate in the bottom-left corner of the screen.Fullscreen
: Enable fullscreen mode.Vertical Sync
: Synchronize the render rate with the monitor's refresh rate. Enable it if you're experiencing tearing.Texture Caching
: Preload and cache all textures when starting the game to avoid in-game freezes due to texture loading.Disabled
: Never preload textures.At Start-up
: Load all textures present in theres
directory every time the game starts.Permanent
: Load all textures once and cache them permanently.
Texture Filtering
: Set to nearest neighbor for blocky effects, or linear for smooth but blurry effects.Draw Distance
: Control the rendering distance of objects. Reduce it if you're experiencing slowdowns.HUD
: Show or hide the HUD.
Sound
:Master Volume
: The general volume setting.Music Volume
: The volume of background music.SFX Volume
: The volume of sound effects.ENV Volume
: The volume of environment sounds (birds chirping, water flowing, etc...).
Cheats
: A list of built-in modifications that gives Mario super-human powers, such as Moon-jumping, Infinite health, the ability to BLJ anywhere and much more.
Keyboard (qwerty) | Keyboard (azerty) | XBox One Controller | Switch Pro Controller | |
---|---|---|---|---|
A Button | L | L | A | A |
B Button | , | ; | B | B |
X Button | K | K | X | X |
Y Button | M | , | Y | Y |
Start Button | SPACE | SPACE | Start | + |
Spin Button | Mouse Wheel Button | Mouse Wheel Button | LS-Button | LS-Button |
L Trigger | LSHIFT | LSHIFT | LB | L |
R Trigger | RSHIFT | RSHIFT | RB | R |
Z Trigger | O | O | RT | ZR |
C-Up | ↑ | ↑ | RS-Up | RS-Up |
C-Down | ↓ | ↓ | RS-Down | RS-Down |
C-Left | ← | ← | RS-Left | RS-Left |
C-Right | → | → | RS-Right | RS-Right |
D-Up | - | ) | D-Up | D-Up |
D-Down | { | ^ | D-Down | D-Down |
D-Left | P | P | D-Left | D-Left |
D-Right | } | $ | D-Right | D-Right |
Stick Up | W | Z | LS-Up | LS-Up |
Stick Down | S | S | LS-Down | LS-Down |
Stick Left | A | Q | LS-Left | LS-Left |
Stick Right | D | D | LS-Right | LS-Right |
If it detects a new version, the builder will ask you if you want to update it when you launch it.
As for the Odyssey Mario's Moveset mod, the files are automatically updated when building a game.
For speedrunners, Odyssey Mario's Moveset comes with a LiveSplit auto-splitter.
It works with every game that can be built with Odyssey Mario's Moveset.
An auto-splitter is a script, a small program, that runs through LiveSplit and does the splits automatically, so the player doesn't need to press a key or a button to trigger each one.
What it does in Super Mario 64 is fairly simple:
- Starts the timer when the player selects a file,
- Splits each time a specific amount of stars is collected,
- Stops when the Grand Star is collected at the end of a run, or when the last split is triggered,
- Resets when the player returns to the main menu.
To install it and make it work, follow these steps:
- Your Odyssey Mario's Moveset version must be 6.1.0 or later.
- Open LiveSplit, and load your splits. Make sure they follow this format:
- For star splits, you must indicate the amount of stars needed in brackets:
- Use square brackets to split upon star collection:
[20]
. - Use parentheses to delay the split until the level exit:
(20)
.
- Use square brackets to split upon star collection:
- If a split has
Bowser
in its name but no star amount, it is interpreted as a Bowser key split or a Grand Star split and the split is triggered on key/star collection. - If the final split has no star amount, it is interpreted as a Grand Star split (i.e. after defeating the last Bowser) and immediately stops the timer.
- For star splits, you must indicate the amount of stars needed in brackets:
- Right click, select
Save Splits As...
and save them as asplits.lss
file next to thesm64.us.f3dex2e.exe
executable. - Right click again, and select
Edit Layout...
. - Add a
Scriptable Auto Splitter
, double-click on it, and selectBrowse...
. - Navigate to the OMM Builder directory and select the file
omm.asl
. - Press
OK
twice, then start the game. The timer should start as soon as an empty save file is selected.
- Releases
- Patch file (Right click ->
Save As...
) - Player's Almanach (by Cancel the Eat)
- Sparkly Stars guide (by Cancel the Eat)
- Pink Gold Stars guide (by FastMario)
- Speedrun leaderboard (by JokerFactor, SwaGh, Mr.Needlemouse)
- Official Discord server
- sm64pcBuilder2 (by gunvalk, Filipianosol, GammaTendonNine)
- Super Mario 64 Moonshine archive (by TurnFlashed, s4ys, Fito)
- Super Mario Star Road HD Texture pack (by sarah_taylor)
- Custom patches
- Texture packs
- Sound packs
- Model packs