src/newgrf_callbacks.h
author rubidium
Fri, 14 Sep 2007 22:27:40 +0000
changeset 7582 80c8517b08d1
parent 7327 d810677fb909
child 7600 f885804de706
permissions -rw-r--r--
(svn r11107) -Feature: some tool so one can still build tunnels under rails (and other structures) when the owner of the structure built it on foundations and if you have enough "empty" space ofcourse. One could use the tool for some other construction needs too. Patch by frosch.
2186
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2129
diff changeset
     1
/* $Id$ */
db48cf29b983 (svn r2701) Insert Id tags into all source files
tron
parents: 2129
diff changeset
     2
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
     3
/** @file newgrf_callbacks.h
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
     4
 */
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
     5
2982
eb7f50dcb249 (svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them
peter1138
parents: 2971
diff changeset
     6
#ifndef NEWGRF_CALLBACKS_H
eb7f50dcb249 (svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them
peter1138
parents: 2971
diff changeset
     7
#define NEWGRF_CALLBACKS_H
0
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     8
29654efe3188 (svn r1) Import of revision 975 of old (crashed) SVN
truelight
parents:
diff changeset
     9
3007
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
    10
/**
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
    11
 * List of implemented NewGRF callbacks.
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    12
 * Most of these callbacks are only triggered when the corresponding
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    13
 * bit is set in the callback flags/trigger for a vehicle, house,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    14
 * industry, etc.
3007
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
    15
 * Names are formatted as CBID_<CLASS>_<CALLBACK>
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
    16
 */
1883
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
    17
enum CallbackID {
7327
d810677fb909 (svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents: 7283
diff changeset
    18
	/** Set when using the callback resolve system, but not to resolve a callback. */
d810677fb909 (svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents: 7283
diff changeset
    19
	CBID_NO_CALLBACK                     = 0x00,
d810677fb909 (svn r10690) -Codechange: use the enum that describes all callback IDs in favor of "just" using an untyped integer.
rubidium
parents: 7283
diff changeset
    20
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    21
	/** Set when calling a randomizing trigger (almost undocumented). */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    22
	CBID_RANDOM_TRIGGER                  = 0x01,
4244
d40c73c55357 (svn r5822) - NewGRF: add support for callback 31, vehicle start/stop check. This allows a set to disallow a vehicle from being started, i.e. to not be able to leave the depot. This is almost a partner to callback 1D.
peter1138
parents: 3754
diff changeset
    23
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    24
	/** Powered wagons, if the result is lower as 0x40 then the wagon is powered
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    25
	 * @todo : interpret the rest of the result, aka "visual effects". */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    26
	CBID_TRAIN_WAGON_POWER               = 0x10,
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
    27
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    28
	/** Vehicle length, returns the amount of 1/8's the vehicle is shorter for trains and RVs. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    29
	CBID_VEHICLE_LENGTH                  = 0x11,
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
    30
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    31
	/** Determine the amount of cargo to load per unit of time when using gradual loading. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    32
	CBID_VEHICLE_LOAD_AMOUNT             = 0x12,
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
    33
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    34
	/** Determine whether a newstation should be made available to build. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    35
	CBID_STATION_AVAILABILITY            = 0x13,
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
    36
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    37
	/** Choose a sprite layout to draw, instead of the standard 0-7 range. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    38
	CBID_STATION_SPRITE_LAYOUT           = 0x14,
6359
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
    39
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    40
	/** Refit capacity, the passed vehicle needs to have its ->cargo_type set to
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    41
	 * the cargo we are refitting to, returns the new cargo capacity. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    42
	CBID_VEHICLE_REFIT_CAPACITY          = 0x15,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    43
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    44
	/** Builds articulated engines for trains and RVs. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    45
	CBID_VEHICLE_ARTIC_ENGINE            = 0x16,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    46
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    47
	/** Determine whether the house can be built on the specified tile. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    48
	CBID_HOUSE_ALLOW_CONSTRUCTION        = 0x17,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    49
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    50
	/** AI construction/purchase selection */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    51
	CBID_GENERIC_AI_PURCHASE_SELECTION   = 0x18, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    52
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    53
	/** Determine the cargo "suffixes" for each refit possibility of a cargo. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    54
	CBID_VEHICLE_CARGO_SUFFIX            = 0x19,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    55
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    56
	/** Determine the next animation frame for a house. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    57
	CBID_HOUSE_ANIMATION_NEXT_FRAME      = 0x1A,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    58
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    59
	/** Called for periodically starting or stopping the animation. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    60
	CBID_HOUSE_ANIMATION_START_STOP      = 0x1B,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    61
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    62
	/** Called whenever the construction state of a house changes. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    63
	CBID_HOUSE_CONSTRUCTION_STATE_CHANGE = 0x1C,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    64
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    65
	/** Determine whether a wagon can be attached to an already existing train. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    66
	CBID_TRAIN_ALLOW_WAGON_ATTACH        = 0x1D,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    67
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    68
	/** Called to determine the colour of a town building. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    69
	CBID_BUILDING_COLOUR                 = 0x1E,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    70
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    71
	/** Called to decide how much cargo a town building can accept. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    72
	CBID_HOUSE_CARGO_ACCEPTANCE          = 0x1F,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    73
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    74
	/** Called to indicate how long the current animation frame should last. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    75
	CBID_HOUSE_ANIMATION_SPEED           = 0x20,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    76
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    77
	/** Called periodically to determine if a house should be destroyed. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    78
	CBID_HOUSE_DESTRUCTION               = 0x21,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    79
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    80
	/** Called to determine if the given industry type is available */
7283
510097a30c0c (svn r10622) -Feature: Introduction of the CBID_INDUSTRY_AVAILABLE's handling, in fund industry window.
belugas
parents: 7229
diff changeset
    81
	CBID_INDUSTRY_AVAILABLE              = 0x22,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    82
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    83
	/** This callback is called from vehicle purchase lists. It returns a value to be
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    84
	 * used as a custom string ID in the 0xD000 range. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    85
	CBID_VEHICLE_ADDITIONAL_TEXT         = 0x23,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    86
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    87
	/** Called when building a station to customize the tile layout */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    88
	CBID_STATION_TILE_LAYOUT             = 0x24,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    89
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    90
	/** Called for periodically starting or stopping the animation. */
7229
a5f262f6df1b (svn r10508) -Codechange: allow customizable animation schemes for industries.
rubidium
parents: 7224
diff changeset
    91
	CBID_INDTILE_ANIM_START_STOP         = 0x25,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    92
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    93
	/** Called to determine industry tile next animation frame. */
7229
a5f262f6df1b (svn r10508) -Codechange: allow customizable animation schemes for industries.
rubidium
parents: 7224
diff changeset
    94
	CBID_INDTILE_ANIM_NEXT_FRAME         = 0x26,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    95
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    96
	/** Called to indicate how long the current animation frame should last. */
7229
a5f262f6df1b (svn r10508) -Codechange: allow customizable animation schemes for industries.
rubidium
parents: 7224
diff changeset
    97
	CBID_INDTILE_ANIMATION_SPEED         = 0x27,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    98
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
    99
	/** Called to determine if the given industry can be built on specific area. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   100
	CBID_INDUSTRY_LOCATION               = 0x28,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   101
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   102
	/** Called on production changes, so it can be adjusted. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   103
	CBID_INDUSTRY_PRODUCTION_CHANGE      = 0x29, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   104
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   105
	/** Called to determine which cargoes a town building should accept. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   106
	CBID_HOUSE_ACCEPT_CARGO              = 0x2A,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   107
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   108
	/** Called to query the cargo acceptance of the industry tile */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   109
	CBID_INDTILE_CARGO_ACCEPTANCE        = 0x2B,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   110
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   111
	/** Called to determine which cargoes an industry should accept. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   112
	CBID_INDTILE_ACCEPT_CARGO            = 0x2C,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   113
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   114
	/** Called to determine if a specific colour map should be used for a vehicle
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   115
	 * instead of the default livery. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   116
	CBID_VEHICLE_COLOUR_MAPPING          = 0x2D,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   117
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   118
	/** Called to determine how much cargo a town building produces. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   119
	CBID_HOUSE_PRODUCE_CARGO             = 0x2E,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   120
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   121
	/** Called to determine if the given industry tile can be built on specific tile. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   122
	CBID_INDTILE_SHAPE_CHECK             = 0x2F,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   123
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   124
	/** Called to determine the type (if any) of foundation to draw for industry tile. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   125
	CBID_INDUSTRY_DRAW_FOUNDATIONS       = 0x30,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   126
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   127
	/** Called when the player (or AI) tries to start or stop a vehicle. Mainly
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   128
	 * used for preventing a vehicle from leaving the depot. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   129
	CBID_VEHICLE_START_STOP_CHECK        = 0x31,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   130
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   131
	/** Called for every vehicle every 32 days (not all on same date though). */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   132
	CBID_VEHICLE_32DAY_CALLBACK          = 0x32, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   133
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   134
	/** Called to play a special sound effect */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   135
	CBID_VEHICLE_SOUND_EFFECT            = 0x33,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   136
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   137
	/** Return the vehicles this given vehicle can be "upgraded" to. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   138
	CBID_VEHICLE_AUTOREPLACE_SELECTION   = 0x34,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   139
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   140
	/** Called monthly on production changes, so it can be adjusted more frequently */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   141
	CBID_INDUSTRY_MONTHLYPROD_CHANGE     = 0x35, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   142
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   143
	/** Called to modify various vehicle properties. Callback parameter 1
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   144
	 * specifies the property index, as used in Action 0, to change. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   145
	CBID_VEHICLE_MODIFY_PROPERTY         = 0x36,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   146
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   147
	/** Called to determine text to display after cargo name */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   148
	CBID_INDUSTRY_CARGO_SUFFIX           = 0x37, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   149
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   150
	/** Called to determine more text in the fund industry window */
7224
690dbe7956f0 (svn r10503) -Codechange: Mark Callback CBID_INDUSTRY_FUND_MORE_TEXT (cb38) as implemented.
belugas
parents: 7215
diff changeset
   151
	CBID_INDUSTRY_FUND_MORE_TEXT         = 0x38,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   152
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   153
	/** Called to calculate the income of delivered cargo */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   154
	CBID_CARGO_PROFIT_CALC               = 0x39,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   155
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   156
	/** Called to determine more text in the industry window */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   157
	CBID_INDUSTRY_WINDOW_MORE_TEXT       = 0x3A,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   158
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   159
	/** Called to determine industry special effects */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   160
	CBID_INDUSTRY_SPECIAL_EFFECT         = 0x3B,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   161
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   162
	/** Called to determine if industry can alter the ground below industry tile */
7582
80c8517b08d1 (svn r11107) -Feature: some tool so one can still build tunnels under rails (and other structures) when the owner of the structure built it on foundations and if you have enough "empty" space ofcourse. One could use the tool for some other construction needs too. Patch by frosch.
rubidium
parents: 7327
diff changeset
   163
	CBID_INDUSTRY_AUTOSLOPE              = 0x3C,
7215
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   164
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   165
	/** Called to determine if the industry can still accept or refuse more cargo arrival */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   166
	CBID_INDUSTRY_REFUSE_CARGO           = 0x3D,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   167
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   168
	/** Called to determine whether a town building can be destroyed. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   169
	CBID_HOUSE_DENY_DESTRUCTION          = 0x143,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   170
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   171
	/** Select an ambient sound to play for a given type of tile. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   172
	CBID_SOUNDS_AMBIENT_EFFECT           = 0x144, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   173
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   174
	/** Called to calculate part of a station rating. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   175
	CBID_CARGO_STATION_RATING_CALC       = 0x145,
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   176
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   177
	/** Allow signal sprites to be replaced dynamically. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   178
	CBID_NEW_SIGNALS_SPRITE_DRAW         = 0x146, // not implemented
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   179
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   180
	/** Add an offset to the default sprite numbers to show another sprite. */
7f90af37655d (svn r10493) -Codechange: update some callback ID enums to reflect their changed usage, add a few and update the comments.
rubidium
parents: 7212
diff changeset
   181
	CBID_CANALS_SPRITE_OFFSET            = 0x147, // not implemented
1895
0d499b71a782 (svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
hackykid
parents: 1883
diff changeset
   182
};
0d499b71a782 (svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
hackykid
parents: 1883
diff changeset
   183
3007
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   184
/**
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   185
 * Callback masks for vehicles, indicates which callbacks are used by a vehicle.
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   186
 * Some callbacks are always used and don't have a mask.
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   187
 */
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   188
enum VehicleCallbackMask {
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   189
	CBM_WAGON_POWER    = 0, ///< Powered wagons (trains only)
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   190
	CBM_VEHICLE_LENGTH = 1, ///< Vehicle length (trains only)
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   191
	CBM_LOAD_AMOUNT    = 2, ///< Load amount
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   192
	CBM_REFIT_CAPACITY = 3, ///< Cargo capacity after refit
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   193
	CBM_ARTIC_ENGINE   = 4, ///< Add articulated engines (trains only)
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   194
	CBM_CARGO_SUFFIX   = 5, ///< Show suffix after cargo name
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   195
	CBM_COLOUR_REMAP   = 6, ///< Change colour mapping of vehicle
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   196
	CBM_SOUND_EFFECT   = 7, ///< Vehicle uses custom sound effects
1883
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   197
};
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   198
3007
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   199
/**
3505
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   200
 * Callback masks for stations.
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   201
 */
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   202
enum StationCallbackMask {
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   203
	CBM_STATION_AVAIL = 0, ///< Availability of station in construction window
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   204
	CBM_CUSTOM_LAYOUT = 1, ///< Use callback to select a tile layout to use
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   205
};
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   206
091f0285df7d (svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents: 3007
diff changeset
   207
/**
6332
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   208
 * Callback masks for houses.
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   209
 */
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   210
enum HouseCallbackMask {
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   211
	CBM_HOUSE_ALLOW_CONSTRUCTION  = 0,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   212
	CBM_ANIMATION_NEXT_FRAME      = 1,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   213
	CBM_ANIMATION_START_STOP      = 2,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   214
	CBM_CONSTRUCTION_STATE_CHANGE = 3,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   215
	CBM_BUILDING_COLOUR           = 4,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   216
	CBM_CARGO_ACCEPTANCE          = 5,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   217
	CBM_ANIMATION_SPEED           = 6,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   218
	CBM_HOUSE_DESTRUCTION         = 7,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   219
	CBM_HOUSE_ACCEPT_CARGO        = 8,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   220
	CBM_HOUSE_PRODUCE_CARGO       = 9,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   221
	CBM_HOUSE_DENY_DESTRUCTION    = 10,
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   222
};
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   223
f3f436dcd7d0 (svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents: 6310
diff changeset
   224
/**
6359
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   225
 * Callback masks for cargos.
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   226
 */
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   227
enum CargoCallbackMask {
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   228
	CBM_CARGO_PROFIT_CALC         = 0,
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   229
	CBM_CARGO_STATION_RATING_CALC = 1,
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   230
};
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   231
8527262c4cf8 (svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents: 6332
diff changeset
   232
/**
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   233
 * Callback masks for Industries
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   234
 */
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   235
enum IndustryCallbackMask {
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   236
	CBM_IND_AVAILABLE                 = 0,  ///< industry availability callback
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   237
	CBM_IND_PRODUCTION_CARGO_ARRIVAL  = 1,  ///< call production callback when cargo arrives at the industry
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   238
	CBM_IND_PRODUCTION_256_TICKS      = 2,  ///< call production callback every 256 ticks
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   239
	CBM_IND_LOCATION                  = 3,  ///< check industry construction on given area
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   240
	CBM_IND_PRODUCTION_CHANGE         = 4,  ///< controls random production change
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   241
	CBM_IND_MONTHLYPROD_CHANGE        = 5,  ///< controls monthly random production change
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   242
	CBM_IND_CARGO_SUFFIX              = 6,  ///< cargo sub-type display
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   243
	CBM_IND_FUND_MORE_TEXT            = 7,  ///< additional text in fund window
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   244
	CBM_IND_WINDOW_MORE_TEXT          = 8,  ///< additional text in industry window
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   245
	CBM_IND_SPECIAL_EFFECT            = 9,  ///< control special effects
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   246
	CBM_IND_REFUSE_CARGO              = 10, ///< option out of accepting cargo
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   247
};
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   248
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   249
/**
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   250
 * Callback masks for industry tiles
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   251
 */
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   252
enum IndustryTileCallbackMask {
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   253
	CBM_INDT_ANIM_NEXT_FRAME          = 0,  ///< decides next animation frame
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   254
	CBM_INDT_ANIM_SPEED               = 1,  ///< decides animation speed
7199
e65a28455ee3 (svn r10477) -Codechange: add some callbacks to customise the acceptance of industries.
rubidium
parents: 7198
diff changeset
   255
	CBM_INDT_CARGO_ACCEPTANCE         = 2,  ///< decides amount of cargo acceptance
6413
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   256
	CBM_INDT_ACCEPT_CARGO             = 3,  ///< decides accepted types
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   257
	CBM_INDT_SHAPE_CHECK              = 4,  ///< decides slope suitability
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   258
	CBM_INDT_DRAW_FOUNDATIONS         = 5,  ///< decides if default foundations need to be drawn
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   259
	CBM_INDT_AUTOSLOPE                = 6,  ///< decides allowance of autosloping
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   260
};
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   261
c3e23d3a4ae3 (svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents: 6359
diff changeset
   262
/**
3007
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   263
 * Result of a failed callback.
5c0d90264d47 (svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents: 2982
diff changeset
   264
 */
1883
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   265
enum {
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   266
	CALLBACK_FAILED = 0xFFFF
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   267
};
ad68cd0a0a25 (svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents: 1802
diff changeset
   268
2982
eb7f50dcb249 (svn r3557) - NewGRF: move callback enums to a new file as more than just engines will use them
peter1138
parents: 2971
diff changeset
   269
#endif /* NEWGRF_CALLBACKS_H */