1
0
Fork 0

Codechange: Use economy timer for vehicle day proc

pull/10700/head
Tyler Trahan 2024-01-20 14:42:31 -05:00
parent 255b2e8a1a
commit 82ce84e5f9
10 changed files with 16 additions and 16 deletions

View File

@ -107,7 +107,7 @@ struct Aircraft FINAL : public SpecializedVehicle<Aircraft, VEH_AIRCRAFT> {
}
bool Tick() override;
void OnNewDay() override;
void OnNewEconomyDay() override;
uint Crash(bool flooded = false) override;
TileIndex GetOrderStationLocation(StationID station) override;
ClosestDepot FindClosestDepot() override;

View File

@ -440,7 +440,7 @@ Money Aircraft::GetRunningCost() const
return GetPrice(PR_RUNNING_AIRCRAFT, cost_factor, e->GetGRF());
}
void Aircraft::OnNewDay()
void Aircraft::OnNewEconomyDay()
{
if (!this->IsNormalAircraft()) return;

View File

@ -134,7 +134,7 @@ struct RoadVehicle FINAL : public GroundVehicle<RoadVehicle, VEH_ROAD> {
int GetDisplayImageWidth(Point *offset = nullptr) const;
bool IsInDepot() const override { return this->state == RVSB_IN_DEPOT; }
bool Tick() override;
void OnNewDay() override;
void OnNewEconomyDay() override;
uint Crash(bool flooded = false) override;
Trackdir GetVehicleTrackdir() const override;
TileIndex GetOrderStationLocation(StationID station) override;

View File

@ -1706,7 +1706,7 @@ static void CheckIfRoadVehNeedsService(RoadVehicle *v)
SetWindowWidgetDirty(WC_VEHICLE_VIEW, v->index, WID_VV_START_STOP);
}
void RoadVehicle::OnNewDay()
void RoadVehicle::OnNewEconomyDay()
{
AgeVehicle(this);

View File

@ -45,7 +45,7 @@ struct Ship FINAL : public SpecializedVehicle<Ship, VEH_SHIP> {
Money GetRunningCost() const override;
bool IsInDepot() const override { return this->state == TRACK_BIT_DEPOT; }
bool Tick() override;
void OnNewDay() override;
void OnNewEconomyDay() override;
Trackdir GetVehicleTrackdir() const override;
TileIndex GetOrderStationLocation(StationID station) override;
ClosestDepot FindClosestDepot() override;

View File

@ -223,7 +223,7 @@ Money Ship::GetRunningCost() const
return GetPrice(PR_RUNNING_SHIP, cost_factor, e->GetGRF());
}
void Ship::OnNewDay()
void Ship::OnNewEconomyDay()
{
if ((++this->day_counter & 7) == 0) {
DecreaseVehicleValue(this);

View File

@ -123,7 +123,7 @@ struct Train FINAL : public GroundVehicle<Train, VEH_TRAIN> {
int GetDisplayImageWidth(Point *offset = nullptr) const;
bool IsInDepot() const override { return this->track == TRACK_BIT_DEPOT; }
bool Tick() override;
void OnNewDay() override;
void OnNewEconomyDay() override;
uint Crash(bool flooded = false) override;
Trackdir GetVehicleTrackdir() const override;
TileIndex GetOrderStationLocation(StationID station) override;

View File

@ -4165,7 +4165,7 @@ static void CheckIfTrainNeedsService(Train *v)
}
/** Update day counters of the train vehicle. */
void Train::OnNewDay()
void Train::OnNewEconomyDay()
{
AgeVehicle(this);

View File

@ -918,15 +918,15 @@ void VehicleEnteredDepotThisTick(Vehicle *v)
/**
* Increases the day counter for all vehicles and calls 1-day and 32-day handlers.
* Each tick, it processes vehicles with "index % DAY_TICKS == TimerGameCalendar::date_fract",
* Each tick, it processes vehicles with "index % DAY_TICKS == TimerGameEconomy::date_fract",
* so each day, all vehicles are processes in DAY_TICKS steps.
*/
static void RunVehicleDayProc()
static void RunEconomyVehicleDayProc()
{
if (_game_mode != GM_NORMAL) return;
/* Run the day_proc for every DAY_TICKS vehicle starting at TimerGameCalendar::date_fract. */
for (size_t i = TimerGameCalendar::date_fract; i < Vehicle::GetPoolSize(); i += Ticks::DAY_TICKS) {
/* Run the economy day proc for every DAY_TICKS vehicle starting at TimerGameEconomy::date_fract. */
for (size_t i = TimerGameEconomy::date_fract; i < Vehicle::GetPoolSize(); i += Ticks::DAY_TICKS) {
Vehicle *v = Vehicle::Get(i);
if (v == nullptr) continue;
@ -947,7 +947,7 @@ static void RunVehicleDayProc()
}
/* This is called once per day for each vehicle, but not in the first tick of the day */
v->OnNewDay();
v->OnNewEconomyDay();
}
}
@ -955,7 +955,7 @@ void CallVehicleTicks()
{
_vehicles_to_autoreplace.clear();
RunVehicleDayProc();
RunEconomyVehicleDayProc();
{
PerformanceMeasurer framerate(PFE_GL_ECONOMY);

View File

@ -567,9 +567,9 @@ public:
virtual bool Tick() { return true; };
/**
* Calls the new day handler of the vehicle
* Calls the new economy day handler of the vehicle
*/
virtual void OnNewDay() {};
virtual void OnNewEconomyDay() {};
void ShiftDates(TimerGameEconomy::Date interval);