|
OpenTTD Source
1.10.0-RC1
|
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 "table/strings.h"#include "safeguards.h"Go to the source code of this file.
Functions | |
| uint32 | 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 (byte parameter, TileIndex tile, bool signed_offsets, Axis axis) |
| Get the tile at the given offset. More... | |
| uint32 | GetNearbyTileInformation (TileIndex tile, bool grf_version8) |
| Common part of station var 0x67, house var 0x62, indtile var 0x60, industry var 0x62. More... | |
| uint32 | GetCompanyInfo (CompanyID owner, const Livery *l) |
| Returns company information like in vehicle var 43 or station var 43. More... | |
| CommandCost | GetErrorMessageFromLocationCallbackResult (uint16 cb_res, const GRFFile *grffile, StringID default_error) |
| Get the error message from a shape/location/slope check callback result. More... | |
| void | ErrorUnknownCallbackResult (uint32 grfid, uint16 cbid, uint16 cb_res) |
| Record that a NewGRF returned an unknown/invalid callback result. More... | |
| bool | ConvertBooleanCallback (const GRFFile *grffile, uint16 cbid, uint16 cb_res) |
| Converts a callback result into a boolean. More... | |
| bool | Convert8bitBooleanCallback (const GRFFile *grffile, uint16 cbid, uint16 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 | cbid, | ||
| uint16 | 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 569 of file newgrf_commons.cpp.
| bool ConvertBooleanCallback | ( | const GRFFile * | grffile, |
| uint16 | cbid, | ||
| uint16 | 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 550 of file newgrf_commons.cpp.
| void ErrorUnknownCallbackResult | ( | uint32 | grfid, |
| uint16 | cbid, | ||
| uint16 | 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 516 of file newgrf_commons.cpp.
References GBUG_UNKNOWN_CB_RESULT, GetGRFConfig(), GRFConfig::GetName(), GRFConfig::grf_bugs, HasBit(), SetBit(), SetDParam(), SetDParamStr(), ShowErrorMessage(), and WL_CRITICAL.
Referenced by CheckTrainAttachment(), GetAirportTextCallback(), GetIndustryProbabilityCallback(), and Vehicle::UpdateVisualEffect().
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 467 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 | 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 480 of file newgrf_commons.cpp.
References GetGRFStringID(), and CommandCost::UseTextRefStack().
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 423 of file newgrf_commons.cpp.
Referenced by GetNearbyAirportTileInformation(), GetNearbyIndustryTileInformation(), GetNearbyObjectTileInformation(), GetNearbyTileInformation(), StationScopeResolver::GetVariable(), and ObjectScopeResolver::GetVariable().
| uint32 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 446 of file newgrf_commons.cpp.
References Clamp(), GetTerrainType(), GetTilePixelSlope(), GetTileType(), GetTreeGround(), GetWaterClass(), HasTileWaterClass(), IsTileType(), MP_TREES, MP_WATER, TILE_HEIGHT, and TREE_GROUND_SHORE.
Referenced by GetNearbyAirportTileInformation(), GetNearbyIndustryTileInformation(), and GetNearbyObjectTileInformation().
| uint32 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 348 of file newgrf_commons.cpp.
References _settings_game, GameSettings::game_creation, and GameCreationSettings::landscape.
Referenced by GetNearbyTileInformation(), CanalScopeResolver::GetVariable(), IndustryTileScopeResolver::GetVariable(), IndustriesScopeResolver::GetVariable(), HouseScopeResolver::GetVariable(), and ObjectScopeResolver::GetVariable().