Repo ↗ · Source README ↗ · Markdown & license bundle
Image reference (original game): Skate 3 · original-game artwork, provided by IGDB. Image rights remain with their respective owners. This illustrates the referenced original game, not the actual visuals of this rewrite or mod.
Source maintainer: andrewnakas · Revision: c27b8da4e8a4 · Catalogued: 2026-10-12
Source license: MIT · LICENSE · Article: Source README (format adapted)
The source README follows, with formatting adapted for this site and images replaced by source links. Feature, completion and testing claims belong to its authors and have not been independently playtested here. The Traditional Chinese translation was prepared with AI assistance.
SK8TRAINER
An in-game trainer for the Skate 3 static recompilation (rexglue). It’s a
tuning and practice menu that runs inside the game: sliders for pop, gravity,
spin and bails, plus slow motion, five marker slots and auto-return after a bail.
It’s inspired by CH3AT, the PS3/RPCS3 Skate 3
trainer. CH3AT pokes fixed PS3 memory addresses from an external window.
SK8TRAINER is compiled into the recomp instead, and finds everything at runtime
from your own game files, so it works on every platform the recomp builds
for.
Ships no game code or data. The trainer reads
data/big/db.bigfrom the game
you installed, at runtime, on your device.
Download
→ Latest release
has step-by-step instructions in INSTALL.md.
- Windows: download
sk8trainer-<version>-windows-x86_64.zip, unzip,
runskate3.exe, and point it at your Skate 3 ISO and Title Update 3 on
first launch. Already have the engine, or the
Skate3Recomp v2.0.2
release? Just drag the two files over yours
(how). - Linux, Steam Deck, macOS, Android, iOS: build
SK8-Engine with the trainer
switched on (how). - Your own recomp fork: see INTEGRATION.md.
You need your own Skate 3 (Xbox 360) disc image and Title Update 3.
Controls
| Keyboard | Controller | Touch | |
|---|---|---|---|
| Open / close | Insert | hold Back + LB + RB | SK8 button (top left) |
| Switch tab | click | LB / RB | tap |
| Select / adjust | drag | D-pad (hold LT fine, RT coarse) | drag |
| Freeze value | tick box | A | tap box |
| Reset to stock | middle-click | X | — |
| Close | Insert | B | SK8 |
While the menu is open, the pad drives the menu instead of the skater. The SK8
button is on by default on Android and iOS (skate3_trainer_button).
Practice keys (keyboard)
Home go to the selected slot · Shift+Home save the selected slot here ·
PgUp/PgDn pick a slot · Delete toggle half speed · End pause ·
Shift+End step one frame.
What’s in it
Value tabs: 405 values, edited live. All but nine are the game’s own
AttribSys tuning; the Engine tab holds the live world gravity and eight
constants from the game executable.
- Grinds & Tricks: grind and ground friction, footplant height / damage /
speed cap, no-comply pop, vert pump, landing helper - Hall of Meat: for every pose (spread eagle, torpedo, judo kick, cannon
ball, free fall): glide speed and cap, spin, air friction (slow fall) - Ragdoll: stiffness, damping, rebound, settle time, the bail timers
- Scoring: score multipliers, when the HUD shows airtime / distance / height
- Look: Skater, Look: World: brightness and colour of skater, board,
cars, NPCs; fog, sky, sun position, bloom, shadows, render distance - Engine: world gravity, jump power, hippy / on-foot jump, boneless speed
boost, slow-motion factor, stick scales, shadow distance, visibility
Pop & Jump, Gravity & Speed, Spin, Flips, Bails, World:
- every ollie / jump height for each difficulty mode, pop bonus, hippy and
off-board jump height - slope gravity, push top speed and power, run speed, auto push, pump
- easy body spins (the real spin lever: +60% air rotation, measured), spin caps
- body-flip speed and the one-flip lock (“perfect body flips”), landing
alignment - every bail threshold, board-separation and hit tolerances, ragdoll gravity,
the delay before the game resets you after a bail - slow-motion tuning
An edit to a per-difficulty value is copied to every difficulty, so your tuning
survives a difficulty change.
Anything you change stays set (the trainer re-applies it every frame) until you
reset it to stock. Your changes are saved to <user data>/trainer/user.toml and come back next launch.
Presets stack, so you can combine them; Stock resets everything.
| Preset | What it does |
|---|---|
| Never Bail | You cannot bail. Thresholds out of reach, plus the bail itself is blocked |
| Mega Pop | Every ollie and jump height x3 |
| Spin | Easy body spins on, spin caps x3 |
| Multi Flip | Double / triple / quad body flips in every difficulty |
| Land Any Angle | Crooked landings get squared up and roll away |
| Fast | Push top speed x4, push power x4, run speed x3 |
| Locked In | Never Bail + Land Any Angle + easy spins + controllable multi-flips |
| Big Air | All of the above at once |
| Moon, THPS | Real low gravity (x0.4); arcade spins and auto push |
| Realistic | Smaller pops, more friction, weaker push, harder falls, limp ragdoll (after Krinsher’s Realistic Mod, vault values only) |
| Floppy Ragdoll, Super Glide, Slow Fall | Hall of Meat: limp bails, long fast glides, slow falls |
| Footplant Forever, Score x10 | Footplants keep popping and never hurt; every trick scores x10 |
The presets in the last three rows and the new tabs are checked for writing and
holding their values, not yet for feel.
Practice tab
- Game speed 0.05x to 2x. It scales the sim tick rate, the same thing the
game’s own slow motion does, so physics, animation and audio stay in sync. - 5 marker slots: save here, go, copy the game’s own marker, clear. “Go”
runs the game’s real session-marker return (fade, teleport, reset), not a raw
position write. Placing a marker the normal way (LB + d-pad down) can also fill
the selected slot. - Auto-return after a bail, with an adjustable delay.
- No air timer: the game puts the skater back after 5 s in the air. With
this on it does not, so big-pop and low-gravity airs come down and land. - No out of bounds: the game puts the skater back when they stand on an
out-of-bounds surface. With this on you can skate there. Places with no
ground at all still drop you out of the world. - NEVER BAIL checkbox (remembered between launches). It works on three
levels: bail thresholds out of reach, detected bails dropped, and the skater’s
state machine not allowed to enter the bail state. AI skaters still fall.
Two options under it, both on by default:- never run on the board: some bails are decided by the animation side (a
landing it judges hopeless); the skater then “runs” on the board until the
bail happens. The trainer puts them straight back to riding where they are,
upright, with their speed handed back. It uses the game’s own skater reset
aimed just ahead of the skater; your session marker is left as it was.
Off = that bail is let through after 2 s. - keep both feet on in the air: a push button held in the air takes a foot
off for a footplant, and landing like that bails. A / X are ignored while
airborne. Turn it off to do footplants.
- never run on the board: some bails are decided by the animation side (a
- Pause and frame step, Bail now, a position and speed readout,
and teleport to coordinates (uses the selected slot). - Perfect finish (experimental): flips rotate only while a grab trigger is
held.
Installing it in a recomp build
SK8TRAINER is a source module for rexglue Skate 3 recompilations. You add it
when you build the recomp. The same module covers every platform the recomp
builds for: Windows, Linux and Steam Deck, macOS, Android and iOS.
- andrewnakas/SK8-Engine
(formerly skate3recomp): the integration is on thesk8trainerbranch,
PR #1. Once it’s merged,
every build made from that source includes the trainer (on by default;
-DSKATE3_TRAINER=OFFturns it off). - Any other fork: follow INTEGRATION.md. It’s one CMake
include plus a few#if defined(SKATE3_TRAINER)lines. The CMake snippet can
fetch this repo by tag, so there’s nothing to vendor.
Platform status:
- Windows x64: built and checked in game with the self-test: the vault is
found (405 values) and the unattended audit passes: every slider
writes, holds and restores, every preset applies exactly, saved values round
trip, game speed, all marker-slot actions, forced bail + auto-return. - Linux, Steam Deck, macOS, Android, iOS: the code only uses the runtime’s
portable APIs: the guest heap table for memory, the runtime input system for
the pad, and ImGui. It has not been built on those platforms yet. Please open
an issue with your build log if it doesn’t compile.
How it works
- Table. At startup it opens
db.big(EB BIG v3), decompresses the
skater vault (skaterschema+skatercollections, RefPack), and reads the
AttribSys schema. For each curated field it gets the byte offset inside
skatercollections.bin, the type and the stock value. It also picks eight
pointer-free 64-byte “anchor” windows. Field names are matched by their
64-bit AttribSys hash. - Locate. A background thread walks the committed guest heaps and finds
where the game loadedskatercollections.bin(the base where most anchors
agree). It re-checks every ~2 s and rescans if the blob moves. - Edit. Values are big-endian writes into that blob. The game reads them
from there, so changes are live. - Practice. Hooks on three lifted functions:
sub_82966910: the sim timer rate, used for game speed.sub_82898FC8:PlayerUI::UpdateSessionMarker, used for the marker slots
and auto-return.sub_8255DF90: the input action query. Presses are forced only inside the
marker update.
Building the self-test
tools/vault_selftest.cpp runs the table builder against a game folder, with
no recomp involved:
clang-cl /std:c++20 /EHsc /O2 /Isrc tools/vault_selftest.cpp src/skate3_trainer_vault.cpp
vault_selftest.exe "<game folder containing data/big/db.big>"
Credits
- CH3AT by ckosmic, for the idea and the list of values worth exposing.
- The other Skate 3 tables and tools surveyed for v0.4.0, which showed which
values matter: matt’s All in One Cheat Table, The Mad Man’s tables, Krinsher’s
Realistic Mod, TMenu by TyDubayGamez, tuukkas’ and Tally Mark’s tables, and
the Xbox 360 offsets posted by NDx and Son G0ku. No file from any of them is
included; every value is read from your own game. - The AttribSys vault layout follows NFSTools/VaultLib (MIT).
- The rexglue SDK and the Skate 3 recompilation it plugs into.
MIT licensed. Skate 3 is © Electronic Arts; this project is not affiliated with EA.
License and provenance
The README and its translation retain MIT terms. Changes comprise translation, links and formatting. Editable Markdown, the original README, LICENSE and NOTICE files are included in the linked bundle. This grants no rights to the original games, their assets or trademarks.
LICENSE
MIT License
Copyright (c) 2026 andrewnakas
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Comments
…