summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_setup.h4
-rw-r--r--include/berry.h16
-rw-r--r--include/constants/event_objects.h263
-rw-r--r--include/constants/map_objects.h263
-rw-r--r--include/constants/vars.h2
-rw-r--r--include/data/decoration/tiles.h90
-rw-r--r--include/event_data.h2
-rw-r--r--include/event_obj_lock.h11
-rw-r--r--include/event_object_movement.h652
-rw-r--r--include/field_control_avatar.h2
-rw-r--r--include/field_effect.h47
-rw-r--r--include/field_effect_helpers.h23
-rw-r--r--include/field_ground_effect.h24
-rw-r--r--include/field_map_obj.h103
-rw-r--r--include/field_map_obj_helpers.h35
-rw-r--r--include/field_player_avatar.h10
-rw-r--r--include/fieldmap.h1
-rw-r--r--include/global.fieldmap.h122
-rw-r--r--include/global.h6
-rw-r--r--include/load_save.h4
-rw-r--r--include/map_obj_lock.h11
-rw-r--r--include/mauville_old_man.h2
-rw-r--r--include/metatile_behavior.h2
-rw-r--r--include/overworld.h16
-rw-r--r--include/pokenav.h1
-rw-r--r--include/rom_81BE66C.h2
-rw-r--r--include/trainer_see.h12
27 files changed, 1119 insertions, 607 deletions
diff --git a/include/battle_setup.h b/include/battle_setup.h
index e4bae6fdb..0caa3df27 100644
--- a/include/battle_setup.h
+++ b/include/battle_setup.h
@@ -51,8 +51,8 @@ void ChooseStarter(void);
void ResetTrainerOpponentIds(void);
void SetMapVarsToTrainer(void);
const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
-void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript);
-void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript);
+void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript);
+void ConfigureTwoTrainersBattle(u8 trainerEventObjId, const u8 *trainerScript);
void SetUpTwoTrainersBattle(void);
bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
void sub_80B16D8(void);
diff --git a/include/berry.h b/include/berry.h
index 425a664c9..1a8b7fa25 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -23,9 +23,9 @@ enum
#define NUM_BERRIES 44
-extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES];
-extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES];
-extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES];
+extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[];
+extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
+extern const u8 *const gBerryTreePaletteSlotTablePointers[];
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
@@ -33,7 +33,7 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
bool32 IsEnigmaBerryValid(void);
const struct Berry *GetBerryInfo(u8 berry);
struct BerryTree *GetBerryTreeInfo(u8 id);
-bool32 FieldObjectInteractionWaterBerryTree(void);
+bool32 EventObjectInteractionWaterBerryTree(void);
bool8 IsPlayerFacingPlantedBerryTree(void);
bool8 TryToWaterBerryTree(void);
void ClearBerryTrees(void);
@@ -54,10 +54,10 @@ u8 CalcBerryYield(struct BerryTree *tree);
u8 GetBerryCountByBerryTreeId(u8 id);
u16 GetStageDurationByBerryType(u8);
void Bag_ChooseBerry(void);
-void FieldObjectInteractionGetBerryTreeData(void);
-void FieldObjectInteractionPlantBerryTree(void);
-void FieldObjectInteractionPickBerryTree(void);
-void FieldObjectInteractionRemoveBerryTree(void);
+void EventObjectInteractionGetBerryTreeData(void);
+void EventObjectInteractionPlantBerryTree(void);
+void EventObjectInteractionPickBerryTree(void);
+void EventObjectInteractionRemoveBerryTree(void);
u8 PlayerHasBerries(void);
void ResetBerryTreeSparkleFlags(void);
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
new file mode 100644
index 000000000..d04f0a1f9
--- /dev/null
+++ b/include/constants/event_objects.h
@@ -0,0 +1,263 @@
+#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_LITTLE_BOY_1 5
+#define EVENT_OBJ_GFX_LITTLE_GIRL_1 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_2 11
+#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12
+#define EVENT_OBJ_GFX_BOY_3 13
+#define EVENT_OBJ_GFX_GIRL_3 14
+#define EVENT_OBJ_GFX_BOY_4 15
+#define EVENT_OBJ_GFX_WOMAN_1 16
+#define EVENT_OBJ_GFX_FAT_MAN 17
+#define EVENT_OBJ_GFX_WOMAN_2 18
+#define EVENT_OBJ_GFX_MAN_1 19
+#define EVENT_OBJ_GFX_WOMAN_3 20
+#define EVENT_OBJ_GFX_OLD_MAN_1 21
+#define EVENT_OBJ_GFX_OLD_WOMAN_1 22
+#define EVENT_OBJ_GFX_MAN_2 23
+#define EVENT_OBJ_GFX_WOMAN_4 24
+#define EVENT_OBJ_GFX_MAN_3 25
+#define EVENT_OBJ_GFX_WOMAN_5 26
+#define EVENT_OBJ_GFX_COOK 27
+#define EVENT_OBJ_GFX_WOMAN_6 28
+#define EVENT_OBJ_GFX_OLD_MAN_2 29
+#define EVENT_OBJ_GFX_OLD_WOMAN_2 30
+#define EVENT_OBJ_GFX_CAMPER 31
+#define EVENT_OBJ_GFX_PICNICKER 32
+#define EVENT_OBJ_GFX_MAN_4 33
+#define EVENT_OBJ_GFX_WOMAN_7 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_5 65
+#define EVENT_OBJ_GFX_MAN_6 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_VIGAROTH_CARRYING_BOX 95
+#define EVENT_OBJ_GFX_VIGAROTH_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_MAN_7 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_BOY_5 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 EVENT_OBJ_GFX_BARD_2 239
+#define EVENT_OBJ_GFX_HIPSTER 240
+#define EVENT_OBJ_GFX_TRADER 241
+#define EVENT_OBJ_GFX_STORYTELLER 242
+#define EVENT_OBJ_GFX_GIDDY 243
+#define EVENT_OBJ_GFX_PLACEHOLDER_1 244
+#define EVENT_OBJ_GFX_PLACEHOLDER_2 245
+
+#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
+
+#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H
diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h
deleted file mode 100644
index d5b983005..000000000
--- a/include/constants/map_objects.h
+++ /dev/null
@@ -1,263 +0,0 @@
-#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H
-#define GUARD_CONSTANTS_MAP_OBJECTS_H
-
-#define MAP_OBJ_GFX_BRENDAN_NORMAL 0
-#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1
-#define MAP_OBJ_GFX_BRENDAN_SURFING 2
-#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3
-#define MAP_OBJ_GFX_QUINTY_PLUMP 4
-#define MAP_OBJ_GFX_LITTLE_BOY_1 5
-#define MAP_OBJ_GFX_LITTLE_GIRL_1 6
-#define MAP_OBJ_GFX_BOY_1 7
-#define MAP_OBJ_GFX_GIRL_1 8
-#define MAP_OBJ_GFX_BOY_2 9
-#define MAP_OBJ_GFX_GIRL_2 10
-#define MAP_OBJ_GFX_LITTLE_BOY_2 11
-#define MAP_OBJ_GFX_LITTLE_GIRL_2 12
-#define MAP_OBJ_GFX_BOY_3 13
-#define MAP_OBJ_GFX_GIRL_3 14
-#define MAP_OBJ_GFX_BOY_4 15
-#define MAP_OBJ_GFX_WOMAN_1 16
-#define MAP_OBJ_GFX_FAT_MAN 17
-#define MAP_OBJ_GFX_WOMAN_2 18
-#define MAP_OBJ_GFX_MAN_1 19
-#define MAP_OBJ_GFX_WOMAN_3 20
-#define MAP_OBJ_GFX_OLD_MAN_1 21
-#define MAP_OBJ_GFX_OLD_WOMAN_1 22
-#define MAP_OBJ_GFX_MAN_2 23
-#define MAP_OBJ_GFX_WOMAN_4 24
-#define MAP_OBJ_GFX_MAN_3 25
-#define MAP_OBJ_GFX_WOMAN_5 26
-#define MAP_OBJ_GFX_COOK 27
-#define MAP_OBJ_GFX_WOMAN_6 28
-#define MAP_OBJ_GFX_OLD_MAN_2 29
-#define MAP_OBJ_GFX_OLD_WOMAN_2 30
-#define MAP_OBJ_GFX_CAMPER 31
-#define MAP_OBJ_GFX_PICNICKER 32
-#define MAP_OBJ_GFX_MAN_4 33
-#define MAP_OBJ_GFX_WOMAN_7 34
-#define MAP_OBJ_GFX_YOUNGSTER 35
-#define MAP_OBJ_GFX_BUG_CATCHER 36
-#define MAP_OBJ_GFX_PSYCHIC_M 37
-#define MAP_OBJ_GFX_SCHOOL_KID_M 38
-#define MAP_OBJ_GFX_MANIAC 39
-#define MAP_OBJ_GFX_HEX_MANIAC 40
-#define MAP_OBJ_GFX_RAYQUAZA_1 41
-#define MAP_OBJ_GFX_SWIMMER_M 42
-#define MAP_OBJ_GFX_SWIMMER_F 43
-#define MAP_OBJ_GFX_BLACK_BELT 44
-#define MAP_OBJ_GFX_BEAUTY 45
-#define MAP_OBJ_GFX_SCIENTIST_1 46
-#define MAP_OBJ_GFX_LASS 47
-#define MAP_OBJ_GFX_GENTLEMAN 48
-#define MAP_OBJ_GFX_SAILOR 49
-#define MAP_OBJ_GFX_FISHERMAN 50
-#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51
-#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52
-#define MAP_OBJ_GFX_TUBER_F 53
-#define MAP_OBJ_GFX_TUBER_M 54
-#define MAP_OBJ_GFX_HIKER 55
-#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56
-#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57
-#define MAP_OBJ_GFX_NURSE 58
-#define MAP_OBJ_GFX_ITEM_BALL 59
-#define MAP_OBJ_GFX_BERRY_TREE 60
-#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
-#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
-#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63
-#define MAP_OBJ_GFX_PROF_BIRCH 64
-#define MAP_OBJ_GFX_MAN_5 65
-#define MAP_OBJ_GFX_MAN_6 66
-#define MAP_OBJ_GFX_REPORTER_M 67
-#define MAP_OBJ_GFX_REPORTER_F 68
-#define MAP_OBJ_GFX_BARD 69
-#define MAP_OBJ_GFX_ANABEL 70
-#define MAP_OBJ_GFX_TUCKER 71
-#define MAP_OBJ_GFX_GRETA 72
-#define MAP_OBJ_GFX_SPENSER 73
-#define MAP_OBJ_GFX_NOLAND 74
-#define MAP_OBJ_GFX_LUCY 75
-#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76
-#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
-#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
-#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79
-#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
-#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
-#define MAP_OBJ_GFX_CUTTABLE_TREE 82
-#define MAP_OBJ_GFX_MART_EMPLOYEE 83
-#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
-#define MAP_OBJ_GFX_TEALA 85
-#define MAP_OBJ_GFX_BREAKABLE_ROCK 86
-#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87
-#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88
-#define MAP_OBJ_GFX_MAY_NORMAL 89
-#define MAP_OBJ_GFX_MAY_MACH_BIKE 90
-#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91
-#define MAP_OBJ_GFX_MAY_SURFING 92
-#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93
-#define MAP_OBJ_GFX_TRUCK 94
-#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
-#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96
-#define MAP_OBJ_GFX_BIRCHS_BAG 97
-#define MAP_OBJ_GFX_ZIGZAGOON_1 98
-#define MAP_OBJ_GFX_ARTIST 99
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
-#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
-#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105
-#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
-#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
-#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108
-#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
-#define MAP_OBJ_GFX_CAMERAMAN 110
-#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111
-#define MAP_OBJ_GFX_MAY_UNDERWATER 112
-#define MAP_OBJ_GFX_MOVING_BOX 113
-#define MAP_OBJ_GFX_CABLE_CAR 114
-#define MAP_OBJ_GFX_SCIENTIST_2 115
-#define MAP_OBJ_GFX_MAN_7 116
-#define MAP_OBJ_GFX_AQUA_MEMBER_M 117
-#define MAP_OBJ_GFX_AQUA_MEMBER_F 118
-#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119
-#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120
-#define MAP_OBJ_GFX_SIDNEY 121
-#define MAP_OBJ_GFX_PHOEBE 122
-#define MAP_OBJ_GFX_GLACIA 123
-#define MAP_OBJ_GFX_DRAKE 124
-#define MAP_OBJ_GFX_ROXANNE 125
-#define MAP_OBJ_GFX_BRAWLY 126
-#define MAP_OBJ_GFX_WATTSON 127
-#define MAP_OBJ_GFX_FLANNERY 128
-#define MAP_OBJ_GFX_NORMAN 129
-#define MAP_OBJ_GFX_WINONA 130
-#define MAP_OBJ_GFX_LIZA 131
-#define MAP_OBJ_GFX_TATE 132
-#define MAP_OBJ_GFX_WALLACE 133
-#define MAP_OBJ_GFX_STEVEN 134
-#define MAP_OBJ_GFX_WALLY 135
-#define MAP_OBJ_GFX_LITTLE_BOY_3 136
-#define MAP_OBJ_GFX_BRENDAN_FISHING 137
-#define MAP_OBJ_GFX_MAY_FISHING 138
-#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
-#define MAP_OBJ_GFX_SS_TIDAL 140
-#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141
-#define MAP_OBJ_GFX_PICHU_DOLL 142
-#define MAP_OBJ_GFX_PIKACHU_DOLL 143
-#define MAP_OBJ_GFX_MARILL_DOLL 144
-#define MAP_OBJ_GFX_TOGEPI_DOLL 145
-#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146
-#define MAP_OBJ_GFX_CHIKORITA_DOLL 147
-#define MAP_OBJ_GFX_TOTODILE_DOLL 148
-#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149
-#define MAP_OBJ_GFX_MEOWTH_DOLL 150
-#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151
-#define MAP_OBJ_GFX_DITTO_DOLL 152
-#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153
-#define MAP_OBJ_GFX_TREECKO_DOLL 154
-#define MAP_OBJ_GFX_TORCHIC_DOLL 155
-#define MAP_OBJ_GFX_MUDKIP_DOLL 156
-#define MAP_OBJ_GFX_DUSKULL_DOLL 157
-#define MAP_OBJ_GFX_WYNAUT_DOLL 158
-#define MAP_OBJ_GFX_BALTOY_DOLL 159
-#define MAP_OBJ_GFX_KECLEON_DOLL 160
-#define MAP_OBJ_GFX_AZURILL_DOLL 161
-#define MAP_OBJ_GFX_SKITTY_DOLL 162
-#define MAP_OBJ_GFX_SWABLU_DOLL 163
-#define MAP_OBJ_GFX_GULPIN_DOLL 164
-#define MAP_OBJ_GFX_LOTAD_DOLL 165
-#define MAP_OBJ_GFX_SEEDOT_DOLL 166
-#define MAP_OBJ_GFX_PIKA_CUSHION 167
-#define MAP_OBJ_GFX_ROUND_CUSHION 168
-#define MAP_OBJ_GFX_KISS_CUSHION 169
-#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170
-#define MAP_OBJ_GFX_SPIN_CUSHION 171
-#define MAP_OBJ_GFX_DIAMOND_CUSHION 172
-#define MAP_OBJ_GFX_BALL_CUSHION 173
-#define MAP_OBJ_GFX_GRASS_CUSHION 174
-#define MAP_OBJ_GFX_FIRE_CUSHION 175
-#define MAP_OBJ_GFX_WATER_CUSHION 176
-#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177
-#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178
-#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179
-#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180
-#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181
-#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182
-#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183
-#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184
-#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185
-#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186
-#define MAP_OBJ_GFX_LATIAS 187
-#define MAP_OBJ_GFX_LATIOS 188
-#define MAP_OBJ_GFX_BOY_5 189
-#define MAP_OBJ_GFX_CONTEST_JUDGE 190
-#define MAP_OBJ_GFX_BRENDAN_WATERING 191
-#define MAP_OBJ_GFX_MAY_WATERING 192
-#define MAP_OBJ_GFX_BRENDAN_DECORATING 193
-#define MAP_OBJ_GFX_MAY_DECORATING 194
-#define MAP_OBJ_GFX_ARCHIE 195
-#define MAP_OBJ_GFX_MAXIE 196
-#define MAP_OBJ_GFX_KYOGRE_1 197
-#define MAP_OBJ_GFX_GROUDON_1 198
-#define MAP_OBJ_GFX_FOSSIL 199
-#define MAP_OBJ_GFX_REGIROCK 200
-#define MAP_OBJ_GFX_REGICE 201
-#define MAP_OBJ_GFX_REGISTEEL 202
-#define MAP_OBJ_GFX_SKITTY 203
-#define MAP_OBJ_GFX_KECLEON_1 204
-#define MAP_OBJ_GFX_KYOGRE_2 205
-#define MAP_OBJ_GFX_GROUDON_2 206
-#define MAP_OBJ_GFX_RAYQUAZA_2 207
-#define MAP_OBJ_GFX_ZIGZAGOON_2 208
-#define MAP_OBJ_GFX_PIKACHU 209
-#define MAP_OBJ_GFX_AZUMARILL 210
-#define MAP_OBJ_GFX_WINGULL 211
-#define MAP_OBJ_GFX_KECLEON_2 212
-#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213
-#define MAP_OBJ_GFX_AZURILL 214
-#define MAP_OBJ_GFX_MOM 215
-#define MAP_OBJ_GFX_LINK_BRENDAN 216
-#define MAP_OBJ_GFX_LINK_MAY 217
-#define MAP_OBJ_GFX_JUAN 218
-#define MAP_OBJ_GFX_SCOTT 219
-#define MAP_OBJ_GFX_POOCHYENA 220
-#define MAP_OBJ_GFX_KYOGRE_3 221
-#define MAP_OBJ_GFX_GROUDON_3 222
-#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223
-#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224
-#define MAP_OBJ_GFX_KIRLIA 225
-#define MAP_OBJ_GFX_DUSCLOPS 226
-#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227
-#define MAP_OBJ_GFX_SUDOWOODO 228
-#define MAP_OBJ_GFX_MEW 229
-#define MAP_OBJ_GFX_RED 230
-#define MAP_OBJ_GFX_LEAF 231
-#define MAP_OBJ_GFX_DEOXYS 232
-#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233
-#define MAP_OBJ_GFX_BRANDON 234
-#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235
-#define MAP_OBJ_GFX_LINK_RS_MAY 236
-#define MAP_OBJ_GFX_LUGIA 237
-#define MAP_OBJ_GFX_HOOH 238
-#define MAP_OBJ_GFX_BARD_2 239
-#define MAP_OBJ_GFX_HIPSTER 240
-#define MAP_OBJ_GFX_TRADER 241
-#define MAP_OBJ_GFX_STORYTELLER 242
-#define MAP_OBJ_GFX_GIDDY 243
-#define MAP_OBJ_GFX_PLACEHOLDER_1 244
-#define MAP_OBJ_GFX_PLACEHOLDER_2 245
-
-#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
-
-#endif // GUARD_CONSTANTS_MAP_OBJECTS_H
diff --git a/include/constants/vars.h b/include/constants/vars.h
index 976c6a739..ed4a7797b 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -27,7 +27,7 @@
// 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 VarGetFieldObjectGraphicsId().
+// See VarGetEventObjectGraphicsId().
#define VAR_OBJ_GFX_ID_0 0x4010
#define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_2 0x4012
diff --git a/include/data/decoration/tiles.h b/include/data/decoration/tiles.h
index 9a3f8a222..6b3ed699f 100644
--- a/include/data/decoration/tiles.h
+++ b/include/data/decoration/tiles.h
@@ -464,183 +464,183 @@ const u16 DecorGfx_KISS_POSTER[] = {
};
const u16 DecorGfx_PICHU_DOLL[] = {
- MAP_OBJ_GFX_PICHU_DOLL
+ EVENT_OBJ_GFX_PICHU_DOLL
};
const u16 DecorGfx_PIKACHU_DOLL[] = {
- MAP_OBJ_GFX_PIKACHU_DOLL
+ EVENT_OBJ_GFX_PIKACHU_DOLL
};
const u16 DecorGfx_MARILL_DOLL[] = {
- MAP_OBJ_GFX_MARILL_DOLL
+ EVENT_OBJ_GFX_MARILL_DOLL
};
const u16 DecorGfx_TOGEPI_DOLL[] = {
- MAP_OBJ_GFX_TOGEPI_DOLL
+ EVENT_OBJ_GFX_TOGEPI_DOLL
};
const u16 DecorGfx_CYNDAQUIL_DOLL[] = {
- MAP_OBJ_GFX_CYNDAQUIL_DOLL
+ EVENT_OBJ_GFX_CYNDAQUIL_DOLL
};
const u16 DecorGfx_CHIKORITA_DOLL[] = {
- MAP_OBJ_GFX_CHIKORITA_DOLL
+ EVENT_OBJ_GFX_CHIKORITA_DOLL
};
const u16 DecorGfx_TOTODILE_DOLL[] = {
- MAP_OBJ_GFX_TOTODILE_DOLL
+ EVENT_OBJ_GFX_TOTODILE_DOLL
};
const u16 DecorGfx_JIGGLYPUFF_DOLL[] = {
- MAP_OBJ_GFX_JIGGLYPUFF_DOLL
+ EVENT_OBJ_GFX_JIGGLYPUFF_DOLL
};
const u16 DecorGfx_MEOWTH_DOLL[] = {
- MAP_OBJ_GFX_MEOWTH_DOLL
+ EVENT_OBJ_GFX_MEOWTH_DOLL
};
const u16 DecorGfx_CLEFAIRY_DOLL[] = {
- MAP_OBJ_GFX_CLEFAIRY_DOLL
+ EVENT_OBJ_GFX_CLEFAIRY_DOLL
};
const u16 DecorGfx_DITTO_DOLL[] = {
- MAP_OBJ_GFX_DITTO_DOLL
+ EVENT_OBJ_GFX_DITTO_DOLL
};
const u16 DecorGfx_SMOOCHUM_DOLL[] = {
- MAP_OBJ_GFX_SMOOCHUM_DOLL
+ EVENT_OBJ_GFX_SMOOCHUM_DOLL
};
const u16 DecorGfx_TREECKO_DOLL[] = {
- MAP_OBJ_GFX_TREECKO_DOLL
+ EVENT_OBJ_GFX_TREECKO_DOLL
};
const u16 DecorGfx_TORCHIC_DOLL[] = {
- MAP_OBJ_GFX_TORCHIC_DOLL
+ EVENT_OBJ_GFX_TORCHIC_DOLL
};
const u16 DecorGfx_MUDKIP_DOLL[] = {
- MAP_OBJ_GFX_MUDKIP_DOLL
+ EVENT_OBJ_GFX_MUDKIP_DOLL
};
const u16 DecorGfx_DUSKULL_DOLL[] = {
- MAP_OBJ_GFX_DUSKULL_DOLL
+ EVENT_OBJ_GFX_DUSKULL_DOLL
};
const u16 DecorGfx_WYNAUT_DOLL[] = {
- MAP_OBJ_GFX_WYNAUT_DOLL
+ EVENT_OBJ_GFX_WYNAUT_DOLL
};
const u16 DecorGfx_BALTOY_DOLL[] = {
- MAP_OBJ_GFX_BALTOY_DOLL
+ EVENT_OBJ_GFX_BALTOY_DOLL
};
const u16 DecorGfx_KECLEON_DOLL[] = {
- MAP_OBJ_GFX_KECLEON_DOLL
+ EVENT_OBJ_GFX_KECLEON_DOLL
};
const u16 DecorGfx_AZURILL_DOLL[] = {
- MAP_OBJ_GFX_AZURILL_DOLL
+ EVENT_OBJ_GFX_AZURILL_DOLL
};
const u16 DecorGfx_SKITTY_DOLL[] = {
- MAP_OBJ_GFX_SKITTY_DOLL
+ EVENT_OBJ_GFX_SKITTY_DOLL
};
const u16 DecorGfx_SWABLU_DOLL[] = {
- MAP_OBJ_GFX_SWABLU_DOLL
+ EVENT_OBJ_GFX_SWABLU_DOLL
};
const u16 DecorGfx_GULPIN_DOLL[] = {
- MAP_OBJ_GFX_GULPIN_DOLL
+ EVENT_OBJ_GFX_GULPIN_DOLL
};
const u16 DecorGfx_LOTAD_DOLL[] = {
- MAP_OBJ_GFX_LOTAD_DOLL
+ EVENT_OBJ_GFX_LOTAD_DOLL
};
const u16 DecorGfx_SEEDOT_DOLL[] = {
- MAP_OBJ_GFX_SEEDOT_DOLL
+ EVENT_OBJ_GFX_SEEDOT_DOLL
};
const u16 DecorGfx_PIKA_CUSHION[] = {
- MAP_OBJ_GFX_PIKA_CUSHION
+ EVENT_OBJ_GFX_PIKA_CUSHION
};
const u16 DecorGfx_ROUND_CUSHION[] = {
- MAP_OBJ_GFX_ROUND_CUSHION
+ EVENT_OBJ_GFX_ROUND_CUSHION
};
const u16 DecorGfx_KISS_CUSHION[] = {
- MAP_OBJ_GFX_KISS_CUSHION
+ EVENT_OBJ_GFX_KISS_CUSHION
};
const u16 DecorGfx_ZIGZAG_CUSHION[] = {
- MAP_OBJ_GFX_ZIGZAG_CUSHION
+ EVENT_OBJ_GFX_ZIGZAG_CUSHION
};
const u16 DecorGfx_SPIN_CUSHION[] = {
- MAP_OBJ_GFX_SPIN_CUSHION
+ EVENT_OBJ_GFX_SPIN_CUSHION
};
const u16 DecorGfx_DIAMOND_CUSHION[] = {
- MAP_OBJ_GFX_DIAMOND_CUSHION
+ EVENT_OBJ_GFX_DIAMOND_CUSHION
};
const u16 DecorGfx_BALL_CUSHION[] = {
- MAP_OBJ_GFX_BALL_CUSHION
+ EVENT_OBJ_GFX_BALL_CUSHION
};
const u16 DecorGfx_GRASS_CUSHION[] = {
- MAP_OBJ_GFX_GRASS_CUSHION
+ EVENT_OBJ_GFX_GRASS_CUSHION
};
const u16 DecorGfx_FIRE_CUSHION[] = {
- MAP_OBJ_GFX_FIRE_CUSHION
+ EVENT_OBJ_GFX_FIRE_CUSHION
};
const u16 DecorGfx_WATER_CUSHION[] = {
- MAP_OBJ_GFX_WATER_CUSHION
+ EVENT_OBJ_GFX_WATER_CUSHION
};
const u16 DecorGfx_SNORLAX_DOLL[] = {
- MAP_OBJ_GFX_BIG_SNORLAX_DOLL
+ EVENT_OBJ_GFX_BIG_SNORLAX_DOLL
};
const u16 DecorGfx_RHYDON_DOLL[] = {
- MAP_OBJ_GFX_BIG_RHYDON_DOLL
+ EVENT_OBJ_GFX_BIG_RHYDON_DOLL
};
const u16 DecorGfx_LAPRAS_DOLL[] = {
- MAP_OBJ_GFX_BIG_LAPRAS_DOLL
+ EVENT_OBJ_GFX_BIG_LAPRAS_DOLL
};
const u16 DecorGfx_VENUSAUR_DOLL[] = {
- MAP_OBJ_GFX_BIG_VENUSAUR_DOLL
+ EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL
};
const u16 DecorGfx_CHARIZARD_DOLL[] = {
- MAP_OBJ_GFX_BIG_CHARIZARD_DOLL
+ EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL
};
const u16 DecorGfx_BLASTOISE_DOLL[] = {
- MAP_OBJ_GFX_BIG_BLASTOISE_DOLL
+ EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL
};
const u16 DecorGfx_WAILMER_DOLL[] = {
- MAP_OBJ_GFX_BIG_WAILMER_DOLL
+ EVENT_OBJ_GFX_BIG_WAILMER_DOLL
};
const u16 DecorGfx_REGIROCK_DOLL[] = {
- MAP_OBJ_GFX_BIG_REGIROCK_DOLL
+ EVENT_OBJ_GFX_BIG_REGIROCK_DOLL
};
const u16 DecorGfx_REGICE_DOLL[] = {
- MAP_OBJ_GFX_BIG_REGICE_DOLL
+ EVENT_OBJ_GFX_BIG_REGICE_DOLL
};
const u16 DecorGfx_REGISTEEL_DOLL[] = {
- MAP_OBJ_GFX_BIG_REGISTEEL_DOLL
+ EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL
};
#endif // GUARD_DATA_DECORATION_TILES
diff --git a/include/event_data.h b/include/event_data.h
index f829d3b87..e09b32d44 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -24,7 +24,7 @@ bool32 CanResetRTC(void);
u16 *GetVarPointer(u16 id);
u16 VarGet(u16 id);
bool8 VarSet(u16 id, u16 value);
-u8 VarGetFieldObjectGraphicsId(u8 id);
+u8 VarGetEventObjectGraphicsId(u8 id);
u8 *GetFlagPointer(u16 id);
u8 FlagSet(u16 id);
u8 FlagClear(u16 id);
diff --git a/include/event_obj_lock.h b/include/event_obj_lock.h
new file mode 100644
index 000000000..59532fdcb
--- /dev/null
+++ b/include/event_obj_lock.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_EVENT_OBJ_LOCK_H
+#define GUARD_EVENT_OBJ_LOCK_H
+
+bool8 sub_80983C4(void);
+void ScriptFreezeEventObjects(void);
+bool8 sub_809847C(void);
+void LockSelectedEventObject(void);
+void sub_8098630(void);
+bool8 sub_8098734(void);
+
+#endif // GUARD_EVENT_OBJ_LOCK_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
new file mode 100644
index 000000000..8a1749b0b
--- /dev/null
+++ b/include/event_object_movement.h
@@ -0,0 +1,652 @@
+#ifndef GUARD_FIELD_EVENT_OBJ_H
+#define GUARD_FIELD_EVENT_OBJ_H
+
+#define NUM_OBJECT_GRAPHICS_INFO 239
+#define SPRITE_VAR 240
+
+enum
+{
+ MOVEMENT_TYPE_NONE,
+ MOVEMENT_TYPE_LOOK_AROUND,
+ MOVEMENT_TYPE_WANDER_AROUND,
+ MOVEMENT_TYPE_WANDER_UP_AND_DOWN,
+ MOVEMENT_TYPE_WANDER_DOWN_AND_UP,
+ MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT,
+ MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT,
+ MOVEMENT_TYPE_FACE_UP,
+ MOVEMENT_TYPE_FACE_DOWN,
+ MOVEMENT_TYPE_FACE_LEFT,
+ MOVEMENT_TYPE_FACE_RIGHT,
+ MOVEMENT_TYPE_PLAYER,
+ MOVEMENT_TYPE_BERRY_TREE_GROWTH,
+ MOVEMENT_TYPE_FACE_DOWN_AND_UP,
+ MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT,
+ MOVEMENT_TYPE_FACE_UP_AND_LEFT,
+ MOVEMENT_TYPE_FACE_UP_AND_RIGHT,
+ MOVEMENT_TYPE_FACE_DOWN_AND_LEFT,
+ MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT,
+ MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT,
+ MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT,
+ MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT,
+ MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT,
+ MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE,
+ MOVEMENT_TYPE_ROTATE_CLOCKWISE,
+ MOVEMENT_TYPE_WALK_UP_AND_DOWN,
+ MOVEMENT_TYPE_WALK_DOWN_AND_UP,
+ MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT,
+ MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT,
+ MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN,
+ MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP,
+ MOVEMENT_TYPE_COPY_PLAYER,
+ MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE,
+ MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE,
+ MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE,
+ MOVEMENT_TYPE_TREE_DISGUISE,
+ MOVEMENT_TYPE_MOUNTAIN_DISGUISE,
+ MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS,
+ MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS,
+ MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS,
+ MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS,
+ MOVEMENT_TYPE_HIDDEN,
+ MOVEMENT_TYPE_WALK_IN_PLACE_DOWN,
+ MOVEMENT_TYPE_WALK_IN_PLACE_UP,
+ MOVEMENT_TYPE_WALK_IN_PLACE_LEFT,
+ MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT,
+ MOVEMENT_TYPE_JOG_IN_PLACE_DOWN,
+ MOVEMENT_TYPE_JOG_IN_PLACE_UP,
+ MOVEMENT_TYPE_JOG_IN_PLACE_LEFT,
+ MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT,
+ MOVEMENT_TYPE_RUN_IN_PLACE_DOWN,
+ MOVEMENT_TYPE_RUN_IN_PLACE_UP,
+ MOVEMENT_TYPE_RUN_IN_PLACE_LEFT,
+ MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT,
+ MOVEMENT_TYPE_INVISIBLE,
+ MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN,
+ MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP,
+ MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT,
+ MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT,
+};
+
+enum
+{
+ MOVEMENT_ACTION_FACE_DOWN,
+ MOVEMENT_ACTION_FACE_UP,
+ MOVEMENT_ACTION_FACE_LEFT,
+ MOVEMENT_ACTION_FACE_RIGHT,
+ MOVEMENT_ACTION_WALK_SLOW_DOWN,
+ MOVEMENT_ACTION_WALK_SLOW_UP,
+ MOVEMENT_ACTION_WALK_SLOW_LEFT,
+ MOVEMENT_ACTION_WALK_SLOW_RIGHT,
+ MOVEMENT_ACTION_WALK_NORMAL_DOWN,
+ MOVEMENT_ACTION_WALK_NORMAL_UP,
+ MOVEMENT_ACTION_WALK_NORMAL_LEFT,
+ MOVEMENT_ACTION_WALK_NORMAL_RIGHT,
+ MOVEMENT_ACTION_JUMP_2_DOWN,
+ MOVEMENT_ACTION_JUMP_2_UP,
+ MOVEMENT_ACTION_JUMP_2_LEFT,
+ MOVEMENT_ACTION_JUMP_2_RIGHT,
+ MOVEMENT_ACTION_DELAY_1,
+ MOVEMENT_ACTION_DELAY_2,
+ MOVEMENT_ACTION_DELAY_4,
+ MOVEMENT_ACTION_DELAY_8,
+ MOVEMENT_ACTION_DELAY_16,
+ MOVEMENT_ACTION_WALK_FAST_DOWN,
+ MOVEMENT_ACTION_WALK_FAST_UP,
+ MOVEMENT_ACTION_WALK_FAST_LEFT,
+ MOVEMENT_ACTION_WALK_FAST_RIGHT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN,
+ MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP,
+ MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN,
+ MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP,
+ MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT,
+ MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT,
+ MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN,
+ MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP,
+ MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT,
+ MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT,
+ MOVEMENT_ACTION_WALK_FASTEST_DOWN,
+ MOVEMENT_ACTION_WALK_FASTEST_UP,
+ MOVEMENT_ACTION_WALK_FASTEST_LEFT,
+ MOVEMENT_ACTION_WALK_FASTEST_RIGHT,
+ MOVEMENT_ACTION_SLIDE_DOWN,
+ MOVEMENT_ACTION_SLIDE_UP,
+ MOVEMENT_ACTION_SLIDE_LEFT,
+ MOVEMENT_ACTION_SLIDE_RIGHT,
+ MOVEMENT_ACTION_PLAYER_RUN_DOWN,
+ MOVEMENT_ACTION_PLAYER_RUN_UP,
+ MOVEMENT_ACTION_PLAYER_RUN_LEFT,
+ MOVEMENT_ACTION_PLAYER_RUN_RIGHT,
+ MOVEMENT_ACTION_START_ANIM_IN_DIRECTION,
+ MOVEMENT_ACTION_JUMP_SPECIAL_DOWN,
+ MOVEMENT_ACTION_JUMP_SPECIAL_UP,
+ MOVEMENT_ACTION_JUMP_SPECIAL_LEFT,
+ MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT,
+ MOVEMENT_ACTION_FACE_PLAYER,
+ MOVEMENT_ACTION_FACE_AWAY_PLAYER,
+ MOVEMENT_ACTION_LOCK_FACING_DIRECTION,
+ MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION,
+ MOVEMENT_ACTION_JUMP_DOWN,
+ MOVEMENT_ACTION_JUMP_UP,
+ MOVEMENT_ACTION_JUMP_LEFT,
+ MOVEMENT_ACTION_JUMP_RIGHT,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_UP,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT,
+ MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT,
+ MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION,
+ MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN,
+ MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT,
+ MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT,
+ MOVEMENT_ACTION_DISABLE_ANIMATION,
+ MOVEMENT_ACTION_RESTORE_ANIMATION,
+ MOVEMENT_ACTION_SET_INVISIBLE,
+ MOVEMENT_ACTION_SET_VISIBLE,
+ MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK,
+ MOVEMENT_ACTION_EMOTE_QUESTION_MARK,
+ MOVEMENT_ACTION_EMOTE_HEART,
+ MOVEMENT_ACTION_REVEAL_TRAINER,
+ MOVEMENT_ACTION_ROCK_SMASH_BREAK,
+ MOVEMENT_ACTION_CUT_TREE,
+ MOVEMENT_ACTION_SET_FIXED_PRIORITY,
+ MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY,
+ MOVEMENT_ACTION_INIT_AFFINE_ANIM,
+ MOVEMENT_ACTION_CLEAR_AFFINE_ANIM,
+ MOVEMENT_ACTION_UNKNOWN1,
+ MOVEMENT_ACTION_UNKNOWN2,
+ MOVEMENT_ACTION_WALK_DOWN_START_AFFINE,
+ MOVEMENT_ACTION_WALK_DOWN_AFFINE,
+ MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT,
+ MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN,
+ MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP,
+ MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT,
+ MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT,
+ MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT,
+ MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT,
+ MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT,
+ MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT,
+ MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT,
+ MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT,
+ MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT,
+ MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT,
+ MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT,
+ MOVEMENT_ACTION_STORE_AND_LOCK_ANIM,
+ MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM,
+ MOVEMENT_ACTION_WALK_LEFT_AFFINE,
+ MOVEMENT_ACTION_WALK_RIGHT_AFFINE,
+ MOVEMENT_ACTION_LEVITATE,
+ MOVEMENT_ACTION_STOP_LEVITATE,
+ MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP,
+ MOVEMENT_ACTION_FIGURE_8,
+ MOVEMENT_ACTION_FLY_UP,
+ MOVEMENT_ACTION_FLY_DOWN,
+};
+
+enum SpinnerRunnerFollowPatterns
+{
+ RUNFOLLOW_ANY,
+ RUNFOLLOW_NORTH_SOUTH,
+ RUNFOLLOW_EAST_WEST,
+ RUNFOLLOW_NORTH_WEST,
+ RUNFOLLOW_NORTH_EAST,
+ RUNFOLLOW_SOUTH_WEST,
+ RUNFOLLOW_SOUTH_EAST,
+ RUNFOLLOW_NORTH_SOUTH_WEST,
+ RUNFOLLOW_NORTH_SOUTH_EAST,
+ RUNFOLLOW_NORTH_EAST_WEST,
+ RUNFOLLOW_SOUTH_EAST_WEST
+};
+
+struct UnkStruct_085094AC {
+ const union AnimCmd *const *anims;
+ u8 animPos[4];
+};
+
+#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0)
+#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1)
+#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN (1 << 2)
+#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE (1 << 3)
+#define GROUND_EFFECT_FLAG_ICE_REFLECTION (1 << 4)
+#define GROUND_EFFECT_FLAG_REFLECTION (1 << 5)
+#define GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER (1 << 6)
+#define GROUND_EFFECT_FLAG_SAND (1 << 7)
+#define GROUND_EFFECT_FLAG_DEEP_SAND (1 << 8)
+#define GROUND_EFFECT_FLAG_RIPPLES (1 << 9)
+#define GROUND_EFFECT_FLAG_PUDDLE (1 << 10)
+#define GROUND_EFFECT_FLAG_SAND_PILE (1 << 11)
+#define GROUND_EFFECT_FLAG_LAND_IN_TALL_GRASS (1 << 12)
+#define GROUND_EFFECT_FLAG_LAND_IN_LONG_GRASS (1 << 13)
+#define GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER (1 << 14)
+#define GROUND_EFFECT_FLAG_LAND_IN_DEEP_WATER (1 << 15)
+#define GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND (1 << 16)
+#define GROUND_EFFECT_FLAG_SHORT_GRASS (1 << 17)
+#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
+#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
+
+#define movement_type_def(setup, table) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return table[sprite->data[1]](eventObject, sprite);\
+}
+
+#define movement_type_empty_callback(setup) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
+void setup(struct Sprite *sprite)\
+{\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
+}\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
+{\
+ return 0;\
+}
+
+struct PairedPalettes
+{
+ u16 tag;
+ const u16 *data;
+};
+
+struct LockedAnimEventObjects
+{
+ u8 eventObjectIds[NUM_EVENT_OBJECTS];
+ u8 count;
+};
+
+extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
+
+void sub_808D438(void);
+u8 GetMoveDirectionAnimNum(u8);
+u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8);
+bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
+u8 GetEventObjectIdByXY(s16, s16);
+void SetEventObjectDirection(struct EventObject *, u8);
+u8 GetFirstInactiveEventObjectId(void);
+void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
+void npc_load_two_palettes__no_record(u16, u8);
+void npc_load_two_palettes__and_record(u16, u8);
+void sub_808EBA8(u8, u8, u8, s16, s16);
+void pal_patch_for_npc(u16, u8);
+void sub_808E16C(s16, s16);
+void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
+void sub_8092FF0(s16, s16, s16 *, s16 *);
+u8 GetFaceDirectionAnimNum(u8);
+void sub_80930E0(s16 *, s16 *, s16, s16);
+void EventObjectClearHeldMovement(struct EventObject *);
+void EventObjectClearHeldMovementIfActive(struct EventObject *);
+void TrySpawnEventObjects(s16, s16);
+u8 sprite_new(u8, u8, s16, s16, u8, u8);
+u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8);
+u8 show_sprite(u8, u8, u8);
+u8 SpawnSpecialEventObjectParametrized(u8, u8, u8, s16, s16, u8);
+u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
+void sub_8093038(s16, s16, s16 *, s16 *);
+void CameraObjectReset1(void);
+void EventObjectSetGraphicsId(struct EventObject *, u8);
+void EventObjectTurn(struct EventObject *, u8);
+void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
+const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8);
+void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
+void gpu_pal_allocator_reset__manage_upper_four(void);
+void sub_808E82C(u8, u8, u8, s16, s16);
+void sub_808E7E4(u8, u8, u8);
+void sub_808E78C(u8, u8, u8, u8);
+void sub_808E75C(s16, s16);
+void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup);
+void ShiftEventObjectCoords(struct EventObject *, s16, s16);
+void sub_808EB08(struct EventObject *, s16, s16);
+void sub_808F254(u8, u8, u8);
+void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *));
+u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
+u8 GetOppositeDirection(u8);
+u8 GetWalkInPlaceFastestMovementAction(u32);
+u8 GetWalkInPlaceFastMovementAction(u32);
+u8 GetWalkInPlaceNormalMovementAction(u32);
+u8 GetWalkInPlaceSlowMovementAction(u32);
+u8 GetCollisionAtCoords(struct EventObject *, s16, s16, u32);
+void MoveCoords(u8, s16 *, s16 *);
+bool8 EventObjectIsHeldMovementActive(struct EventObject *);
+u8 EventObjectClearHeldMovementIfFinished(struct EventObject *);
+u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z);
+void SetTrainerMovementType(struct EventObject *eventObject, u8 movementType);
+u8 GetTrainerFacingDirectionMovementType(u8 direction);
+const u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId);
+u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction);
+u8 GetFaceDirectionMovementAction(u32);
+u8 GetWalkNormalMovementAction(u32);
+u8 GetWalkFastMovementAction(u32);
+u8 GetWalkFastestMovementAction(u32);
+u8 GetJumpInPlaceMovementAction(u32);
+bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId);
+bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject);
+u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject);
+void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType);
+void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject);
+void ShiftStillEventObjectCoords(struct EventObject *pObject);
+void EventObjectMoveDestCoords(struct EventObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
+u8 AddCameraObject(u8 linkedSpriteId);
+void UpdateEventObjectsForCameraUpdate(s16 x, s16 y);
+u8 GetWalkSlowMovementAction(u32);
+u8 GetJumpMovementAction(u32);
+bool8 AreZCoordsCompatible(u8, u8);
+u8 ZCoordToPriority(u8);
+void EventObjectUpdateZCoord(struct EventObject *pObject);
+void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
+bool8 IsZCoordMismatchAt(u8, s16, s16);
+void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *);
+void UnfreezeEventObject(struct EventObject *);
+void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
+u8 FindLockedEventObjectIndex(struct EventObject *);
+bool8 obj_npc_ministep(struct Sprite *sprite);
+bool8 sub_80976EC(struct Sprite *sprite);
+void sub_80976DC(struct Sprite *, u8);
+void sub_809783C(struct Sprite *, u8, u8, u8);
+void DoShadowFieldEffect(struct EventObject *);
+u8 sub_809785C(struct Sprite *);
+u8 sub_80978E4(struct Sprite *);
+void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
+bool8 SpriteAnimEnded(struct Sprite *);
+void sub_8097750(struct Sprite *);
+bool8 sub_8097758(struct Sprite *);
+void CreateLevitateMovementTask(struct EventObject *);
+void DestroyExtraMovementTask(u8);
+void UnfreezeEventObjects(void);
+void FreezeEventObjectsExceptOne(u8 eventObjectId);
+void sub_8097B78(u8, u8);
+void sub_8098074(u8 var1, u8 var2);
+void FreezeEventObjects(void);
+bool8 FreezeEventObject(struct EventObject *eventObject);
+u8 GetMoveDirectionFastAnimNum(u8);
+u8 GetMoveDirectionFasterAnimNum(u8);
+u8 GetMoveDirectionFastestAnimNum(u8);
+
+void MovementType_None(struct Sprite *);
+void MovementType_LookAround(struct Sprite *);
+void MovementType_WanderAround(struct Sprite *);
+void MovementType_WanderUpAndDown(struct Sprite *);
+void MovementType_WanderLeftAndRight(struct Sprite *);
+void MovementType_FaceDirection(struct Sprite *);
+void MovementType_Player(struct Sprite *);
+void MovementType_BerryTreeGrowth(struct Sprite *);
+void MovementType_FaceDownAndUp(struct Sprite *);
+void MovementType_FaceLeftAndRight(struct Sprite *);
+void MovementType_FaceUpAndLeft(struct Sprite *);
+void MovementType_FaceUpAndRight(struct Sprite *);
+void MovementType_FaceDownAndLeft(struct Sprite *);
+void MovementType_FaceDownAndRight(struct Sprite *);
+void MovementType_FaceDownUpAndLeft(struct Sprite *);
+void MovementType_FaceDownUpAndRight(struct Sprite *);
+void MovementType_FaceUpRightAndLeft(struct Sprite *);
+void MovementType_FaceDownRightAndLeft(struct Sprite *);
+void MovementType_RotateCounterclockwise(struct Sprite *);
+void MovementType_RotateClockwise(struct Sprite *);
+void MovementType_WalkBackAndForth(struct Sprite *);
+void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *);
+void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *);
+void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *);
+void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *);
+void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *);
+void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *);
+void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *);
+void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *);
+void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *);
+void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *);
+void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *);
+void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *);
+void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *);
+void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *);
+void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *);
+void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *);
+void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *);
+void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *);
+void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *);
+void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *);
+void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *);
+void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *);
+void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *);
+void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *);
+void MovementType_CopyPlayer(struct Sprite *);
+void MovementType_TreeDisguise(struct Sprite *);
+void MovementType_MountainDisguise(struct Sprite *);
+void MovementType_CopyPlayerInGrass(struct Sprite *);
+void MovementType_Hidden(struct Sprite *);
+void MovementType_WalkInPlace(struct Sprite *);
+void MovementType_JogInPlace(struct Sprite *);
+void MovementType_RunInPlace(struct Sprite *);
+void MovementType_Invisible(struct Sprite *);
+void MovementType_WalkSlowlyInPlace(struct Sprite *);
+u8 GetSlideMovementAction(u32);
+u8 GetJumpInPlaceMovementAction(u32);
+u8 GetJumpMovementAction(u32);
+u8 GetJump2MovementAction(u32);
+
+u8 MovementType_WanderAround_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step5(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderAround_Step6(struct EventObject *, struct Sprite *);
+u8 GetVectorDirection(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_SouthNorth(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_WestEast(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_WestNorth(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_EastNorth(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_WestSouth(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_EastSouth(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_SouthNorthWest(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_SouthNorthEast(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_NorthWestEast(s16, s16, s16, s16);
+u8 GetLimitedVectorDirection_SouthWestEast(s16, s16, s16, s16);
+u8 MovementType_LookAround_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_LookAround_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_LookAround_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_LookAround_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_LookAround_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step5(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderUpAndDown_Step6(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step5(struct EventObject *, struct Sprite *);
+u8 MovementType_WanderLeftAndRight_Step6(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDirection_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDirection_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDirection_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_BerryTreeGrowth_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_BerryTreeGrowth_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_BerryTreeGrowth_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndUp_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndUp_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndUp_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndUp_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceLeftAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceLeftAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceLeftAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndLeft_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndLeft_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndLeft_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndLeft_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateCounterclockwise_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateCounterclockwise_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateCounterclockwise_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateClockwise_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateClockwise_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateClockwise_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_RotateClockwise_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkBackAndForth_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkBackAndForth_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkBackAndForth_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkBackAndForth_Step3(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_CopyPlayer_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_CopyPlayer_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_CopyPlayer_Step2(struct EventObject *, struct Sprite *);
+bool8 CopyablePlayerMovement_None(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_Slide(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 cph_IM_DIFFERENT(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *, struct Sprite *, u8, bool8(u8));
+bool8 CopyablePlayerMovement_Jump(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_Hidden_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_MoveInPlace_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSlowlyInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_JogInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_Invisible_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_Invisible_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_Invisible_Step2(struct EventObject *, struct Sprite *);
+
+#endif //GUARD_FIELD_EVENT_OBJ_H
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index b915d1419..3c4ad030f 100644
--- a/include/field_control_avatar.h
+++ b/include/field_control_avatar.h
@@ -30,7 +30,7 @@ u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void prev_quest_postbuffer_cursor_backup_reset(void);
u8 *sub_8068E24(struct MapPosition *);
-u8 *GetFieldObjectScriptPointerPlayerFacing(void);
+u8 *GetEventObjectScriptPointerPlayerFacing(void);
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
bool8 sub_8068870(u16 a);
bool8 sub_8068894(void);
diff --git a/include/field_effect.h b/include/field_effect.h
index 9cd26f6b8..800048605 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -11,7 +11,7 @@ extern const struct OamData gNewGameBirchOamAttributes;
enum FieldEffectScriptIdx
{
- FLDEFF_EXCLAMATION_MARK_ICON_1,
+ FLDEFF_EXCLAMATION_MARK_ICON,
FLDEFF_USE_CUT_ON_GRASS,
FLDEFF_USE_CUT_ON_TREE,
FLDEFF_SHADOW,
@@ -44,7 +44,7 @@ enum FieldEffectScriptIdx
FLDEFF_NPCFLY_OUT,
FLDEFF_USE_FLY,
FLDEFF_FLY_IN,
- FLDEFF_EXCLAMATION_MARK_ICON_2,
+ FLDEFF_QUESTION_MARK_ICON,
FLDEFF_FEET_IN_FLOWING_WATER,
FLDEFF_BIKE_TIRE_TRACKS,
FLDEFF_SAND_DISGUISE,
@@ -148,33 +148,33 @@ bool8 sub_80B7270(struct Task *);
bool8 sub_80B72D0(struct Task *);
bool8 sub_80B72F4(struct Task *);
-bool8 sub_80B73D0(struct Task *, struct MapObject *);
-bool8 waterfall_1_do_anim_probably(struct Task *, struct MapObject *);
-bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct MapObject *);
-bool8 sub_80B7450(struct Task *, struct MapObject *);
-bool8 sub_80B7478(struct Task *, struct MapObject *);
+bool8 sub_80B73D0(struct Task *, struct EventObject *);
+bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *);
+bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *);
+bool8 sub_80B7450(struct Task *, struct EventObject *);
+bool8 sub_80B7478(struct Task *, struct EventObject *);
bool8 dive_1_lock(struct Task *);
bool8 dive_2_unknown(struct Task *);
bool8 dive_3_unknown(struct Task *);
-bool8 sub_80B764C(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7684(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B76B8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7704(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B77F8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7814(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B78EC(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B791C(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7968(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B79BC(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80B7AE8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7B18(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7B94(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7BCC(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80B7BF4(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *);
void sub_80B7D14(struct Task *);
void sub_80B7D34(struct Task *);
@@ -230,4 +230,7 @@ void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
+void sub_80B7CAC(struct Sprite*);
+void sub_80B7A58(struct Sprite*);
+
#endif //GUARD_FIELD_EFFECTS_H
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index 3c9e00b62..547f515eb 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -11,9 +11,28 @@
// Exported ROM declarations
u8 sub_8154228(void);
-bool8 sub_8155DA0(struct MapObject *);
-void sub_8155D78(struct MapObject *);
+bool8 sub_8155DA0(struct EventObject *);
+void sub_8155D78(struct EventObject *);
void sub_81555AC(u8, u8);
void ash(s16, s16, u16, s16);
+void SetUpReflection(struct EventObject*, struct Sprite*, u8);
+u32 StartFieldEffectForEventObject(u8, struct EventObject*);
+u8 sub_81546C8(u8, u8, u8, s16, s16);
+void sub_8155F80(struct Sprite*);
+void oamc_shadow(struct Sprite*);
+void unc_grass_normal(struct Sprite*);
+void sub_81561D0(struct Sprite*);
+void sub_8155460(struct Sprite*);
+void sub_8155658(struct Sprite*);
+void sub_8156194(struct Sprite*);
+void sub_8154C60(struct Sprite*);
+void sub_8154D90(struct Sprite*);
+void unc_grass_tall(struct Sprite*);
+void sub_81559BC(struct Sprite*);
+void sub_8155C88(struct Sprite*);
+void sub_8154A10(struct Sprite*);
+void sub_8155158(struct Sprite*);
+void sub_8155AEC(struct Sprite*);
+void sub_8155E50(struct Sprite*);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h
deleted file mode 100644
index 89b14aed1..000000000
--- a/include/field_ground_effect.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//
-// Created by scott on 9/6/2017.
-//
-
-#ifndef GUARD_FIELD_GROUND_EFFECT_H
-#define GUARD_FIELD_GROUND_EFFECT_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-u8 ZCoordToPriority(u8);
-void FieldObjectUpdateZCoord(struct MapObject *pObject);
-void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
-void InitObjectPriorityByZCoord(struct Sprite *, u8);
-bool8 IsZCoordMismatchAt(u8, s16, s16);
-bool8 AreZCoordsCompatible(u8, u8);
-void FieldObjectUpdateSubpriority(struct MapObject *, struct Sprite *);
-void DoGroundEffects_OnSpawn(struct MapObject *, struct Sprite *);
-void DoGroundEffects_OnBeginStep(struct MapObject *, struct Sprite *);
-void DoGroundEffects_OnFinishStep(struct MapObject *, struct Sprite *);
-
-#endif //GUARD_FIELD_GROUND_EFFECT_H
diff --git a/include/field_map_obj.h b/include/field_map_obj.h
deleted file mode 100644
index 1bf3915e1..000000000
--- a/include/field_map_obj.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef GUARD_FIELD_MAP_OBJ_H
-#define GUARD_FIELD_MAP_OBJ_H
-
-#define NUM_OBJECT_GRAPHICS_INFO 239
-#define SPRITE_VAR 240
-
-// Exported struct declarations
-
-enum SpinnerRunnerFollowPatterns {
- RUNFOLLOW_ANY,
- RUNFOLLOW_NORTH_SOUTH,
- RUNFOLLOW_EAST_WEST,
- RUNFOLLOW_NORTH_WEST,
- RUNFOLLOW_NORTH_EAST,
- RUNFOLLOW_SOUTH_WEST,
- RUNFOLLOW_SOUTH_EAST,
- RUNFOLLOW_NORTH_SOUTH_WEST,
- RUNFOLLOW_NORTH_SOUTH_EAST,
- RUNFOLLOW_NORTH_EAST_WEST,
- RUNFOLLOW_SOUTH_EAST_WEST
-};
-
-// Exported RAM declarations
-
-// Exported ROM declarations
-
-void sub_808D438(void);
-u8 get_go_image_anim_num(u8);
-u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
-bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
-u8 GetFieldObjectIdByXY(s16, s16);
-void FieldObjectSetDirection(struct MapObject *, u8);
-u8 sub_808D4F4(void);
-void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
-void npc_load_two_palettes__no_record(u16, u8);
-void npc_load_two_palettes__and_record(u16, u8);
-void sub_808EBA8(u8, u8, u8, s16, s16);
-void pal_patch_for_npc(u16, u8);
-void sub_808E16C(s16, s16);
-void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
-void sub_8092FF0(s16, s16, s16 *, s16 *);
-u8 FieldObjectDirectionToImageAnimId(u8);
-void sub_80930E0(s16 *, s16 *, s16, s16);
-void FieldObjectClearAnim(struct MapObject *);
-void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
-void SpawnFieldObjectsInView(s16, s16);
-u8 sprite_new(u8, u8, s16, s16, u8, u8);
-u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8);
-u8 show_sprite(u8, u8, u8);
-u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
-u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
-void sub_8093038(s16, s16, s16 *, s16 *);
-void CameraObjectReset1(void);
-void FieldObjectSetGraphicsId(struct MapObject *, u8);
-void FieldObjectTurn(struct MapObject *, u8);
-void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
-const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
-void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
-void gpu_pal_allocator_reset__manage_upper_four(void);
-void sub_808E82C(u8, u8, u8, s16, s16);
-void sub_808E7E4(u8, u8, u8);
-void sub_808E78C(u8, u8, u8, u8);
-void sub_808E75C(s16, s16);
-void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup);
-void npc_coords_shift(struct MapObject *, s16, s16);
-void sub_808EB08(struct MapObject *, s16, s16);
-void sub_808F254(u8, u8, u8);
-void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
-u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
-u8 GetOppositeDirection(u8);
-u8 GetStepInPlaceDelay4AnimId(u32);
-u8 GetStepInPlaceDelay8AnimId(u32);
-u8 GetStepInPlaceDelay16AnimId(u32);
-u8 GetStepInPlaceDelay32AnimId(u32);
-u8 npc_block_way(struct MapObject *, s16, s16, u32);
-void MoveCoords(u8, s16 *, s16 *);
-bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
-u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
-u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
-void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern);
-u8 npc_running_behaviour_by_direction(u8 direction);
-const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId);
-u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
-u8 GetFaceDirectionAnimId(u32);
-u8 GetGoSpeed0AnimId(u32);
-u8 sub_80934BC(u32);
-bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId);
-bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject);
-u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject);
-void sub_808F23C(const struct MapObject *mapObject, u8 movementType);
-void sub_808F208(const struct MapObject *mapObject);
-void npc_coords_shift_still(struct MapObject *pObject);
-void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
-u8 AddCameraObject(u8 linkedSpriteId);
-void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y);
-u8 GetSimpleGoAnimId(u32);
-u8 sub_8093514(u32);
-
-// Exported data declarations
-
-extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
-
-#endif //GUARD_FIELD_MAP_OBJ_H
diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h
deleted file mode 100644
index 2e9f1d0cc..000000000
--- a/include/field_map_obj_helpers.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef GUARD_FIELD_MAP_OBJ_HELPERS_H
-#define GUARD_FIELD_MAP_OBJ_HELPERS_H
-
-// Exported type declarations
-
-// Exported RAM declarations
-extern u8 *gUnknown_020375B8;
-
-// Exported ROM declarations
-void sub_8097AC8(struct Sprite *);
-void npc_sync_anim_pause_bits(struct MapObject *);
-void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
-u8 sub_8097F78(struct MapObject *);
-bool8 obj_npc_ministep(struct Sprite *sprite);
-bool8 sub_80976EC(struct Sprite *sprite);
-void sub_80976DC(struct Sprite *, u8);
-void sub_809783C(struct Sprite *, u8, u8, u8);
-void DoShadowFieldEffect(struct MapObject *);
-u8 sub_809785C(struct Sprite *);
-u8 sub_80978E4(struct Sprite *);
-void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
-bool8 sub_80979BC(struct Sprite *);
-void sub_8097750(struct Sprite *);
-bool8 sub_8097758(struct Sprite *);
-void sub_8097FA4(struct MapObject *);
-void sub_8098044(u8);
-void UnfreezeMapObjects(void);
-void FreezeMapObjectsExceptOne(u8 mapObjectId);
-void sub_8097B78(u8, u8);
-void sub_8098074(u8 var1, u8 var2);
-void FreezeMapObjects(void);
-bool8 FreezeMapObject(struct MapObject *mapObject);
-
-
-#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index 0b9ea385c..8cd6c275b 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -8,9 +8,9 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8);
bool8 TestPlayerAvatarFlags(u8);
u8 GetPlayerAvatarObjectId(void);
void PlayerGetDestCoords(s16 *, s16 *);
-u8 player_get_direction_lower_nybble(void);
-u8 player_get_direction_upper_nybble(void);
-u8 player_get_x22(void);
+u8 GetPlayerFacingDirection(void);
+u8 GetPlayerMovementDirection(void);
+u8 PlayerGetCopyableMovement(void);
void PlayerGoSpeed1(u8);
void PlayerGoSpeed2(u8);
void PlayerGoSpeed3(u8);
@@ -29,7 +29,7 @@ void PlayerAcroTurnJump(u8 a);
void PlayerSetAnimId(u8 a, u8 b);
bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction);
void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
-u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
+u8 CheckForEventObjectCollision(struct EventObject *a, s16 b, s16 c, u8 d, u8 e);
u8 PlayerGetZCoord(void);
void SetPlayerAvatarTransitionFlags(u16 a);
void sub_808BCE8(void);
@@ -43,6 +43,6 @@ void sub_808C114(void);
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
void SetPlayerAvatarStateMask(u8 a);
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
-u8 sub_8093540(u32);
+u8 GetJumpSpecialMovementAction(u32);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 699595580..01218493a 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -14,6 +14,7 @@ int CanCameraMoveInDirection(int direction);
u16 GetBehaviorByMetatileId(u16 metatileId);
void sav1_camera_get_focus_coords(u16 *x, u16 *y);
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y);
+u8 MapGridGetZCoordAt(int x, int y);
u8 CameraMove(s32 deltaX, s32 deltaY);
void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
void map_copy_with_padding(u16 *map, u16 width, u16 height);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index 94127c554..7b38f9ddc 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -1,7 +1,7 @@
#ifndef GUARD_GLOBAL_FIELDMAP_H
#define GUARD_GLOBAL_FIELDMAP_H
-#define NUM_FIELD_OBJECTS 16
+#define NUM_EVENT_OBJECTS 16
enum
{
@@ -72,7 +72,7 @@ struct BackupMapData
u16 *map;
};
-struct MapObjectTemplate
+struct EventObjectTemplate
{
/*0x00*/ u8 localId;
/*0x01*/ u8 graphicsId;
@@ -81,14 +81,12 @@ struct MapObjectTemplate
/*0x06*/ s16 y;
/*0x08*/ u8 elevation;
/*0x09*/ u8 movementType;
- /*0x0A*/ u8 unkA_0:4;
- u8 unkA_4:4;
- ///*0x0B*/ u8 fillerB[1];
- /*0x0C*/ u16 unkC;
- /*0x0E*/ u16 unkE;
+ /*0x0A*/ u8 movementRangeX:4;
+ u8 movementRangeY:4;
+ /*0x0C*/ u16 trainerType;
+ /*0x0E*/ u16 trainerRange_berryTreeId;
/*0x10*/ const u8 *script;
/*0x14*/ u16 flagId;
- /*0x16*/ u8 filler_16[2];
}; /*size = 0x18*/
struct WarpEvent
@@ -135,12 +133,12 @@ struct BgEvent
struct MapEvents
{
- u8 mapObjectCount;
+ u8 eventObjectCount;
u8 warpCount;
u8 coordEventCount;
u8 bgEventCount;
- struct MapObjectTemplate *mapObjects;
+ struct EventObjectTemplate *eventObjects;
struct WarpEvent *warps;
struct CoordEvent *coordEvents;
struct BgEvent *bgEvents;
@@ -178,54 +176,50 @@ struct MapHeader
/* 0x1B */ u8 battleType;
};
-struct MapObject
+struct EventObject
{
/*0x00*/ u32 active:1;
- u32 mapobj_bit_1:1;
- u32 mapobj_bit_2:1;
- u32 mapobj_bit_3:1;
- u32 mapobj_bit_4:1;
- u32 mapobj_bit_5:1;
- u32 mapobj_bit_6:1;
- u32 mapobj_bit_7:1;
- /*0x01*/ u32 mapobj_bit_8:1;
- u32 mapobj_bit_9:1;
- u32 mapobj_bit_10:1;
- u32 mapobj_bit_11:1;
- u32 mapobj_bit_12:1;
- u32 mapobj_bit_13:1;
- u32 mapobj_bit_14:1;
- u32 mapobj_bit_15:1;
- /*0x02*/ u32 mapobj_bit_16:1;
- u32 mapobj_bit_17:1;
- u32 mapobj_bit_18:1;
- u32 mapobj_bit_19:1;
- u32 mapobj_bit_20:1;
- u32 mapobj_bit_21:1;
- u32 mapobj_bit_22:1;
- u32 mapobj_bit_23:1;
- /*0x03*/ u32 mapobj_bit_24:1;
- u32 mapobj_bit_25:1;
- u32 mapobj_bit_26:1;
- u32 mapobj_bit_27:1;
- u32 mapobj_bit_28:1;
- u32 mapobj_bit_29:1;
- u32 mapobj_bit_30:1;
- u32 mapobj_bit_31:1;
+ u32 singleMovementActive:1;
+ u32 triggerGroundEffectsOnMove:1;
+ u32 triggerGroundEffectsOnStop:1;
+ u32 disableCoveringGroundEffects:1;
+ u32 landingJump:1;
+ u32 heldMovementActive:1;
+ u32 heldMovementFinished:1;
+ /*0x01*/ u32 frozen:1;
+ u32 facingDirectionLocked:1;
+ u32 disableAnim:1;
+ u32 enableAnim:1;
+ u32 inanimate:1;
+ u32 invisible:1;
+ u32 offScreen:1;
+ u32 trackedByCamera:1;
+ /*0x02*/ u32 isPlayer:1;
+ u32 hasReflection:1;
+ u32 inShortGrass:1;
+ u32 inShallowFlowingWater:1;
+ u32 inSandPile:1;
+ u32 inHotSprings:1;
+ u32 hasShadow:1;
+ u32 spriteAnimPausedBackup:1;
+ /*0x03*/ u32 spriteAffineAnimPausedBackup:1;
+ u32 disableJumpLandingGroundEffect:1;
+ u32 fixedPriority:1;
+ u32 unk3_3:1;
/*0x04*/ u8 spriteId;
/*0x05*/ u8 graphicsId;
- /*0x06*/ u8 animPattern;
+ /*0x06*/ u8 movementType;
/*0x07*/ u8 trainerType;
/*0x08*/ u8 localId;
/*0x09*/ u8 mapNum;
/*0x0A*/ u8 mapGroup;
- /*0x0B*/ u8 mapobj_unk_0B_0:4;
- u8 elevation:4;
- /*0x0C*/ struct Coords16 coords1;
- /*0x10*/ struct Coords16 coords2;
- /*0x14*/ struct Coords16 coords3;
- /*0x18*/ u8 mapobj_unk_18:4; // current direction?
- /*0x18*/ u8 placeholder18:4;
+ /*0x0B*/ u8 currentElevation:4;
+ u8 previousElevation:4;
+ /*0x0C*/ struct Coords16 initialCoords;
+ /*0x10*/ struct Coords16 currentCoords;
+ /*0x14*/ struct Coords16 previousCoords;
+ /*0x18*/ u8 facingDirection:4; // current direction?
+ /*0x18*/ u8 movementDirection:4;
/*0x19*/ union __attribute__((packed)) {
u8 as_byte;
struct __attribute__((packed)) {
@@ -233,19 +227,19 @@ struct MapObject
u8 y:4;
} __attribute__((aligned (1))) as_nybbles;
} __attribute__((aligned (1))) range;
- /*0x1A*/ u8 mapobj_unk_1A;
- /*0x1B*/ u8 mapobj_unk_1B;
- /*0x1C*/ u8 mapobj_unk_1C;
+ /*0x1A*/ u8 fieldEffectSpriteId;
+ /*0x1B*/ u8 warpArrowSpriteId;
+ /*0x1C*/ u8 movementActionId;
/*0x1D*/ u8 trainerRange_berryTreeId;
- /*0x1E*/ u8 mapobj_unk_1E;
- /*0x1F*/ u8 mapobj_unk_1F;
- /*0x20*/ u8 mapobj_unk_20;
- /*0x21*/ u8 mapobj_unk_21;
- /*0x22*/ u8 animId;
+ /*0x1E*/ u8 currentMetatileBehavior;
+ /*0x1F*/ u8 previousMetatileBehavior;
+ /*0x20*/ u8 previousMovementDirection;
+ /*0x21*/ u8 directionSequenceIndex;
+ /*0x22*/ u8 playerCopyableMovement;
/*size = 0x24*/
};
-struct MapObjectGraphicsInfo
+struct EventObjectGraphicsInfo
{
/*0x00*/ u16 tileTag;
/*0x02*/ u16 paletteTag1;
@@ -292,6 +286,10 @@ enum
DIR_NORTH,
DIR_WEST,
DIR_EAST,
+ DIR_SOUTHWEST,
+ DIR_SOUTHEAST,
+ DIR_NORTHWEST,
+ DIR_NORTHEAST,
};
enum
@@ -322,7 +320,7 @@ struct PlayerAvatar
/*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
/*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
/*0x04*/ u8 spriteId;
- /*0x05*/ u8 mapObjectId;
+ /*0x05*/ u8 eventObjectId;
/*0x06*/ bool8 preventStep;
/*0x07*/ u8 gender;
/*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie
@@ -344,8 +342,8 @@ struct Camera
s32 y;
};
-extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS];
-extern u8 gSelectedMapObject;
+extern struct EventObject gEventObjects[NUM_EVENT_OBJECTS];
+extern u8 gSelectedEventObject;
extern struct MapHeader gMapHeader;
extern struct PlayerAvatar gPlayerAvatar;
extern struct Camera gCamera;
diff --git a/include/global.h b/include/global.h
index 4a0fdb70a..d26184270 100644
--- a/include/global.h
+++ b/include/global.h
@@ -101,7 +101,7 @@ enum LanguageId
// capacities of various saveblock objects
#define DAYCARE_MON_COUNT 2
#define POKEBLOCKS_COUNT 40
-#define MAP_OBJECTS_COUNT 16
+#define EVENT_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
#define VARS_COUNT 256
@@ -796,8 +796,8 @@ struct SaveBlock1
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
/*0x9CA*/ u8 trainerRematches[100];
- /*0xA30*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
- /*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
+ /*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
+ /*0xC70*/ struct EventObjectTemplate eventObjectTemplates[64];
/*0x1270*/ u8 flags[FLAGS_COUNT];
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
diff --git a/include/load_save.h b/include/load_save.h
index 0868316c8..5fb5f6c42 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -22,8 +22,8 @@ void sub_8076D5C(void);
void sav2_gender2_inplace_and_xFE(void);
void SavePlayerParty(void);
void LoadPlayerParty(void);
-void SaveMapObjects(void);
-void LoadMapObjects(void);
+void SaveEventObjects(void);
+void LoadEventObjects(void);
void SaveSerializedGame(void);
void LoadSerializedGame(void);
void LoadPlayerBag(void);
diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h
deleted file mode 100644
index a10648f2f..000000000
--- a/include/map_obj_lock.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef GUARD_MAP_OBJ_LOCK_H
-#define GUARD_MAP_OBJ_LOCK_H
-
-bool8 sub_80983C4(void);
-void ScriptFreezeMapObjects(void);
-bool8 sub_809847C(void);
-void LockSelectedMapObject(void);
-void sub_8098630(void);
-bool8 sub_8098734(void);
-
-#endif // GUARD_MAP_OBJ_LOCK_H
diff --git a/include/mauville_old_man.h b/include/mauville_old_man.h
index e318ac8bb..9d71e81aa 100644
--- a/include/mauville_old_man.h
+++ b/include/mauville_old_man.h
@@ -15,7 +15,7 @@ extern struct BardSong gBardSong;
void SetMauvilleOldMan(void);
u8 GetCurrentMauvilleOldMan(void);
-void ScrSpecial_SetMauvilleOldManMapObjGfx(void);
+void ScrSpecial_SetMauvilleOldManEventObjGfx(void);
u8 sub_81201C8(void);
void sub_8120B70(OldMan *dest);
void sub_8120670(void);
diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h
index d6743b788..4b9fd2488 100644
--- a/include/metatile_behavior.h
+++ b/include/metatile_behavior.h
@@ -1,7 +1,7 @@
#ifndef GUARD_METATILE_BEHAVIOR
#define GUARD_METATILE_BEHAVIOR
-bool8 ShouldDoJumpLandingDustEffect(u8);
+bool8 MetatileBehavior_IsATile(u8);
bool8 MetatileBehavior_IsEncounterTile(u8);
bool8 MetatileBehavior_IsJumpEast(u8);
bool8 MetatileBehavior_IsJumpWest(u8);
diff --git a/include/overworld.h b/include/overworld.h
index 15d7bb362..a81f10b0d 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -7,17 +7,17 @@ struct UnkPlayerStruct
u8 player_field_1;
};
-struct LinkPlayerMapObject
+struct LinkPlayerEventObject
{
u8 active;
u8 linkPlayerId;
- u8 mapObjId;
+ u8 eventObjId;
u8 mode;
};
// Exported RAM declarations
extern struct WarpData gUnknown_020322DC;
-extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
+extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2;
@@ -37,10 +37,10 @@ void IncrementGameStat(u8 index);
u32 GetGameStat(u8 index);
void SetGameStat(u8 index, u32 value);
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
-void LoadMapObjTemplatesFromHeader(void);
-void LoadSaveblockMapObjScripts(void);
-void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y);
-void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType);
+void LoadEventObjTemplatesFromHeader(void);
+void LoadSaveblockEventObjScripts(void);
+void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y);
+void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType);
const struct MapData *get_mapdata_header(void);
void ApplyCurrentWarp(void);
void set_warp2_warp3_to_neg_1(void);
@@ -141,6 +141,6 @@ bool32 sub_8087598(void);
bool32 sub_80875C8(void);
bool32 sub_8087634(void);
bool32 sub_808766C(void);
-void ZeroAllLinkPlayerMapObjects(void);
+void ClearLinkPlayerEventObjects(void);
#endif // GUARD_OVERWORLD_H
diff --git a/include/pokenav.h b/include/pokenav.h
index 42affc938..2bca4db94 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -21,6 +21,7 @@ void sub_81D1EC0(void);
void sub_81D1D04(u8);
bool8 sub_81D1C44(u8);
void sub_81D5FB4(u16*);
+bool8 sub_81D4A58(struct EventObject*);
#endif //GUARD_POKENAV_H
diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h
index 5b4f80249..900daf4e7 100644
--- a/include/rom_81BE66C.h
+++ b/include/rom_81BE66C.h
@@ -6,7 +6,7 @@
#define GUARD_ROM_81BE66C_H
bool32 InTrainerHill(void);
-bool8 FieldObjectIsFarawayIslandMew(struct MapObject *);
+bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
u32 sub_81D427C(void);
#endif //GUARD_ROM_81BE66C_H
diff --git a/include/trainer_see.h b/include/trainer_see.h
index 847380782..43f8b82d2 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -3,7 +3,7 @@
struct ApproachingTrainer
{
- u8 mapObjectId;
+ u8 eventObjectId;
u8 radius; // plus 1
const u8 *trainerScriptPtr;
u8 taskId;
@@ -17,14 +17,14 @@ extern u8 gUnknown_030060AC;
extern u8 gApproachingTrainerId;
bool8 CheckForTrainersWantingBattle(void);
-void sub_80B4578(struct MapObject *var);
+void sub_80B4578(struct EventObject *var);
void EndTrainerApproach(void);
void sub_80B45D0(void);
-u8 FldEff_ExclamationMarkIcon1(void);
-u8 FldEff_ExclamationMarkIcon2(void);
+u8 FldEff_ExclamationMarkIcon(void);
+u8 FldEff_QuestionMarkIcon(void);
u8 FldEff_HeartIcon(void);
-u8 GetCurrentApproachingTrainerMapObjectId(void);
-u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId);
+u8 GetCurrentApproachingTrainerEventObjectId(void);
+u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId);
void sub_80B4808(void);
#endif // GUARD_TRAINER_SEE_H