NewGRF handling of industry tiles. More...
#include "stdafx.h"
#include "debug.h"
#include "viewport_func.h"
#include "landscape.h"
#include "newgrf.h"
#include "newgrf_industries.h"
#include "newgrf_industrytiles.h"
#include "newgrf_sound.h"
#include "newgrf_text.h"
#include "industry.h"
#include "town.h"
#include "command_func.h"
#include "water.h"
#include "sprite.h"
#include "newgrf_animation_base.h"
#include "table/strings.h"
Go to the source code of this file.
Data Structures | |
struct | IndustryAnimationBase |
Helper class for animation control. More... | |
Functions | |
uint32 | GetNearbyIndustryTileInformation (byte parameter, TileIndex tile, IndustryID index, bool signed_offsets) |
Based on newhouses equivalent, but adapted for newindustries. | |
uint32 | GetRelativePosition (TileIndex tile, TileIndex ind_tile) |
This is the position of the tile relative to the northernmost tile of the industry. | |
static uint32 | IndustryTileGetVariable (const ResolverObject *object, byte variable, byte parameter, bool *available) |
static const SpriteGroup * | IndustryTileResolveReal (const ResolverObject *object, const RealSpriteGroup *group) |
static uint32 | IndustryTileGetRandomBits (const ResolverObject *object) |
static uint32 | IndustryTileGetTriggers (const ResolverObject *object) |
static void | IndustryTileSetTriggers (const ResolverObject *object, int triggers) |
static void | NewIndustryTileResolver (ResolverObject *res, IndustryGfx gfx, TileIndex tile, Industry *indus) |
static void | IndustryDrawTileLayout (const TileInfo *ti, const TileLayoutSpriteGroup *group, byte rnd_colour, byte stage, IndustryGfx gfx) |
uint16 | GetIndustryTileCallback (CallbackID callback, uint32 param1, uint32 param2, IndustryGfx gfx_id, Industry *industry, TileIndex tile) |
bool | DrawNewIndustryTile (TileInfo *ti, Industry *i, IndustryGfx gfx, const IndustryTileSpec *inds) |
bool | IsSlopeRefused (Slope current, Slope refused) |
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) |
Check the slope of a tile of a new industry. | |
uint16 | GetSimpleIndustryCallback (CallbackID callback, uint32 param1, uint32 param2, const IndustryTileSpec *spec, const Industry *ind, TileIndex tile) |
void | AnimateNewIndustryTile (TileIndex tile) |
bool | StartStopIndustryTileAnimation (TileIndex tile, IndustryAnimationTrigger iat, uint32 random) |
bool | StartStopIndustryTileAnimation (const Industry *ind, IndustryAnimationTrigger iat) |
static void | DoTriggerIndustryTile (TileIndex tile, IndustryTileTrigger trigger, Industry *ind) |
void | TriggerIndustryTile (TileIndex tile, IndustryTileTrigger trigger) |
void | TriggerIndustry (Industry *ind, IndustryTileTrigger trigger) |
void | GetIndustryTileResolver (ResolverObject *ro, uint index) |
Resolve a industry tile's spec and such so we can get a variable. |
NewGRF handling of industry tiles.
Definition in file newgrf_industrytiles.cpp.
void GetIndustryTileResolver | ( | ResolverObject * | ro, | |
uint | index | |||
) |
Resolve a industry tile's spec and such so we can get a variable.
ro | The resolver object to fill. | |
index | The industry tile to get the data from. |
Definition at line 395 of file newgrf_industrytiles.cpp.
References Industry::GetByTile(), and GetIndustryGfx().
Referenced by NIHIndustryTile::Resolve().
uint32 GetNearbyIndustryTileInformation | ( | byte | parameter, | |
TileIndex | tile, | |||
IndustryID | index, | |||
bool | signed_offsets | |||
) |
Based on newhouses equivalent, but adapted for newindustries.
parameter | from callback. It's in fact a pair of coordinates | |
tile | TileIndex from which the callback was initiated | |
index | of the industry been queried for | |
signed_offsets | Are the x and y offset encoded in parameter signed? |
Definition at line 38 of file newgrf_industrytiles.cpp.
References GetIndustryIndex(), GetNearbyTileInformation(), IsTileType(), and MP_INDUSTRY.
Referenced by IndustryGetVariable().
This is the position of the tile relative to the northernmost tile of the industry.
Format: 00yxYYXX Variable Content x the x offset from the northernmost tile XX same, but stored in a byte instead of a nibble y the y offset from the northernmost tile YY same, but stored in a byte instead of a nibble
tile | TileIndex of the tile to evaluate | |
ind_tile | northernmost tile of the industry |
Definition at line 57 of file newgrf_industrytiles.cpp.
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 | |||
) |
Check the slope of a tile of a new industry.
ind_base_tile | Base tile of the industry. | |
ind_tile | Tile to check. | |
its | Tile specification. | |
type | Industry type. | |
gfx | Gfx of the tile. | |
itspec_index | Layout. | |
initial_random_bits | Random bits of industry after construction | |
founder | Industry founder | |
creation_type | The circumstances the industry is created under. |
Definition at line 265 of file newgrf_industrytiles.cpp.
References CALLBACK_FAILED, CBID_INDTILE_SHAPE_CHECK, Industry::founder, GetGRFStringID(), GetTileSlope(), IndustryTileSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool >::index, Industry::location, PrepareTextRefStackUsage(), Industry::random, return_cmd_error, IndustryTileSpec::slopes_refused, TileArea::tile, Industry::type, and TileArea::w.
Referenced by CheckIfIndustryTilesAreFree().