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 | 
