summaryrefslogtreecommitdiff
path: root/src/table/roadveh_movement.h
diff options
context:
space:
mode:
authorbelugas <belugas@openttd.org>2008-02-07 17:01:06 +0000
committerbelugas <belugas@openttd.org>2008-02-07 17:01:06 +0000
commit034150c199a07279d00df06194c5d06741e8b33d (patch)
treee6dd863d3fd95a91d4a216a2440843d9772741bb /src/table/roadveh_movement.h
parentb68f398cacbeff7adb49e2d9ac8f08ecbacd1c64 (diff)
downloadopenttd-034150c199a07279d00df06194c5d06741e8b33d.tar.xz
(svn r12081) -Codechange: Rename table/roadveh.h to table/roadveh_movment.h
It is more descriptive name and it will not upset the generate script anymore
Diffstat (limited to 'src/table/roadveh_movement.h')
-rw-r--r--src/table/roadveh_movement.h1470
1 files changed, 1470 insertions, 0 deletions
diff --git a/src/table/roadveh_movement.h b/src/table/roadveh_movement.h
new file mode 100644
index 000000000..a6f3e543a
--- /dev/null
+++ b/src/table/roadveh_movement.h
@@ -0,0 +1,1470 @@
+/* $Id$ */
+
+/** @file table/roadveh_movement.h Data about how a road vehicle must drive on a tile */
+
+static const RoadDriveEntry _roadveh_drive_data_0[] = {
+ {15, 5},
+ {14, 5},
+ {13, 5},
+ {12, 5},
+ {11, 5},
+ {10, 5},
+ { 9, 5},
+ { 8, 5},
+ { 7, 5},
+ { 6, 5},
+ { 5, 5},
+ { 4, 5},
+ { 3, 5},
+ { 2, 5},
+ { 1, 5},
+ { 0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_1[] = {
+ {5, 0},
+ {5, 1},
+ {5, 2},
+ {5, 3},
+ {5, 4},
+ {5, 5},
+ {5, 6},
+ {5, 7},
+ {5, 8},
+ {5, 9},
+ {5, 10},
+ {5, 11},
+ {5, 12},
+ {5, 13},
+ {5, 14},
+ {5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_2[] = {
+ {5, 0},
+ {5, 1},
+ {5, 2},
+ {4, 3},
+ {3, 4},
+ {2, 5},
+ {1, 5},
+ {0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_3[] = {
+ {15, 5},
+ {14, 5},
+ {13, 5},
+ {12, 5},
+ {11, 5},
+ {10, 5},
+ { 9, 6},
+ { 8, 7},
+ { 7, 8},
+ { 6, 9},
+ { 5, 10},
+ { 5, 11},
+ { 5, 12},
+ { 5, 13},
+ { 5, 14},
+ { 5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_4[] = {
+ { 5, 0},
+ { 5, 1},
+ { 5, 2},
+ { 5, 3},
+ { 5, 4},
+ { 5, 5},
+ { 6, 6},
+ { 7, 7},
+ { 8, 8},
+ { 9, 9},
+ {10, 9},
+ {11, 9},
+ {12, 9},
+ {13, 9},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_5[] = {
+ {0, 9},
+ {1, 9},
+ {2, 9},
+ {3, 10},
+ {4, 11},
+ {5, 12},
+ {5, 13},
+ {5, 14},
+ {5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_6[] = {
+ {0, 6},
+ {0, 7},
+ {0, 8},
+ {0, 9},
+ {RDE_TURNED | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_7[] = {
+ {6, 15},
+ {7, 15},
+ {8, 15},
+ {9, 15},
+ {RDE_TURNED | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_8[] = {
+ { 0, 9},
+ { 1, 9},
+ { 2, 9},
+ { 3, 9},
+ { 4, 9},
+ { 5, 9},
+ { 6, 9},
+ { 7, 9},
+ { 8, 9},
+ { 9, 9},
+ {10, 9},
+ {11, 9},
+ {12, 9},
+ {13, 9},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_9[] = {
+ {9, 15},
+ {9, 14},
+ {9, 13},
+ {9, 12},
+ {9, 11},
+ {9, 10},
+ {9, 9},
+ {9, 8},
+ {9, 7},
+ {9, 6},
+ {9, 5},
+ {9, 4},
+ {9, 3},
+ {9, 2},
+ {9, 1},
+ {9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_10[] = {
+ {0, 9},
+ {1, 9},
+ {2, 9},
+ {3, 9},
+ {4, 9},
+ {5, 9},
+ {6, 8},
+ {7, 7},
+ {8, 6},
+ {9, 5},
+ {9, 4},
+ {9, 3},
+ {9, 2},
+ {9, 1},
+ {9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_11[] = {
+ { 9, 15},
+ { 9, 14},
+ { 9, 13},
+ {10, 12},
+ {11, 11},
+ {12, 10},
+ {13, 9},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_12[] = {
+ {15, 5},
+ {14, 5},
+ {13, 5},
+ {12, 4},
+ {11, 3},
+ {10, 2},
+ { 9, 1},
+ { 9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_13[] = {
+ {9, 15},
+ {9, 14},
+ {9, 13},
+ {9, 12},
+ {9, 11},
+ {9, 10},
+ {8, 9},
+ {7, 8},
+ {6, 7},
+ {5, 6},
+ {4, 5},
+ {3, 5},
+ {2, 5},
+ {1, 5},
+ {0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_14[] = {
+ {15, 8},
+ {15, 7},
+ {15, 6},
+ {15, 5},
+ {RDE_TURNED | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_15[] = {
+ {8, 0},
+ {7, 0},
+ {6, 0},
+ {5, 0},
+ {RDE_TURNED | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_16[] = {
+ {15, 9},
+ {14, 9},
+ {13, 9},
+ {12, 9},
+ {11, 9},
+ {10, 9},
+ { 9, 9},
+ { 8, 9},
+ { 7, 9},
+ { 6, 9},
+ { 5, 9},
+ { 4, 9},
+ { 3, 9},
+ { 2, 9},
+ { 1, 9},
+ { 0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_17[] = {
+ {9, 0},
+ {9, 1},
+ {9, 2},
+ {9, 3},
+ {9, 4},
+ {9, 5},
+ {9, 6},
+ {9, 7},
+ {9, 8},
+ {9, 9},
+ {9, 10},
+ {9, 11},
+ {9, 12},
+ {9, 13},
+ {9, 14},
+ {9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_18[] = {
+ {9, 0},
+ {9, 1},
+ {9, 2},
+ {9, 3},
+ {9, 4},
+ {9, 5},
+ {8, 6},
+ {7, 7},
+ {6, 8},
+ {5, 9},
+ {4, 9},
+ {3, 9},
+ {2, 9},
+ {1, 9},
+ {0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_19[] = {
+ {15, 9},
+ {14, 9},
+ {13, 9},
+ {12, 10},
+ {11, 11},
+ {10, 12},
+ { 9, 13},
+ { 9, 14},
+ { 9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_20[] = {
+ { 9, 0},
+ { 9, 1},
+ {10, 2},
+ {11, 3},
+ {12, 4},
+ {13, 5},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_21[] = {
+ {0, 5},
+ {1, 5},
+ {2, 5},
+ {3, 5},
+ {4, 5},
+ {5, 6},
+ {6, 7},
+ {7, 8},
+ {8, 9},
+ {9, 10},
+ {9, 11},
+ {9, 12},
+ {9, 13},
+ {9, 14},
+ {9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_22[] = {
+ {0, 8},
+ {0, 7},
+ {0, 6},
+ {0, 5},
+ {RDE_TURNED | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_23[] = {
+ {8, 15},
+ {7, 15},
+ {6, 15},
+ {5, 15},
+ {RDE_TURNED | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_24[] = {
+ { 0, 5},
+ { 1, 5},
+ { 2, 5},
+ { 3, 5},
+ { 4, 5},
+ { 5, 5},
+ { 6, 5},
+ { 7, 5},
+ { 8, 5},
+ { 9, 5},
+ {10, 5},
+ {11, 5},
+ {12, 5},
+ {13, 5},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_25[] = {
+ {5, 15},
+ {5, 14},
+ {5, 13},
+ {5, 12},
+ {5, 11},
+ {5, 10},
+ {5, 9},
+ {5, 8},
+ {5, 7},
+ {5, 6},
+ {5, 5},
+ {5, 4},
+ {5, 3},
+ {5, 2},
+ {5, 1},
+ {5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_26[] = {
+ {0, 5},
+ {1, 5},
+ {2, 5},
+ {3, 4},
+ {4, 3},
+ {5, 2},
+ {5, 1},
+ {5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_27[] = {
+ { 5, 15},
+ { 5, 14},
+ { 5, 13},
+ { 5, 12},
+ { 5, 11},
+ { 5, 10},
+ { 6, 9},
+ { 7, 8},
+ { 8, 7},
+ { 9, 6},
+ {10, 5},
+ {11, 5},
+ {12, 5},
+ {13, 5},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_28[] = {
+ {15, 9},
+ {14, 9},
+ {13, 9},
+ {12, 9},
+ {11, 9},
+ {10, 9},
+ { 9, 9},
+ { 8, 8},
+ { 7, 7},
+ { 6, 6},
+ { 5, 5},
+ { 5, 4},
+ { 5, 3},
+ { 5, 2},
+ { 5, 1},
+ { 5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_29[] = {
+ {5, 15},
+ {5, 14},
+ {5, 13},
+ {5, 12},
+ {4, 11},
+ {3, 10},
+ {2, 9},
+ {1, 9},
+ {0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_30[] = {
+ {15, 6},
+ {15, 7},
+ {15, 8},
+ {15, 9},
+ {RDE_TURNED | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_31[] = {
+ {6, 0},
+ {7, 0},
+ {8, 0},
+ {9, 0},
+ {RDE_TURNED | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_32[] = {
+ {15, 5},
+ {14, 5},
+ {13, 6},
+ {13, 7},
+ {13, 8},
+ {13, 9},
+ {13, 10},
+ {13, 11},
+ {12, 12},
+ {11, 12},
+ {10, 12},
+ { 9, 12},
+ { 8, 12},
+ { 7, 12},
+ { 6, 12},
+ { 5, 11},
+ { 5, 10},
+ { 5, 9},
+ { 5, 8},
+ { 5, 7},
+ { 5, 6},
+ { 5, 7},
+ { 5, 8},
+ { 5, 9},
+ { 5, 10},
+ { 5, 11},
+ { 6, 12},
+ { 7, 12},
+ { 8, 12},
+ { 9, 12},
+ {10, 12},
+ {11, 12},
+ {12, 12},
+ {13, 11},
+ {13, 10},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_33[] = {
+ { 5, 0},
+ { 5, 1},
+ { 6, 2},
+ { 7, 2},
+ { 8, 2},
+ { 9, 2},
+ {10, 2},
+ {11, 2},
+ {12, 3},
+ {12, 4},
+ {12, 5},
+ {12, 6},
+ {12, 7},
+ {12, 8},
+ {12, 9},
+ {11, 10},
+ {10, 10},
+ { 9, 10},
+ { 8, 10},
+ { 7, 10},
+ { 6, 10},
+ { 7, 10},
+ { 8, 10},
+ { 9, 10},
+ {10, 10},
+ {11, 10},
+ {12, 9},
+ {12, 8},
+ {12, 7},
+ {12, 6},
+ {12, 5},
+ {12, 4},
+ {12, 3},
+ {11, 2},
+ {10, 2},
+ { 9, 1},
+ { 9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_34[] = {
+ {15, 5},
+ {14, 5},
+ {13, 6},
+ {13, 7},
+ {13, 8},
+ {13, 9},
+ {13, 10},
+ {13, 11},
+ {12, 12},
+ {11, 12},
+ {10, 12},
+ { 9, 11},
+ { 9, 10},
+ { 9, 9},
+ { 9, 8},
+ { 9, 7},
+ { 9, 6},
+ { 9, 7},
+ { 9, 8},
+ { 9, 9},
+ { 9, 10},
+ { 9, 11},
+ {10, 12},
+ {11, 12},
+ {12, 12},
+ {13, 11},
+ {13, 10},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_35[] = {
+ { 5, 0},
+ { 5, 1},
+ { 6, 2},
+ { 7, 2},
+ { 8, 2},
+ { 9, 2},
+ {10, 2},
+ {11, 2},
+ {12, 3},
+ {12, 4},
+ {12, 5},
+ {11, 6},
+ {10, 6},
+ { 9, 6},
+ { 8, 6},
+ { 7, 6},
+ { 6, 6},
+ { 7, 6},
+ { 8, 6},
+ { 9, 6},
+ {10, 6},
+ {11, 6},
+ {12, 5},
+ {12, 4},
+ {12, 3},
+ {11, 2},
+ {10, 2},
+ { 9, 1},
+ { 9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_40[] = {
+ { 0, 9},
+ { 1, 9},
+ { 2, 8},
+ { 2, 7},
+ { 2, 6},
+ { 2, 5},
+ { 2, 4},
+ { 3, 3},
+ { 4, 3},
+ { 5, 3},
+ { 6, 3},
+ { 7, 3},
+ { 8, 3},
+ { 9, 3},
+ {10, 4},
+ {10, 5},
+ {10, 6},
+ {10, 7},
+ {10, 8},
+ {10, 9},
+ {10, 8},
+ {10, 7},
+ {10, 6},
+ {10, 5},
+ {10, 4},
+ { 9, 3},
+ { 8, 3},
+ { 7, 3},
+ { 6, 3},
+ { 5, 3},
+ { 4, 3},
+ { 3, 3},
+ { 2, 4},
+ { 1, 5},
+ { 0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_41[] = {
+ {9, 15},
+ {9, 14},
+ {8, 13},
+ {7, 13},
+ {6, 13},
+ {5, 13},
+ {4, 13},
+ {3, 12},
+ {3, 11},
+ {3, 10},
+ {3, 9},
+ {3, 8},
+ {3, 7},
+ {3, 6},
+ {4, 5},
+ {5, 5},
+ {6, 5},
+ {7, 5},
+ {8, 5},
+ {9, 5},
+ {8, 5},
+ {7, 5},
+ {6, 5},
+ {5, 5},
+ {4, 5},
+ {3, 6},
+ {3, 7},
+ {3, 8},
+ {3, 9},
+ {3, 10},
+ {3, 11},
+ {3, 12},
+ {4, 13},
+ {5, 14},
+ {5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_42[] = {
+ {0, 9},
+ {1, 9},
+ {2, 8},
+ {2, 7},
+ {2, 6},
+ {2, 5},
+ {2, 4},
+ {3, 3},
+ {4, 3},
+ {5, 3},
+ {6, 4},
+ {6, 5},
+ {6, 6},
+ {6, 7},
+ {6, 8},
+ {6, 9},
+ {6, 8},
+ {6, 7},
+ {6, 6},
+ {6, 5},
+ {6, 4},
+ {5, 3},
+ {4, 3},
+ {3, 3},
+ {2, 4},
+ {1, 5},
+ {0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_43[] = {
+ {9, 15},
+ {9, 14},
+ {8, 13},
+ {7, 13},
+ {6, 13},
+ {5, 13},
+ {4, 13},
+ {3, 12},
+ {3, 11},
+ {3, 10},
+ {4, 9},
+ {5, 9},
+ {6, 9},
+ {7, 9},
+ {8, 9},
+ {9, 9},
+ {8, 9},
+ {7, 9},
+ {6, 9},
+ {5, 9},
+ {4, 9},
+ {3, 10},
+ {3, 11},
+ {3, 12},
+ {4, 13},
+ {5, 14},
+ {5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_48[] = {
+ {15, 9},
+ {14, 9},
+ {13, 10},
+ {13, 11},
+ {12, 12},
+ {11, 12},
+ {10, 12},
+ { 9, 12},
+ { 8, 12},
+ { 7, 12},
+ { 6, 12},
+ { 5, 11},
+ { 5, 10},
+ { 5, 9},
+ { 5, 8},
+ { 5, 7},
+ { 5, 6},
+ { 5, 7},
+ { 5, 8},
+ { 5, 9},
+ { 5, 10},
+ { 5, 11},
+ { 6, 12},
+ { 7, 12},
+ { 8, 12},
+ { 9, 12},
+ {10, 12},
+ {11, 12},
+ {12, 12},
+ {13, 11},
+ {13, 10},
+ {13, 9},
+ {13, 8},
+ {13, 7},
+ {13, 6},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_49[] = {
+ { 9, 0},
+ { 9, 1},
+ {10, 2},
+ {11, 2},
+ {12, 3},
+ {12, 4},
+ {12, 5},
+ {12, 6},
+ {12, 7},
+ {12, 8},
+ {12, 9},
+ {11, 10},
+ {10, 10},
+ { 9, 10},
+ { 8, 10},
+ { 7, 10},
+ { 6, 10},
+ { 7, 10},
+ { 8, 10},
+ { 9, 10},
+ {10, 10},
+ {11, 10},
+ {12, 9},
+ {12, 8},
+ {12, 7},
+ {12, 6},
+ {12, 5},
+ {12, 4},
+ {12, 3},
+ {11, 2},
+ {10, 2},
+ { 9, 2},
+ { 8, 2},
+ { 7, 2},
+ { 6, 2},
+ { 5, 1},
+ { 5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_50[] = {
+ {15, 9},
+ {14, 9},
+ {13, 10},
+ {13, 11},
+ {12, 12},
+ {11, 12},
+ {10, 12},
+ { 9, 11},
+ { 9, 10},
+ { 9, 9},
+ { 9, 8},
+ { 9, 7},
+ { 9, 6},
+ { 9, 7},
+ { 9, 8},
+ { 9, 9},
+ { 9, 10},
+ { 9, 11},
+ {10, 12},
+ {11, 12},
+ {12, 12},
+ {13, 11},
+ {13, 10},
+ {13, 9},
+ {13, 8},
+ {13, 7},
+ {13, 6},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_51[] = {
+ { 9, 0},
+ { 9, 1},
+ {10, 2},
+ {11, 2},
+ {12, 3},
+ {12, 4},
+ {12, 5},
+ {11, 6},
+ {10, 6},
+ { 9, 6},
+ { 8, 6},
+ { 7, 6},
+ { 6, 6},
+ { 7, 6},
+ { 8, 6},
+ { 9, 6},
+ {10, 6},
+ {11, 6},
+ {12, 5},
+ {12, 4},
+ {12, 3},
+ {11, 2},
+ {10, 2},
+ { 9, 2},
+ { 8, 2},
+ { 7, 2},
+ { 6, 2},
+ { 5, 1},
+ { 5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_56[] = {
+ { 0, 5},
+ { 1, 5},
+ { 2, 4},
+ { 3, 3},
+ { 4, 3},
+ { 5, 3},
+ { 6, 3},
+ { 7, 3},
+ { 8, 3},
+ { 9, 3},
+ {10, 4},
+ {10, 5},
+ {10, 6},
+ {10, 7},
+ {10, 8},
+ {10, 9},
+ {10, 8},
+ {10, 7},
+ {10, 6},
+ {10, 5},
+ {10, 4},
+ { 9, 3},
+ { 8, 3},
+ { 7, 3},
+ { 6, 3},
+ { 5, 3},
+ { 4, 3},
+ { 3, 3},
+ { 2, 4},
+ { 2, 5},
+ { 2, 6},
+ { 2, 7},
+ { 2, 8},
+ { 1, 9},
+ { 0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_57[] = {
+ {5, 15},
+ {5, 14},
+ {4, 13},
+ {3, 12},
+ {3, 11},
+ {3, 10},
+ {3, 9},
+ {3, 8},
+ {3, 7},
+ {3, 6},
+ {4, 5},
+ {5, 5},
+ {6, 5},
+ {7, 5},
+ {8, 5},
+ {9, 5},
+ {8, 5},
+ {7, 5},
+ {6, 5},
+ {5, 5},
+ {4, 5},
+ {3, 6},
+ {3, 7},
+ {3, 8},
+ {3, 9},
+ {3, 10},
+ {3, 11},
+ {3, 12},
+ {4, 13},
+ {5, 13},
+ {6, 13},
+ {7, 13},
+ {8, 13},
+ {9, 14},
+ {9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_58[] = {
+ {0, 5},
+ {1, 5},
+ {2, 4},
+ {3, 3},
+ {4, 3},
+ {5, 3},
+ {6, 4},
+ {6, 5},
+ {6, 6},
+ {6, 7},
+ {6, 8},
+ {6, 9},
+ {6, 8},
+ {6, 7},
+ {6, 6},
+ {6, 5},
+ {6, 4},
+ {5, 3},
+ {4, 3},
+ {3, 3},
+ {2, 4},
+ {2, 5},
+ {2, 6},
+ {2, 7},
+ {2, 8},
+ {1, 9},
+ {0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_drive_data_59[] = {
+ {5, 15},
+ {5, 14},
+ {4, 13},
+ {3, 12},
+ {3, 11},
+ {3, 10},
+ {4, 9},
+ {5, 9},
+ {6, 9},
+ {7, 9},
+ {8, 9},
+ {9, 9},
+ {8, 9},
+ {7, 9},
+ {6, 9},
+ {5, 9},
+ {4, 9},
+ {3, 10},
+ {3, 11},
+ {3, 12},
+ {4, 13},
+ {5, 13},
+ {6, 13},
+ {7, 13},
+ {8, 13},
+ {9, 14},
+ {9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+
+static const RoadDriveEntry * const _road_road_drive_data[] = {
+ _roadveh_drive_data_0,
+ _roadveh_drive_data_1,
+ _roadveh_drive_data_2,
+ _roadveh_drive_data_3,
+ _roadveh_drive_data_4,
+ _roadveh_drive_data_5,
+ _roadveh_drive_data_6,
+ _roadveh_drive_data_7,
+ _roadveh_drive_data_8,
+ _roadveh_drive_data_9,
+ _roadveh_drive_data_10,
+ _roadveh_drive_data_11,
+ _roadveh_drive_data_12,
+ _roadveh_drive_data_13,
+ _roadveh_drive_data_14,
+ _roadveh_drive_data_15,
+ _roadveh_drive_data_16,
+ _roadveh_drive_data_17,
+ _roadveh_drive_data_18,
+ _roadveh_drive_data_19,
+ _roadveh_drive_data_20,
+ _roadveh_drive_data_21,
+ _roadveh_drive_data_22,
+ _roadveh_drive_data_23,
+ _roadveh_drive_data_24,
+ _roadveh_drive_data_25,
+ _roadveh_drive_data_26,
+ _roadveh_drive_data_27,
+ _roadveh_drive_data_28,
+ _roadveh_drive_data_29,
+ _roadveh_drive_data_30,
+ _roadveh_drive_data_31,
+ _roadveh_drive_data_32,
+ _roadveh_drive_data_33,
+ _roadveh_drive_data_34,
+ _roadveh_drive_data_35,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_40,
+ _roadveh_drive_data_41,
+ _roadveh_drive_data_42,
+ _roadveh_drive_data_43,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_48,
+ _roadveh_drive_data_49,
+ _roadveh_drive_data_50,
+ _roadveh_drive_data_51,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ _roadveh_drive_data_56,
+ _roadveh_drive_data_57,
+ _roadveh_drive_data_58,
+ _roadveh_drive_data_59,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_ne_0[] = {
+ {15, 5},
+ {14, 5},
+ {13, 5},
+ {12, 5},
+ {11, 5},
+ {10, 5},
+ { 9, 5},
+ { 8, 5},
+ { 7, 5},
+ { 6, 5},
+ { 5, 5},
+ { 4, 5},
+ { 3, 5},
+ { 2, 5},
+ { 1, 5},
+ { 0, 5},
+ { 0, 6},
+ { 0, 7},
+ { 0, 8},
+ { 0, 9},
+ {RDE_TURNED | DIAGDIR_SW, 0},
+ { 1, 9},
+ { 2, 9},
+ { 3, 9},
+ { 4, 9},
+ { 5, 9},
+ { 6, 9},
+ { 7, 9},
+ { 8, 9},
+ { 9, 9},
+ {10, 9},
+ {11, 9},
+ {12, 9},
+ {13, 9},
+ {14, 9},
+ {15, 9},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_ne_1[] = {
+ {15, 9},
+ {14, 9},
+ {13, 9},
+ {12, 9},
+ {11, 9},
+ {10, 9},
+ { 9, 9},
+ { 8, 9},
+ { 7, 9},
+ { 6, 9},
+ { 5, 9},
+ { 4, 9},
+ { 3, 9},
+ { 2, 9},
+ { 1, 9},
+ { 0, 9},
+ { 0, 8},
+ { 0, 7},
+ { 0, 6},
+ { 0, 5},
+ {RDE_TURNED | DIAGDIR_SW, 0},
+ { 1, 5},
+ { 2, 5},
+ { 3, 5},
+ { 4, 5},
+ { 5, 5},
+ { 6, 5},
+ { 7, 5},
+ { 8, 5},
+ { 9, 5},
+ {10, 5},
+ {11, 5},
+ {12, 5},
+ {13, 5},
+ {14, 5},
+ {15, 5},
+ {RDE_NEXT_TILE | DIAGDIR_SW, 0}
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_se_0[] = {
+ {5, 0},
+ {5, 1},
+ {5, 2},
+ {5, 3},
+ {5, 4},
+ {5, 5},
+ {5, 6},
+ {5, 7},
+ {5, 8},
+ {5, 9},
+ {5, 10},
+ {5, 11},
+ {5, 12},
+ {5, 13},
+ {5, 14},
+ {5, 15},
+ {6, 15},
+ {7, 15},
+ {8, 15},
+ {9, 15},
+ {RDE_TURNED | DIAGDIR_NW, 0},
+ {9, 14},
+ {9, 13},
+ {9, 12},
+ {9, 11},
+ {9, 10},
+ {9, 9},
+ {9, 8},
+ {9, 7},
+ {9, 6},
+ {9, 5},
+ {9, 4},
+ {9, 3},
+ {9, 2},
+ {9, 1},
+ {9, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_se_1[] = {
+ {9, 0},
+ {9, 1},
+ {9, 2},
+ {9, 3},
+ {9, 4},
+ {9, 5},
+ {9, 6},
+ {9, 7},
+ {9, 8},
+ {9, 9},
+ {9, 10},
+ {9, 11},
+ {9, 12},
+ {9, 13},
+ {9, 14},
+ {9, 15},
+ {8, 15},
+ {7, 15},
+ {6, 15},
+ {5, 15},
+ {RDE_TURNED | DIAGDIR_NW, 0},
+ {5, 14},
+ {5, 13},
+ {5, 12},
+ {5, 11},
+ {5, 10},
+ {5, 9},
+ {5, 8},
+ {5, 7},
+ {5, 6},
+ {5, 5},
+ {5, 4},
+ {5, 3},
+ {5, 2},
+ {5, 1},
+ {5, 0},
+ {RDE_NEXT_TILE | DIAGDIR_NW, 0}
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_sw_0[] = {
+ { 0, 9},
+ { 1, 9},
+ { 2, 9},
+ { 3, 9},
+ { 4, 9},
+ { 5, 9},
+ { 6, 9},
+ { 7, 9},
+ { 8, 9},
+ { 9, 9},
+ {10, 9},
+ {11, 9},
+ {12, 9},
+ {13, 9},
+ {14, 9},
+ {15, 9},
+ {15, 8},
+ {15, 7},
+ {15, 6},
+ {15, 5},
+ {RDE_TURNED | DIAGDIR_SW, 0},
+ {14, 5},
+ {13, 5},
+ {12, 5},
+ {11, 5},
+ {10, 5},
+ { 9, 5},
+ { 8, 5},
+ { 7, 5},
+ { 6, 5},
+ { 5, 5},
+ { 4, 5},
+ { 3, 5},
+ { 2, 5},
+ { 1, 5},
+ { 0, 5},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+static const RoadDriveEntry _roadveh_tram_turn_sw_1[] = {
+ { 0, 5},
+ { 1, 5},
+ { 2, 5},
+ { 3, 5},
+ { 4, 5},
+ { 5, 5},
+ { 6, 5},
+ { 7, 5},
+ { 8, 5},
+ { 9, 5},
+ {10, 5},
+ {11, 5},
+ {12, 5},
+ {13, 5},
+ {14, 5},
+ {15, 5},
+ {15, 6},
+ {15, 7},
+ {15, 8},
+ {15, 9},
+ {RDE_TURNED | DIAGDIR_NE, 0},
+ {14, 9},
+ {13, 9},
+ {12, 9},
+ {11, 9},
+ {10, 9},
+ { 9, 9},
+ { 8, 9},
+ { 7, 9},
+ { 6, 9},
+ { 5, 9},
+ { 4, 9},
+ { 3, 9},
+ { 2, 9},
+ { 1, 9},
+ { 0, 9},
+ {RDE_NEXT_TILE | DIAGDIR_NE, 0}
+};
+
+static const RoadDriveEntry _roadveh_tram_turn_nw_0[] = {
+ {9, 15},
+ {9, 14},
+ {9, 13},
+ {9, 12},
+ {9, 11},
+ {9, 10},
+ {9, 9},
+ {9, 8},
+ {9, 7},
+ {9, 6},
+ {9, 5},
+ {9, 4},
+ {9, 3},
+ {9, 2},
+ {9, 1},
+ {9, 0},
+ {8, 0},
+ {7, 0},
+ {6, 0},
+ {5, 0},
+ {RDE_TURNED | DIAGDIR_SE, 0},
+ {5, 1},
+ {5, 2},
+ {5, 3},
+ {5, 4},
+ {5, 5},
+ {5, 6},
+ {5, 7},
+ {5, 8},
+ {5, 9},
+ {5, 10},
+ {5, 11},
+ {5, 12},
+ {5, 13},
+ {5, 14},
+ {5, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+static const RoadDriveEntry _roadveh_tram_turn_nw_1[] = {
+ {5, 15},
+ {5, 14},
+ {5, 13},
+ {5, 12},
+ {5, 11},
+ {5, 10},
+ {5, 9},
+ {5, 8},
+ {5, 7},
+ {5, 6},
+ {5, 5},
+ {5, 4},
+ {5, 3},
+ {5, 2},
+ {5, 1},
+ {5, 0},
+ {6, 0},
+ {7, 0},
+ {8, 0},
+ {9, 0},
+ {RDE_TURNED | DIAGDIR_SE, 0},
+ {9, 1},
+ {9, 2},
+ {9, 3},
+ {9, 4},
+ {9, 5},
+ {9, 6},
+ {9, 7},
+ {9, 8},
+ {9, 9},
+ {9, 10},
+ {9, 11},
+ {9, 12},
+ {9, 13},
+ {9, 14},
+ {9, 15},
+ {RDE_NEXT_TILE | DIAGDIR_SE, 0}
+};
+
+static const RoadDriveEntry * const _road_tram_drive_data[] = {
+ _roadveh_drive_data_0,
+ _roadveh_drive_data_1,
+ _roadveh_drive_data_2,
+ _roadveh_drive_data_3,
+ _roadveh_drive_data_4,
+ _roadveh_drive_data_5,
+ _roadveh_tram_turn_ne_0,
+ _roadveh_tram_turn_se_0,
+ _roadveh_drive_data_8,
+ _roadveh_drive_data_9,
+ _roadveh_drive_data_10,
+ _roadveh_drive_data_11,
+ _roadveh_drive_data_12,
+ _roadveh_drive_data_13,
+ _roadveh_tram_turn_sw_0,
+ _roadveh_tram_turn_nw_0,
+ _roadveh_drive_data_16,
+ _roadveh_drive_data_17,
+ _roadveh_drive_data_18,
+ _roadveh_drive_data_19,
+ _roadveh_drive_data_20,
+ _roadveh_drive_data_21,
+ _roadveh_tram_turn_ne_1,
+ _roadveh_tram_turn_se_1,
+ _roadveh_drive_data_24,
+ _roadveh_drive_data_25,
+ _roadveh_drive_data_26,
+ _roadveh_drive_data_27,
+ _roadveh_drive_data_28,
+ _roadveh_drive_data_29,
+ _roadveh_tram_turn_sw_1,
+ _roadveh_tram_turn_nw_1,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+};
+
+static const RoadDriveEntry * const * const _road_drive_data[2] = {
+ _road_road_drive_data,
+ _road_tram_drive_data,
+};