Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Super Mario Odyssey
PORTSNATIVE

Super Mario Odyssey

PORT NATIVOAVENTURA / SANDBOXWINDOWSLINUXMACOSALPHA

Super Mario Odyssey

TecnologíaPort Nativo C/C++ (Reimplementación de Motor)

Disponible paraWindows, Linux, macOS

Ver proyecto oficial

Sobre el proyecto

Super Mario Odyssey es un videojuego de plataformas desarrollado y publicado por Nintendo para la Switch. Se trata de una entrega de la serie Super Mario, con Mario y su nuevo aliado Cappy —un sombrero con conciencia propia— en un viaje por varios reinos con tal de salvar a la Princesa Peach de los planes para un matrimonio forzoso con Bowser, su enemigo principal. A diferencia de la mecánica lineal de juegos anteriores, vuelve a la de plataformas 3D y de mundo abierto que caracterizaba a Super Mario 64 y Super Mario Sunshine.

2 versiones de Super Mario Odyssey

Estás viendo: Super Mario Odyssey

Super Mario Odysseygithub.com/MonsterDruide1/OdysseyDecomp
Windows
Linux
macOS
Actual
Super Mario Odyssey (smo-recomp)github.com/Coz-0/smo-recomp
Windows
›

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗

OdysseyDecomp

Decompilation Progress Discord Channel

This is a WIP decompilation of Super Mario Odyssey 1.0.0. The purpose of the project is to recreate a source code base for the game from scratch. For more information, you can get in touch with the team on the SMO Modding Discord Server.

Building

[!IMPORTANT] Reminder: this will not produce a playable game. This project will not allow you to play the game if you don't already own it on a Switch.

For Windows users

While Linux is not a hard requirement, it is strongly advised to set up WSL to simplify the setup process. Ubuntu 24.04 is usually a good choice.

The instructions below assume that you are using Linux (native or WSL) or macOS.

1. Set up dependencies

Depending on your system and preferences, the required programs and libraries can be setup differently.

Across all platforms, using the included Visual Studio Code Dev Container should work fine. In this case, just clone and open the folder in VS-Code, press F1 and select Dev Containers: Rebuild and Reopen in Container. You can copy the NSO executable into the container using docker cp /path/to/main.nso [container-id]:/workspaces/main.nso, where [container-id] is the ID listed in docker container ls.

[!WARNING] As Dev Containers add another layer of complexity to your system, compiling the project and working with the differ will be slower. If possible, prefer to install the dependencies on your system and use this project natively instead of through the container.

When working with NixOS or any other system with the Nix package manager, flake.nix should be properly set up to use on your system. Make sure that direnv is installed in your system or shell. Then create a file called .envrc.private with the following content:

export USE_NIX=true

Run direnv allow to setup all dependencies, and run direnv exec . bash to ensure that you can access the dev shell. If echo $IN_NIX_SHELL prints "impure", then you have successfully entered the dev shell. The rest of the guide must be done with inside the dev shell, or you will get errors like ModuleNotFoundError: No module named 'toml'. The remainder of this section can be skipped.

All other systems have to manually install the required packages and programs. We will need:

  • Python 3.6 or newer with pip
  • Ninja
  • CMake 3.13+
    • If you are on Ubuntu 18.04, you must first update CMake by using the official CMake APT repository.
  • ccache (to speed up builds)
  • llvm-objdump

Ubuntu users can install those dependencies by running:

sudo apt install python3 ninja-build cmake ccache libssl-dev llvm

Additionally, you'll also need:

  • A Rust toolchain (follow the instructions here)
  • The following Python modules: capstone colorama cxxfilt pyelftools watchdog python-Levenshtein toml ( install them with pip install ...)

2. Set up the project

  1. Clone this repository. If you are using WSL, please clone the repo inside WSL, not on the Windows side (for performance reasons).

  2. Run git submodule update --init --recursive

    Next, you'll need to acquire the original 1.0 main NSO executable.

    • To dump it from a Nintendo Switch, follow the instructions on the wiki.
    • This guide explains how to dump and extract the entire game's ROM. For this project, dumping the ExeFS of 1.0 is sufficient, but having the RomFS files may also be helpful for cross-referencing strings or names.
  3. If you are using Nix, run nix run '.#setup' [path to the NSO]. For all others, run tools/setup.py [path to the NSO]

    • This will:
      • install tools/check to check for differences in decompiled code
      • convert the executable if necessary
      • set up clang, ld.lld and other tools by downloading them from the releases of OdysseyDecompToolsCache
      • create a build directory in build/
    • If something goes wrong, follow the instructions given to you by the script.
    • If you wish to use a CMake generator that isn't Ninja, use --cmake_backend to specify it.

3. Build

To start the build, just run

tools/build.py

By default, a multithreaded build is performed. No need to specify -j manually.

Use --clean to perform a clean build, and --verbose to enable verbose output.

To check whether everything built correctly, just run tools/check after the build completes.

Contributing

Anyone is welcome to contribute to this project, just send a pull request!

TODO

  • Enable comparison between different versions and check for mis-matches in all versions using tools/check
  • 1.3.0 uses a different optimization method, find it and implement it into the toolchain

Credits

This decompilation uses this as a reference for the sead library used. Big thanks to their research!

Ver proyecto oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Aventura / Sandbox
Estado
alpha
Plataforma de origen
—
Tecnología
Port Nativo C/C++ (Reimplementación de Motor)
Versión
—
Actualización
—

Plataformas de destino 3

Windows
Linux
macOS
Ver en GitHub
Publicidad