File diff r25225:126e4a36a4eb → r25226:099b6b8941ab
src/saveload/afterload.cpp
Show inline comments
 
@@ -3127,6 +3127,23 @@ bool AfterLoadGame()
 
		}
 
	}
 

	
 
	if (IsSavegameVersionBefore(SLV_GROUP_REPLACE_WAGON_REMOVAL)) {
 
		/* Propagate wagon removal flag for compatibility */
 
		/* Temporary bitmask of company wagon removal setting */
 
		uint16 wagon_removal = 0;
 
		for (const Company *c : Company::Iterate()) {
 
			if (c->settings.renew_keep_length) SetBit(wagon_removal, c->index);
 
		}
 
		for (Group *g : Group::Iterate()) {
 
			if (g->flags != 0) {
 
				/* Convert old replace_protection value to flag. */
 
				g->flags = 0;
 
				SetBit(g->flags, GroupFlags::GF_REPLACE_PROTECTION);
 
			}
 
			if (HasBit(wagon_removal, g->owner)) SetBit(g->flags, GroupFlags::GF_REPLACE_WAGON_REMOVAL);
 
		}
 
	}
 

	
 
	/* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */
 
	Station::RecomputeCatchmentForAll();