|
@@ -15,14 +15,12 @@
|
|
|
#define NEWGRF_COMMONS_H
|
|
|
|
|
|
#include "tile_cmd.h"
|
|
|
#include "transparency.h"
|
|
|
#include "sprite.h"
|
|
|
|
|
|
#include "table/sprites.h"
|
|
|
|
|
|
/**
|
|
|
* Maps an entity id stored on the map to a GRF file.
|
|
|
* Entities are objects used ingame (houses, industries, industry tiles) for
|
|
|
* which we need to correlate the ids from the grf files with the ones in the
|
|
|
* the savegames themselves.
|
|
|
* An array of EntityIDMapping structs is saved with the savegame so
|
|
@@ -106,48 +104,9 @@ extern IndustryOverrideManager _industry
|
|
|
extern IndustryTileOverrideManager _industile_mngr;
|
|
|
|
|
|
uint32 GetTerrainType(TileIndex tile);
|
|
|
TileIndex GetNearbyTile(byte parameter, TileIndex tile);
|
|
|
uint32 GetNearbyTileInformation(TileIndex tile);
|
|
|
|
|
|
/**
|
|
|
* Applies PALETTE_MODIFIER_TRANSPARENT and PALETTE_MODIFIER_COLOUR to a palette entry of a sprite layout entry
|
|
|
* @Note for ground sprites use #GroundSpritePaletteTransform
|
|
|
* @Note Not useable for OTTD internal spritelayouts from table/xxx_land.h as PALETTE_MODIFIER_TRANSPARENT is only set
|
|
|
* when to use the default palette.
|
|
|
*
|
|
|
* @param image The sprite to draw
|
|
|
* @param pal The palette from the sprite layout
|
|
|
* @param default_pal The default recolour sprite to use (typically company colour resp. random industry/house colour)
|
|
|
* @return The palette to use
|
|
|
*/
|
|
|
static inline SpriteID SpriteLayoutPaletteTransform(SpriteID image, SpriteID pal, SpriteID default_pal)
|
|
|
{
|
|
|
if (HasBit(image, PALETTE_MODIFIER_TRANSPARENT) || HasBit(image, PALETTE_MODIFIER_COLOUR)) {
|
|
|
return (pal != 0 ? pal : default_pal);
|
|
|
} else {
|
|
|
return PAL_NONE;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* Applies PALETTE_MODIFIER_COLOUR to a palette entry of a ground sprite
|
|
|
* @Note Not useable for OTTD internal spritelayouts from table/xxx_land.h as PALETTE_MODIFIER_TRANSPARENT is only set
|
|
|
* when to use the default palette.
|
|
|
*
|
|
|
* @param image The sprite to draw
|
|
|
* @param pal The palette from the sprite layout
|
|
|
* @param default_pal The default recolour sprite to use (typically company colour resp. random industry/house colour)
|
|
|
* @return The palette to use
|
|
|
*/
|
|
|
static inline SpriteID GroundSpritePaletteTransform(SpriteID image, SpriteID pal, SpriteID default_pal)
|
|
|
{
|
|
|
if (HasBit(image, PALETTE_MODIFIER_COLOUR)) {
|
|
|
return (pal != 0 ? pal : default_pal);
|
|
|
} else {
|
|
|
return PAL_NONE;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void DrawTileSeq(const TileInfo *ti, const DrawTileSprites *dts, TransparencyOption to, byte stage, SpriteID default_palette);
|
|
|
|
|
|
#endif /* NEWGRF_COMMONS_H */
|