summaryrefslogtreecommitdiff
path: root/include/constants/vars.h
blob: fc3b3263d5b385a9e3021a47ce0755e9a5ebae9c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
#ifndef GUARD_CONSTANTS_VARS_H
#define GUARD_CONSTANTS_VARS_H

#define VAR_0x3F20                 0x3F20

#define VARS_START 0x4000

// temporary vars
// The first 0x10 vars are are temporary--they are cleared every time a map is loaded.
#define VAR_TEMP_0                 0x4000
#define VAR_TEMP_1                 0x4001
#define VAR_TEMP_2                 0x4002
#define VAR_TEMP_3                 0x4003
#define VAR_TEMP_4                 0x4004
#define VAR_TEMP_5                 0x4005
#define VAR_TEMP_6                 0x4006
#define VAR_TEMP_7                 0x4007
#define VAR_TEMP_8                 0x4008
#define VAR_TEMP_9                 0x4009
#define VAR_TEMP_A                 0x400A
#define VAR_TEMP_B                 0x400B
#define VAR_TEMP_C                 0x400C
#define VAR_TEMP_D                 0x400D
#define VAR_TEMP_E                 0x400E
#define VAR_TEMP_F                 0x400F

// object gfx id vars
// These 0x10 vars are used to dynamically control a map object's sprite.
// For example, the rival's sprite id is dynamically set based on the player's gender.
// See VarGetEventObjectGraphicsId().
#define VAR_OBJ_GFX_ID_0           0x4010
#define VAR_OBJ_GFX_ID_1           0x4011
#define VAR_OBJ_GFX_ID_2           0x4012
#define VAR_OBJ_GFX_ID_3           0x4013
#define VAR_OBJ_GFX_ID_4           0x4014
#define VAR_OBJ_GFX_ID_5           0x4015
#define VAR_OBJ_GFX_ID_6           0x4016
#define VAR_OBJ_GFX_ID_7           0x4017
#define VAR_OBJ_GFX_ID_8           0x4018
#define VAR_OBJ_GFX_ID_9           0x4019
#define VAR_OBJ_GFX_ID_A           0x401A
#define VAR_OBJ_GFX_ID_B           0x401B
#define VAR_OBJ_GFX_ID_C           0x401C
#define VAR_OBJ_GFX_ID_D           0x401D
#define VAR_OBJ_GFX_ID_E           0x401E
#define VAR_OBJ_GFX_ID_F           0x401F

// general purpose vars
#define VAR_RECYCLE_GOODS                    0x4020
#define VAR_REPEL_STEP_COUNT                 0x4021
#define VAR_ICE_STEP_COUNT                   0x4022
#define VAR_STARTER_MON                      0x4023 // 0=Treecko, 1=Torchic, 2=Mudkip
#define VAR_MIRAGE_RND_H                     0x4024
#define VAR_MIRAGE_RND_L                     0x4025
#define VAR_SECRET_BASE_MAP                  0x4026
#define VAR_CYCLING_ROAD_RECORD_COLLISIONS   0x4027
#define VAR_CYCLING_ROAD_RECORD_TIME_L       0x4028
#define VAR_CYCLING_ROAD_RECORD_TIME_H       0x4029
#define VAR_HAPPINESS_STEP_COUNTER           0x402A
#define VAR_POISON_STEP_COUNTER              0x402B
#define VAR_RESET_RTC_ENABLE                 0x402C
#define VAR_ENIGMA_BERRY_AVAILABLE           0x402D
#define VAR_0x402E                           0x402E   // Seems to be unused.

#define VAR_FRONTIER_MANIAC_FACILITY         0x402F
#define VAR_FRONTIER_GAMBLER_FACILITY        0x4030
#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F  0x4031
#define VAR_FRONTIER_GAMBLER_AMOUNT_BET      0x4032
#define VAR_FRONTIER_GAMBLER_PLACED_BET_F    0x4033

#define VAR_DEOXYS_ROCK_STEP_COUNT           0x4034
#define VAR_DEOXYS_ROCK_LEVEL                0x4035
#define VAR_STORAGE_UNKNOWN                  0x4036
#define VAR_0x4037                           0x4037
#define VAR_0x4038                           0x4038
#define VAR_0x4039                           0x4039
#define VAR_0x403A                           0x403A
#define VAR_REGICE_STEPS_1                   0x403B
#define VAR_REGICE_STEPS_2                   0x403C
#define VAR_REGICE_STEPS_3                   0x403D
#define VAR_ALTERING_CAVE_WILD_SET           0x403E
#define VAR_0x403F                           0x403F
#define VAR_DAYS                             0x4040
#define VAR_FANCLUB_UNKNOWN_1                0x4041
#define VAR_FANCLUB_UNKNOWN_2                0x4042
#define VAR_DEPT_STORE_FLOOR                 0x4043
#define VAR_0x4044                           0x4044
#define VAR_POKELOT_PRIZE                    0x4045
#define VAR_NATIONAL_DEX                     0x4046
#define VAR_SEEDOT_SIZE_RECORD               0x4047
#define VAR_ASH_GATHER_COUNT                 0x4048
#define VAR_BIRCH_STATE                      0x4049
#define VAR_CRUISE_STEP_COUNT                0x404A
#define VAR_POKELOT_RND1                     0x404B
#define VAR_POKELOT_RND2                     0x404C
#define VAR_0x404D                           0x404D
#define VAR_0x404E                           0x404E
#define VAR_LOTAD_SIZE_RECORD                0x404F
#define VAR_0x4050                           0x4050
#define VAR_ROUTE102_ACCESSIBLE              0x4051
#define VAR_0x4052                           0x4052
#define VAR_LAVARIDGE_RIVAL_STATE            0x4053
#define VAR_CURRENT_SECRET_BASE              0x4054
#define VAR_0x4055                           0x4055
#define VAR_0x4056                           0x4056
#define VAR_PETALBURG_STATE                  0x4057
#define VAR_SLATEPORT_STATE                  0x4058
#define VAR_0x4059                           0x4059
#define VAR_RUSTBORO_STATE                   0x405A
#define VAR_0x405B                           0x405B
#define VAR_0x405C                           0x405C
#define VAR_0x405D                           0x405D
#define VAR_0x405E                           0x405E
#define VAR_0x405F                           0x405F
#define VAR_ROUTE101_STATE                   0x4060
#define VAR_0x4061                           0x4061
#define VAR_0x4062                           0x4062
#define VAR_0x4063                           0x4063
#define VAR_0x4064                           0x4064
#define VAR_0x4065                           0x4065
#define VAR_0x4066                           0x4066
#define VAR_0x4067                           0x4067
#define VAR_0x4068                           0x4068
#define VAR_ROUTE110_STATE                   0x4069
#define VAR_0x406A                           0x406A
#define VAR_0x406B                           0x406B
#define VAR_0x406C                           0x406C
#define VAR_0x406D                           0x406D
#define VAR_0x406E                           0x406E
#define VAR_ROUTE116_STATE                   0x406F
#define VAR_0x4070                           0x4070
#define VAR_ROUTE118_STATE                   0x4071
#define VAR_ROUTE119_STATE                   0x4072
#define VAR_0x4073                           0x4073
#define VAR_ROUTE121_STATE                   0x4074
#define VAR_0x4075                           0x4075
#define VAR_0x4076                           0x4076
#define VAR_0x4077                           0x4077
#define VAR_0x4078                           0x4078
#define VAR_0x4079                           0x4079
#define VAR_0x407A                           0x407A
#define VAR_ROUTE128_STATE                   0x407B
#define VAR_0x407C                           0x407C
#define VAR_0x407D                           0x407D
#define VAR_0x407E                           0x407E
#define VAR_0x407F                           0x407F
#define VAR_0x4080                           0x4080
#define VAR_0x4081                           0x4081
#define VAR_LITTLEROOT_HOUSES_STATE          0x4082
#define VAR_0x4083                           0x4083
#define VAR_BIRCH_LAB_STATE                  0x4084
#define VAR_PETALBURG_GYM_STATE              0x4085
#define VAR_LINK_CONTEST_ROOM_STATE          0x4086
#define VAR_CABLE_CLUB_STATE                 0x4087
#define VAR_CONTEST_LOCATION                 0x4088
#define VAR_0x4089                           0x4089
#define VAR_CONTEST_PRIZE_PICKUP             0x408A
#define VAR_0x408B                           0x408B
#define VAR_LITTLEROOT_HOUSES_STATE_2        0x408C
#define VAR_LITTLEROOT_RIVAL_STATE           0x408D
#define VAR_BOARD_BRINEY_BOAT_ROUTE104_STATE 0x408E
#define VAR_DEVON_CORP_3F_STATE              0x408F
#define VAR_BRINEY_HOUSE_STATE               0x4090
#define VAR_0x4091                           0x4091
#define VAR_LITTLEROOT_INTRO_STATE           0x4092
#define VAR_MAUVILLE_GYM_STATE               0x4093
#define VAR_LILYCOVE_MUSEUM_2F_STATE         0x4094
#define VAR_LILYCOVE_FAN_CLUB_STATE          0x4095
#define VAR_BRINEY_LOCATION                  0x4096
#define VAR_0x4097                           0x4097
#define VAR_PETALBURG_WOODS_STATE            0x4098
#define VAR_LILYCOVE_CONTEST_LOBBY_STATE     0x4099
#define VAR_RUSTURF_TUNNEL_STATE             0x409A
#define VAR_0x409B                           0x409B
#define VAR_ELITE_4_STATE                    0x409C
#define VAR_0x409D                           0x409D
#define VAR_0x409E                           0x409E
#define VAR_0x409F                           0x409F
#define VAR_SLATEPORT_HARBOR_STATE           0x40A0
#define VAR_0x40A1                           0x40A1
#define VAR_SEAFLOOR_CAVERN_STATE            0x40A2
#define VAR_CABLE_CAR_STATION_STATE          0x40A3
#define VAR_SAFARI_ZONE_STATE                0x40A4
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_1     0x40A5
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_2     0x40A6
#define VAR_TRICK_HOUSE_ENTRANCE_STATE_3     0x40A7
#define VAR_0x40A8                           0x40A8
#define VAR_CYCLING_CHALLENGE_STATE          0x40A9
#define VAR_SLATEPORT_MUSEUM_1F_STATE        0x40AA
#define VAR_TRICK_HOUSE_PUZZLE_1_STATE       0x40AB
#define VAR_TRICK_HOUSE_PUZZLE_2_STATE       0x40AC
#define VAR_TRICK_HOUSE_PUZZLE_3_STATE       0x40AD
#define VAR_TRICK_HOUSE_PUZZLE_4_STATE       0x40AE
#define VAR_TRICK_HOUSE_PUZZLE_5_STATE       0x40AF
#define VAR_TRICK_HOUSE_PUZZLE_6_STATE       0x40B0
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE       0x40B1
#define VAR_TRICK_HOUSE_PUZZLE_8_STATE       0x40B2
#define VAR_WEATHER_INSTITUTE_STATE          0x40B3
#define VAR_PORTHOLE_STATE                   0x40B4
#define VAR_TRICK_HOUSE_STATE                0x40B5  // TODO: needs some further investigation
#define VAR_TRICK_HOUSE_PUZZLE_7_STATE_2     0x40B6
#define VAR_SLATEPORT_FAN_CLUB_STATE         0x40B7
#define VAR_0x40B8                           0x40B8
#define VAR_MT_PYRE_STATE                    0x40B9
#define VAR_NEW_MAUVILLE_STATE               0x40BA
#define VAR_0x40BB                           0x40BB
#define VAR_BRAVO_TRAINER_BATTLE_TOWER_ON    0x40BC
#define VAR_JAGGED_PASS_ASH_WEATHER          0x40BD
#define VAR_GLASS_WORKSHOP_STATE             0x40BE
#define VAR_METEOR_FALLS_STATE               0x40BF
#define VAR_SOOTOPOLIS_MYSTERY_EVENTS_STATE  0x40C0
#define VAR_TRICK_HOUSE_PRIZE_PICKUP         0x40C1
#define VAR_PACIFIDLOG_TM_RECEIVED_DAY       0x40C2
#define VAR_VICTORY_ROAD_1F_STATE            0x40C3
#define VAR_FOSSIL_RESURRECTION_STATE        0x40C4
#define VAR_WHICH_FOSSIL_REVIVED             0x40C5
#define VAR_STEVENS_HOUSE_STATE              0x40C6
#define VAR_OLDALE_STATE                     0x40C7
#define VAR_0x40C8                           0x40C8
#define VAR_0x40C9                           0x40C9
#define VAR_0x40CA                           0x40CA
#define VAR_0x40CB                           0x40CB
#define VAR_0x40CC                           0x40CC
#define VAR_0x40CD                           0x40CD
#define VAR_FRONTIER_BATTLE_MODE             0x40CE
#define VAR_FRONTIER_FACILITY                0x40CF
#define VAR_0x40D0                           0x40D0
#define VAR_0x40D1                           0x40D1
#define VAR_0x40D2                           0x40D2
#define VAR_0x40D3                           0x40D3
#define VAR_0x40D4                           0x40D4
#define VAR_0x40D5                           0x40D5
#define VAR_0x40D6                           0x40D6
#define VAR_0x40D7                           0x40D7
#define VAR_0x40D8                           0x40D8
#define VAR_0x40D9                           0x40D9
#define VAR_0x40DA                           0x40DA
#define VAR_0x40DB                           0x40DB
#define VAR_0x40DC                           0x40DC
#define VAR_EVENT_PICHU_SLOT                 0x40DD
#define VAR_0x40DE                           0x40DE
#define VAR_0x40DF                           0x40DF
#define VAR_0x40E0                           0x40E0
#define VAR_0x40E1                           0x40E1
#define VAR_0x40E2                           0x40E2
#define VAR_0x40E3                           0x40E3
#define VAR_0x40E4                           0x40E4
#define VAR_0x40E5                           0x40E5
#define VAR_DAILY_SLOTS                      0x40E6
#define VAR_DAILY_WILDS                      0x40E7
#define VAR_DAILY_BLENDER                    0x40E8
#define VAR_DAILY_PLANTED_BERRIES            0x40E9
#define VAR_DAILY_PICKED_BERRIES             0x40EA
#define VAR_DAILY_ROULETTE                   0x40EB
#define VAR_0x40EC                           0x40EC
#define VAR_0x40ED                           0x40ED
#define VAR_0x40EE                           0x40EE
#define VAR_0x40EF                           0x40EF
#define VAR_0x40F0                           0x40F0
#define VAR_DAILY_BP                         0x40F1
#define VAR_0x40F2                           0x40F2
#define VAR_0x40F3                           0x40F3
#define VAR_0x40F4                           0x40F4
#define VAR_0x40F5                           0x40F5
#define VAR_0x40F6                           0x40F6
#define VAR_0x40F7                           0x40F7
#define VAR_0x40F8                           0x40F8
#define VAR_0x40F9                           0x40F9
#define VAR_0x40FA                           0x40FA
#define VAR_0x40FB                           0x40FB
#define VAR_0x40FC                           0x40FC
#define VAR_0x40FD                           0x40FD
#define VAR_0x40FE                           0x40FE
#define VAR_0x40FF                           0x40FF

#define SPECIAL_VARS_START 0x8000
// special vars
// They are commonly used as parameters to commands, or return values from commands.
#define VAR_0x8000                 0x8000
#define VAR_0x8001                 0x8001
#define VAR_0x8002                 0x8002
#define VAR_0x8003                 0x8003
#define VAR_0x8004                 0x8004
#define VAR_0x8005                 0x8005
#define VAR_0x8006                 0x8006
#define VAR_0x8007                 0x8007
#define VAR_0x8008                 0x8008
#define VAR_0x8009                 0x8009
#define VAR_0x800A                 0x800A
#define VAR_0x800B                 0x800B
#define VAR_FACING                 0x800C
#define VAR_RESULT                 0x800D
#define VAR_ITEM_ID                0x800E
#define VAR_LAST_TALKED            0x800F
#define VAR_CONTEST_RANK           0x8010
#define VAR_CONTEST_CATEGORY       0x8011
#define VAR_MON_BOX_ID             0x8012
#define VAR_MON_BOX_POS            0x8013
#define VAR_0x8014                 0x8014
#define VAR_0x8015                 0x8015

#endif // GUARD_CONSTANTS_VARS_H