mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-23 15:52:55 +01:00
Refactor GetRideNaming(), add getTypeNaming() to Ride
This commit is contained in:
@@ -110,8 +110,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
if (researchItem.type == Research::EntryType::ride
|
if (researchItem.type == Research::EntryType::ride
|
||||||
&& !GetRideTypeDescriptor(researchItem.baseRideType).HasFlag(RtdFlag::listVehiclesSeparately))
|
&& !GetRideTypeDescriptor(researchItem.baseRideType).HasFlag(RtdFlag::listVehiclesSeparately))
|
||||||
{
|
{
|
||||||
const StringId rideTypeName = GetRideNaming(
|
const StringId rideTypeName = GetRideNaming(researchItem.baseRideType, GetRideEntryByIndex(researchItem.entryIndex))
|
||||||
researchItem.baseRideType, *GetRideEntryByIndex(researchItem.entryIndex))
|
|
||||||
.Name;
|
.Name;
|
||||||
|
|
||||||
// Draw group name
|
// Draw group name
|
||||||
@@ -419,8 +418,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
&& !GetRideTypeDescriptor(researchItem->baseRideType).HasFlag(RtdFlag::listVehiclesSeparately))
|
&& !GetRideTypeDescriptor(researchItem->baseRideType).HasFlag(RtdFlag::listVehiclesSeparately))
|
||||||
{
|
{
|
||||||
drawString = STR_WINDOW_COLOUR_2_STRINGID_STRINGID;
|
drawString = STR_WINDOW_COLOUR_2_STRINGID_STRINGID;
|
||||||
StringId rideTypeName = GetRideNaming(
|
StringId rideTypeName = GetRideNaming(researchItem->baseRideType, GetRideEntryByIndex(researchItem->entryIndex))
|
||||||
researchItem->baseRideType, *GetRideEntryByIndex(researchItem->entryIndex))
|
|
||||||
.Name;
|
.Name;
|
||||||
ft.Add<StringId>(rideTypeName);
|
ft.Add<StringId>(rideTypeName);
|
||||||
ft.Add<StringId>(stringId);
|
ft.Add<StringId>(stringId);
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
if (objectEntry != nullptr)
|
if (objectEntry != nullptr)
|
||||||
{
|
{
|
||||||
auto groupIndex = ObjectManagerGetLoadedObjectEntryIndex(objectEntry);
|
auto groupIndex = ObjectManagerGetLoadedObjectEntryIndex(objectEntry);
|
||||||
auto rideName = GetRideNaming(td.trackAndVehicle.rtdIndex, *GetRideEntryByIndex(groupIndex));
|
auto rideName = GetRideNaming(td.trackAndVehicle.rtdIndex, GetRideEntryByIndex(groupIndex));
|
||||||
ft.Add<StringId>(rideName.Name);
|
ft.Add<StringId>(rideName.Name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -763,7 +763,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
|
|
||||||
bool IsFilterInRideType(const RideObjectEntry& rideEntry)
|
bool IsFilterInRideType(const RideObjectEntry& rideEntry)
|
||||||
{
|
{
|
||||||
auto rideTypeName = GetRideNaming(rideEntry.ride_type[0], rideEntry).Name;
|
auto rideTypeName = GetRideNaming(rideEntry.ride_type[0], &rideEntry).Name;
|
||||||
return String::contains(u8string_view(LanguageGetString(rideTypeName)), _filter, true);
|
return String::contains(u8string_view(LanguageGetString(rideTypeName)), _filter, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -921,7 +921,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
auto& objMgr = OpenRCT2::GetContext()->GetObjectManager();
|
auto& objMgr = OpenRCT2::GetContext()->GetObjectManager();
|
||||||
const auto* rideObj = objMgr.GetLoadedObject<RideObject>(item.EntryIndex);
|
const auto* rideObj = objMgr.GetLoadedObject<RideObject>(item.EntryIndex);
|
||||||
const auto& rideEntry = rideObj->GetEntry();
|
const auto& rideEntry = rideObj->GetEntry();
|
||||||
RideNaming rideNaming = GetRideNaming(item.Type, rideEntry);
|
RideNaming rideNaming = GetRideNaming(item.Type, &rideEntry);
|
||||||
auto ft = Formatter();
|
auto ft = Formatter();
|
||||||
|
|
||||||
UpdateVehicleAvailability(item.Type);
|
UpdateVehicleAvailability(item.Type);
|
||||||
|
|||||||
@@ -383,7 +383,7 @@ namespace OpenRCT2::Ui::Windows
|
|||||||
|
|
||||||
if (entry != nullptr)
|
if (entry != nullptr)
|
||||||
{
|
{
|
||||||
RideNaming rideName = GetRideNaming(_window_track_list_item.Type, *entry);
|
RideNaming rideName = GetRideNaming(_window_track_list_item.Type, entry);
|
||||||
stringId = rideName.Name;
|
stringId = rideName.Name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ void ResearchFinishItem(const ResearchItem& researchItem)
|
|||||||
if (GetRideTypeDescriptor(base_ride_type).HasFlag(RtdFlag::listVehiclesSeparately)
|
if (GetRideTypeDescriptor(base_ride_type).HasFlag(RtdFlag::listVehiclesSeparately)
|
||||||
|| researchItem.flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE)
|
|| researchItem.flags & RESEARCH_ENTRY_FLAG_FIRST_OF_TYPE)
|
||||||
{
|
{
|
||||||
RideNaming naming = GetRideNaming(base_ride_type, *rideEntry);
|
RideNaming naming = GetRideNaming(base_ride_type, rideEntry);
|
||||||
availabilityString = STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE;
|
availabilityString = STR_NEWS_ITEM_RESEARCH_NEW_RIDE_AVAILABLE;
|
||||||
ft.Add<StringId>(naming.Name);
|
ft.Add<StringId>(naming.Name);
|
||||||
}
|
}
|
||||||
@@ -262,7 +262,7 @@ void ResearchFinishItem(const ResearchItem& researchItem)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
availabilityString = STR_NEWS_ITEM_RESEARCH_NEW_VEHICLE_AVAILABLE;
|
availabilityString = STR_NEWS_ITEM_RESEARCH_NEW_VEHICLE_AVAILABLE;
|
||||||
RideNaming baseRideNaming = GetRideNaming(base_ride_type, *rideEntry);
|
RideNaming baseRideNaming = GetRideNaming(base_ride_type, rideEntry);
|
||||||
|
|
||||||
ft.Add<StringId>(baseRideNaming.Name);
|
ft.Add<StringId>(baseRideNaming.Name);
|
||||||
ft.Add<StringId>(rideEntry->naming.Name);
|
ft.Add<StringId>(rideEntry->naming.Name);
|
||||||
|
|||||||
@@ -4410,15 +4410,15 @@ void Ride::setNameToDefault()
|
|||||||
/**
|
/**
|
||||||
* This will return the name of the ride, as seen in the New Ride window.
|
* This will return the name of the ride, as seen in the New Ride window.
|
||||||
*/
|
*/
|
||||||
RideNaming GetRideNaming(const ride_type_t rideType, const RideObjectEntry& rideEntry)
|
RideNaming GetRideNaming(const ride_type_t rideType, const RideObjectEntry* rideEntry)
|
||||||
{
|
{
|
||||||
const auto& rtd = GetRideTypeDescriptor(rideType);
|
const auto& rtd = GetRideTypeDescriptor(rideType);
|
||||||
if (!rtd.HasFlag(RtdFlag::listVehiclesSeparately))
|
if (rtd.HasFlag(RtdFlag::listVehiclesSeparately) && rideEntry != nullptr)
|
||||||
{
|
{
|
||||||
return rtd.Naming;
|
return rideEntry->naming;
|
||||||
}
|
}
|
||||||
|
|
||||||
return rideEntry.naming;
|
return rtd.Naming;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -5800,16 +5800,7 @@ void Ride::formatNameTo(Formatter& ft) const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const auto& rtd = getRideTypeDescriptor();
|
const auto rideTypeName = getTypeNaming().Name;
|
||||||
auto rideTypeName = rtd.Naming.Name;
|
|
||||||
if (rtd.HasFlag(RtdFlag::listVehiclesSeparately))
|
|
||||||
{
|
|
||||||
auto rideEntry = getRideEntry();
|
|
||||||
if (rideEntry != nullptr)
|
|
||||||
{
|
|
||||||
rideTypeName = rideEntry->naming.Name;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ft.Add<StringId>(1).Add<StringId>(rideTypeName).Add<uint16_t>(defaultNameNumber);
|
ft.Add<StringId>(1).Add<StringId>(rideTypeName).Add<uint16_t>(defaultNameNumber);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5827,6 +5818,11 @@ const RideTypeDescriptor& Ride::getRideTypeDescriptor() const
|
|||||||
return ::GetRideTypeDescriptor(type);
|
return ::GetRideTypeDescriptor(type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RideNaming Ride::getTypeNaming() const
|
||||||
|
{
|
||||||
|
return GetRideNaming(type, getRideEntry());
|
||||||
|
}
|
||||||
|
|
||||||
uint8_t Ride::getNumShelteredSections() const
|
uint8_t Ride::getNumShelteredSections() const
|
||||||
{
|
{
|
||||||
return numShelteredSections & ShelteredSectionsBits::kNumShelteredSectionsMask;
|
return numShelteredSections & ShelteredSectionsBits::kNumShelteredSectionsMask;
|
||||||
|
|||||||
@@ -403,6 +403,7 @@ public:
|
|||||||
|
|
||||||
uint64_t getAvailableModes() const;
|
uint64_t getAvailableModes() const;
|
||||||
const RideTypeDescriptor& getRideTypeDescriptor() const;
|
const RideTypeDescriptor& getRideTypeDescriptor() const;
|
||||||
|
RideNaming getTypeNaming() const;
|
||||||
OpenRCT2::TrackElement* getOriginElement(StationIndex stationIndex) const;
|
OpenRCT2::TrackElement* getOriginElement(StationIndex stationIndex) const;
|
||||||
|
|
||||||
std::pair<RideMeasurement*, OpenRCT2String> getMeasurement();
|
std::pair<RideMeasurement*, OpenRCT2String> getMeasurement();
|
||||||
|
|||||||
@@ -99,4 +99,4 @@ struct RideObjectEntry
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
RideNaming GetRideNaming(const ride_type_t rideType, const RideObjectEntry& rideEntry);
|
RideNaming GetRideNaming(const ride_type_t rideType, const RideObjectEntry* rideEntry);
|
||||||
|
|||||||
Reference in New Issue
Block a user