mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-05-23 15:02:12 -04:00
02ad54ca72
* 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
61 lines
2.8 KiB
Markdown
61 lines
2.8 KiB
Markdown
# 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](mods-toml.md) 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
|
|
|
|
* [mods.toml File Structure](mods-toml.md) - Required metadata file for all mods
|
|
* [Migration Guide](migrations.md) - Migrate existing mods to the new structure
|
|
|
|
## Mod Types
|
|
|
|
* Textures Pack
|
|
* Some texture might not be possible to change yet, but most of them can be changed.
|
|
* [link](textures-pack.md)
|
|
* Custom Tracks (CT)
|
|
* Custom tracks are reserved for advanced users. We plan to simplify the process in the future.
|
|
* [link](custom-track.md)
|
|
* Custom Characters
|
|
* Custom characters can only replace existing characters for now. We plan to allow to add new characters in the future.
|
|
* [link](custom-characters.md)
|
|
* Custom Audio
|
|
* Only custom sequences are supported, not custom samples (like voices or sound effects).
|
|
* [link](custom-audio.md)
|
|
* 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](https://en.wikipedia.org/wiki/WebAssembly) with [component model](https://component-model.bytecodealliance.org/) 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.
|