1
0
mirror of https://github.com/OpenTTD/OpenTTD synced 2026-01-28 22:54:29 +01:00

Codechange: Make Price an enum class.

This commit is contained in:
Cyprian Klimaszewski
2026-01-12 22:22:45 +01:00
committed by rubidium42
parent b556dc24b8
commit 322ce224b4
42 changed files with 325 additions and 326 deletions

View File

@@ -32,7 +32,7 @@
if (!IsValidAirportType(type)) return -1;
const AirportSpec *as = ::AirportSpec::Get(type);
return _price[PR_BUILD_STATION_AIRPORT] * as->size_x * as->size_y;
return _price[Price::BuildStationAirport] * as->size_x * as->size_y;
}
/* static */ bool ScriptAirport::IsHangarTile(TileIndex tile)
@@ -170,7 +170,7 @@
{
if (!IsAirportInformationAvailable(type)) return -1;
return (int64_t)GetMaintenanceCostFactor(type) * _price[PR_INFRASTRUCTURE_AIRPORT] >> 3;
return (int64_t)GetMaintenanceCostFactor(type) * _price[Price::InfrastructureAirport] >> 3;
}
/* static */ SQInteger ScriptAirport::GetAirportNumHelipads(AirportType type)

View File

@@ -151,7 +151,7 @@ static void _DoCommandReturnBuildBridge1(class ScriptInstance &instance)
length = Clamp<SQInteger>(length, 0, INT32_MAX);
return ::CalcBridgeLenCostFactor(length) * _price[PR_BUILD_BRIDGE] * ::GetBridgeSpec(bridge_type)->price >> 8;
return ::CalcBridgeLenCostFactor(length) * _price[Price::BuildBridge] * ::GetBridgeSpec(bridge_type)->price >> 8;
}
/* static */ SQInteger ScriptBridge::GetMaxLength(BridgeType bridge_type)

View File

@@ -167,11 +167,11 @@
/* static */ Money ScriptMarine::GetBuildCost(BuildType build_type)
{
switch (build_type) {
case BT_DOCK: return ::GetPrice(PR_BUILD_STATION_DOCK, 1, nullptr);
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_SHIP, 1, nullptr);
case BT_BUOY: return ::GetPrice(PR_BUILD_WAYPOINT_BUOY, 1, nullptr);
case BT_LOCK: return ::GetPrice(PR_BUILD_LOCK, 1, nullptr);
case BT_CANAL: return ::GetPrice(PR_BUILD_CANAL, 1, nullptr);
case BT_DOCK: return ::GetPrice(Price::BuildStationDock, 1, nullptr);
case BT_DEPOT: return ::GetPrice(Price::BuildDepotShip, 1, nullptr);
case BT_BUOY: return ::GetPrice(Price::BuildWaypointBuoy, 1, nullptr);
case BT_LOCK: return ::GetPrice(Price::BuildLock, 1, nullptr);
case BT_CANAL: return ::GetPrice(Price::BuildCanal, 1, nullptr);
default: return -1;
}
}

View File

@@ -494,10 +494,10 @@ static bool IsValidSignalType(int signal_type)
switch (build_type) {
case BT_TRACK: return ::RailBuildCost((::RailType)railtype);
case BT_SIGNAL: return ::GetPrice(PR_BUILD_SIGNALS, 1, nullptr);
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_TRAIN, 1, nullptr);
case BT_STATION: return ::GetPrice(PR_BUILD_STATION_RAIL, 1, nullptr) + ::GetPrice(PR_BUILD_STATION_RAIL_LENGTH, 1, nullptr);
case BT_WAYPOINT: return ::GetPrice(PR_BUILD_WAYPOINT_RAIL, 1, nullptr);
case BT_SIGNAL: return ::GetPrice(Price::BuildSignals, 1, nullptr);
case BT_DEPOT: return ::GetPrice(Price::BuildDepotTrain, 1, nullptr);
case BT_STATION: return ::GetPrice(Price::BuildStationRail, 1, nullptr) + ::GetPrice(Price::BuildStationRailLength, 1, nullptr);
case BT_WAYPOINT: return ::GetPrice(Price::BuildWaypointRail, 1, nullptr);
default: return -1;
}
}

View File

@@ -647,9 +647,9 @@ static bool NeighbourHasReachableRoad(::RoadType rt, TileIndex start_tile, DiagD
switch (build_type) {
case BT_ROAD: return ::RoadBuildCost((::RoadType)roadtype);
case BT_DEPOT: return ::GetPrice(PR_BUILD_DEPOT_ROAD, 1, nullptr);
case BT_BUS_STOP: return ::GetPrice(PR_BUILD_STATION_BUS, 1, nullptr);
case BT_TRUCK_STOP: return ::GetPrice(PR_BUILD_STATION_TRUCK, 1, nullptr);
case BT_DEPOT: return ::GetPrice(Price::BuildDepotRoad, 1, nullptr);
case BT_BUS_STOP: return ::GetPrice(Price::BuildStationBus, 1, nullptr);
case BT_TRUCK_STOP: return ::GetPrice(Price::BuildStationTruck, 1, nullptr);
default: return -1;
}
}

View File

@@ -338,15 +338,15 @@
/* static */ Money ScriptTile::GetBuildCost(BuildType build_type)
{
switch (build_type) {
case BT_FOUNDATION: return ::GetPrice(PR_BUILD_FOUNDATION, 1, nullptr);
case BT_TERRAFORM: return ::GetPrice(PR_TERRAFORM, 1, nullptr);
case BT_BUILD_TREES: return ::GetPrice(PR_BUILD_TREES, 1, nullptr);
case BT_CLEAR_GRASS: return ::GetPrice(PR_CLEAR_GRASS, 1, nullptr);
case BT_CLEAR_ROUGH: return ::GetPrice(PR_CLEAR_ROUGH, 1, nullptr);
case BT_CLEAR_ROCKY: return ::GetPrice(PR_CLEAR_ROCKS, 1, nullptr);
case BT_CLEAR_FIELDS: return ::GetPrice(PR_CLEAR_FIELDS, 1, nullptr);
case BT_CLEAR_HOUSE: return ::GetPrice(PR_CLEAR_HOUSE, 1, nullptr);
case BT_CLEAR_WATER: return ::GetPrice(PR_CLEAR_WATER, 1, nullptr);
case BT_FOUNDATION: return ::GetPrice(Price::BuildFoundation, 1, nullptr);
case BT_TERRAFORM: return ::GetPrice(Price::Terraform, 1, nullptr);
case BT_BUILD_TREES: return ::GetPrice(Price::BuildTrees, 1, nullptr);
case BT_CLEAR_GRASS: return ::GetPrice(Price::ClearGrass, 1, nullptr);
case BT_CLEAR_ROUGH: return ::GetPrice(Price::ClearRough, 1, nullptr);
case BT_CLEAR_ROCKY: return ::GetPrice(Price::ClearRocks, 1, nullptr);
case BT_CLEAR_FIELDS: return ::GetPrice(Price::ClearFields, 1, nullptr);
case BT_CLEAR_HOUSE: return ::GetPrice(Price::ClearHouse, 1, nullptr);
case BT_CLEAR_WATER: return ::GetPrice(Price::ClearWater, 1, nullptr);
default: return -1;
}
}