SpaghettiKart/docs/modding.md

2.8 KiB

Modding

  • Very focused on ease of modding without weird formats or obscure tools.
  • Early stages of modding and as such some features are not fully implemented yet
  • SpaghettiKart does not use Retro

General Structure

Mods in SpaghettiKart are packaged as .o2r or .zip archives, or as folders placed in the mods/ directory.

mods/
├── MyTexturePack.o2r
├── CustomTracks.zip
└── MyDevMod/           <- Folder-based mod for development
    ├── mods.toml
    └── textures/

Every mod must include a mods.toml file at its root. This file contains metadata about the mod (name, version, dependencies). See mods.toml File Structure for details.

Supported Formats

Format Extension Description
O2R Archive .o2r Recommended format for distribution
ZIP Archive .zip Standard zip file
Folder - Useful for development
Disabled .disabled Renamed archives are skipped

Mod Loading Order

Mods are loaded in dependency order. If mod A depends on mod B, then B will be loaded first. Mods loaded later can override resources from earlier mods.

Getting Started

Mod Types

  • Textures Pack
    • Some texture might not be possible to change yet, but most of them can be changed.
    • link
  • Custom Tracks (CT)
    • Custom tracks are reserved for advanced users. We plan to simplify the process in the future.
    • link
  • Custom Characters
    • Custom characters can only replace existing characters for now. We plan to allow to add new characters in the future.
    • link
  • Custom Audio
    • Only custom sequences are supported, not custom samples (like voices or sound effects).
    • link
  • Scripting
    • Add logic to the game are not possible yet but we plan to add support for scripting in the future. We will use WebAssembly with component model this will allow you to choose your language (Rust, C, C++, Python, JS, etc.) and compile it to WebAssembly.
  • 3D Models For Characters
    • Custom 3D models for characters are not supported yet. Put high quality character can be really close of 3d model but easily add a lot of size to the mod. We plan to add support for custom 3D models in the future.
  • Custom Sounds
    • Custom sounds are not supported yet. We plan to add support for custom sounds in the future.
  • Custom Menus
    • Custom menus are not supported yet. We plan to add support for custom menus in the future.