Commit Graph
21 Commits
Author SHA1 Message Date
andrewnakasandClaude Opus 5.5 76a2332771 Sticky Grinds: the dial reaches the air reach too, so 0 is no lock-on
The Grind lock-on dial drove only the ground lock-on values; the reach from the
air (physicsgrindsair.maxdist*, physicstrajectory.scoregrind) stayed stock, so
at 0 the board was still pulled onto rails in flight (over a gap, over water).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-21 11:51:39 -06:00
andrewnakasandClaude Opus 5.5 038f42a8b6 Sandbox: type any number, slide or step in the full screen menu, help on every value
- Full screen sliders (stepper): a click still steps, press and move slides the
  value; a number box beside each (the controller's focus skips it). A typed
  value past a slider's end stays there, and stepping does not snap it back.
- No slider end is a limit for a typed number: game speed, return delay, the
  full screen value rows (their bar now spans 0 to 4x the game's own), and the
  trainer's own limits behind the commands (gravity 0.001 to 1000, flip speed to
  1000, pump power and bending boost to 1e6, transition and grind numbers, the
  bending rules).
- Help: the 74 named rows that had none now explain themselves; every slider's
  explanation shows on hover and in the full screen bottom bar; unnamed rows
  say what they are.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-18 02:56:06 -06:00
andrewnakasandClaude Opus 5.5 0bcb0ba2ac Merge ReSkate v2.1.0 into the trainer, in its new menu layout
The trainer keeps upstream's page and naming (SANDBOX; noclip, No Bail and
the boosts on Skater > Cheats; the full screen controller menu) with its own
TUNE sections, presets card and search inside. The MOVEMENT tab is gone:
`trainer open movement` opens Skater > Cheats, where the Revert Boost rows
now sit. Upstream's Hardcore preset sits beside Realistic; saving
trainer.json and reading the map file stay off the client thread.

Board Break's wear and the trainer no longer undo each other: wear writes
four tuning values itself, and every trainer write used to put them back to
the trainer's copy (and a level loaded on a worn board took them as stock).
board_break::handling_value() tells the trainer what wear wants; values the
player has not changed are handed back to it, their stock is the game's own.

Tests: Hardcore's check follows the sections (topic, not the old lists);
the session test pokes a flip speed past the trainer's own limit (100).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-18 00:13:49 -06:00
andrewnakasandClaude Opus 5.5 7234243462 Trainer 0.7.0: wallies, on-foot moves, late flips, Dark Pop 3.1, built on ReSkate 2.0.9
Merges ReSkate v2.0.9.
- Wallies (the game's own switch) with their measured numbers; double / triple jump, jump
  on release and wipeout bounce on foot; foot flip / spin speeds; no speed limit on foot.
- Flip speed and the per-trick Late flip speed now change late flips; Late flip start /
  buffer rows.
- The trainer never changes the game's own settings (GAME SETTINGS rows only show them).
- Dark Pop 3.1 (Sivaes/darkpop, GPL-3.0), saved on and off like No Bail; Revert Boost 2.0.
- The search for the game's values walks memory once and shows in the panel.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-15 14:13:26 -06:00
Claude f0a6cf7b4a Trainer: your presets no longer hide a built-in one
Apply and remove look at the player's own presets before the built-in
ones, and loading took saved names as they were. A preset saved under a
name a built-in preset took later (Hardcore now, any new one later) hid
it: the built-in's button and `trainer preset apply` applied the
player's preset instead, and the menu showed the name twice.

When the trainer loads, such a preset is renamed to "<name> (yours)",
numbered when that is taken; the applied list and the maps that apply
it follow, and the log says so. Saving and loading now share one rule
for which names are reserved (reserved_preset_name) and one length
limit (max_preset_name). The rule and the rename live in
trainer_presets.cpp, where the trainer_presets test covers them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BoGm9ocG379TYfL2WC7yks
2026-10-12 11:37:54 +00:00
Claude d810b0a907 Trainer: take the wipeout force limits back out of Hardcore
This reverts d92b831. It dropped the comma after the Hardcore entry in
builtin_presets(), so trainer_presets.cpp, and with it ReSkate.dll, no
longer compiled.

The two rules it added, "wipeout.on forcelimits" and
"wipeout.runoutwipeoutforcelimits", were left out of Hardcore on
purpose: no field of the trainer's wipeout class has those names, and
whether they reach any physics tuning value has not been checked in
game. With them in, the trainer_presets test fails on the second one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BoGm9ocG379TYfL2WC7yks
2026-10-12 11:37:53 +00:00
andrewnakasandClaude Opus 5.5 f027d319be Trainer 0.5.0: built on ReSkate 2.0.6
TUNE as one page of folding sections, presets above the tabs, Skate 3 grind and
transition feel, Dark Pop, manual pop height, slow flips pop higher, per-trick
speeds, and a release audit of stock / resets / presets. See Extension/Trainer/CHANGELOG.md.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wk6Y7hSKoBANMm9ZHbStLg
2026-10-11 18:49:24 -06:00
mikaandCopilot Autofix powered by AI d92b831cdd Add new wipeout force limits to trainer presets
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-10-11 12:24:53 -04:00
miflow13 2399941419 Trainer: Hardcore preset, beside Realistic
Realistic with the game's help turned down, for players used to skating
games without it (Session, Skater XL). Everything Realistic changes goes
at least as far; on top of that, grinds only lock on from close and lined
up (lock-on distance x0.5, landing angle x0.6), grinds and powerslides
lose speed (friction x1.3, x1.5), body flips and spins are slower, and
bails come sooner (bail limits x0.7, bad landings bail). Grinds still
take a fast drop onto a rail. The amounts are a starting point and have
not been measured in game.

A new trainer_presets test checks that Hardcore never goes easier than
Realistic, that it shows on the REALISTIC list, and that their rules for
the game's data-defined classes name fields those classes have: a
misspelt pattern matches nothing and is skipped without a word in game.
2026-10-11 09:25:37 -04:00
andrewnakasandClaude Opus 5.5 614f07e819 Trainer 0.4.2: flip trick speed through the game's flip state with a speed for each trick, pump power, slow flips stay slow by themselves; the slow-flip switch, the camera tab and two dead dials are gone; far fewer memory searches
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-07 02:07:04 -06:00
andrewnakasandClaude Opus 5.5 5df4c1cba0 Trainer: board bending boost with explainers; Skate 3 presets also set the older grind and pumping values
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 12:30:41 -06:00
andrewnakasandClaude Opus 5.5 eeca84efea Trainer 0.4.0 (in progress): camera tab, Skate 3 presets, grind pop dial, search, controller menu, preset sharing
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 02:34:22 -06:00
andrewnakasandClaude Opus 5.5 9b8f8b0267 Trainer 0.3.0: one Tune screen, presets as dials, reset everything, 56 more values confirmed
Presets, trick sliders and the values share one screen and one set of values, so a preset
cannot say "on" while a slider says otherwise. Every built-in preset is a dial (1 = the game's
own). Reset everything clears locks and trick sliders too. A player's grinds, pumping, climbing,
vaults and bails confirmed 56 more class values as read by the game (243 of 314).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018szL7EmApPZxh9GK4Phw6x
2026-10-04 11:57:42 -06:00
andrewnakasandClaude Opus 5.5 10623d187e Trainer 0.2.0: flip trick speed, read evidence for every class value, a locked value keeps what it drives
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018szL7EmApPZxh9GK4Phw6x
2026-10-04 03:07:30 -06:00
andrewnakasandClaude Opus 5.5 da0aeff752 Trainer 0.2.0: Realistic and Fun modes, the game's other tuning classes, push speed on every push
The game keeps much of its tuning in data-defined classes (push speeds,
everything on foot, dive and glide, bail speeds...). The trainer finds 24 of
them in memory by the defaults and field order the game's data ships and lists
their 314 values by name. Push speed now drives the push class's own speeds;
auto push, off-board jump height and wider trick height ranges come with it.
The Tune tab opens on a Realistic or a Fun short list. Built on ReSkate 1.0.7.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018szL7EmApPZxh9GK4Phw6x
2026-10-04 01:04:24 -06:00
andrewnakasandClaude Opus 5.5 15d105ce34 Trainer 0.1.4: auto push that works
The game hands its auto push flag to the animation and nothing comes of it.
With it on, the trainer's push code now brings a rolling skater that is not
braking up to the auto push speed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 15:26:33 -06:00
andrewnakasandClaude Opus 5.5 3af7cabb75 Trainer 0.1.4: no comply and boneless heights, top pushing speed that works
The game's trick scripts launch the no comply and the boneless through its
jump-trajectory setter; the trainer multiplies the launch speed there, told
apart by the physics states around the call. Pushing is scripted too, so the
push tuning values were never read: the top pushing speed is now applied after
each physics step, and push strength is hidden.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 14:55:53 -06:00
andrewnakasandClaude Opus 5.5 013d131c69 Trainer 0.1.3: hippy jump height, Realistic preset, spin and flip in the jump read-out
The hippy jump's height is set by the game's trick scripts, not by the tuning asset (traced:
no tuning value is read for it). The trainer recognises one starting (riding -> off board,
rising) and scales the off-board upward velocity through the existing off-board velocity
path; a plain dismount is not rising and is left alone.

The jump read-out gains degrees of spin (and the peak rate) and of body tumble. The table of
tuning values the game reads now includes offsets seen in traced play sessions.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 12:44:28 -06:00
andrewnakasandClaude Opus 5.5 a4cc112d98 Trainer 0.1.2: link the ollie height and spin speed values to the graphs the game reads
JumpMaxHeight, JumpMinHeight and MaxSpinSpeed are not read by the game. Editing one now
scales the jump-height or body-spin graphs by the same ratio, so they work as plain
values; presets go through them. A preset reports the locked values it left alone.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 11:34:29 -06:00
andrewnakasandClaude Opus 5.5 705cd0537f Trainer 0.1.1: hide tuning values the game does not read; presets switch off individually
Players changed values such as the Mode ollie heights and saw nothing happen: no game code
reads them. trainer_used.inc lists the asset offsets the code was found to read (the asset
pointer, the per-group accessors and the skater's mode pointer were followed); rows without
evidence are hidden by default and marked when shown. The Essentials list and the built-in
presets now only use values with evidence.

Switching one preset off keeps the values of the presets that are still on.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-03 11:23:45 -06:00
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