|
OpenTTD Source 20251117-master-g7398d2e290
|
Handling of generic feature callbacks. More...
#include "stdafx.h"#include "debug.h"#include "newgrf_spritegroup.h"#include "industrytype.h"#include "core/random_func.hpp"#include "newgrf_sound.h"#include "water_map.h"#include "safeguards.h"Go to the source code of this file.
Data Structures | |
| struct | GenericScopeResolver |
| Scope resolver for generic objects and properties. More... | |
| struct | GenericResolverObject |
| Resolver object for generic objects/properties. More... | |
| struct | GenericCallback |
Typedefs | |
| typedef std::list< GenericCallback > | GenericCallbackList |
Functions | |
| void | ResetGenericCallbacks () |
| Reset all generic feature callback sprite groups. | |
| void | AddGenericCallback (GrfSpecFeature feature, const GRFFile *file, const SpriteGroup *group) |
| Add a generic feature callback sprite group to the appropriate feature list. | |
| static std::pair< const GRFFile *, uint16_t > | GetGenericCallbackResult (GrfSpecFeature feature, ResolverObject &object, uint32_t param1_grfv7, uint32_t param1_grfv8, std::span< int32_t > regs100={}) |
| Follow a generic feature callback list and return the first successful answer. | |
| std::pair< const GRFFile *, uint16_t > | GetAiPurchaseCallbackResult (GrfSpecFeature feature, CargoType cargo_type, uint8_t default_selection, IndustryType src_industry, IndustryType dst_industry, uint8_t distance, AIConstructionEvent event, uint8_t count, uint8_t station_size) |
| 'Execute' an AI purchase selection callback | |
| void | AmbientSoundEffectCallback (TileIndex tile) |
| 'Execute' the ambient sound effect callback. | |
Variables | |
| static GenericCallbackList | _gcl [GSF_END] |
Handling of generic feature callbacks.
Definition in file newgrf_generic.cpp.
| typedef std::list<GenericCallback> GenericCallbackList |
Definition at line 86 of file newgrf_generic.cpp.
| void AddGenericCallback | ( | GrfSpecFeature | feature, |
| const GRFFile * | file, | ||
| const SpriteGroup * | group | ||
| ) |
Add a generic feature callback sprite group to the appropriate feature list.
| feature | The feature for the callback. |
| file | The GRF of the callback. |
| group | The sprite group of the callback. |
Definition at line 108 of file newgrf_generic.cpp.
References lengthof.
| void AmbientSoundEffectCallback | ( | TileIndex | tile | ) |
'Execute' the ambient sound effect callback.
| tile | Tile the sound effect should be generated for. |
Definition at line 238 of file newgrf_generic.cpp.
References _settings_client, SoundSettings::ambient, CALLBACK_FAILED, CBID_SOUNDS_AMBIENT_EFFECT, Chance16R(), Clamp(), GB(), GetGenericCallbackResult(), GetTerrainType(), GetTileType(), GetTileZ(), GetWaterClass(), HasTileWaterClass(), IsTileType(), MP_CLEAR, MP_TREES, MP_WATER, PlayTileSound(), ClientSettings::sound, and TileHeight().
Referenced by AmbientSoundEffect().
| std::pair< const GRFFile *, uint16_t > GetAiPurchaseCallbackResult | ( | GrfSpecFeature | feature, |
| CargoType | cargo_type, | ||
| uint8_t | default_selection, | ||
| IndustryType | src_industry, | ||
| IndustryType | dst_industry, | ||
| uint8_t | distance, | ||
| AIConstructionEvent | event, | ||
| uint8_t | count, | ||
| uint8_t | station_size | ||
| ) |
'Execute' an AI purchase selection callback
| feature | GRF Feature to call callback for. |
| cargo_type | Cargotype to pass to callback. (Variable 80) |
| default_selection | 'Default selection' to pass to callback. (Variable 82) |
| src_industry | 'Source industry type' to pass to callback. (Variable 83) |
| dst_industry | 'Destination industry type' to pass to callback. (Variable 84) |
| distance | 'Distance between source and destination' to pass to callback. (Variable 85) |
| event | 'AI construction event' to pass to callback. (Variable 86) |
| count | 'Construction number' to pass to callback. (Variable 87) |
| station_size | 'Station size' to pass to callback. (Variable 88) |
Definition at line 202 of file newgrf_generic.cpp.
References CALLBACK_FAILED, CBID_GENERIC_AI_PURCHASE_SELECTION, GB(), GetGenericCallbackResult(), GetIndustrySpec(), IndustrySpec::grf_prop, IT_AI_TOWN, and IT_AI_UNKNOWN.
|
static |
Follow a generic feature callback list and return the first successful answer.
| feature | GRF Feature of callback | |
| object | pre-populated resolver object | |
| param1_grfv7 | callback_param1 for GRFs up to version 7. | |
| param1_grfv8 | callback_param1 for GRFs from version 8 on. | |
| [out] | regs100 | Additional result values from registers 100+ |
Definition at line 167 of file newgrf_generic.cpp.
Referenced by AmbientSoundEffectCallback(), and GetAiPurchaseCallbackResult().
| void ResetGenericCallbacks | ( | ) |
Reset all generic feature callback sprite groups.
Definition at line 94 of file newgrf_generic.cpp.
Referenced by ResetNewGRFData().
|
static |
Definition at line 88 of file newgrf_generic.cpp.