Add replacement sprites for road waypoint buildings
Add action 5 sprite replacement support
This commit is contained in:
@@ -208,6 +208,12 @@
|
|||||||
<p>There is currently one misc GUI sprite.</p>
|
<p>There is currently one misc GUI sprite.</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr><td>ROAD_WAYPOINTS</td><td>4</td>
|
||||||
|
<td>
|
||||||
|
<b>Road waypoint graphics</b>
|
||||||
|
<p>This is the same order and format as the drive-through bus/truck road stop sprites.</p>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<h3>Signal graphics using switches</h3>
|
<h3>Signal graphics using switches</h3>
|
||||||
<p>
|
<p>
|
||||||
|
@@ -552,5 +552,8 @@
|
|||||||
<h4 id="misc_gui">Miscellaneous GUI graphics (mappable type: misc_gui)</h4>
|
<h4 id="misc_gui">Miscellaneous GUI graphics (mappable type: misc_gui)</h4>
|
||||||
<p>There is currently one misc GUI sprite.</p>
|
<p>There is currently one misc GUI sprite.</p>
|
||||||
<p>This is indicated by the feature name: <font face="monospace">action5_misc_gui</font>, version 1</p>
|
<p>This is indicated by the feature name: <font face="monospace">action5_misc_gui</font>, version 1</p>
|
||||||
|
<h4 id="road_waypoints">Road waypoint graphics (mappable type: road_waypoints)</h4>
|
||||||
|
<p>This is 4 sprites, in the same order and format as the drive-through bus or truck road stop graphics.</p>
|
||||||
|
<p>This is indicated by the feature name: <font face="monospace">action5_road_waypoints</font>, version 1</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@@ -23,6 +23,7 @@ set(BASESET_OTHER_SOURCE_FILES
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/route_step.grf
|
${CMAKE_CURRENT_SOURCE_DIR}/route_step.grf
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/tracerestrict.grf
|
${CMAKE_CURRENT_SOURCE_DIR}/tracerestrict.grf
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/misc_gui.grf
|
${CMAKE_CURRENT_SOURCE_DIR}/misc_gui.grf
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/road_waypoints.grf
|
||||||
)
|
)
|
||||||
|
|
||||||
if (UNIX AND NOT APPLE)
|
if (UNIX AND NOT APPLE)
|
||||||
|
BIN
media/baseset/road_waypoints.grf
Normal file
BIN
media/baseset/road_waypoints.grf
Normal file
Binary file not shown.
10
media/baseset/road_waypoints/road_waypoints.nfo
Normal file
10
media/baseset/road_waypoints/road_waypoints.nfo
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
// Automatically generated by GRFCODEC. Do not modify!
|
||||||
|
// (Info version 32)
|
||||||
|
// Escapes: 2+ 2- 2< 2> 2u< 2u> 2/ 2% 2u/ 2u% 2* 2& 2| 2^ 2sto = 2s 2rst = 2r 2psto 2ror = 2rot 2cmp 2ucmp 2<< 2u>> 2>>
|
||||||
|
// Escapes: 71 70 7= 7! 7< 7> 7G 7g 7gG 7GG 7gg 7c 7C
|
||||||
|
// Escapes: D= = DR D+ = DF D- = DC Du* = DM D* = DnF Du<< = DnC D<< = DO D& D| Du/ D/ Du% D%
|
||||||
|
// Format: spritenum imagefile depth xpos ypos xsize ysize xrel yrel zoom flags
|
||||||
|
0 road_waypoints.png 8bpp 10 10 64 40 -5 -22 normal
|
||||||
|
1 road_waypoints.png 8bpp 90 10 64 40 -31 -9 normal
|
||||||
|
2 road_waypoints.png 8bpp 170 10 64 35 -31 -4 normal
|
||||||
|
3 road_waypoints.png 8bpp 240 10 64 35 -57 -17 normal
|
BIN
media/baseset/road_waypoints/road_waypoints.png
Normal file
BIN
media/baseset/road_waypoints/road_waypoints.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.4 KiB |
@@ -188,9 +188,12 @@ static void LoadSpriteTables()
|
|||||||
/* Tracerestrict sprites. */
|
/* Tracerestrict sprites. */
|
||||||
LoadGrfFile("tracerestrict.grf", SPR_TRACERESTRICT_BASE, false);
|
LoadGrfFile("tracerestrict.grf", SPR_TRACERESTRICT_BASE, false);
|
||||||
|
|
||||||
/* Tracerestrict sprites. */
|
/* Misc GUI sprites. */
|
||||||
LoadGrfFile("misc_gui.grf", SPR_MISC_GUI_BASE, false);
|
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 */
|
/* Fill duplicate original signal graphics sprite block */
|
||||||
for (uint i = 0; i < DUP_ORIGINAL_SIGNALS_SPRITE_COUNT; i++) {
|
for (uint i = 0; i < DUP_ORIGINAL_SIGNALS_SPRITE_COUNT; i++) {
|
||||||
DupSprite(SPR_ORIGINAL_SIGNALS_BASE + i, SPR_DUP_ORIGINAL_SIGNALS_BASE + 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_programmable_signals", 1),
|
||||||
GRFFeatureInfo("action5_no_entry_signals", 1),
|
GRFFeatureInfo("action5_no_entry_signals", 1),
|
||||||
GRFFeatureInfo("action5_misc_gui", 1),
|
GRFFeatureInfo("action5_misc_gui", 1),
|
||||||
|
GRFFeatureInfo("action5_road_waypoints", 1),
|
||||||
GRFFeatureInfo("action0_railtype_programmable_signals", 1),
|
GRFFeatureInfo("action0_railtype_programmable_signals", 1),
|
||||||
GRFFeatureInfo("action0_railtype_no_entry_signals", 1),
|
GRFFeatureInfo("action0_railtype_no_entry_signals", 1),
|
||||||
GRFFeatureInfo("action0_railtype_restricted_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("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("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("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(),
|
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 SpriteID SPR_TRACERESTRICT_BASE = SPR_ROUTE_STEP_BASE + ROUTE_STEP_SPRITE_COUNT;
|
||||||
static const uint16 TRACERESTRICT_SPRITE_COUNT = 2;
|
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 SpriteID SPR_MISC_GUI_BASE = SPR_TRACERESTRICT_BASE + TRACERESTRICT_SPRITE_COUNT;
|
||||||
static const uint16 MISC_GUI_SPRITE_COUNT = 1;
|
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 */
|
/* 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 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 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;
|
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()
|
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[] = {
|
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, 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))
|
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[] = {
|
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(0, nullptr)
|
||||||
TILE_SPRITE_LINE(SPR_BUS_STOP_SE_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_72)
|
TILE_SPRITE_LINE(0, nullptr)
|
||||||
TILE_SPRITE_LINE(SPR_BUS_STOP_SW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_73)
|
TILE_SPRITE_LINE(0, nullptr)
|
||||||
TILE_SPRITE_LINE(SPR_BUS_STOP_NW_GROUND | (1U << PALETTE_MODIFIER_COLOUR), _station_display_datas_74)
|
TILE_SPRITE_LINE(0, nullptr)
|
||||||
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_X, _station_display_datas_0170)
|
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_0171)
|
TILE_SPRITE_LINE(SPR_ROAD_PAVED_STRAIGHT_Y, _station_display_datas_road_waypoint_Y)
|
||||||
};
|
};
|
||||||
|
|
||||||
static const DrawTileSprites _station_display_datas_oilrig[] = {
|
static const DrawTileSprites _station_display_datas_oilrig[] = {
|
||||||
|
Reference in New Issue
Block a user