tron@2186: /* $Id$ */ tron@2186: rubidium@10429: /** @file road_land.h Sprite constructs for road depots. */ rubidium@10429: frosch@9066: #define TILE_SEQ_LINE(img, pal, dx, dy, sx, sy) { dx, dy, 0, sx, sy, 20, {img, pal} }, frosch@9066: #define TILE_SEQ_END() { 0, 0, 0, 0, 0, 0, {0, 0} } truelight@0: tron@4232: static const DrawTileSeqStruct _road_depot_NE[] = { peter1138@5920: TILE_SEQ_LINE(0x584 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 15, 16, 1) truelight@0: TILE_SEQ_END() truelight@0: }; truelight@0: tron@4232: static const DrawTileSeqStruct _road_depot_SE[] = { rubidium@9247: TILE_SEQ_LINE(0x580 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 1, 16) peter1138@5920: TILE_SEQ_LINE(0x581 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 15, 0, 1, 16) truelight@0: TILE_SEQ_END() truelight@0: }; truelight@0: tron@4232: static const DrawTileSeqStruct _road_depot_SW[] = { rubidium@9247: TILE_SEQ_LINE(0x582 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 16, 1) peter1138@5920: TILE_SEQ_LINE(0x583 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 15, 16, 1) truelight@0: TILE_SEQ_END() truelight@0: }; truelight@0: tron@4232: static const DrawTileSeqStruct _road_depot_NW[] = { peter1138@5920: TILE_SEQ_LINE(0x585 | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 15, 0, 1, 16) truelight@0: TILE_SEQ_END() truelight@0: }; truelight@0: tron@4232: static const DrawTileSprites _road_depot[] = { frosch@9067: { {0xA4A, PAL_NONE}, _road_depot_NE }, frosch@9067: { {0xA4A, PAL_NONE}, _road_depot_SE }, frosch@9067: { {0xA4A, PAL_NONE}, _road_depot_SW }, frosch@9067: { {0xA4A, PAL_NONE}, _road_depot_NW } truelight@0: }; truelight@0: rubidium@7187: static const DrawTileSeqStruct _tram_depot_NE[] = { smatz@8624: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x35) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 15, 16, 1) rubidium@7187: TILE_SEQ_END() rubidium@7187: }; rubidium@7187: rubidium@7187: static const DrawTileSeqStruct _tram_depot_SE[] = { rubidium@9247: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x31) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 1, 16) smatz@8624: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x32) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 15, 0, 1, 16) rubidium@7187: TILE_SEQ_END() rubidium@7187: }; rubidium@7187: rubidium@7187: static const DrawTileSeqStruct _tram_depot_SW[] = { rubidium@9247: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x33) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 0, 16, 1) smatz@8624: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x34) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 0, 15, 16, 1) rubidium@7187: TILE_SEQ_END() rubidium@7187: }; rubidium@7187: rubidium@7187: static const DrawTileSeqStruct _tram_depot_NW[] = { smatz@8624: TILE_SEQ_LINE((SPR_TRAMWAY_BASE + 0x36) | (1 << PALETTE_MODIFIER_COLOR), PAL_NONE, 15, 0, 1, 16) rubidium@7187: TILE_SEQ_END() rubidium@7187: }; rubidium@7187: rubidium@7187: static const DrawTileSprites _tram_depot[] = { frosch@9067: { {0xA4A, PAL_NONE}, _tram_depot_NE }, frosch@9067: { {0xA4A, PAL_NONE}, _tram_depot_SE }, frosch@9067: { {0xA4A, PAL_NONE}, _tram_depot_SW }, frosch@9067: { {0xA4A, PAL_NONE}, _tram_depot_NW } rubidium@7187: }; rubidium@7187: tron@1398: #undef TILE_SEQ_LINE tron@1398: #undef TILE_SEQ_END tron@1398: truelight@0: truelight@0: static const SpriteID _road_tile_sprites_1[16] = { rubidium@4344: 0, 0x546, 0x545, 0x53B, 0x544, 0x534, 0x53E, 0x539, truelight@0: 0x543, 0x53C, 0x535, 0x538, 0x53D, 0x537, 0x53A, 0x536 truelight@0: }; truelight@0: rubidium@7187: static const SpriteID _road_frontwire_sprites_1[16] = { rubidium@7724: 0, 0x54, 0x55, 0x5B, 0x54, 0x54, 0x5E, 0x5A, 0x55, 0x5C, 0x55, 0x58, 0x5D, 0x57, 0x59, 0x56 rubidium@7187: }; truelight@0: rubidium@7187: static const SpriteID _road_backpole_sprites_1[16] = { rubidium@7187: 0, 0x38, 0x39, 0x40, 0x38, 0x38, 0x43, 0x3E, 0x39, 0x41, 0x39, 0x3C, 0x42, 0x3B, 0x3D, 0x3A rubidium@7187: }; truelight@0: tron@1398: #define MAKELINE(a, b, c) { a, b, c }, tron@1398: #define ENDLINE { 0, 0, 0 } truelight@0: tron@5983: static const DrawRoadTileStruct _roadside_nothing[] = { tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_3[] = { rubidium@4344: MAKELINE(0x57f, 1, 8) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_5[] = { rubidium@4344: MAKELINE(0x57f, 1, 8) rubidium@4344: MAKELINE(0x57e, 14, 8) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_6[] = { rubidium@4344: MAKELINE(0x57e, 8, 1) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_7[] = { rubidium@4344: MAKELINE(0x57f, 1, 8) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_9[] = { rubidium@4344: MAKELINE(0x57f, 8, 14) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_10[] = { rubidium@4344: MAKELINE(0x57f, 8, 14) rubidium@4344: MAKELINE(0x57e, 8, 1) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_11[] = { rubidium@4344: MAKELINE(0x57f, 8, 14) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_12[] = { rubidium@4344: MAKELINE(0x57e, 8, 1) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_13[] = { rubidium@4344: MAKELINE(0x57e, 14, 8) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_14[] = { rubidium@4344: MAKELINE(0x57e, 8, 1) tron@1398: ENDLINE tron@1398: }; tron@1398: tron@1398: static const DrawRoadTileStruct _road_display_datas2_19[] = { rubidium@4344: MAKELINE(0x1212, 0, 2) rubidium@4344: MAKELINE(0x1212, 3, 9) rubidium@4344: MAKELINE(0x1212, 10, 12) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_21[] = { rubidium@4344: MAKELINE(0x1212, 0, 2) rubidium@4344: MAKELINE(0x1212, 0, 10) rubidium@4344: MAKELINE(0x1212, 12, 2) rubidium@4344: MAKELINE(0x1212, 12, 10) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_22[] = { rubidium@4344: MAKELINE(0x1212, 10, 0) rubidium@4344: MAKELINE(0x1212, 3, 3) rubidium@4344: MAKELINE(0x1212, 0, 10) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_23[] = { rubidium@4344: MAKELINE(0x1212, 0, 2) rubidium@4344: MAKELINE(0x1212, 0, 10) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_25[] = { rubidium@4344: MAKELINE(0x1212, 12, 2) rubidium@4344: MAKELINE(0x1212, 9, 9) rubidium@4344: MAKELINE(0x1212, 2, 12) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_26[] = { rubidium@4344: MAKELINE(0x1212, 2, 0) rubidium@4344: MAKELINE(0x1212, 10, 0) rubidium@4344: MAKELINE(0x1212, 2, 12) rubidium@4344: MAKELINE(0x1212, 10, 12) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_27[] = { rubidium@4344: MAKELINE(0x1212, 2, 12) rubidium@4344: MAKELINE(0x1212, 10, 12) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_28[] = { rubidium@4344: MAKELINE(0x1212, 2, 0) rubidium@4344: MAKELINE(0x1212, 9, 3) rubidium@4344: MAKELINE(0x1212, 12, 10) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_29[] = { rubidium@4344: MAKELINE(0x1212, 12, 2) rubidium@4344: MAKELINE(0x1212, 12, 10) tron@1398: ENDLINE truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct _road_display_datas2_30[] = { rubidium@4344: MAKELINE(0x1212, 2, 0) rubidium@4344: MAKELINE(0x1212, 10, 0) tron@1398: ENDLINE truelight@0: }; truelight@0: truelight@0: #undef MAKELINE tron@1398: #undef ENDLINE truelight@0: tron@5983: static const DrawRoadTileStruct* const _roadside_none[] = { tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing, tron@5983: _roadside_nothing, _roadside_nothing truelight@0: }; truelight@0: tron@5983: static const DrawRoadTileStruct* const _roadside_lamps[] = { tron@5983: _roadside_nothing, tron@5983: _roadside_nothing, tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_3, tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_5, truelight@0: _road_display_datas2_6, truelight@0: _road_display_datas2_7, tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_9, truelight@0: _road_display_datas2_10, truelight@0: _road_display_datas2_11, truelight@0: _road_display_datas2_12, truelight@0: _road_display_datas2_13, truelight@0: _road_display_datas2_14, tron@5983: _roadside_nothing, truelight@0: }; truelight@0: tron@5983: static const DrawRoadTileStruct* const _roadside_trees[] = { tron@5983: _roadside_nothing, tron@5983: _roadside_nothing, tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_19, tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_21, truelight@0: _road_display_datas2_22, truelight@0: _road_display_datas2_23, truelight@0: tron@5983: _roadside_nothing, truelight@0: _road_display_datas2_25, truelight@0: _road_display_datas2_26, truelight@0: _road_display_datas2_27, truelight@0: _road_display_datas2_28, truelight@0: _road_display_datas2_29, truelight@0: _road_display_datas2_30, tron@5983: _roadside_nothing, truelight@0: }; truelight@0: tron@1398: static const DrawRoadTileStruct* const * const _road_display_table[] = { tron@5983: _roadside_none, tron@5983: _roadside_none, tron@5983: _roadside_none, tron@5983: _roadside_lamps, tron@5983: _roadside_none, tron@5983: _roadside_trees, truelight@0: };