Mario Kart 64
Loading...
Searching...
No Matches
defines.h
Go to the documentation of this file.
1#ifndef DEFINES_H
2#define DEFINES_H
3
7#define OK 1
8#define BAD 0
9
40#if defined(GCC) || defined(DEBUG)
41#define ENABLE_DEBUG_MODE 1
42#else
43#define ENABLE_DEBUG_MODE 0
44#endif
45
46#define HOLD_ALL_DPAD_AND_C_BUTTONS \
47 (U_JPAD | L_JPAD | R_JPAD | D_JPAD | U_CBUTTONS | L_CBUTTONS | R_CBUTTONS | D_CBUTTONS)
48#define ALL_BUTTONS \
49 (A_BUTTON | B_BUTTON | L_TRIG | R_TRIG | Z_TRIG | START_BUTTON | U_JPAD | L_JPAD | R_JPAD | D_JPAD | U_CBUTTONS | \
50 L_CBUTTONS | R_CBUTTONS | D_CBUTTONS)
57#define REPLAY_A_BUTTON (1 << 31) // 0x80000000
58#define REPLAY_B_BUTTON (1 << 30) // 0x40000000
59#define REPLAY_Z_TRIG (1 << 29) // 0x20000000
60#define REPLAY_R_TRIG (1 << 28) // 0x10000000
61
62#define REPLAY_FRAME_COUNTER 0xFF0000
63#define REPLAY_CLEAR_FRAME_COUNTER (0xFFFFFFFF & ~REPLAY_FRAME_COUNTER)
64#define REPLAY_STICK_Y 0xFF00
65#define REPLAY_STICK_X 0xFF
66#define REPLAY_FRAME_INCREMENT 0x10000
67
71#define DEMO_MODE_ACTIVE 1
72#define DEMO_MODE_INACTIVE 0
73
74// Float version required for matching
75#ifdef VERSION_EU
76#define COURSE_TIMER_ITER 0.020041665999999999 // 1 / 50
77#ifdef AVOID_UB
78#define COURSE_TIMER_ITER_f 0.020041665999999999f // 1 / 50
79#else
80#define COURSE_TIMER_ITER_f 0.01666666f
81#endif
82#else
83#define COURSE_TIMER_ITER 0.01666666 // 1 / 60
84#define COURSE_TIMER_ITER_f 0.01666666f // 1 / 60
85#endif
86
87#define V_BlANK_TIMER_ITER 0.01666666
88
95#define PLAYER_INACTIVE 0 // 0x0000
96#define PLAYER_UNKNOWN_0x10 (1 << 4) // 0x0010 // unused?
97#define PLAYER_UNKNOWN_0x40 (1 << 6) // 0x0040
98#define PLAYER_UNKNOWN_0x80 (1 << 7) // 0x0080 // UNUSED
99#define PLAYER_INVISIBLE_OR_BOMB (1 << 8) // 0x0100
100#define PLAYER_STAGING (1 << 9) // 0x0200
101#define PLAYER_UNKNOWN (1 << 10) // 0x0400 // unused ?
102#define PLAYER_CINEMATIC_MODE (1 << 11) // 0x0800 // Also used to track eliminations in Battle mode.
103#define PLAYER_CPU (1 << 12) // 0x1000
104#define PLAYER_START_SEQUENCE (1 << 13) // 0x2000
105#define PLAYER_HUMAN (1 << 14) // 0x4000
106#define PLAYER_EXISTS (1 << 15) // 0x8000
107
108// Compiles to -0x1000 in diff.py
109#define PLAYER_HUMAN_AND_CPU PLAYER_EXISTS | PLAYER_HUMAN | PLAYER_CPU | PLAYER_START_SEQUENCE
110
111#define ZERO_PLAYERS_SELECTED 0
112#define ONE_PLAYERS_SELECTED 1
113#define TWO_PLAYERS_SELECTED 2
114#define THREE_PLAYERS_SELECTED 3
115#define FOUR_PLAYERS_SELECTED 4
116#define SELECTED_PLAYER_DEFINES_TOTAL 5
117
129
130#define NUM_PLAYERS 8
131
132#define MARIO_SIZE 0.75f
133#define LUIGI_SIZE 0.75f
134#define YOSHI_SIZE 0.75f
135#define TOAD_SIZE 0.75f
136#define DK_SIZE 0.75f
137#define WARIO_SIZE 0.75f
138#define PEACH_SIZE 0.75f
139#define BOWSER_SIZE 0.75f
140
141// 2P Game has Grand Prix, VS, and Battle as available game types
142#define MAX_NUM_MAIN_MENU_GAME_TYPES 3
143
147#define GRAND_PRIX 0
148#define TIME_TRIALS 1
149#define VERSUS 2
150#define BATTLE 3
151
160#define CC_50 0
161#define CC_100 1
162#define CC_150 2
163#define CC_EXTRA 3
164#define CC_BATTLE 4
165
173
174#define NUM_COURSES_PER_CUP 4
175
180
187#define MARIO 0
188#define LUIGI 1
189#define YOSHI 2
190#define TOAD 3
191#define DK 4
192#define WARIO 5
193#define PEACH 6
194#define BOWSER 7
195
199#define OPTIONS_MENU 5
200#define DATA_MENU 6
201#define COURSE_DATA_MENU 7
202#define LOGO_INTRO_MENU 8
203#define CONTROLLER_PAK_MENU 9
204#define START_MENU 10
205#define MAIN_MENU 11
206#define CHARACTER_SELECT_MENU 12
207#define COURSE_SELECT_MENU 13
208#define RACING_DUPLICATE 14
209
213#define START_MENU_FROM_QUIT 0
214#define MAIN_MENU_FROM_QUIT 1
215#define PLAYER_SELECT_MENU_FROM_QUIT 2
216#define COURSE_SELECT_MENU_FROM_QUIT 3
217#define RACING 4
218#define ENDING 5
219#define CREDITS_SEQUENCE 9
220
224#define SCREEN_MODE_1P 0
225#define SCREEN_MODE_2P_SPLITSCREEN_HORIZONTAL 1
226#define SCREEN_MODE_2P_SPLITSCREEN_VERTICAL 2
227#define SCREEN_MODE_3P_4P_SPLITSCREEN 3
228#define NUM_SCREEN_MODES 4
229
233#define TIME_TRIAL_3LAP_RECORD_1 0
234#define TIME_TRIAL_3LAP_RECORD_2 1
235#define TIME_TRIAL_3LAP_RECORD_3 2
236#define TIME_TRIAL_3LAP_RECORD_4 3
237#define TIME_TRIAL_3LAP_RECORD_5 4
238#define TIME_TRIAL_1LAP_RECORD 5
239
256
262#define SOUND_STEREO 0
263#define SOUND_HEADPHONES 1
264#define SOUND_UNUSED 2
265#define SOUND_MONO 3
266#define NUM_SOUND_MODES 4
267
272#define DEMO_ONE 0 // Mario, Mario Raceway, Grand Prix
273#define DEMO_TWO 1 // Yoshi DK, Choco Mountain, Versus
274#define DEMO_THREE 2 // Luigi, Kalamari Desert, Grand Prix
275#define DEMO_FOUR 3 // Wario Yoshi Bowser, Wario Stadium, Versus
276#define DEMO_FIVE 4 // Bowser, Bowser Castle, Grand Prix
277#define DEMO_SIX 5 // Mario Luigi Peach Toad, Sherbert Land, Versus
278#define NUM_DEMOS 6
279
283enum ITEMS {
284 /* 0x00 */ ITEM_NONE = 0,
285 /* 0x01 */ ITEM_BANANA,
289 /* 0x05 */ ITEM_RED_SHELL,
294 /* 0x0A */ ITEM_STAR,
295 /* 0x0B */ ITEM_BOO,
296 /* 0x0C */ ITEM_MUSHROOM,
299 /* 0x0F */ ITEM_SUPER_MUSHROOM
301
316
318
320
324#define BALLOON_STATUS_GONE 0
325#define BALLOON_STATUS_PRESENT 1
326#define BALLOON_STATUS_DEPARTING 2
327
331#define MAX_TIME 0x927C0
332
333/* The codebase uses 16-bit representations of angles (either u16 or s16 depending on context).
334 Thus, values of [0, 2**16 - 1] (for u16) or [-2**15, 2**15 - 1] (for s16) represent evenly
335 spaced angles around a circle. (e.g. (u16) 0x8000 is 2**15, which represents half a circle, or 180 degrees)
336
337 However, it is clear that the developers were thinking in terms of degrees and often worked
338 with values that corresponded to a specific number of degrees. The DEGREES macro converts
339 from the specified number of degrees to the 16-bit representation. This allows readers to
340 think in degrees while leaving the compiled machine code unaffected.
341
342 Note that 2**16 / 360 is not an integer. It has a value of ~182.04, but is rounded to 182
343 by the DEGREES function. There is some inconsistency with how the codebase handles this.
344 e.g. 70 degrees might be represented as DEGREES(70) or 70 * DEGREES(1), which are slightly
345 different values due to this rounding. As a practical matter, this rounding is less than
346 0.1 degrees in all cases */
347#define DEGREES(degree) ((u16) (degree * 65536.0f / 360.0f))
348
349// player->unk_046
350
351/* The first time you touch a penguin or bat, and anytime you touch a thwomp during a
352 race will set a flag which will cause your next spinout to be instant (i.e. no
353 sliding forward). Probably half-implemented code to prevent sliding through enemies,
354 but causes this bug */
355#define CRITTER_TOUCH 0x2 // Touched a penguin, bat or thwomp
356#define CRITTER_TOUCH_GATE 0x4
357#define INSTANT_SPINOUT 0x40
358
359// player->oobProps
360/* Deals with the lower out of bounds (OOB) plane on levels. Represented by fluids (water / lava)
361 or nothing for Rainbow Road and Skyscraper. */
362#define UNDER_OOB_OR_FLUID_LEVEL 0x1 // Set while mostly under the plane. Does not necessarily trigger Lakitu on Koopa Troopa Beach.
363#define PASS_OOB_OR_FLUID_LEVEL 0x2 // Set when passing through the lower plane in either direction
364// The next two are also activated when passing through the lower plane.
365#define UNDER_FLUID_LEVEL 0x4 // Stays active until Lakitu places back on track
366#define UNDER_OOB_LEVEL 0x8 // Active while under a non-fluid OOB plane. Is momentarily active when passing through fluids.
367
368
369/* UNK_002 has something to do with player animations. Each player has a 32-bit
370flag broken into 8 groups of 4 bits. Those 4 bits affect how each of the 8 players
371appear to the specified player */
372#define CHANGING_ANIMATION 0x1 // Seems to be set when the kart animation has to change.
373#define UNK_002_UNKNOWN_0x2 0x2
374#define UNK_002_UNKNOWN_0x4 0x4 /* Unclear, but has to do with viewing the side of player. At least tends to change if target
375player spins. Something with avoding rollover of aniamation frame data? */
376#define SIDE_OF_KART 0x8 // Seems to be whether you are in a rectangle shooting out from both sides of target player
378#define WHISTLE 0x20 // Whistle spinout save graphic
379#define CRASH 0x40 // Crash! graphic (vertical tumble)
380#define WHIRRR 0x80 // Whirrr! graphic (spinning out)
381#define POOMP 0x100 // Poomp! graphic (landing from a height)
382#define BOING 0x800 // Boing! graphic (hopping)
383#define EXPLOSION 0x1000 // Big shock looking graphic when starting tumble
384
385// player->lakituProps
386#define LAKITU_RETRIEVAL 0x1 // While lakitu is grabbing you, but before the scene transition of being placed on the track
387#define HELD_BY_LAKITU 0x2
388#define LAKITU_FIZZLE 0x4 // Disintegration and reintegration effect when transitioning from retrieval to placement
389#define LAKITU_SCENE 0x8 // the whole segment from when lakitu is called to when you regain control
390#define FRIGID_EFFECT 0x10 // Cold colors on Sherbet Land after in frigid water
391#define THAWING_EFFECT 0x20 // Regaining usual colors post frigid effect
392#define FROZEN_EFFECT 0x80 // In the ice cube
393#define WENT_OVER_OOB 0x100 // Player went over (or is on) an OOB area. Cancelled if touch back in bounds
394#define LAKITU_LAVA 0x1000 // smoky effect when retrieved from lava
395#define LAKITU_WATER 0x2000 // dripping effect when retreived from water
396
397// player->kartProps
398#define BACK_UP 0x1
399#define RIGHT_TURN 0x2 // non-drifting (more than 5 degrees)
400#define LEFT_TURN 0x4 // non-drifting (more than 5 degrees)
401#define MOVE_BACKWARDS 0x8 // includes lakitu
402#define LOSE_GP_RACE 0x10 // pointless, only unsets itself
403#define THROTTLE 0x20 // Closely tied to just pressing A. Possible exception for AB-spins
404#define EARLY_SPINOUT_RIGHT 0x40 // Spinning out while facing right (not actually used for anything)
405#define EARLY_SPINOUT_LEFT 0x80 // Spinning out while facing left
406#define POST_TUMBLE_GAS 0x100 // Causes particles after a vertical tumble, I think
407#define BECOME_INVISIBLE 0x200
408#define UNUSED_0x400 0x400 // locked behind 0x800 (func_80091440)
409#define UNUSED_0x800 0x800 // locked behind 0x400 (func_8002B830 -> func_800911B4)
410#define UNUSED_0x1000 0x1000 // 0x1000 locked behind 0x400 (func_8002B830 -> func_800911B4)
411#define UNUSED_0x2000 0x2000 // 0x2000 locked behind 0x400 and 0x800 (func_8002B830 -> func_800911B4, apply_effect -> func_80091298,
412 // func_80091440)
413#define DRIVING_NEAR_SPINOUT 0x4000
414#define UNKNOWN_BATTLE_VAR 0x8000 // 0x8000 something battle related, unclear if ever set
415
416/*
417 * @brief triggers indicating that an effect should be applied to a kart
418 */
419#define HIT_BANANA_TRIGGER 0x1 // hits a banana
420#define HIGH_TUMBLE_TRIGGER 0x2 // hit by a red shell, blue shell, or hit a mole
421#define LOW_TUMBLE_TRIGGER 0x4 // hit by a green shell
422#define DRIVING_SPINOUT_TRIGGER 0x80 // spinning out from erratic driving
423#define THWOMP_SQUISH_TRIGGER 0x100 // stomped by thwomp
424#define SHROOM_TRIGGER 0x200 // being boosted by trigger a mushroom
425#define BOO_TRIGGER 0x800 // being a boo
426#define UNUSED_TRIGGER_0x1000 0x1000 // Unused
427#define STAR_TRIGGER 0x2000 // Starting a star
428#define LIGHTNING_STRIKE_TRIGGER 0x4000 // Struck by lightning
429#define BOOST_RAMP_WOOD_TRIGGER 0x8000 // being boosted by a ramp
430#define UNUSED_TRIGGER_0x20000 0x20000 // Unused
431#define DRAG_ITEM_EFFECT 0x40000 // holding a non-shell item behind you
432#define HIT_PADDLE_BOAT_TRIGGER 0x80000 // hit paddle boat
433#define UNUSED_TRIGGER_0x10000 0x100000 // Unused
434#define SPINOUT_TRIGGER 0x200000 // hit crab or spiny spinout or losing versus race
435#define VERTICAL_TUMBLE_TRIGGER 0x400000 // hitting a fake item / bomb / snowman / car / train
436#define BOOST_RAMP_ASPHALT_TRIGGER 0x800000 // being boosted by a boost pad
437#define HIT_BY_STAR_TRIGGER 0x1000000 // being hit by a star
438#define START_BOOST_TRIGGER 0x2000000 // Start boost
439#define LOSE_BATTLE_EFFECT 0x4000000 // When losing battle mode
440#define BECOME_BOMB_EFFECT 0x8000000 // When becoming a bomb in battle mode
441#define START_SPINOUT_TRIGGER 0x10000000 // Spinning out by holding gas at start of race
443#define ALL_TRIGGERS (0xFFFFFFFF)
444#define RACING_SPINOUT_TRIGGERS (SPINOUT_TRIGGER | DRIVING_SPINOUT_TRIGGER | HIT_BANANA_TRIGGER) // 0x200081
445#define RAMP_BOOST_TRIGGERS (BOOST_RAMP_ASPHALT_TRIGGER | BOOST_RAMP_WOOD_TRIGGER) // 0x00808000
446#define ANY_BOOST_TRIGGERS (RAMP_BOOST_TRIGGERS | SHROOM_TRIGGER) // 0x00808200
447#define STATE_TRANSITION_TRIGGERS \
448 (STAR_TRIGGER | BOO_TRIGGER | UNUSED_TRIGGER_0x1000 | UNUSED_TRIGGER_0x20000) // 0x00023800
449#define HIT_TRIGGERS \
450 (HIT_BY_STAR_TRIGGER | VERTICAL_TUMBLE_TRIGGER | LIGHTNING_STRIKE_TRIGGER | LOW_TUMBLE_TRIGGER | \
451 HIGH_TUMBLE_TRIGGER | THWOMP_SQUISH_TRIGGER) // 0x01404106
452
457// clang-format off
458#define BRAKING_EFFECT 0x1 // pressing brake
459#define HOP_EFFECT 0x2 // from when you hop to when you land
460#define BOOST_RAMP_WOOD_EFFECT 0x4 // being boosted by DKJP ramp
461#define MIDAIR_EFFECT 0x8 // in midair
462#define DRIFTING_EFFECT 0x10 // drifting
463#define AB_SPIN_EFFECT 0x20 // spinning with a+b
464#define DRIVING_SPINOUT_EFFECT 0x40 // spinout (from erratic driving) or crab
465#define BANANA_SPINOUT_EFFECT 0x80 // spinout (from hitting a banana or another driver)
466#define MINI_TURBO_EFFECT 0x100 // mini-turbo
467#define STAR_EFFECT 0x200 // using a star
468#define HIT_BY_GREEN_SHELL_EFFECT 0x400 // tumbling after hit with a green shell
469#define BANANA_NEAR_SPINOUT_EFFECT 0x800 // decreased steering sensitivity after hitting a banana, but before spinning out
470#define LOST_RACE_EFFECT 0x1000 // lost race in GP mode
471#define MUSHROOM_EFFECT 0x2000 // using a mushroom
472#define EARLY_START_SPINOUT_EFFECT 0x4000 // spinning out by pressing a too early at the startline or after lakitu retrieves you
473#define ENEMY_BONK_EFFECT 0x8000 // bouncing off an enemy (penguin, thwomp, etc)
474#define TERRAIN_TUMBLE_EFFECT 0x10000 // tumbling after hitting steep terrain
475#define LIGHTNING_STRIKE_EFFECT 0x20000 // spinning and shrinking during a lightning strike
476#define BANANA_SPINOUT_SAVE_EFFECT 0x40000 // avoid spinning out by pressing b
477#define UNKNOWN_EFFECT_0x80000 0x80000 // Only set when soundEffect 0x1000 is set. Unclear if it ever is
478#define BOOST_RAMP_ASPHALT_EFFECT 0x100000 // being boosted by the Royal Raceway ramp
479#define CPU_FAST_EFFECT 0x200000 // CPU Rubberbanding flag
480#define REVERSE_EFFECT 0x400000 // facing backwards
481#define UNKNOWN_EFFECT_0x800000 0x800000 // Only set when soundEffect 0x20000 is set
482#define EXPLOSION_CRASH_EFFECT 0x1000000 // vertical launch (hitting car, snowman, etc.)
483#define HIT_BY_STAR_EFFECT 0x2000000 // being hit by a red shell or star
484#define SQUISH_EFFECT 0x4000000 // hitting an object
485#define POST_SQUISH_EFFECT 0x8000000 // briefly after being squished (boulder, thwomp, etc.)
486#define UNKNOWN_EFFECT_0x10000000 0x10000000 // UNUSED (set in unused func_8008FDF4)
487#define DRIFT_OUTSIDE_EFFECT 0x20000000 // drifting toward the outside of your turn
488#define LIGHTNING_EFFECT 0x40000000 // suffering the effects of lightning
489#define BOO_EFFECT 0x80000000 // being a boo
490#define ALL_EFFECTS 0xFFFFFFFF
491// clang-format on
492
496#define STAR_EFFECT_DURATION 0xA
497#define BOO_EFFECT_DURATION 0x7
498
502#define ALPHA_MAX 0xFF
503#define ALPHA_MIN 0x0
504#define ALPHA_BOO_EFFECT 0x60
505
510#define SPAWN_FIRST_SHELL 0
511#define SPAWN_SECOND_SHELL 1
512#define SPAWN_THIRD_SHELL 2
514#define GPACK_RGB888(r, g, b) (((r) << 16) | ((g) << 8) | (b))
515#define COLOR_LIGHT GPACK_RGB888(0x1C, 0x00, 0x00)
516#define COLOR_LAVA GPACK_RGB888(0x34, 0x00, 0x00)
517#define COLOR_BLACK GPACK_RGB888(0, 0, 0)
518
519#endif // DEFINES_H
520
527#define GRID_SIZE 32
529#define FACING_Y_AXIS 0x4000
530#define FACING_X_AXIS 0x8000
531#define FACING_Z_AXIS 0x2000
COLOR_ID
Text color options The 2 cycling options cycle through Blue -> Green -> Red Cycle 2 appears to be one...
Definition defines.h:248
@ TEXT_BLUE_GREEN_RED_CYCLE_2
Definition defines.h:254
@ TEXT_BLUE_GREEN_RED_CYCLE_1
Definition defines.h:253
@ TEXT_YELLOW
Definition defines.h:252
@ TEXT_RED
Definition defines.h:251
@ TEXT_GREEN
Definition defines.h:250
@ TEXT_BLUE
Definition defines.h:249
@ COURSE_ONE
Definition defines.h:179
@ COURSE_THREE
Definition defines.h:179
@ COURSE_TWO
Definition defines.h:179
@ COURSE_FOUR
Definition defines.h:179
PLACE
Definition defines.h:319
@ FIRST_PLACE
Definition defines.h:319
@ FOURTH_PLACE
Definition defines.h:319
@ SECOND_PLACE
Definition defines.h:319
@ THIRD_PLACE
Definition defines.h:319
PlayerId
Definition defines.h:118
@ PLAYER_SIX
Definition defines.h:125
@ PLAYER_FIVE
Definition defines.h:124
@ PLAYER_SEVEN
Definition defines.h:126
@ PLAYER_FOUR
Definition defines.h:123
@ PLAYER_EIGHT
Definition defines.h:127
@ PLAYER_NONE
Definition defines.h:119
@ PLAYER_TWO
Definition defines.h:121
@ PLAYER_ONE
Definition defines.h:120
@ PLAYER_THREE
Definition defines.h:122
ITEMS
Item IDs.
Definition defines.h:283
@ ITEM_TRIPLE_MUSHROOM
Definition defines.h:298
@ ITEM_THUNDERBOLT
Definition defines.h:292
@ ITEM_TRIPLE_GREEN_SHELL
Definition defines.h:288
@ ITEM_STAR
Definition defines.h:294
@ ITEM_BLUE_SPINY_SHELL
Definition defines.h:291
@ ITEM_BANANA_BUNCH
Definition defines.h:286
@ ITEM_GREEN_SHELL
Definition defines.h:287
@ ITEM_FAKE_ITEM_BOX
Definition defines.h:293
@ ITEM_NONE
Definition defines.h:284
@ ITEM_RED_SHELL
Definition defines.h:289
@ ITEM_SUPER_MUSHROOM
Definition defines.h:299
@ ITEM_BANANA
Definition defines.h:285
@ ITEM_MUSHROOM
Definition defines.h:296
@ ITEM_DOUBLE_MUSHROOM
Definition defines.h:297
@ ITEM_BOO
Definition defines.h:295
@ ITEM_TRIPLE_RED_SHELL
Definition defines.h:290
@ NUM_CUPS
Definition defines.h:172
@ STAR_CUP
Definition defines.h:172
@ FLOWER_CUP
Definition defines.h:172
@ SPECIAL_CUP
Definition defines.h:172
@ MUSHROOM_CUP
Definition defines.h:172
@ BATTLE_CUP
Definition defines.h:172
DIRECTION
Definition defines.h:317
@ SOUTH
Definition defines.h:317
@ EAST
Definition defines.h:317
@ NORTH
Definition defines.h:317
@ WEST
Definition defines.h:317
CPU_BEHAVIOURS
Definition defines.h:302
@ BEHAVIOUR_FAST_SPEED
Definition defines.h:310
@ BEHAVIOUR_NORMAL_SPEED
Definition defines.h:309
@ BEHAVIOUR_DRIVE_CENTER
Definition defines.h:306
@ BEHAVIOUR_SLOW_SPEED
Definition defines.h:311
@ BEHAVIOUR_MAX_SPEED
Definition defines.h:314
@ BEHAVIOUR_DRIVE_OUTER
Definition defines.h:308
@ BEHAVIOUR_HOP
Definition defines.h:305
@ BEHAVIOUR_9
Definition defines.h:312
@ BEHAVIOUR_DRIVE_LEFT
Definition defines.h:307
@ BEHAVIOUR_NONE
Definition defines.h:303
@ BEHAVIOUR_1
Definition defines.h:304
@ BEHAVIOUR_10
Definition defines.h:313