From 3611047d3213b8ff6542ff8265a9bf79b1e344d3 Mon Sep 17 00:00:00 2001 From: chazmm Date: Tue, 8 Sep 2026 22:25:10 +0100 Subject: [PATCH] Load kart mods directly from the project-root mods folder --- PLAY-MARIO-KART.bat | 3 ++- docs/mixamo-vehicle-workflow.md | 6 ++++-- docs/vehicle-sdk.md | 4 ++-- mods/README.md | 12 +++++++++++- 4 files changed, 19 insertions(+), 6 deletions(-) diff --git a/PLAY-MARIO-KART.bat b/PLAY-MARIO-KART.bat index 6aae6484..9914112d 100644 --- a/PLAY-MARIO-KART.bat +++ b/PLAY-MARIO-KART.bat @@ -14,11 +14,12 @@ if not exist "%~dp0.local\vehicle-sdk\skate3-vehicle-ramp-audio.exe" ( pause exit /b 1 ) +set "SKATE3_MODS=%~dp0mods" set "SKATE3_MOD_SETTINGS=%~dp0.local\vehicle-sdk\settings" if exist "%~dp0.local\vehicle-sdk\overlay.path" set /p "SKATE3_SESSION_MARKER_OVERLAY="<"%~dp0.local\vehicle-sdk\overlay.path" echo Open Mods and ENABLE Mario Kart. F10 spawns the kart; E enters/exits. Escape shows draggable settings windows. Drag the title to move, drag // to resize, or scroll for more settings. echo WASD drive, Space brake, Shift handbrake, R reset. Slow down before exiting. -echo Mods folder: %~dp0.local\vehicle-sdk\mods +echo Mods folder: %SKATE3_MODS% echo Trainer log: %~dp0.local\vehicle-sdk\session.log "%~dp0.local\vehicle-sdk\skate3-vehicle-ramp-audio.exe" --assets "%SKATE3_ASSETS%" --start-paused %* > "%~dp0.local\vehicle-sdk\session.log" 2>&1 if errorlevel 1 pause diff --git a/docs/mixamo-vehicle-workflow.md b/docs/mixamo-vehicle-workflow.md index 703b8be0..ee717507 100644 --- a/docs/mixamo-vehicle-workflow.md +++ b/docs/mixamo-vehicle-workflow.md @@ -100,7 +100,8 @@ frames with a different rate. The output is a full native pose, not additive rot ## 6. Package, validate and playtest Put `rider.json`, the embedded `kart.glb`, `vehicle.json`, `mod.json` and `main.lua` in the -executable-adjacent mod folder. Set animations.file to rider.json, enter/exit to their +project-root mods/mario-kart folder when using PLAY-MARIO-KART.bat. Standalone +builds default to an executable-adjacent mods folder. Set animations.file to rider.json, enter/exit to their names, idle/drive/reverse/brake to drive for this example, and steer_left/steer_right to the corresponding endpoints. See vehicle-sdk.md for limits, schema and lifecycle. @@ -111,7 +112,8 @@ runtime applies the same native pose to whichever compatible character is select `Build-VehicleSDK.ps1` stages a build and documentation. It preserves differing local mod files; copy your approved changed files into the playable mod directory explicitly -when it reports them. Reload/disable-enable the mod to load changed animation files. +when it reports them for standalone builds. The project launcher reads the top-level +mods folder directly. Reload/disable-enable the mod to load changed animation files. Use PLAY-MARIO-KART.bat for a manual session. Check entry/exit from multiple vanilla stances, steering in both directions, ramps, braking, reset, Escape, and mod disable. Also try characters with different proportions; native-rig compatibility does not diff --git a/docs/vehicle-sdk.md b/docs/vehicle-sdk.md index 016f6406..bf7a5ac8 100644 --- a/docs/vehicle-sdk.md +++ b/docs/vehicle-sdk.md @@ -29,8 +29,8 @@ python tools/prepare_mario_kart.py C:/Users/Daddy/Downloads/kart-de-mario.zip mo NumPy is required by the importer. Run Build-VehicleSDK.ps1 to build/stage the executable and original mod sources. The helper preserves existing modified mod -files; copy updates manually when it reports a preserved file. The mods directory -sits beside the executable. No model or game assets are committed. +files; copy updates manually when it reports a preserved file. PLAY-MARIO-KART.bat loads the top-level project `mods/` directory via SKATE3_MODS. +A standalone executable defaults to its adjacent mods directory. No model or game assets are committed. ## Lua API diff --git a/mods/README.md b/mods/README.md index e53e08d2..f4f5ccab 100644 --- a/mods/README.md +++ b/mods/README.md @@ -1,6 +1,10 @@ # Mods -This folder lives beside the game executable: +PLAY-MARIO-KART.bat loads this project-root folder directly through SKATE3_MODS. +Use this folder to add or edit mods; you do not need to find the executable in .local. +The in-game Open mods folder button opens the same location. + +For a standalone game distribution, the default layout is beside the executable: ``` skate3rust.exe @@ -18,3 +22,9 @@ out of this folder. SKATE3_MODS is an optional explicit directory override. Native Trainer Showcase is original Lua source, with stock tuning defaults. Read its README for controls and examples of supported SDK capabilities. Do not distribute private Skate assets with mods. + +Current loader: unpacked mod folders containing mod.json and main.lua, plus assets. +ZIP files are not loaded directly yet. For sharing, ZIP one package with mod.json +at the archive root, then extract it into mods// before use. +A future ZIP installer can validate/extract packages while keeping folder support +for mod development. See docs/vehicle-sdk.md for asset types and package limits.