Skip to content

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 0x1c bytes (end node, start node, points, values, count) and a node 0x24 (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_004aa8a0 places 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 at 0x41b6ac before calling the controller. The controllers session found that the AI's draw clock matches Gold's step logs only with the scaled time.
  • .BL4 tracks. 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 .BL4 files give the same world as their .BL3 twins. One exception is LOON, whose .BL4 lacks two flag bits that its .BL3 has.

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).

Prose CC0 1.0, code Apache 2.0. POD: Planet of Death is © Ubi Soft; none of its files are on this site.