forked from mirror/OpenTTD
(svn r11198) -Fix: When industry override is not possible because it is already been overridden, mark the new candidate as not being an override
This commit is contained in:
@@ -188,7 +188,7 @@ uint16 IndustryOverrideManager::AddEntityID(byte grf_local_id, uint32 grfid, byt
|
||||
* checking what is available
|
||||
* @param inds Industryspec that comes from the grf decoding process
|
||||
*/
|
||||
void IndustryOverrideManager::SetEntitySpec(const IndustrySpec *inds)
|
||||
void IndustryOverrideManager::SetEntitySpec(IndustrySpec *inds)
|
||||
{
|
||||
/* First step : We need to find if this industry is already specified in the savegame data */
|
||||
IndustryType ind_id = this->GetID(inds->grf_prop.local_id, inds->grf_prop.grffile->grfid);
|
||||
@@ -206,6 +206,7 @@ void IndustryOverrideManager::SetEntitySpec(const IndustrySpec *inds)
|
||||
* Or it is a simple substitute.
|
||||
* In both case, we need to find a free available slot */
|
||||
ind_id = this->AddEntityID(inds->grf_prop.local_id, inds->grf_prop.grffile->grfid, inds->grf_prop.subst_id);
|
||||
inds->grf_prop.override = invalid_ID; // make sure it will not be detected as overriden
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -71,7 +71,7 @@ public:
|
||||
OverrideManagerBase(offset, maximum, invalid) {}
|
||||
|
||||
virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id);
|
||||
void SetEntitySpec(const IndustrySpec *inds);
|
||||
void SetEntitySpec(IndustrySpec *inds);
|
||||
};
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user