From fbbb66f4f3c6eabac65d82f5b24fd3c7d4bc43ac Mon Sep 17 00:00:00 2001 From: David Thomas Date: Sat, 20 Jan 2024 17:45:09 +0000 Subject: [PATCH] Improve map format page --- ChaseHQ.py | 8 +++--- ChaseHQ.ref | 72 +++++++++++++++++++++++++++-------------------------- 2 files changed, 41 insertions(+), 39 deletions(-) diff --git a/ChaseHQ.py b/ChaseHQ.py index aadc57d..c3f66c8 100755 --- a/ChaseHQ.py +++ b/ChaseHQ.py @@ -72,16 +72,16 @@ def decode_nibble_rle(self, cwd, base, typename, names, showlength, follow): def map_curvature(self, cwd, base): curvemap = {0: "Curve Straight", 1: "Curve Right", - 2: "Curve Hard Right", - 3: "Curve Very Hard Right", + 2: "Curve Right Hard", + 3: "Curve Right Very Hard", 4: "Curve 4 XXX", 5: "Curve 5 XXX", 6: "Curve 6 XXX", 7: "Curve 7 XXX", 8: "Curve Straight (alt)", 9: "Curve Left", - 10: "Curve Hard Left", - 11: "Curve Very Hard Left", + 10: "Curve Left Hard", + 11: "Curve Left Very Hard", 12: "Curve 12 XXX", 13: "Curve 13 XXX", 14: "Curve 14 XXX", diff --git a/ChaseHQ.ref b/ChaseHQ.ref index 1700888..12bc879 100644 --- a/ChaseHQ.ref +++ b/ChaseHQ.ref @@ -48,7 +48,7 @@ CommonGraphics PageContent=#INCLUDE(PageContent:MapFormatX) [PageContent:MapFormatX] -

Each stage's map is composed of six separate streams of data. They are: +

Each stage's map is composed of six separate variable-length streams of data. They are:

-

Curvature controls the left-right turn of the road. It is stored as a sequence of bytes of the form $CT where $C is a count (0..15) and $T is a type. The valid types are: +

Curvature controls the left-right turn of the road. It is stored as a sequence of bytes of the form $CT where $C is a count (1..15) and $T is a type. The valid types are:

A zero byte in the stream is an escape which can be followed by one of: @@ -81,9 +82,9 @@ PageContent=#INCLUDE(PageContent:MapFormatX)

  • Other values are invalid. -

    This escape setup is the same for all the other streams. +

    This escape format the same for all the other streams. -

    Height controls the up-down inclination of the road. It uses the same encoding but the type field instead indicates an incline. Its valid values are: +

    Height controls the up-down inclination of the road. It uses the same encoding as curvature but the type field instead defines the road's inclination. Its valid values are:

    -

    Lanes use a different scheme: each first byte is a count and the following byte is the data. The (currently understood) valid data values are: +

    Lanes use a different scheme: pairs of bytes. The first byte is a count and the following byte is the data. The currently understood valid data values are:

    -

    Right and Left side objects are nibble RLE encoded as for curvature data. +

    Right and Left side objects are encoded in nibbles as for curvature data. -Object types (for Stage 1) are: +The object types (for Stage 1) are:

    -

    Hazards consists of only byte counters and an extended form of the escapes with the following additional codes: +

    Hazards are encoded only as byte counters and an extended form of the escapes with the following additional codes: