Paingod's Passage
pain
@@ -224,7 +225,7 @@ h1 em { font-style: normal; color: var(--sys); }From 56b2af5208f39731206964c7af52f402421076ed Mon Sep 17 00:00:00 2001
From: Cyd Red Planet 4.12 · plans drawn from RPL4.RES There are no track maps in the game's files — the console had
- pictures of them and those pictures did not survive. But the game draws one every
- race: the map screen in the pod renders the track from above. These plans
- are that same drawing, reconstructed outside the game — the same
- outlines, from the same placements, straight down.Every track,
seen from above
pain
@@ -224,7 +225,7 @@ h1 em { font-style: normal; color: var(--sys); }blade
@@ -240,7 +241,7 @@ h1 em { font-style: normal; color: var(--sys); }yip
@@ -256,7 +257,7 @@ h1 em { font-style: normal; color: var(--sys); }otto
@@ -272,7 +273,7 @@ h1 em { font-style: normal; color: var(--sys); }frstrm
@@ -288,7 +289,7 @@ h1 em { font-style: normal; color: var(--sys); }wise
@@ -304,7 +305,7 @@ h1 em { font-style: normal; color: var(--sys); }burnt
@@ -320,7 +321,7 @@ h1 em { font-style: normal; color: var(--sys); }brewers
@@ -336,7 +337,7 @@ h1 em { font-style: normal; color: var(--sys); }lyzlane
@@ -352,7 +353,7 @@ h1 em { font-style: normal; color: var(--sys); }headoff
@@ -368,7 +369,7 @@ h1 em { font-style: normal; color: var(--sys); }headmf
@@ -384,7 +385,7 @@ h1 em { font-style: normal; color: var(--sys); }tourdemars
@@ -400,7 +401,7 @@ h1 em { font-style: normal; color: var(--sys); }donut
@@ -416,7 +417,7 @@ h1 em { font-style: normal; color: var(--sys); }trough
@@ -432,7 +433,7 @@ h1 em { font-style: normal; color: var(--sys); }rpweekend2014
@@ -448,7 +449,7 @@ h1 em { font-style: normal; color: var(--sys); }wiserguys
@@ -480,7 +481,7 @@ h1 em { font-style: normal; color: var(--sys); }arena
@@ -498,30 +499,38 @@ h1 em { font-style: normal; color: var(--sys); }No track matches that.
18 tracks: 9 shipped in the 4.10 arcade cabinets, 2 added
- in 4.11, 7 built by the community afterwards. Each plan follows
- NavDisplay::DrawStatic: for every placement in the map's instance
- stream, look up that model's GaugeImage — a small set of outlines
- in world units, the same ones the pod's map screen draws — and lay it down
- rotated and positioned. A placement whose model has no gauge image is skipped here
- exactly as the map screen skips it, which is why a card can say fewer placements
- carry map art than the track contains.
Two things are drawn plainer than the pod draws them, so the plan reads
- as an outline. Nearly every track is one model repeated — cn3, a
- wall bar whose gauge image is two closed 25×5 rectangles. Five metres of wall
- thickness is finer than the plan can resolve, so each bar is collapsed to the
- centreline between its short edges: one stroke for one wall, instead of two parallel
- lines and two end caps several hundred times over. Walls stacked to build height land
- on each other seen from above, and are drawn once. Placements standing alone more than
- 200 units from any other are dropped — fourteen tracks park a single bar at
- (1200, 0, 0) far off the course, and one stray placement stretches the frame
- to twelve times the width of the track. A real branch keeps its neighbours and stays:
- Paingod's second canyon is sixty bars out at x = -400.
So the walls are the canyon walls and the chambers are real chambers, - but there is still no driving surface: the map draws what lines the route, never the - tarmac. Extent and relief are the span of the drawn outlines in world units, so a - long thin plan is a point-to-point run and a squat one a circuit or an arena. - Tracks marked NOT IN THE MENU exist in the resource file but the setup screen does - not offer them.
+ in 4.11, 7 built by the community afterwards. Drawing what the pod's map screen + draws turns out not to give a map. That screen follows +NavDisplay::DrawStatic, laying down each placement's
+ GaugeImage, and nearly every placement in every track is the same
+ piece: cn3, whose image is two 25×5 bars at x 19.5–44.5
+ and -44.5–-19.5. That is not a wall running along the route, it is a wall thrown
+ across it with a 39 unit gate in the middle, and the piece's collision solid says the
+ same. A few hundred of those is a row of ticks, not a course.
+ But the gate is the point: cn3's own origin sits in the
+ opening, so every placement marks somewhere the race passes through. Walk the gates in
+ the order the course visits them — nearest to nearest, starting from the end
+ furthest out, beginning a new line rather than reaching when the next gate is too far
+ — and the track draws itself. Walls stacked for height repeat the same opening
+ and count once. Placements standing alone more than 200 units from any other are
+ dropped: fourteen tracks park a single piece at (1200, 0, 0) well off the
+ course, and one stray placement stretches the frame to twelve times the width of the
+ track. A real branch keeps its neighbours and stays — Paingod's second canyon is
+ sixty pieces out at x = -400.
One track is drawn the other way. Chaining nearest neighbours across a + regular grid invents a maze-like path out of nothing but the order the points happened + to be visited in, and a plan has no business inventing a track layout. So each track is + tested first: count how many neighbours a gate has within 1.6× the typical + spacing. A corridor gives each gate the one ahead and the one behind; a floor of + obstacles gives it four or more. Seventeen tracks score 1 or 2 and are drawn as a + course. The large arena scores 8 on an exact 100 unit grid, so it keeps its wall blocks + instead — and the small arena, which scores 2, really is the maze it looks like.
+There is still no driving surface anywhere in the file: the track is + walls and gates, never tarmac. Extent and relief are the span of the placed geometry in + world units, so a long thin plan is a point-to-point canyon run — most of the + arcade tracks are exactly that, a few hundred units wide and several thousand long + — and a squat one is a circuit or an arena. Tracks marked NOT IN THE MENU exist + in the resource file but the setup screen does not offer them.