00001
00002
00003
00004
00005
00006
00007
00008
00009
00012 static const RoadDriveEntry _roadveh_drive_data_0[] = {
00013 {15, 5},
00014 {14, 5},
00015 {13, 5},
00016 {12, 5},
00017 {11, 5},
00018 {10, 5},
00019 { 9, 5},
00020 { 8, 5},
00021 { 7, 5},
00022 { 6, 5},
00023 { 5, 5},
00024 { 4, 5},
00025 { 3, 5},
00026 { 2, 5},
00027 { 1, 5},
00028 { 0, 5},
00029 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00030 };
00031 static const RoadDriveEntry _roadveh_drive_data_1[] = {
00032 {5, 0},
00033 {5, 1},
00034 {5, 2},
00035 {5, 3},
00036 {5, 4},
00037 {5, 5},
00038 {5, 6},
00039 {5, 7},
00040 {5, 8},
00041 {5, 9},
00042 {5, 10},
00043 {5, 11},
00044 {5, 12},
00045 {5, 13},
00046 {5, 14},
00047 {5, 15},
00048 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00049 };
00050 static const RoadDriveEntry _roadveh_drive_data_2[] = {
00051 {5, 0},
00052 {5, 1},
00053 {5, 2},
00054 {4, 3},
00055 {3, 4},
00056 {2, 5},
00057 {1, 5},
00058 {0, 5},
00059 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00060 };
00061 static const RoadDriveEntry _roadveh_drive_data_3[] = {
00062 {15, 5},
00063 {14, 5},
00064 {13, 5},
00065 {12, 5},
00066 {11, 5},
00067 {10, 5},
00068 { 9, 6},
00069 { 8, 7},
00070 { 7, 8},
00071 { 6, 9},
00072 { 5, 10},
00073 { 5, 11},
00074 { 5, 12},
00075 { 5, 13},
00076 { 5, 14},
00077 { 5, 15},
00078 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00079 };
00080 static const RoadDriveEntry _roadveh_drive_data_4[] = {
00081 { 5, 0},
00082 { 5, 1},
00083 { 5, 2},
00084 { 5, 3},
00085 { 5, 4},
00086 { 5, 5},
00087 { 6, 6},
00088 { 7, 7},
00089 { 8, 8},
00090 { 9, 9},
00091 {10, 9},
00092 {11, 9},
00093 {12, 9},
00094 {13, 9},
00095 {14, 9},
00096 {15, 9},
00097 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00098 };
00099 static const RoadDriveEntry _roadveh_drive_data_5[] = {
00100 {0, 9},
00101 {1, 9},
00102 {2, 9},
00103 {3, 10},
00104 {4, 11},
00105 {5, 12},
00106 {5, 13},
00107 {5, 14},
00108 {5, 15},
00109 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00110 };
00111 static const RoadDriveEntry _roadveh_drive_data_6[] = {
00112 {0, 6},
00113 {0, 7},
00114 {0, 8},
00115 {0, 9},
00116 {RDE_TURNED | DIAGDIR_SW, 0}
00117 };
00118 static const RoadDriveEntry _roadveh_drive_data_7[] = {
00119 {6, 15},
00120 {7, 15},
00121 {8, 15},
00122 {9, 15},
00123 {RDE_TURNED | DIAGDIR_NW, 0}
00124 };
00125 static const RoadDriveEntry _roadveh_drive_data_8[] = {
00126 { 0, 9},
00127 { 1, 9},
00128 { 2, 9},
00129 { 3, 9},
00130 { 4, 9},
00131 { 5, 9},
00132 { 6, 9},
00133 { 7, 9},
00134 { 8, 9},
00135 { 9, 9},
00136 {10, 9},
00137 {11, 9},
00138 {12, 9},
00139 {13, 9},
00140 {14, 9},
00141 {15, 9},
00142 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00143 };
00144 static const RoadDriveEntry _roadveh_drive_data_9[] = {
00145 {9, 15},
00146 {9, 14},
00147 {9, 13},
00148 {9, 12},
00149 {9, 11},
00150 {9, 10},
00151 {9, 9},
00152 {9, 8},
00153 {9, 7},
00154 {9, 6},
00155 {9, 5},
00156 {9, 4},
00157 {9, 3},
00158 {9, 2},
00159 {9, 1},
00160 {9, 0},
00161 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00162 };
00163 static const RoadDriveEntry _roadveh_drive_data_10[] = {
00164 {0, 9},
00165 {1, 9},
00166 {2, 9},
00167 {3, 9},
00168 {4, 9},
00169 {5, 9},
00170 {6, 8},
00171 {7, 7},
00172 {8, 6},
00173 {9, 5},
00174 {9, 4},
00175 {9, 3},
00176 {9, 2},
00177 {9, 1},
00178 {9, 0},
00179 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00180 };
00181 static const RoadDriveEntry _roadveh_drive_data_11[] = {
00182 { 9, 15},
00183 { 9, 14},
00184 { 9, 13},
00185 {10, 12},
00186 {11, 11},
00187 {12, 10},
00188 {13, 9},
00189 {14, 9},
00190 {15, 9},
00191 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00192 };
00193 static const RoadDriveEntry _roadveh_drive_data_12[] = {
00194 {15, 5},
00195 {14, 5},
00196 {13, 5},
00197 {12, 4},
00198 {11, 3},
00199 {10, 2},
00200 { 9, 1},
00201 { 9, 0},
00202 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00203 };
00204 static const RoadDriveEntry _roadveh_drive_data_13[] = {
00205 {9, 15},
00206 {9, 14},
00207 {9, 13},
00208 {9, 12},
00209 {9, 11},
00210 {9, 10},
00211 {8, 9},
00212 {7, 8},
00213 {6, 7},
00214 {5, 6},
00215 {4, 5},
00216 {3, 5},
00217 {2, 5},
00218 {1, 5},
00219 {0, 5},
00220 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00221 };
00222 static const RoadDriveEntry _roadveh_drive_data_14[] = {
00223 {15, 8},
00224 {15, 7},
00225 {15, 6},
00226 {15, 5},
00227 {RDE_TURNED | DIAGDIR_NE, 0}
00228 };
00229 static const RoadDriveEntry _roadveh_drive_data_15[] = {
00230 {8, 0},
00231 {7, 0},
00232 {6, 0},
00233 {5, 0},
00234 {RDE_TURNED | DIAGDIR_SE, 0}
00235 };
00236 static const RoadDriveEntry _roadveh_drive_data_16[] = {
00237 {15, 9},
00238 {14, 9},
00239 {13, 9},
00240 {12, 9},
00241 {11, 9},
00242 {10, 9},
00243 { 9, 9},
00244 { 8, 9},
00245 { 7, 9},
00246 { 6, 9},
00247 { 5, 9},
00248 { 4, 9},
00249 { 3, 9},
00250 { 2, 9},
00251 { 1, 9},
00252 { 0, 9},
00253 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00254 };
00255 static const RoadDriveEntry _roadveh_drive_data_17[] = {
00256 {9, 0},
00257 {9, 1},
00258 {9, 2},
00259 {9, 3},
00260 {9, 4},
00261 {9, 5},
00262 {9, 6},
00263 {9, 7},
00264 {9, 8},
00265 {9, 9},
00266 {9, 10},
00267 {9, 11},
00268 {9, 12},
00269 {9, 13},
00270 {9, 14},
00271 {9, 15},
00272 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00273 };
00274 static const RoadDriveEntry _roadveh_drive_data_18[] = {
00275 {9, 0},
00276 {9, 1},
00277 {9, 2},
00278 {9, 3},
00279 {9, 4},
00280 {9, 5},
00281 {8, 6},
00282 {7, 7},
00283 {6, 8},
00284 {5, 9},
00285 {4, 9},
00286 {3, 9},
00287 {2, 9},
00288 {1, 9},
00289 {0, 9},
00290 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00291 };
00292 static const RoadDriveEntry _roadveh_drive_data_19[] = {
00293 {15, 9},
00294 {14, 9},
00295 {13, 9},
00296 {12, 10},
00297 {11, 11},
00298 {10, 12},
00299 { 9, 13},
00300 { 9, 14},
00301 { 9, 15},
00302 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00303 };
00304 static const RoadDriveEntry _roadveh_drive_data_20[] = {
00305 { 9, 0},
00306 { 9, 1},
00307 {10, 2},
00308 {11, 3},
00309 {12, 4},
00310 {13, 5},
00311 {14, 5},
00312 {15, 5},
00313 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00314 };
00315 static const RoadDriveEntry _roadveh_drive_data_21[] = {
00316 {0, 5},
00317 {1, 5},
00318 {2, 5},
00319 {3, 5},
00320 {4, 5},
00321 {5, 6},
00322 {6, 7},
00323 {7, 8},
00324 {8, 9},
00325 {9, 10},
00326 {9, 11},
00327 {9, 12},
00328 {9, 13},
00329 {9, 14},
00330 {9, 15},
00331 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00332 };
00333 static const RoadDriveEntry _roadveh_drive_data_22[] = {
00334 {0, 8},
00335 {0, 7},
00336 {0, 6},
00337 {0, 5},
00338 {RDE_TURNED | DIAGDIR_SW, 0}
00339 };
00340 static const RoadDriveEntry _roadveh_drive_data_23[] = {
00341 {8, 15},
00342 {7, 15},
00343 {6, 15},
00344 {5, 15},
00345 {RDE_TURNED | DIAGDIR_NW, 0}
00346 };
00347 static const RoadDriveEntry _roadveh_drive_data_24[] = {
00348 { 0, 5},
00349 { 1, 5},
00350 { 2, 5},
00351 { 3, 5},
00352 { 4, 5},
00353 { 5, 5},
00354 { 6, 5},
00355 { 7, 5},
00356 { 8, 5},
00357 { 9, 5},
00358 {10, 5},
00359 {11, 5},
00360 {12, 5},
00361 {13, 5},
00362 {14, 5},
00363 {15, 5},
00364 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00365 };
00366 static const RoadDriveEntry _roadveh_drive_data_25[] = {
00367 {5, 15},
00368 {5, 14},
00369 {5, 13},
00370 {5, 12},
00371 {5, 11},
00372 {5, 10},
00373 {5, 9},
00374 {5, 8},
00375 {5, 7},
00376 {5, 6},
00377 {5, 5},
00378 {5, 4},
00379 {5, 3},
00380 {5, 2},
00381 {5, 1},
00382 {5, 0},
00383 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00384 };
00385 static const RoadDriveEntry _roadveh_drive_data_26[] = {
00386 {0, 5},
00387 {1, 5},
00388 {2, 5},
00389 {3, 4},
00390 {4, 3},
00391 {5, 2},
00392 {5, 1},
00393 {5, 0},
00394 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00395 };
00396 static const RoadDriveEntry _roadveh_drive_data_27[] = {
00397 { 5, 15},
00398 { 5, 14},
00399 { 5, 13},
00400 { 5, 12},
00401 { 5, 11},
00402 { 5, 10},
00403 { 6, 9},
00404 { 7, 8},
00405 { 8, 7},
00406 { 9, 6},
00407 {10, 5},
00408 {11, 5},
00409 {12, 5},
00410 {13, 5},
00411 {14, 5},
00412 {15, 5},
00413 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00414 };
00415 static const RoadDriveEntry _roadveh_drive_data_28[] = {
00416 {15, 9},
00417 {14, 9},
00418 {13, 9},
00419 {12, 9},
00420 {11, 9},
00421 {10, 9},
00422 { 9, 9},
00423 { 8, 8},
00424 { 7, 7},
00425 { 6, 6},
00426 { 5, 5},
00427 { 5, 4},
00428 { 5, 3},
00429 { 5, 2},
00430 { 5, 1},
00431 { 5, 0},
00432 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00433 };
00434 static const RoadDriveEntry _roadveh_drive_data_29[] = {
00435 {5, 15},
00436 {5, 14},
00437 {5, 13},
00438 {5, 12},
00439 {4, 11},
00440 {3, 10},
00441 {2, 9},
00442 {1, 9},
00443 {0, 9},
00444 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00445 };
00446 static const RoadDriveEntry _roadveh_drive_data_30[] = {
00447 {15, 6},
00448 {15, 7},
00449 {15, 8},
00450 {15, 9},
00451 {RDE_TURNED | DIAGDIR_NE, 0}
00452 };
00453 static const RoadDriveEntry _roadveh_drive_data_31[] = {
00454 {6, 0},
00455 {7, 0},
00456 {8, 0},
00457 {9, 0},
00458 {RDE_TURNED | DIAGDIR_SE, 0}
00459 };
00460 static const RoadDriveEntry _rv_station_left_sw_far[] = {
00461 {15, 5},
00462 {14, 5},
00463 {13, 6},
00464 {13, 7},
00465 {13, 8},
00466 {13, 9},
00467 {13, 10},
00468 {13, 11},
00469 {12, 12},
00470 {11, 12},
00471 {10, 12},
00472 { 9, 12},
00473 { 8, 12},
00474 { 7, 12},
00475 { 6, 12},
00476 { 5, 11},
00477 { 5, 10},
00478 { 5, 9},
00479 { 5, 8},
00480 { 5, 7},
00481 { 5, 6},
00482 { 5, 7},
00483 { 5, 8},
00484 { 5, 9},
00485 { 5, 10},
00486 { 5, 11},
00487 { 6, 12},
00488 { 7, 12},
00489 { 8, 12},
00490 { 9, 12},
00491 {10, 12},
00492 {11, 12},
00493 {12, 12},
00494 {13, 11},
00495 {13, 10},
00496 {14, 9},
00497 {15, 9},
00498 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00499 };
00500 static const RoadDriveEntry _rv_station_left_nw_far[] = {
00501 { 5, 0},
00502 { 5, 1},
00503 { 6, 2},
00504 { 7, 2},
00505 { 8, 2},
00506 { 9, 2},
00507 {10, 2},
00508 {11, 2},
00509 {12, 3},
00510 {12, 4},
00511 {12, 5},
00512 {12, 6},
00513 {12, 7},
00514 {12, 8},
00515 {12, 9},
00516 {11, 10},
00517 {10, 10},
00518 { 9, 10},
00519 { 8, 10},
00520 { 7, 10},
00521 { 6, 10},
00522 { 7, 10},
00523 { 8, 10},
00524 { 9, 10},
00525 {10, 10},
00526 {11, 10},
00527 {12, 9},
00528 {12, 8},
00529 {12, 7},
00530 {12, 6},
00531 {12, 5},
00532 {12, 4},
00533 {12, 3},
00534 {11, 2},
00535 {10, 2},
00536 { 9, 1},
00537 { 9, 0},
00538 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00539 };
00540 static const RoadDriveEntry _rv_station_left_sw_near[] = {
00541 {15, 5},
00542 {14, 5},
00543 {13, 6},
00544 {13, 7},
00545 {13, 8},
00546 {13, 9},
00547 {13, 10},
00548 {13, 11},
00549 {12, 12},
00550 {11, 12},
00551 {10, 12},
00552 { 9, 11},
00553 { 9, 10},
00554 { 9, 9},
00555 { 9, 8},
00556 { 9, 7},
00557 { 9, 6},
00558 { 9, 7},
00559 { 9, 8},
00560 { 9, 9},
00561 { 9, 10},
00562 { 9, 11},
00563 {10, 12},
00564 {11, 12},
00565 {12, 12},
00566 {13, 11},
00567 {13, 10},
00568 {14, 9},
00569 {15, 9},
00570 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00571 };
00572 static const RoadDriveEntry _rv_station_left_nw_near[] = {
00573 { 5, 0},
00574 { 5, 1},
00575 { 6, 2},
00576 { 7, 2},
00577 { 8, 2},
00578 { 9, 2},
00579 {10, 2},
00580 {11, 2},
00581 {12, 3},
00582 {12, 4},
00583 {12, 5},
00584 {11, 6},
00585 {10, 6},
00586 { 9, 6},
00587 { 8, 6},
00588 { 7, 6},
00589 { 6, 6},
00590 { 7, 6},
00591 { 8, 6},
00592 { 9, 6},
00593 {10, 6},
00594 {11, 6},
00595 {12, 5},
00596 {12, 4},
00597 {12, 3},
00598 {11, 2},
00599 {10, 2},
00600 { 9, 1},
00601 { 9, 0},
00602 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00603 };
00604 static const RoadDriveEntry _rv_station_left_ne_far[] = {
00605 { 0, 9},
00606 { 1, 9},
00607 { 2, 8},
00608 { 2, 7},
00609 { 2, 6},
00610 { 2, 5},
00611 { 2, 4},
00612 { 3, 3},
00613 { 4, 3},
00614 { 5, 3},
00615 { 6, 3},
00616 { 7, 3},
00617 { 8, 3},
00618 { 9, 3},
00619 {10, 4},
00620 {10, 5},
00621 {10, 6},
00622 {10, 7},
00623 {10, 8},
00624 {10, 9},
00625 {10, 8},
00626 {10, 7},
00627 {10, 6},
00628 {10, 5},
00629 {10, 4},
00630 { 9, 3},
00631 { 8, 3},
00632 { 7, 3},
00633 { 6, 3},
00634 { 5, 3},
00635 { 4, 3},
00636 { 3, 3},
00637 { 2, 4},
00638 { 1, 5},
00639 { 0, 5},
00640 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00641 };
00642 static const RoadDriveEntry _rv_station_left_se_far[] = {
00643 {9, 15},
00644 {9, 14},
00645 {8, 13},
00646 {7, 13},
00647 {6, 13},
00648 {5, 13},
00649 {4, 13},
00650 {3, 12},
00651 {3, 11},
00652 {3, 10},
00653 {3, 9},
00654 {3, 8},
00655 {3, 7},
00656 {3, 6},
00657 {4, 5},
00658 {5, 5},
00659 {6, 5},
00660 {7, 5},
00661 {8, 5},
00662 {9, 5},
00663 {8, 5},
00664 {7, 5},
00665 {6, 5},
00666 {5, 5},
00667 {4, 5},
00668 {3, 6},
00669 {3, 7},
00670 {3, 8},
00671 {3, 9},
00672 {3, 10},
00673 {3, 11},
00674 {3, 12},
00675 {4, 13},
00676 {5, 14},
00677 {5, 15},
00678 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00679 };
00680 static const RoadDriveEntry _rv_station_left_ne_near[] = {
00681 {0, 9},
00682 {1, 9},
00683 {2, 8},
00684 {2, 7},
00685 {2, 6},
00686 {2, 5},
00687 {2, 4},
00688 {3, 3},
00689 {4, 3},
00690 {5, 3},
00691 {6, 4},
00692 {6, 5},
00693 {6, 6},
00694 {6, 7},
00695 {6, 8},
00696 {6, 9},
00697 {6, 8},
00698 {6, 7},
00699 {6, 6},
00700 {6, 5},
00701 {6, 4},
00702 {5, 3},
00703 {4, 3},
00704 {3, 3},
00705 {2, 4},
00706 {1, 5},
00707 {0, 5},
00708 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00709 };
00710 static const RoadDriveEntry _rv_station_left_se_near[] = {
00711 {9, 15},
00712 {9, 14},
00713 {8, 13},
00714 {7, 13},
00715 {6, 13},
00716 {5, 13},
00717 {4, 13},
00718 {3, 12},
00719 {3, 11},
00720 {3, 10},
00721 {4, 9},
00722 {5, 9},
00723 {6, 9},
00724 {7, 9},
00725 {8, 9},
00726 {9, 9},
00727 {8, 9},
00728 {7, 9},
00729 {6, 9},
00730 {5, 9},
00731 {4, 9},
00732 {3, 10},
00733 {3, 11},
00734 {3, 12},
00735 {4, 13},
00736 {5, 14},
00737 {5, 15},
00738 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00739 };
00740 static const RoadDriveEntry _rv_station_right_sw_far[] = {
00741 {15, 9},
00742 {14, 9},
00743 {13, 10},
00744 {13, 11},
00745 {12, 12},
00746 {11, 12},
00747 {10, 12},
00748 { 9, 12},
00749 { 8, 12},
00750 { 7, 12},
00751 { 6, 12},
00752 { 5, 11},
00753 { 5, 10},
00754 { 5, 9},
00755 { 5, 8},
00756 { 5, 7},
00757 { 5, 6},
00758 { 5, 7},
00759 { 5, 8},
00760 { 5, 9},
00761 { 5, 10},
00762 { 5, 11},
00763 { 6, 12},
00764 { 7, 12},
00765 { 8, 12},
00766 { 9, 12},
00767 {10, 12},
00768 {11, 12},
00769 {12, 12},
00770 {13, 11},
00771 {13, 10},
00772 {13, 9},
00773 {13, 8},
00774 {13, 7},
00775 {13, 6},
00776 {14, 5},
00777 {15, 5},
00778 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00779 };
00780 static const RoadDriveEntry _rv_station_right_nw_far[] = {
00781 { 9, 0},
00782 { 9, 1},
00783 {10, 2},
00784 {11, 2},
00785 {12, 3},
00786 {12, 4},
00787 {12, 5},
00788 {12, 6},
00789 {12, 7},
00790 {12, 8},
00791 {12, 9},
00792 {11, 10},
00793 {10, 10},
00794 { 9, 10},
00795 { 8, 10},
00796 { 7, 10},
00797 { 6, 10},
00798 { 7, 10},
00799 { 8, 10},
00800 { 9, 10},
00801 {10, 10},
00802 {11, 10},
00803 {12, 9},
00804 {12, 8},
00805 {12, 7},
00806 {12, 6},
00807 {12, 5},
00808 {12, 4},
00809 {12, 3},
00810 {11, 2},
00811 {10, 2},
00812 { 9, 2},
00813 { 8, 2},
00814 { 7, 2},
00815 { 6, 2},
00816 { 5, 1},
00817 { 5, 0},
00818 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00819 };
00820 static const RoadDriveEntry _rv_station_right_sw_near[] = {
00821 {15, 9},
00822 {14, 9},
00823 {13, 10},
00824 {13, 11},
00825 {12, 12},
00826 {11, 12},
00827 {10, 12},
00828 { 9, 11},
00829 { 9, 10},
00830 { 9, 9},
00831 { 9, 8},
00832 { 9, 7},
00833 { 9, 6},
00834 { 9, 7},
00835 { 9, 8},
00836 { 9, 9},
00837 { 9, 10},
00838 { 9, 11},
00839 {10, 12},
00840 {11, 12},
00841 {12, 12},
00842 {13, 11},
00843 {13, 10},
00844 {13, 9},
00845 {13, 8},
00846 {13, 7},
00847 {13, 6},
00848 {14, 5},
00849 {15, 5},
00850 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
00851 };
00852 static const RoadDriveEntry _rv_station_right_nw_near[] = {
00853 { 9, 0},
00854 { 9, 1},
00855 {10, 2},
00856 {11, 2},
00857 {12, 3},
00858 {12, 4},
00859 {12, 5},
00860 {11, 6},
00861 {10, 6},
00862 { 9, 6},
00863 { 8, 6},
00864 { 7, 6},
00865 { 6, 6},
00866 { 7, 6},
00867 { 8, 6},
00868 { 9, 6},
00869 {10, 6},
00870 {11, 6},
00871 {12, 5},
00872 {12, 4},
00873 {12, 3},
00874 {11, 2},
00875 {10, 2},
00876 { 9, 2},
00877 { 8, 2},
00878 { 7, 2},
00879 { 6, 2},
00880 { 5, 1},
00881 { 5, 0},
00882 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
00883 };
00884 static const RoadDriveEntry _rv_station_right_ne_far[] = {
00885 { 0, 5},
00886 { 1, 5},
00887 { 2, 4},
00888 { 3, 3},
00889 { 4, 3},
00890 { 5, 3},
00891 { 6, 3},
00892 { 7, 3},
00893 { 8, 3},
00894 { 9, 3},
00895 {10, 4},
00896 {10, 5},
00897 {10, 6},
00898 {10, 7},
00899 {10, 8},
00900 {10, 9},
00901 {10, 8},
00902 {10, 7},
00903 {10, 6},
00904 {10, 5},
00905 {10, 4},
00906 { 9, 3},
00907 { 8, 3},
00908 { 7, 3},
00909 { 6, 3},
00910 { 5, 3},
00911 { 4, 3},
00912 { 3, 3},
00913 { 2, 4},
00914 { 2, 5},
00915 { 2, 6},
00916 { 2, 7},
00917 { 2, 8},
00918 { 1, 9},
00919 { 0, 9},
00920 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00921 };
00922 static const RoadDriveEntry _rv_station_right_se_far[] = {
00923 {5, 15},
00924 {5, 14},
00925 {4, 13},
00926 {3, 12},
00927 {3, 11},
00928 {3, 10},
00929 {3, 9},
00930 {3, 8},
00931 {3, 7},
00932 {3, 6},
00933 {4, 5},
00934 {5, 5},
00935 {6, 5},
00936 {7, 5},
00937 {8, 5},
00938 {9, 5},
00939 {8, 5},
00940 {7, 5},
00941 {6, 5},
00942 {5, 5},
00943 {4, 5},
00944 {3, 6},
00945 {3, 7},
00946 {3, 8},
00947 {3, 9},
00948 {3, 10},
00949 {3, 11},
00950 {3, 12},
00951 {4, 13},
00952 {5, 13},
00953 {6, 13},
00954 {7, 13},
00955 {8, 13},
00956 {9, 14},
00957 {9, 15},
00958 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
00959 };
00960 static const RoadDriveEntry _rv_station_right_ne_near[] = {
00961 {0, 5},
00962 {1, 5},
00963 {2, 4},
00964 {3, 3},
00965 {4, 3},
00966 {5, 3},
00967 {6, 4},
00968 {6, 5},
00969 {6, 6},
00970 {6, 7},
00971 {6, 8},
00972 {6, 9},
00973 {6, 8},
00974 {6, 7},
00975 {6, 6},
00976 {6, 5},
00977 {6, 4},
00978 {5, 3},
00979 {4, 3},
00980 {3, 3},
00981 {2, 4},
00982 {2, 5},
00983 {2, 6},
00984 {2, 7},
00985 {2, 8},
00986 {1, 9},
00987 {0, 9},
00988 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
00989 };
00990 static const RoadDriveEntry _rv_station_right_se_near[] = {
00991 {5, 15},
00992 {5, 14},
00993 {4, 13},
00994 {3, 12},
00995 {3, 11},
00996 {3, 10},
00997 {4, 9},
00998 {5, 9},
00999 {6, 9},
01000 {7, 9},
01001 {8, 9},
01002 {9, 9},
01003 {8, 9},
01004 {7, 9},
01005 {6, 9},
01006 {5, 9},
01007 {4, 9},
01008 {3, 10},
01009 {3, 11},
01010 {3, 12},
01011 {4, 13},
01012 {5, 13},
01013 {6, 13},
01014 {7, 13},
01015 {8, 13},
01016 {9, 14},
01017 {9, 15},
01018 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
01019 };
01020
01021 static const RoadDriveEntry * const _road_road_drive_data[] = {
01022 _roadveh_drive_data_0,
01023 _roadveh_drive_data_1,
01024 _roadveh_drive_data_2,
01025 _roadveh_drive_data_3,
01026 _roadveh_drive_data_4,
01027 _roadveh_drive_data_5,
01028 _roadveh_drive_data_6,
01029 _roadveh_drive_data_7,
01030 _roadveh_drive_data_8,
01031 _roadveh_drive_data_9,
01032 _roadveh_drive_data_10,
01033 _roadveh_drive_data_11,
01034 _roadveh_drive_data_12,
01035 _roadveh_drive_data_13,
01036 _roadveh_drive_data_14,
01037 _roadveh_drive_data_15,
01038 _roadveh_drive_data_16,
01039 _roadveh_drive_data_17,
01040 _roadveh_drive_data_18,
01041 _roadveh_drive_data_19,
01042 _roadveh_drive_data_20,
01043 _roadveh_drive_data_21,
01044 _roadveh_drive_data_22,
01045 _roadveh_drive_data_23,
01046 _roadveh_drive_data_24,
01047 _roadveh_drive_data_25,
01048 _roadveh_drive_data_26,
01049 _roadveh_drive_data_27,
01050 _roadveh_drive_data_28,
01051 _roadveh_drive_data_29,
01052 _roadveh_drive_data_30,
01053 _roadveh_drive_data_31,
01054 _rv_station_left_sw_far,
01055 _rv_station_left_nw_far,
01056 _rv_station_left_sw_near,
01057 _rv_station_left_nw_near,
01058 _rv_station_left_sw_far,
01059 _rv_station_left_nw_far,
01060 _rv_station_left_sw_near,
01061 _rv_station_left_nw_near,
01062 _rv_station_left_ne_far,
01063 _rv_station_left_se_far,
01064 _rv_station_left_ne_near,
01065 _rv_station_left_se_near,
01066 _rv_station_left_ne_far,
01067 _rv_station_left_se_far,
01068 _rv_station_left_ne_near,
01069 _rv_station_left_se_near,
01070 _rv_station_right_sw_far,
01071 _rv_station_right_nw_far,
01072 _rv_station_right_sw_near,
01073 _rv_station_right_nw_near,
01074 _rv_station_right_sw_far,
01075 _rv_station_right_nw_far,
01076 _rv_station_right_sw_near,
01077 _rv_station_right_nw_near,
01078 _rv_station_right_ne_far,
01079 _rv_station_right_se_far,
01080 _rv_station_right_ne_near,
01081 _rv_station_right_se_near,
01082 _rv_station_right_ne_far,
01083 _rv_station_right_se_far,
01084 _rv_station_right_ne_near,
01085 _rv_station_right_se_near,
01086 };
01087
01089 extern const byte _road_stop_stop_frame[] = {
01090
01091 20, 20, 16, 16, 20, 20, 16, 16,
01092 19, 19, 15, 15, 19, 19, 15, 15,
01093 16, 16, 12, 12, 16, 16, 12, 12,
01094 15, 15, 11, 11, 15, 15, 11, 11
01095 };
01096
01097 static const RoadDriveEntry _roadveh_tram_turn_ne_0[] = {
01098 {15, 5},
01099 {14, 5},
01100 {13, 5},
01101 {12, 5},
01102 {11, 5},
01103 {10, 5},
01104 { 9, 5},
01105 { 8, 5},
01106 { 7, 5},
01107 { 6, 5},
01108 { 5, 5},
01109 { 4, 5},
01110 { 3, 5},
01111 { 2, 5},
01112 { 1, 5},
01113 { 0, 5},
01114 { 0, 6},
01115 { 0, 7},
01116 { 0, 8},
01117 { 0, 9},
01118 {RDE_TURNED | DIAGDIR_SW, 0},
01119 { 1, 9},
01120 { 2, 9},
01121 { 3, 9},
01122 { 4, 9},
01123 { 5, 9},
01124 { 6, 9},
01125 { 7, 9},
01126 { 8, 9},
01127 { 9, 9},
01128 {10, 9},
01129 {11, 9},
01130 {12, 9},
01131 {13, 9},
01132 {14, 9},
01133 {15, 9},
01134 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
01135 };
01136
01137 static const RoadDriveEntry _roadveh_tram_turn_ne_1[] = {
01138 {15, 9},
01139 {14, 9},
01140 {13, 9},
01141 {12, 9},
01142 {11, 9},
01143 {10, 9},
01144 { 9, 9},
01145 { 8, 9},
01146 { 7, 9},
01147 { 6, 9},
01148 { 5, 9},
01149 { 4, 9},
01150 { 3, 9},
01151 { 2, 9},
01152 { 1, 9},
01153 { 0, 9},
01154 { 0, 8},
01155 { 0, 7},
01156 { 0, 6},
01157 { 0, 5},
01158 {RDE_TURNED | DIAGDIR_SW, 0},
01159 { 1, 5},
01160 { 2, 5},
01161 { 3, 5},
01162 { 4, 5},
01163 { 5, 5},
01164 { 6, 5},
01165 { 7, 5},
01166 { 8, 5},
01167 { 9, 5},
01168 {10, 5},
01169 {11, 5},
01170 {12, 5},
01171 {13, 5},
01172 {14, 5},
01173 {15, 5},
01174 {RDE_NEXT_TILE | DIAGDIR_SW, 0}
01175 };
01176
01177 static const RoadDriveEntry _roadveh_tram_turn_se_0[] = {
01178 {5, 0},
01179 {5, 1},
01180 {5, 2},
01181 {5, 3},
01182 {5, 4},
01183 {5, 5},
01184 {5, 6},
01185 {5, 7},
01186 {5, 8},
01187 {5, 9},
01188 {5, 10},
01189 {5, 11},
01190 {5, 12},
01191 {5, 13},
01192 {5, 14},
01193 {5, 15},
01194 {6, 15},
01195 {7, 15},
01196 {8, 15},
01197 {9, 15},
01198 {RDE_TURNED | DIAGDIR_NW, 0},
01199 {9, 14},
01200 {9, 13},
01201 {9, 12},
01202 {9, 11},
01203 {9, 10},
01204 {9, 9},
01205 {9, 8},
01206 {9, 7},
01207 {9, 6},
01208 {9, 5},
01209 {9, 4},
01210 {9, 3},
01211 {9, 2},
01212 {9, 1},
01213 {9, 0},
01214 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
01215 };
01216
01217 static const RoadDriveEntry _roadveh_tram_turn_se_1[] = {
01218 {9, 0},
01219 {9, 1},
01220 {9, 2},
01221 {9, 3},
01222 {9, 4},
01223 {9, 5},
01224 {9, 6},
01225 {9, 7},
01226 {9, 8},
01227 {9, 9},
01228 {9, 10},
01229 {9, 11},
01230 {9, 12},
01231 {9, 13},
01232 {9, 14},
01233 {9, 15},
01234 {8, 15},
01235 {7, 15},
01236 {6, 15},
01237 {5, 15},
01238 {RDE_TURNED | DIAGDIR_NW, 0},
01239 {5, 14},
01240 {5, 13},
01241 {5, 12},
01242 {5, 11},
01243 {5, 10},
01244 {5, 9},
01245 {5, 8},
01246 {5, 7},
01247 {5, 6},
01248 {5, 5},
01249 {5, 4},
01250 {5, 3},
01251 {5, 2},
01252 {5, 1},
01253 {5, 0},
01254 {RDE_NEXT_TILE | DIAGDIR_NW, 0}
01255 };
01256
01257 static const RoadDriveEntry _roadveh_tram_turn_sw_0[] = {
01258 { 0, 9},
01259 { 1, 9},
01260 { 2, 9},
01261 { 3, 9},
01262 { 4, 9},
01263 { 5, 9},
01264 { 6, 9},
01265 { 7, 9},
01266 { 8, 9},
01267 { 9, 9},
01268 {10, 9},
01269 {11, 9},
01270 {12, 9},
01271 {13, 9},
01272 {14, 9},
01273 {15, 9},
01274 {15, 8},
01275 {15, 7},
01276 {15, 6},
01277 {15, 5},
01278 {RDE_TURNED | DIAGDIR_NE, 0},
01279 {14, 5},
01280 {13, 5},
01281 {12, 5},
01282 {11, 5},
01283 {10, 5},
01284 { 9, 5},
01285 { 8, 5},
01286 { 7, 5},
01287 { 6, 5},
01288 { 5, 5},
01289 { 4, 5},
01290 { 3, 5},
01291 { 2, 5},
01292 { 1, 5},
01293 { 0, 5},
01294 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
01295 };
01296 static const RoadDriveEntry _roadveh_tram_turn_sw_1[] = {
01297 { 0, 5},
01298 { 1, 5},
01299 { 2, 5},
01300 { 3, 5},
01301 { 4, 5},
01302 { 5, 5},
01303 { 6, 5},
01304 { 7, 5},
01305 { 8, 5},
01306 { 9, 5},
01307 {10, 5},
01308 {11, 5},
01309 {12, 5},
01310 {13, 5},
01311 {14, 5},
01312 {15, 5},
01313 {15, 6},
01314 {15, 7},
01315 {15, 8},
01316 {15, 9},
01317 {RDE_TURNED | DIAGDIR_NE, 0},
01318 {14, 9},
01319 {13, 9},
01320 {12, 9},
01321 {11, 9},
01322 {10, 9},
01323 { 9, 9},
01324 { 8, 9},
01325 { 7, 9},
01326 { 6, 9},
01327 { 5, 9},
01328 { 4, 9},
01329 { 3, 9},
01330 { 2, 9},
01331 { 1, 9},
01332 { 0, 9},
01333 {RDE_NEXT_TILE | DIAGDIR_NE, 0}
01334 };
01335
01336 static const RoadDriveEntry _roadveh_tram_turn_nw_0[] = {
01337 {9, 15},
01338 {9, 14},
01339 {9, 13},
01340 {9, 12},
01341 {9, 11},
01342 {9, 10},
01343 {9, 9},
01344 {9, 8},
01345 {9, 7},
01346 {9, 6},
01347 {9, 5},
01348 {9, 4},
01349 {9, 3},
01350 {9, 2},
01351 {9, 1},
01352 {9, 0},
01353 {8, 0},
01354 {7, 0},
01355 {6, 0},
01356 {5, 0},
01357 {RDE_TURNED | DIAGDIR_SE, 0},
01358 {5, 1},
01359 {5, 2},
01360 {5, 3},
01361 {5, 4},
01362 {5, 5},
01363 {5, 6},
01364 {5, 7},
01365 {5, 8},
01366 {5, 9},
01367 {5, 10},
01368 {5, 11},
01369 {5, 12},
01370 {5, 13},
01371 {5, 14},
01372 {5, 15},
01373 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
01374 };
01375 static const RoadDriveEntry _roadveh_tram_turn_nw_1[] = {
01376 {5, 15},
01377 {5, 14},
01378 {5, 13},
01379 {5, 12},
01380 {5, 11},
01381 {5, 10},
01382 {5, 9},
01383 {5, 8},
01384 {5, 7},
01385 {5, 6},
01386 {5, 5},
01387 {5, 4},
01388 {5, 3},
01389 {5, 2},
01390 {5, 1},
01391 {5, 0},
01392 {6, 0},
01393 {7, 0},
01394 {8, 0},
01395 {9, 0},
01396 {RDE_TURNED | DIAGDIR_SE, 0},
01397 {9, 1},
01398 {9, 2},
01399 {9, 3},
01400 {9, 4},
01401 {9, 5},
01402 {9, 6},
01403 {9, 7},
01404 {9, 8},
01405 {9, 9},
01406 {9, 10},
01407 {9, 11},
01408 {9, 12},
01409 {9, 13},
01410 {9, 14},
01411 {9, 15},
01412 {RDE_NEXT_TILE | DIAGDIR_SE, 0}
01413 };
01414
01415 static const RoadDriveEntry * const _road_tram_drive_data[] = {
01416 _roadveh_drive_data_0,
01417 _roadveh_drive_data_1,
01418 _roadveh_drive_data_2,
01419 _roadveh_drive_data_3,
01420 _roadveh_drive_data_4,
01421 _roadveh_drive_data_5,
01422 _roadveh_tram_turn_ne_0,
01423 _roadveh_tram_turn_se_0,
01424 _roadveh_drive_data_8,
01425 _roadveh_drive_data_9,
01426 _roadveh_drive_data_10,
01427 _roadveh_drive_data_11,
01428 _roadveh_drive_data_12,
01429 _roadveh_drive_data_13,
01430 _roadveh_tram_turn_sw_0,
01431 _roadveh_tram_turn_nw_0,
01432 _roadveh_drive_data_16,
01433 _roadveh_drive_data_17,
01434 _roadveh_drive_data_18,
01435 _roadveh_drive_data_19,
01436 _roadveh_drive_data_20,
01437 _roadveh_drive_data_21,
01438 _roadveh_tram_turn_ne_1,
01439 _roadveh_tram_turn_se_1,
01440 _roadveh_drive_data_24,
01441 _roadveh_drive_data_25,
01442 _roadveh_drive_data_26,
01443 _roadveh_drive_data_27,
01444 _roadveh_drive_data_28,
01445 _roadveh_drive_data_29,
01446 _roadveh_tram_turn_sw_1,
01447 _roadveh_tram_turn_nw_1,
01448 NULL,
01449 NULL,
01450 NULL,
01451 NULL,
01452 NULL,
01453 NULL,
01454 NULL,
01455 NULL,
01456 NULL,
01457 NULL,
01458 NULL,
01459 NULL,
01460 NULL,
01461 NULL,
01462 NULL,
01463 NULL,
01464 NULL,
01465 NULL,
01466 NULL,
01467 NULL,
01468 NULL,
01469 NULL,
01470 NULL,
01471 NULL,
01472 NULL,
01473 NULL,
01474 NULL,
01475 NULL,
01476 NULL,
01477 NULL,
01478 NULL,
01479 NULL,
01480 NULL,
01481 };
01482
01483 static const RoadDriveEntry * const * const _road_drive_data[2] = {
01484 _road_road_drive_data,
01485 _road_tram_drive_data,
01486 };