(svn r20942) -Feature [NewGRF]: make it possible to distinguish player built/randomly placed industries in the location and land slope check callbacks
This commit is contained in:
@@ -258,9 +258,10 @@ extern bool IsSlopeRefused(Slope current, Slope refused);
|
||||
* @param itspec_index Layout.
|
||||
* @param initial_random_bits Random bits of industry after construction
|
||||
* @param founder Industry founder
|
||||
* @param creation_type The circumstances the industry is created under.
|
||||
* @return Suceeded or failed command.
|
||||
*/
|
||||
CommandCost PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind_tile, const IndustryTileSpec *its, IndustryType type, IndustryGfx gfx, uint itspec_index, uint16 initial_random_bits, Owner founder)
|
||||
CommandCost PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind_tile, const IndustryTileSpec *its, IndustryType type, IndustryGfx gfx, uint itspec_index, uint16 initial_random_bits, Owner founder, IndustryAvailabilityCallType creation_type)
|
||||
{
|
||||
Industry ind;
|
||||
ind.index = INVALID_INDUSTRY;
|
||||
@@ -270,7 +271,7 @@ CommandCost PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind
|
||||
ind.random = initial_random_bits;
|
||||
ind.founder = founder;
|
||||
|
||||
uint16 callback_res = GetIndustryTileCallback(CBID_INDTILE_SHAPE_CHECK, 0, itspec_index, gfx, &ind, ind_tile);
|
||||
uint16 callback_res = GetIndustryTileCallback(CBID_INDTILE_SHAPE_CHECK, 0, creation_type << 8 | itspec_index, gfx, &ind, ind_tile);
|
||||
if (callback_res == CALLBACK_FAILED) {
|
||||
if (!IsSlopeRefused(GetTileSlope(ind_tile, NULL), its->slopes_refused)) return CommandCost();
|
||||
return_cmd_error(STR_ERROR_SITE_UNSUITABLE);
|
||||
|
Reference in New Issue
Block a user