Codechange: move all date-related variables inside the timer (#10706)
This commit is contained in:
@@ -29,7 +29,6 @@
|
||||
#include "newgrf_roadstop.h"
|
||||
#include "object.h"
|
||||
#include "strings_func.h"
|
||||
#include "date_func.h"
|
||||
#include "vehicle_func.h"
|
||||
#include "sound_func.h"
|
||||
#include "autoreplace_func.h"
|
||||
@@ -693,7 +692,7 @@ static void CompaniesGenStatistics()
|
||||
cur_company.Restore();
|
||||
|
||||
/* Only run the economic statics and update company stats every 3rd month (1st of quarter). */
|
||||
if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, _cur_month)) return;
|
||||
if (!HasBit(1 << 0 | 1 << 3 | 1 << 6 | 1 << 9, TimerGameCalendar::month)) return;
|
||||
|
||||
for (Company *c : Company::Iterate()) {
|
||||
/* Drop the oldest history off the end */
|
||||
@@ -737,7 +736,7 @@ bool AddInflation(bool check_year)
|
||||
* inflation doesn't add anything after that either; it even makes playing
|
||||
* it impossible due to the diverging cost and income rates.
|
||||
*/
|
||||
if (check_year && (_cur_year < ORIGINAL_BASE_YEAR || _cur_year >= ORIGINAL_MAX_YEAR)) return true;
|
||||
if (check_year && (TimerGameCalendar::year < ORIGINAL_BASE_YEAR || TimerGameCalendar::year >= ORIGINAL_MAX_YEAR)) return true;
|
||||
|
||||
if (_economy.inflation_prices == MAX_INFLATION || _economy.inflation_payment == MAX_INFLATION) return true;
|
||||
|
||||
@@ -846,8 +845,8 @@ static void CompaniesPayInterest()
|
||||
if (c->money < 0) {
|
||||
yearly_fee += -c->money *_economy.interest_rate / 100;
|
||||
}
|
||||
Money up_to_previous_month = yearly_fee * _cur_month / 12;
|
||||
Money up_to_this_month = yearly_fee * (_cur_month + 1) / 12;
|
||||
Money up_to_previous_month = yearly_fee * TimerGameCalendar::month / 12;
|
||||
Money up_to_this_month = yearly_fee * (TimerGameCalendar::month + 1) / 12;
|
||||
|
||||
SubtractMoneyFromCompany(CommandCost(EXPENSES_LOAN_INTEREST, up_to_this_month - up_to_previous_month));
|
||||
|
||||
@@ -930,7 +929,7 @@ void StartupEconomy()
|
||||
|
||||
if (_settings_game.economy.inflation) {
|
||||
/* Apply inflation that happened before our game start year. */
|
||||
int months = (std::min(_cur_year, ORIGINAL_MAX_YEAR) - ORIGINAL_BASE_YEAR) * 12;
|
||||
int months = (std::min(TimerGameCalendar::year, ORIGINAL_MAX_YEAR) - ORIGINAL_BASE_YEAR) * 12;
|
||||
for (int i = 0; i < months; i++) {
|
||||
AddInflation(false);
|
||||
}
|
||||
@@ -1082,7 +1081,7 @@ static uint DeliverGoodsToIndustry(const Station *st, CargoID cargo_type, uint n
|
||||
|
||||
uint amount = std::min(num_pieces, 0xFFFFu - ind->incoming_cargo_waiting[cargo_index]);
|
||||
ind->incoming_cargo_waiting[cargo_index] += amount;
|
||||
ind->last_cargo_accepted_at[cargo_index] = _date;
|
||||
ind->last_cargo_accepted_at[cargo_index] = TimerGameCalendar::date;
|
||||
num_pieces -= amount;
|
||||
accepted += amount;
|
||||
|
||||
@@ -1778,7 +1777,7 @@ static void LoadUnloadVehicle(Vehicle *front)
|
||||
|
||||
/* if last speed is 0, we treat that as if no vehicle has ever visited the station. */
|
||||
ge->last_speed = std::min(t, 255);
|
||||
ge->last_age = std::min(_cur_year - front->build_year, 255);
|
||||
ge->last_age = std::min(TimerGameCalendar::year - front->build_year, 255);
|
||||
|
||||
assert(v->cargo_cap >= v->cargo.StoredCount());
|
||||
/* Capacity available for loading more cargo. */
|
||||
@@ -2048,7 +2047,7 @@ CommandCost CmdBuyShareInCompany(DoCommandFlag flags, CompanyID target_company)
|
||||
if (c == nullptr || !_settings_game.economy.allow_shares || _current_company == target_company) return CMD_ERROR;
|
||||
|
||||
/* Protect new companies from hostile takeovers */
|
||||
if (_cur_year - c->inaugurated_year < _settings_game.economy.min_years_for_shares) return_cmd_error(STR_ERROR_PROTECTED);
|
||||
if (TimerGameCalendar::year - c->inaugurated_year < _settings_game.economy.min_years_for_shares) return_cmd_error(STR_ERROR_PROTECTED);
|
||||
|
||||
/* Those lines are here for network-protection (clients can be slow) */
|
||||
if (GetAmountOwnedBy(c, INVALID_OWNER) == 0) return cost;
|
||||
|
Reference in New Issue
Block a user