(svn r26753) -Fix: desync due to not always properly restoring game state from the savegame

pull/155/head
rubidium 10 years ago
parent fd82ab4b60
commit d214ca2c7d

@ -541,7 +541,7 @@ static void Load_STNN()
for (uint32 j = 0; j < _num_flows; ++j) {
SlObject(&flow, _flow_desc);
if (fs == NULL || prev_source != flow.source) {
fs = &(st->goods[i].flows.insert(std::make_pair(flow.source, FlowStat(flow.via, flow.share))).first->second);
fs = &(st->goods[i].flows.insert(std::make_pair(flow.source, FlowStat(flow.via, flow.share, flow.restricted))).first->second);
} else {
fs->AppendShare(flow.via, flow.share, flow.restricted);
}

@ -48,12 +48,13 @@ public:
* Create a FlowStat with an initial entry.
* @param st Station the initial entry refers to.
* @param flow Amount of flow for the initial entry.
* @param restricted If the flow to be added is restricted.
*/
inline FlowStat(StationID st, uint flow)
inline FlowStat(StationID st, uint flow, bool restricted = false)
{
assert(flow > 0);
this->shares[flow] = st;
this->unrestricted = flow;
this->unrestricted = restricted ? 0 : flow;
}
/**

Loading…
Cancel
Save