src/table/roadveh.h
branchNewGRF_ports
changeset 6719 4cc327ad39d5
parent 6329 13ccf5062387
child 6871 5a9dc001e1ad
equal deleted inserted replaced
6718:5a8b295aa345 6719:4cc327ad39d5
     1 /* $Id$ */
     1 /* $Id$ */
       
     2 
       
     3 /** @file table/roadveh.h Data about how a road vehicle must drive on a tile */
     2 
     4 
     3 static const RoadDriveEntry _roadveh_drive_data_0[] = {
     5 static const RoadDriveEntry _roadveh_drive_data_0[] = {
     4 	{15, 5},
     6 	{15, 5},
     5 	{14, 5},
     7 	{14, 5},
     6 	{13, 5},
     8 	{13, 5},
  1007 	{9, 14},
  1009 	{9, 14},
  1008 	{9, 15},
  1010 	{9, 15},
  1009 	{RDE_NEXT_TILE | DIAGDIR_SE, 0}
  1011 	{RDE_NEXT_TILE | DIAGDIR_SE, 0}
  1010 };
  1012 };
  1011 
  1013 
  1012 static const RoadDriveEntry * const _road_drive_data[] = {
  1014 static const RoadDriveEntry * const _road_road_drive_data[] = {
  1013 	_roadveh_drive_data_0,
  1015 	_roadveh_drive_data_0,
  1014 	_roadveh_drive_data_1,
  1016 	_roadveh_drive_data_1,
  1015 	_roadveh_drive_data_2,
  1017 	_roadveh_drive_data_2,
  1016 	_roadveh_drive_data_3,
  1018 	_roadveh_drive_data_3,
  1017 	_roadveh_drive_data_4,
  1019 	_roadveh_drive_data_4,
  1073 	NULL,
  1075 	NULL,
  1074 	NULL,
  1076 	NULL,
  1075 	NULL,
  1077 	NULL,
  1076 	NULL,
  1078 	NULL,
  1077 };
  1079 };
       
  1080 
       
  1081 static const RoadDriveEntry _roadveh_tram_turn_ne_0[] = {
       
  1082 	{15, 5},
       
  1083 	{14, 5},
       
  1084 	{13, 5},
       
  1085 	{12, 5},
       
  1086 	{11, 5},
       
  1087 	{10, 5},
       
  1088 	{ 9, 5},
       
  1089 	{ 8, 5},
       
  1090 	{ 7, 5},
       
  1091 	{ 6, 5},
       
  1092 	{ 5, 5},
       
  1093 	{ 4, 5},
       
  1094 	{ 3, 5},
       
  1095 	{ 2, 5},
       
  1096 	{ 1, 5},
       
  1097 	{ 0, 5},
       
  1098 	{ 0, 6},
       
  1099 	{ 0, 7},
       
  1100 	{ 0, 8},
       
  1101 	{ 0, 9},
       
  1102 	{ 1, 9},
       
  1103 	{ 2, 9},
       
  1104 	{ 3, 9},
       
  1105 	{ 4, 9},
       
  1106 	{ 5, 9},
       
  1107 	{ 6, 9},
       
  1108 	{ 7, 9},
       
  1109 	{ 8, 9},
       
  1110 	{ 9, 9},
       
  1111 	{10, 9},
       
  1112 	{11, 9},
       
  1113 	{12, 9},
       
  1114 	{13, 9},
       
  1115 	{14, 9},
       
  1116 	{15, 9},
       
  1117 	{RDE_NEXT_TILE | DIAGDIR_SW, 0}
       
  1118 };
       
  1119 
       
  1120 static const RoadDriveEntry _roadveh_tram_turn_ne_1[] = {
       
  1121 	{15, 9},
       
  1122 	{14, 9},
       
  1123 	{13, 9},
       
  1124 	{12, 9},
       
  1125 	{11, 9},
       
  1126 	{10, 9},
       
  1127 	{ 9, 9},
       
  1128 	{ 8, 9},
       
  1129 	{ 7, 9},
       
  1130 	{ 6, 9},
       
  1131 	{ 5, 9},
       
  1132 	{ 4, 9},
       
  1133 	{ 3, 9},
       
  1134 	{ 2, 9},
       
  1135 	{ 1, 9},
       
  1136 	{ 0, 9},
       
  1137 	{ 0, 8},
       
  1138 	{ 0, 7},
       
  1139 	{ 0, 6},
       
  1140 	{ 0, 5},
       
  1141 	{ 1, 5},
       
  1142 	{ 2, 5},
       
  1143 	{ 3, 5},
       
  1144 	{ 4, 5},
       
  1145 	{ 5, 5},
       
  1146 	{ 6, 5},
       
  1147 	{ 7, 5},
       
  1148 	{ 8, 5},
       
  1149 	{ 9, 5},
       
  1150 	{10, 5},
       
  1151 	{11, 5},
       
  1152 	{12, 5},
       
  1153 	{13, 5},
       
  1154 	{14, 5},
       
  1155 	{15, 5},
       
  1156 	{RDE_NEXT_TILE | DIAGDIR_SW, 0}
       
  1157 };
       
  1158 
       
  1159 static const RoadDriveEntry _roadveh_tram_turn_se_0[] = {
       
  1160 	{5,  0},
       
  1161 	{5,  1},
       
  1162 	{5,  2},
       
  1163 	{5,  3},
       
  1164 	{5,  4},
       
  1165 	{5,  5},
       
  1166 	{5,  6},
       
  1167 	{5,  7},
       
  1168 	{5,  8},
       
  1169 	{5,  9},
       
  1170 	{5, 10},
       
  1171 	{5, 11},
       
  1172 	{5, 12},
       
  1173 	{5, 13},
       
  1174 	{5, 14},
       
  1175 	{5, 15},
       
  1176 	{6, 15},
       
  1177 	{7, 15},
       
  1178 	{8, 15},
       
  1179 	{9, 15},
       
  1180 	{9, 14},
       
  1181 	{9, 13},
       
  1182 	{9, 12},
       
  1183 	{9, 11},
       
  1184 	{9, 10},
       
  1185 	{9,  9},
       
  1186 	{9,  8},
       
  1187 	{9,  7},
       
  1188 	{9,  6},
       
  1189 	{9,  5},
       
  1190 	{9,  4},
       
  1191 	{9,  3},
       
  1192 	{9,  2},
       
  1193 	{9,  1},
       
  1194 	{9,  0},
       
  1195 	{RDE_NEXT_TILE | DIAGDIR_NW, 0}
       
  1196 };
       
  1197 
       
  1198 static const RoadDriveEntry _roadveh_tram_turn_se_1[] = {
       
  1199 	{9,  0},
       
  1200 	{9,  1},
       
  1201 	{9,  2},
       
  1202 	{9,  3},
       
  1203 	{9,  4},
       
  1204 	{9,  5},
       
  1205 	{9,  6},
       
  1206 	{9,  7},
       
  1207 	{9,  8},
       
  1208 	{9,  9},
       
  1209 	{9, 10},
       
  1210 	{9, 11},
       
  1211 	{9, 12},
       
  1212 	{9, 13},
       
  1213 	{9, 14},
       
  1214 	{9, 15},
       
  1215 	{8, 15},
       
  1216 	{7, 15},
       
  1217 	{6, 15},
       
  1218 	{5, 15},
       
  1219 	{5, 14},
       
  1220 	{5, 13},
       
  1221 	{5, 12},
       
  1222 	{5, 11},
       
  1223 	{5, 10},
       
  1224 	{5,  9},
       
  1225 	{5,  8},
       
  1226 	{5,  7},
       
  1227 	{5,  6},
       
  1228 	{5,  5},
       
  1229 	{5,  4},
       
  1230 	{5,  3},
       
  1231 	{5,  2},
       
  1232 	{5,  1},
       
  1233 	{5,  0},
       
  1234 	{RDE_NEXT_TILE | DIAGDIR_NW, 0}
       
  1235 };
       
  1236 
       
  1237 static const RoadDriveEntry _roadveh_tram_turn_sw_0[] = {
       
  1238 	{ 0, 9},
       
  1239 	{ 1, 9},
       
  1240 	{ 2, 9},
       
  1241 	{ 3, 9},
       
  1242 	{ 4, 9},
       
  1243 	{ 5, 9},
       
  1244 	{ 6, 9},
       
  1245 	{ 7, 9},
       
  1246 	{ 8, 9},
       
  1247 	{ 9, 9},
       
  1248 	{10, 9},
       
  1249 	{11, 9},
       
  1250 	{12, 9},
       
  1251 	{13, 9},
       
  1252 	{14, 9},
       
  1253 	{15, 9},
       
  1254 	{15, 8},
       
  1255 	{15, 7},
       
  1256 	{15, 6},
       
  1257 	{15, 5},
       
  1258 	{14, 5},
       
  1259 	{13, 5},
       
  1260 	{12, 5},
       
  1261 	{11, 5},
       
  1262 	{10, 5},
       
  1263 	{ 9, 5},
       
  1264 	{ 8, 5},
       
  1265 	{ 7, 5},
       
  1266 	{ 6, 5},
       
  1267 	{ 5, 5},
       
  1268 	{ 4, 5},
       
  1269 	{ 3, 5},
       
  1270 	{ 2, 5},
       
  1271 	{ 1, 5},
       
  1272 	{ 0, 5},
       
  1273 	{RDE_NEXT_TILE | DIAGDIR_NE, 0}
       
  1274 };
       
  1275 static const RoadDriveEntry _roadveh_tram_turn_sw_1[] = {
       
  1276 	{ 0, 5},
       
  1277 	{ 1, 5},
       
  1278 	{ 2, 5},
       
  1279 	{ 3, 5},
       
  1280 	{ 4, 5},
       
  1281 	{ 5, 5},
       
  1282 	{ 6, 5},
       
  1283 	{ 7, 5},
       
  1284 	{ 8, 5},
       
  1285 	{ 9, 5},
       
  1286 	{10, 5},
       
  1287 	{11, 5},
       
  1288 	{12, 5},
       
  1289 	{13, 5},
       
  1290 	{14, 5},
       
  1291 	{15, 5},
       
  1292 	{15, 6},
       
  1293 	{15, 7},
       
  1294 	{15, 8},
       
  1295 	{15, 9},
       
  1296 	{14, 9},
       
  1297 	{13, 9},
       
  1298 	{12, 9},
       
  1299 	{11, 9},
       
  1300 	{10, 9},
       
  1301 	{ 9, 9},
       
  1302 	{ 8, 9},
       
  1303 	{ 7, 9},
       
  1304 	{ 6, 9},
       
  1305 	{ 5, 9},
       
  1306 	{ 4, 9},
       
  1307 	{ 3, 9},
       
  1308 	{ 2, 9},
       
  1309 	{ 1, 9},
       
  1310 	{ 0, 9},
       
  1311 	{RDE_NEXT_TILE | DIAGDIR_NE, 0}
       
  1312 };
       
  1313 
       
  1314 static const RoadDriveEntry _roadveh_tram_turn_nw_0[] = {
       
  1315 	{9, 15},
       
  1316 	{9, 14},
       
  1317 	{9, 13},
       
  1318 	{9, 12},
       
  1319 	{9, 11},
       
  1320 	{9, 10},
       
  1321 	{9,  9},
       
  1322 	{9,  8},
       
  1323 	{9,  7},
       
  1324 	{9,  6},
       
  1325 	{9,  5},
       
  1326 	{9,  4},
       
  1327 	{9,  3},
       
  1328 	{9,  2},
       
  1329 	{9,  1},
       
  1330 	{9,  0},
       
  1331 	{8,  0},
       
  1332 	{7,  0},
       
  1333 	{6,  0},
       
  1334 	{5,  0},
       
  1335 	{5,  1},
       
  1336 	{5,  2},
       
  1337 	{5,  3},
       
  1338 	{5,  4},
       
  1339 	{5,  5},
       
  1340 	{5,  6},
       
  1341 	{5,  7},
       
  1342 	{5,  8},
       
  1343 	{5,  9},
       
  1344 	{5, 10},
       
  1345 	{5, 11},
       
  1346 	{5, 12},
       
  1347 	{5, 13},
       
  1348 	{5, 14},
       
  1349 	{5, 15},
       
  1350 	{RDE_NEXT_TILE | DIAGDIR_SE, 0}
       
  1351 };
       
  1352 static const RoadDriveEntry _roadveh_tram_turn_nw_1[] = {
       
  1353 	{5, 15},
       
  1354 	{5, 14},
       
  1355 	{5, 13},
       
  1356 	{5, 12},
       
  1357 	{5, 11},
       
  1358 	{5, 10},
       
  1359 	{5,  9},
       
  1360 	{5,  8},
       
  1361 	{5,  7},
       
  1362 	{5,  6},
       
  1363 	{5,  5},
       
  1364 	{5,  4},
       
  1365 	{5,  3},
       
  1366 	{5,  2},
       
  1367 	{5,  1},
       
  1368 	{5,  0},
       
  1369 	{6,  0},
       
  1370 	{7,  0},
       
  1371 	{8,  0},
       
  1372 	{9,  0},
       
  1373 	{9,  1},
       
  1374 	{9,  2},
       
  1375 	{9,  3},
       
  1376 	{9,  4},
       
  1377 	{9,  5},
       
  1378 	{9,  6},
       
  1379 	{9,  7},
       
  1380 	{9,  8},
       
  1381 	{9,  9},
       
  1382 	{9, 10},
       
  1383 	{9, 11},
       
  1384 	{9, 12},
       
  1385 	{9, 13},
       
  1386 	{9, 14},
       
  1387 	{9, 15},
       
  1388 	{RDE_NEXT_TILE | DIAGDIR_SE, 0}
       
  1389 };
       
  1390 
       
  1391 static const RoadDriveEntry * const _road_tram_drive_data[] = {
       
  1392 	_roadveh_drive_data_0,
       
  1393 	_roadveh_drive_data_1,
       
  1394 	_roadveh_drive_data_2,
       
  1395 	_roadveh_drive_data_3,
       
  1396 	_roadveh_drive_data_4,
       
  1397 	_roadveh_drive_data_5,
       
  1398 	_roadveh_tram_turn_ne_0,
       
  1399 	_roadveh_tram_turn_se_0,
       
  1400 	_roadveh_drive_data_8,
       
  1401 	_roadveh_drive_data_9,
       
  1402 	_roadveh_drive_data_10,
       
  1403 	_roadveh_drive_data_11,
       
  1404 	_roadveh_drive_data_12,
       
  1405 	_roadveh_drive_data_13,
       
  1406 	_roadveh_tram_turn_sw_0,
       
  1407 	_roadveh_tram_turn_nw_0,
       
  1408 	_roadveh_drive_data_16,
       
  1409 	_roadveh_drive_data_17,
       
  1410 	_roadveh_drive_data_18,
       
  1411 	_roadveh_drive_data_19,
       
  1412 	_roadveh_drive_data_20,
       
  1413 	_roadveh_drive_data_21,
       
  1414 	_roadveh_tram_turn_ne_1,
       
  1415 	_roadveh_tram_turn_se_1,
       
  1416 	_roadveh_drive_data_24,
       
  1417 	_roadveh_drive_data_25,
       
  1418 	_roadveh_drive_data_26,
       
  1419 	_roadveh_drive_data_27,
       
  1420 	_roadveh_drive_data_28,
       
  1421 	_roadveh_drive_data_29,
       
  1422 	_roadveh_tram_turn_sw_1,
       
  1423 	_roadveh_tram_turn_nw_1,
       
  1424 	NULL,
       
  1425 	NULL,
       
  1426 	NULL,
       
  1427 	NULL,
       
  1428 	NULL,
       
  1429 	NULL,
       
  1430 	NULL,
       
  1431 	NULL,
       
  1432 	NULL,
       
  1433 	NULL,
       
  1434 	NULL,
       
  1435 	NULL,
       
  1436 	NULL,
       
  1437 	NULL,
       
  1438 	NULL,
       
  1439 	NULL,
       
  1440 	NULL,
       
  1441 	NULL,
       
  1442 	NULL,
       
  1443 	NULL,
       
  1444 	NULL,
       
  1445 	NULL,
       
  1446 	NULL,
       
  1447 	NULL,
       
  1448 	NULL,
       
  1449 	NULL,
       
  1450 	NULL,
       
  1451 	NULL,
       
  1452 	NULL,
       
  1453 	NULL,
       
  1454 	NULL,
       
  1455 	NULL,
       
  1456 	NULL,
       
  1457 };
       
  1458 
       
  1459 static const RoadDriveEntry * const * const _road_drive_data[2] = {
       
  1460 	_road_road_drive_data,
       
  1461 	_road_tram_drive_data,
       
  1462 };