Files
ReSkate/Extension/Console/commands.h
T
andrewnakasandClaude Opus 5.5 8eedd0a5c4 Add the ReSkate Trainer: a TRAINER page with live physics tuning, presets, practice tools and jump telemetry
All new code is in Extension/Trainer. The game thread owns the trainer's state; the menu
page only queues `trainer ...` console commands and reads two snapshots.

- physics_tuning_model keeps the field and curve names the game's EBX carries, so the
  editable table is built at run time from the player's own data.
- physics_tuning exports game_tuning / read_live / write_live / refresh_skater, with the
  same field whitelist and curve rules as the session sync.
- no_bail publishes the physics state the local skater's selector last chose (air time,
  wipeouts).
- A guest under host tuning cannot edit; teleports follow the host's noclip permission.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 09:49:58 -06:00

35 lines
1.8 KiB
C++

#pragma once
#include "Engine/Core/Console/command_registry.h"
#include "Extension/UI/Overlay/overlay.h"
namespace dingosdk::console {
using Model = overlay::Model;
using Commands = Registry<Model>;
using Entry = Commands::Entry;
using Argument = Commands::Argument;
const Commands &game_commands();
Argument argument(std::string name, Type type = Type::text, bool optional = false);
Entry action(std::string name, std::string description, Group group, std::vector<Argument> arguments = {});
Entry variable(std::string name, std::string description, Group group, Argument argument);
State boolean_state(bool available, bool value, std::string reason = {}, std::string detail = {});
void register_movement_commands(Commands &);
void register_ai_commands(Commands &);
void register_settings_commands(Commands &);
void register_world_commands(Commands &);
void register_graphics_commands(Commands &);
void register_progression_commands(Commands &);
void register_object_commands(Commands &);
void register_park_editor_commands(Commands &);
void register_multiplayer_commands(Commands &);
void register_perf_commands(Commands &);
void register_trainer_commands(Commands &);
// Runtime adapters. Invoked only by the verified game-thread dispatcher.
void request_debug(overlay::DebugAction, bool enabled = false, float value = 0);
void request_feature(overlay::OfflineFeatureGroup, bool enabled);
void request_engine_variable(std::string_view name, bool restore, bool value);
std::string request_named_setting(std::string_view name, std::string_view value, bool restore);
std::string request_reset_named_settings();
void request_level(const std::string &level, const std::string &start, const std::string &sublevel,
const std::string &substart);
} // namespace dingosdk::console