OpenTTD Source
20241108-master-g80f628063a
|
Implementation of the class OverrideManagerBase and its descendance, present and future. More...
#include "stdafx.h"
#include "debug.h"
#include "landscape.h"
#include "house.h"
#include "industrytype.h"
#include "newgrf_config.h"
#include "clear_map.h"
#include "station_map.h"
#include "tree_map.h"
#include "tunnelbridge_map.h"
#include "newgrf_object.h"
#include "genworld.h"
#include "newgrf_spritegroup.h"
#include "newgrf_text.h"
#include "company_base.h"
#include "error.h"
#include "strings_func.h"
#include "string_func.h"
#include "table/strings.h"
#include "safeguards.h"
Go to the source code of this file.
Functions | |
uint32_t | GetTerrainType (TileIndex tile, TileContext context) |
Function used by houses (and soon industries) to get information on type of "terrain" the tile it is queries sits on. More... | |
TileIndex | GetNearbyTile (uint8_t parameter, TileIndex tile, bool signed_offsets, Axis axis) |
Get the tile at the given offset. More... | |
uint32_t | GetNearbyTileInformation (TileIndex tile, bool grf_version8) |
Common part of station var 0x67, house var 0x62, indtile var 0x60, industry var 0x62. More... | |
uint32_t | GetCompanyInfo (CompanyID owner, const Livery *l) |
Returns company information like in vehicle var 43 or station var 43. More... | |
CommandCost | GetErrorMessageFromLocationCallbackResult (uint16_t cb_res, const GRFFile *grffile, StringID default_error) |
Get the error message from a shape/location/slope check callback result. More... | |
void | ErrorUnknownCallbackResult (uint32_t grfid, uint16_t cbid, uint16_t cb_res) |
Record that a NewGRF returned an unknown/invalid callback result. More... | |
bool | ConvertBooleanCallback (const GRFFile *grffile, uint16_t cbid, uint16_t cb_res) |
Converts a callback result into a boolean. More... | |
bool | Convert8bitBooleanCallback (const GRFFile *grffile, uint16_t cbid, uint16_t cb_res) |
Converts a callback result into a boolean. More... | |
Implementation of the class OverrideManagerBase and its descendance, present and future.
Definition in file newgrf_commons.cpp.
bool Convert8bitBooleanCallback | ( | const GRFFile * | grffile, |
uint16_t | cbid, | ||
uint16_t | cb_res | ||
) |
Converts a callback result into a boolean.
For grf version < 8 the first 8 bit of the result are checked for zero or non-zero. For grf version >= 8 the callback result must be 0 or 1.
grffile | NewGRF returning the value. |
cbid | Callback returning the value. |
cb_res | Callback result. |
Definition at line 554 of file newgrf_commons.cpp.
bool ConvertBooleanCallback | ( | const GRFFile * | grffile, |
uint16_t | cbid, | ||
uint16_t | cb_res | ||
) |
Converts a callback result into a boolean.
For grf version < 8 the result is checked for zero or non-zero. For grf version >= 8 the callback result must be 0 or 1.
grffile | NewGRF returning the value. |
cbid | Callback returning the value. |
cb_res | Callback result. |
Definition at line 535 of file newgrf_commons.cpp.
void ErrorUnknownCallbackResult | ( | uint32_t | grfid, |
uint16_t | cbid, | ||
uint16_t | cb_res | ||
) |
Record that a NewGRF returned an unknown/invalid callback result.
Also show an error to the user.
grfid | ID of the NewGRF causing the problem. |
cbid | Callback causing the problem. |
cb_res | Invalid result returned by the callback. |
Definition at line 505 of file newgrf_commons.cpp.
Returns company information like in vehicle var 43 or station var 43.
owner | Owner of the object. |
l | Livery of the object; nullptr to use default. |
Definition at line 456 of file newgrf_commons.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), and Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID().
Referenced by VehicleScopeResolver::GetVariable(), and StationScopeResolver::GetVariable().
CommandCost GetErrorMessageFromLocationCallbackResult | ( | uint16_t | cb_res, |
const GRFFile * | grffile, | ||
StringID | default_error | ||
) |
Get the error message from a shape/location/slope check callback result.
cb_res | Callback result to translate. If bit 10 is set this is a standard error message, otherwise a NewGRF provided string. |
grffile | NewGRF to use to resolve a custom error message. |
default_error | Error message to use for the generic error. |
Definition at line 469 of file newgrf_commons.cpp.
Get the tile at the given offset.
parameter | The NewGRF "encoded" offset. |
tile | The tile to base the offset from. |
signed_offsets | Whether the offsets are to be interpreted as signed or not. |
axis | Axis of a railways station. |
Definition at line 410 of file newgrf_commons.cpp.
Referenced by GetNearbyAirportTileInformation(), GetNearbyIndustryTileInformation(), GetNearbyObjectTileInformation(), GetNearbyTileInformation(), AirportTileScopeResolver::GetVariable(), ObjectScopeResolver::GetVariable(), and StationScopeResolver::GetVariable().
uint32_t GetNearbyTileInformation | ( | TileIndex | tile, |
bool | grf_version8 | ||
) |
Common part of station var 0x67, house var 0x62, indtile var 0x60, industry var 0x62.
tile | the tile of interest. |
grf_version8 | True, if we are dealing with a new NewGRF which uses GRF version >= 8. |
Definition at line 433 of file newgrf_commons.cpp.
References GetTerrainType(), GetTilePixelSlope(), GetTileType(), GetTreeGround(), GetWaterClass(), HasTileWaterClass(), IsRoadWaypointTile(), IsTileType(), MP_ROAD, MP_TREES, MP_WATER, TILE_HEIGHT, and TREE_GROUND_SHORE.
Referenced by GetNearbyAirportTileInformation(), GetNearbyIndustryTileInformation(), and GetNearbyObjectTileInformation().
uint32_t GetTerrainType | ( | TileIndex | tile, |
TileContext | context | ||
) |
Function used by houses (and soon industries) to get information on type of "terrain" the tile it is queries sits on.
tile | TileIndex of the tile been queried |
context | The context of the tile. |
Definition at line 335 of file newgrf_commons.cpp.
References _settings_game, GameSettings::game_creation, and GameCreationSettings::landscape.
Referenced by GetNearbyTileInformation(), AirportTileScopeResolver::GetVariable(), CanalScopeResolver::GetVariable(), HouseScopeResolver::GetVariable(), IndustriesScopeResolver::GetVariable(), IndustryTileScopeResolver::GetVariable(), and ObjectScopeResolver::GetVariable().