mirror of https://github.com/OpenTTD/OpenTTD
(svn r10700) -Codechange: Enable to jump (by default) to the overriding industry tile spec of the one been queried.
Only on certain very specific circumstances do we need the original specrelease/0.6
parent
205e700b26
commit
8ad3a6f8fd
|
@ -205,7 +205,7 @@ struct IndustryTileSpec {
|
||||||
|
|
||||||
/* industry_cmd.cpp*/
|
/* industry_cmd.cpp*/
|
||||||
const IndustrySpec *GetIndustrySpec(IndustryType thistype); ///< Array of industries data
|
const IndustrySpec *GetIndustrySpec(IndustryType thistype); ///< Array of industries data
|
||||||
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx); ///< Array of industry tiles data
|
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx, bool full_check = true); ///< Array of industry tiles data
|
||||||
void ResetIndustries();
|
void ResetIndustries();
|
||||||
void PlantRandomFarmField(const Industry *i);
|
void PlantRandomFarmField(const Industry *i);
|
||||||
|
|
||||||
|
|
|
@ -124,13 +124,19 @@ const IndustrySpec *GetIndustrySpec(IndustryType thistype)
|
||||||
* This will ensure at once : proper access and
|
* This will ensure at once : proper access and
|
||||||
* not allowing modifications of it.
|
* not allowing modifications of it.
|
||||||
* @param gfx of industrytile (which is the index in _industry_tile_specs)
|
* @param gfx of industrytile (which is the index in _industry_tile_specs)
|
||||||
|
* @param full_check (default to true) verify if an override is available.
|
||||||
|
* If so, use it instead of the gfx provided.
|
||||||
* @pre gfx < INVALID_INDUSTRYTILE
|
* @pre gfx < INVALID_INDUSTRYTILE
|
||||||
* @return a pointer to the corresponding industrytile spec
|
* @return a pointer to the corresponding industrytile spec
|
||||||
**/
|
**/
|
||||||
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx)
|
const IndustryTileSpec *GetIndustryTileSpec(IndustryGfx gfx, bool full_check)
|
||||||
{
|
{
|
||||||
assert(gfx < INVALID_INDUSTRYTILE);
|
assert(gfx < INVALID_INDUSTRYTILE);
|
||||||
return &_industry_tile_specs[gfx];
|
const IndustryTileSpec *its = &_industry_tile_specs[gfx];
|
||||||
|
if (full_check && its->grf_prop.override != INVALID_INDUSTRYTILE) {
|
||||||
|
its = &_industry_tile_specs[its->grf_prop.override];
|
||||||
|
}
|
||||||
|
return its;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DestroyIndustry(Industry *i)
|
void DestroyIndustry(Industry *i)
|
||||||
|
|
|
@ -87,8 +87,8 @@ uint32 GetIndustryIDAtOffset(TileIndex new_tile, TileIndex old_tile, const Indus
|
||||||
|
|
||||||
if (GetIndustryIndex(new_tile) == i->index) { // Does it belong to the same industry?
|
if (GetIndustryIndex(new_tile) == i->index) { // Does it belong to the same industry?
|
||||||
IndustryGfx gfx = GetIndustryGfx(new_tile);
|
IndustryGfx gfx = GetIndustryGfx(new_tile);
|
||||||
const IndustryTileSpec *indtsp = GetIndustryTileSpec(gfx);
|
const IndustryTileSpec *indtsp = GetIndustryTileSpec(gfx, false);
|
||||||
const IndustryTileSpec *indold = GetIndustryTileSpec(GetIndustryGfx(old_tile));
|
const IndustryTileSpec *indold = GetIndustryTileSpec(GetIndustryGfx(old_tile), false);
|
||||||
|
|
||||||
if (gfx < NEW_INDUSTRYOFFSET) { // Does it belongs to an old type?
|
if (gfx < NEW_INDUSTRYOFFSET) { // Does it belongs to an old type?
|
||||||
/* It is an old tile. We have to see if it's been overriden */
|
/* It is an old tile. We have to see if it's been overriden */
|
||||||
|
|
Loading…
Reference in New Issue