Files
ReSkate/Extension/Trainer/trainer_page.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

19 lines
749 B
C++

#pragma once
// The overlay's side of the trainer: its menu page and the HUD drawn while skating.
#include "Extension/UI/Overlay/skate_menu.h"
namespace dingosdk::overlay::menu {
void trainer_page(SkateMenu &, const Model &, const CallbacksV3 &);
// `trainer open`: true once per request, after selecting its tab.
bool trainer_take_open();
// True once after a request: the menu should switch to the trainer page.
bool trainer_page_wanted();
}
namespace dingosdk::overlay {
// True while the HUD has something to draw, so the overlay renders with the menu closed.
bool trainer_hud_pending();
// True once per `trainer open`: the overlay should show the menu.
bool trainer_open_requested();
void draw_trainer_hud();
} // namespace dingosdk::overlay