Add replacement sprites for road waypoint buildings
Add action 5 sprite replacement support
This commit is contained in:
@@ -188,9 +188,12 @@ static void LoadSpriteTables()
|
||||
/* Tracerestrict sprites. */
|
||||
LoadGrfFile("tracerestrict.grf", SPR_TRACERESTRICT_BASE, false);
|
||||
|
||||
/* Tracerestrict sprites. */
|
||||
/* Misc GUI sprites. */
|
||||
LoadGrfFile("misc_gui.grf", SPR_MISC_GUI_BASE, false);
|
||||
|
||||
/* Road waypoints sprites. */
|
||||
LoadGrfFile("road_waypoints.grf", SPR_ROAD_WAYPOINTS_BASE, false);
|
||||
|
||||
/* Fill duplicate original signal graphics sprite block */
|
||||
for (uint i = 0; i < DUP_ORIGINAL_SIGNALS_SPRITE_COUNT; i++) {
|
||||
DupSprite(SPR_ORIGINAL_SIGNALS_BASE + i, SPR_DUP_ORIGINAL_SIGNALS_BASE + i);
|
||||
|
||||
@@ -30,6 +30,7 @@ extern const GRFFeatureInfo _grf_feature_list[] = {
|
||||
GRFFeatureInfo("action5_programmable_signals", 1),
|
||||
GRFFeatureInfo("action5_no_entry_signals", 1),
|
||||
GRFFeatureInfo("action5_misc_gui", 1),
|
||||
GRFFeatureInfo("action5_road_waypoints", 1),
|
||||
GRFFeatureInfo("action0_railtype_programmable_signals", 1),
|
||||
GRFFeatureInfo("action0_railtype_no_entry_signals", 1),
|
||||
GRFFeatureInfo("action0_railtype_restricted_signals", 1),
|
||||
@@ -89,5 +90,6 @@ extern const Action5TypeRemapDefinition _grf_action5_remappable_types[] = {
|
||||
Action5TypeRemapDefinition("programmable_signals", A5BLOCK_ALLOW_OFFSET, SPR_PROGSIGNAL_BASE, 1, 32, "Programmable pre-signal graphics"),
|
||||
Action5TypeRemapDefinition("no_entry_signals", A5BLOCK_ALLOW_OFFSET, SPR_EXTRASIGNAL_BASE, 1, 16, "No-entry signal graphics"),
|
||||
Action5TypeRemapDefinition("misc_gui", A5BLOCK_ALLOW_OFFSET, SPR_MISC_GUI_BASE, 1, 1, "Miscellaneous GUI graphics"),
|
||||
Action5TypeRemapDefinition("road_waypoints", A5BLOCK_ALLOW_OFFSET, SPR_ROAD_WAYPOINTS_BASE, 1, 4, "Road waypoints"),
|
||||
Action5TypeRemapDefinition(),
|
||||
};
|
||||
|
||||
@@ -344,12 +344,20 @@ static const SpriteID ROUTE_STEP_SPRITE_COUNT = 4;
|
||||
static const SpriteID SPR_TRACERESTRICT_BASE = SPR_ROUTE_STEP_BASE + ROUTE_STEP_SPRITE_COUNT;
|
||||
static const uint16 TRACERESTRICT_SPRITE_COUNT = 2;
|
||||
|
||||
/* Tracerestrict sprites */
|
||||
/* Misc GUI sprites */
|
||||
static const SpriteID SPR_MISC_GUI_BASE = SPR_TRACERESTRICT_BASE + TRACERESTRICT_SPRITE_COUNT;
|
||||
static const uint16 MISC_GUI_SPRITE_COUNT = 1;
|
||||
|
||||
/* Road waypoints sprites */
|
||||
static const SpriteID SPR_ROAD_WAYPOINTS_BASE = SPR_MISC_GUI_BASE + MISC_GUI_SPRITE_COUNT;
|
||||
static const SpriteID SPR_ROAD_WAYPOINT_Y_W = SPR_ROAD_WAYPOINTS_BASE;
|
||||
static const SpriteID SPR_ROAD_WAYPOINT_Y_E = SPR_ROAD_WAYPOINTS_BASE + 1;
|
||||
static const SpriteID SPR_ROAD_WAYPOINT_X_W = SPR_ROAD_WAYPOINTS_BASE + 2;
|
||||
static const SpriteID SPR_ROAD_WAYPOINT_X_E = SPR_ROAD_WAYPOINTS_BASE + 3;
|
||||
static const uint16 ROAD_WAYPOINTS_SPRITE_COUNT = 4;
|
||||
|
||||
/* Duplicated signal sprites */
|
||||
static const SpriteID SPR_DUP_ORIGINAL_SIGNALS_BASE = SPR_MISC_GUI_BASE + MISC_GUI_SPRITE_COUNT;
|
||||
static const SpriteID SPR_DUP_ORIGINAL_SIGNALS_BASE = SPR_ROAD_WAYPOINTS_BASE + ROAD_WAYPOINTS_SPRITE_COUNT;
|
||||
static const uint16 DUP_ORIGINAL_SIGNALS_SPRITE_COUNT = 16;
|
||||
static const SpriteID SPR_DUP_SIGNALS_BASE = SPR_DUP_ORIGINAL_SIGNALS_BASE + DUP_ORIGINAL_SIGNALS_SPRITE_COUNT;
|
||||
static const uint16 DUP_SIGNALS_SPRITE_COUNT = PRESIGNAL_SEMAPHORE_AND_PBS_SPRITE_COUNT;
|
||||
|
||||
@@ -763,6 +763,20 @@ static const DrawTileSeqStruct _station_display_datas_0171[] = {
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
/* drive-through bus stop X */
|
||||
static const DrawTileSeqStruct _station_display_datas_road_waypoint_X[] = {
|
||||
TILE_SEQ_LINE( 0, 0, 0, 16, 3, 16, SPR_ROAD_WAYPOINT_X_W | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
TILE_SEQ_LINE( 0, 13, 0, 16, 3, 16, SPR_ROAD_WAYPOINT_X_E | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
/* drive-through bus stop Y */
|
||||
static const DrawTileSeqStruct _station_display_datas_road_waypoint_Y[] = {
|
||||
TILE_SEQ_LINE(13, 0, 0, 3, 16, 16, SPR_ROAD_WAYPOINT_Y_W | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
TILE_SEQ_LINE( 0, 0, 0, 3, 16, 16, SPR_ROAD_WAYPOINT_Y_E | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
TILE_SEQ_END()
|
||||
};
|
||||
|
||||
static const DrawTileSeqStruct _station_display_datas_waypoint_X[] = {
|
||||
TILE_SEQ_LINE( 0, 0, 0, 16, 5, 23, SPR_WAYPOINT_X_1 | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
TILE_SEQ_LINE( 0, 11, 0, 16, 5, 23, SPR_WAYPOINT_X_2 | (1U << PALETTE_MODIFIER_COLOUR))
|
||||
@@ -956,12 +970,12 @@ static const DrawTileSprites _station_display_datas_bus[] = {
|
||||
};
|
||||
|
||||
static const DrawTileSprites _station_display_datas_road_waypoint[] = {
|
||||
TILE_SPRITE_LINE(SPR_BUS_STOP_NE_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_71)
|
||||
TILE_SPRITE_LINE(SPR_BUS_STOP_SE_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_72)
|
||||
TILE_SPRITE_LINE(SPR_BUS_STOP_SW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_73)
|
||||
TILE_SPRITE_LINE(SPR_BUS_STOP_NW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_74)
|
||||
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X, _station_display_datas_0170)
|
||||
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y, _station_display_datas_0171)
|
||||
TILE_SPRITE_LINE(0, nullptr)
|
||||
TILE_SPRITE_LINE(0, nullptr)
|
||||
TILE_SPRITE_LINE(0, nullptr)
|
||||
TILE_SPRITE_LINE(0, nullptr)
|
||||
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X, _station_display_datas_road_waypoint_X)
|
||||
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y, _station_display_datas_road_waypoint_Y)
|
||||
};
|
||||
|
||||
static const DrawTileSprites _station_display_datas_oilrig[] = {
|
||||
|
||||
Reference in New Issue
Block a user