OpenTTD Source 20241224-master-gf74b0cf984
newgrf_callbacks.h File Reference

Callbacks that NewGRFs could implement. More...

Go to the source code of this file.

Enumerations

enum  CallbackID {
  CBID_NO_CALLBACK = 0x00 , CBID_RANDOM_TRIGGER = 0x01 , CBID_VEHICLE_VISUAL_EFFECT = 0x10 , CBID_VEHICLE_LENGTH = 0x11 ,
  CBID_VEHICLE_LOAD_AMOUNT = 0x12 , CBID_STATION_AVAILABILITY = 0x13 , CBID_STATION_DRAW_TILE_LAYOUT = 0x14 , CBID_VEHICLE_REFIT_CAPACITY = 0x15 ,
  CBID_VEHICLE_ARTIC_ENGINE = 0x16 , CBID_HOUSE_ALLOW_CONSTRUCTION = 0x17 , CBID_GENERIC_AI_PURCHASE_SELECTION = 0x18 , CBID_VEHICLE_CARGO_SUFFIX = 0x19 ,
  CBID_HOUSE_ANIMATION_NEXT_FRAME = 0x1A , CBID_HOUSE_ANIMATION_START_STOP = 0x1B , CBID_HOUSE_CONSTRUCTION_STATE_CHANGE = 0x1C , CBID_TRAIN_ALLOW_WAGON_ATTACH = 0x1D ,
  CBID_HOUSE_COLOUR = 0x1E , CBID_HOUSE_CARGO_ACCEPTANCE = 0x1F , CBID_HOUSE_ANIMATION_SPEED = 0x20 , CBID_HOUSE_DESTRUCTION = 0x21 ,
  CBID_INDUSTRY_PROBABILITY = 0x22 , CBID_VEHICLE_ADDITIONAL_TEXT = 0x23 , CBID_STATION_BUILD_TILE_LAYOUT = 0x24 , CBID_INDTILE_ANIM_START_STOP = 0x25 ,
  CBID_INDTILE_ANIM_NEXT_FRAME = 0x26 , CBID_INDTILE_ANIMATION_SPEED = 0x27 , CBID_INDUSTRY_LOCATION = 0x28 , CBID_INDUSTRY_PRODUCTION_CHANGE = 0x29 ,
  CBID_HOUSE_ACCEPT_CARGO = 0x2A , CBID_INDTILE_CARGO_ACCEPTANCE = 0x2B , CBID_INDTILE_ACCEPT_CARGO = 0x2C , CBID_VEHICLE_COLOUR_MAPPING = 0x2D ,
  CBID_HOUSE_PRODUCE_CARGO = 0x2E , CBID_INDTILE_SHAPE_CHECK = 0x2F , CBID_INDTILE_DRAW_FOUNDATIONS = 0x30 , CBID_VEHICLE_START_STOP_CHECK = 0x31 ,
  CBID_VEHICLE_32DAY_CALLBACK = 0x32 , CBID_VEHICLE_SOUND_EFFECT = 0x33 , CBID_VEHICLE_AUTOREPLACE_SELECTION = 0x34 , CBID_INDUSTRY_MONTHLYPROD_CHANGE = 0x35 ,
  CBID_VEHICLE_MODIFY_PROPERTY = 0x36 , CBID_INDUSTRY_CARGO_SUFFIX = 0x37 , CBID_INDUSTRY_FUND_MORE_TEXT = 0x38 , CBID_CARGO_PROFIT_CALC = 0x39 ,
  CBID_INDUSTRY_WINDOW_MORE_TEXT = 0x3A , CBID_INDUSTRY_SPECIAL_EFFECT = 0x3B , CBID_INDTILE_AUTOSLOPE = 0x3C , CBID_INDUSTRY_REFUSE_CARGO = 0x3D ,
  CBID_STATION_ANIM_START_STOP = 0x140 , CBID_STATION_ANIM_NEXT_FRAME = 0x141 , CBID_STATION_ANIMATION_SPEED = 0x142 , CBID_HOUSE_DENY_DESTRUCTION = 0x143 ,
  CBID_SOUNDS_AMBIENT_EFFECT = 0x144 , CBID_CARGO_STATION_RATING_CALC = 0x145 , CBID_NEW_SIGNALS_SPRITE_DRAW = 0x146 , CBID_CANALS_SPRITE_OFFSET = 0x147 ,
  CBID_HOUSE_WATCHED_CARGO_ACCEPTED = 0x148 , CBID_STATION_LAND_SLOPE_CHECK = 0x149 , CBID_INDUSTRY_DECIDE_COLOUR = 0x14A , CBID_INDUSTRY_INPUT_CARGO_TYPES = 0x14B ,
  CBID_INDUSTRY_OUTPUT_CARGO_TYPES = 0x14C , CBID_HOUSE_CUSTOM_NAME = 0x14D , CBID_HOUSE_DRAW_FOUNDATIONS = 0x14E , CBID_HOUSE_AUTOSLOPE = 0x14F ,
  CBID_AIRPTILE_DRAW_FOUNDATIONS = 0x150 , CBID_AIRPTILE_ANIM_START_STOP = 0x152 , CBID_AIRPTILE_ANIM_NEXT_FRAME = 0x153 , CBID_AIRPTILE_ANIMATION_SPEED = 0x154 ,
  CBID_AIRPORT_ADDITIONAL_TEXT = 0x155 , CBID_AIRPORT_LAYOUT_NAME = 0x156 , CBID_OBJECT_LAND_SLOPE_CHECK = 0x157 , CBID_OBJECT_ANIMATION_NEXT_FRAME = 0x158 ,
  CBID_OBJECT_ANIMATION_START_STOP = 0x159 , CBID_OBJECT_ANIMATION_SPEED = 0x15A , CBID_OBJECT_COLOUR = 0x15B , CBID_OBJECT_FUND_MORE_TEXT = 0x15C ,
  CBID_OBJECT_AUTOSLOPE = 0x15D , CBID_VEHICLE_REFIT_COST = 0x15E , CBID_INDUSTRY_PROD_CHANGE_BUILD = 0x15F , CBID_VEHICLE_SPAWN_VISUAL_EFFECT = 0x160 ,
  CBID_VEHICLE_NAME = 0x161 , CBID_VEHICLE_BUILD_PROBABILITY = 0x162 , CBID_VEHICLE_CUSTOM_REFIT = 0x0163
}
 List of implemented NewGRF callbacks. More...
 
enum  VehicleCallbackMask {
  CBM_VEHICLE_VISUAL_EFFECT = 0 , CBM_VEHICLE_LENGTH = 1 , CBM_VEHICLE_LOAD_AMOUNT = 2 , CBM_VEHICLE_REFIT_CAPACITY = 3 ,
  CBM_VEHICLE_ARTIC_ENGINE = 4 , CBM_VEHICLE_CARGO_SUFFIX = 5 , CBM_VEHICLE_COLOUR_REMAP = 6 , CBM_VEHICLE_SOUND_EFFECT = 7 ,
  CBM_VEHICLE_NAME = 8 , CBM_VEHICLE_CUSTOM_REFIT = 9
}
 Callback masks for vehicles, indicates which callbacks are used by a vehicle. More...
 
enum  StationCallbackMask {
  CBM_STATION_AVAIL = 0 , CBM_STATION_DRAW_TILE_LAYOUT = 1 , CBM_STATION_ANIMATION_NEXT_FRAME = 2 , CBM_STATION_ANIMATION_SPEED = 3 ,
  CBM_STATION_SLOPE_CHECK = 4
}
 Callback masks for stations. More...
 
enum  RoadStopCallbackMask { CBM_ROAD_STOP_AVAIL = 0 , CBM_ROAD_STOP_ANIMATION_NEXT_FRAME = 1 , CBM_ROAD_STOP_ANIMATION_SPEED = 2 }
 Callback masks for road stops. More...
 
enum  HouseCallbackMask {
  CBM_HOUSE_ALLOW_CONSTRUCTION = 0 , CBM_HOUSE_ANIMATION_NEXT_FRAME = 1 , CBM_HOUSE_ANIMATION_START_STOP = 2 , CBM_HOUSE_CONSTRUCTION_STATE_CHANGE = 3 ,
  CBM_HOUSE_COLOUR = 4 , CBM_HOUSE_CARGO_ACCEPTANCE = 5 , CBM_HOUSE_ANIMATION_SPEED = 6 , CBM_HOUSE_DESTRUCTION = 7 ,
  CBM_HOUSE_ACCEPT_CARGO = 8 , CBM_HOUSE_PRODUCE_CARGO = 9 , CBM_HOUSE_DENY_DESTRUCTION = 10 , CBM_HOUSE_DRAW_FOUNDATIONS = 11 ,
  CBM_HOUSE_AUTOSLOPE = 12
}
 Callback masks for houses. More...
 
enum  CanalCallbackMask { CBM_CANAL_SPRITE_OFFSET = 0 }
 Callback masks for canals. More...
 
enum  CargoCallbackMask { CBM_CARGO_PROFIT_CALC = 0 , CBM_CARGO_STATION_RATING_CALC = 1 }
 Callback masks for cargoes. More...
 
enum  IndustryCallbackMask {
  CBM_IND_PROBABILITY = 0 , CBM_IND_PRODUCTION_CARGO_ARRIVAL = 1 , CBM_IND_PRODUCTION_256_TICKS = 2 , CBM_IND_LOCATION = 3 ,
  CBM_IND_PRODUCTION_CHANGE = 4 , CBM_IND_MONTHLYPROD_CHANGE = 5 , CBM_IND_CARGO_SUFFIX = 6 , CBM_IND_FUND_MORE_TEXT = 7 ,
  CBM_IND_WINDOW_MORE_TEXT = 8 , CBM_IND_SPECIAL_EFFECT = 9 , CBM_IND_REFUSE_CARGO = 10 , CBM_IND_DECIDE_COLOUR = 11 ,
  CBM_IND_INPUT_CARGO_TYPES = 12 , CBM_IND_OUTPUT_CARGO_TYPES = 13 , CBM_IND_PROD_CHANGE_BUILD = 14
}
 Callback masks for Industries. More...
 
enum  IndustryTileCallbackMask {
  CBM_INDT_ANIM_NEXT_FRAME = 0 , CBM_INDT_ANIM_SPEED = 1 , CBM_INDT_CARGO_ACCEPTANCE = 2 , CBM_INDT_ACCEPT_CARGO = 3 ,
  CBM_INDT_SHAPE_CHECK = 4 , CBM_INDT_DRAW_FOUNDATIONS = 5 , CBM_INDT_AUTOSLOPE = 6
}
 Callback masks for industry tiles. More...
 
enum  ObjectCallbackMask {
  CBM_OBJ_SLOPE_CHECK = 0 , CBM_OBJ_ANIMATION_NEXT_FRAME = 1 , CBM_OBJ_ANIMATION_SPEED = 2 , CBM_OBJ_COLOUR = 3 ,
  CBM_OBJ_FUND_MORE_TEXT = 4 , CBM_OBJ_AUTOSLOPE = 5
}
 Callback masks for objects. More...
 
enum  AirportTileCallbackMask {
  CBM_AIRT_ANIM_NEXT_FRAME = 0 , CBM_AIRT_ANIM_SPEED = 1 , CBM_AIRT_SHAPE_CHECK = 4 , CBM_AIRT_DRAW_FOUNDATIONS = 5 ,
  CBM_AIRT_AUTOSLOPE = 6
}
 Callback masks for airport tiles. More...
 

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.
 

Detailed Description

Callbacks that NewGRFs could implement.

Definition in file newgrf_callbacks.h.

Enumeration Type Documentation

◆ AirportTileCallbackMask

Callback masks for airport tiles.

Enumerator
CBM_AIRT_ANIM_NEXT_FRAME 

decides next animation frame

CBM_AIRT_ANIM_SPEED 

decides animation speed

CBM_AIRT_SHAPE_CHECK 

decides slope suitability

CBM_AIRT_DRAW_FOUNDATIONS 

decides if default foundations need to be drawn

CBM_AIRT_AUTOSLOPE 

decides allowance of autosloping

Definition at line 416 of file newgrf_callbacks.h.

◆ CallbackID

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.

◆ CanalCallbackMask

Callback masks for canals.

Enumerator
CBM_CANAL_SPRITE_OFFSET 

Enable add sprite offset callback.

Definition at line 355 of file newgrf_callbacks.h.

◆ 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.

◆ HouseCallbackMask

Callback masks for houses.

Enumerator
CBM_HOUSE_ALLOW_CONSTRUCTION 

decide whether the house can be built on a given tile

CBM_HOUSE_ANIMATION_NEXT_FRAME 

decides next animation frame

CBM_HOUSE_ANIMATION_START_STOP 

periodically start/stop the animation

CBM_HOUSE_CONSTRUCTION_STATE_CHANGE 

change animation when construction state changes

CBM_HOUSE_COLOUR 

decide the colour of the building

CBM_HOUSE_CARGO_ACCEPTANCE 

decides amount of cargo acceptance

CBM_HOUSE_ANIMATION_SPEED 

decides animation speed

CBM_HOUSE_DESTRUCTION 

trigger destruction of building

CBM_HOUSE_ACCEPT_CARGO 

decides accepted types

CBM_HOUSE_PRODUCE_CARGO 

custom cargo production

CBM_HOUSE_DENY_DESTRUCTION 

conditional protection

CBM_HOUSE_DRAW_FOUNDATIONS 

decides if default foundations need to be drawn

CBM_HOUSE_AUTOSLOPE 

decides allowance of autosloping

Definition at line 336 of file newgrf_callbacks.h.

◆ IndustryCallbackMask

Callback masks for Industries.

Enumerator
CBM_IND_PROBABILITY 

industry availability/probability callback

CBM_IND_PRODUCTION_CARGO_ARRIVAL 

call production callback when cargo arrives at the industry

CBM_IND_PRODUCTION_256_TICKS 

call production callback every 256 ticks

CBM_IND_LOCATION 

check industry construction on given area

CBM_IND_PRODUCTION_CHANGE 

controls random production change

CBM_IND_MONTHLYPROD_CHANGE 

controls monthly random production change

CBM_IND_CARGO_SUFFIX 

cargo sub-type display

CBM_IND_FUND_MORE_TEXT 

additional text in fund window

CBM_IND_WINDOW_MORE_TEXT 

additional text in industry window

CBM_IND_SPECIAL_EFFECT 

control special effects

CBM_IND_REFUSE_CARGO 

option out of accepting cargo

CBM_IND_DECIDE_COLOUR 

give a custom colour to newly build industries

CBM_IND_INPUT_CARGO_TYPES 

customize the cargoes the industry requires

CBM_IND_OUTPUT_CARGO_TYPES 

customize the cargoes the industry produces

CBM_IND_PROD_CHANGE_BUILD 

initialise production level on construction

Definition at line 370 of file newgrf_callbacks.h.

◆ IndustryTileCallbackMask

Callback masks for industry tiles.

Enumerator
CBM_INDT_ANIM_NEXT_FRAME 

decides next animation frame

CBM_INDT_ANIM_SPEED 

decides animation speed

CBM_INDT_CARGO_ACCEPTANCE 

decides amount of cargo acceptance

CBM_INDT_ACCEPT_CARGO 

decides accepted types

CBM_INDT_SHAPE_CHECK 

decides slope suitability

CBM_INDT_DRAW_FOUNDATIONS 

decides if default foundations need to be drawn

CBM_INDT_AUTOSLOPE 

decides allowance of autosloping

Definition at line 391 of file newgrf_callbacks.h.

◆ ObjectCallbackMask

Callback masks for objects.

Enumerator
CBM_OBJ_SLOPE_CHECK 

decides slope suitability

CBM_OBJ_ANIMATION_NEXT_FRAME 

decides next animation frame

CBM_OBJ_ANIMATION_SPEED 

decides animation speed

CBM_OBJ_COLOUR 

decide the colour of the building

CBM_OBJ_FUND_MORE_TEXT 

additional text in fund window

CBM_OBJ_AUTOSLOPE 

decides allowance of autosloping

Definition at line 404 of file newgrf_callbacks.h.

◆ RoadStopCallbackMask

Callback masks for road stops.

Enumerator
CBM_ROAD_STOP_AVAIL 

Availability of road stop in construction window.

CBM_ROAD_STOP_ANIMATION_NEXT_FRAME 

Use a custom next frame callback.

CBM_ROAD_STOP_ANIMATION_SPEED 

Customize the animation speed of the road stop.

Definition at line 327 of file newgrf_callbacks.h.

◆ StationCallbackMask

Callback masks for stations.

Enumerator
CBM_STATION_AVAIL 

Availability of station in construction window.

CBM_STATION_DRAW_TILE_LAYOUT 

Use callback to select a tile layout to use when drawing.

CBM_STATION_ANIMATION_NEXT_FRAME 

Use a custom next frame callback.

CBM_STATION_ANIMATION_SPEED 

Customize the animation speed of the station.

CBM_STATION_SLOPE_CHECK 

Check slope of new station tiles.

Definition at line 316 of file newgrf_callbacks.h.

◆ 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.

Variable Documentation

◆ CALLBACK_FAILED

const uint CALLBACK_FAILED = 0xFFFF
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().

◆ CALLBACK_HOUSEPRODCARGO_END

const uint CALLBACK_HOUSEPRODCARGO_END = 0x20FF
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().