Clamp link graph compression ticks when loading old saves
This commit is contained in:
@@ -271,15 +271,17 @@ void LinkGraphFixupAfterLoad(bool compression_was_date)
|
|||||||
/* last_compression was previously a Date, change it to a StateTicks */
|
/* last_compression was previously a Date, change it to a StateTicks */
|
||||||
for (LinkGraph *lg : LinkGraph::Iterate()) {
|
for (LinkGraph *lg : LinkGraph::Iterate()) {
|
||||||
if (compression_was_date) lg->last_compression = DateToStateTicks((EconTime::Date)lg->last_compression).base();
|
if (compression_was_date) lg->last_compression = DateToStateTicks((EconTime::Date)lg->last_compression).base();
|
||||||
lg->last_compression -= _state_ticks.base();
|
|
||||||
lg->last_compression += _scaled_tick_counter;
|
lg->last_compression += _scaled_tick_counter;
|
||||||
|
lg->last_compression -= _state_ticks.base();
|
||||||
|
if (lg->last_compression > _scaled_tick_counter) lg->last_compression = _scaled_tick_counter;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (LinkGraphJob *lgj : LinkGraphJob::Iterate()) {
|
for (LinkGraphJob *lgj : LinkGraphJob::Iterate()) {
|
||||||
LinkGraph *lg = &(const_cast<LinkGraph &>(lgj->Graph()));
|
LinkGraph *lg = &(const_cast<LinkGraph &>(lgj->Graph()));
|
||||||
if (compression_was_date) lg->last_compression = DateToStateTicks((EconTime::Date)lg->last_compression).base();
|
if (compression_was_date) lg->last_compression = DateToStateTicks((EconTime::Date)lg->last_compression).base();
|
||||||
lg->last_compression -= _state_ticks.base();
|
|
||||||
lg->last_compression += _scaled_tick_counter;
|
lg->last_compression += _scaled_tick_counter;
|
||||||
|
lg->last_compression -= _state_ticks.base();
|
||||||
|
if (lg->last_compression > _scaled_tick_counter) lg->last_compression = _scaled_tick_counter;
|
||||||
|
|
||||||
/* Change start and join ticks from DateTicks to ScaledTickCounter */
|
/* Change start and join ticks from DateTicks to ScaledTickCounter */
|
||||||
auto convert = [&](ScaledTickCounter &tick) {
|
auto convert = [&](ScaledTickCounter &tick) {
|
||||||
|
Reference in New Issue
Block a user