Include dates and tick counters in state checksum
This commit is contained in:
@@ -1130,6 +1130,7 @@ const char *GetSyncRecordEventName(NetworkSyncRecordEvents event)
|
||||
"TREE",
|
||||
"STATION",
|
||||
"INDUSTRY",
|
||||
"PRE_DATES",
|
||||
"PRE_COMPANY_STATE",
|
||||
"VEH_PERIODIC",
|
||||
"VEH_LOAD_UNLOAD",
|
||||
|
@@ -31,6 +31,7 @@ enum NetworkSyncRecordEvents : uint32_t {
|
||||
NSRE_TREE,
|
||||
NSRE_STATION,
|
||||
NSRE_INDUSTRY,
|
||||
NSRE_PRE_DATES,
|
||||
NSRE_PRE_COMPANY_STATE,
|
||||
NSRE_VEH_PERIODIC,
|
||||
NSRE_VEH_LOAD_UNLOAD,
|
||||
|
@@ -2271,6 +2271,17 @@ void StateGameLoop()
|
||||
NewsLoop();
|
||||
|
||||
if (_networking) {
|
||||
RecordSyncEvent(NSRE_PRE_DATES);
|
||||
UpdateStateChecksum(_tick_counter);
|
||||
UpdateStateChecksum(_scaled_tick_counter);
|
||||
UpdateStateChecksum(_state_ticks.base());
|
||||
UpdateStateChecksum(CalTime::CurDate().base());
|
||||
UpdateStateChecksum(CalTime::CurDateFract());
|
||||
UpdateStateChecksum(CalTime::CurSubDateFract());
|
||||
UpdateStateChecksum(EconTime::CurDate().base());
|
||||
UpdateStateChecksum(EconTime::CurDateFract());
|
||||
UpdateStateChecksum(TickSkipCounter());
|
||||
|
||||
RecordSyncEvent(NSRE_PRE_COMPANY_STATE);
|
||||
for (Company *c : Company::Iterate()) {
|
||||
DEBUG_UPDATESTATECHECKSUM("Company: %u, Money: " OTTD_PRINTF64, c->index, (int64_t)c->money);
|
||||
|
@@ -1278,6 +1278,7 @@ static void ChangeTimekeepingUnits(int32_t)
|
||||
|
||||
UpdateEffectiveDayLengthFactor();
|
||||
SetupTickRate();
|
||||
UpdateTimeSettings(0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user