1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-16 19:43:06 +01:00

Specify track style icon and tooltip in RTD

This commit is contained in:
Michael Steenbeek
2024-08-11 12:42:11 +02:00
committed by GitHub
parent 1e8ac29bd2
commit f0c73cb9ef
7 changed files with 24 additions and 18 deletions

View File

@@ -1637,7 +1637,6 @@ namespace OpenRCT2
STR_RIDE_CONSTRUCTION_MOVE_TO_PREVIOUS_SECTION_TIP = 913,
STR_RIDE_CONSTRUCTION_NO_ROLL_TIP = 912,
STR_RIDE_CONSTRUCTION_OTHER_TRACK_CONFIGURATIONS_TIP = 1385,
STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP = 1461,
STR_RIDE_CONSTRUCTION_REMOVE_HIGHLIGHTED_SECTION_TIP = 916,
STR_RIDE_CONSTRUCTION_RIGHT_CURVE_LARGE_TIP = 905,
STR_RIDE_CONSTRUCTION_RIGHT_CURVE_SMALL_TIP = 901,
@@ -1668,15 +1667,12 @@ namespace OpenRCT2
STR_RIDE_CONSTRUCTION_SLOPE_DOWN_TIP = 919,
STR_RIDE_CONSTRUCTION_SLOPE_UP_TIP = 921,
STR_RIDE_CONSTRUCTION_SPECIAL = 1386,
STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP = 3062,
STR_RIDE_CONSTRUCTION_STEEP_SLOPE_DOWN_TIP = 918,
STR_RIDE_CONSTRUCTION_STEEP_SLOPE_UP_TIP = 922,
STR_RIDE_CONSTRUCTION_STRAIGHT_TIP = 906,
STR_RIDE_CONSTRUCTION_TRACK_STYLE = 1459,
STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP = 1460,
STR_RIDE_CONSTRUCTION_VERTICAL_DROP_TIP = 917,
STR_RIDE_CONSTRUCTION_VERTICAL_RISE_TIP = 923,
STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP = 3063,
STR_RIDE_CONSTRUCTION_WINDOW_TITLE = 896,
STR_YELLOW_STRING = 1384,

View File

@@ -1900,20 +1900,10 @@ static Widget _rideConstructionWidgets[] = {
widgets[WIDX_U_TRACK].type = WindowWidgetType::FlatBtn;
widgets[WIDX_O_TRACK].type = WindowWidgetType::FlatBtn;
if (rtd.Category == RIDE_CATEGORY_WATER)
{
widgets[WIDX_U_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK);
widgets[WIDX_O_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK);
widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP;
widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP;
}
else
{
widgets[WIDX_U_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_RC_TRACK);
widgets[WIDX_O_TRACK].image = ImageId(SPR_RIDE_CONSTRUCTION_WATER_CHANNEL);
widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP;
widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP;
}
widgets[WIDX_U_TRACK].image = ImageId(trackDrawerDescriptor.Regular.icon);
widgets[WIDX_O_TRACK].image = ImageId(trackDrawerDescriptor.Covered.icon);
widgets[WIDX_U_TRACK].tooltip = trackDrawerDescriptor.Regular.tooltip;
widgets[WIDX_O_TRACK].tooltip = trackDrawerDescriptor.Covered.tooltip;
// TODO: Read these from the TrackDrawerEntry
if (currentRide->type == RIDE_TYPE_WATER_COASTER)

View File

@@ -1632,6 +1632,7 @@ enum : StringId
STR_RIDE_CONSTRUCTION_BLOCK_BRAKE_SPEED = 6577,
STR_RIDE_CONSTRUCTION_BLOCK_BRAKE_SPEED_LIMIT_TIP = 6578,
STR_TRACK_DESIGN_BLOCK_BRAKE_SPEED_RESET = 6579,
STR_RIDE_SET_VEHICLE_REVERSED_FAIL = 6585,

View File

@@ -294,6 +294,9 @@ struct TrackDrawerEntry
// or because they are not realistic for the ride type (e.g. LIM boosters in Mini Roller Coasters).
RideTrackGroup ExtraTrackPieces{};
ImageIndex icon = kSpriteIdNull;
StringId tooltip = STR_NONE;
void GetAvailableTrackPieces(RideTrackGroup& res) const;
bool SupportsTrackGroup(const TrackGroup trackGroup) const;
};

View File

@@ -205,4 +205,10 @@ enum : StringId
STR_RIDE_DESCRIPTION_RIVER_RAPIDS = 536,
STR_RIDE_DESCRIPTION_SPLASH_BOATS = 572,
STR_RIDE_DESCRIPTION_SUBMARINE_RIDE = 590,
// Other strings, used in RTDs
STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP = 1461,
STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP = 3062,
STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP = 1460,
STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP = 3063,
};

View File

@@ -10,6 +10,7 @@
#pragma once
#include "../../../drawing/LightFX.h"
#include "../../../ride/RideStringIds.h"
#include "../../../sprites.h"
#include "../../RideData.h"
#include "../../ShopItem.h"
@@ -25,11 +26,15 @@ constexpr RideTypeDescriptor WaterCoasterRTD =
.Drawer = GetTrackPaintFunctionWaterRC,
.EnabledTrackPieces = {TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::flatRollBanking, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::slopeCurve, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve, TrackGroup::curveLarge, TrackGroup::helixDownBankedHalf, TrackGroup::helixUpBankedHalf, TrackGroup::brakes, TrackGroup::blockBrakes, TrackGroup::onridePhoto, TrackGroup::booster, TrackGroup::diagBrakes, TrackGroup::diagBlockBrakes},
.ExtraTrackPieces = {TrackGroup::slopeLong},
.icon = SPR_RIDE_CONSTRUCTION_RC_TRACK,
.tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP,
},
{
.Drawer = GetTrackPaintFunctionSplashBoats,
.EnabledTrackPieces = {OpenRCT2::TrackElemType::Flat, OpenRCT2::TrackElemType::LeftQuarterTurn5Tiles, OpenRCT2::TrackElemType::RightQuarterTurn5Tiles, OpenRCT2::TrackElemType::SBendLeft, OpenRCT2::TrackElemType::SBendRight},
.ExtraTrackPieces = {},
.icon = SPR_RIDE_CONSTRUCTION_WATER_CHANNEL,
.tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP,
}
),
.InvertedTrackPaintFunctions = {},

View File

@@ -9,6 +9,7 @@
#pragma once
#include "../../../ride/RideStringIds.h"
#include "../../../sprites.h"
#include "../../RideData.h"
#include "../../ShopItem.h"
@@ -24,11 +25,15 @@ constexpr RideTypeDescriptor DinghySlideRTD =
.Drawer = GetTrackPaintFunctionDinghySlide,
.EnabledTrackPieces = { TrackGroup::straight, TrackGroup::stationEnd, TrackGroup::liftHill, TrackGroup::slope, TrackGroup::slopeSteepUp, TrackGroup::slopeSteepDown, TrackGroup::sBend, TrackGroup::curveSmall, TrackGroup::curve },
.ExtraTrackPieces = {},
.icon = SPR_RIDE_CONSTRUCTION_U_SHAPED_TRACK,
.tooltip = STR_RIDE_CONSTRUCTION_U_SHAPED_OPEN_TRACK_TIP,
},
{
.Drawer = GetTrackPaintFunctionDinghySlideCovered,
.EnabledTrackPieces = {OpenRCT2::TrackElemType::Flat, OpenRCT2::TrackElemType::Up25, OpenRCT2::TrackElemType::Up60, OpenRCT2::TrackElemType::FlatToUp25, OpenRCT2::TrackElemType::Up25ToUp60, OpenRCT2::TrackElemType::Up60ToUp25, OpenRCT2::TrackElemType::Up25ToFlat, OpenRCT2::TrackElemType::Down25, OpenRCT2::TrackElemType::Down60, OpenRCT2::TrackElemType::FlatToDown25, OpenRCT2::TrackElemType::Down25ToDown60, OpenRCT2::TrackElemType::Down60ToDown25, OpenRCT2::TrackElemType::Down25ToFlat, OpenRCT2::TrackElemType::LeftQuarterTurn5Tiles, OpenRCT2::TrackElemType::RightQuarterTurn5Tiles, OpenRCT2::TrackElemType::SBendLeft, OpenRCT2::TrackElemType::SBendRight, OpenRCT2::TrackElemType::LeftQuarterTurn3Tiles,OpenRCT2::TrackElemType::RightQuarterTurn3Tiles},
.ExtraTrackPieces = {},
.icon = SPR_RIDE_CONSTRUCTION_O_SHAPED_TRACK,
.tooltip = STR_RIDE_CONSTRUCTION_O_SHAPED_ENCLOSED_TRACK_TIP,
}
),
.InvertedTrackPaintFunctions = {},