summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMarcus Huderle <huderlem@gmail.com>2018-05-30 07:48:45 -0500
committerGitHub <noreply@github.com>2018-05-30 07:48:45 -0500
commitd1965e3c751b77243c11d62eadc994422dc682ae (patch)
tree61ee8faf9f1fc7569efa086f2108b7f886e49127 /include
parentb8f90052a58d1781ef40e2a4b7decf4ca4ed62b8 (diff)
parent9680b95bdde1226e12485a84e47c6a7c32932048 (diff)
Merge pull request #618 from huderlem/objMovement
Document event object movement
Diffstat (limited to 'include')
-rw-r--r--include/berry.h10
-rw-r--r--include/constants/event_objects.h252
-rwxr-xr-xinclude/constants/field_effects.h4
-rw-r--r--include/constants/flags.h2
-rw-r--r--include/constants/map_objects.h252
-rw-r--r--include/constants/vars.h4
-rw-r--r--include/decoration.h2
-rw-r--r--include/event_data.h2
-rw-r--r--include/event_obj_lock.h (renamed from include/map_obj_lock.h)10
-rw-r--r--include/event_object_movement.h996
-rw-r--r--include/field_control_avatar.h2
-rw-r--r--include/field_effect.h40
-rw-r--r--include/field_effect_helpers.h8
-rw-r--r--include/field_player_avatar.h40
-rw-r--r--include/fieldmap.h1
-rw-r--r--include/global.fieldmap.h44
-rw-r--r--include/global.h6
-rw-r--r--include/macros/movement.inc207
-rw-r--r--include/overworld.h22
-rw-r--r--include/shop.h2
-rw-r--r--include/trainer_see.h2
21 files changed, 1059 insertions, 849 deletions
diff --git a/include/berry.h b/include/berry.h
index 9de443fe7..259ada634 100644
--- a/include/berry.h
+++ b/include/berry.h
@@ -39,7 +39,7 @@ void debug_sub_80C2C18(const u8 *name, u8 holdEffect, u8 holdEffectParam);
void SetEnigmaBerry(u8 *src);
bool32 IsEnigmaBerryValid(void);
const struct Berry *GetBerryInfo(u8 berry);
-bool32 FieldObjectInteractionWaterBerryTree(void);
+bool32 EventObjectInteractionWaterBerryTree(void);
bool8 IsPlayerFacingUnplantedSoil(void);
bool8 TryToWaterBerryTree(void);
void ClearBerryTrees(void);
@@ -51,11 +51,11 @@ u8 GetStageByBerryTreeId(u8);
u8 ItemIdToBerryType(u16 item);
void GetBerryNameByBerryType(u8 berry, u8 *string);
void ResetBerryTreeSparkleFlag(u8 id);
-void FieldObjectInteractionGetBerryTreeData(void);
+void EventObjectInteractionGetBerryTreeData(void);
void Berry_FadeAndGoToBerryBagMenu(void);
-void FieldObjectInteractionPlantBerryTree(void);
-void FieldObjectInteractionPickBerryTree(void);
-void FieldObjectInteractionRemoveBerryTree(void);
+void EventObjectInteractionPlantBerryTree(void);
+void EventObjectInteractionPickBerryTree(void);
+void EventObjectInteractionRemoveBerryTree(void);
bool8 PlayerHasBerries(void);
void ResetBerryTreeSparkleFlags(void);
void debug_sub_80C2D24(u8 spicy, u8 dry, u8 sweet, u8 bitter, u8 sour, u8 smoothness);
diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h
new file mode 100644
index 000000000..7c236671d
--- /dev/null
+++ b/include/constants/event_objects.h
@@ -0,0 +1,252 @@
+#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_WOMAN_8 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_HIPSTER 70
+#define EVENT_OBJ_GFX_TRADER 71
+#define EVENT_OBJ_GFX_STORYTELLER 72
+#define EVENT_OBJ_GFX_GIDDY 73
+#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74
+#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2 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_MACHOKE_CARRYING_BOX 95
+#define EVENT_OBJ_GFX_MACHOKE_FACING_AWAY 96
+#define EVENT_OBJ_GFX_BIRCHS_BAG 97
+#define EVENT_OBJ_GFX_POOCHYENA 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 207
+#define EVENT_OBJ_GFX_ZIGZAGOON 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
+
+// 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 EVENT_OBJ_GFX_VAR_0 240
+#define EVENT_OBJ_GFX_VAR_1 241
+#define EVENT_OBJ_GFX_VAR_2 242
+#define EVENT_OBJ_GFX_VAR_3 243
+#define EVENT_OBJ_GFX_VAR_4 244
+#define EVENT_OBJ_GFX_VAR_5 245
+#define EVENT_OBJ_GFX_VAR_6 246
+#define EVENT_OBJ_GFX_VAR_7 247
+#define EVENT_OBJ_GFX_VAR_8 248
+#define EVENT_OBJ_GFX_VAR_9 249
+#define EVENT_OBJ_GFX_VAR_A 250
+#define EVENT_OBJ_GFX_VAR_B 251
+#define EVENT_OBJ_GFX_VAR_C 252
+#define EVENT_OBJ_GFX_VAR_D 253
+#define EVENT_OBJ_GFX_VAR_E 254
+#define EVENT_OBJ_GFX_VAR_F 255
+
+#define SHADOW_SIZE_S 0
+#define SHADOW_SIZE_M 1
+#define SHADOW_SIZE_L 2
+#define SHADOW_SIZE_XL 3
+
+#define TRACKS_NONE 0
+#define TRACKS_FOOT 1
+#define TRACKS_BIKE_TIRE 2
+
+#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H
diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h
index 3b2117d3a..86fd6718f 100755
--- a/include/constants/field_effects.h
+++ b/include/constants/field_effects.h
@@ -1,7 +1,7 @@
#ifndef GUARD_FIELD_EFFECT_CONSTANTS_H
#define GUARD_FIELD_EFFECT_CONSTANTS_H
-#define FLDEFF_EXCLAMATION_MARK_ICON_1 0
+#define FLDEFF_EXCLAMATION_MARK_ICON 0
#define FLDEFF_USE_CUT_ON_GRASS 1
#define FLDEFF_USE_CUT_ON_TREE 2
#define FLDEFF_SHADOW 3
@@ -34,7 +34,7 @@
#define FLDEFF_NPCFLY_OUT 30
#define FLDEFF_USE_FLY 31
#define FLDEFF_FLY_IN 32
-#define FLDEFF_EXCLAMATION_MARK_ICON_2 33
+#define FLDEFF_QUESTION_MARK_ICON 33
#define FLDEFF_FEET_IN_FLOWING_WATER 34
#define FLDEFF_BIKE_TIRE_TRACKS 35
#define FLDEFF_SAND_DISGUISE 36
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 562741b93..a867fd77e 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -357,7 +357,7 @@
#define FLAG_HIDDEN_ITEM_61 0x2B9
-// map object hide/show flags
+// event object hide/show flags
#define FLAG_HIDE_BIRCH_STARTERS_BAG 0x2BC
#define FLAG_HIDE_BIRCH_BATTLE_POOCHYENA 0x2D0
diff --git a/include/constants/map_objects.h b/include/constants/map_objects.h
deleted file mode 100644
index 7e5aef744..000000000
--- a/include/constants/map_objects.h
+++ /dev/null
@@ -1,252 +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_WOMAN_8 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_HIPSTER 70
-#define MAP_OBJ_GFX_TRADER 71
-#define MAP_OBJ_GFX_STORYTELLER 72
-#define MAP_OBJ_GFX_GIDDY 73
-#define MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74
-#define MAP_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2 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_MACHOKE_CARRYING_BOX 95
-#define MAP_OBJ_GFX_MACHOKE_FACING_AWAY 96
-#define MAP_OBJ_GFX_BIRCHS_BAG 97
-#define MAP_OBJ_GFX_POOCHYENA 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 207
-#define MAP_OBJ_GFX_ZIGZAGOON 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
-
-// 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 MAP_OBJ_GFX_VAR_0 240
-#define MAP_OBJ_GFX_VAR_1 241
-#define MAP_OBJ_GFX_VAR_2 242
-#define MAP_OBJ_GFX_VAR_3 243
-#define MAP_OBJ_GFX_VAR_4 244
-#define MAP_OBJ_GFX_VAR_5 245
-#define MAP_OBJ_GFX_VAR_6 246
-#define MAP_OBJ_GFX_VAR_7 247
-#define MAP_OBJ_GFX_VAR_8 248
-#define MAP_OBJ_GFX_VAR_9 249
-#define MAP_OBJ_GFX_VAR_A 250
-#define MAP_OBJ_GFX_VAR_B 251
-#define MAP_OBJ_GFX_VAR_C 252
-#define MAP_OBJ_GFX_VAR_D 253
-#define MAP_OBJ_GFX_VAR_E 254
-#define MAP_OBJ_GFX_VAR_F 255
-
-#define SHADOW_SIZE_S 0
-#define SHADOW_SIZE_M 1
-#define SHADOW_SIZE_L 2
-#define SHADOW_SIZE_XL 3
-
-#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 682d45003..856aba069 100644
--- a/include/constants/vars.h
+++ b/include/constants/vars.h
@@ -25,9 +25,9 @@
#define VAR_TEMP_F 0x400F
// object gfx id vars
-// These 0x10 vars are used to dynamically control a map object's sprite.
+// These 0x10 vars are used to dynamically control a event 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/decoration.h b/include/decoration.h
index d7f26bd05..6bff60771 100644
--- a/include/decoration.h
+++ b/include/decoration.h
@@ -181,7 +181,7 @@ bool8 sub_80FEFA4(void);
void sub_80FF394(u16, u16, u16);
void sub_80FF6AC(u8);
void sub_80FF960(u8);
-void AddDecorationIconObjectFromFieldObject(struct UnkStruct_02038900 *, u8);
+void AddDecorationIconObjectFromEventObject(struct UnkStruct_02038900 *, u8);
void SetUpPlacingDecorationPlayerAvatar(u8, struct UnkStruct_02038900 *);
void sub_8100038(u8);
void sub_81000A0(u8);
diff --git a/include/event_data.h b/include/event_data.h
index 5656ab8dc..44d1e8e41 100644
--- a/include/event_data.h
+++ b/include/event_data.h
@@ -19,7 +19,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/map_obj_lock.h b/include/event_obj_lock.h
index 9fb57743e..e95bc9131 100644
--- a/include/map_obj_lock.h
+++ b/include/event_obj_lock.h
@@ -1,16 +1,16 @@
-#ifndef GUARD_MAP_OBJ_LOCK_H
-#define GUARD_MAP_OBJ_LOCK_H
+#ifndef GUARD_EVENT_OBJ_LOCK_H
+#define GUARD_EVENT_OBJ_LOCK_H
bool8 walkrun_is_standing_still(void);
void sub_8064CDC(u8 taskId);
bool8 sub_8064CFC(void);
-void ScriptFreezeMapObjects(void);
+void ScriptFreezeEventObjects(void);
void sub_8064D38(u8 taskId);
bool8 sub_8064DB4(void);
-void LockSelectedMapObject(void);
+void LockSelectedEventObject(void);
void sub_8064E2C(void);
void unref_sub_8064E5C(void);
void sub_8064EAC(void);
void sub_8064ED4(void);
-#endif // GUARD_MAP_OBJ_LOCK_H
+#endif // GUARD_EVENT_OBJ_LOCK_H
diff --git a/include/event_object_movement.h b/include/event_object_movement.h
index 6105d1774..7ae04dfa6 100644
--- a/include/event_object_movement.h
+++ b/include/event_object_movement.h
@@ -3,6 +3,227 @@
#include "sprite.h"
+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,
+};
+
+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_ACITON_FACE_PLAYER,
+ MOVEMENT_ACITON_FACE_AWAY_PLAYER,
+ MOVEMENT_ACTION_LOCK_FACING_DIRECTION,
+ MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION,
+ MOVEMENT_ACITON_JUMP_DOWN,
+ MOVEMENT_ACITON_JUMP_UP,
+ MOVEMENT_ACITON_JUMP_LEFT,
+ MOVEMENT_ACITON_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_WALK_DOWN_AFFINE_0,
+ MOVEMENT_ACTION_WALK_DOWN_AFFINE_1,
+ 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,
+};
+
#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)
@@ -26,24 +247,24 @@
extern const u8 gUnknown_0830FD14[];
-#define fieldmap_object_cb(setup, callback, table) \
-static u8 callback(struct MapObject *, struct Sprite *);\
+#define movement_type_def(setup, table) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
void setup(struct Sprite *sprite)\
{\
- meta_step(&gMapObjects[sprite->data[0]], sprite, callback);\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
}\
-static u8 callback(struct MapObject *mapObject, struct Sprite *sprite)\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
{\
- return table[sprite->data[1]](mapObject, sprite);\
+ return table[sprite->data[1]](eventObject, sprite);\
}
-#define fieldmap_object_null_cb(setup, callback) \
-static u8 callback(struct MapObject *, struct Sprite *);\
+#define movement_type_empty_callback(setup) \
+static u8 setup##_callback(struct EventObject *, struct Sprite *);\
void setup(struct Sprite *sprite)\
{\
- meta_step(&gMapObjects[sprite->data[0]], sprite, callback);\
+ UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
}\
-static u8 callback(struct MapObject *mapObject, struct Sprite *sprite)\
+static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
{\
return 0;\
}
@@ -54,41 +275,40 @@ struct PairedPalettes
const u16 *data;
};
-extern const u16 gMapObjectPalette19[];
+extern const u16 gEventObjectPalette19[];
-extern const u32 gMapObjectPic_MovingBox[32];
-extern const struct SpriteFrameImage gMapObjectPicTable_PechaBerryTree[];
+extern const u32 gEventObjectPic_MovingBox[32];
+extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
extern const u8 gFieldEffectPic_CutGrass[];
extern const u16 gFieldEffectObjectPalette6[];
-void sub_805C058(struct MapObject *mapObject, s16 a, s16 b);
-void FieldObjectSetDirection(struct MapObject *pObject, u8 unk_18);
+void sub_805C058(struct EventObject *eventObject, s16 a, s16 b);
+void SetEventObjectDirection(struct EventObject *pObject, u8 unk_18);
void MoveCoords(u8 direction, s16 *x, s16 *y);
-void meta_step(struct MapObject *pObject, struct Sprite *pSprite, u8 (*d8)(struct MapObject *, struct Sprite *));
-void npc_reset(struct MapObject *mapObject, struct Sprite *sprite);
+void UpdateEventObjectCurrentMovement(struct EventObject *pObject, struct Sprite *pSprite, u8 (*d8)(struct EventObject *, struct Sprite *));
-u8 sub_805CAAC(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CADC(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CAEC(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CB00(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CB5C(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CBB8(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CC14(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CC70(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CCAC(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CCE8(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805CD24(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetVectorDirection(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_SouthNorth(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_WestEast(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_WestNorth(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_EastNorth(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_WestSouth(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_EastSouth(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_SouthNorthWest(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_SouthNorthEast(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_NorthWestEast(s16 a0, s16 a1, s16 a2, s16 a3);
+u8 GetLimitedVectorDirection_SouthWestEast(s16 a0, s16 a1, s16 a2, s16 a3);
-u8 sub_805F3EC(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F3F0(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F438(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F4F0(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F5A8(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F660(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 cph_IM_DIFFERENT(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 sub_805F760(struct MapObject *, struct Sprite *, u8, bool8(u8));
-u8 oac_hopping(struct MapObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_None(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_FaceDirection(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_GoSpeed0(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_GoSpeed1(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_GoSpeed2(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_Slide(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 cph_IM_DIFFERENT(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_GoSpeed4(struct EventObject *, struct Sprite *, u8, bool8(u8));
+u8 CopyablePlayerMovement_Jump(struct EventObject *, struct Sprite *, u8, bool8(u8));
extern struct CameraSomething gUnknown_03004880;
extern u16 gUnknown_03004898;
@@ -96,279 +316,278 @@ extern u16 gUnknown_0300489C;
extern const struct Coords16 gDirectionToVector[];
-void FieldObjectCB_BerryTree(struct Sprite *);
-void FieldObjectCB_Hidden1(struct Sprite *);
-void FieldObjectCB_MountainDisguise(struct Sprite *);
-void FieldObjectCB_TreeDisguise(struct Sprite *);
-void sub_80587B4(struct Sprite *);
-void sub_805C884(struct Sprite *);
-void sub_805C8AC(struct Sprite *);
-void sub_805CDE8(struct Sprite *);
-void sub_805CF28(struct Sprite *);
-void sub_805D0AC(struct Sprite *);
-void sub_805D230(struct Sprite *);
-void sub_805D4F4(struct Sprite *);
-void sub_805D634(struct Sprite *);
-void sub_805D774(struct Sprite *);
-void sub_805D8B4(struct Sprite *);
-void sub_805D9F4(struct Sprite *);
-void sub_805DB34(struct Sprite *);
-void sub_805DC74(struct Sprite *);
-void sub_805DDB4(struct Sprite *);
-void sub_805DEF4(struct Sprite *);
-void sub_805E034(struct Sprite *);
-void sub_805E174(struct Sprite *);
-void sub_805E278(struct Sprite *);
-void sub_805E37C(struct Sprite *);
-void sub_805E5DC(struct Sprite *);
-void sub_805E668(struct Sprite *);
-void sub_805E6F4(struct Sprite *);
-void sub_805E780(struct Sprite *);
-void sub_805E80C(struct Sprite *);
-void sub_805E898(struct Sprite *);
-void sub_805E924(struct Sprite *);
-void sub_805E9B0(struct Sprite *);
-void sub_805EA3C(struct Sprite *);
-void sub_805EAC8(struct Sprite *);
-void sub_805EB54(struct Sprite *);
-void sub_805EBE0(struct Sprite *);
-void sub_805EC6C(struct Sprite *);
-void sub_805ECF8(struct Sprite *);
-void sub_805ED84(struct Sprite *);
-void sub_805EE10(struct Sprite *);
-void sub_805EE9C(struct Sprite *);
-void sub_805EF28(struct Sprite *);
-void sub_805EFB4(struct Sprite *);
-void sub_805F040(struct Sprite *);
-void sub_805F0CC(struct Sprite *);
-void sub_805F158(struct Sprite *);
-void sub_805F1E4(struct Sprite *);
-void sub_805F270(struct Sprite *);
-void sub_805F2FC(struct Sprite *);
-void sub_805F8E0(struct Sprite *);
-void sub_805FB20(struct Sprite *);
-void sub_805FB90(struct Sprite *);
-void sub_805FC00(struct Sprite *);
-void sub_805FC70(struct Sprite *);
+void MovementType_BerryTreeGrowth(struct Sprite *);
+void MovementType_Hidden(struct Sprite *);
+void MovementType_MountainDisguise(struct Sprite *);
+void MovementType_TreeDisguise(struct Sprite *);
+void MovementType_Player(struct Sprite *);
+void MovementType_None(struct Sprite *);
+void MovementType_WanderAround(struct Sprite *);
+void MovementType_LookAround(struct Sprite *);
+void MovementType_WanderUpAndDown(struct Sprite *);
+void MovementType_WanderLeftAndRight(struct Sprite *);
+void MovementType_FaceDirection(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_FaceUpLeftAndRight(struct Sprite *);
+void MovementType_FaceDownLeftAndRight(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_CopyPlayerInGrass(struct Sprite *);
+void MovementType_WalkInPlace(struct Sprite *);
+void MovementType_JogInPlace(struct Sprite *);
+void MovementType_RunInPlace(struct Sprite *);
+void MovementType_Invisible(struct Sprite *);
-u8 sub_805C8F0(struct MapObject *, struct Sprite *);
-u8 sub_805C904(struct MapObject *, struct Sprite *);
-u8 sub_805C930(struct MapObject *, struct Sprite *);
-u8 sub_805C96C(struct MapObject *, struct Sprite *);
-u8 sub_805C98C(struct MapObject *, struct Sprite *);
-u8 sub_805C9D8(struct MapObject *, struct Sprite *);
-u8 sub_805CA08(struct MapObject *, struct Sprite *);
-u8 sub_805CE2C(struct MapObject *, struct Sprite *);
-u8 sub_805CE40(struct MapObject *, struct Sprite *);
-u8 sub_805CE6C(struct MapObject *, struct Sprite *);
-u8 sub_805CEB0(struct MapObject *, struct Sprite *);
-u8 sub_805CEE0(struct MapObject *, struct Sprite *);
-u8 sub_805CF6C(struct MapObject *, struct Sprite *);
-u8 sub_805CF80(struct MapObject *, struct Sprite *);
-u8 sub_805CFAC(struct MapObject *, struct Sprite *);
-u8 sub_805CFE8(struct MapObject *, struct Sprite *);
-u8 sub_805D008(struct MapObject *, struct Sprite *);
-u8 sub_805D054(struct MapObject *, struct Sprite *);
-u8 sub_805D084(struct MapObject *, struct Sprite *);
-u8 sub_805D0F0(struct MapObject *, struct Sprite *);
-u8 sub_805D104(struct MapObject *, struct Sprite *);
-u8 sub_805D130(struct MapObject *, struct Sprite *);
-u8 sub_805D16C(struct MapObject *, struct Sprite *);
-u8 sub_805D18C(struct MapObject *, struct Sprite *);
-u8 sub_805D1D8(struct MapObject *, struct Sprite *);
-u8 sub_805D208(struct MapObject *, struct Sprite *);
-u8 sub_805D274(struct MapObject *, struct Sprite *);
-u8 sub_805D2A0(struct MapObject *, struct Sprite *);
-u8 sub_805D2C0(struct MapObject *, struct Sprite *);
-u8 do_berry_tree_growth_sparkle_1(struct MapObject *, struct Sprite *);
-u8 sub_805D3EC(struct MapObject *, struct Sprite *);
-u8 do_berry_tree_growth_sparkle_2(struct MapObject *, struct Sprite *);
-u8 sub_805D458(struct MapObject *, struct Sprite *);
-u8 sub_805D4A8(struct MapObject *, struct Sprite *);
-u8 sub_805D538(struct MapObject *, struct Sprite *);
-u8 sub_805D54C(struct MapObject *, struct Sprite *);
-u8 sub_805D578(struct MapObject *, struct Sprite *);
-u8 sub_805D5BC(struct MapObject *, struct Sprite *);
-u8 sub_805D5EC(struct MapObject *, struct Sprite *);
-u8 sub_805D678(struct MapObject *, struct Sprite *);
-u8 sub_805D68C(struct MapObject *, struct Sprite *);
-u8 sub_805D6B8(struct MapObject *, struct Sprite *);
-u8 sub_805D6FC(struct MapObject *, struct Sprite *);
-u8 sub_805D72C(struct MapObject *, struct Sprite *);
-u8 sub_805D7B8(struct MapObject *, struct Sprite *);
-u8 sub_805D7CC(struct MapObject *, struct Sprite *);
-u8 sub_805D7F8(struct MapObject *, struct Sprite *);
-u8 sub_805D83C(struct MapObject *, struct Sprite *);
-u8 sub_805D86C(struct MapObject *, struct Sprite *);
-u8 sub_805D8F8(struct MapObject *, struct Sprite *);
-u8 sub_805D90C(struct MapObject *, struct Sprite *);
-u8 sub_805D938(struct MapObject *, struct Sprite *);
-u8 sub_805D97C(struct MapObject *, struct Sprite *);
-u8 sub_805D9AC(struct MapObject *, struct Sprite *);
-u8 sub_805DA38(struct MapObject *, struct Sprite *);
-u8 sub_805DA4C(struct MapObject *, struct Sprite *);
-u8 sub_805DA78(struct MapObject *, struct Sprite *);
-u8 sub_805DABC(struct MapObject *, struct Sprite *);
-u8 sub_805DAEC(struct MapObject *, struct Sprite *);
-u8 sub_805DB78(struct MapObject *, struct Sprite *);
-u8 sub_805DB8C(struct MapObject *, struct Sprite *);
-u8 sub_805DBB8(struct MapObject *, struct Sprite *);
-u8 sub_805DBFC(struct MapObject *, struct Sprite *);
-u8 sub_805DC2C(struct MapObject *, struct Sprite *);
-u8 sub_805DCB8(struct MapObject *, struct Sprite *);
-u8 sub_805DCCC(struct MapObject *, struct Sprite *);
-u8 sub_805DCF8(struct MapObject *, struct Sprite *);
-u8 sub_805DD3C(struct MapObject *, struct Sprite *);
-u8 sub_805DD6C(struct MapObject *, struct Sprite *);
-u8 sub_805DDF8(struct MapObject *, struct Sprite *);
-u8 sub_805DE0C(struct MapObject *, struct Sprite *);
-u8 sub_805DE38(struct MapObject *, struct Sprite *);
-u8 sub_805DE7C(struct MapObject *, struct Sprite *);
-u8 sub_805DEAC(struct MapObject *, struct Sprite *);
-u8 sub_805DF38(struct MapObject *, struct Sprite *);
-u8 sub_805DF4C(struct MapObject *, struct Sprite *);
-u8 sub_805DF78(struct MapObject *, struct Sprite *);
-u8 sub_805DFBC(struct MapObject *, struct Sprite *);
-u8 sub_805DFEC(struct MapObject *, struct Sprite *);
-u8 sub_805E078(struct MapObject *, struct Sprite *);
-u8 sub_805E08C(struct MapObject *, struct Sprite *);
-u8 sub_805E0B8(struct MapObject *, struct Sprite *);
-u8 sub_805E0FC(struct MapObject *, struct Sprite *);
-u8 sub_805E12C(struct MapObject *, struct Sprite *);
-u8 sub_805E1B8(struct MapObject *, struct Sprite *);
-u8 sub_805E1E4(struct MapObject *, struct Sprite *);
-u8 sub_805E208(struct MapObject *, struct Sprite *);
-u8 sub_805E234(struct MapObject *, struct Sprite *);
-u8 sub_805E2BC(struct MapObject *, struct Sprite *);
-u8 sub_805E2E8(struct MapObject *, struct Sprite *);
-u8 sub_805E30C(struct MapObject *, struct Sprite *);
-u8 sub_805E338(struct MapObject *, struct Sprite *);
-u8 sub_805E3C0(struct MapObject *, struct Sprite *);
-u8 sub_805E3D4(struct MapObject *, struct Sprite *);
-u8 sub_805E40C(struct MapObject *, struct Sprite *);
-u8 sub_805E4C4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E620(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E6AC(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E738(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E7C4(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E850(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E8DC(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E968(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805E9F4(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EA80(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EB0C(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EB98(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EC24(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805ECB0(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805ED3C(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EDC8(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EE54(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EEE0(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EF6C(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805EFF8(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805F084(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805F110(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805F19C(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805F228(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 sub_805E4EC(struct MapObject *, struct Sprite *);
-u8 sub_805F2B4(struct MapObject *, struct Sprite *);
-u8 sub_805E5B4(struct MapObject *, struct Sprite *);
-u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *, struct Sprite *);
-u8 sub_805F364(struct MapObject *, struct Sprite *);
-u8 sub_805F3C4(struct MapObject *, struct Sprite *);
-u8 mss_npc_reset_oampriv3_1_unk2_unk3(struct MapObject *, struct Sprite *);
-u8 mss_08062EA4(struct MapObject *, struct Sprite *);
-u8 sub_805F3C4(struct MapObject *, struct Sprite *);
-u8 sub_805FAF8(struct MapObject *, struct Sprite *);
-u8 sub_805FB64(struct MapObject *, struct Sprite *);
-u8 sub_805FB04(struct MapObject *, struct Sprite *);
-u8 sub_805FBD4(struct MapObject *, struct Sprite *);
-u8 sub_805FB04(struct MapObject *, struct Sprite *);
-u8 sub_805FC44(struct MapObject *, struct Sprite *);
-u8 sub_805FB04(struct MapObject *, struct Sprite *);
-u8 sub_805FCB4(struct MapObject *, struct Sprite *);
-u8 sub_805FCE8(struct MapObject *, struct Sprite *);
-u8 sub_805FD08(struct MapObject *, struct Sprite *);
+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 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_WalkSequenceUpRightLeftDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkSequence_Step2(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 *);
+u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_CopyPlayer_Step2(struct EventObject *, struct Sprite *);
+u8 MovementType_Hidden_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkInPlace_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_JogInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkInPlace_Step1(struct EventObject *, struct Sprite *);
+u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *);
+u8 MovementType_WalkInPlace_Step1(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 *);
-u8 get_go_image_anim_num(u8);
-u8 get_go_fast_image_anim_num(u8);
-u8 get_go_fast_image_anim_num(u8);
-u8 get_go_faster_image_anim_num(u8);
-u8 sub_805FD78(u8);
+u8 GetMoveDirectionAnimNum(u8);
+u8 GetMoveDirectionFastAnimNum(u8);
+u8 GetMoveDirectionFastAnimNum(u8);
+u8 GetMoveDirectionFasterAnimNum(u8);
+u8 GetMoveDirectionFastestAnimNum(u8);
u32 state_to_direction(u8, u32, u32);
void sub_805AA98();
void sub_805AAB0(void);
-u8 sub_805AB54(void);
-u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
-bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
-u8 GetFieldObjectIdByXY(s16, s16);
-u8 GetFieldObjectIdByLocalIdAndMapInternal(u8, u8, u8);
-u8 GetFieldObjectIdByLocalId(u8);
-u8 GetAvailableFieldObjectSlot(u16, u8, u8, u8 *);
-void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
-void RemoveFieldObjectInternal(struct MapObject *);
-u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
+u8 GetFirstInactiveEventObjectId(void);
+u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8);
+bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
+u8 GetEventObjectIdByXY(s16, s16);
+u8 GetEventObjectIdByLocalIdAndMapInternal(u8, u8, u8);
+u8 GetEventObjectIdByLocalId(u8);
+u8 GetAvailableEventObjectId(u16, u8, u8, u8 *);
+void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
+void RemoveEventObjectInternal(struct EventObject *);
+u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
u8 show_sprite(u8, u8, u8);
-void MakeObjectTemplateFromFieldObjectTemplate(struct MapObjectTemplate *mapObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables);
-u8 AddPseudoFieldObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority);
+void MakeObjectTemplateFromEventObjectTemplate(struct EventObjectTemplate *eventObjTemplate, struct SpriteTemplate *sprTemplate, const struct SubspriteTable **subspriteTables);
+u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority);
u8 sub_805B410(u8, u8, s16, s16, u8, u8);
-void sub_805B55C(s16 a, s16 b);
+void TrySpawnEventObjects(s16, s16);
void sub_805B710(u16 i, u16 i1);
-void sub_805B980(struct MapObject *, u8);
-void FieldObjectTurn(struct MapObject *, u8);
-void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
-const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
-void FieldObjectHandleDynamicGraphicsId(struct MapObject *);
+void sub_805B980(struct EventObject *, u8);
+void EventObjectTurn(struct EventObject *, u8);
+void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
+const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8);
+void SetEventObjectDynamicGraphicsId(struct EventObject *);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
-void FieldObjectGetLocalIdAndMap(struct MapObject *, void *, void *, void *);
+void EventObjectGetLocalIdAndMap(struct EventObject *, void *, void *, void *);
void sub_805BCC0(s16 x, s16 y);
void sub_805BCF0(u8, u8, u8, u8);
void sub_805BD48(u8, u8, u8);
@@ -377,123 +596,120 @@ void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_805BDF8(u16);
u8 sub_805BE58(const struct SpritePalette *);
void pal_patch_for_npc(u16, u16);
-u8 FindFieldObjectPaletteIndexByTag(u16);
+u8 FindEventObjectPaletteIndexByTag(u16);
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
-void npc_coords_shift(struct MapObject *pObject, s16 x, s16 y);
+void ShiftEventObjectCoords(struct EventObject *pObject, s16 x, s16 y);
void sub_805C0F8(u8, u8, u8, s16, s16);
-void npc_coords_shift_still(struct MapObject *pObject);
-u8 GetFieldObjectIdByXYZ(u16, u16, u8);
-void UpdateFieldObjectsForCameraUpdate(s16, s16);
+void ShiftStillEventObjectCoords(struct EventObject *pObject);
+u8 GetEventObjectIdByXYZ(u16, u16, u8);
+void UpdateEventObjectsForCameraUpdate(s16, s16);
u8 AddCameraObject(u8);
void CameraObjectReset1(void);
-u8 * GetFieldObjectScriptPointerByFieldObjectId(u8);
-u16 GetFieldObjectFlagIdByFieldObjectId(u8);
-u8 FieldObjectGetBerryTreeId(u8);
-struct MapObjectTemplate *GetFieldObjectTemplateByLocalIdAndMap(u8, u8, u8);
-void sub_805C754(struct MapObject *pObject);
-void sub_805C774(struct MapObject *, u8);
-void sub_805C78C(u8, u8, u8);
+u8 * GetEventObjectScriptPointerByEventObjectId(u8);
+u16 GetEventObjectFlagIdByEventObjectId(u8);
+u8 EventObjectGetBerryTreeId(u8);
+struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8);
+void OverrideTemplateCoordsForEventObject(struct EventObject *pObject);
+void OverrideMovementTypeForEventObject(struct EventObject *, u8);
+void TryOverrideTemplateCoordsForEventObject(u8, u8, u8);
void sub_805C7C4(u8 i);
-u8 FieldObjectDirectionToImageAnimId(u8);
-u8 get_go_image_anim_num(u8 unk_19);
-u8 sub_805FD98(u8);
-u8 sub_805FDE8(u8);
-u8 sub_805FDF8(u8);
-u8 sub_805FE08(u8);
-void npc_set_running_behaviour_etc(struct MapObject *, u8);
-u8 npc_running_behaviour_by_direction(u8);
-u8 npc_block_way(struct MapObject *, s16, s16, u32);
-u8 sub_8060024(struct MapObject *, s16, s16, u8);
+u8 GetFaceDirectionAnimNum(u8);
+u8 GetMoveDirectionAnimNum(u8 unk_19);
+u8 GetAcroWheelieDirectionAnimNum(u8);
+u8 GetFishingDirectionAnimNum(u8);
+u8 GetFishingNoCatchDirectionAnimNum(u8);
+u8 GetFishingBiteDirectionAnimNum(u8);
+void SetTrainerMovementType(struct EventObject *, u8);
+u8 GetTrainerFacingDirectionMovementType(u8);
+u8 GetCollisionAtCoords(struct EventObject *, s16, s16, u32);
+u8 GetCollisionFlagsAtCoords(struct EventObject *, s16, s16, u8);
bool8 IsBerryTreeSparkling(u8, u8, u8);
void sub_8060288(u8, u8, u8);
void sub_8060388(s16, s16, s16 *, s16 *);
void sub_80603CC(s16 x, s16 y, s16 *pInt, s16 *pInt1);
-void GetFieldObjectMovingCameraOffset(s16 *, s16 *);
-void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
-bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *);
-bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
-bool8 FieldObjectSetSpecialAnim(struct MapObject *, u8);
-void FieldObjectForceSetSpecialAnim(struct MapObject *pObject, u8 a);
-void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
-void FieldObjectClearAnim(struct MapObject *);
-bool8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *);
-u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
-u8 FieldObjectGetSpecialAnim(struct MapObject *);
-u8 GetFaceDirectionAnimId(u32);
-u8 GetSimpleGoAnimId(u32);
-u8 GetGoSpeed0AnimId(u32);
-u8 sub_8060744(u32);
-u8 d2s_08064034(u32);
-u8 sub_806079C(u32);
-u8 sub_80607C8(u32);
-u8 sub_80607F4(u32);
-u8 GetJumpLedgeAnimId(u32);
-u8 sub_806084C(u32);
-u8 sub_8060878(u32);
+void GetEventObjectMovingCameraOffset(s16 *, s16 *);
+void EventObjectMoveDestCoords(struct EventObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
+bool8 EventObjectIsMovementOverridden(struct EventObject *);
+bool8 EventObjectIsHeldMovementActive(struct EventObject *);
+bool8 EventObjectSetHeldMovement(struct EventObject *, u8);
+void EventObjectForceSetHeldMovement(struct EventObject *pObject, u8 a);
+void EventObjectClearHeldMovementIfActive(struct EventObject *);
+void EventObjectClearHeldMovement(struct EventObject *);
+bool8 EventObjectCheckHeldMovementStatus(struct EventObject *);
+u8 EventObjectClearHeldMovementIfFinished(struct EventObject *);
+u8 EventObjectGetHeldMovementActionId(struct EventObject *);
+u8 GetFaceDirectionMovementAction(u32);
+u8 GetWalkSlowMovementAction(u32);
+u8 GetWalkNormalMovementAction(u32);
+u8 GetWalkFastMovementAction(u32);
+u8 GetRideWaterCurrentMovementAction(u32);
+u8 GetWalkFastestMovementAction(u32);
+u8 GetSlideMovementAction(u32);
+u8 GetPlayerRunMovementAction(u32);
+u8 GetJump2MovementAction(u32);
+u8 GetJumpInPlaceMovementAction(u32);
+u8 GetJumpInPlaceTurnAroundMovementAction(u32);
u8 sub_80608A4(u32);
-u8 sub_80608D0(u32);
-u8 GetStepInPlaceDelay32AnimId(u32);
-u8 GetStepInPlaceDelay16AnimId(u32);
-u8 GetStepInPlaceDelay8AnimId(u32);
-u8 GetStepInPlaceDelay4AnimId(u32);
-u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
-u8 sub_80609D8(u8);
-u8 sub_8060A04(u8);
-u8 sub_8060A30(u8);
-u8 sub_8060A5C(u8);
-u8 sub_8060A88(u8);
-u8 sub_8060AB4(u8);
-u8 sub_8060AE0(u8);
-u8 sub_8060B0C(u8);
-u8 sub_8060B38(u8);
-u8 sub_8060B64(u8);
+u8 GetJumpSpecialMovementAction(u32);
+u8 GetWalkInPlaceSlowMovementAction(u32);
+u8 GetWalkInPlaceNormalMovementAction(u32);
+u8 GetWalkInPlaceFastMovementAction(u32);
+u8 GetWalkInPlaceFastestMovementAction(u32);
+u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
+u8 GetAcroWheelieFaceDirectionMovementAction(u8);
+u8 GetAcroPopWheelieFaceDirectionMovementAction(u8);
+u8 GetAcroEndWheelieFaceDirectionMovementAction(u8);
+u8 GetAcroWheelieHopFaceDirectionMovementAction(u8);
+u8 GetAcroWheelieHopDirectionMovementAction(u8);
+u8 GetAcroWheelieJumpDirectionMovementAction(u8);
+u8 GetAcroWheelieInPlaceDirectionMovementAction(u8);
+u8 GetAcroPopWheelieMoveDirectionMovementAction(u8);
+u8 GetAcroWheelieMoveDirectionMovementAction(u8);
+u8 GetAcroEndWheelieMoveDirectionMovementAction(u8);
u8 GetOppositeDirection(u8);
-void sub_80634D0(struct MapObject *, struct Sprite *);
-u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
+u8 SpawnSpecialEventObjectParametrized(u8, u8, u8, s16, s16, u8);
void CameraObjectSetFollowedObjectId(u8);
-u8 sub_805ADDC(u8);
-void sub_8060320(u32, s16 *, s16 *, s16, s16);
+u8 TryInitLocalEventObject(u8);
u8 obj_unfreeze(struct Sprite *, s16, s16, u8);
u16 npc_paltag_by_palslot(u8);
void sub_8060470(s16 *, s16 *, s16, s16);
-bool8 FreezeMapObject(struct MapObject *);
-void FreezeMapObjects(void);
-void FreezeMapObjectsExceptOne(u8);
-void UnfreezeMapObjects(void);
-void sub_806487C(struct Sprite *sprite, bool8 invisible);
-void sub_8064990(u8, u8);
-void UnfreezeMapObject(struct MapObject *mapObject);
-void oamt_npc_ministep_reset(struct Sprite *sprite, u8 a2, u8 a3);
+bool8 FreezeEventObject(struct EventObject *);
+void FreezeEventObjects(void);
+void FreezeEventObjectsExceptOne(u8);
+void UnfreezeEventObjects(void);
+void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);
+void TurnEventObject(u8, u8);
+void UnfreezeEventObject(struct EventObject *eventObject);
void sub_806467C(struct Sprite *sprite, u8 direction);
bool8 sub_806468C(struct Sprite *sprite);
void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4);
-void DoShadowFieldEffect(struct MapObject *mapObject);
+void DoShadowFieldEffect(struct EventObject *eventObject);
u8 sub_8064704(struct Sprite *);
u8 sub_806478C(struct Sprite *);
-void obj_anim_image_set_and_seek(struct Sprite *sprite, u8 a2, u8 a3);
-void DoRippleFieldEffect(struct MapObject *mapObj, struct Sprite *sprite);
+void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3);
+void DoRippleFieldEffect(struct EventObject *eventObj, struct Sprite *sprite);
bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y);
bool8 AreZCoordsCompatible(u8 z1, u8 z2);
-void FieldObjectUpdateMetatileBehaviors(struct MapObject *);
-void GetGroundEffectFlags_Reflection(struct MapObject *, u32 *);
-void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *, u32 *);
-void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *, u32 *);
-void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *, u32 *);
-void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Tracks(struct MapObject *, u32 *);
-void GetGroundEffectFlags_SandPile(struct MapObject *, u32 *);
-void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Puddle(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Ripple(struct MapObject *, u32 *);
-void GetGroundEffectFlags_ShortGrass(struct MapObject *, u32 *);
-void GetGroundEffectFlags_HotSprings(struct MapObject *, u32 *);
-void GetGroundEffectFlags_Seaweed(struct MapObject *, u32 *);
-void GetGroundEffectFlags_JumpLanding(struct MapObject *, u32 *);
-u8 FieldObjectCheckForReflectiveSurface(struct MapObject *);
+void EventObjectUpdateMetatileBehaviors(struct EventObject *);
+void GetGroundEffectFlags_Reflection(struct EventObject *, u32 *);
+void GetGroundEffectFlags_TallGrassOnSpawn(struct EventObject *, u32 *);
+void GetGroundEffectFlags_TallGrassOnBeginStep(struct EventObject *, u32 *);
+void GetGroundEffectFlags_LongGrassOnSpawn(struct EventObject *, u32 *);
+void GetGroundEffectFlags_LongGrassOnBeginStep(struct EventObject *, u32 *);
+void GetGroundEffectFlags_Tracks(struct EventObject *, u32 *);
+void GetGroundEffectFlags_SandPile(struct EventObject *, u32 *);
+void GetGroundEffectFlags_ShallowFlowingWater(struct EventObject *, u32 *);
+void GetGroundEffectFlags_Puddle(struct EventObject *, u32 *);
+void GetGroundEffectFlags_Ripple(struct EventObject *, u32 *);
+void GetGroundEffectFlags_ShortGrass(struct EventObject *, u32 *);
+void GetGroundEffectFlags_HotSprings(struct EventObject *, u32 *);
+void GetGroundEffectFlags_Seaweed(struct EventObject *, u32 *);
+void GetGroundEffectFlags_JumpLanding(struct EventObject *, u32 *);
+u8 EventObjectCheckForReflectiveSurface(struct EventObject *);
u8 GetLedgeJumpDirection(s16, s16, u8);
u8 ZCoordToPriority(u8);
-void FieldObjectUpdateZCoord(struct MapObject *pObject);
+void EventObjectUpdateZCoord(struct EventObject *pObject);
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
#endif // GUARD_EVENTOBJMV_H
diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h
index 49e9f23e3..b79eebd83 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 96234fae9..4ca97c898 100644
--- a/include/field_effect.h
+++ b/include/field_effect.h
@@ -88,11 +88,11 @@ bool8 sub_8086E50(struct Task *);
bool8 sub_8086EB0(struct Task *);
bool8 sub_8086ED4(struct Task *);
-bool8 sub_8086FB0(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_8087030(struct Task *, struct MapObject *);
-bool8 sub_8087058(struct Task *, struct MapObject *);
+bool8 sub_8086FB0(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_8087030(struct Task *, struct EventObject *);
+bool8 sub_8087058(struct Task *, struct EventObject *);
bool8 sub_8087124(struct Task *);
bool8 dive_2_unknown(struct Task *);
@@ -100,25 +100,25 @@ bool8 dive_3_unknown(struct Task *);
void sub_80871B8(u8);
-bool8 sub_808722C(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_8087264(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_8087298(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80872E4(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80873D8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80873F4(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_808722C(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_8087264(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_8087298(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80872E4(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80873D8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80873F4(struct Task *, struct EventObject *, struct Sprite *);
-bool8 sub_80874CC(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80874FC(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_8087548(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_808759C(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_80874CC(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80874FC(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_8087548(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_808759C(struct Task *, struct EventObject *, struct Sprite *);
void sub_8087654(u8);
-bool8 sub_80876C8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80876F8(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_8087774(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80877AC(struct Task *, struct MapObject *, struct Sprite *);
-bool8 sub_80877D4(struct Task *, struct MapObject *, struct Sprite *);
+bool8 sub_80876C8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80876F8(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_8087774(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80877AC(struct Task *, struct EventObject *, struct Sprite *);
+bool8 sub_80877D4(struct Task *, struct EventObject *, struct Sprite *);
void sub_80878F4(struct Task *);
void sub_8087914(struct Task *);
diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h
index 7bba24fa6..8d207aded 100644
--- a/include/field_effect_helpers.h
+++ b/include/field_effect_helpers.h
@@ -3,8 +3,8 @@
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
-void sub_812869C(struct MapObject *);
-bool8 sub_81286C4(struct MapObject *);
+void sub_812869C(struct EventObject *);
+bool8 sub_81286C4(struct EventObject *);
void oamc_shadow(struct Sprite *);
void sub_8087638(struct Sprite *);
void sub_808788C(struct Sprite *);
@@ -29,8 +29,8 @@ void sub_8127ED0(u8, u8);
void sub_8127F28(u8, u8, s16);
u8 sub_8128124(u8 id);
void ash(s16, s16, u16, s16);
-void SetUpReflection(struct MapObject *mapObj, struct Sprite *sprite, u8 a);
-u32 oe_exec_and_other_stuff(u8 fieldEffectId, struct MapObject *mapObject);
+void SetUpReflection(struct EventObject *eventObj, struct Sprite *sprite, u8 a);
+u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject);
u8 sub_8126FF0(u8, u8, u8, s16, s16);
#endif // GUARD_FIELD_EFFECT_HELPERS_H
diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h
index b62782c8d..0d8776fd1 100644
--- a/include/field_player_avatar.h
+++ b/include/field_player_avatar.h
@@ -14,7 +14,7 @@ enum {
PLAYER_AVATAR_STATE_WATERING,
};
-// sub_80587B4
+// MovementType_None2
void player_step(u8 a, u16 b, u16 c);
u8 ForcedMovement_None(void);
u8 ForcedMovement_Slip(void);
@@ -36,17 +36,17 @@ u8 ForcedMovement_MuddySlope(void);
void PlayerNotOnBikeNotMoving(u8 direction, u16 heldKeys);
void PlayerNotOnBikeTurningInPlace(u8 direction, u16 heldKeys);
void sub_8058D0C(u8 direction, u16 heldKeys);
-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);
void SetPlayerAvatarTransitionFlags(u16 a);
-void nullsub_49(struct MapObject *a);
-void PlayerAvatarTransition_Normal(struct MapObject *a);
-void PlayerAvatarTransition_MachBike(struct MapObject *a);
-void PlayerAvatarTransition_AcroBike(struct MapObject *a);
-void PlayerAvatarTransition_Surfing(struct MapObject *a);
-void PlayerAvatarTransition_Underwater(struct MapObject *a);
-void sub_80591F4(struct MapObject *a);
+void nullsub_49(struct EventObject *a);
+void PlayerAvatarTransition_Normal(struct EventObject *a);
+void PlayerAvatarTransition_MachBike(struct EventObject *a);
+void PlayerAvatarTransition_AcroBike(struct EventObject *a);
+void PlayerAvatarTransition_Surfing(struct EventObject *a);
+void PlayerAvatarTransition_Underwater(struct EventObject *a);
+void sub_80591F4(struct EventObject *a);
void sub_8059204(void);
-u8 player_get_x22(void);
+u8 PlayerGetCopyableMovement(void);
void PlayerSetAnimId(u8 a, u8 b);
void PlayerGoSpeed1(u8 a);
void PlayerGoSpeed2(u8 a);
@@ -71,8 +71,8 @@ void sub_8059618(u8 a);
void sub_8059630(u8 a);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *x, s16 *y);
void PlayerGetDestCoords(s16 *, s16 *);
-u8 player_get_direction_lower_nybble(void);
-u8 player_get_direction_upper_nybble(void);
+u8 GetPlayerFacingDirection(void);
+u8 GetPlayerMovementDirection(void);
u8 PlayerGetZCoord(void);
u8 TestPlayerAvatarFlags(u8);
u8 sub_80597D0(void);
@@ -95,14 +95,14 @@ void sub_8059BF4(void);
// sub_8059C3C
void sub_8059C94(u8);
void sub_8059D08(u8);
-u8 sub_8059E84(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 sub_8059EA4(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 sub_8059F40(struct Task *task, struct MapObject *b, struct MapObject *c);
-u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A0D8(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A100(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A178(struct Task *task, struct MapObject *mapObject);
-u8 sub_805A1B8(struct Task *task, struct MapObject *mapObject);
+u8 sub_8059E84(struct Task *task, struct EventObject *b, struct EventObject *c);
+u8 sub_8059EA4(struct Task *task, struct EventObject *b, struct EventObject *c);
+u8 sub_8059F40(struct Task *task, struct EventObject *b, struct EventObject *c);
+u8 PlayerAvatar_DoSecretBaseMatJump(struct Task *task, struct EventObject *eventObject);
+u8 sub_805A0D8(struct Task *task, struct EventObject *eventObject);
+u8 sub_805A100(struct Task *task, struct EventObject *eventObject);
+u8 sub_805A178(struct Task *task, struct EventObject *eventObject);
+u8 sub_805A1B8(struct Task *task, struct EventObject *eventObject);
void sub_805A20C(u8 a);
void StartFishing(u8 a);
u8 Fishing1(struct Task *task);
diff --git a/include/fieldmap.h b/include/fieldmap.h
index 5aa9eb360..a85f5b101 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -5,7 +5,6 @@
extern struct BackupMapData gUnknown_03004870;
struct MapHeader *mapconnection_get_mapheader(struct MapConnection *connection);
int GetMapBorderIdAt(int x, int y);
-extern bool8 IsMetatileDirectionallyImpassable(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
int CanCameraMoveInDirection(int direction);
u32 GetBehaviorByMetatileId(u16 metatile);
void MapGridSetMetatileEntryAt(int, int, u16);
diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h
index d87cd78f4..f200c0061 100644
--- a/include/global.fieldmap.h
+++ b/include/global.fieldmap.h
@@ -70,7 +70,7 @@ struct BackupMapData
u16 *map;
};
-struct MapObjectTemplate
+struct EventObjectTemplate
{
/*0x00*/ u8 localId;
/*0x01*/ u8 graphicsId;
@@ -79,15 +79,13 @@ 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*/ u8 *script;
/*0x14*/ u16 flagId;
- /*0x16*/ u8 filler_16[2];
-}; /*size = 0x18*/
+};
struct WarpEvent
{
@@ -132,12 +130,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;
@@ -175,16 +173,16 @@ struct MapHeader
/* 0x1B */ u8 battleType;
};
-struct MapObject
+struct EventObject
{
/*0x00*/ u32 active:1;
- u32 regularAnimActive:1;
+ u32 singleMovementActive:1;
u32 triggerGroundEffectsOnMove:1;
u32 triggerGroundEffectsOnStop:1;
u32 disableCoveringGroundEffects:1; // disables ground effects that cover parts of the object's sprite
u32 landingJump:1;
- u32 specialAnimActive:1;
- u32 specialAnimFinished:1;
+ u32 heldMovementActive:1;
+ u32 heldMovementFinished:1;
/*0x01*/ u32 frozen:1;
u32 facingDirectionLocked:1;
u32 disableAnim:1; // used to disable forced movement sliding animations (like on ice)
@@ -206,7 +204,7 @@ struct MapObject
u32 fixedPriority:1;
/*0x04*/ u8 spriteId;
/*0x05*/ u8 graphicsId;
- /*0x06*/ u8 animPattern;
+ /*0x06*/ u8 movementType;
/*0x07*/ u8 trainerType;
/*0x08*/ u8 localId;
/*0x09*/ u8 mapNum;
@@ -227,17 +225,17 @@ struct MapObject
} range;
/*0x1A*/ u8 fieldEffectSpriteId;
/*0x1B*/ u8 warpArrowSpriteId;
- /*0x1C*/ u8 animId;
+ /*0x1C*/ u8 movementActionId;
/*0x1D*/ u8 trainerRange_berryTreeId;
/*0x1E*/ u8 currentMetatileBehavior;
/*0x1F*/ u8 previousMetatileBehavior;
/*0x20*/ u8 previousMovementDirection;
/*0x21*/ u8 directionSequenceIndex;
- /*0x22*/ u8 playerAnimId;
+ /*0x22*/ u8 playerCopyableMovement; // used as an index to gCopyPlayerMovementFuncs for the "copy player" movement types
/*size = 0x24*/
};
-struct MapObjectGraphicsInfo
+struct EventObjectGraphicsInfo
{
/*0x00*/ u16 tileTag;
/*0x02*/ u16 paletteTag1;
@@ -284,6 +282,10 @@ enum
DIR_NORTH,
DIR_WEST,
DIR_EAST,
+ DIR_SOUTHWEST,
+ DIR_SOUTHEAST,
+ DIR_NORTHWEST,
+ DIR_NORTHEAST,
};
enum
@@ -314,7 +316,7 @@ struct PlayerAvatar /* 0x202E858 */
/*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
@@ -336,8 +338,8 @@ struct Camera
s32 y;
};
-extern struct MapObject gMapObjects[];
-extern u8 gSelectedMapObject;
+extern struct EventObject gEventObjects[];
+extern u8 gSelectedEventObject;
extern struct MapHeader gMapHeader;
extern struct PlayerAvatar gPlayerAvatar;
diff --git a/include/global.h b/include/global.h
index 857ae6f07..0f015745b 100644
--- a/include/global.h
+++ b/include/global.h
@@ -96,7 +96,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 288
#define VARS_COUNT 256
@@ -668,8 +668,8 @@ struct SaveBlock1 /* 0x02025734 */
/*0x972*/ u8 filler_972[0x6];
/*0x978*/ u16 trainerRematchStepCounter;
/*0x97A*/ u8 trainerRematches[100];
- /*0x9E0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
- /*0xC20*/ struct MapObjectTemplate mapObjectTemplates[64];
+ /*0x9E0*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
+ /*0xC20*/ struct EventObjectTemplate eventObjectTemplates[64];
/*0x1220*/ u8 flags[FLAGS_COUNT];
/*0x1340*/ u16 vars[VARS_COUNT];
/*0x1540*/ u32 gameStats[NUM_GAME_STATS];
diff --git a/include/macros/movement.inc b/include/macros/movement.inc
index 674ce7169..80a5b5dca 100644
--- a/include/macros/movement.inc
+++ b/include/macros/movement.inc
@@ -1,4 +1,4 @@
- .macro create_movement name
+ .macro create_movement_action name
enum _\name
.macro \name
.byte _\name
@@ -6,111 +6,104 @@
.endm
enum_start
- create_movement step_00
- create_movement step_01
- create_movement step_02
- create_movement step_03
- create_movement slow_step_down
- create_movement slow_step_up
- create_movement slow_step_left
- create_movement slow_step_right
- create_movement step_down
- create_movement step_up
- create_movement step_left
- create_movement step_right
- create_movement fast_step_down
- create_movement fast_step_up
- create_movement fast_step_left
- create_movement fast_step_right
- create_movement step_10
- create_movement step_11
- create_movement step_12
- create_movement step_13
- create_movement step_14
- create_movement step_15
- create_movement step_16
- create_movement step_17
- create_movement step_18
- create_movement step_19
- create_movement step_1a
- create_movement step_1b
- create_movement step_1c
- create_movement step_1d
- create_movement step_1e
- create_movement step_1f
- create_movement step_20
- create_movement step_21
- create_movement step_22
- create_movement step_23
- create_movement step_24
- create_movement step_25
- create_movement step_26
- create_movement step_27
- create_movement step_28
- create_movement step_29
- create_movement step_2a
- create_movement step_2b
- create_movement step_2c
- create_movement step_2d
- create_movement step_2e
- create_movement step_2f
- create_movement step_30
- create_movement step_31
- create_movement step_32
- create_movement step_33
- create_movement step_34
- create_movement step_35
- create_movement step_36
- create_movement step_37
- create_movement step_38
- create_movement step_39
- create_movement step_3a
- create_movement step_3b
- create_movement step_3c
- create_movement step_3d
- create_movement step_3e
- create_movement step_3f
- create_movement step_40
- create_movement step_41
- create_movement step_42
- create_movement step_43
- create_movement step_44
- create_movement step_45
- create_movement step_46
- create_movement step_47
- create_movement step_48
- create_movement step_49
- create_movement step_4a
- create_movement step_4b
- create_movement step_4c
- create_movement step_4d
- create_movement step_4e
- create_movement step_4f
- create_movement step_50
- create_movement step_51
- create_movement step_52
- create_movement step_53
- create_movement step_54
- create_movement step_55
- create_movement step_56
- create_movement step_57
- create_movement step_58
- create_movement step_59
- create_movement step_5a
- create_movement step_5b
- create_movement step_5c
- create_movement step_5d
- create_movement step_5e
- create_movement step_5f
- create_movement step_60
- create_movement step_61
-
- enum_start 0x91
- create_movement step_91
- create_movement step_92
-
- enum_start 0x96
- create_movement step_96
+ create_movement_action face_down
+ create_movement_action face_up
+ create_movement_action face_left
+ create_movement_action face_right
+ create_movement_action walk_slow_down
+ create_movement_action walk_slow_up
+ create_movement_action walk_slow_left
+ create_movement_action walk_slow_right
+ create_movement_action walk_down
+ create_movement_action walk_up
+ create_movement_action walk_left
+ create_movement_action walk_right
+ create_movement_action jump_2_down
+ create_movement_action jump_2_up
+ create_movement_action jump_2_left
+ create_movement_action jump_2_right
+ create_movement_action delay_1
+ create_movement_action delay_2
+ create_movement_action delay_4
+ create_movement_action delay_8
+ create_movement_action delay_16
+ create_movement_action walk_fast_down
+ create_movement_action walk_fast_up
+ create_movement_action walk_fast_left
+ create_movement_action walk_fast_right
+ create_movement_action walk_in_place_slow_down
+ create_movement_action walk_in_place_slow_up
+ create_movement_action walk_in_place_slow_left
+ create_movement_action walk_in_place_slow_right
+ create_movement_action walk_in_place_down
+ create_movement_action walk_in_place_up
+ create_movement_action walk_in_place_left
+ create_movement_action walk_in_place_right
+ create_movement_action walk_in_place_fast_down
+ create_movement_action walk_in_place_fast_up
+ create_movement_action walk_in_place_fast_left
+ create_movement_action walk_in_place_fast_right
+ create_movement_action walk_in_place_fastest_down
+ create_movement_action walk_in_place_fastest_up
+ create_movement_action walk_in_place_fastest_left
+ create_movement_action walk_in_place_fastest_right
+ create_movement_action ride_water_current_down
+ create_movement_action ride_water_current_up
+ create_movement_action ride_water_current_left
+ create_movement_action ride_water_current_right
+ create_movement_action walk_fastest_down
+ create_movement_action walk_fastest_up
+ create_movement_action walk_fastest_left
+ create_movement_action walk_fastest_right
+ create_movement_action slide_down
+ create_movement_action slide_up
+ create_movement_action slide_left
+ create_movement_action slide_right
+ create_movement_action player_run_down
+ create_movement_action player_run_up
+ create_movement_action player_run_left
+ create_movement_action player_run_right
+ create_movement_action start_anim_in_direction
+ create_movement_action jump_special_down
+ create_movement_action jump_special_up
+ create_movement_action jump_special_left
+ create_movement_action jump_special_right
+ create_movement_action face_player
+ create_movement_action face_away_player
+ create_movement_action lock_facing_direction
+ create_movement_action unlock_facing_direction
+ create_movement_action jump_down
+ create_movement_action jump_up
+ create_movement_action jump_left
+ create_movement_action jump_right
+ create_movement_action jump_in_place_down
+ create_movement_action jump_in_place_up
+ create_movement_action jump_in_place_left
+ create_movement_action jump_in_place_right
+ create_movement_action jump_in_place_down_up
+ create_movement_action jump_in_place_up_down
+ create_movement_action jump_in_place_left_right
+ create_movement_action jump_in_place_right_left
+ create_movement_action face_original_direction
+ create_movement_action nurse_joy_bow
+ create_movement_action enable_jump_landing_ground_effect
+ create_movement_action disable_jump_landing_ground_effect
+ create_movement_action disable_anim
+ create_movement_action restore_anim
+ create_movement_action set_invisible
+ create_movement_action set_visible
+ create_movement_action emote_exclamation_mark
+ create_movement_action emote_question_mark
+ create_movement_action emote_heart
+ create_movement_action reveal_trainer
+ create_movement_action rock_smash_break
+ create_movement_action cut_tree
+ create_movement_action set_fixed_priority
+ create_movement_action clear_fixed_priority
+ create_movement_action init_affine_anim
+ create_movement_action clear_affine_anim
+ create_movement_action walk_down_affine_0
+ create_movement_action walk_down_affine_1
enum_start 0xfe
- create_movement step_end
+ create_movement_action end_movement
diff --git a/include/overworld.h b/include/overworld.h
index f9446c789..fa54b0906 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -9,11 +9,11 @@ struct UnkPlayerStruct
u8 player_field_1;
};
-struct LinkPlayerMapObject
+struct LinkPlayerEventObject
{
u8 active;
u8 linkPlayerId;
- u8 mapObjId;
+ u8 eventObjId;
u8 mode;
};
@@ -37,10 +37,10 @@ void ResetGameStats(void);
void IncrementGameStat(u8 index);
u32 GetGameStat(u8 index);
void SetGameStat(u8, u32);
-// LoadMapObjTemplatesFromHeader
-// LoadSaveblockMapObjScripts
-void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
-void Overworld_SetMapObjTemplateMovementType(u8, u8);
+// LoadEventObjTemplatesFromHeader
+// LoadSaveblockEventObjScripts
+void Overworld_SetEventObjTemplateCoords(u8, s16, s16);
+void Overworld_SetEventObjTemplateMovementType(u8, u8);
// mapdata_load_assets_to_gpu_and_full_redraw
// get_mapdata_header
// ApplyCurrentWarp
@@ -209,11 +209,11 @@ bool32 sub_8055870(void);
u32 sub_80558AC(void);
u32 sub_8055910(void);
u32 sub_8055940(void);
-// ZeroLinkPlayerMapObject
-void strange_npc_table_clear(void);
-// ZeroMapObject
-void SpawnLinkPlayerMapObject(u8, s16, s16, u8);
-void InitLinkPlayerMapObjectPos(struct MapObject *, s16, s16);
+// ClearLinkPlayerEventObject
+void ClearLinkPlayerEventObjects(void);
+// ZeroEventObject
+void SpawnLinkPlayerEventObject(u8, s16, s16, u8);
+void InitLinkPlayerEventObjectPos(struct EventObject *, s16, s16);
// unref_sub_8055A6C
// unref_sub_8055A9C
u8 sub_8055AE8(u8);
diff --git a/include/shop.h b/include/shop.h
index 347d46d3c..4de58eaf2 100644
--- a/include/shop.h
+++ b/include/shop.h
@@ -11,7 +11,7 @@ enum
// shop view window NPC info enum
enum
{
- MAP_OBJ_ID,
+ EVENT_OBJ_ID,
X_COORD,
Y_COORD,
ANIM_NUM
diff --git a/include/trainer_see.h b/include/trainer_see.h
index e36df981b..d67117743 100644
--- a/include/trainer_see.h
+++ b/include/trainer_see.h
@@ -5,7 +5,7 @@
#include "task.h"
bool8 CheckTrainers(void);
-void sub_8084794(struct MapObject *var);
+void sub_8084794(struct EventObject *var);
void ScrSpecial_EndTrainerApproach(void);
#endif // GUARD_TRAINER_SEE_H