author | peter1138 |
Sun, 03 Aug 2008 17:35:08 +0000 | |
changeset 9834 | 7474149531c1 |
parent 9111 | 48ce04029fe4 |
child 10207 | c291a21b304e |
permissions | -rw-r--r-- |
2186 | 1 |
/* $Id$ */ |
2 |
||
9111
48ce04029fe4
(svn r12971) -Documentation: add @file in files that missed them and add something more than whitespace as description of files that don't have a description.
rubidium
parents:
9021
diff
changeset
|
3 |
/** @file newgrf_callbacks.h Callbacks that NewGRFs could implement. */ |
6413
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
4 |
|
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
|
5 |
#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
|
6 |
#define NEWGRF_CALLBACKS_H |
0 | 7 |
|
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
8 |
/** |
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
9 |
* 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
|
10 |
* 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
|
11 |
* 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
|
12 |
* industry, etc. |
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
13 |
* Names are formatted as CBID_<CLASS>_<CALLBACK> |
7600
f885804de706
(svn r11127) -Fix: truncate the result of 8 bits callbacks.
rubidium
parents:
7582
diff
changeset
|
14 |
* |
f885804de706
(svn r11127) -Fix: truncate the result of 8 bits callbacks.
rubidium
parents:
7582
diff
changeset
|
15 |
* @note Do not forget to add 15 bits callbacks to the switch in |
f885804de706
(svn r11127) -Fix: truncate the result of 8 bits callbacks.
rubidium
parents:
7582
diff
changeset
|
16 |
* newgrf_spritegroup.cpp (search for "15 bits callback"). |
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
17 |
*/ |
1883
ad68cd0a0a25
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents:
1802
diff
changeset
|
18 |
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
|
19 |
/** 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
|
20 |
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
|
21 |
|
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
|
22 |
/** 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
|
23 |
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
|
24 |
|
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
25 |
/* There are no callbacks 0x02 - 0x0F. */ |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
26 |
|
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
|
27 |
/** 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
|
28 |
* @todo : interpret the rest of the result, aka "visual effects". */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
29 |
CBID_TRAIN_WAGON_POWER = 0x10, // 8 bit callback |
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 |
/** 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
|
32 |
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
|
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 the amount of cargo to load per unit of time when using gradual loading. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
35 |
CBID_VEHICLE_LOAD_AMOUNT = 0x12, // 8 bit callback |
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 |
/** Determine whether a newstation should be made available to build. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
38 |
CBID_STATION_AVAILABILITY = 0x13, // 8 bit callback |
6413
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
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 |
/** 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
|
41 |
CBID_STATION_SPRITE_LAYOUT = 0x14, |
6359
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
42 |
|
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
|
43 |
/** 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
|
44 |
* the cargo we are refitting to, returns the new cargo capacity. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
45 |
CBID_VEHICLE_REFIT_CAPACITY = 0x15, // 15 bit callback |
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
|
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 |
/** Builds articulated engines for trains and RVs. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
48 |
CBID_VEHICLE_ARTIC_ENGINE = 0x16, // 8 bit callback |
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
|
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 |
/** Determine whether the house can be built on the specified tile. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
51 |
CBID_HOUSE_ALLOW_CONSTRUCTION = 0x17, // 8 bit callback |
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
|
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 |
/** AI construction/purchase selection */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
54 |
CBID_GENERIC_AI_PURCHASE_SELECTION = 0x18, // 8 bit callback, not implemented |
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
|
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 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
|
57 |
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
|
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 |
/** Determine the next animation frame for a house. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
60 |
CBID_HOUSE_ANIMATION_NEXT_FRAME = 0x1A, // 15 bit callback |
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
|
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 for periodically starting or stopping the animation. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
63 |
CBID_HOUSE_ANIMATION_START_STOP = 0x1B, // 15 bit callback |
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
|
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 |
/** Called whenever the construction state of a house changes. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
66 |
CBID_HOUSE_CONSTRUCTION_STATE_CHANGE = 0x1C, // 15 bit callback |
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
|
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 |
/** 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
|
69 |
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
|
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 determine the colour of a town building. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
72 |
CBID_HOUSE_COLOUR = 0x1E, // 15 bit callback |
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
|
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 decide how much cargo a town building can accept. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
75 |
CBID_HOUSE_CARGO_ACCEPTANCE = 0x1F, // 15 bit callback |
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
|
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 to indicate how long the current animation frame should last. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
78 |
CBID_HOUSE_ANIMATION_SPEED = 0x20, // 8 bit callback |
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
|
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 periodically to determine if a house should be destroyed. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
81 |
CBID_HOUSE_DESTRUCTION = 0x21, // 8 bit callback |
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 |
/** Called to determine if the given industry type is available */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
84 |
CBID_INDUSTRY_AVAILABLE = 0x22, // 15 bit callback |
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
|
85 |
|
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 |
/** 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
|
87 |
* 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
|
88 |
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
|
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 when building a station to customize the tile layout */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
91 |
CBID_STATION_TILE_LAYOUT = 0x24, // 15 bit callback |
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 for periodically starting or stopping the animation. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
94 |
CBID_INDTILE_ANIM_START_STOP = 0x25, // 15 bit callback |
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 determine industry tile next animation frame. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
97 |
CBID_INDTILE_ANIM_NEXT_FRAME = 0x26, // 15 bit callback |
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 indicate how long the current animation frame should last. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
100 |
CBID_INDTILE_ANIMATION_SPEED = 0x27, // 8 bit callback |
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
|
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 to determine if the given industry can be built on specific area. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
103 |
CBID_INDUSTRY_LOCATION = 0x28, // 15 bit callback |
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
|
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 on production changes, so it can be adjusted. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
106 |
CBID_INDUSTRY_PRODUCTION_CHANGE = 0x29, // 15 bit callback |
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
|
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 determine which cargoes a town building should accept. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
109 |
CBID_HOUSE_ACCEPT_CARGO = 0x2A, // 15 bit callback |
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
|
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 query the cargo acceptance of the industry tile */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
112 |
CBID_INDTILE_CARGO_ACCEPTANCE = 0x2B, // 15 bit callback |
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
|
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 which cargoes an industry should accept. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
115 |
CBID_INDTILE_ACCEPT_CARGO = 0x2C, // 15 bit callback |
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
|
116 |
|
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 |
/** 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
|
118 |
* instead of the default livery. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
119 |
CBID_VEHICLE_COLOUR_MAPPING = 0x2D, // 15 bit callback |
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
|
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 how much cargo a town building produces. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
122 |
CBID_HOUSE_PRODUCE_CARGO = 0x2E, // 15 bit callback |
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
|
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 if the given industry tile can be built on specific tile. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
125 |
CBID_INDTILE_SHAPE_CHECK = 0x2F, // 15 bit callback |
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
|
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 to determine the type (if any) of foundation to draw for industry tile. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
128 |
CBID_INDUSTRY_DRAW_FOUNDATIONS = 0x30, // 15 bit callback |
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
|
129 |
|
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 |
/** 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
|
131 |
* used for preventing a vehicle from leaving the depot. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
132 |
CBID_VEHICLE_START_STOP_CHECK = 0x31, // 15 bit callback, but 0xFF test is done with 8 bit |
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
|
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 for every vehicle every 32 days (not all on same date though). */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
135 |
CBID_VEHICLE_32DAY_CALLBACK = 0x32, // 2 bit callback |
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
|
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 |
/** Called to play a special sound effect */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
138 |
CBID_VEHICLE_SOUND_EFFECT = 0x33, // 15 bit callback |
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
|
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 |
/** Return the vehicles this given vehicle can be "upgraded" to. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
141 |
CBID_VEHICLE_AUTOREPLACE_SELECTION = 0x34, // 15 bit callback |
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
|
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 monthly on production changes, so it can be adjusted more frequently */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
144 |
CBID_INDUSTRY_MONTHLYPROD_CHANGE = 0x35, // 15 bit callback |
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
|
145 |
|
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 |
/** 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
|
147 |
* specifies the property index, as used in Action 0, to change. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
148 |
CBID_VEHICLE_MODIFY_PROPERTY = 0x36, // 8/15 bit depends on queried property |
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
|
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 text to display after cargo name */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
151 |
CBID_INDUSTRY_CARGO_SUFFIX = 0x37, // 15 bit callback, but 0xFF test is done with 8 bit |
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 determine more text in the fund industry window */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
154 |
CBID_INDUSTRY_FUND_MORE_TEXT = 0x38, // 15 bit callback |
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
|
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 calculate the income of delivered cargo */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
157 |
CBID_CARGO_PROFIT_CALC = 0x39, // 15 bit callback |
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
|
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 more text in the industry window */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
160 |
CBID_INDUSTRY_WINDOW_MORE_TEXT = 0x3A, // 15 bit callback |
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
|
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 industry special effects */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
163 |
CBID_INDUSTRY_SPECIAL_EFFECT = 0x3B, // 15 bit callback |
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 industry can alter the ground below industry tile */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
166 |
CBID_INDUSTRY_AUTOSLOPE = 0x3C, // 15 bit callback |
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
|
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 if the industry can still accept or refuse more cargo arrival */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
169 |
CBID_INDUSTRY_REFUSE_CARGO = 0x3D, // 15 bit callback |
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
|
170 |
|
7791
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
171 |
/* There are no callbacks 0x3E - 0x13F */ |
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
172 |
|
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
173 |
/** Called for periodically starting or stopping the animation. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
174 |
CBID_STATION_ANIM_START_STOP = 0x140, // 15 bit callback |
7791
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
175 |
|
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
176 |
/** Called to determine station tile next animation frame. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
177 |
CBID_STATION_ANIM_NEXT_FRAME = 0x141, // 15 bit callback |
7791
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
178 |
|
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
179 |
/** Called to indicate how long the current animation frame should last. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
180 |
CBID_STATION_ANIMATION_SPEED = 0x142, // 8 bit callback |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
181 |
|
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
|
182 |
/** Called to determine whether a town building can be destroyed. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
183 |
CBID_HOUSE_DENY_DESTRUCTION = 0x143, // 15 bit callback |
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
|
184 |
|
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
|
185 |
/** Select an ambient sound to play for a given type of tile. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
186 |
CBID_SOUNDS_AMBIENT_EFFECT = 0x144, // 15 bit callback, not implemented |
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
|
187 |
|
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
|
188 |
/** Called to calculate part of a station rating. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
189 |
CBID_CARGO_STATION_RATING_CALC = 0x145, // 15 bit callback, not implemented |
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
|
190 |
|
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
|
191 |
/** Allow signal sprites to be replaced dynamically. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
192 |
CBID_NEW_SIGNALS_SPRITE_DRAW = 0x146, // 15 bit callback, not implemented |
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
|
193 |
|
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
|
194 |
/** Add an offset to the default sprite numbers to show another sprite. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
195 |
CBID_CANALS_SPRITE_OFFSET = 0x147, // 15 bit callback, not implemented |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
196 |
|
7791
6d0d9804ef67
(svn r11341) -Codechange: add missing callback ID enums, add stub for house property 20 and reorder unimplemented action 0 properties
glx
parents:
7650
diff
changeset
|
197 |
/** Called when a cargo type specified in property 20 is accepted. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
198 |
CBID_HOUSE_WATCHED_CARGO_ACCEPTED = 0x148, // 15 bit callback, not implemented |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
199 |
|
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
200 |
/** Callback done for each tile of a station to check the slope. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
201 |
CBID_STATION_LAND_SLOPE_CHECK = 0x149, // 15 bit callback, not implemented |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
202 |
|
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
203 |
/** Called to determine the color of an industry. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
204 |
CBID_INDUSTRY_DECIDE_COLOUR = 0x14A, // 4 bit callback |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
205 |
|
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
206 |
/** Customize the input cargo types of a newly build industry. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
207 |
CBID_INDUSTRY_INPUT_CARGO_TYPES = 0x14B, // 8 bit callback |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
208 |
|
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
209 |
/** Customize the output cargo types of a newly build industry. */ |
9021
02ce84bd2368
(svn r12820) -Documentation: Mark callbacks as 8 or 15 bit in 'newgrf_callbacks.h'.
frosch
parents:
9003
diff
changeset
|
210 |
CBID_INDUSTRY_OUTPUT_CARGO_TYPES = 0x14C, // 8 bit callback |
1895
0d499b71a782
(svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
hackykid
parents:
1883
diff
changeset
|
211 |
}; |
0d499b71a782
(svn r2401) - Fix: [newgrf] Finish up callback mechanism, implement 'refit capacity' callback slightly more correct.
hackykid
parents:
1883
diff
changeset
|
212 |
|
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
213 |
/** |
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
214 |
* 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
|
215 |
* 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
|
216 |
*/ |
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
217 |
enum VehicleCallbackMask { |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
218 |
CBM_TRAIN_WAGON_POWER = 0, ///< Powered wagons (trains only) |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
219 |
CBM_VEHICLE_LENGTH = 1, ///< Vehicle length (trains and road vehicles) |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
220 |
CBM_VEHICLE_LOAD_AMOUNT = 2, ///< Load amount |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
221 |
CBM_VEHICLE_REFIT_CAPACITY = 3, ///< Cargo capacity after refit |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
222 |
CBM_VEHICLE_ARTIC_ENGINE = 4, ///< Add articulated engines (trains only) |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
223 |
CBM_VEHICLE_CARGO_SUFFIX = 5, ///< Show suffix after cargo name |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
224 |
CBM_VEHICLE_COLOUR_REMAP = 6, ///< Change colour mapping of vehicle |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
225 |
CBM_VEHICLE_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
|
226 |
}; |
ad68cd0a0a25
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents:
1802
diff
changeset
|
227 |
|
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
228 |
/** |
3505
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
229 |
* Callback masks for stations. |
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
230 |
*/ |
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
231 |
enum StationCallbackMask { |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
232 |
CBM_STATION_AVAIL = 0, ///< Availability of station in construction window |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
233 |
CBM_STATION_SPRITE_LAYOUT = 1, ///< Use callback to select a sprite layout to use |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
234 |
CBM_STATION_ANIMATION_NEXT_FRAME = 2, ///< Use a custom next frame callback |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
235 |
CBM_STATION_ANIMATION_SPEED = 3, ///< Customize the animation speed of the station |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
236 |
CBM_STATION_SLOPE_CHECK = 4, ///< Check slope of new station tiles |
3505
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
237 |
}; |
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
238 |
|
091f0285df7d
(svn r4356) - NewGRF: Load more newstation properties.
peter1138
parents:
3007
diff
changeset
|
239 |
/** |
6332
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
240 |
* Callback masks for houses. |
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
241 |
*/ |
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
242 |
enum HouseCallbackMask { |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
243 |
CBM_HOUSE_ALLOW_CONSTRUCTION = 0, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
244 |
CBM_HOUSE_ANIMATION_NEXT_FRAME = 1, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
245 |
CBM_HOUSE_ANIMATION_START_STOP = 2, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
246 |
CBM_HOUSE_CONSTRUCTION_STATE_CHANGE = 3, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
247 |
CBM_HOUSE_COLOUR = 4, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
248 |
CBM_HOUSE_CARGO_ACCEPTANCE = 5, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
249 |
CBM_HOUSE_ANIMATION_SPEED = 6, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
250 |
CBM_HOUSE_DESTRUCTION = 7, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
251 |
CBM_HOUSE_ACCEPT_CARGO = 8, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
252 |
CBM_HOUSE_PRODUCE_CARGO = 9, |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
253 |
CBM_HOUSE_DENY_DESTRUCTION = 10, |
6332
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
254 |
}; |
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
255 |
|
f3f436dcd7d0
(svn r9315) -Merge: The newhouses branch. With this merge comes almost complete support for
maedhros
parents:
6310
diff
changeset
|
256 |
/** |
6359
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
257 |
* Callback masks for cargos. |
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
258 |
*/ |
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
259 |
enum CargoCallbackMask { |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
260 |
CBM_CARGO_PROFIT_CALC = 0, ///< custom profit calculation |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
261 |
CBM_CARGO_STATION_RATING_CALC = 1, ///< custom station rating for this cargo type |
6359
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
262 |
}; |
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
263 |
|
8527262c4cf8
(svn r9411) -Codechange: Add support for loading of newcargo data.
peter1138
parents:
6332
diff
changeset
|
264 |
/** |
6413
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
265 |
* 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
|
266 |
*/ |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
267 |
enum IndustryCallbackMask { |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
268 |
CBM_IND_AVAILABLE = 0, ///< industry availability callback |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
269 |
CBM_IND_PRODUCTION_CARGO_ARRIVAL = 1, ///< call production callback when cargo arrives at the industry |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
270 |
CBM_IND_PRODUCTION_256_TICKS = 2, ///< call production callback every 256 ticks |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
271 |
CBM_IND_LOCATION = 3, ///< check industry construction on given area |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
272 |
CBM_IND_PRODUCTION_CHANGE = 4, ///< controls random production change |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
273 |
CBM_IND_MONTHLYPROD_CHANGE = 5, ///< controls monthly random production change |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
274 |
CBM_IND_CARGO_SUFFIX = 6, ///< cargo sub-type display |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
275 |
CBM_IND_FUND_MORE_TEXT = 7, ///< additional text in fund window |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
276 |
CBM_IND_WINDOW_MORE_TEXT = 8, ///< additional text in industry window |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
277 |
CBM_IND_SPECIAL_EFFECT = 9, ///< control special effects |
6413
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
278 |
CBM_IND_REFUSE_CARGO = 10, ///< option out of accepting cargo |
7642
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
279 |
CBM_IND_DECIDE_COLOUR = 11, ///< give a custom colour to newly build industries |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
280 |
CBM_IND_INPUT_CARGO_TYPES = 12, ///< customize the cargos the industry requires |
535e5d93ffb1
(svn r11173) -Codechange: rename some callback enums so they are more uniform.
rubidium
parents:
7615
diff
changeset
|
281 |
CBM_IND_OUTPUT_CARGO_TYPES = 13, ///< customize the cargos the industry produces |
6413
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
282 |
}; |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
283 |
|
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
284 |
/** |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
285 |
* 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
|
286 |
*/ |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
287 |
enum IndustryTileCallbackMask { |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
288 |
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
|
289 |
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
|
290 |
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
|
291 |
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
|
292 |
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
|
293 |
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
|
294 |
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
|
295 |
}; |
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
296 |
|
c3e23d3a4ae3
(svn r9549) -Codechange: Add definition of callbacks and callback masks for both industries and industry tiles
belugas
parents:
6359
diff
changeset
|
297 |
/** |
8287
77eed374cc00
(svn r11851) -Codechange: A few magic numbers removal, plus a little code style
belugas
parents:
7803
diff
changeset
|
298 |
* Different values for Callback result evaluations |
3007
5c0d90264d47
(svn r3587) - NewGRF: Rename Callback IDs to include their "class"
peter1138
parents:
2982
diff
changeset
|
299 |
*/ |
1883
ad68cd0a0a25
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents:
1802
diff
changeset
|
300 |
enum { |
8287
77eed374cc00
(svn r11851) -Codechange: A few magic numbers removal, plus a little code style
belugas
parents:
7803
diff
changeset
|
301 |
CALLBACK_FAILED = 0xFFFF, ///< Result of a failed callback. |
77eed374cc00
(svn r11851) -Codechange: A few magic numbers removal, plus a little code style
belugas
parents:
7803
diff
changeset
|
302 |
CALLBACK_HOUSEPRODCARGO_END = 0x20FF, ///< Sentinel indicating that the loop for CBID_HOUSE_PRODUCE_CARGO has ended |
1883
ad68cd0a0a25
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents:
1802
diff
changeset
|
303 |
}; |
ad68cd0a0a25
(svn r2389) - Feature: [newgrf] Implement the mechanism for handling newgrf callbacks.
hackykid
parents:
1802
diff
changeset
|
304 |
|
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
|
305 |
#endif /* NEWGRF_CALLBACKS_H */ |