Back on the track
2026-10-24, the game app's session.
What was tried
When a car falls through the track, or lies upside down for two and a half seconds, Gold puts it back (FUN_00415730). The car goes to the middle of the face it last touched, heading along the race path at its driver's tracker. pod-physics has ported this. It reads the path graph from memory, and the world built from the disc did not hold the paths, so a car put back would have kept its own heading. The live race also never called the upside-down put-back, and it never put the cars on the paths at the start.
What was found
- The layout. Read from the running game: a link is
0x1cbytes (end node, start node, points, values, count) and a node0x24(position, the links out, the value). The paths are now laid out that way from pod-race's graph (pod_world::paths). At the eight drivers' trackers, the step the put-back reads matches the running game's. - Two "next point" functions. At a link's last point, the put-back's step (
FUN_004abae8) goes to the only outgoing link's first point. The race tracker's (FUN_004b0b98) goes to the node's position. The first test assumed they were the same. - The trackers' distance.
FUN_004aa8a0places a tracker by the larger of |dx| and |dy|, or four times |dz| when that is larger. With that distance, all eight cars' trackers are the original's at the first step. With |dx| + |dy| + |dz| the player's was one point off.
Measured: the tests compare the put-back's reading of the paths at every point, and the eight trackers with the original's first step. Another test turns each car backwards and puts it back. Every car comes back level and heading along the path.
Two more things came in from the other sessions:
- Catch-up. Each computer car's step now runs at its own time: the step's time scaled by
FUN_00422be8, as the car step multiplies it at0x41b6acbefore calling the controller. The controllers session found that the AI's draw clock matches Gold's step logs only with the scaled time. .BL4tracks. Their sector faces carry one word more before the flags, so the world read the wrong word and every face lost its ground and wall bits. With that fixed, Gold's.BL4files give the same world as their.BL3twins. One exception is LOON, whose.BL4lacks two flag bits that its.BL3has.
What is next
FUN_004aa8a0's graph search, for the tracker after a put-back.- The damage record for the race display (
FUN_0047ed1c). - Fan tracks: TRON's cars still fall from their start records, and ARCADE hangs in the physics on a zero vector (the original stops with an error there).