OpenTTD
Enumerations | Functions | Variables
newgrf_generic.h File Reference

Functions related to generic callbacks. More...

#include "industry_type.h"
#include "newgrf.h"
#include "tile_type.h"

Go to the source code of this file.

Enumerations

enum  AIConstructionEvent {
  AICE_TRAIN_CHECK_RAIL_ENGINE = 0x00, AICE_TRAIN_CHECK_ELRAIL_ENGINE = 0x01, AICE_TRAIN_CHECK_MONORAIL_ENGINE = 0x02, AICE_TRAIN_CHECK_MAGLEV_ENGINE = 0x03,
  AICE_TRAIN_GET_RAIL_WAGON = 0x08, AICE_TRAIN_GET_ELRAIL_WAGON = 0x09, AICE_TRAIN_GET_MONORAIL_WAGON = 0x0A, AICE_TRAIN_GET_MAGLEV_WAGON = 0x0B,
  AICE_TRAIN_GET_RAILTYPE = 0x0F, AICE_ROAD_CHECK_ENGINE = 0x00, AICE_ROAD_GET_FIRST_ENGINE = 0x01, AICE_ROAD_GET_NUMBER_ENGINES = 0x02,
  AICE_SHIP_CHECK_ENGINE = 0x00, AICE_SHIP_GET_FIRST_ENGINE = 0x01, AICE_SHIP_GET_NUMBER_ENGINES = 0x02, AICE_AIRCRAFT_CHECK_ENGINE = 0x00,
  AICE_STATION_GET_STATION_ID = 0x00
}
 AI events for asking the NewGRF for information. More...
 

Functions

void ResetGenericCallbacks ()
 Reset all generic feature callback sprite groups.
 
void AddGenericCallback (uint8 feature, const GRFFile *file, const SpriteGroup *group)
 Add a generic feature callback sprite group to the appropriate feature list. More...
 
uint16 GetAiPurchaseCallbackResult (uint8 feature, CargoID cargo_type, uint8 default_selection, IndustryType src_industry, IndustryType dst_industry, uint8 distance, AIConstructionEvent event, uint8 count, uint8 station_size, const GRFFile **file)
 'Execute' an AI purchase selection callback More...
 
static void AmbientSoundEffect (TileIndex tile)
 Play an ambient sound effect for an empty tile. More...
 

Variables

static const IndustryType IT_AI_UNKNOWN = 0xFE
 The AI has no specific industry in mind.
 
static const IndustryType IT_AI_TOWN = 0xFF
 The AI actually wants to transport to/from a town, not an industry.
 

Detailed Description

Functions related to generic callbacks.

Definition in file newgrf_generic.h.

Enumeration Type Documentation

◆ AIConstructionEvent

AI events for asking the NewGRF for information.

Enumerator
AICE_TRAIN_CHECK_RAIL_ENGINE 

Check if we should build an engine.

AICE_TRAIN_CHECK_ELRAIL_ENGINE 

Check if we should build an engine.

AICE_TRAIN_CHECK_MONORAIL_ENGINE 

Check if we should build an engine.

AICE_TRAIN_CHECK_MAGLEV_ENGINE 

Check if we should build an engine.

AICE_TRAIN_GET_RAIL_WAGON 

Check if we should build an engine.

AICE_TRAIN_GET_ELRAIL_WAGON 

Check if we should build an engine.

AICE_TRAIN_GET_MONORAIL_WAGON 

Check if we should build an engine.

AICE_TRAIN_GET_MAGLEV_WAGON 

Check if we should build an engine.

AICE_TRAIN_GET_RAILTYPE 

Check if we should build a railtype.

AICE_ROAD_CHECK_ENGINE 

Check if we should build an engine.

AICE_ROAD_GET_FIRST_ENGINE 

Unused, we check all.

AICE_ROAD_GET_NUMBER_ENGINES 

Unused, we check all.

AICE_SHIP_CHECK_ENGINE 

Check if we should build an engine.

AICE_SHIP_GET_FIRST_ENGINE 

Unused, we check all.

AICE_SHIP_GET_NUMBER_ENGINES 

Unused, we check all.

AICE_AIRCRAFT_CHECK_ENGINE 

Check if we should build an engine.

AICE_STATION_GET_STATION_ID 

Get a station ID to build.

Definition at line 22 of file newgrf_generic.h.

Function Documentation

◆ AddGenericCallback()

void AddGenericCallback ( uint8  feature,
const GRFFile file,
const SpriteGroup group 
)

Add a generic feature callback sprite group to the appropriate feature list.

Parameters
featureThe feature for the callback.
fileThe GRF of the callback.
groupThe sprite group of the callback.

Definition at line 101 of file newgrf_generic.cpp.

References lengthof.

◆ AmbientSoundEffect()

static void AmbientSoundEffect ( TileIndex  tile)
inlinestatic

Play an ambient sound effect for an empty tile.

Definition at line 55 of file newgrf_generic.h.

References HasGrfMiscBit().

Referenced by TileLoop_Water().

◆ GetAiPurchaseCallbackResult()

uint16 GetAiPurchaseCallbackResult ( uint8  feature,
CargoID  cargo_type,
uint8  default_selection,
IndustryType  src_industry,
IndustryType  dst_industry,
uint8  distance,
AIConstructionEvent  event,
uint8  count,
uint8  station_size,
const GRFFile **  file 
)

'Execute' an AI purchase selection callback

Parameters
featureGRF Feature to call callback for.
cargo_typeCargotype 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)
[out]fileOptionally returns the GRFFile which made the final decision for the callback result. May be NULL if not required.
Returns
callback value if successful or CALLBACK_FAILED

Definition at line 209 of file newgrf_generic.cpp.

References ResolverObject::callback, CALLBACK_FAILED, CBID_GENERIC_AI_PURCHASE_SELECTION, GB(), GetGenericCallbackResult(), GetIndustrySpec(), IndustrySpec::grf_prop, INVALID_INDUSTRYTYPE, IT_AI_TOWN, and IT_AI_UNKNOWN.