mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-16 00:12:51 +00:00
(svn r12086) -Fix [FS#1747] (r11425): check overrides only for industries when mapping newgrf entities to 'real' entities
This commit is contained in:
parent
f476d861d2
commit
37e27a296e
@ -91,11 +91,6 @@ uint16 OverrideManagerBase::GetID(uint8 grf_local_id, uint32 grfid)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No mapping found, try the overrides */
|
|
||||||
for (uint16 id = 0; id < max_offset; id++) {
|
|
||||||
if (entity_overrides[id] == grf_local_id && grfid_overrides[id] == grfid) return id;
|
|
||||||
}
|
|
||||||
|
|
||||||
return invalid_ID;
|
return invalid_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -169,6 +164,24 @@ void HouseOverrideManager::SetEntitySpec(const HouseSpec *hs)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Return the ID (if ever available) of a previously inserted entity.
|
||||||
|
* @param grf_local_id ID of this enity withing the grfID
|
||||||
|
* @param grfid ID of the grf file
|
||||||
|
* @return the ID of the candidate, of the Invalid flag item ID
|
||||||
|
*/
|
||||||
|
uint16 IndustryOverrideManager::GetID(uint8 grf_local_id, uint32 grfid)
|
||||||
|
{
|
||||||
|
uint16 id = OverrideManagerBase::GetID(grf_local_id, grfid);
|
||||||
|
if (id != invalid_ID) return id;
|
||||||
|
|
||||||
|
/* No mapping found, try the overrides */
|
||||||
|
for (id = 0; id < max_offset; id++) {
|
||||||
|
if (entity_overrides[id] == grf_local_id && grfid_overrides[id] == grfid) return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
return invalid_ID;
|
||||||
|
}
|
||||||
|
|
||||||
/** Method to find an entity ID and to mark it as reserved for the Industry to be included.
|
/** Method to find an entity ID and to mark it as reserved for the Industry to be included.
|
||||||
* @param grf_local_id ID used by the grf file for pre-installation work (equivalent of TTDPatch's setid
|
* @param grf_local_id ID used by the grf file for pre-installation work (equivalent of TTDPatch's setid
|
||||||
* @param grfid ID of the current grf file
|
* @param grfid ID of the current grf file
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id);
|
virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id);
|
||||||
|
|
||||||
uint16 GetSubstituteID(byte entity_id);
|
uint16 GetSubstituteID(byte entity_id);
|
||||||
uint16 GetID(uint8 grf_local_id, uint32 grfid);
|
virtual uint16 GetID(uint8 grf_local_id, uint32 grfid);
|
||||||
|
|
||||||
inline uint16 GetMaxMapping() { return max_new_entities; }
|
inline uint16 GetMaxMapping() { return max_new_entities; }
|
||||||
inline uint16 GetMaxOffset() { return max_offset; }
|
inline uint16 GetMaxOffset() { return max_offset; }
|
||||||
@ -72,6 +72,7 @@ public:
|
|||||||
OverrideManagerBase(offset, maximum, invalid) {}
|
OverrideManagerBase(offset, maximum, invalid) {}
|
||||||
|
|
||||||
virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id);
|
virtual uint16 AddEntityID(byte grf_local_id, uint32 grfid, byte substitute_id);
|
||||||
|
virtual uint16 GetID(uint8 grf_local_id, uint32 grfid);
|
||||||
void SetEntitySpec(IndustrySpec *inds);
|
void SetEntitySpec(IndustrySpec *inds);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user