Releases: LeadingTrendTechnologies/HoleshotHUD
Release list
v0.17.0
Changelog
Unreleased
0.17.0
Profile Motos nests under Overview with a Ranked filter; steadier lapping colors and timed Dash clocks.
Overlay
- Red lapping color is pairwise only: the leader lapping someone behind you no longer paints them red until you lap them (
gap_lapsonly forces blue when they are ahead of you). - Same-race start/finish straddles no longer flash blue/red on map, minimap, relative, or radar (
other_laps_aheaduses continuous lap progress whengap_lapsmatch).
Relative
- Optional Status column (
rel_status, default off) with the same crash / finish / DNS / OUT / DSQ / pit icons as Standings. Finished riders show only the finish flag. - Blue/red lapping row tints hold through a pass while still within catch span (either side).
Dash
- Timed +2:
~Lappedlatches mid-track when the finished leader passes you on1/2(no longer waits for your line). Same last extra still needs a two-lap lead. - Timed race: after the first gate board (~50 s) ends, show race length instead of another short countdown (ignore later 45 s / 30 s boards).
- Armed timed countdown holds the last remain when
session_time_msrepublishes near session length (does not snap back to full length). ~Lappedpass latch ignores centerline projection spikes and discontinuous leader teleports (over/under tabletop).- Latched checkered clears when
laps_left > 0again so a glitched finish does not leave Extra looking done while place still moves.
Profile
- Motos list chips are All / Ranked / Saved (Race chip removed; Ranked filters lobby-allowlist visits).
- Hover Record on Overview explains Motos recording (saves race visits; practice and spectate skipped).
- Profile Overview | Motos is a horizontal sub-nav under the top bar (no left rail).
- Motos no longer records practice / Testing Setup; old practice rows are removed. Profile still ignores practice.
- Motos stores the online server name with each race visit (trophy + Ranked chip when lobby id is in
ranked_servers).
Plugin
- Shared memory is
Local\MXBOHudV18.serverNameandeventGuidare published for Motos Ranked. Restart MX Bikes after the plugin update.
0.16.0
Custom MX Bikes opening and loading screens, Standings plaque controls, and steadier Delta and flags.
Overlay
- With MX Bikes menus on, Opening screen and Loading screen under In game HUD ship photo defaults (male + female riders on opening; a male rider on loading). Browse a PNG or JPG, or Use default. Opening centers a PiBoSo mark. Fully quit MX Bikes after changing so the art reloads.
- Open practice / Testing Setup keeps the Practice preset. A live clock alone no longer switches you to Race.
Standings
- Plaque text (Black / White) and Show plaques for the orange rider-count and track-name skews. Separate from row Text color.
- Penalty shows whole seconds as
5s, not5.000. - Dragging columns in Settings eases neighbors into place instead of snapping.
Relative
- Same Plaque text / Show plaques, penalty
#s, and column-drag ease as Standings.
Delta Bar
- Live delta no longer flashes a huge positive gap in practice when the game keeps the finished-lap clock up.
Dash
- Penalty shows whole seconds as
5s. - Yellow wrap still waves in practice and warmup when someone crashes ahead (blue/red stay race-only).
Flags
- Yellow waves in practice and warmup when someone crashes ahead; blue and red stay race-only.
Systems
- FPS is the game Draw rate from the plugin, not overlay paints.
Plugin
- Shared memory is
Local\MXBOHudV17.drawCountis published for Systems FPS. Restart MX Bikes after the plugin update.
0.15.0
Optional MX Bikes menu pack, its own accent, and a Settings left rail.
Overlay
- Settings uses a left rail: HUD (Look: font, primary, units, settings key) separate from App (In game HUD, Install, Startup, Labs, Updates).
- In game HUD holds MX Bikes menus, Match app accent, and Menu color.
- MX Bikes menus (default off) installs a generated
ui/pack — floating dest card, server browser board, Options form + tabs, Practice / Host / Race setup chrome, Profiles, Replays, pits, and shared accent chrome. Off restores the previous folder. Fully quit MX Bikes after changing so menus reload. - Match app accent (default on). Off shows Menu color with the same picker as Primary; Look changes no longer rewrite menus until you match again.
0.14.1
Uninstall no longer deletes MX Bikes if the overlay was installed into the game folder.
Installer
- Setup refuses the MX Bikes folder (and Steam
steamapps\common) as the destination. The overlay goes in its own folder; Setup still copies the plugin into the game. - Uninstall only removes HUD leftovers from the install folder. It never wipes a folder that looks like the game.
0.14.0
See how you race on Profile: an eight-spoke spider from eligible motos.
Overlay
- F8 Profile (always): left rail Overview / Motos. Overview is in-game name over spider flank cards (Wins / Podium rate / Avg finish; Crashes per lap / Holeshot rate / Avg Penalty Seconds; Did not start·Did not finish·Disqualified when present) plus the eight-spoke spider. Eligible races only (field of 2+, no practice/warmup). All time or last 14 days. Banner until five races. Motos list + Analyze live under Profile → Motos. Record toggle is on Profile Overview (Motos empty gate still Enable). Hover a spoke for what it scores. Fill uses your accent.
- After 14 days Motos still drops Analyze tapes; Profile keeps compact scores so all-time still draws.
- Clear on Profile wipes the graph only (Motos stays). Clear on the Motos list wipes stored tapes only (Profile stays; a live moto is kept). Both sit far right and ask first.
Plugin
- Shared memory is
Local\MXBOHudV16.RaceHoleshot(who + time) is published. Restart MX Bikes after the plugin update.
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze fi...
v0.16.0
Changelog
Unreleased
0.16.0
Custom MX Bikes opening and loading screens, Standings plaque controls, and steadier Delta and flags.
Overlay
- With MX Bikes menus on, Opening screen and Loading screen under In game HUD ship photo defaults (male + female riders on opening; a male rider on loading). Browse a PNG or JPG, or Use default. Opening centers a PiBoSo mark. Fully quit MX Bikes after changing so the art reloads.
- Open practice / Testing Setup keeps the Practice preset. A live clock alone no longer switches you to Race.
Standings
- Plaque text (Black / White) and Show plaques for the orange rider-count and track-name skews. Separate from row Text color.
- Penalty shows whole seconds as
5s, not5.000. - Dragging columns in Settings eases neighbors into place instead of snapping.
Relative
- Same Plaque text / Show plaques, penalty
#s, and column-drag ease as Standings.
Delta Bar
- Live delta no longer flashes a huge positive gap in practice when the game keeps the finished-lap clock up.
Dash
- Penalty shows whole seconds as
5s. - Yellow wrap still waves in practice and warmup when someone crashes ahead (blue/red stay race-only).
Flags
- Yellow waves in practice and warmup when someone crashes ahead; blue and red stay race-only.
Systems
- FPS is the game Draw rate from the plugin, not overlay paints.
Plugin
- Shared memory is
Local\MXBOHudV17.drawCountis published for Systems FPS. Restart MX Bikes after the plugin update.
0.15.0
Optional MX Bikes menu pack, its own accent, and a Settings left rail.
Overlay
- Settings uses a left rail: HUD (Look: font, primary, units, settings key) separate from App (In game HUD, Install, Startup, Labs, Updates).
- In game HUD holds MX Bikes menus, Match app accent, and Menu color.
- MX Bikes menus (default off) installs a generated
ui/pack — floating dest card, server browser board, Options form + tabs, Practice / Host / Race setup chrome, Profiles, Replays, pits, and shared accent chrome. Off restores the previous folder. Fully quit MX Bikes after changing so menus reload. - Match app accent (default on). Off shows Menu color with the same picker as Primary; Look changes no longer rewrite menus until you match again.
0.14.1
Uninstall no longer deletes MX Bikes if the overlay was installed into the game folder.
Installer
- Setup refuses the MX Bikes folder (and Steam
steamapps\common) as the destination. The overlay goes in its own folder; Setup still copies the plugin into the game. - Uninstall only removes HUD leftovers from the install folder. It never wipes a folder that looks like the game.
0.14.0
See how you race on Profile: an eight-spoke spider from eligible motos.
Overlay
- F8 Profile (only while Motos recording is on): in-game name over an 8-spoke spider (Pace, Smooth, Clean, Clutch, Attack, Air, Results, Opening). Eligible races only (field of 2+, no practice/warmup). All time or last 14 days. Banner until five races. Hover a spoke for what it scores. Fill uses your accent. Holeshot count sits under the moto line.
- After 14 days Motos still drops Analyze tapes; Profile keeps compact scores so all-time still draws.
- Clear on Profile wipes the graph only (Motos stays). Clear on the Motos list wipes stored tapes only (Profile stays; a live moto is kept). Both sit far right and ask first.
Plugin
- Shared memory is
Local\MXBOHudV16.RaceHoleshot(who + time) is published. Restart MX Bikes after the plugin update.
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line s...
v0.15.0
Changelog
Unreleased
0.15.0
Optional MX Bikes menu pack, its own accent, and a Settings left rail.
Overlay
- Settings uses a left rail: HUD (Look: font, primary, units, settings key) separate from App (In game HUD, Install, Startup, Labs, Updates).
- In game HUD holds MX Bikes menus, Match app accent, and Menu color.
- MX Bikes menus (default off) installs a generated
ui/pack — floating dest card, server browser board, Options form + tabs, Practice / Host / Race setup chrome, Profiles, Replays, pits, and shared accent chrome. Off restores the previous folder. Fully quit MX Bikes after changing so menus reload. - Match app accent (default on). Off shows Menu color with the same picker as Primary; Look changes no longer rewrite menus until you match again.
0.14.1
Uninstall no longer deletes MX Bikes if the overlay was installed into the game folder.
Installer
- Setup refuses the MX Bikes folder (and Steam
steamapps\common) as the destination. The overlay goes in its own folder; Setup still copies the plugin into the game. - Uninstall only removes HUD leftovers from the install folder. It never wipes a folder that looks like the game.
0.14.0
See how you race on Profile: an eight-spoke spider from eligible motos.
Overlay
- F8 Profile (only while Motos recording is on): in-game name over an 8-spoke spider (Pace, Smooth, Clean, Clutch, Attack, Air, Results, Opening). Eligible races only (field of 2+, no practice/warmup). All time or last 14 days. Banner until five races. Hover a spoke for what it scores. Fill uses your accent. Holeshot count sits under the moto line.
- After 14 days Motos still drops Analyze tapes; Profile keeps compact scores so all-time still draws.
- Clear on Profile wipes the graph only (Motos stays). Clear on the Motos list wipes stored tapes only (Profile stays; a live moto is kept). Both sit far right and ask first.
Plugin
- Shared memory is
Local\MXBOHudV16.RaceHoleshot(who + time) is published. Restart MX Bikes after the plugin update.
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds s...
v0.14.1
Changelog
Unreleased
0.14.1
Uninstall no longer deletes MX Bikes if the overlay was installed into the game folder.
Installer
- Setup refuses the MX Bikes folder (and Steam
steamapps\common) as the destination. The overlay goes in its own folder; Setup still copies the plugin into the game. - Uninstall only removes HUD leftovers from the install folder. It never wipes a folder that looks like the game.
0.14.0
See how you race on Profile: an eight-spoke spider from eligible motos.
Overlay
- F8 Profile (only while Motos recording is on): in-game name over an 8-spoke spider (Pace, Smooth, Clean, Clutch, Attack, Air, Results, Opening). Eligible races only (field of 2+, no practice/warmup). All time or last 14 days. Banner until five races. Hover a spoke for what it scores. Fill uses your accent. Holeshot count sits under the moto line.
- After 14 days Motos still drops Analyze tapes; Profile keeps compact scores so all-time still draws.
- Clear on Profile wipes the graph only (Motos stays). Clear on the Motos list wipes stored tapes only (Profile stays; a live moto is kept). Both sit far right and ask first.
Plugin
- Shared memory is
Local\MXBOHudV16.RaceHoleshot(who + time) is published. Restart MX Bikes after the plugin update.
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on...
v0.14.0
Changelog
Unreleased
0.14.0
See how you race on Profile: an eight-spoke spider from eligible motos.
Overlay
- F8 Profile (only while Motos recording is on): in-game name over an 8-spoke spider (Pace, Smooth, Clean, Clutch, Attack, Air, Results, Opening). Eligible races only (field of 2+, no practice/warmup). All time or last 14 days. Banner until five races. Hover a spoke for what it scores. Fill uses your accent. Holeshot count sits under the moto line.
- After 14 days Motos still drops Analyze tapes; Profile keeps compact scores so all-time still draws.
- Clear on Profile wipes the graph only (Motos stays). Clear on the Motos list wipes stored tapes only (Profile stays; a live moto is kept). Both sit far right and ask first.
Plugin
- Shared memory is
Local\MXBOHudV16.RaceHoleshot(who + time) is published. Restart MX Bikes after the plugin update.
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the...
v0.13.0
Changelog
Unreleased
0.13.0
Pick a primary color in Settings. Default stays Holeshot orange.
Overlay
- Settings → Look → Primary color opens a swatch and hue picker. You, plaques, and Motos follow it live. Default is Holeshot orange.
Dash
- P# uses the Look primary color.
Controller
- Button, trigger, and bumper presses use the Look primary color.
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the exe with a helper process (no PowerShell). - CI fails if the plugin C snapshot and the Rust
Snapshotlayout disagree (src/shm/abi.txt). - Session clock fixtures under
overlay/hud/tests/sessions/replay gate, lap, and timed ticks throughRaceStore. - HUD draw lives in
overlay/hud/src/render/*.rs(one file per widget, staticdraw_widgetslist). Settings panes and Hit dispatch live underoverlay/src/settings/. - Layout hit/resize geometry lives in
mxbo-hud(overlay/hud/src/layout.rs). Host and web-preview call it; the demo can drag Stance. - CI runs
tools/shm-publish-testfor tessellation, standings copy, garage rider gating, and seqlock write. - In-game C++ HUD is frozen: standings, relative, and map only. The plugin reads
Holeshot-HUD.iniand never writes it.
0.10.0
Pick a different session preset in F8 while you are on track, or copy one l...
v0.12.0
Changelog
Unreleased
0.12.0
Controller gets a traced Xbox One pad; PlayStation stays dark schematic and Xbox stays light filled.
Overlay
- Controller skin follows Pad platform: PlayStation dark schematic, Xbox light filled. The Theme setting is hidden for now;
gamepad_themeis no longer written to config. - Dark Xbox schematic art (
gen_gamepad_xbox_dark.py): neutral ABXY outlines, Share/vent cluster, and L1/R1/L2/R2 shoulder labels (embedded for future Theme control). - Xbox One pad traced 1:1 from reference art in Holeshot colors: cream body, night-ink controls, colored ABXY. A press covers the whole control; triggers snap to full fill past 80%. DualShock drawing unchanged.
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the exe with a helper process (no PowerShell). - CI fails if the plugin C snapshot and the Rust
Snapshotlayout disagree (src/shm/abi.txt). - Session clock fixtures under
overlay/hud/tests/sessions/replay gate, lap, and timed ticks throughRaceStore. - HUD draw lives in
overlay/hud/src/render/*.rs(one file per widget, staticdraw_widgetslist). Settings panes and Hit dispatch live underoverlay/src/settings/. - Layout hit/resize geometry lives in
mxbo-hud(overlay/hud/src/layout.rs). Host and web-preview call it; the demo can drag Stance. - CI runs
tools/shm-publish-testfor tessellation, standings copy, garage rider gating, and seqlock write. - In-game C++ HUD is frozen: standings, relative, and map only. The plugin reads
Holeshot-HUD.iniand never writes it.
0.10.0
Pick a different session preset in F8 while you are on track, or copy one layout onto another.
Settings
- Pick any preset on track — edit Race while you warmup. The HUD still follows the live session. Copy to duplicates the open layout onto another preset, or all four.
- Speed, Liquids, and Temperature each have their own Metric / Imperial toggle. Upgrading copies your old single Units choice to all three.
Sec...
v0.11.1
Changelog
Unreleased
0.11.1
Practice and warmup on Motos; Analyze Compare starts at None.
Motos
- List chips All / Race / Practice / Saved. Practice sessions are stored. Warmup clean laps sit on the race visit as Warmup L#, then race L# (no Race/Warmup switch). A clean warmup is that rider’s fastest time and Compare line until a race lap beats it. Spectate / replay does not record.
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Live Analyze Follow keeps the dirt still; it no longer rebakes on sub-cm pan jitter.
- Analyze Back / Delete / Save tips stay on top of the lap row. At this spot still shows your speed, gear, throttle, height, and RPM when Compare is None. S1–S3 sit under Your laps.
Internals
- Analyze Compare defaults to None (you only). Other riders sit below it, fastest first.
- Analyze map dots hold the last recorded sample across a connection gap instead of snapping through missing data.
- Plugin last-callback.txt is only written on a plugin exception or Shutdown, not every race tick.
- Analyze says Connection (same red as Cut) when your stored line jumped; that is not a cut.
- Analyze Compare does not draw infield cuts after a hitch; those gaps stay broken. A session where riders vanish is that hitch, not everyone cutting.
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- Analyze dirt stays ~32 m wide when you zoom. Tight tracks thin only enough that lanes stay separate, so stored lines stay on the dirt.
- Motos Analyze lap, Compare, and Race/Warmup menus open again.
- A truncated or empty layout file no longer turns every widget off. First install still writes a new file.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the exe with a helper process (no PowerShell). - CI fails if the plugin C snapshot and the Rust
Snapshotlayout disagree (src/shm/abi.txt). - Session clock fixtures under
overlay/hud/tests/sessions/replay gate, lap, and timed ticks throughRaceStore. - HUD draw lives in
overlay/hud/src/render/*.rs(one file per widget, staticdraw_widgetslist). Settings panes and Hit dispatch live underoverlay/src/settings/. - Layout hit/resize geometry lives in
mxbo-hud(overlay/hud/src/layout.rs). Host and web-preview call it; the demo can drag Stance. - CI runs
tools/shm-publish-testfor tessellation, standings copy, garage rider gating, and seqlock write. - In-game C++ HUD is frozen: standings, relative, and map only. The plugin reads
Holeshot-HUD.iniand never writes it.
0.10.0
Pick a different session preset in F8 while you are on track, or copy one layout onto another.
Settings
- Pick any preset on track — edit Race while you warmup. The HUD still follows the live session. Copy to duplicates the open layout onto another preset, or all four.
- Speed, Liquids, and Temperature each have their own Metric / Imperial toggle. Upgrading copies your old single Units choice to all three.
Sectors / Delta Bar / Standings
- A crash in practice still counts the lap when you cross the line. The game often sends no last-lap time (or leaves the completed-lap count on the last clean lap); LAST, the lap log, and the Laps column now keep that crossing. Restart MX Bikes after install so the plugin can keep that estimate.
- Raising the Sectors font no longer stacks “vs. your best”, live times, and LAST on the next column.
- Sector split pills stay whole at a large font — they wrap the scaled type and sit above the rounded bottom.
0.9.0
A Telemetry strip for throttle and brake, plus analog bars and gear/speed. Header and footer slots can show gap to the rider ahead or behind y...
v0.11.0
Changelog
Unreleased
Internals
- Settings remembers where you left it, including a second monitor. The HUD overlay still follows MX Bikes on the game screen.
- Analyze L1 is violet from the gate until the finish; after that crossing it is orange.
- At this spot shows Compare speed, gear, and throttle next to yours. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData.
- Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below.
- SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom.
- A race win (P1 with a field) shows a gold crown on the Motos list and Analyze.
- Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap.
- Analyze track is wider so stored lines sit on the dirt.
- F8 Settings paints during a race. A long HUD frame no longer leaves a white Settings window.
0.11.0
NEW: Motos. After a race, compare your line against the field.
Motos
- NEW tab next to Widgets. Experimental. Starts off — Enable on the page (you see Analyze first).
- NEW Analyze: map beside SPEED / HEIGHT / throttle tapes. Zoom a corner. Compare another rider at the same spot.
- NEW Results of the field, lap stepper, gold crown on a win. Keep two weeks unless you Save.
- During a race, Motos opens that visit live.
Internals
- Shared memory is
Local\MXBOHudV15. Restart MX Bikes after the update so rider height, speed, and inputs reach the overlay. - F8 Settings paints during a race (was a white window when the HUD frame ran long).
- Motos (next to Widgets, experimental) starts off. Enable shows an Analyze preview, then records motos. It lists races on this PC as a timing sheet (when, track, riders, you, fastest) with trash and bookmark icons (hover says Delete / Save / Saved). Open one for a zoomable map, scrubber, and speed / height compare. F8 Motos during a moto opens that visit live (new bests and lines show on the next paint); Back stays on the list until you open Motos again. Analyze shows a dim Live label on the current moto. Live Analyze does not reload the session when the field is written every two seconds. The Analyze map clips to the well; the track and rider lines are smoothed. The Analyze track follows zoom with the lines. Save (bookmark) keeps that moto after two weeks. Delete (trash on the list, or Delete on Analyze) removes it, including Saved. After a week, other riders keep name, best lap, and finish — only you and the fastest keep a line. Lines stay in Motos, not on the live map. The stored line covers the whole lap at about 0.6 m spacing up to ~10 km. The Analyze track is wider so stored lines sit on the dirt. SPEED / HEIGHT tapes share one scale with Compare. Analyze dirt stays ~16 m wide when you zoom. Opening Analyze does not hitch on those dense lines. The Analyze track ribbon is cached so open stays smooth. Your laps is a stepper (
</ time />) plus a Race / Warmup menu for that visit, above the map, and opens on L1. Analyze L1 is violet from the gate until the finish; after that crossing it is orange. After you zoom, Follow pans the map with the scrubber, keeps your zoom, and zooms At this spot around that corner. The lap chip opens a menu over the map instead of pushing it down. The map sits beside At this spot; Compare is a rider menu of stored lines (name | class | time, wide enough to read); a cut tape still compares, a crash is skipped; times without a line stay in Results. Compare is each other rider’s fastest. Their map dot is at the same elapsed time as you, so a faster lap sits ahead on the dirt. Changing lap or compare puts the scrubber back at the start (L1 still draws from the gate; the you-dot starts on the finish line). Compare names include class (250 / 350 / 450). At this spot is the same place on the lap, not the map dots: speed, height, throttle, and brake (throttle and brake 0–1 so their line still draws) and fills to the map. At this spot shows Compare speed, gear, and throttle next to yours. At this spot uses | between yours and Compare. S1–S3 are yours only. A race win (P1 with a field) shows a gold crown on the list and Analyze. Analyze S/F matches the dirt width. S1–S3 marks sit on the track’s sector gates, same on every lap. Analyze Back, Delete, and Save are icons. Analyze puts the map beside SPEED / HEIGHT / THR tapes. At this spot sits under them. Compare sits next to Your laps. Results stay below. Old motos estimate Compare speed, throttle, and gear from the line and your gearbox; RPM is — unless the game stored it. New motos keep every bike's RaceVehicleData. SPD is you minus them in MPH or KPH (Settings units); green is faster. HT is meters, + is up (red). RPM is uncolored. Results reads as a table (P / name / best / last / class). Zoomed traces stay inside each well. The map draws the stored finish line. A cut or reset (a jump across the dirt) is kept ascut, never becomes fastest, and shows Cut above the map. Recording writes the field at most every two seconds so the overlay does not hitch the game. Warmup and race on the same visit are one row. Warmup is not stored; only races. Analyze Race / Warmup only if an older moto already has a warmup. A race starts the tape when the gate drops. A crash on your lap gets a mark; if someone was within about 4 m we show their name (a guess — the game does not say who hit you). Close crashes share one triangle and one name.
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the exe with a helper process (no PowerShell). - CI fails if the plugin C snapshot and the Rust
Snapshotlayout disagree (src/shm/abi.txt). - Session clock fixtures under
overlay/hud/tests/sessions/replay gate, lap, and timed ticks throughRaceStore. - HUD draw lives in
overlay/hud/src/render/*.rs(one file per widget, staticdraw_widgetslist). Settings panes and Hit dispatch live underoverlay/src/settings/. - Layout hit/resize geometry lives in
mxbo-hud(overlay/hud/src/layout.rs). Host and web-preview call it; the demo can drag Stance. - CI runs
tools/shm-publish-testfor tessellation, standings copy, garage rider gating, and seqlock write. - In-game C++ HUD is frozen: standings, relative, and map only. The plugin reads
Holeshot-HUD.iniand never writes it.
0.10.0
Pick a different session preset in F8 while you are on track, or copy one layout onto another.
Settings
- Pick any preset on track — edit Race while you warmup. The HUD still follows the live session. Copy to duplicates the open layout onto another preset, or all four.
- Speed, Liquids, and Temperature each have their own Metric / Imperial toggle. Upgrading copies your old single Units choice to all three.
Sectors / Delta Bar / Standings
- A crash in practice still counts the lap when you cross the line. The game often sends no last-lap time (or leaves the completed-lap count on the last clean lap); LAST, the lap log, and the Laps column now keep that crossing. Restart MX Bikes after install so the plugin can keep that estimate.
- Raising the Sectors font no longer stacks “vs. your best”, live times, and LAST on the next column.
- Sector split pills stay whole at a large font — they wrap the scaled type and sit above the rounded bottom.
0.9.0
A Telemetry strip for throttle and brake, plus analog bars and gear/speed. Header and footer slots can show gap to the rider ahead or behind you. Restart MX Bikes after install so the V14 plugin can publish those inputs.
Telemetry
- New Cockpit widget: overlaid throttle (green) and brake (red) traces, clutch / brake / throttle bars, and a gear/speed dial with an orange RPM arc. Traces are smooth curves. Speed sits under gear. Gear flushes faint red at the shift light or limiter. Optional steer trace and bar (off by default). Settings groups Show, then channels under the open section. Riding uses your bike inputs. Spectate follows that rider’s throttle and front brake.
Dash
- Shift color (off by default) flushes the gear faint red at the shift light or limiter. Simple dash flushes the gear plaque.
- Footer Gap, Interval, and Gap behind are live running gaps to the riders one live place ahead and behind. Same lap ticks along the track; a live lap or more is
1L/-1L. A pass switches who. Standings’ Gap / Interval columns are still line times.
Standings
- Gap ahead and Gap behind are header/footer options. Ahead is the rider one live place in front of you; behind is the rider one place back. A pass switches who that is immediately. Same lap is a live running time along the track; a lap or more is
1L/-1L.
Relative
- The same header/footer options use race place, not the riders in the Relative table. Same lap ticks along the track toward that rider; a live lap or more is
1L/-1L.
H-Standings
- Side slots can show Gap ahead and Gap behind (place neighbors). Card gaps s...
v0.10.3
Changelog
Unreleased
0.10.3
Quit overlay unlocks the HUD exe, and the next MX Bikes start still opens the overlay.
Overlay
- Quit overlay exits and unlocks
Holeshot-HUD.exe. If Open when MX Bikes opens is on, a temp helper starts the HUD again the next time MX Bikes launches (after this session of the game ends). If MX Bikes is still open, another temp helper keeps the taskbar hidden on the game screen until you tab out or close the game.
0.10.2
The HUD starts with MX Bikes again after you Quit overlay.
Overlay
- Open when MX Bikes opens still starts the HUD on the next race after Quit overlay or an update. You do not need to reboot.
0.10.1
Internals
- Auto-update only takes the GitHub
windows-x64.zip, checks its SHA-256 digest, and replaces the exe with a helper process (no PowerShell). - CI fails if the plugin C snapshot and the Rust
Snapshotlayout disagree (src/shm/abi.txt). - Session clock fixtures under
overlay/hud/tests/sessions/replay gate, lap, and timed ticks throughRaceStore. - HUD draw lives in
overlay/hud/src/render/*.rs(one file per widget, staticdraw_widgetslist). Settings panes and Hit dispatch live underoverlay/src/settings/. - Layout hit/resize geometry lives in
mxbo-hud(overlay/hud/src/layout.rs). Host and web-preview call it; the demo can drag Stance. - CI runs
tools/shm-publish-testfor tessellation, standings copy, garage rider gating, and seqlock write. - In-game C++ HUD is frozen: standings, relative, and map only. The plugin reads
Holeshot-HUD.iniand never writes it.
0.10.0
Pick a different session preset in F8 while you are on track, or copy one layout onto another.
Settings
- Pick any preset on track — edit Race while you warmup. The HUD still follows the live session. Copy to duplicates the open layout onto another preset, or all four.
- Speed, Liquids, and Temperature each have their own Metric / Imperial toggle. Upgrading copies your old single Units choice to all three.
Sectors / Delta Bar / Standings
- A crash in practice still counts the lap when you cross the line. The game often sends no last-lap time (or leaves the completed-lap count on the last clean lap); LAST, the lap log, and the Laps column now keep that crossing. Restart MX Bikes after install so the plugin can keep that estimate.
- Raising the Sectors font no longer stacks “vs. your best”, live times, and LAST on the next column.
- Sector split pills stay whole at a large font — they wrap the scaled type and sit above the rounded bottom.
0.9.0
A Telemetry strip for throttle and brake, plus analog bars and gear/speed. Header and footer slots can show gap to the rider ahead or behind you. Restart MX Bikes after install so the V14 plugin can publish those inputs.
Telemetry
- New Cockpit widget: overlaid throttle (green) and brake (red) traces, clutch / brake / throttle bars, and a gear/speed dial with an orange RPM arc. Traces are smooth curves. Speed sits under gear. Gear flushes faint red at the shift light or limiter. Optional steer trace and bar (off by default). Settings groups Show, then channels under the open section. Riding uses your bike inputs. Spectate follows that rider’s throttle and front brake.
Dash
- Shift color (off by default) flushes the gear faint red at the shift light or limiter. Simple dash flushes the gear plaque.
- Footer Gap, Interval, and Gap behind are live running gaps to the riders one live place ahead and behind. Same lap ticks along the track; a live lap or more is
1L/-1L. A pass switches who. Standings’ Gap / Interval columns are still line times.
Standings
- Gap ahead and Gap behind are header/footer options. Ahead is the rider one live place in front of you; behind is the rider one place back. A pass switches who that is immediately. Same lap is a live running time along the track; a lap or more is
1L/-1L.
Relative
- The same header/footer options use race place, not the riders in the Relative table. Same lap ticks along the track toward that rider; a live lap or more is
1L/-1L.
H-Standings
- Side slots can show Gap ahead and Gap behind (place neighbors). Card gaps stay vs you.
0.8.0
Practice, warmup, race, and spectate each keep their own HUD. The overlay follows the game window.
Overlay
- Four presets store the full widget setup (show, place, columns, look). Font, units, the settings key, and Labs stay shared. The overlay switches when the session does.
- Spectating and replay use the Spectate layout even during a race.
- Leaving spectate for the garage hides the HUD. Leftover rider dots are not a session.
- Your current
Holeshot-HUD.iniis copied into all four slots the first time, so nothing disappears. - Standings and Relative glass follows the visible rows. A short saved widget box no longer leaves later names on the game.
- The HUD follows the MX Bikes window. Windowed stays on that window — we do not stretch the game. Borderless stays 1px short of exclusive fullscreen so Windows still draws the overlay; the HUD paints to the bottom edge so that strip is not a hole.
- The game-monitor taskbar hides only while the game covers that screen. A smaller windowed session keeps the Windows bar.
- Warmup no longer shows blue or red lapping colors. Leaked extras used to look like a race.
- OBS Game Capture and Discord “share this window” do not include the HUD. Use Display Capture, or Window Capture of Holeshot HUD.
Dash
- Lapped riders no longer flash white before the checkered. Being waved off on 4/5 (or a first-lap crash that is not a last lap) is checkered only.
- P1 puts a gold crown above the place number.
- Red flag wrap when you are a lap up and closing on a rider ahead (~40 m). Own toggle, off by default.
- Yellow, blue, and red flag cloth is quieter — ochre, slate, and brick instead of neon.
- 8:00+1 checkered waits until you finish the extra. Being a lap down, or the leader taking the flag, does not wave you off.
- 2–8 lap races show
1 / Nafter the gate. A glitched clock that jumps to 16:00 and counts up is ignored. - Timed races from 5:00 to 60:00 with +1…+4 extras stay a countdown, including
60:00 +4. A leftover 8:00 on a 4-lap moto is still1 / 4.
Sectors
- A LAP column on the right shows the whole lap: running time over full-lap delta while you are out, last lap in the log. Same tape as Delta Bar.
- Ideal is best S1 + S2 + S3 (maybe from different laps): a night-ink pill in LAP, and an IDEAL row in the log.
- LAST S2 is the sector time, not time from the line. A cumulative plugin split no longer shows as
1:21when S2 was40. - On glass (opacity under 40%), floating type gets a 1px night-ink rim so it still reads on a bright sky. Split pills stay.
- Columns reserve the widest time format so they do not jump. Times sit centered in each column.
Radar
- Range (6–30 m, default 12) sets how far beside and behind dots show. Rings stay 6 m and 12 m; a longer range just puts those riders further out.
- The bike mark has a night-ink outline so it still reads on a light sky when the panel is glass.
H-Standings
- Cards ease into their new slot when someone passes, same motion as Standings rows.
Flags
- Same white/checkered timing as Dash: no white flash when you are lapped and the next line is checkered.
- Red flag for the same infer. Own toggle, off by default. Old
flag_cautionstill only turns yellow and blue on. - Same muted yellow, blue, and red cloth as Dash.
Settings
- On track, F8 edits the live preset. The other chips stay visible but locked — “On track — Spectate only. Others in the garage.” In the garage, pick Practice / Warmup / Race / Spectate, or Copy to all.
0.7.2
Ctrl-drag to the bottom of the game no longer opens Start or freezes the HUD. Win+Tab still shows the taskbar.
Overlay
- Ctrl-drag clips the cursor to the HUD so the 1px gap under the game cannot open Start.
- Win+Tab, Task View, and the Win key still show the game-monitor taskbar.
0.7.1
Start, Quick Settings, and moving MX Bikes to another screen no longer freeze the HUD.
Overlay
- Hovering Start on another monitor no longer opens Start on the MX Bikes screen or freezes the HUD. The game-monitor taskbar comes back while the pointer is off that screen so Win11 Start can stay put.
- Moving MX Bikes to another screen hides that screen's taskbar and brings the old one back.
- Quick Settings, the clock, Task View, and the other Win11 flyouts no longer poke Explorer the way Start did.
0.7.0
Controller is a new Labs widget for live pad inputs. Delta Bar and Sectors snap live time to the game's official splits.
Controller
- Turn on Experimental widgets in Settings → Labs, then Show on overlay. It starts hidden. This is your local pad, not plugin telemetry.
- DualShock / DualSense HID draws the PlayStation pad. Steam Xbox mapping draws an Xbox Series pad (A/B/X/Y, offset sticks), not DualShock with Xbox labels.
- Analog sticks leave their wells. Triggers (L2/R2 or LT/RT) fill from the curved bottom lip. Bumpers (L1/R1 or LB/RB) light orange while held.
- Face buttons and D-pad fill out to that pad’s outline. Bumpers fill the rounded shoulder. Pressed labels stay the drawing’s cream strokes. No pad shows No controller.
- The pad sits on the game with no plaque (
gamepad_bg = 0). Panel opacity in settings still adds glass if you want it. Stick wells stay opaque.
Delta Bar
- Live clock and tape snap to official S1 and S2 so the hairline matches the game. Plugin
_fTimestill runs until that first split. Crossing the line does not snap to full lap time.
Sectors
- Frozen cells show the official split vs your save...