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