#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H

#define EVENT_OBJ_GFX_BRENDAN_NORMAL               0
#define EVENT_OBJ_GFX_BRENDAN_MACH_BIKE            1
#define EVENT_OBJ_GFX_BRENDAN_SURFING              2
#define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE           3
#define EVENT_OBJ_GFX_QUINTY_PLUMP                 4
#define EVENT_OBJ_GFX_NINJA_BOY                    5
#define EVENT_OBJ_GFX_TWIN                         6
#define EVENT_OBJ_GFX_BOY_1                        7
#define EVENT_OBJ_GFX_GIRL_1                       8
#define EVENT_OBJ_GFX_BOY_2                        9
#define EVENT_OBJ_GFX_GIRL_2                      10
#define EVENT_OBJ_GFX_LITTLE_BOY                  11
#define EVENT_OBJ_GFX_LITTLE_GIRL                 12
#define EVENT_OBJ_GFX_BOY_3                       13
#define EVENT_OBJ_GFX_GIRL_3                      14
#define EVENT_OBJ_GFX_RICH_BOY                    15
#define EVENT_OBJ_GFX_WOMAN_1                     16
#define EVENT_OBJ_GFX_FAT_MAN                     17
#define EVENT_OBJ_GFX_POKEFAN_F                   18
#define EVENT_OBJ_GFX_MAN_1                       19
#define EVENT_OBJ_GFX_WOMAN_2                     20
#define EVENT_OBJ_GFX_EXPERT_M                    21
#define EVENT_OBJ_GFX_EXPERT_F                    22
#define EVENT_OBJ_GFX_MAN_2                       23
#define EVENT_OBJ_GFX_WOMAN_3                     24
#define EVENT_OBJ_GFX_POKEFAN_M                   25
#define EVENT_OBJ_GFX_WOMAN_4                     26
#define EVENT_OBJ_GFX_COOK                        27
#define EVENT_OBJ_GFX_LINK_RECEPTIONIST           28
#define EVENT_OBJ_GFX_OLD_MAN                     29
#define EVENT_OBJ_GFX_OLD_WOMAN                   30
#define EVENT_OBJ_GFX_CAMPER                      31
#define EVENT_OBJ_GFX_PICNICKER                   32
#define EVENT_OBJ_GFX_MAN_3                       33
#define EVENT_OBJ_GFX_WOMAN_5                     34
#define EVENT_OBJ_GFX_YOUNGSTER                   35
#define EVENT_OBJ_GFX_BUG_CATCHER                 36
#define EVENT_OBJ_GFX_PSYCHIC_M                   37
#define EVENT_OBJ_GFX_SCHOOL_KID_M                38
#define EVENT_OBJ_GFX_MANIAC                      39
#define EVENT_OBJ_GFX_HEX_MANIAC                  40
#define EVENT_OBJ_GFX_RAYQUAZA_1                  41
#define EVENT_OBJ_GFX_SWIMMER_M                   42
#define EVENT_OBJ_GFX_SWIMMER_F                   43
#define EVENT_OBJ_GFX_BLACK_BELT                  44
#define EVENT_OBJ_GFX_BEAUTY                      45
#define EVENT_OBJ_GFX_SCIENTIST_1                 46
#define EVENT_OBJ_GFX_LASS                        47
#define EVENT_OBJ_GFX_GENTLEMAN                   48
#define EVENT_OBJ_GFX_SAILOR                      49
#define EVENT_OBJ_GFX_FISHERMAN                   50
#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M        51
#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F        52
#define EVENT_OBJ_GFX_TUBER_F                     53
#define EVENT_OBJ_GFX_TUBER_M                     54
#define EVENT_OBJ_GFX_HIKER                       55
#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M        56
#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F        57
#define EVENT_OBJ_GFX_NURSE                       58
#define EVENT_OBJ_GFX_ITEM_BALL                   59
#define EVENT_OBJ_GFX_BERRY_TREE                  60
#define EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES     61
#define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES      62
#define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE           63
#define EVENT_OBJ_GFX_PROF_BIRCH                  64
#define EVENT_OBJ_GFX_MAN_4                       65
#define EVENT_OBJ_GFX_MAN_5                       66
#define EVENT_OBJ_GFX_REPORTER_M                  67
#define EVENT_OBJ_GFX_REPORTER_F                  68
#define EVENT_OBJ_GFX_BARD                        69
#define EVENT_OBJ_GFX_ANABEL                      70
#define EVENT_OBJ_GFX_TUCKER                      71
#define EVENT_OBJ_GFX_GRETA                       72
#define EVENT_OBJ_GFX_SPENSER                     73
#define EVENT_OBJ_GFX_NOLAND                      74
#define EVENT_OBJ_GFX_LUCY                        75
#define EVENT_OBJ_GFX_UNUSED_NATU_DOLL            76
#define EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL       77
#define EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL        78
#define EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL          79
#define EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL         80
#define EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL        81
#define EVENT_OBJ_GFX_CUTTABLE_TREE               82
#define EVENT_OBJ_GFX_MART_EMPLOYEE               83
#define EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN          84
#define EVENT_OBJ_GFX_TEALA                       85
#define EVENT_OBJ_GFX_BREAKABLE_ROCK              86
#define EVENT_OBJ_GFX_PUSHABLE_BOULDER            87
#define EVENT_OBJ_GFX_MR_BRINEYS_BOAT             88
#define EVENT_OBJ_GFX_MAY_NORMAL                  89
#define EVENT_OBJ_GFX_MAY_MACH_BIKE               90
#define EVENT_OBJ_GFX_MAY_ACRO_BIKE               91
#define EVENT_OBJ_GFX_MAY_SURFING                 92
#define EVENT_OBJ_GFX_MAY_FIELD_MOVE              93
#define EVENT_OBJ_GFX_TRUCK                       94
#define EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX       95
#define EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY        96
#define EVENT_OBJ_GFX_BIRCHS_BAG                  97
#define EVENT_OBJ_GFX_ZIGZAGOON_1                 98
#define EVENT_OBJ_GFX_ARTIST                      99
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL       100
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE    101
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE    102
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING      103
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE   104
#define EVENT_OBJ_GFX_RIVAL_MAY_NORMAL           105
#define EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE        106
#define EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE        107
#define EVENT_OBJ_GFX_RIVAL_MAY_SURFING          108
#define EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE       109
#define EVENT_OBJ_GFX_CAMERAMAN                  110
#define EVENT_OBJ_GFX_BRENDAN_UNDERWATER         111
#define EVENT_OBJ_GFX_MAY_UNDERWATER             112
#define EVENT_OBJ_GFX_MOVING_BOX                 113
#define EVENT_OBJ_GFX_CABLE_CAR                  114
#define EVENT_OBJ_GFX_SCIENTIST_2                115
#define EVENT_OBJ_GFX_DEVON_EMPLOYEE             116
#define EVENT_OBJ_GFX_AQUA_MEMBER_M              117
#define EVENT_OBJ_GFX_AQUA_MEMBER_F              118
#define EVENT_OBJ_GFX_MAGMA_MEMBER_M             119
#define EVENT_OBJ_GFX_MAGMA_MEMBER_F             120
#define EVENT_OBJ_GFX_SIDNEY                     121
#define EVENT_OBJ_GFX_PHOEBE                     122
#define EVENT_OBJ_GFX_GLACIA                     123
#define EVENT_OBJ_GFX_DRAKE                      124
#define EVENT_OBJ_GFX_ROXANNE                    125
#define EVENT_OBJ_GFX_BRAWLY                     126
#define EVENT_OBJ_GFX_WATTSON                    127
#define EVENT_OBJ_GFX_FLANNERY                   128
#define EVENT_OBJ_GFX_NORMAN                     129
#define EVENT_OBJ_GFX_WINONA                     130
#define EVENT_OBJ_GFX_LIZA                       131
#define EVENT_OBJ_GFX_TATE                       132
#define EVENT_OBJ_GFX_WALLACE                    133
#define EVENT_OBJ_GFX_STEVEN                     134
#define EVENT_OBJ_GFX_WALLY                      135
#define EVENT_OBJ_GFX_LITTLE_BOY_3               136
#define EVENT_OBJ_GFX_BRENDAN_FISHING            137
#define EVENT_OBJ_GFX_MAY_FISHING                138
#define EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN      139
#define EVENT_OBJ_GFX_SS_TIDAL                   140
#define EVENT_OBJ_GFX_SUBMARINE_SHADOW           141
#define EVENT_OBJ_GFX_PICHU_DOLL                 142
#define EVENT_OBJ_GFX_PIKACHU_DOLL               143
#define EVENT_OBJ_GFX_MARILL_DOLL                144
#define EVENT_OBJ_GFX_TOGEPI_DOLL                145
#define EVENT_OBJ_GFX_CYNDAQUIL_DOLL             146
#define EVENT_OBJ_GFX_CHIKORITA_DOLL             147
#define EVENT_OBJ_GFX_TOTODILE_DOLL              148
#define EVENT_OBJ_GFX_JIGGLYPUFF_DOLL            149
#define EVENT_OBJ_GFX_MEOWTH_DOLL                150
#define EVENT_OBJ_GFX_CLEFAIRY_DOLL              151
#define EVENT_OBJ_GFX_DITTO_DOLL                 152
#define EVENT_OBJ_GFX_SMOOCHUM_DOLL              153
#define EVENT_OBJ_GFX_TREECKO_DOLL               154
#define EVENT_OBJ_GFX_TORCHIC_DOLL               155
#define EVENT_OBJ_GFX_MUDKIP_DOLL                156
#define EVENT_OBJ_GFX_DUSKULL_DOLL               157
#define EVENT_OBJ_GFX_WYNAUT_DOLL                158
#define EVENT_OBJ_GFX_BALTOY_DOLL                159
#define EVENT_OBJ_GFX_KECLEON_DOLL               160
#define EVENT_OBJ_GFX_AZURILL_DOLL               161
#define EVENT_OBJ_GFX_SKITTY_DOLL                162
#define EVENT_OBJ_GFX_SWABLU_DOLL                163
#define EVENT_OBJ_GFX_GULPIN_DOLL                164
#define EVENT_OBJ_GFX_LOTAD_DOLL                 165
#define EVENT_OBJ_GFX_SEEDOT_DOLL                166
#define EVENT_OBJ_GFX_PIKA_CUSHION               167
#define EVENT_OBJ_GFX_ROUND_CUSHION              168
#define EVENT_OBJ_GFX_KISS_CUSHION               169
#define EVENT_OBJ_GFX_ZIGZAG_CUSHION             170
#define EVENT_OBJ_GFX_SPIN_CUSHION               171
#define EVENT_OBJ_GFX_DIAMOND_CUSHION            172
#define EVENT_OBJ_GFX_BALL_CUSHION               173
#define EVENT_OBJ_GFX_GRASS_CUSHION              174
#define EVENT_OBJ_GFX_FIRE_CUSHION               175
#define EVENT_OBJ_GFX_WATER_CUSHION              176
#define EVENT_OBJ_GFX_BIG_SNORLAX_DOLL           177
#define EVENT_OBJ_GFX_BIG_RHYDON_DOLL            178
#define EVENT_OBJ_GFX_BIG_LAPRAS_DOLL            179
#define EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL          180
#define EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL         181
#define EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL         182
#define EVENT_OBJ_GFX_BIG_WAILMER_DOLL           183
#define EVENT_OBJ_GFX_BIG_REGIROCK_DOLL          184
#define EVENT_OBJ_GFX_BIG_REGICE_DOLL            185
#define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL         186
#define EVENT_OBJ_GFX_LATIAS                     187
#define EVENT_OBJ_GFX_LATIOS                     188
#define EVENT_OBJ_GFX_GAMEBOY_KID                189
#define EVENT_OBJ_GFX_CONTEST_JUDGE              190
#define EVENT_OBJ_GFX_BRENDAN_WATERING           191
#define EVENT_OBJ_GFX_MAY_WATERING               192
#define EVENT_OBJ_GFX_BRENDAN_DECORATING         193
#define EVENT_OBJ_GFX_MAY_DECORATING             194
#define EVENT_OBJ_GFX_ARCHIE                     195
#define EVENT_OBJ_GFX_MAXIE                      196
#define EVENT_OBJ_GFX_KYOGRE_1                   197
#define EVENT_OBJ_GFX_GROUDON_1                  198
#define EVENT_OBJ_GFX_FOSSIL                     199
#define EVENT_OBJ_GFX_REGIROCK                   200
#define EVENT_OBJ_GFX_REGICE                     201
#define EVENT_OBJ_GFX_REGISTEEL                  202
#define EVENT_OBJ_GFX_SKITTY                     203
#define EVENT_OBJ_GFX_KECLEON_1                  204
#define EVENT_OBJ_GFX_KYOGRE_2                   205
#define EVENT_OBJ_GFX_GROUDON_2                  206
#define EVENT_OBJ_GFX_RAYQUAZA_2                 207
#define EVENT_OBJ_GFX_ZIGZAGOON_2                208
#define EVENT_OBJ_GFX_PIKACHU                    209
#define EVENT_OBJ_GFX_AZUMARILL                  210
#define EVENT_OBJ_GFX_WINGULL                    211
#define EVENT_OBJ_GFX_KECLEON_2                  212
#define EVENT_OBJ_GFX_TUBER_M_SWIMMING           213
#define EVENT_OBJ_GFX_AZURILL                    214
#define EVENT_OBJ_GFX_MOM                        215
#define EVENT_OBJ_GFX_LINK_BRENDAN               216
#define EVENT_OBJ_GFX_LINK_MAY                   217
#define EVENT_OBJ_GFX_JUAN                       218
#define EVENT_OBJ_GFX_SCOTT                      219
#define EVENT_OBJ_GFX_POOCHYENA                  220
#define EVENT_OBJ_GFX_KYOGRE_3                   221
#define EVENT_OBJ_GFX_GROUDON_3                  222
#define EVENT_OBJ_GFX_MYSTERY_GIFT_MAN           223
#define EVENT_OBJ_GFX_TRICK_HOUSE_STATUE         224
#define EVENT_OBJ_GFX_KIRLIA                     225
#define EVENT_OBJ_GFX_DUSCLOPS                   226
#define EVENT_OBJ_GFX_UNION_ROOM_NURSE           227
#define EVENT_OBJ_GFX_SUDOWOODO                  228
#define EVENT_OBJ_GFX_MEW                        229
#define EVENT_OBJ_GFX_RED                        230
#define EVENT_OBJ_GFX_LEAF                       231
#define EVENT_OBJ_GFX_DEOXYS                     232
#define EVENT_OBJ_GFX_DEOXYS_TRIANGLE            233
#define EVENT_OBJ_GFX_BRANDON                    234
#define EVENT_OBJ_GFX_LINK_RS_BRENDAN            235
#define EVENT_OBJ_GFX_LINK_RS_MAY                236
#define EVENT_OBJ_GFX_LUGIA                      237
#define EVENT_OBJ_GFX_HOOH                       238

#define NUM_OBJ_EVENT_GFX                        239

// These are dynamic object gfx ids.
// They correspond with the values of the VAR_OBJ_GFX_ID_X vars.
// More info about them in include/constants/vars.h
#define OBJ_EVENT_GFX_VARS   (NUM_OBJ_EVENT_GFX + 1)
#define EVENT_OBJ_GFX_VAR_0  (OBJ_EVENT_GFX_VARS + 0x0) // 240
#define EVENT_OBJ_GFX_VAR_1  (OBJ_EVENT_GFX_VARS + 0x1)
#define EVENT_OBJ_GFX_VAR_2  (OBJ_EVENT_GFX_VARS + 0x2)
#define EVENT_OBJ_GFX_VAR_3  (OBJ_EVENT_GFX_VARS + 0x3)
#define EVENT_OBJ_GFX_VAR_4  (OBJ_EVENT_GFX_VARS + 0x4)
#define EVENT_OBJ_GFX_VAR_5  (OBJ_EVENT_GFX_VARS + 0x5)
#define EVENT_OBJ_GFX_VAR_6  (OBJ_EVENT_GFX_VARS + 0x6)
#define EVENT_OBJ_GFX_VAR_7  (OBJ_EVENT_GFX_VARS + 0x7)
#define EVENT_OBJ_GFX_VAR_8  (OBJ_EVENT_GFX_VARS + 0x8)
#define EVENT_OBJ_GFX_VAR_9  (OBJ_EVENT_GFX_VARS + 0x9)
#define EVENT_OBJ_GFX_VAR_A  (OBJ_EVENT_GFX_VARS + 0xA)
#define EVENT_OBJ_GFX_VAR_B  (OBJ_EVENT_GFX_VARS + 0xB)
#define EVENT_OBJ_GFX_VAR_C  (OBJ_EVENT_GFX_VARS + 0xC)
#define EVENT_OBJ_GFX_VAR_D  (OBJ_EVENT_GFX_VARS + 0xD)
#define EVENT_OBJ_GFX_VAR_E  (OBJ_EVENT_GFX_VARS + 0xE)
#define EVENT_OBJ_GFX_VAR_F  (OBJ_EVENT_GFX_VARS + 0xF) // 255

#define SHADOW_SIZE_S   0
#define SHADOW_SIZE_M   1
#define SHADOW_SIZE_L   2
#define SHADOW_SIZE_XL  3

#define F_INANIMATE                        (1 << 6)
#define F_DISABLE_REFLECTION_PALETTE_LOAD  (1 << 7)

#define TRACKS_NONE       0
#define TRACKS_FOOT       1
#define TRACKS_BIKE_TIRE  2

#define FIRST_DECORATION_SPRITE_GFX EVENT_OBJ_GFX_PICHU_DOLL

#define EVENT_OBJ_ID_PLAYER 0xFF
#define EVENT_OBJ_ID_CAMERA 0x7F

#endif  // GUARD_CONSTANTS_EVENT_OBJECTS_H