#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H

#define OBJ_EVENT_GFX_BRENDAN_NORMAL               0
#define OBJ_EVENT_GFX_BRENDAN_MACH_BIKE            1
#define OBJ_EVENT_GFX_BRENDAN_SURFING              2
#define OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE           3
#define OBJ_EVENT_GFX_QUINTY_PLUMP                 4
#define OBJ_EVENT_GFX_NINJA_BOY                    5
#define OBJ_EVENT_GFX_TWIN                         6
#define OBJ_EVENT_GFX_BOY_1                        7
#define OBJ_EVENT_GFX_GIRL_1                       8
#define OBJ_EVENT_GFX_BOY_2                        9
#define OBJ_EVENT_GFX_GIRL_2                      10
#define OBJ_EVENT_GFX_LITTLE_BOY                  11
#define OBJ_EVENT_GFX_LITTLE_GIRL                 12
#define OBJ_EVENT_GFX_BOY_3                       13
#define OBJ_EVENT_GFX_GIRL_3                      14
#define OBJ_EVENT_GFX_RICH_BOY                    15
#define OBJ_EVENT_GFX_WOMAN_1                     16
#define OBJ_EVENT_GFX_FAT_MAN                     17
#define OBJ_EVENT_GFX_POKEFAN_F                   18
#define OBJ_EVENT_GFX_MAN_1                       19
#define OBJ_EVENT_GFX_WOMAN_2                     20
#define OBJ_EVENT_GFX_EXPERT_M                    21
#define OBJ_EVENT_GFX_EXPERT_F                    22
#define OBJ_EVENT_GFX_MAN_2                       23
#define OBJ_EVENT_GFX_WOMAN_3                     24
#define OBJ_EVENT_GFX_POKEFAN_M                   25
#define OBJ_EVENT_GFX_WOMAN_4                     26
#define OBJ_EVENT_GFX_COOK                        27
#define OBJ_EVENT_GFX_LINK_RECEPTIONIST           28
#define OBJ_EVENT_GFX_OLD_MAN                     29
#define OBJ_EVENT_GFX_OLD_WOMAN                   30
#define OBJ_EVENT_GFX_CAMPER                      31
#define OBJ_EVENT_GFX_PICNICKER                   32
#define OBJ_EVENT_GFX_MAN_3                       33
#define OBJ_EVENT_GFX_WOMAN_5                     34
#define OBJ_EVENT_GFX_YOUNGSTER                   35
#define OBJ_EVENT_GFX_BUG_CATCHER                 36
#define OBJ_EVENT_GFX_PSYCHIC_M                   37
#define OBJ_EVENT_GFX_SCHOOL_KID_M                38
#define OBJ_EVENT_GFX_MANIAC                      39
#define OBJ_EVENT_GFX_HEX_MANIAC                  40
#define OBJ_EVENT_GFX_RAYQUAZA_1                  41
#define OBJ_EVENT_GFX_SWIMMER_M                   42
#define OBJ_EVENT_GFX_SWIMMER_F                   43
#define OBJ_EVENT_GFX_BLACK_BELT                  44
#define OBJ_EVENT_GFX_BEAUTY                      45
#define OBJ_EVENT_GFX_SCIENTIST_1                 46
#define OBJ_EVENT_GFX_LASS                        47
#define OBJ_EVENT_GFX_GENTLEMAN                   48
#define OBJ_EVENT_GFX_SAILOR                      49
#define OBJ_EVENT_GFX_FISHERMAN                   50
#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M        51
#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F        52
#define OBJ_EVENT_GFX_TUBER_F                     53
#define OBJ_EVENT_GFX_TUBER_M                     54
#define OBJ_EVENT_GFX_HIKER                       55
#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M        56
#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F        57
#define OBJ_EVENT_GFX_NURSE                       58
#define OBJ_EVENT_GFX_ITEM_BALL                   59
#define OBJ_EVENT_GFX_BERRY_TREE                  60
#define OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES     61
#define OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES      62
#define OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE           63
#define OBJ_EVENT_GFX_PROF_BIRCH                  64
#define OBJ_EVENT_GFX_MAN_4                       65
#define OBJ_EVENT_GFX_MAN_5                       66
#define OBJ_EVENT_GFX_REPORTER_M                  67
#define OBJ_EVENT_GFX_REPORTER_F                  68
#define OBJ_EVENT_GFX_BARD                        69
#define OBJ_EVENT_GFX_ANABEL                      70
#define OBJ_EVENT_GFX_TUCKER                      71
#define OBJ_EVENT_GFX_GRETA                       72
#define OBJ_EVENT_GFX_SPENSER                     73
#define OBJ_EVENT_GFX_NOLAND                      74
#define OBJ_EVENT_GFX_LUCY                        75
#define OBJ_EVENT_GFX_UNUSED_NATU_DOLL            76
#define OBJ_EVENT_GFX_UNUSED_MAGNEMITE_DOLL       77
#define OBJ_EVENT_GFX_UNUSED_SQUIRTLE_DOLL        78
#define OBJ_EVENT_GFX_UNUSED_WOOPER_DOLL          79
#define OBJ_EVENT_GFX_UNUSED_PIKACHU_DOLL         80
#define OBJ_EVENT_GFX_UNUSED_PORYGON2_DOLL        81
#define OBJ_EVENT_GFX_CUTTABLE_TREE               82
#define OBJ_EVENT_GFX_MART_EMPLOYEE               83
#define OBJ_EVENT_GFX_ROOFTOP_SALE_WOMAN          84
#define OBJ_EVENT_GFX_TEALA                       85
#define OBJ_EVENT_GFX_BREAKABLE_ROCK              86
#define OBJ_EVENT_GFX_PUSHABLE_BOULDER            87
#define OBJ_EVENT_GFX_MR_BRINEYS_BOAT             88
#define OBJ_EVENT_GFX_MAY_NORMAL                  89
#define OBJ_EVENT_GFX_MAY_MACH_BIKE               90
#define OBJ_EVENT_GFX_MAY_ACRO_BIKE               91
#define OBJ_EVENT_GFX_MAY_SURFING                 92
#define OBJ_EVENT_GFX_MAY_FIELD_MOVE              93
#define OBJ_EVENT_GFX_TRUCK                       94
#define OBJ_EVENT_GFX_VIGOROTH_CARRYING_BOX       95
#define OBJ_EVENT_GFX_VIGOROTH_FACING_AWAY        96
#define OBJ_EVENT_GFX_BIRCHS_BAG                  97
#define OBJ_EVENT_GFX_ZIGZAGOON_1                 98
#define OBJ_EVENT_GFX_ARTIST                      99
#define OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL       100
#define OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE    101
#define OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE    102
#define OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING      103
#define OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE   104
#define OBJ_EVENT_GFX_RIVAL_MAY_NORMAL           105
#define OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE        106
#define OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE        107
#define OBJ_EVENT_GFX_RIVAL_MAY_SURFING          108
#define OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE       109
#define OBJ_EVENT_GFX_CAMERAMAN                  110
#define OBJ_EVENT_GFX_BRENDAN_UNDERWATER         111
#define OBJ_EVENT_GFX_MAY_UNDERWATER             112
#define OBJ_EVENT_GFX_MOVING_BOX                 113
#define OBJ_EVENT_GFX_CABLE_CAR                  114
#define OBJ_EVENT_GFX_SCIENTIST_2                115
#define OBJ_EVENT_GFX_DEVON_EMPLOYEE             116
#define OBJ_EVENT_GFX_AQUA_MEMBER_M              117
#define OBJ_EVENT_GFX_AQUA_MEMBER_F              118
#define OBJ_EVENT_GFX_MAGMA_MEMBER_M             119
#define OBJ_EVENT_GFX_MAGMA_MEMBER_F             120
#define OBJ_EVENT_GFX_SIDNEY                     121
#define OBJ_EVENT_GFX_PHOEBE                     122
#define OBJ_EVENT_GFX_GLACIA                     123
#define OBJ_EVENT_GFX_DRAKE                      124
#define OBJ_EVENT_GFX_ROXANNE                    125
#define OBJ_EVENT_GFX_BRAWLY                     126
#define OBJ_EVENT_GFX_WATTSON                    127
#define OBJ_EVENT_GFX_FLANNERY                   128
#define OBJ_EVENT_GFX_NORMAN                     129
#define OBJ_EVENT_GFX_WINONA                     130
#define OBJ_EVENT_GFX_LIZA                       131
#define OBJ_EVENT_GFX_TATE                       132
#define OBJ_EVENT_GFX_WALLACE                    133
#define OBJ_EVENT_GFX_STEVEN                     134
#define OBJ_EVENT_GFX_WALLY                      135
#define OBJ_EVENT_GFX_LITTLE_BOY_3               136
#define OBJ_EVENT_GFX_BRENDAN_FISHING            137
#define OBJ_EVENT_GFX_MAY_FISHING                138
#define OBJ_EVENT_GFX_HOT_SPRINGS_OLD_WOMAN      139
#define OBJ_EVENT_GFX_SS_TIDAL                   140
#define OBJ_EVENT_GFX_SUBMARINE_SHADOW           141
#define OBJ_EVENT_GFX_PICHU_DOLL                 142
#define OBJ_EVENT_GFX_PIKACHU_DOLL               143
#define OBJ_EVENT_GFX_MARILL_DOLL                144
#define OBJ_EVENT_GFX_TOGEPI_DOLL                145
#define OBJ_EVENT_GFX_CYNDAQUIL_DOLL             146
#define OBJ_EVENT_GFX_CHIKORITA_DOLL             147
#define OBJ_EVENT_GFX_TOTODILE_DOLL              148
#define OBJ_EVENT_GFX_JIGGLYPUFF_DOLL            149
#define OBJ_EVENT_GFX_MEOWTH_DOLL                150
#define OBJ_EVENT_GFX_CLEFAIRY_DOLL              151
#define OBJ_EVENT_GFX_DITTO_DOLL                 152
#define OBJ_EVENT_GFX_SMOOCHUM_DOLL              153
#define OBJ_EVENT_GFX_TREECKO_DOLL               154
#define OBJ_EVENT_GFX_TORCHIC_DOLL               155
#define OBJ_EVENT_GFX_MUDKIP_DOLL                156
#define OBJ_EVENT_GFX_DUSKULL_DOLL               157
#define OBJ_EVENT_GFX_WYNAUT_DOLL                158
#define OBJ_EVENT_GFX_BALTOY_DOLL                159
#define OBJ_EVENT_GFX_KECLEON_DOLL               160
#define OBJ_EVENT_GFX_AZURILL_DOLL               161
#define OBJ_EVENT_GFX_SKITTY_DOLL                162
#define OBJ_EVENT_GFX_SWABLU_DOLL                163
#define OBJ_EVENT_GFX_GULPIN_DOLL                164
#define OBJ_EVENT_GFX_LOTAD_DOLL                 165
#define OBJ_EVENT_GFX_SEEDOT_DOLL                166
#define OBJ_EVENT_GFX_PIKA_CUSHION               167
#define OBJ_EVENT_GFX_ROUND_CUSHION              168
#define OBJ_EVENT_GFX_KISS_CUSHION               169
#define OBJ_EVENT_GFX_ZIGZAG_CUSHION             170
#define OBJ_EVENT_GFX_SPIN_CUSHION               171
#define OBJ_EVENT_GFX_DIAMOND_CUSHION            172
#define OBJ_EVENT_GFX_BALL_CUSHION               173
#define OBJ_EVENT_GFX_GRASS_CUSHION              174
#define OBJ_EVENT_GFX_FIRE_CUSHION               175
#define OBJ_EVENT_GFX_WATER_CUSHION              176
#define OBJ_EVENT_GFX_BIG_SNORLAX_DOLL           177
#define OBJ_EVENT_GFX_BIG_RHYDON_DOLL            178
#define OBJ_EVENT_GFX_BIG_LAPRAS_DOLL            179
#define OBJ_EVENT_GFX_BIG_VENUSAUR_DOLL          180
#define OBJ_EVENT_GFX_BIG_CHARIZARD_DOLL         181
#define OBJ_EVENT_GFX_BIG_BLASTOISE_DOLL         182
#define OBJ_EVENT_GFX_BIG_WAILMER_DOLL           183
#define OBJ_EVENT_GFX_BIG_REGIROCK_DOLL          184
#define OBJ_EVENT_GFX_BIG_REGICE_DOLL            185
#define OBJ_EVENT_GFX_BIG_REGISTEEL_DOLL         186
#define OBJ_EVENT_GFX_LATIAS                     187
#define OBJ_EVENT_GFX_LATIOS                     188
#define OBJ_EVENT_GFX_GAMEBOY_KID                189
#define OBJ_EVENT_GFX_CONTEST_JUDGE              190
#define OBJ_EVENT_GFX_BRENDAN_WATERING           191
#define OBJ_EVENT_GFX_MAY_WATERING               192
#define OBJ_EVENT_GFX_BRENDAN_DECORATING         193
#define OBJ_EVENT_GFX_MAY_DECORATING             194
#define OBJ_EVENT_GFX_ARCHIE                     195
#define OBJ_EVENT_GFX_MAXIE                      196
#define OBJ_EVENT_GFX_KYOGRE_1                   197
#define OBJ_EVENT_GFX_GROUDON_1                  198
#define OBJ_EVENT_GFX_FOSSIL                     199
#define OBJ_EVENT_GFX_REGIROCK                   200
#define OBJ_EVENT_GFX_REGICE                     201
#define OBJ_EVENT_GFX_REGISTEEL                  202
#define OBJ_EVENT_GFX_SKITTY                     203
#define OBJ_EVENT_GFX_KECLEON                    204
#define OBJ_EVENT_GFX_KYOGRE_2                   205
#define OBJ_EVENT_GFX_GROUDON_2                  206
#define OBJ_EVENT_GFX_RAYQUAZA_2                 207
#define OBJ_EVENT_GFX_ZIGZAGOON_2                208
#define OBJ_EVENT_GFX_PIKACHU                    209
#define OBJ_EVENT_GFX_AZUMARILL                  210
#define OBJ_EVENT_GFX_WINGULL                    211
#define OBJ_EVENT_GFX_KECLEON_BRIDGE_SHADOW      212
#define OBJ_EVENT_GFX_TUBER_M_SWIMMING           213
#define OBJ_EVENT_GFX_AZURILL                    214
#define OBJ_EVENT_GFX_MOM                        215
#define OBJ_EVENT_GFX_LINK_BRENDAN               216
#define OBJ_EVENT_GFX_LINK_MAY                   217
#define OBJ_EVENT_GFX_JUAN                       218
#define OBJ_EVENT_GFX_SCOTT                      219
#define OBJ_EVENT_GFX_POOCHYENA                  220
#define OBJ_EVENT_GFX_KYOGRE_3                   221
#define OBJ_EVENT_GFX_GROUDON_3                  222
#define OBJ_EVENT_GFX_MYSTERY_GIFT_MAN           223
#define OBJ_EVENT_GFX_TRICK_HOUSE_STATUE         224
#define OBJ_EVENT_GFX_KIRLIA                     225
#define OBJ_EVENT_GFX_DUSCLOPS                   226
#define OBJ_EVENT_GFX_UNION_ROOM_NURSE           227
#define OBJ_EVENT_GFX_SUDOWOODO                  228
#define OBJ_EVENT_GFX_MEW                        229
#define OBJ_EVENT_GFX_RED                        230
#define OBJ_EVENT_GFX_LEAF                       231
#define OBJ_EVENT_GFX_DEOXYS                     232
#define OBJ_EVENT_GFX_DEOXYS_TRIANGLE            233
#define OBJ_EVENT_GFX_BRANDON                    234
#define OBJ_EVENT_GFX_LINK_RS_BRENDAN            235
#define OBJ_EVENT_GFX_LINK_RS_MAY                236
#define OBJ_EVENT_GFX_LUGIA                      237
#define OBJ_EVENT_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 OBJ_EVENT_GFX_VAR_0  (OBJ_EVENT_GFX_VARS + 0x0) // 240
#define OBJ_EVENT_GFX_VAR_1  (OBJ_EVENT_GFX_VARS + 0x1)
#define OBJ_EVENT_GFX_VAR_2  (OBJ_EVENT_GFX_VARS + 0x2)
#define OBJ_EVENT_GFX_VAR_3  (OBJ_EVENT_GFX_VARS + 0x3)
#define OBJ_EVENT_GFX_VAR_4  (OBJ_EVENT_GFX_VARS + 0x4)
#define OBJ_EVENT_GFX_VAR_5  (OBJ_EVENT_GFX_VARS + 0x5)
#define OBJ_EVENT_GFX_VAR_6  (OBJ_EVENT_GFX_VARS + 0x6)
#define OBJ_EVENT_GFX_VAR_7  (OBJ_EVENT_GFX_VARS + 0x7)
#define OBJ_EVENT_GFX_VAR_8  (OBJ_EVENT_GFX_VARS + 0x8)
#define OBJ_EVENT_GFX_VAR_9  (OBJ_EVENT_GFX_VARS + 0x9)
#define OBJ_EVENT_GFX_VAR_A  (OBJ_EVENT_GFX_VARS + 0xA)
#define OBJ_EVENT_GFX_VAR_B  (OBJ_EVENT_GFX_VARS + 0xB)
#define OBJ_EVENT_GFX_VAR_C  (OBJ_EVENT_GFX_VARS + 0xC)
#define OBJ_EVENT_GFX_VAR_D  (OBJ_EVENT_GFX_VARS + 0xD)
#define OBJ_EVENT_GFX_VAR_E  (OBJ_EVENT_GFX_VARS + 0xE)
#define OBJ_EVENT_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 OBJ_EVENT_GFX_PICHU_DOLL

#define OBJ_EVENT_ID_PLAYER 0xFF
#define OBJ_EVENT_ID_CAMERA 0x7F

#endif  // GUARD_CONSTANTS_EVENT_OBJECTS_H