Files
ReSkate/Extension/Plugins/plugin_game_runtime.h
T
AyeZeeBB b12b904c65 Plugins: joints, physics tuning, velocity, game settings and pose offsets
- reskate.skater.joint and reskate.session.joint: where any joint of your skater or another player's is.
- reskate.physics.tuning, find and tune: the trainer's tuning values, a plugin's set over the player's own and never saved.
- reskate.skater.set_velocity: the board's velocity set or added to at the next on-board physics step, in the air too.
- reskate.settings.set and the settings.write permission: a game setting held while the plugin keeps it, then put back; gameplay settings stay locked in multiplayer.
- reskate.skater.pose: joints turned and scaled on top of the animation, in the pose drawn and sent.
- The mesh tests build anim_core, which the session's joint publishing now uses.
2026-10-20 15:46:54 -05:00

25 lines
1.4 KiB
C++

#pragma once
#include "plugin_game.h"
#include <cstdint>
#include <filesystem>
// The wider set's game in the real game (plugin_game.h): each part through the function ReSkate's
// own console or menu uses, under the same rules. Client thread. The binds players change on the
// Binds page are kept in `storage`/binds.json.
namespace dingosdk::plugins {
Game& real_game(std::uintptr_t image_base, const std::filesystem::path& storage);
// The client tick's camera phase, after Spectate's: shows the plugin camera, or gives it back.
void apply_plugin_camera(std::uintptr_t image_base, std::uintptr_t client, bool ready, bool phase) noexcept;
// Whether a plugin holds the skater still: noclip's input is then none.
bool plugin_freeze_active() noexcept;
// Whether a plugin's flight holds the controller (reskate.input.capture): the game gets none of it.
bool plugin_input_capture() noexcept;
// Each client tick: the local skater for plugins' clips (reskate.animation).
void tick_plugin_animation(std::uintptr_t image_base, std::uintptr_t client) noexcept;
// Each client tick: game settings plugins hold (reskate.settings.set) that change how the game plays
// go back as a multiplayer session starts.
void tick_plugin_settings() noexcept;
// Each client tick: plugins' sounds (reskate.audio); `ready` while a level plays.
void tick_plugin_sounds(std::uintptr_t image_base, std::uintptr_t client, bool ready) noexcept;
}