diff options
Diffstat (limited to 'src/table/roadveh_movement.h')
-rw-r--r-- | src/table/roadveh_movement.h | 1470 |
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, +}; |