diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/berry.h | 10 | ||||
-rw-r--r-- | include/constants/event_objects.h | 252 | ||||
-rwxr-xr-x | include/constants/field_effects.h | 4 | ||||
-rw-r--r-- | include/constants/flags.h | 2 | ||||
-rw-r--r-- | include/constants/map_objects.h | 252 | ||||
-rw-r--r-- | include/constants/vars.h | 4 | ||||
-rw-r--r-- | include/decoration.h | 2 | ||||
-rw-r--r-- | include/event_data.h | 2 | ||||
-rw-r--r-- | include/event_obj_lock.h (renamed from include/map_obj_lock.h) | 10 | ||||
-rw-r--r-- | include/event_object_movement.h | 996 | ||||
-rw-r--r-- | include/field_control_avatar.h | 2 | ||||
-rw-r--r-- | include/field_effect.h | 40 | ||||
-rw-r--r-- | include/field_effect_helpers.h | 8 | ||||
-rw-r--r-- | include/field_player_avatar.h | 40 | ||||
-rw-r--r-- | include/fieldmap.h | 1 | ||||
-rw-r--r-- | include/global.fieldmap.h | 44 | ||||
-rw-r--r-- | include/global.h | 6 | ||||
-rw-r--r-- | include/macros/movement.inc | 207 | ||||
-rw-r--r-- | include/overworld.h | 22 | ||||
-rw-r--r-- | include/shop.h | 2 | ||||
-rw-r--r-- | include/trainer_see.h | 2 |
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 |