* move yaml (still need to fix header path) * fix header * change kart to karts and add migration * fix include * Update migration.py * fix common_texture_debug_font extraction * Update torch * update torch and header * unduplicate texture for tumble * Update torch * Update migration.py * put the sort by default * fix replace_segmented_textures_with_o2r_textures * Update torch * fix yamls * add manual_segments in data of course * comment out replace_segmented_textures_with_o2r_textures and segment 3 * remove segment 5 * (wip) remove segment 6 still plenty of thing to do * more vtx * more change * Update torch * small fix * Update BansheeBoardwalk.cpp * fix blockFort * Delete test.yaml * fix bowser castle and simplify track sections * fix choco mountain * clean banshee * fix dk jungle * fix double deck * fix macos * fix error * fix macos ci * Update torch * Update torch * fix frappe snowland * fix kalimari desert * fix koopa troopa beach * fix luigi raceway * fix mario raceway and simplify thing * fix moo moo farm * fix rainbow road * Update torch * Update torch * hopefully fix windows error * fix a small error * fix royal raceway (and podium in theory) * fix sherbet_land * fix skyscraper * fix toads turnpike * fix wario stadium * fix yoshi valley * update torch * more clang tidy rules * REMOVE totally SEGMENT (sorry for the PR) * remove unused field in course and props and unused packed asset * fix kart texture * fix particle * fix track section and transparency * try fix mode extra * fix macos build and render * fix collision in extra * small change and try fix windows error * a little of clean * more cleanup * forget header and more clean up * Update Makefile * fix credits * fix kart texture offset * remove LoadTextures and add Unload * fix definitevely mirror mode * add unload but it's not perfect * revert a bad fix * clean no longer used python script * fix crash with player * being able to load the same course twice * add a comment on DrawWater * fix render of transparent object * better hack * add a proper migration instruction * fix number * add basic modsmanager * add meta/mods.toml * Update EditorMath.h * Update ModsManager.cpp * basic modManager (maybe I should rename it ModLoader) * use range on dependencies * add information about mods.toml * fix coment * some rename around * Delete beta-to-v1.md * Update migrations.md * Update textures-pack.md * Update modding.md * Update modding.md * clean yamls_old * move to mods in engine * rename ModsManger to ModManager * move init and unload at the top * rename ModsMetadata to ModMetadata * fix header * Update ModManager.cpp * put core mods at top |
||
|---|---|---|
| .github/workflows | ||
| assets | ||
| cmake | ||
| courses | ||
| docs | ||
| doxygen-awesome-css@9760c30014 | ||
| include | ||
| libultraship@d1bbd53e8a | ||
| meta | ||
| models | ||
| mods | ||
| port/assets/fonts | ||
| src | ||
| tools | ||
| torch@c3fdb5d5e3 | ||
| yamls/us | ||
| .clang-format | ||
| .clang-tidy | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| Dockerfile | ||
| Doxyfile | ||
| ExecutableResource.h | ||
| Info.plist | ||
| README.md | ||
| Resource.rc | ||
| SpaghettiKart.desktop | ||
| addr_to_sym.py | ||
| check_type_yamls.py | ||
| config.yml | ||
| extract_assets.py | ||
| icon.png | ||
| lus-cvars.cmake | ||
| progress.py | ||
| properties.h | ||
| properties.h.in | ||
| python_convert.py | ||
| rename_sym.sh | ||
| spaghettikart.ico | ||
| spaghettikart.manifest | ||
| test_blend.bat | ||
| valgrind_callgrind.sh | ||
| vcpkg.json | ||
README.md
Discord
Official Discord: https://discord.com/invite/shipofharkinian
If you're having any trouble after reading through this README, feel free ask for help in the SpaghettiKart Support text channels. Please keep in mind that we do not condone piracy.
Quick Start
SpaghettiKart does not include any copyrighted assets. You are required to provide a supported copy of the game.
1. Verify your ROM dump
The US ROM is the only supported version. You can verify you have dumped a supported copy of the game by using the SHA-1 File Checksum Online at https://www.romhacking.net/hash/. The hash for a US ROM is SHA-1: 579C48E211AE952530FFC8738709F078D5DD215E.
2. Verify your ROM is in .z64 format
Your ROM needs to be in .z64 format. If it's in .n64 format, use the following to convert it to a .z64: https://hack64.net/tools/swapper.php
2. Download SpaghettiKart from Releases
3. Generating the O2R from the ROM
Windows
- Extract every file from the zip into a folder of your choosing.
- Run "Spaghettify.exe" and select your US ROM.
Linux
- Extract every file from the zip into a folder of your choosing.
- Ensure
zenityorkdialogpackage is installed. - Run "spaghetti.appimage" and select your US ROM. You may have to chmod +x the appimage via terminal.
Nintendo Switch
- Run one of the PC releases to generate an
mk64.o2rfile. After launching the game on PC, you will be able to find these files in the same directory asSpaghettify.exeorspaghetti.appimage. - Copy the files to your sd card
4. Play!
- Launch
Spaghettify.exeCongratulations, you are now sailing with SpaghettiKart! Have fun!
Configuration
Default controls configuration
| N64 | A | B | L | R | Z | Start | Analogue stick | C buttons | D-Pad |
|---|---|---|---|---|---|---|---|---|---|
| Keyboard | Shift | Ctrl | Q | Space | Z | Enter | Arrow keys | TGFH (↑ ↓ ← →) | Num 8 2 4 6 |
| SDL Gamepad | A | X | LB | RB | LT | Start | L-Stick | R-Stick Up, B, Y, R-Stick Right (↑ ↓ ← →) | D-Pad |
Other shortcuts
| Keys | Action |
|---|---|
| F11 | Fullscreen |
| Tab | Toggle Alternate assets |
| Ctrl+R | Reset |
| Esc | Settings |
Graphics Backends
Currently, there are three rendering APIs supported: DirectX11 (Windows), OpenGL (all platforms), and Metal (macOS). You can change which API to use in the Settings menu of the menubar, which requires a restart. If you're having an issue with crashing, you can change the API in the spaghettify.cfg.json file by finding the line "Backend":{... and changing the id value to 3 and set the Name to OpenGL. DirectX 11 with id 2 is the default on Windows. Metal with id 4 is the default on macOS.
Custom Assets
Custom assets are packed in .o2r or stored .zip files. To use custom assets, place them in the mods folder.
If you're interested in creating and/or packing your own custom asset .o2r files, check out the following tools:
Note that .otr archives are not supported in SpaghettiKart!
Development
Building
If you want to manually compile SpaghettiKart, please consult the building instructions.
Playtesting
If you want to playtest a continuous integration build, you can find them at the links below. Keep in mind that these are for playtesting only, and you will likely encounter bugs and possibly crashes.
Maintainers: MegaMech, Coco, Kirito

