Add basic documentation (#416)

* add basic documentation

* Update modding.md

* rename file

* Update custom-characters.md

* Update custom-characters.md

* Update custom-characters.md

* add detail about Scripting
This commit is contained in:
coco875 2025-07-05 01:30:04 +00:00 committed by GitHub
parent 1effdc5b85
commit 5d4c01b296
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 98 additions and 1 deletions

2
.gitignore vendored
View File

@ -106,7 +106,7 @@ mingw64/
!tools/ido-recomp/*/* !tools/ido-recomp/*/*
# models # models
*.blend models/**.blend
# torch # torch
torch.hash.yml torch.hash.yml

Binary file not shown.

BIN
docs/change_viewport.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

54
docs/custom-characters.md Normal file
View File

@ -0,0 +1,54 @@
# Custom characters
Custom characters can only replace existing characters for now.
1. Download the Kart Setup blender file included with this post(Slightly altered .blender file provided by the Overkart server with some adjustments to the animation to export for Spaghetti, thanks again Andrat for permission to post this and a huge thanks to the Overkart 64 community in general.) [Kart Setup.blend](MK64_Spaghetti_Adjusted_Kart_Setup.blend)
2. Replace Mario with your character, and handle weights of the skeleton as needed to make them move properly.
3. Set the path a valid one(the included path is what Andrat had setup for his original kart setup) but make sure the name matches a listed kart name below and ends with ###, this will ensure it is 3 digits(example path/to/export/toad_kart/toad_kart_frame###)
4. Render the animation at whatever power of 2 of 64x64 you want(64x64, 128x128, 256x256 and so on),
5. In the above toad example, zip up the toad_kart folder and rename it to a .o2r file.
6. Put it in mods folder and run.
# Examples for all characters:
mario_kart/mario_kart_frame###
luigi_kart/luigi_kart_frame###
peach_kart/peach_kart_frame###
wario_kart/wario_kart_frame###
toad_kart/toad_kart_frame###
donkeykong_kart/donkeykong_kart_frame###
bowser_kart/bowser_kart_frame###
yoshi_kart/yoshi_kart_frame###
# Additional Files
Some other files to look out for(still using toad as a example)
placement icon = common_data/common_texture_portrait_toad.png Original frame is 32x32
player selection frames = player_selection/toad_face_00.png ~ toad_face_16.png Original frames is 64x64 (note that Donkeykong uses donkey_kong here instead)
player select nameplate = texture_tkmk00/gTextureNameToad.png Original frame is 64x12 (note that Donkeykong uses DK here instead)
## Tips
### Change Viewport Render Settings
Assuming your using the overkart setup kart.
In object mode, select View -> Cameras -> Active Camera
Set your render resolution and path as shown in the image below
Then render your animation by selecting View -> Viewport Render Animation
![Viewport Render Settings](change_viewport.png)
## Tools To Help
* There is [Racer Ready-Up](https://vinievex.itch.io/racer-ready-up) which is a tool to help you create custom characters for SpaghettiKart.
## Future plans
* Support for custom characters that do not replace existing ones.
* Support 3d models for characters.

22
docs/modding.md Normal file
View File

@ -0,0 +1,22 @@
# Modding
Modding are really early stages so a lot of features are not implemented yet. We don't use Retro and we want to make it as simple as possible to mod the game (so no weird format or obscure tools).
* 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 simply 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 Music
* Custom music are not supported yet. We plan to add support for custom music in the future.
* 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.

21
docs/textures-pack.md Normal file
View File

@ -0,0 +1,21 @@
# Texture Pack
To replace textures you should only create a zip file with textures to replace at the same path as mk64.o2r. Only png, jpg and bmp files are supported.
## Example:
You want to change other_textures/logo_mario_kart_64 then you just need to create a zip file with the following structure:
```
textures_pack.zip
└── other_textures
└── logo_mario_kart_64.png
```
## Tools To Help
To extract textures from the game you can use [convert-texture-o2r](https://github.com/coco875/convert-texture-o2r/releases). Just place the `convert-texture-o2r` executable in the same folder as `mk64.o2r` and drag and drop the `mk64.o2r` file on it or run it through command line:
```bash
convert-texture-o2r mk64.o2r
```
This will create a `textures` folder with all the textures extracted from the game.
## Future plans
* Make name more meaningful and uniform. (example: change `texture_69B140`). You can suggest name or make a PR to help rename them/organise them.
* Support dds files.
* move texture in a subfolder.