pokeemerald/include/constants/event_objects.h
2023-02-08 13:11:10 -05:00

329 lines
16 KiB
C

#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_STILL 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_FRONT 197
#define OBJ_EVENT_GFX_GROUDON_FRONT 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_ASLEEP 205
#define OBJ_EVENT_GFX_GROUDON_ASLEEP 206
#define OBJ_EVENT_GFX_RAYQUAZA 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_SIDE 221
#define OBJ_EVENT_GFX_GROUDON_SIDE 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
// NOTE: By default, the max value for NUM_OBJ_EVENT_GFX is 239.
//
// Object event graphics ids are 1 byte in size (max value of 255), and the dynamic
// graphics ids that start after NUM_OBJ_EVENT_GFX reach this limit. No graphics id
// uses the value 239 itself, so removing the "+ 1" in OBJ_EVENT_GFX_VARS would
// allow increasing NUM_OBJ_EVENT_GFX to 240. There are also a handful of unused
// object graphics that can be removed. If more graphics are needed, anything that
// stores graphics ids will need to be increased in size. See wiki entry below:
// https://github.com/pret/pokeemerald/wiki/Feature-Branches#overworld-expansion
#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_KIND_NORMAL 0
#define OBJ_KIND_CLONE 255 // Exclusive to FRLG
// Special object event local ids
#define OBJ_EVENT_ID_PLAYER 0xFF
#define OBJ_EVENT_ID_CAMERA 0x7F
// Object event local ids referenced in C files
#define LOCALID_ROUTE111_PLAYER_FALLING 45
#define LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK 1
#define LOCALID_FARAWAY_ISLAND_MEW 1
#define LOCALID_UNION_ROOM_PLAYER_4 2
#define LOCALID_UNION_ROOM_PLAYER_8 3
#define LOCALID_UNION_ROOM_PLAYER_7 4
#define LOCALID_UNION_ROOM_PLAYER_6 5
#define LOCALID_UNION_ROOM_PLAYER_5 6
#define LOCALID_UNION_ROOM_PLAYER_3 7
#define LOCALID_UNION_ROOM_PLAYER_2 8
#define LOCALID_UNION_ROOM_PLAYER_1 9
#define LOCALID_BATTLE_TOWER_LOBBY_REPORTER 5
#define LOCALID_TRUCK_BOX_TOP 1
#define LOCALID_TRUCK_BOX_BOTTOM_L 2
#define LOCALID_TRUCK_BOX_BOTTOM_R 3
#define LOCALID_OLDALE_MART_CLERK 1
#define LOCALID_LAVARIDGE_MART_CLERK 1
#define LOCALID_FALLARBOR_MART_CLERK 1
#define LOCALID_VERDANTURF_MART_CLERK 1
#define LOCALID_PETALBURG_MART_CLERK 1
#define LOCALID_SLATEPORT_MART_CLERK 1
#define LOCALID_MAUVILLE_MART_CLERK 1
#define LOCALID_RUSTBORO_MART_CLERK 1
#define LOCALID_FORTREE_MART_CLERK 1
#define LOCALID_MOSSDEEP_MART_CLERK 1
#define LOCALID_SOOTOPOLIS_MART_CLERK 1
#define LOCALID_BATTLE_FRONTIER_MART_CLERK 1
#define LOCALID_SLATEPORT_ENERGY_GURU 25
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H