📈 GH Trending Explorer 🎲 Surprise me

← all repos

chasem-dev / sms-pc-port

git clone https://github.com/chasem-dev/sms-pc-port.git hd-cutscenes-ai-v1 · 19d ago

Super Mario Sunshine Native PC Port

+2
stars, 24h · #5,602
+~14
stars, 7 days · #6,344
+163
stars, 30 days · #3,141
165
★ total · +9% this week
25
forks · 3 open issues

Star history (as recorded here)

2026-10-20 · 161 ★ 2026-10-22 · 165 ★
LanguageC++
LicenseMIT
Created2026-09-24 (29d ago)
Last push1d ago
Watchers0
OwnerUser

Links

README excerpt
# sms-port
A native PC port of **Super Mario Sunshine** (GameCube, North America, GMSE01), built from the matching decompilation.
No game data is included.
You build the program from source, and it reads the models, textures, levels, music and movies from **your own disc image** at run time.
For guided setup, updates and a Play button, use our dedicated SMS Launcher for Windows, macOS and Linux.
The launcher sets up this port on your computer using your own supported disc image; downloads are on its releases page.
## Decompilation progress
This card shows the GMSE01 decompilation snapshot recorded by the source revision pinned in this port.
Fuzzy similarity measures approximate code similarity; the other two tracks show byte-perfect code and code linked from matching source.
## Supported systems
| System | Word size | Status | Output |
| --- | --- | --- | --- |
| Linux (x86) | 32-bit (default) | plays | `build/linux-32/sms` |
| Linux (x86-64) | 64-bit (`SMS_ARCH=64`) | plays; still being tested stage by stage (docs/64-BIT.md) | `build/linux-64/sms` |
| macOS (Intel, or Apple Silicon under Rosetta 2) | 64-bit | plays | `build/macos-64/sms` |
| macOS, native Apple Silicon (`SMS_ARCH=arm64`) | arm64 | plays | `build/macos-arm64/sms` |
| Windows (MSYS2 MINGW64) | 64-bit | boots under Wine; native runtime checks | `build/windows-64/sms.exe` |
The game code keeps pointers in 4-byte fields, so it was written for a 32-bit machine.
The 64-bit builds keep every address the game sees below 4 GiB; see docs/64-BIT.md.
## Quick start
1. **Get the source**, including the decompilation submodule:
 [code] 
2. **Install the prerequisites** for your system: Linux, macOS, Windows.
3. **Put your disc image in `rom/`**: one `.iso`, `.gcm` or Dolphin `.ciso` of GMSE01 Rev 0.
4. **Build and play:**
 [code] 
 On Windows, run these in the MSYS2 MINGW64 shell, or run `.\build.cmd` and `.\run.cmd` from PowerShell.
The first build compiles about 600 game files and takes a while; later builds only rebuild what changed.
Because the image is in `rom/`, `./build.sh` also makes a **standalone** copy with the game's files inside (`sms-standalone`, or `SMS.app` on macOS) that runs without the image.
See BUILD.md.
You can also keep the image elsewhere and pass it: `./run.sh "/path/to/Super Mario Sunshine (US).iso"`.
## Build and run
The same two scripts work on every system:
| Command | What it does |
| --- | --- |
| `./build.sh [IMAGE]` | builds `build/ - /sms`; with an image (argument, `SMS_DISC_IMAGE`, or the one in `rom/`) also the standalone copy |
| `./run.sh [IMAGE] [--headless]` | runs that build: with the image you pass, else the standalone copy, else the image in `rom/` |
| `./clean.sh [--all] [--dry-run]` | deletes the build output (every `build/ - /`); never deletes your disc image, and keeps the downloaded SDL2; `--all` deletes all of `build/` |
| `SMS_ARCH=64 ./build.sh` | chooses the word size (Linux: `32` default or `64`; macOS: `64` default or, on Apple Silicon, `ar