OpenTTD Source 20241224-master-gf74b0cf984
|
Callbacks that NewGRFs could implement. More...
Go to the source code of this file.
Variables | |
static const uint | CALLBACK_FAILED = 0xFFFF |
Different values for Callback result evaluations. | |
static const uint | CALLBACK_HOUSEPRODCARGO_END = 0x20FF |
Sentinel indicating that the loop for CBID_HOUSE_PRODUCE_CARGO has ended. | |
Callbacks that NewGRFs could implement.
Definition in file newgrf_callbacks.h.
Callback masks for airport tiles.
Definition at line 416 of file newgrf_callbacks.h.
enum CallbackID |
List of implemented NewGRF callbacks.
Most of these callbacks are only triggered when the corresponding bit is set in the callback flags/trigger for a vehicle, house, industry, etc. Names are formatted as CBID_<CLASS>_<CALLBACK>
Enumerator | |
---|---|
CBID_NO_CALLBACK | Set when using the callback resolve system, but not to resolve a callback. |
CBID_RANDOM_TRIGGER | Set when calling a randomizing trigger (almost undocumented). |
CBID_VEHICLE_VISUAL_EFFECT | Visual effects and wagon power. |
CBID_VEHICLE_LENGTH | Vehicle length, returns the amount of 1/8's the vehicle is shorter for trains and RVs. |
CBID_VEHICLE_LOAD_AMOUNT | Determine the amount of cargo to load per unit of time when using gradual loading. |
CBID_STATION_AVAILABILITY | Determine whether a newstation should be made available to build. |
CBID_STATION_DRAW_TILE_LAYOUT | Choose a tile layout to draw, instead of the standard range. |
CBID_VEHICLE_REFIT_CAPACITY | Refit capacity, the passed vehicle needs to have its ->cargo_type set to the cargo we are refitting to, returns the new cargo capacity. |
CBID_VEHICLE_ARTIC_ENGINE | Builds articulated engines for trains and RVs. |
CBID_HOUSE_ALLOW_CONSTRUCTION | Determine whether the house can be built on the specified tile. |
CBID_GENERIC_AI_PURCHASE_SELECTION | AI construction/purchase selection. |
CBID_VEHICLE_CARGO_SUFFIX | Determine the cargo "suffixes" for each refit possibility of a cargo. |
CBID_HOUSE_ANIMATION_NEXT_FRAME | Determine the next animation frame for a house. |
CBID_HOUSE_ANIMATION_START_STOP | Called for periodically starting or stopping the animation. |
CBID_HOUSE_CONSTRUCTION_STATE_CHANGE | Called whenever the construction state of a house changes. |
CBID_TRAIN_ALLOW_WAGON_ATTACH | Determine whether a wagon can be attached to an already existing train. |
CBID_HOUSE_COLOUR | Called to determine the colour of a town building. |
CBID_HOUSE_CARGO_ACCEPTANCE | Called to decide how much cargo a town building can accept. |
CBID_HOUSE_ANIMATION_SPEED | Called to indicate how long the current animation frame should last. |
CBID_HOUSE_DESTRUCTION | Called periodically to determine if a house should be destroyed. |
CBID_INDUSTRY_PROBABILITY | Called to determine if the given industry type is available. For grf version >= 8 also a probability can be returned. |
CBID_VEHICLE_ADDITIONAL_TEXT | This callback is called from vehicle purchase lists. It returns a value to be used as a custom string ID in the 0xD000 range. |
CBID_STATION_BUILD_TILE_LAYOUT | Called when building a station to customize the tile layout. |
CBID_INDTILE_ANIM_START_STOP | Called for periodically starting or stopping the animation. |
CBID_INDTILE_ANIM_NEXT_FRAME | Called to determine industry tile next animation frame. |
CBID_INDTILE_ANIMATION_SPEED | Called to indicate how long the current animation frame should last. |
CBID_INDUSTRY_LOCATION | Called to determine if the given industry can be built on specific area. |
CBID_INDUSTRY_PRODUCTION_CHANGE | Called on production changes, so it can be adjusted. |
CBID_HOUSE_ACCEPT_CARGO | Called to determine which cargoes a town building should accept. |
CBID_INDTILE_CARGO_ACCEPTANCE | Called to query the cargo acceptance of the industry tile. |
CBID_INDTILE_ACCEPT_CARGO | Called to determine which cargoes an industry should accept. |
CBID_VEHICLE_COLOUR_MAPPING | Called to determine if a specific colour map should be used for a vehicle instead of the default livery. |
CBID_HOUSE_PRODUCE_CARGO | Called to determine how much cargo a town building produces. |
CBID_INDTILE_SHAPE_CHECK | Called to determine if the given industry tile can be built on specific tile. |
CBID_INDTILE_DRAW_FOUNDATIONS | Called to determine the type (if any) of foundation to draw for industry tile. |
CBID_VEHICLE_START_STOP_CHECK | Called when the company (or AI) tries to start or stop a vehicle. Mainly used for preventing a vehicle from leaving the depot. |
CBID_VEHICLE_32DAY_CALLBACK | Called for every vehicle every 32 days (not all on same date though). |
CBID_VEHICLE_SOUND_EFFECT | Called to play a special sound effect. |
CBID_VEHICLE_AUTOREPLACE_SELECTION | Return the vehicles this given vehicle can be "upgraded" to. |
CBID_INDUSTRY_MONTHLYPROD_CHANGE | Called monthly on production changes, so it can be adjusted more frequently. |
CBID_VEHICLE_MODIFY_PROPERTY | Called to modify various vehicle properties. Callback parameter 1 specifies the property index, as used in Action 0, to change. |
CBID_INDUSTRY_CARGO_SUFFIX | Called to determine text to display after cargo name. |
CBID_INDUSTRY_FUND_MORE_TEXT | Called to determine more text in the fund industry window. |
CBID_CARGO_PROFIT_CALC | Called to calculate the income of delivered cargo. |
CBID_INDUSTRY_WINDOW_MORE_TEXT | Called to determine more text in the industry window. |
CBID_INDUSTRY_SPECIAL_EFFECT | Called to determine industry special effects. |
CBID_INDTILE_AUTOSLOPE | Called to determine if industry can alter the ground below industry tile. |
CBID_INDUSTRY_REFUSE_CARGO | Called to determine if the industry can still accept or refuse more cargo arrival. |
CBID_STATION_ANIM_START_STOP | Called for periodically starting or stopping the animation. |
CBID_STATION_ANIM_NEXT_FRAME | Called to determine station tile next animation frame. |
CBID_STATION_ANIMATION_SPEED | Called to indicate how long the current animation frame should last. |
CBID_HOUSE_DENY_DESTRUCTION | Called to determine whether a town building can be destroyed. |
CBID_SOUNDS_AMBIENT_EFFECT | Select an ambient sound to play for a given type of tile. |
CBID_CARGO_STATION_RATING_CALC | Called to calculate part of a station rating. |
CBID_NEW_SIGNALS_SPRITE_DRAW | Allow signal sprites to be replaced dynamically. |
CBID_CANALS_SPRITE_OFFSET | Add an offset to the default sprite numbers to show another sprite. |
CBID_HOUSE_WATCHED_CARGO_ACCEPTED | Called when a cargo type specified in property 20 is accepted. |
CBID_STATION_LAND_SLOPE_CHECK | Callback done for each tile of a station to check the slope. |
CBID_INDUSTRY_DECIDE_COLOUR | Called to determine the colour of an industry. |
CBID_INDUSTRY_INPUT_CARGO_TYPES | Customize the input cargo types of a newly build industry. |
CBID_INDUSTRY_OUTPUT_CARGO_TYPES | Customize the output cargo types of a newly build industry. |
CBID_HOUSE_CUSTOM_NAME | Called on the Get Tile Description for an house tile. |
CBID_HOUSE_DRAW_FOUNDATIONS | Called to determine the type (if any) of foundation to draw for house tile. |
CBID_HOUSE_AUTOSLOPE | Called to determine if one can alter the ground below a house tile. |
CBID_AIRPTILE_DRAW_FOUNDATIONS | Called to determine the type (if any) of foundation to draw for an airport tile. |
CBID_AIRPTILE_ANIM_START_STOP | Called for periodically starting or stopping the animation. |
CBID_AIRPTILE_ANIM_NEXT_FRAME | Called to determine airport tile next animation frame. |
CBID_AIRPTILE_ANIMATION_SPEED | Called to indicate how long the current animation frame should last. |
CBID_AIRPORT_ADDITIONAL_TEXT | This callback is called from airport list. It returns a value to be used as a custom string ID in the 0xD000 range. |
CBID_AIRPORT_LAYOUT_NAME | Called to determine text to show as airport layout name. |
CBID_OBJECT_LAND_SLOPE_CHECK | Callback done for each tile of an object to check the slope. |
CBID_OBJECT_ANIMATION_NEXT_FRAME | Determine the next animation frame for a house. |
CBID_OBJECT_ANIMATION_START_STOP | Called for periodically starting or stopping the animation. |
CBID_OBJECT_ANIMATION_SPEED | Called to indicate how long the current animation frame should last. |
CBID_OBJECT_COLOUR | Called to determine the colour of a town building. |
CBID_OBJECT_FUND_MORE_TEXT | Called to determine more text in the fund object window. |
CBID_OBJECT_AUTOSLOPE | Called to determine if one can alter the ground below an object tile. |
CBID_VEHICLE_REFIT_COST | Called to determine the cost factor for refitting a vehicle. |
CBID_INDUSTRY_PROD_CHANGE_BUILD | Called when industry is built to set initial production level. |
CBID_VEHICLE_SPAWN_VISUAL_EFFECT | Called to spawn visual effects for vehicles. |
CBID_VEHICLE_NAME | Called to determine the engine name to show. |
CBID_VEHICLE_BUILD_PROBABILITY | Called to determine probability during build. |
CBID_VEHICLE_CUSTOM_REFIT | Called to get custom engine refit mask. Called once for each defined cargo after all NewGRFs are loaded. |
Definition at line 20 of file newgrf_callbacks.h.
enum CanalCallbackMask |
Callback masks for canals.
Enumerator | |
---|---|
CBM_CANAL_SPRITE_OFFSET | Enable add sprite offset callback. |
Definition at line 355 of file newgrf_callbacks.h.
enum CargoCallbackMask |
Callback masks for cargoes.
Enumerator | |
---|---|
CBM_CARGO_PROFIT_CALC | custom profit calculation |
CBM_CARGO_STATION_RATING_CALC | custom station rating for this cargo type |
Definition at line 362 of file newgrf_callbacks.h.
enum HouseCallbackMask |
Callback masks for houses.
Definition at line 336 of file newgrf_callbacks.h.
enum IndustryCallbackMask |
Callback masks for Industries.
Definition at line 370 of file newgrf_callbacks.h.
Callback masks for industry tiles.
Definition at line 391 of file newgrf_callbacks.h.
enum ObjectCallbackMask |
Callback masks for objects.
Definition at line 404 of file newgrf_callbacks.h.
enum RoadStopCallbackMask |
Callback masks for road stops.
Definition at line 327 of file newgrf_callbacks.h.
enum StationCallbackMask |
Callback masks for stations.
Definition at line 316 of file newgrf_callbacks.h.
enum VehicleCallbackMask |
Callback masks for vehicles, indicates which callbacks are used by a vehicle.
Some callbacks are always used and don't have a mask.
Enumerator | |
---|---|
CBM_VEHICLE_VISUAL_EFFECT | Visual effects and wagon power (trains, road vehicles and ships) |
CBM_VEHICLE_LENGTH | Vehicle length (trains and road vehicles) |
CBM_VEHICLE_LOAD_AMOUNT | Load amount. |
CBM_VEHICLE_REFIT_CAPACITY | Cargo capacity after refit. |
CBM_VEHICLE_ARTIC_ENGINE | Add articulated engines (trains and road vehicles) |
CBM_VEHICLE_CARGO_SUFFIX | Show suffix after cargo name. |
CBM_VEHICLE_COLOUR_REMAP | Change colour mapping of vehicle. |
CBM_VEHICLE_SOUND_EFFECT | Vehicle uses custom sound effects. |
CBM_VEHICLE_NAME | Engine name. |
CBM_VEHICLE_CUSTOM_REFIT | Custom refit mask. |
Definition at line 300 of file newgrf_callbacks.h.
|
static |
Different values for Callback result evaluations.
Result of a failed callback.
Definition at line 427 of file newgrf_callbacks.h.
Referenced by AddAcceptedCargoOfHouse(), AmbientSoundEffectCallback(), AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback, Tframehelper >::AnimateTile(), BuildObject(), CalculateRefitMasks(), AnimationBase< Tbase, Tspec, Tobj, Textra, GetCallback, Tframehelper >::ChangeAnimationFrame(), ChangeIndustryProduction(), CheckIfCallBackAllowsCreation(), CheckTrainAttachment(), CmdBuildObject(), CmdBuildRailStation(), CmdBuildRoadStop(), CmdStartStopVehicle(), Train::ConsistChanged(), Convert8bitBooleanCallback(), ConvertBooleanCallback(), Engine::DetermineCapacity(), DoCreateNewIndustry(), IndustryViewWindow::DrawInfo(), DrawNewHouseTileInGUI(), DrawStationTile(), BuildIndustryWindow::DrawWidget(), BuildObjectWindow::DrawWidget(), FormatString(), GetAiPurchaseCallbackResult(), GetAirportTextCallback(), GetCanalSpriteOffset(), GetCargoSubtypeText(), GetCargoSuffix(), GetFoundation_Town(), GetGenericCallbackResult(), GetHouseName(), GetIndustryProbabilityCallback(), GetLoadAmount(), GetNewGRFAdditionalText(), GetNextArticulatedPart(), GetRefitCostFactor(), GetRoadVehLength(), IndustryTemporarilyRefusesCargo(), IsRoadStopAvailable(), IsStationAvailable(), PerformIndustryTileSlopeCheck(), PerformStationTileSlopeCheck(), PlayVehicleSound(), DeterministicSpriteGroup::Resolve(), ResolverObject::ResolveCallback(), RunEconomyVehicleDayProc(), SpawnAdvancedVisualEffect(), TestVehicleBuildProbability(), TileLoop_Town(), TryBuildTownHouse(), and Vehicle::UpdateVisualEffect().
|
static |
Sentinel indicating that the loop for CBID_HOUSE_PRODUCE_CARGO has ended.
Definition at line 428 of file newgrf_callbacks.h.
Referenced by TileLoop_Town().