diff options
Diffstat (limited to 'include')
31 files changed, 1036 insertions, 892 deletions
diff --git a/include/battle.h b/include/battle.h index 510db80f6..59eee8407 100644 --- a/include/battle.h +++ b/include/battle.h @@ -69,10 +69,6 @@ #define TYPE_FORESIGHT 0xFE #define TYPE_ENDTABLE 0xFF -// physical/special types -#define TYPE_IS_PHYSICAL(type) ((type) < TYPE_MYSTERY) -#define TYPE_IS_SPECIAL(type) ((type) > TYPE_MYSTERY) - struct DisableStruct { /*0x00*/ u32 transformedMonPersonality; @@ -97,12 +93,12 @@ struct DisableStruct /*0x13*/ u8 tauntTimer1:4; /*0x13*/ u8 tauntTimer2:4; /*0x14*/ u8 bankPreventingEscape; - /*0x15*/ u8 bankWithSureHit; + /*0x15*/ u8 battlerWithSureHit; /*0x16*/ u8 isFirstTurn; /*0x17*/ u8 unk17; /*0x18*/ u8 truantCounter : 1; /*0x18*/ u8 unk18_a : 3; - /*0x18*/ u8 unk18_b : 4; + /*0x18*/ u8 mimickedMoves : 4; /*0x19*/ u8 rechargeCounter; /*0x1A*/ u8 unk1A[2]; }; @@ -240,7 +236,7 @@ struct BattleResults u8 unk2; // 0x2 u8 unk3; // 0x3 u8 unk4; // 0x4 - u8 unk5_0:1; // 0x5 + u8 playerMonWasDamaged:1; // 0x5 u8 unk5_1:1; // 0x5 u16 poke1Species; // 0x6 u8 pokeString1[10]; // 0x8 @@ -297,20 +293,20 @@ struct BattleStruct /* 0x2000000 */ /*0x15DDF*/ u8 unk15DDF; /*0x15DE0*/ u8 filler15DE0[0x220]; /*0x16000*/ u8 turnEffectsTracker; - /*0x16001*/ u8 turnEffectsBank; + /*0x16001*/ u8 turnEffectsBattlerId; /*0x16002*/ u8 animTurn; /*0x16003*/ u8 scriptingActive; /*0x16004*/ u8 wrappedMove[8]; /*0x1600C*/ u8 cmd49StateTracker; /*0x1600D*/ u8 unk1600D; - /*0x1600E*/ u8 turncountersTracker; + /*0x1600E*/ u8 turnCountersTracker; /*0x1600F*/ u8 getexpStateTracker; /*0x16010*/ u8 moveTarget[4]; /*0x16014*/ u8 unk16014; /*0x16015*/ u8 unk16015; /*0x16016*/ u8 unk16016; /*0x16017*/ u8 unk16017; - /*0x16018*/ u8 expGetterID; + /*0x16018*/ u8 expGetterMonId; /*0x16019*/ u8 unk16019; /*0x1601A*/ u8 atk5A_StateTracker; //also atk5B, statetracker /*0x1601B*/ u8 wildVictorySong; @@ -361,7 +357,7 @@ struct BattleStruct /* 0x2000000 */ /*0x1609F*/ u8 unk1609F; /*0x160A0*/ u8 stringMoveType; /*0x160A1*/ u8 animTargetsHit; - /*0x160A2*/ u8 expGetterBank; + /*0x160A2*/ u8 expGetterBattlerId; /*0x160A3*/ u8 unk160A3; /*0x160A4*/ u8 animArg1; /*0x160A5*/ u8 animArg2; @@ -458,8 +454,8 @@ struct BattleStruct /* 0x2000000 */ /*0x1610D*/ u8 unk1610D; /*0x1610E*/ u8 unk1610E; /*0x1610F*/ u8 unk1610F; - /*0x16110*/ u8 sub80170DC_Tracker; - /*0x16111*/ u8 sub80170DC_Bank; + /*0x16110*/ u8 wishPerishSongState; + /*0x16111*/ u8 wishPerishSongBattlerId; /*0x16112*/ u8 unk16112; /*0x16113*/ u8 unk16113; /*0x16114*/ u8 unk16114; @@ -634,17 +630,6 @@ void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c); //0x34 void BtlController_EmitResetActionMoveSelection(u8 a, u8 b); //0x36 void BtlController_EmitCmd55(u8 a, u8 b); //0x37 -#define REQUEST_ALL_BATTLE 0x0 -#define REQUEST_SPECIES_BATTLE 0x1 -#define REQUEST_HELDITEM_BATTLE 0x2 -#define REQUEST_MOVES_PP_BATTLE 0x3 -#define REQUEST_PPMOVE1_BATTLE 0x9 -#define REQUEST_PPMOVE2_BATTLE 0xA -#define REQUEST_PPMOVE3_BATTLE 0xB -#define REQUEST_PPMOVE4_BATTLE 0xC -#define REQUEST_STATUS_BATTLE 0x28 -#define REQUEST_HP_BATTLE 0x2A - void MarkBattlerForControllerExec(u8 bank); extern u8 gBattleTextBuff1[]; @@ -730,7 +715,7 @@ void debug_sub_8010800(void); // asm/battle_3.o u8 CheckMoveLimitations(u8 bank, u8 unusableMoves, u8 check); -u8 UpdateTurnCounters(void); +u8 DoFieldEndTurnEffects(void); u8 TurnBasedEffects(void); u8 HandleFaintedMonActions(); u8 AbilityBattleEffects(u8 caseID, u8 bank, u8 ability, u8 special, u16 move); @@ -740,7 +725,7 @@ u8 GetMoveTarget(u16 move, u8 useMoveTarget); // asm/battle_4.o void AI_CalcDmg(u8, u8); u8 TypeCalc(u16 move, u8 bank_atk, u8 bank_def); -u8 BankGetTurnOrder(u8 bank); +u8 GetBattlerTurnOrderNum(u8 bank); // asm/battle_5.o void nullsub_91(void); diff --git a/include/battle_controllers.h b/include/battle_controllers.h new file mode 100644 index 000000000..695daabbc --- /dev/null +++ b/include/battle_controllers.h @@ -0,0 +1,196 @@ +#ifndef GUARD_BATTLE_CONTROLLERS_H +#define GUARD_BATTLE_CONTROLLERS_H + +enum +{ + REQUEST_ALL_BATTLE, + REQUEST_SPECIES_BATTLE, + REQUEST_HELDITEM_BATTLE, + REQUEST_MOVES_PP_BATTLE, + REQUEST_MOVE1_BATTLE, + REQUEST_MOVE2_BATTLE, + REQUEST_MOVE3_BATTLE, + REQUEST_MOVE4_BATTLE, + REQUEST_PP_DATA_BATTLE, + REQUEST_PPMOVE1_BATTLE, + REQUEST_PPMOVE2_BATTLE, + REQUEST_PPMOVE3_BATTLE, + REQUEST_PPMOVE4_BATTLE, + REQUEST_UNUSED_13_BATTLE, + REQUEST_UNUSED_14_BATTLE, + REQUEST_UNUSED_15_BATTLE, + REQUEST_UNUSED_16_BATTLE, + REQUEST_OTID_BATTLE, + REQUEST_EXP_BATTLE, + REQUEST_HP_EV_BATTLE, + REQUEST_ATK_EV_BATTLE, + REQUEST_DEF_EV_BATTLE, + REQUEST_SPEED_EV_BATTLE, + REQUEST_SPATK_EV_BATTLE, + REQUEST_SPDEF_EV_BATTLE, + REQUEST_FRIENDSHIP_BATTLE, + REQUEST_POKERUS_BATTLE, + REQUEST_MET_LOCATION_BATTLE, + REQUEST_MET_LEVEL_BATTLE, + REQUEST_MET_GAME_BATTLE, + REQUEST_POKEBALL_BATTLE, + REQUEST_ALL_IVS_BATTLE, + REQUEST_HP_IV_BATTLE, + REQUEST_ATK_IV_BATTLE, + REQUEST_DEF_IV_BATTLE, + REQUEST_SPEED_IV_BATTLE, + REQUEST_SPATK_IV_BATTLE, + REQUEST_SPDEF_IV_BATTLE, + REQUEST_PERSONALITY_BATTLE, + REQUEST_CHECKSUM_BATTLE, + REQUEST_STATUS_BATTLE, + REQUEST_LEVEL_BATTLE, + REQUEST_HP_BATTLE, + REQUEST_MAX_HP_BATTLE, + REQUEST_ATK_BATTLE, + REQUEST_DEF_BATTLE, + REQUEST_SPEED_BATTLE, + REQUEST_SPATK_BATTLE, + REQUEST_SPDEF_BATTLE, + REQUEST_COOL_BATTLE, + REQUEST_BEAUTY_BATTLE, + REQUEST_CUTE_BATTLE, + REQUEST_SMART_BATTLE, + REQUEST_TOUGH_BATTLE, + REQUEST_SHEEN_BATTLE, + REQUEST_COOL_RIBBON_BATTLE, + REQUEST_BEAUTY_RIBBON_BATTLE, + REQUEST_CUTE_RIBBON_BATTLE, + REQUEST_SMART_RIBBON_BATTLE, + REQUEST_TOUGH_RIBBON_BATTLE, +}; + +enum +{ + CONTROLLER_GETMONDATA, + CONTROLLER_GETRAWMONDATA, + CONTROLLER_SETMONDATA, + CONTROLLER_SETRAWMONDATA, + CONTROLLER_LOADMONSPRITE, + CONTROLLER_SWITCHINANIM, + CONTROLLER_RETURNMONTOBALL, + CONTROLLER_DRAWTRAINERPIC, + CONTROLLER_TRAINERSLIDE, + CONTROLLER_TRAINERSLIDEBACK, + CONTROLLER_FAINTANIMATION, + CONTROLLER_PALETTEFADE, + CONTROLLER_SUCCESSBALLTHROWANIM, + CONTROLLER_BALLTHROWANIM, + CONTROLLER_PAUSE, + CONTROLLER_MOVEANIMATION, + CONTROLLER_PRINTSTRING, + CONTROLLER_PRINTSTRINGPLAYERONLY, + CONTROLLER_CHOOSEACTION, + CONTROLLER_UNKNOWNYESNOBOX, + CONTROLLER_CHOOSEMOVE, + CONTROLLER_OPENBAG, + CONTROLLER_CHOOSEPOKEMON, + CONTROLLER_23, + CONTROLLER_HEALTHBARUPDATE, + CONTROLLER_EXPUPDATE, + CONTROLLER_STATUSICONUPDATE, + CONTROLLER_STATUSANIMATION, + CONTROLLER_STATUSXOR, + CONTROLLER_DATATRANSFER, + CONTROLLER_DMA3TRANSFER, + CONTROLLER_31, + CONTROLLER_32, + CONTROLLER_TWORETURNVALUES, + CONTROLLER_CHOSENMONRETURNVALUE, + CONTROLLER_ONERETURNVALUE, + CONTROLLER_ONERETURNVALUE_DUPLICATE, + CONTROLLER_37, + CONTROLLER_38, + CONTROLLER_39, + CONTROLLER_40, + CONTROLLER_HITANIMATION, + CONTROLLER_42, + CONTROLLER_EFFECTIVENESSSOUND, + CONTROLLER_PLAYFANFAREORBGM, + CONTROLLER_FAINTINGCRY, + CONTROLLER_INTROSLIDE, + CONTROLLER_INTROTRAINERBALLTHROW, + CONTROLLER_DRAWPARTYSTATUSSUMMARY, + CONTROLLER_HIDEPARTYSTATUSSUMMARY, + CONTROLLER_ENDBOUNCE, + CONTROLLER_SPRITEINVISIBILITY, + CONTROLLER_BATTLEANIMATION, + CONTROLLER_LINKSTANDBYMSG, + CONTROLLER_RESETACTIONMOVESELECTION, + CONTROLLER_55, + /*new controllers should go here*/ + CONTROLLER_TERMINATOR_NOP, + CONTROLLER_CMDS_COUNT +}; + +struct HpAndStatus +{ + u16 hp; + u32 status; +}; + +struct DisableStruct; + +// emitters +void HandleLinkBattleSetup(void); +void SetUpBattleVarsAndBirchPoochyena(); +void sub_800B950(void); +void InitLinkBtlControllers(void); +void PrepareBufferDataTransferLink(u8 a, u16, u8 *c); +void sub_800C35C(void); +void BtlController_EmitGetMonData(u8 a, u8 b, u8 c); +void BtlController_EmitGetRawMonData(u8 a, u8 b, u8 c); +void BtlController_EmitLoadMonSprite(u8 a); +void BtlController_EmitSwitchInAnim(u8, u8, u8); +void BtlController_EmitReturnMonToBall(u8 a, u8 b); +void BtlController_EmitDrawTrainerPic(u8 a); +void BtlController_EmitTrainerSlide(u8 a); +void BtlController_EmitTrainerSlideBack(u8 a); +void BtlController_EmitFaintAnimation(u8 a); +void BtlController_EmitPaletteFade(u8 a); +void BtlController_EmitSuccessBallThrowAnim(u8 a); +void BtlController_EmitBallThrowAnim(u8 a, u8 b); +void BtlController_EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g); +void BtlController_EmitPrintString(u8 a, u16 b); +void BtlController_EmitPrintSelectionString(u8 a, u16 stringID); +void BtlController_EmitChooseAction(u8 a, u8 b, u16 c); +void BtlController_EmitChooseMove(u8 a, u8 b, u8 c, u8 *d); +void BtlController_EmitChooseItem(u8 a, u8 *b); +void BtlController_EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e); +void BtlController_EmitCmd23(u8 a); +void BtlController_EmitHealthBarUpdate(u8 a, u16 b); +void BtlController_EmitExpUpdate(u8 a, u8 b, u16 c); +void BtlController_EmitStatusIconUpdate(u8 a, u32 b, u32 c); +void BtlController_EmitStatusAnimation(u8 a, u8 b, u32 c); +void BtlController_EmitStatusXor(u8 a, u8 b); +void BtlController_EmitDataTransfer(u8, u16, u8 *); +void BtlController_EmitTwoReturnValues(u8 a, u8 b, u16 c); +void BtlController_EmitChosenMonReturnValue(u8 a, u8 b, u8 *c); +void BtlController_EmitOneReturnValue(u8 a, u16 b); +void BtlController_EmitOneReturnValue_Duplicate(u8 a, u16 b); +void BtlController_EmitCmd37(u8 a); +void BtlController_EmitCmd38(u8 a, u8 b); +void BtlController_EmitCmd39(u8 a); +void BtlController_EmitCmd40(u8 a); +void BtlController_EmitHitAnimation(u8 a); +void BtlController_EmitCmd42(u8 a); +void BtlController_EmitPlaySE(u8 a, u16 b); +void BtlController_EmitPlayFanfareOrBGM(u8 a, u16 b); +void BtlController_EmitFaintingCry(u8 a); +void BtlController_EmitIntroSlide(u8 a, u8 b); +void BtlController_EmitIntroTrainerBallThrow(u8 a); +void BtlController_EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30 +void BtlController_EmitHidePartyStatusSummary(u8 a); +void BtlController_EmitEndBounceEffect(u8 a); +void BtlController_EmitSpriteInvisibility(u8 a, u8 b); +void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c); +void BtlController_EmitLinkStandbyMsg(u8 a, u8 b); +void BtlController_EmitResetActionMoveSelection(u8 a, u8 b); +void BtlController_EmitCmd55(u8 a, u8 b); + +#endif // GUARD_BATTLE_CONTROLLERS_H diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 030844ec3..36f54c6a8 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -52,7 +52,7 @@ void AI_CalcDmg(u8 bankAtk, u8 bankDef); u8 TypeCalc(u16 move, u8 bankAtk, u8 bankDef); u8 AI_TypeCalc(u16 move, u16 targetSpecies, u8 targetAbility); -u8 BankGetTurnOrder(u8 bank); +u8 GetBattlerTurnOrderNum(u8 bank); void SetMoveEffect(bool8 primary, u8 certain); void BattleDestroyYesNoCursorAt(u8 cursorPosition); void BattleCreateYesNoCursorAt(u8 cursorPosition); diff --git a/include/battle_util.h b/include/battle_util.h index 3d178b487..385490438 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -1,7 +1,7 @@ #ifndef GUARD_BATTLE_UTIL_H #define GUARD_BATTLE_UTIL_H -#define BS_GET_TARGET 0 +#define BS_TARGET 0 #define BS_GET_ATTACKER 1 #define BS_GET_EFFECT_BANK 2 #define BS_GET_SCRIPTING_BANK 10 @@ -15,7 +15,7 @@ #define MOVE_LIMITATION_DISABLED (1 << 2) #define MOVE_LIMITATION_TORMENTED (1 << 3) #define MOVE_LIMITATION_TAUNT (1 << 4) -#define MOVE_LIMITATION_IMPRISON (1 << 5) +#define MOVE_LIMITATION_IMPRISON (1 << 5) #define ABILITYEFFECT_ON_SWITCHIN 0x0 #define ABILITYEFFECT_ENDTURN 0x1 @@ -47,6 +47,9 @@ #define ITEMEFFECT_MOVE_END 0x3 #define ITEMEFFECT_KINGSROCK_SHELLBELL 0x4 +#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) +#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK))) + void TryClearRageStatuses(void); void BattleScriptPush(const u8* BS_ptr); void PressurePPLoseOnUsingImprision(u8 bankAtk); diff --git a/include/berry.h b/include/berry.h index 259ada634..9a7773779 100644 --- a/include/berry.h +++ b/include/berry.h @@ -39,7 +39,7 @@ void debug_sub_80C2C18(const u8 *name, u8 holdEffect, u8 holdEffectParam); void SetEnigmaBerry(u8 *src); bool32 IsEnigmaBerryValid(void); const struct Berry *GetBerryInfo(u8 berry); -bool32 EventObjectInteractionWaterBerryTree(void); +bool32 ObjectEventInteractionWaterBerryTree(void); bool8 IsPlayerFacingUnplantedSoil(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); @@ -51,11 +51,11 @@ u8 GetStageByBerryTreeId(u8); u8 ItemIdToBerryType(u16 item); void GetBerryNameByBerryType(u8 berry, u8 *string); void ResetBerryTreeSparkleFlag(u8 id); -void EventObjectInteractionGetBerryTreeData(void); +void ObjectEventInteractionGetBerryTreeData(void); void Berry_FadeAndGoToBerryBagMenu(void); -void EventObjectInteractionPlantBerryTree(void); -void EventObjectInteractionPickBerryTree(void); -void EventObjectInteractionRemoveBerryTree(void); +void ObjectEventInteractionPlantBerryTree(void); +void ObjectEventInteractionPickBerryTree(void); +void ObjectEventInteractionRemoveBerryTree(void); bool8 PlayerHasBerries(void); void ResetBerryTreeSparkleFlags(void); void debug_sub_80C2D24(u8 spicy, u8 dry, u8 sweet, u8 bitter, u8 sour, u8 smoothness); diff --git a/include/config.h b/include/config.h index 796da359c..0046c3878 100644 --- a/include/config.h +++ b/include/config.h @@ -55,6 +55,16 @@ #define UNITS_METRIC #endif +// An option to use translations/encoding fixes for the Debug menus. +// Selected by default for custom English debug roms. +#ifndef DEBUG_TRANSLATE +#if ENGLISH && DEBUG +#define DEBUG_TRANSLATE 1 +#else +#define DEBUG_TRANSLATE 0 +#endif +#endif + // Fixed in Emerald. // #define BUGFIX_SETMONIVS diff --git a/include/constants/abilities.h b/include/constants/abilities.h index 4e2c4056c..4ad54c86f 100644 --- a/include/constants/abilities.h +++ b/include/constants/abilities.h @@ -80,4 +80,6 @@ #define ABILITY_CACOPHONY 76 #define ABILITY_AIR_LOCK 77 +#define ABILITIES_COUNT 78 + #endif // GUARD_CONSTANTS_ABILITIES_H diff --git a/include/constants/battle.h b/include/constants/battle.h index c33e0abb4..5aa1772d1 100644 --- a/include/constants/battle.h +++ b/include/constants/battle.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_BATTLE_CONSTANTS_H -#define GUARD_CONSTANTS_BATTLE_CONSTANTS_H +#ifndef GUARD_CONSTANTS_BATTLE_H +#define GUARD_CONSTANTS_BATTLE_H /* * A battler may be in one of four positions on the field. The first bit determines @@ -43,6 +43,7 @@ #define BIT_SIDE 1 #define BIT_FLANK 2 +// Battle Type Flags #define BATTLE_TYPE_DOUBLE 0x0001 #define BATTLE_TYPE_LINK 0x0002 #define BATTLE_TYPE_WILD 0x0004 @@ -63,67 +64,68 @@ #define SECRET_BASE_OPPONENT 0x400 #define LINK_BATTLE_OPPONENT 0x800 -#define BATTLE_WON 0x1 -#define BATTLE_LOST 0x2 -#define BATTLE_DREW 0x3 -#define BATTLE_RAN 0x4 -#define BATTLE_PLAYER_TELEPORTED 0x5 -#define BATTLE_POKE_FLED 0x6 -#define BATTLE_CAUGHT 0x7 -#define BATTLE_OUT_OF_BALLS 0x8 -#define BATTLE_OPPONENT_TELEPORTED 0xA - -#define OUTCOME_LINK_BATTLE_RUN 0x80 +// Battle Outcome defines +#define B_OUTCOME_WON 0x1 +#define B_OUTCOME_LOST 0x2 +#define B_OUTCOME_DREW 0x3 +#define B_OUTCOME_RAN 0x4 +#define B_OUTCOME_PLAYER_TELEPORTED 0x5 +#define B_OUTCOME_MON_FLED 0x6 +#define B_OUTCOME_CAUGHT 0x7 +#define B_OUTCOME_NO_SAFARI_BALLS 0x8 +#define B_OUTCOME_FORFEITED 0x9 +#define B_OUTCOME_MON_TELEPORTED 0xA +#define B_OUTCOME_LINK_BATTLE_RAN 0x80 // Non-volatile status conditions // These persist remain outside of battle and after switching out -#define STATUS1_NONE 0x0 -#define STATUS_SLEEP 0x7 -#define STATUS_POISON 0x8 -#define STATUS_BURN 0x10 -#define STATUS_FREEZE 0x20 -#define STATUS_PARALYSIS 0x40 -#define STATUS_TOXIC_POISON 0x80 -#define STATUS_TOXIC_COUNTER 0xF00 -#define STATUS_PSN_ANY ((STATUS_POISON | STATUS_TOXIC_POISON)) -#define STATUS_ANY ((STATUS_SLEEP | STATUS_POISON | STATUS_BURN | STATUS_FREEZE | STATUS_PARALYSIS | STATUS_TOXIC_POISON)) +#define STATUS1_NONE 0x0 +#define STATUS1_SLEEP 0x7 +#define STATUS1_POISON 0x8 +#define STATUS1_BURN 0x10 +#define STATUS1_FREEZE 0x20 +#define STATUS1_PARALYSIS 0x40 +#define STATUS1_TOXIC_POISON 0x80 +#define STATUS1_TOXIC_COUNTER 0xF00 +#define STATUS1_PSN_ANY (STATUS1_POISON | STATUS1_TOXIC_POISON) +#define STATUS1_ANY (STATUS1_SLEEP | STATUS1_POISON | STATUS1_BURN | STATUS1_FREEZE | STATUS1_PARALYSIS | STATUS1_TOXIC_POISON) // Volatile status ailments // These are removed after exiting the battle or switching out -#define STATUS2_CONFUSION 0x00000007 -#define STATUS2_FLINCHED 0x00000008 -#define STATUS2_UPROAR 0x00000070 -#define STATUS2_BIDE 0x00000300 //two bits 0x100 0x200 -#define STATUS2_LOCK_CONFUSE 0x00000C00 -#define STATUS2_MULTIPLETURNS 0x00001000 -#define STATUS2_WRAPPED 0x0000E000 -#define STATUS2_INFATUATION 0x000F0000 +#define STATUS2_CONFUSION 0x00000007 +#define STATUS2_FLINCHED 0x00000008 +#define STATUS2_UPROAR 0x00000070 +#define STATUS2_BIDE 0x00000300 // two bits 0x100, 0x200 +#define STATUS2_LOCK_CONFUSE 0x00000C00 +#define STATUS2_MULTIPLETURNS 0x00001000 +#define STATUS2_WRAPPED 0x0000E000 +#define STATUS2_INFATUATION 0x000F0000 // 4 bits, one for every battler #define STATUS2_INFATUATED_WITH(battler) (gBitTable[battler] << 16) -#define STATUS2_FOCUS_ENERGY 0x00100000 -#define STATUS2_TRANSFORMED 0x00200000 -#define STATUS2_RECHARGE 0x00400000 -#define STATUS2_RAGE 0x00800000 -#define STATUS2_SUBSTITUTE 0x01000000 -#define STATUS2_DESTINY_BOND 0x02000000 -#define STATUS2_ESCAPE_PREVENTION 0x04000000 -#define STATUS2_NIGHTMARE 0x08000000 -#define STATUS2_CURSED 0x10000000 -#define STATUS2_FORESIGHT 0x20000000 -#define STATUS2_DEFENSE_CURL 0x40000000 -#define STATUS2_TORMENT 0x80000000 +#define STATUS2_FOCUS_ENERGY 0x00100000 +#define STATUS2_TRANSFORMED 0x00200000 +#define STATUS2_RECHARGE 0x00400000 +#define STATUS2_RAGE 0x00800000 +#define STATUS2_SUBSTITUTE 0x01000000 +#define STATUS2_DESTINY_BOND 0x02000000 +#define STATUS2_ESCAPE_PREVENTION 0x04000000 +#define STATUS2_NIGHTMARE 0x08000000 +#define STATUS2_CURSED 0x10000000 +#define STATUS2_FORESIGHT 0x20000000 +#define STATUS2_DEFENSE_CURL 0x40000000 +#define STATUS2_TORMENT 0x80000000 // Seems like per-battler statuses. Not quite sure how to categorize these -#define STATUS3_LEECHSEED_BANK 0x3 +#define STATUS3_LEECHSEED_BATTLER 0x3 #define STATUS3_LEECHSEED 0x4 -#define STATUS3_ALWAYS_HITS 0x18 //two bits +#define STATUS3_ALWAYS_HITS 0x18 // two bits #define STATUS3_PERISH_SONG 0x20 #define STATUS3_ON_AIR 0x40 #define STATUS3_UNDERGROUND 0x80 #define STATUS3_MINIMIZED 0x100 #define STATUS3_ROOTED 0x400 #define STATUS3_CHARGED_UP 0x200 -#define STATUS3_YAWN 0x1800 //two bits -#define STATUS3_IMPRISIONED 0x2000 +#define STATUS3_YAWN 0x1800 // two bits +#define STATUS3_IMPRISONED_OTHERS 0x2000 #define STATUS3_GRUDGE 0x4000 #define STATUS3_CANT_SCORE_A_CRIT 0x8000 #define STATUS3_MUDSPORT 0x10000 @@ -131,7 +133,7 @@ #define STATUS3_UNDERWATER 0x40000 #define STATUS3_INTIMIDATE_POKES 0x80000 #define STATUS3_TRACE 0x100000 -#define STATUS3_SEMI_INVULNERABLE ((STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER)) +#define STATUS3_SEMI_INVULNERABLE (STATUS3_UNDERGROUND | STATUS3_ON_AIR | STATUS3_UNDERWATER) // Not really sure what a "hitmarker" is. #define HITMARKER_x10 0x00000010 @@ -142,7 +144,7 @@ #define HITMARKER_NO_ATTACKSTRING 0x00000200 #define HITMARKER_ATTACKSTRING_PRINTED 0x00000400 #define HITMARKER_NO_PPDEDUCT 0x00000800 -#define HITMARKER_PURSUIT_TRAP 0x00001000 +#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000 #define HITMARKER_IGNORE_SAFEGUARD 0x00002000 #define HITMARKER_SYNCHRONISE_EFFECT 0x00004000 #define HITMARKER_RUN 0x00008000 @@ -157,9 +159,9 @@ #define HITMARKER_GRUDGE 0x01000000 #define HITMARKER_OBEYS 0x02000000 #define HITMARKER_x4000000 0x04000000 -#define HITMARKER_x8000000 0x08000000 -#define HITMARKER_FAINTED(bank) ((gBitTable[bank] << 0x1C)) -#define HITMARKER_UNK(bank) ((0x10000000 << bank)) +#define HITMARKER_CHARGING 0x08000000 +#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 0x1C) +#define HITMARKER_UNK(battler) (0x10000000 << battler) // Per-side statuses that affect an entire party #define SIDE_STATUS_REFLECT (1 << 0) @@ -235,7 +237,7 @@ #define MOVE_EFFECT_RAPIDSPIN 0x23 #define MOVE_EFFECT_REMOVE_PARALYSIS 0x24 #define MOVE_EFFECT_ATK_DEF_DOWN 0x25 -#define MOVE_EFFECT_RECOIL_33_PARALYSIS 0x26 +#define MOVE_EFFECT_RECOIL_33 0x26 #define MOVE_EFFECT_ATK_PLUS_2 0x27 #define MOVE_EFFECT_DEF_PLUS_2 0x28 #define MOVE_EFFECT_SPD_PLUS_2 0x29 @@ -322,9 +324,7 @@ #define ABILITYEFFECT_COUNT_ON_FIELD 0x12 #define ABILITYEFFECT_CHECK_ON_FIELD 0x13 -#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0))) - -#define BS_GET_TARGET 0 +#define BS_TARGET 0 #define BS_GET_ATTACKER 1 #define BS_GET_EFFECT_BANK 2 #define BS_GET_gBank1 3 diff --git a/include/constants/bg_event_constants.h b/include/constants/event_bg.h index a915bc509..64f3331b8 100755 --- a/include/constants/bg_event_constants.h +++ b/include/constants/event_bg.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_BG_EVENT_H -#define GUARD_CONSTANTS_BG_EVENT_H +#ifndef GUARD_CONSTANTS_EVENT_BG_H +#define GUARD_CONSTANTS_EVENT_BG_H #define BG_EVENT_PLAYER_FACING_ANY 0 #define BG_EVENT_PLAYER_FACING_NORTH 1 @@ -10,4 +10,4 @@ #define BG_EVENT_HIDDEN_ITEM 7 #define BG_EVENT_SECRET_BASE 8 -#endif // GUARD_CONSTANTS_BG_EVENT_H +#endif // GUARD_CONSTANTS_EVENT_BG_H diff --git a/include/constants/event_object_movement_constants.h b/include/constants/event_object_movement.h index 81d2417a1..a93a2ac05 100755 --- a/include/constants/event_object_movement_constants.h +++ b/include/constants/event_object_movement.h @@ -1,5 +1,5 @@ -#ifndef GUARD_CONSTANTS_EVENTOBJMV_H -#define GUARD_CONSTANTS_EVENTOBJMV_H +#ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H +#define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H #define MOVEMENT_TYPE_NONE 0x0 #define MOVEMENT_TYPE_LOOK_AROUND 0x1 @@ -218,4 +218,4 @@ #define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x88 #define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x89 -#endif // GUARD_CONSTANTS_EVENTOBJMV_H +#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 32c7b7625..21cb3f7f4 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -1,247 +1,247 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H #define GUARD_CONSTANTS_EVENT_OBJECTS_H -#define EVENT_OBJ_GFX_BRENDAN_NORMAL 0 -#define EVENT_OBJ_GFX_BRENDAN_MACH_BIKE 1 -#define EVENT_OBJ_GFX_BRENDAN_SURFING 2 -#define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE 3 -#define EVENT_OBJ_GFX_QUINTY_PLUMP 4 -#define EVENT_OBJ_GFX_LITTLE_BOY_1 5 -#define EVENT_OBJ_GFX_LITTLE_GIRL_1 6 -#define EVENT_OBJ_GFX_BOY_1 7 -#define EVENT_OBJ_GFX_GIRL_1 8 -#define EVENT_OBJ_GFX_BOY_2 9 -#define EVENT_OBJ_GFX_GIRL_2 10 -#define EVENT_OBJ_GFX_LITTLE_BOY_2 11 -#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12 -#define EVENT_OBJ_GFX_BOY_3 13 -#define EVENT_OBJ_GFX_GIRL_3 14 -#define EVENT_OBJ_GFX_BOY_4 15 -#define EVENT_OBJ_GFX_WOMAN_1 16 -#define EVENT_OBJ_GFX_FAT_MAN 17 -#define EVENT_OBJ_GFX_WOMAN_2 18 -#define EVENT_OBJ_GFX_MAN_1 19 -#define EVENT_OBJ_GFX_WOMAN_3 20 -#define EVENT_OBJ_GFX_OLD_MAN_1 21 -#define EVENT_OBJ_GFX_OLD_WOMAN_1 22 -#define EVENT_OBJ_GFX_MAN_2 23 -#define EVENT_OBJ_GFX_WOMAN_4 24 -#define EVENT_OBJ_GFX_MAN_3 25 -#define EVENT_OBJ_GFX_WOMAN_5 26 -#define EVENT_OBJ_GFX_COOK 27 -#define EVENT_OBJ_GFX_WOMAN_6 28 -#define EVENT_OBJ_GFX_OLD_MAN_2 29 -#define EVENT_OBJ_GFX_OLD_WOMAN_2 30 -#define EVENT_OBJ_GFX_CAMPER 31 -#define EVENT_OBJ_GFX_PICNICKER 32 -#define EVENT_OBJ_GFX_MAN_4 33 -#define EVENT_OBJ_GFX_WOMAN_7 34 -#define EVENT_OBJ_GFX_YOUNGSTER 35 -#define EVENT_OBJ_GFX_BUG_CATCHER 36 -#define EVENT_OBJ_GFX_PSYCHIC_M 37 -#define EVENT_OBJ_GFX_SCHOOL_KID_M 38 -#define EVENT_OBJ_GFX_MANIAC 39 -#define EVENT_OBJ_GFX_HEX_MANIAC 40 -#define EVENT_OBJ_GFX_WOMAN_8 41 -#define EVENT_OBJ_GFX_SWIMMER_M 42 -#define EVENT_OBJ_GFX_SWIMMER_F 43 -#define EVENT_OBJ_GFX_BLACK_BELT 44 -#define EVENT_OBJ_GFX_BEAUTY 45 -#define EVENT_OBJ_GFX_SCIENTIST_1 46 -#define EVENT_OBJ_GFX_LASS 47 -#define EVENT_OBJ_GFX_GENTLEMAN 48 -#define EVENT_OBJ_GFX_SAILOR 49 -#define EVENT_OBJ_GFX_FISHERMAN 50 -#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M 51 -#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F 52 -#define EVENT_OBJ_GFX_TUBER_F 53 -#define EVENT_OBJ_GFX_TUBER_M 54 -#define EVENT_OBJ_GFX_HIKER 55 -#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M 56 -#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F 57 -#define EVENT_OBJ_GFX_NURSE 58 -#define EVENT_OBJ_GFX_ITEM_BALL 59 -#define EVENT_OBJ_GFX_BERRY_TREE 60 -#define EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61 -#define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES 62 -#define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE 63 -#define EVENT_OBJ_GFX_PROF_BIRCH 64 -#define EVENT_OBJ_GFX_MAN_5 65 -#define EVENT_OBJ_GFX_MAN_6 66 -#define EVENT_OBJ_GFX_REPORTER_M 67 -#define EVENT_OBJ_GFX_REPORTER_F 68 -#define EVENT_OBJ_GFX_BARD 69 -#define EVENT_OBJ_GFX_HIPSTER 70 -#define EVENT_OBJ_GFX_TRADER 71 -#define EVENT_OBJ_GFX_STORYTELLER 72 -#define EVENT_OBJ_GFX_GIDDY 73 -#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74 -#define EVENT_OBJ_GFX_UNUSED_MAUVILLE_OLD_MAN_2 75 -#define EVENT_OBJ_GFX_UNUSED_NATU_DOLL 76 -#define EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77 -#define EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78 -#define EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL 79 -#define EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL 80 -#define EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL 81 -#define EVENT_OBJ_GFX_CUTTABLE_TREE 82 -#define EVENT_OBJ_GFX_MART_EMPLOYEE 83 -#define EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN 84 -#define EVENT_OBJ_GFX_TEALA 85 -#define EVENT_OBJ_GFX_BREAKABLE_ROCK 86 -#define EVENT_OBJ_GFX_PUSHABLE_BOULDER 87 -#define EVENT_OBJ_GFX_MR_BRINEYS_BOAT 88 -#define EVENT_OBJ_GFX_MAY_NORMAL 89 -#define EVENT_OBJ_GFX_MAY_MACH_BIKE 90 -#define EVENT_OBJ_GFX_MAY_ACRO_BIKE 91 -#define EVENT_OBJ_GFX_MAY_SURFING 92 -#define EVENT_OBJ_GFX_MAY_FIELD_MOVE 93 -#define EVENT_OBJ_GFX_TRUCK 94 -#define EVENT_OBJ_GFX_MACHOKE_CARRYING_BOX 95 -#define EVENT_OBJ_GFX_MACHOKE_FACING_AWAY 96 -#define EVENT_OBJ_GFX_BIRCHS_BAG 97 -#define EVENT_OBJ_GFX_POOCHYENA 98 -#define EVENT_OBJ_GFX_ARTIST 99 -#define EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100 -#define EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101 -#define EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102 -#define EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING 103 -#define EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104 -#define EVENT_OBJ_GFX_RIVAL_MAY_NORMAL 105 -#define EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106 -#define EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107 -#define EVENT_OBJ_GFX_RIVAL_MAY_SURFING 108 -#define EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109 -#define EVENT_OBJ_GFX_CAMERAMAN 110 -#define EVENT_OBJ_GFX_BRENDAN_UNDERWATER 111 -#define EVENT_OBJ_GFX_MAY_UNDERWATER 112 -#define EVENT_OBJ_GFX_MOVING_BOX 113 -#define EVENT_OBJ_GFX_CABLE_CAR 114 -#define EVENT_OBJ_GFX_SCIENTIST_2 115 -#define EVENT_OBJ_GFX_MAN_7 116 -#define EVENT_OBJ_GFX_AQUA_MEMBER_M 117 -#define EVENT_OBJ_GFX_AQUA_MEMBER_F 118 -#define EVENT_OBJ_GFX_MAGMA_MEMBER_M 119 -#define EVENT_OBJ_GFX_MAGMA_MEMBER_F 120 -#define EVENT_OBJ_GFX_SIDNEY 121 -#define EVENT_OBJ_GFX_PHOEBE 122 -#define EVENT_OBJ_GFX_GLACIA 123 -#define EVENT_OBJ_GFX_DRAKE 124 -#define EVENT_OBJ_GFX_ROXANNE 125 -#define EVENT_OBJ_GFX_BRAWLY 126 -#define EVENT_OBJ_GFX_WATTSON 127 -#define EVENT_OBJ_GFX_FLANNERY 128 -#define EVENT_OBJ_GFX_NORMAN 129 -#define EVENT_OBJ_GFX_WINONA 130 -#define EVENT_OBJ_GFX_LIZA 131 -#define EVENT_OBJ_GFX_TATE 132 -#define EVENT_OBJ_GFX_WALLACE 133 -#define EVENT_OBJ_GFX_STEVEN 134 -#define EVENT_OBJ_GFX_WALLY 135 -#define EVENT_OBJ_GFX_LITTLE_BOY_3 136 -#define EVENT_OBJ_GFX_BRENDAN_FISHING 137 -#define EVENT_OBJ_GFX_MAY_FISHING 138 -#define EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139 -#define EVENT_OBJ_GFX_SS_TIDAL 140 -#define EVENT_OBJ_GFX_SUBMARINE_SHADOW 141 -#define EVENT_OBJ_GFX_PICHU_DOLL 142 -#define EVENT_OBJ_GFX_PIKACHU_DOLL 143 -#define EVENT_OBJ_GFX_MARILL_DOLL 144 -#define EVENT_OBJ_GFX_TOGEPI_DOLL 145 -#define EVENT_OBJ_GFX_CYNDAQUIL_DOLL 146 -#define EVENT_OBJ_GFX_CHIKORITA_DOLL 147 -#define EVENT_OBJ_GFX_TOTODILE_DOLL 148 -#define EVENT_OBJ_GFX_JIGGLYPUFF_DOLL 149 -#define EVENT_OBJ_GFX_MEOWTH_DOLL 150 -#define EVENT_OBJ_GFX_CLEFAIRY_DOLL 151 -#define EVENT_OBJ_GFX_DITTO_DOLL 152 -#define EVENT_OBJ_GFX_SMOOCHUM_DOLL 153 -#define EVENT_OBJ_GFX_TREECKO_DOLL 154 -#define EVENT_OBJ_GFX_TORCHIC_DOLL 155 -#define EVENT_OBJ_GFX_MUDKIP_DOLL 156 -#define EVENT_OBJ_GFX_DUSKULL_DOLL 157 -#define EVENT_OBJ_GFX_WYNAUT_DOLL 158 -#define EVENT_OBJ_GFX_BALTOY_DOLL 159 -#define EVENT_OBJ_GFX_KECLEON_DOLL 160 -#define EVENT_OBJ_GFX_AZURILL_DOLL 161 -#define EVENT_OBJ_GFX_SKITTY_DOLL 162 -#define EVENT_OBJ_GFX_SWABLU_DOLL 163 -#define EVENT_OBJ_GFX_GULPIN_DOLL 164 -#define EVENT_OBJ_GFX_LOTAD_DOLL 165 -#define EVENT_OBJ_GFX_SEEDOT_DOLL 166 -#define EVENT_OBJ_GFX_PIKA_CUSHION 167 -#define EVENT_OBJ_GFX_ROUND_CUSHION 168 -#define EVENT_OBJ_GFX_KISS_CUSHION 169 -#define EVENT_OBJ_GFX_ZIGZAG_CUSHION 170 -#define EVENT_OBJ_GFX_SPIN_CUSHION 171 -#define EVENT_OBJ_GFX_DIAMOND_CUSHION 172 -#define EVENT_OBJ_GFX_BALL_CUSHION 173 -#define EVENT_OBJ_GFX_GRASS_CUSHION 174 -#define EVENT_OBJ_GFX_FIRE_CUSHION 175 -#define EVENT_OBJ_GFX_WATER_CUSHION 176 -#define EVENT_OBJ_GFX_BIG_SNORLAX_DOLL 177 -#define EVENT_OBJ_GFX_BIG_RHYDON_DOLL 178 -#define EVENT_OBJ_GFX_BIG_LAPRAS_DOLL 179 -#define EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL 180 -#define EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL 181 -#define EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL 182 -#define EVENT_OBJ_GFX_BIG_WAILMER_DOLL 183 -#define EVENT_OBJ_GFX_BIG_REGIROCK_DOLL 184 -#define EVENT_OBJ_GFX_BIG_REGICE_DOLL 185 -#define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL 186 -#define EVENT_OBJ_GFX_LATIAS 187 -#define EVENT_OBJ_GFX_LATIOS 188 -#define EVENT_OBJ_GFX_BOY_5 189 -#define EVENT_OBJ_GFX_CONTEST_JUDGE 190 -#define EVENT_OBJ_GFX_BRENDAN_WATERING 191 -#define EVENT_OBJ_GFX_MAY_WATERING 192 -#define EVENT_OBJ_GFX_BRENDAN_DECORATING 193 -#define EVENT_OBJ_GFX_MAY_DECORATING 194 -#define EVENT_OBJ_GFX_ARCHIE 195 -#define EVENT_OBJ_GFX_MAXIE 196 -#define EVENT_OBJ_GFX_KYOGRE_1 197 -#define EVENT_OBJ_GFX_GROUDON_1 198 -#define EVENT_OBJ_GFX_FOSSIL 199 -#define EVENT_OBJ_GFX_REGIROCK 200 -#define EVENT_OBJ_GFX_REGICE 201 -#define EVENT_OBJ_GFX_REGISTEEL 202 -#define EVENT_OBJ_GFX_SKITTY 203 -#define EVENT_OBJ_GFX_KECLEON_1 204 -#define EVENT_OBJ_GFX_KYOGRE_2 205 -#define EVENT_OBJ_GFX_GROUDON_2 206 -#define EVENT_OBJ_GFX_RAYQUAZA 207 -#define EVENT_OBJ_GFX_ZIGZAGOON 208 -#define EVENT_OBJ_GFX_PIKACHU 209 -#define EVENT_OBJ_GFX_AZUMARILL 210 -#define EVENT_OBJ_GFX_WINGULL 211 -#define EVENT_OBJ_GFX_KECLEON_2 212 -#define EVENT_OBJ_GFX_TUBER_M_SWIMMING 213 -#define EVENT_OBJ_GFX_AZURILL 214 -#define EVENT_OBJ_GFX_MOM 215 -#define EVENT_OBJ_GFX_LINK_BRENDAN 216 -#define EVENT_OBJ_GFX_LINK_MAY 217 +#define OBJ_EVENT_GFX_BRENDAN_NORMAL 0 +#define OBJ_EVENT_GFX_BRENDAN_MACH_BIKE 1 +#define OBJ_EVENT_GFX_BRENDAN_SURFING 2 +#define OBJ_EVENT_GFX_BRENDAN_FIELD_MOVE 3 +#define OBJ_EVENT_GFX_QUINTY_PLUMP 4 +#define OBJ_EVENT_GFX_LITTLE_BOY_1 5 +#define OBJ_EVENT_GFX_LITTLE_GIRL_1 6 +#define OBJ_EVENT_GFX_BOY_1 7 +#define OBJ_EVENT_GFX_GIRL_1 8 +#define OBJ_EVENT_GFX_BOY_2 9 +#define OBJ_EVENT_GFX_GIRL_2 10 +#define OBJ_EVENT_GFX_LITTLE_BOY_2 11 +#define OBJ_EVENT_GFX_LITTLE_GIRL_2 12 +#define OBJ_EVENT_GFX_BOY_3 13 +#define OBJ_EVENT_GFX_GIRL_3 14 +#define OBJ_EVENT_GFX_BOY_4 15 +#define OBJ_EVENT_GFX_WOMAN_1 16 +#define OBJ_EVENT_GFX_FAT_MAN 17 +#define OBJ_EVENT_GFX_WOMAN_2 18 +#define OBJ_EVENT_GFX_MAN_1 19 +#define OBJ_EVENT_GFX_WOMAN_3 20 +#define OBJ_EVENT_GFX_OLD_MAN_1 21 +#define OBJ_EVENT_GFX_OLD_WOMAN_1 22 +#define OBJ_EVENT_GFX_MAN_2 23 +#define OBJ_EVENT_GFX_WOMAN_4 24 +#define OBJ_EVENT_GFX_MAN_3 25 +#define OBJ_EVENT_GFX_WOMAN_5 26 +#define OBJ_EVENT_GFX_COOK 27 +#define OBJ_EVENT_GFX_WOMAN_6 28 +#define OBJ_EVENT_GFX_OLD_MAN_2 29 +#define OBJ_EVENT_GFX_OLD_WOMAN_2 30 +#define OBJ_EVENT_GFX_CAMPER 31 +#define OBJ_EVENT_GFX_PICNICKER 32 +#define OBJ_EVENT_GFX_MAN_4 33 +#define OBJ_EVENT_GFX_WOMAN_7 34 +#define OBJ_EVENT_GFX_YOUNGSTER 35 +#define OBJ_EVENT_GFX_BUG_CATCHER 36 +#define OBJ_EVENT_GFX_PSYCHIC_M 37 +#define OBJ_EVENT_GFX_SCHOOL_KID_M 38 +#define OBJ_EVENT_GFX_MANIAC 39 +#define OBJ_EVENT_GFX_HEX_MANIAC 40 +#define OBJ_EVENT_GFX_WOMAN_8 41 +#define OBJ_EVENT_GFX_SWIMMER_M 42 +#define OBJ_EVENT_GFX_SWIMMER_F 43 +#define OBJ_EVENT_GFX_BLACK_BELT 44 +#define OBJ_EVENT_GFX_BEAUTY 45 +#define OBJ_EVENT_GFX_SCIENTIST_1 46 +#define OBJ_EVENT_GFX_LASS 47 +#define OBJ_EVENT_GFX_GENTLEMAN 48 +#define OBJ_EVENT_GFX_SAILOR 49 +#define OBJ_EVENT_GFX_FISHERMAN 50 +#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_M 51 +#define OBJ_EVENT_GFX_RUNNING_TRIATHLETE_F 52 +#define OBJ_EVENT_GFX_TUBER_F 53 +#define OBJ_EVENT_GFX_TUBER_M 54 +#define OBJ_EVENT_GFX_HIKER 55 +#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_M 56 +#define OBJ_EVENT_GFX_CYCLING_TRIATHLETE_F 57 +#define OBJ_EVENT_GFX_NURSE 58 +#define OBJ_EVENT_GFX_ITEM_BALL 59 +#define OBJ_EVENT_GFX_BERRY_TREE 60 +#define OBJ_EVENT_GFX_BERRY_TREE_EARLY_STAGES 61 +#define OBJ_EVENT_GFX_BERRY_TREE_LATE_STAGES 62 +#define OBJ_EVENT_GFX_BRENDAN_ACRO_BIKE 63 +#define OBJ_EVENT_GFX_PROF_BIRCH 64 +#define OBJ_EVENT_GFX_MAN_5 65 +#define OBJ_EVENT_GFX_MAN_6 66 +#define OBJ_EVENT_GFX_REPORTER_M 67 +#define OBJ_EVENT_GFX_REPORTER_F 68 +#define OBJ_EVENT_GFX_BARD 69 +#define OBJ_EVENT_GFX_HIPSTER 70 +#define OBJ_EVENT_GFX_TRADER 71 +#define OBJ_EVENT_GFX_STORYTELLER 72 +#define OBJ_EVENT_GFX_GIDDY 73 +#define OBJ_EVENT_GFX_UNUSED_MAUVILLE_OLD_MAN_1 74 +#define OBJ_EVENT_GFX_UNUSED_MAUVILLE_OLD_MAN_2 75 +#define OBJ_EVENT_GFX_UNUSED_NATU_DOLL 76 +#define OBJ_EVENT_GFX_UNUSED_MAGNEMITE_DOLL 77 +#define OBJ_EVENT_GFX_UNUSED_SQUIRTLE_DOLL 78 +#define OBJ_EVENT_GFX_UNUSED_WOOPER_DOLL 79 +#define OBJ_EVENT_GFX_UNUSED_PIKACHU_DOLL 80 +#define OBJ_EVENT_GFX_UNUSED_PORYGON2_DOLL 81 +#define OBJ_EVENT_GFX_CUTTABLE_TREE 82 +#define OBJ_EVENT_GFX_MART_EMPLOYEE 83 +#define OBJ_EVENT_GFX_ROOFTOP_SALE_WOMAN 84 +#define OBJ_EVENT_GFX_TEALA 85 +#define OBJ_EVENT_GFX_BREAKABLE_ROCK 86 +#define OBJ_EVENT_GFX_PUSHABLE_BOULDER 87 +#define OBJ_EVENT_GFX_MR_BRINEYS_BOAT 88 +#define OBJ_EVENT_GFX_MAY_NORMAL 89 +#define OBJ_EVENT_GFX_MAY_MACH_BIKE 90 +#define OBJ_EVENT_GFX_MAY_ACRO_BIKE 91 +#define OBJ_EVENT_GFX_MAY_SURFING 92 +#define OBJ_EVENT_GFX_MAY_FIELD_MOVE 93 +#define OBJ_EVENT_GFX_TRUCK 94 +#define OBJ_EVENT_GFX_MACHOKE_CARRYING_BOX 95 +#define OBJ_EVENT_GFX_MACHOKE_FACING_AWAY 96 +#define OBJ_EVENT_GFX_BIRCHS_BAG 97 +#define OBJ_EVENT_GFX_POOCHYENA 98 +#define OBJ_EVENT_GFX_ARTIST 99 +#define OBJ_EVENT_GFX_RIVAL_BRENDAN_NORMAL 100 +#define OBJ_EVENT_GFX_RIVAL_BRENDAN_MACH_BIKE 101 +#define OBJ_EVENT_GFX_RIVAL_BRENDAN_ACRO_BIKE 102 +#define OBJ_EVENT_GFX_RIVAL_BRENDAN_SURFING 103 +#define OBJ_EVENT_GFX_RIVAL_BRENDAN_FIELD_MOVE 104 +#define OBJ_EVENT_GFX_RIVAL_MAY_NORMAL 105 +#define OBJ_EVENT_GFX_RIVAL_MAY_MACH_BIKE 106 +#define OBJ_EVENT_GFX_RIVAL_MAY_ACRO_BIKE 107 +#define OBJ_EVENT_GFX_RIVAL_MAY_SURFING 108 +#define OBJ_EVENT_GFX_RIVAL_MAY_FIELD_MOVE 109 +#define OBJ_EVENT_GFX_CAMERAMAN 110 +#define OBJ_EVENT_GFX_BRENDAN_UNDERWATER 111 +#define OBJ_EVENT_GFX_MAY_UNDERWATER 112 +#define OBJ_EVENT_GFX_MOVING_BOX 113 +#define OBJ_EVENT_GFX_CABLE_CAR 114 +#define OBJ_EVENT_GFX_SCIENTIST_2 115 +#define OBJ_EVENT_GFX_MAN_7 116 +#define OBJ_EVENT_GFX_AQUA_MEMBER_M 117 +#define OBJ_EVENT_GFX_AQUA_MEMBER_F 118 +#define OBJ_EVENT_GFX_MAGMA_MEMBER_M 119 +#define OBJ_EVENT_GFX_MAGMA_MEMBER_F 120 +#define OBJ_EVENT_GFX_SIDNEY 121 +#define OBJ_EVENT_GFX_PHOEBE 122 +#define OBJ_EVENT_GFX_GLACIA 123 +#define OBJ_EVENT_GFX_DRAKE 124 +#define OBJ_EVENT_GFX_ROXANNE 125 +#define OBJ_EVENT_GFX_BRAWLY 126 +#define OBJ_EVENT_GFX_WATTSON 127 +#define OBJ_EVENT_GFX_FLANNERY 128 +#define OBJ_EVENT_GFX_NORMAN 129 +#define OBJ_EVENT_GFX_WINONA 130 +#define OBJ_EVENT_GFX_LIZA 131 +#define OBJ_EVENT_GFX_TATE 132 +#define OBJ_EVENT_GFX_WALLACE 133 +#define OBJ_EVENT_GFX_STEVEN 134 +#define OBJ_EVENT_GFX_WALLY 135 +#define OBJ_EVENT_GFX_LITTLE_BOY_3 136 +#define OBJ_EVENT_GFX_BRENDAN_FISHING 137 +#define OBJ_EVENT_GFX_MAY_FISHING 138 +#define OBJ_EVENT_GFX_HOT_SPRINGS_OLD_WOMAN 139 +#define OBJ_EVENT_GFX_SS_TIDAL 140 +#define OBJ_EVENT_GFX_SUBMARINE_SHADOW 141 +#define OBJ_EVENT_GFX_PICHU_DOLL 142 +#define OBJ_EVENT_GFX_PIKACHU_DOLL 143 +#define OBJ_EVENT_GFX_MARILL_DOLL 144 +#define OBJ_EVENT_GFX_TOGEPI_DOLL 145 +#define OBJ_EVENT_GFX_CYNDAQUIL_DOLL 146 +#define OBJ_EVENT_GFX_CHIKORITA_DOLL 147 +#define OBJ_EVENT_GFX_TOTODILE_DOLL 148 +#define OBJ_EVENT_GFX_JIGGLYPUFF_DOLL 149 +#define OBJ_EVENT_GFX_MEOWTH_DOLL 150 +#define OBJ_EVENT_GFX_CLEFAIRY_DOLL 151 +#define OBJ_EVENT_GFX_DITTO_DOLL 152 +#define OBJ_EVENT_GFX_SMOOCHUM_DOLL 153 +#define OBJ_EVENT_GFX_TREECKO_DOLL 154 +#define OBJ_EVENT_GFX_TORCHIC_DOLL 155 +#define OBJ_EVENT_GFX_MUDKIP_DOLL 156 +#define OBJ_EVENT_GFX_DUSKULL_DOLL 157 +#define OBJ_EVENT_GFX_WYNAUT_DOLL 158 +#define OBJ_EVENT_GFX_BALTOY_DOLL 159 +#define OBJ_EVENT_GFX_KECLEON_DOLL 160 +#define OBJ_EVENT_GFX_AZURILL_DOLL 161 +#define OBJ_EVENT_GFX_SKITTY_DOLL 162 +#define OBJ_EVENT_GFX_SWABLU_DOLL 163 +#define OBJ_EVENT_GFX_GULPIN_DOLL 164 +#define OBJ_EVENT_GFX_LOTAD_DOLL 165 +#define OBJ_EVENT_GFX_SEEDOT_DOLL 166 +#define OBJ_EVENT_GFX_PIKA_CUSHION 167 +#define OBJ_EVENT_GFX_ROUND_CUSHION 168 +#define OBJ_EVENT_GFX_KISS_CUSHION 169 +#define OBJ_EVENT_GFX_ZIGZAG_CUSHION 170 +#define OBJ_EVENT_GFX_SPIN_CUSHION 171 +#define OBJ_EVENT_GFX_DIAMOND_CUSHION 172 +#define OBJ_EVENT_GFX_BALL_CUSHION 173 +#define OBJ_EVENT_GFX_GRASS_CUSHION 174 +#define OBJ_EVENT_GFX_FIRE_CUSHION 175 +#define OBJ_EVENT_GFX_WATER_CUSHION 176 +#define OBJ_EVENT_GFX_BIG_SNORLAX_DOLL 177 +#define OBJ_EVENT_GFX_BIG_RHYDON_DOLL 178 +#define OBJ_EVENT_GFX_BIG_LAPRAS_DOLL 179 +#define OBJ_EVENT_GFX_BIG_VENUSAUR_DOLL 180 +#define OBJ_EVENT_GFX_BIG_CHARIZARD_DOLL 181 +#define OBJ_EVENT_GFX_BIG_BLASTOISE_DOLL 182 +#define OBJ_EVENT_GFX_BIG_WAILMER_DOLL 183 +#define OBJ_EVENT_GFX_BIG_REGIROCK_DOLL 184 +#define OBJ_EVENT_GFX_BIG_REGICE_DOLL 185 +#define OBJ_EVENT_GFX_BIG_REGISTEEL_DOLL 186 +#define OBJ_EVENT_GFX_LATIAS 187 +#define OBJ_EVENT_GFX_LATIOS 188 +#define OBJ_EVENT_GFX_BOY_5 189 +#define OBJ_EVENT_GFX_CONTEST_JUDGE 190 +#define OBJ_EVENT_GFX_BRENDAN_WATERING 191 +#define OBJ_EVENT_GFX_MAY_WATERING 192 +#define OBJ_EVENT_GFX_BRENDAN_DECORATING 193 +#define OBJ_EVENT_GFX_MAY_DECORATING 194 +#define OBJ_EVENT_GFX_ARCHIE 195 +#define OBJ_EVENT_GFX_MAXIE 196 +#define OBJ_EVENT_GFX_KYOGRE_1 197 +#define OBJ_EVENT_GFX_GROUDON_1 198 +#define OBJ_EVENT_GFX_FOSSIL 199 +#define OBJ_EVENT_GFX_REGIROCK 200 +#define OBJ_EVENT_GFX_REGICE 201 +#define OBJ_EVENT_GFX_REGISTEEL 202 +#define OBJ_EVENT_GFX_SKITTY 203 +#define OBJ_EVENT_GFX_KECLEON_1 204 +#define OBJ_EVENT_GFX_KYOGRE_2 205 +#define OBJ_EVENT_GFX_GROUDON_2 206 +#define OBJ_EVENT_GFX_RAYQUAZA 207 +#define OBJ_EVENT_GFX_ZIGZAGOON 208 +#define OBJ_EVENT_GFX_PIKACHU 209 +#define OBJ_EVENT_GFX_AZUMARILL 210 +#define OBJ_EVENT_GFX_WINGULL 211 +#define OBJ_EVENT_GFX_KECLEON_2 212 +#define OBJ_EVENT_GFX_TUBER_M_SWIMMING 213 +#define OBJ_EVENT_GFX_AZURILL 214 +#define OBJ_EVENT_GFX_MOM 215 +#define OBJ_EVENT_GFX_LINK_BRENDAN 216 +#define OBJ_EVENT_GFX_LINK_MAY 217 + +#define NUM_OBJ_EVENT_GFX 218 // These are dynamic object gfx ids. // They correspond with the values of the VAR_OBJ_GFX_ID_X vars. // More info about them in include/constants/vars.h -#define EVENT_OBJ_GFX_VAR_0 240 -#define EVENT_OBJ_GFX_VAR_1 241 -#define EVENT_OBJ_GFX_VAR_2 242 -#define EVENT_OBJ_GFX_VAR_3 243 -#define EVENT_OBJ_GFX_VAR_4 244 -#define EVENT_OBJ_GFX_VAR_5 245 -#define EVENT_OBJ_GFX_VAR_6 246 -#define EVENT_OBJ_GFX_VAR_7 247 -#define EVENT_OBJ_GFX_VAR_8 248 -#define EVENT_OBJ_GFX_VAR_9 249 -#define EVENT_OBJ_GFX_VAR_A 250 -#define EVENT_OBJ_GFX_VAR_B 251 -#define EVENT_OBJ_GFX_VAR_C 252 -#define EVENT_OBJ_GFX_VAR_D 253 -#define EVENT_OBJ_GFX_VAR_E 254 -#define EVENT_OBJ_GFX_VAR_F 255 - -#define NUM_OBJECT_GRAPHICS_INFO 217 -#define SPRITE_VAR 239 +#define OBJ_EVENT_GFX_VARS 240 +#define OBJ_EVENT_GFX_VAR_0 (OBJ_EVENT_GFX_VARS + 0x0) +#define OBJ_EVENT_GFX_VAR_1 (OBJ_EVENT_GFX_VARS + 0x1) +#define OBJ_EVENT_GFX_VAR_2 (OBJ_EVENT_GFX_VARS + 0x2) +#define OBJ_EVENT_GFX_VAR_3 (OBJ_EVENT_GFX_VARS + 0x3) +#define OBJ_EVENT_GFX_VAR_4 (OBJ_EVENT_GFX_VARS + 0x4) +#define OBJ_EVENT_GFX_VAR_5 (OBJ_EVENT_GFX_VARS + 0x5) +#define OBJ_EVENT_GFX_VAR_6 (OBJ_EVENT_GFX_VARS + 0x6) +#define OBJ_EVENT_GFX_VAR_7 (OBJ_EVENT_GFX_VARS + 0x7) +#define OBJ_EVENT_GFX_VAR_8 (OBJ_EVENT_GFX_VARS + 0x8) +#define OBJ_EVENT_GFX_VAR_9 (OBJ_EVENT_GFX_VARS + 0x9) +#define OBJ_EVENT_GFX_VAR_A (OBJ_EVENT_GFX_VARS + 0xA) +#define OBJ_EVENT_GFX_VAR_B (OBJ_EVENT_GFX_VARS + 0xB) +#define OBJ_EVENT_GFX_VAR_C (OBJ_EVENT_GFX_VARS + 0xC) +#define OBJ_EVENT_GFX_VAR_D (OBJ_EVENT_GFX_VARS + 0xD) +#define OBJ_EVENT_GFX_VAR_E (OBJ_EVENT_GFX_VARS + 0xE) +#define OBJ_EVENT_GFX_VAR_F (OBJ_EVENT_GFX_VARS + 0xF) // 255 #define SHADOW_SIZE_S 0 #define SHADOW_SIZE_M 1 diff --git a/include/constants/flags.h b/include/constants/flags.h index 753024403..a6fa4c806 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -357,7 +357,7 @@ #define FLAG_HIDDEN_ITEM_61 0x2B9 -// event object hide/show flags +// object event hide/show flags #define FLAG_HIDE_BIRCH_STARTERS_BAG 0x2BC #define FLAG_HIDE_BIRCH_BATTLE_POOCHYENA 0x2D0 diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index 0995d5309..f126d222a 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -191,12 +191,12 @@ #define METATILE_MauvilleGym_PoleBottom_Off 0x243 // gTileset_MossdeepGym -#define METATILE_MossdeepGym_Obelisk_Top 0x204 -#define METATILE_MossdeepGym_Obelisk_Base 0x20C -#define METATILE_MossdeepGym_Wall_LeftCorner 0x20D -#define METATILE_MossdeepGym_OuterWall_RightCorner 0x205 -#define METATILE_MossdeepGym_Empty0 0x238 -#define METATILE_MossdeepGym_Empty1 0x239 +#define METATILE_MossdeepGym_RedArrow_Right 0x204 +#define METATILE_MossdeepGym_RedArrow_Left 0x20C +#define METATILE_MossdeepGym_RedArrow_Up 0x20D +#define METATILE_MossdeepGym_RedArrow_Down 0x205 +#define METATILE_MossdeepGym_Switch_Up 0x238 +#define METATILE_MossdeepGym_Switch_Down 0x239 // gTileset_Building #define METATILE_Building_TV_Off 0x002 diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h new file mode 100644 index 000000000..8e7c01eb5 --- /dev/null +++ b/include/constants/pokemon.h @@ -0,0 +1,144 @@ +#ifndef GUARD_CONSTANTS_POKEMON_H +#define GUARD_CONSTANTS_POKEMON_H + +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_BIT1 4 +#define MON_DATA_SANITY_BIT2 5 +#define MON_DATA_SANITY_BIT3 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_10 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPEED_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPEED_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ALT_ABILITY 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPEED 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_MAIL 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_KNOWN_MOVES 80 +#define MON_DATA_RIBBON_COUNT 81 +#define MON_DATA_RIBBONS 82 +#define MON_DATA_83 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPEED2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + +#define MIN_LEVEL 1 +#define MAX_LEVEL 100 + +#define MON_MALE 0x00 +#define MON_FEMALE 0xFE +#define MON_GENDERLESS 0xFF + +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 +#define NUMBER_OF_MON_TYPES 0x12 + +#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 +#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused +#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 +#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 +#define FRIENDSHIP_EVENT_WALKING 0x5 +#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 +#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 + +#define STATUS_PRIMARY_NONE 0x0 +#define STATUS_PRIMARY_POISON 0x1 +#define STATUS_PRIMARY_PARALYSIS 0x2 +#define STATUS_PRIMARY_SLEEP 0x3 +#define STATUS_PRIMARY_FREEZE 0x4 +#define STATUS_PRIMARY_BURN 0x5 +#define STATUS_PRIMARY_POKERUS 0x6 +#define STATUS_PRIMARY_FAINTED 0x7 + +#define MAX_TOTAL_EVS 510 +#define NUM_STATS 6 +#define UNOWN_FORM_COUNT 28 + +#endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 856aba069..795498212 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -25,9 +25,9 @@ #define VAR_TEMP_F 0x400F // object gfx id vars -// These 0x10 vars are used to dynamically control a event object's sprite. +// These 0x10 vars are used to dynamically control an object event's sprite. // For example, the rival's sprite id is dynamically set based on the player's gender. -// See VarGetEventObjectGraphicsId(). +// See VarGetObjectEventGraphicsId(). #define VAR_OBJ_GFX_ID_0 0x4010 #define VAR_OBJ_GFX_ID_1 0x4011 #define VAR_OBJ_GFX_ID_2 0x4012 @@ -172,25 +172,26 @@ #define VAR_STEVENS_HOUSE_STATE 0x40C6 #define VAR_OLDALE_STATE 0x40C7 +#define SPECIAL_VARS_START 0x8000 // special vars // They are commonly used as parameters to commands, or return values from commands. -#define VAR_SPECIAL_0 0x8000 -#define VAR_SPECIAL_1 0x8001 -#define VAR_SPECIAL_2 0x8002 -#define VAR_SPECIAL_3 0x8003 -#define VAR_SPECIAL_4 0x8004 -#define VAR_SPECIAL_5 0x8005 -#define VAR_SPECIAL_6 0x8006 -#define VAR_SPECIAL_7 0x8007 -#define VAR_SPECIAL_8 0x8008 -#define VAR_SPECIAL_9 0x8009 -#define VAR_SPECIAL_A 0x800A -#define VAR_SPECIAL_B 0x800B -#define FACING 0x800C -#define RESULT 0x800D -#define ITEM_ID 0x800E -#define LAST_TALKED 0x800F -#define CONTEST_RANK 0x8010 -#define CONTEST_CATEGORY 0x8011 +#define VAR_0x8000 0x8000 +#define VAR_0x8001 0x8001 +#define VAR_0x8002 0x8002 +#define VAR_0x8003 0x8003 +#define VAR_0x8004 0x8004 +#define VAR_0x8005 0x8005 +#define VAR_0x8006 0x8006 +#define VAR_0x8007 0x8007 +#define VAR_0x8008 0x8008 +#define VAR_0x8009 0x8009 +#define VAR_0x800A 0x800A +#define VAR_0x800B 0x800B +#define VAR_FACING 0x800C +#define VAR_RESULT 0x800D +#define VAR_ITEM_ID 0x800E +#define VAR_LAST_TALKED 0x800F +#define VAR_CONTEST_RANK 0x8010 +#define VAR_CONTEST_CATEGORY 0x8011 #endif // GUARD_CONSTANTS_VARS_H diff --git a/include/decoration.h b/include/decoration.h index 7676c0add..9f78bc491 100644 --- a/include/decoration.h +++ b/include/decoration.h @@ -182,7 +182,7 @@ bool8 sub_80FEFA4(void); void sub_80FF394(u16, u16, u16); void sub_80FF6AC(u8); void sub_80FF960(u8); -void AddDecorationIconObjectFromEventObject(struct UnkStruct_02038900 *, u8); +void AddDecorationIconObjectFromObjectEvent(struct UnkStruct_02038900 *, u8); void SetUpPlacingDecorationPlayerAvatar(u8, struct UnkStruct_02038900 *); void sub_8100038(u8); void sub_81000A0(u8); diff --git a/include/event_data.h b/include/event_data.h index 44d1e8e41..50a26a437 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -19,7 +19,7 @@ bool32 CanResetRTC(void); u16 *GetVarPointer(u16 id); u16 VarGet(u16 id); bool8 VarSet(u16 id, u16 value); -u8 VarGetEventObjectGraphicsId(u8 id); +u8 VarGetObjectEventGraphicsId(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_object_lock.h index 538edc579..c66db99f7 100644 --- a/include/event_obj_lock.h +++ b/include/event_object_lock.h @@ -1,16 +1,16 @@ -#ifndef GUARD_EVENT_OBJ_LOCK_H -#define GUARD_EVENT_OBJ_LOCK_H +#ifndef GUARD_EVENT_OBJECT_LOCK_H +#define GUARD_EVENT_OBJECT_LOCK_H bool8 walkrun_is_standing_still(void); void sub_8064CDC(u8 taskId); bool8 sub_8064CFC(void); -void ScriptFreezeEventObjects(void); +void ScriptFreezeObjectEvents(void); void sub_8064D38(u8 taskId); bool8 sub_8064DB4(void); -void LockSelectedEventObject(void); -void ScriptUnfreezeEventObjects(void); +void LockSelectedObjectEvent(void); +void ScriptUnfreezeObjectEvents(void); void unref_sub_8064E5C(void); void sub_8064EAC(void); void sub_8064ED4(void); -#endif // GUARD_EVENT_OBJ_LOCK_H +#endif // GUARD_EVENT_OBJECT_LOCK_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index b3040d6df..8a28be8ae 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -1,5 +1,5 @@ -#ifndef GUARD_EVENTOBJMV_H -#define GUARD_EVENTOBJMV_H +#ifndef GUARD_EVENT_OBJECT_MOVEMENT_H +#define GUARD_EVENT_OBJECT_MOVEMENT_H #include "sprite.h" @@ -27,23 +27,23 @@ extern const u8 gReflectionEffectPaletteMap[]; #define movement_type_def(setup, table) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ +static u8 setup##_callback(struct ObjectEvent *, struct Sprite *);\ void setup(struct Sprite *sprite)\ {\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, setup##_callback);\ }\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ +static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)\ {\ - return table[sprite->data[1]](eventObject, sprite);\ + return table[sprite->data[1]](objectEvent, sprite);\ } #define movement_type_empty_callback(setup) \ -static u8 setup##_callback(struct EventObject *, struct Sprite *);\ +static u8 setup##_callback(struct ObjectEvent *, struct Sprite *);\ void setup(struct Sprite *sprite)\ {\ - UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\ + UpdateObjectEventCurrentMovement(&gObjectEvents[sprite->data[0]], sprite, setup##_callback);\ }\ -static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\ +static u8 setup##_callback(struct ObjectEvent *objectEvent, struct Sprite *sprite)\ {\ return 0;\ } @@ -54,18 +54,18 @@ struct ReflectionPaletteSet const u16 *reflectionPaletteTags; }; -extern const u16 gEventObjectPalette19[]; +extern const u16 gObjectEventPalette19[]; -extern const u32 gEventObjectPic_MovingBox[32]; -extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[]; +extern const u32 gObjectEventPic_MovingBox[32]; +extern const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[]; extern const u8 gFieldEffectPic_CutGrass[]; extern const u16 gFieldEffectObjectPalette6[]; -void sub_805C058(struct EventObject *eventObject, s16 a, s16 b); -void SetEventObjectDirection(struct EventObject *pObject, u8 unk_18); +void sub_805C058(struct ObjectEvent *objectEvent, s16 a, s16 b); +void SetObjectEventDirection(struct ObjectEvent *pObject, u8 unk_18); void MoveCoords(u8 direction, s16 *x, s16 *y); -void UpdateEventObjectCurrentMovement(struct EventObject *pObject, struct Sprite *pSprite, u8 (*d8)(struct EventObject *, struct Sprite *)); +void UpdateObjectEventCurrentMovement(struct ObjectEvent *pObject, struct Sprite *pSprite, u8 (*d8)(struct ObjectEvent *, struct Sprite *)); u8 GetVectorDirection(s16 a0, s16 a1, s16 a2, s16 a3); u8 GetLimitedVectorDirection_SouthNorth(s16 a0, s16 a1, s16 a2, s16 a3); @@ -79,15 +79,15 @@ u8 GetLimitedVectorDirection_SouthNorthEast(s16 a0, s16 a1, s16 a2, s16 a3); u8 GetLimitedVectorDirection_NorthWestEast(s16 a0, s16 a1, s16 a2, s16 a3); u8 GetLimitedVectorDirection_SouthWestEast(s16 a0, s16 a1, s16 a2, s16 a3); -u8 CopyablePlayerMovement_None(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_FaceDirection(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_GoSpeed0(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_GoSpeed1(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_GoSpeed2(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_Slide(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 cph_IM_DIFFERENT(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_GoSpeed4(struct EventObject *, struct Sprite *, u8, bool8(u8)); -u8 CopyablePlayerMovement_Jump(struct EventObject *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_None(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_FaceDirection(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_GoSpeed0(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_GoSpeed1(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_GoSpeed2(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_Slide(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 cph_IM_DIFFERENT(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_GoSpeed4(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); +u8 CopyablePlayerMovement_Jump(struct ObjectEvent *, struct Sprite *, u8, bool8(u8)); extern struct FieldCamera gFieldCamera; extern u16 gTotalCameraPixelOffsetY; @@ -150,189 +150,189 @@ void MovementType_JogInPlace(struct Sprite *); void MovementType_RunInPlace(struct Sprite *); void MovementType_Invisible(struct Sprite *); -u8 MovementType_WanderAround_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step5(struct EventObject *, struct Sprite *); -u8 MovementType_WanderAround_Step6(struct EventObject *, struct Sprite *); -u8 MovementType_LookAround_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_LookAround_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_LookAround_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_LookAround_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_LookAround_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step5(struct EventObject *, struct Sprite *); -u8 MovementType_WanderUpAndDown_Step6(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step5(struct EventObject *, struct Sprite *); -u8 MovementType_WanderLeftAndRight_Step6(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDirection_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDirection_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDirection_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_BerryTreeGrowth_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndUp_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_RotateClockwise_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_RotateClockwise_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_RotateClockwise_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_RotateClockwise_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkBackAndForth_Step3(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_CopyPlayer_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_CopyPlayer_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_CopyPlayer_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_CopyPlayer_Step2(struct EventObject *, struct Sprite *); -u8 MovementType_Hidden_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_WalkInPlace_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_MoveInPlace_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_JogInPlace_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_MoveInPlace_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_MoveInPlace_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_Invisible_Step0(struct EventObject *, struct Sprite *); -u8 MovementType_Invisible_Step1(struct EventObject *, struct Sprite *); -u8 MovementType_Invisible_Step2(struct EventObject *, struct Sprite *); +u8 MovementType_WanderAround_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step5(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderAround_Step6(struct ObjectEvent *, struct Sprite *); +u8 MovementType_LookAround_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_LookAround_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_LookAround_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_LookAround_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_LookAround_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step5(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderUpAndDown_Step6(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step5(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WanderLeftAndRight_Step6(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDirection_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDirection_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDirection_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_BerryTreeGrowth_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_BerryTreeGrowth_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_BerryTreeGrowth_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_BerryTreeGrowth_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_BerryTreeGrowth_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndUp_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndUp_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndUp_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndUp_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndLeft_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndLeft_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndLeft_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndLeft_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndLeft_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndLeft_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndLeft_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownUpAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceUpLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownLeftAndRight_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownLeftAndRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownLeftAndRight_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownLeftAndRight_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_FaceDownLeftAndRight_Step4(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateCounterclockwise_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateCounterclockwise_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateCounterclockwise_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateCounterclockwise_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateClockwise_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateClockwise_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateClockwise_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RotateClockwise_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkBackAndForth_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkBackAndForth_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkBackAndForth_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkBackAndForth_Step3(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkSequence_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_CopyPlayer_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_CopyPlayer_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_CopyPlayer_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_CopyPlayerInGrass_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_CopyPlayer_Step2(struct ObjectEvent *, struct Sprite *); +u8 MovementType_Hidden_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_WalkInPlace_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_JogInPlace_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_RunInPlace_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_MoveInPlace_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_Invisible_Step0(struct ObjectEvent *, struct Sprite *); +u8 MovementType_Invisible_Step1(struct ObjectEvent *, struct Sprite *); +u8 MovementType_Invisible_Step2(struct ObjectEvent *, struct Sprite *); u8 GetMoveDirectionAnimNum(u8); u8 GetMoveDirectionFastAnimNum(u8); @@ -342,24 +342,24 @@ u8 GetMoveDirectionFastestAnimNum(u8); u32 state_to_direction(u8, u32, u32); -void ResetEventObjects(); -u8 GetFirstInactiveEventObjectId(void); -u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8); -bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *); -u8 GetEventObjectIdByXY(s16, s16); -void RemoveEventObjectByLocalIdAndMap(u8, u8, u8); -u8 SpawnSpecialEventObject(struct EventObjectTemplate *); +void ResetObjectEvents(); +u8 GetFirstInactiveObjectEventId(void); +u8 GetObjectEventIdByLocalIdAndMap(u8, u8, u8); +bool8 TryGetObjectEventIdByLocalIdAndMap(u8, u8, u8, u8 *); +u8 GetObjectEventIdByXY(s16, s16); +void RemoveObjectEventByLocalIdAndMap(u8, u8, u8); +u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); u8 show_sprite(u8, u8, u8); -u8 AddPseudoEventObject(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority); +u8 AddPseudoObjectEvent(u16 graphicsId, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority); u8 sub_805B410(u8, u8, s16, s16, u8, u8); -void TrySpawnEventObjects(s16, s16); +void TrySpawnObjectEvents(s16, s16); void sub_805B710(u16 i, u16 i1); -void EventObjectSetGraphicsId(struct EventObject *, u8); -void EventObjectTurn(struct EventObject *, u8); -void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8); -const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8); +void ObjectEventSetGraphicsId(struct ObjectEvent *, u8); +void ObjectEventTurn(struct ObjectEvent *, u8); +void ObjectEventTurnByLocalIdAndMap(u8, u8, u8, u8); +const struct ObjectEventGraphicsInfo *GetObjectEventGraphicsInfo(u8); void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8); -void EventObjectGetLocalIdAndMap(struct EventObject *, void *, void *, void *); +void ObjectEventGetLocalIdAndMap(struct ObjectEvent *, void *, void *, void *); void sub_805BCC0(s16 x, s16 y); void sub_805BCF0(u8, u8, u8, u8); void sub_805BD48(u8, u8, u8); @@ -369,44 +369,44 @@ void sub_805BDF8(u16); void PatchObjectPalette(u16, u8); void LoadPlayerObjectReflectionPalette(u16, u8); void LoadSpecialObjectReflectionPalette(u16, u8); -void ShiftEventObjectCoords(struct EventObject *pObject, s16 x, s16 y); +void ShiftObjectEventCoords(struct ObjectEvent *pObject, s16 x, s16 y); void sub_805C0F8(u8, u8, u8, s16, s16); -void ShiftStillEventObjectCoords(struct EventObject *pObject); -u8 GetEventObjectIdByXYZ(u16, u16, u8); -void UpdateEventObjectsForCameraUpdate(s16, s16); +void ShiftStillObjectEventCoords(struct ObjectEvent *pObject); +u8 GetObjectEventIdByXYZ(u16, u16, u8); +void UpdateObjectEventsForCameraUpdate(s16, s16); u8 AddCameraObject(u8); void CameraObjectReset1(void); -const u8 *GetEventObjectScriptPointerByEventObjectId(u8); -u8 EventObjectGetBerryTreeId(u8); -struct EventObjectTemplate *GetEventObjectTemplateByLocalIdAndMap(u8, u8, u8); -void OverrideTemplateCoordsForEventObject(struct EventObject *pObject); -void OverrideMovementTypeForEventObject(struct EventObject *, u8); -void TryOverrideTemplateCoordsForEventObject(u8, u8, u8); -void InitEventObjectPalettes(u8); +const u8 *GetObjectEventScriptPointerByObjectEventId(u8); +u8 ObjectEventGetBerryTreeId(u8); +struct ObjectEventTemplate *GetObjectEventTemplateByLocalIdAndMap(u8, u8, u8); +void OverrideTemplateCoordsForObjectEvent(struct ObjectEvent *pObject); +void OverrideMovementTypeForObjectEvent(struct ObjectEvent *, u8); +void TryOverrideTemplateCoordsForObjectEvent(u8, u8, u8); +void InitObjectEventPalettes(u8); u8 GetFaceDirectionAnimNum(u8); u8 GetMoveDirectionAnimNum(u8 unk_19); u8 GetAcroWheelieDirectionAnimNum(u8); u8 GetFishingDirectionAnimNum(u8); u8 GetFishingNoCatchDirectionAnimNum(u8); u8 GetFishingBiteDirectionAnimNum(u8); -void SetTrainerMovementType(struct EventObject *, u8); +void SetTrainerMovementType(struct ObjectEvent *, u8); u8 GetTrainerFacingDirectionMovementType(u8); -u8 GetCollisionAtCoords(struct EventObject *, s16, s16, u32); -u8 GetCollisionFlagsAtCoords(struct EventObject *, s16, s16, u8); +u8 GetCollisionAtCoords(struct ObjectEvent *, s16, s16, u32); +u8 GetCollisionFlagsAtCoords(struct ObjectEvent *, s16, s16, u8); bool8 IsBerryTreeSparkling(u8, u8, u8); void sub_8060288(u8, u8, u8); void sub_8060388(s16, s16, s16 *, s16 *); void sub_80603CC(s16 x, s16 y, s16 *pInt, s16 *pInt1); -void EventObjectMoveDestCoords(struct EventObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); -bool8 EventObjectIsMovementOverridden(struct EventObject *); -bool8 EventObjectIsHeldMovementActive(struct EventObject *); -bool8 EventObjectSetHeldMovement(struct EventObject *, u8); -void EventObjectForceSetHeldMovement(struct EventObject *pObject, u8 a); -void EventObjectClearHeldMovementIfActive(struct EventObject *); -void EventObjectClearHeldMovement(struct EventObject *); -bool8 EventObjectCheckHeldMovementStatus(struct EventObject *); -u8 EventObjectClearHeldMovementIfFinished(struct EventObject *); -u8 EventObjectGetHeldMovementActionId(struct EventObject *); +void ObjectEventMoveDestCoords(struct ObjectEvent *pObject, u32 unk_19, s16 *pInt, s16 *pInt1); +bool8 ObjectEventIsMovementOverridden(struct ObjectEvent *); +bool8 ObjectEventIsHeldMovementActive(struct ObjectEvent *); +bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8); +void ObjectEventForceSetHeldMovement(struct ObjectEvent *pObject, u8 a); +void ObjectEventClearHeldMovementIfActive(struct ObjectEvent *); +void ObjectEventClearHeldMovement(struct ObjectEvent *); +bool8 ObjectEventCheckHeldMovementStatus(struct ObjectEvent *); +u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); +u8 ObjectEventGetHeldMovementActionId(struct ObjectEvent *); u8 GetFaceDirectionMovementAction(u32); u8 GetWalkSlowMovementAction(u32); u8 GetWalkNormalMovementAction(u32); @@ -424,7 +424,7 @@ u8 GetWalkInPlaceSlowMovementAction(u32); u8 GetWalkInPlaceNormalMovementAction(u32); u8 GetWalkInPlaceFastMovementAction(u32); u8 GetWalkInPlaceFastestMovementAction(u32); -u8 EventObjectFaceOppositeDirection(struct EventObject *, u8); +u8 ObjectEventFaceOppositeDirection(struct ObjectEvent *, u8); u8 GetAcroWheelieFaceDirectionMovementAction(u8); u8 GetAcroPopWheelieFaceDirectionMovementAction(u8); u8 GetAcroEndWheelieFaceDirectionMovementAction(u8); @@ -436,23 +436,23 @@ u8 GetAcroPopWheelieMoveDirectionMovementAction(u8); u8 GetAcroWheelieMoveDirectionMovementAction(u8); u8 GetAcroEndWheelieMoveDirectionMovementAction(u8); u8 GetOppositeDirection(u8); -u8 SpawnSpecialEventObjectParametrized(u8, u8, u8, s16, s16, u8); +u8 SpawnSpecialObjectEventParametrized(u8, u8, u8, s16, s16, u8); void CameraObjectSetFollowedObjectId(u8); -u8 TryInitLocalEventObject(u8); +u8 TryInitLocalObjectEvent(u8); u8 CreateCopySpriteAt(struct Sprite *, s16, s16, u8); u16 GetObjectPaletteTag(u8); void sub_8060470(s16 *, s16 *, s16, s16); -bool8 FreezeEventObject(struct EventObject *); -void FreezeEventObjects(void); -void FreezeEventObjectsExceptOne(u8); -void UnfreezeEventObjects(void); -void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible); -void TurnEventObject(u8, u8); -void UnfreezeEventObject(struct EventObject *eventObject); +bool8 FreezeObjectEvent(struct ObjectEvent *); +void FreezeObjectEvents(void); +void FreezeObjectEventsExceptOne(u8); +void UnfreezeObjectEvents(void); +void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible); +void TurnObjectEvent(u8, u8); +void UnfreezeObjectEvent(struct ObjectEvent *objectEvent); void sub_806467C(struct Sprite *sprite, u8 direction); bool8 sub_806468C(struct Sprite *sprite); void sub_80646E4(struct Sprite *sprite, u8 a2, u8 a3, u8 a4); -void DoShadowFieldEffect(struct EventObject *eventObject); +void DoShadowFieldEffect(struct ObjectEvent *objectEvent); u8 sub_8064704(struct Sprite *); u8 sub_806478C(struct Sprite *); void SetAndStartSpriteAnim(struct Sprite *sprite, u8 a2, u8 a3); @@ -460,7 +460,7 @@ bool8 IsZCoordMismatchAt(u8 z, s16 x, s16 y); bool8 AreZCoordsCompatible(u8 z1, u8 z2); u8 GetLedgeJumpDirection(s16, s16, u8); u8 ZCoordToPriority(u8); -void EventObjectUpdateZCoord(struct EventObject *pObject); +void ObjectEventUpdateZCoord(struct ObjectEvent *pObject); void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8); -#endif // GUARD_EVENTOBJMV_H +#endif // GUARD_EVENT_OBJECT_MOVEMENT_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index df6482688..bcb2b449e 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -30,7 +30,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *, u8, u8); void ClearPoisonStepCounter(void); void RestartWildEncounterImmunitySteps(void); u8 *GetCoordEventScriptAtMapPosition(struct MapPosition *); -const u8 *GetEventObjectScriptPointerPlayerFacing(void); +const u8 *GetObjectEventScriptPointerPlayerFacing(void); u8 TrySetDiveWarp(void); bool8 dive_warp(struct MapPosition*, u16); diff --git a/include/field_effect.h b/include/field_effect.h index a1c175eb8..6bf98d4f7 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -88,11 +88,11 @@ bool8 sub_8086E50(struct Task *); bool8 sub_8086EB0(struct Task *); bool8 sub_8086ED4(struct Task *); -bool8 sub_8086FB0(struct Task *, struct EventObject *); -bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *); -bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *); -bool8 sub_8087030(struct Task *, struct EventObject *); -bool8 sub_8087058(struct Task *, struct EventObject *); +bool8 sub_8086FB0(struct Task *, struct ObjectEvent *); +bool8 waterfall_1_do_anim_probably(struct Task *, struct ObjectEvent *); +bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct ObjectEvent *); +bool8 sub_8087030(struct Task *, struct ObjectEvent *); +bool8 sub_8087058(struct Task *, struct ObjectEvent *); bool8 sub_8087124(struct Task *); bool8 dive_2_unknown(struct Task *); @@ -100,25 +100,25 @@ bool8 dive_3_unknown(struct Task *); void sub_80871B8(u8); -bool8 sub_808722C(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_8087264(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_8087298(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80872E4(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80873D8(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80873F4(struct Task *, struct EventObject *, struct Sprite *); +bool8 sub_808722C(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_8087264(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_8087298(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80872E4(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80873D8(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80873F4(struct Task *, struct ObjectEvent *, struct Sprite *); -bool8 sub_80874CC(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80874FC(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_8087548(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_808759C(struct Task *, struct EventObject *, struct Sprite *); +bool8 sub_80874CC(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80874FC(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_8087548(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_808759C(struct Task *, struct ObjectEvent *, struct Sprite *); void sub_8087654(u8); -bool8 sub_80876C8(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80876F8(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_8087774(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80877AC(struct Task *, struct EventObject *, struct Sprite *); -bool8 sub_80877D4(struct Task *, struct EventObject *, struct Sprite *); +bool8 sub_80876C8(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80876F8(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_8087774(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80877AC(struct Task *, struct ObjectEvent *, struct Sprite *); +bool8 sub_80877D4(struct Task *, struct ObjectEvent *, struct Sprite *); void sub_8087AA4(struct Task *); void sub_8087AC8(struct Task *); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 8462b6ff8..2754ecddd 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -3,8 +3,8 @@ extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[]; -void sub_812869C(struct EventObject *); -bool8 sub_81286C4(struct EventObject *); +void sub_812869C(struct ObjectEvent *); +bool8 sub_81286C4(struct ObjectEvent *); void UpdateShadowFieldEffect(struct Sprite *); void sub_8087638(struct Sprite *); void sub_808788C(struct Sprite *); @@ -29,8 +29,8 @@ void sub_8127ED0(u8, u8); void sub_8127F28(u8, u8, s16); u8 sub_8128124(u8 id); void StartAshFieldEffect(s16, s16, u16, s16); -void InitObjectReflectionSprite(struct EventObject *eventObj, struct Sprite *sprite, u8 a); -u32 StartFieldEffectForEventObject(u8 fieldEffectId, struct EventObject *eventObject); +void InitObjectReflectionSprite(struct ObjectEvent *objEvent, struct Sprite *sprite, u8 a); +u32 StartFieldEffectForObjectEvent(u8 fieldEffectId, struct ObjectEvent *objectEvent); u8 FindTallGrassFieldEffectSpriteId(u8, u8, u8, s16, s16); #endif // GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 0c2deb8be..491fd809e 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -14,7 +14,7 @@ enum { // MovementType_None2 void player_step(u8 a, u16 b, u16 c); -u8 CheckForEventObjectCollision(struct EventObject *a, s16 b, s16 c, u8 d, u8 e); +u8 CheckForObjectEventCollision(struct ObjectEvent *a, s16 b, s16 c, u8 d, u8 e); void SetPlayerAvatarTransitionFlags(u16 a); void sub_8059204(void); u8 PlayerGetCopyableMovement(void); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 27b2b5593..1bba31073 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -56,7 +56,7 @@ struct BackupMapLayout u16 *map; }; -struct EventObjectTemplate +struct ObjectEventTemplate { /*0x00*/ u8 localId; /*0x01*/ u8 graphicsId; @@ -116,12 +116,12 @@ struct BgEvent struct MapEvents { - u8 eventObjectCount; + u8 objectEventCount; u8 warpCount; u8 coordEventCount; u8 bgEventCount; - struct EventObjectTemplate *eventObjects; + struct ObjectEventTemplate *objectEvents; struct WarpEvent *warps; struct CoordEvent *coordEvents; struct BgEvent *bgEvents; @@ -159,7 +159,7 @@ struct MapHeader /* 0x1B */ u8 battleType; }; -struct EventObject +struct ObjectEvent { /*0x00*/ u32 active:1; u32 singleMovementActive:1; @@ -221,7 +221,7 @@ struct EventObject /*size = 0x24*/ }; -struct EventObjectGraphicsInfo +struct ObjectEventGraphicsInfo { /*0x00*/ u16 tileTag; /*0x02*/ u16 paletteTag; @@ -302,7 +302,7 @@ struct PlayerAvatar /* 0x202E858 */ /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; - /*0x05*/ u8 eventObjectId; + /*0x05*/ u8 objectEventId; /*0x06*/ bool8 preventStep; /*0x07*/ u8 gender; /*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie @@ -324,8 +324,8 @@ struct Camera s32 y; }; -extern struct EventObject gEventObjects[]; -extern u8 gSelectedEventObject; +extern struct ObjectEvent gObjectEvents[]; +extern u8 gSelectedObjectEvent; extern struct MapHeader gMapHeader; extern struct PlayerAvatar gPlayerAvatar; diff --git a/include/global.h b/include/global.h index 7fd7e902a..5e71bd821 100644 --- a/include/global.h +++ b/include/global.h @@ -19,6 +19,20 @@ #define INCBIN_S32 INCBIN #endif +// For debug menu translations. +// DTR("こんにちは", "Hello") will expand to "Hello" with DEBUG_TRANSLATE, +// or "こんにちは" if not. +// The KANA macro will wrap Japanese text with encoding markers to +// prevent mojibake while they are being translated. + +#if DEBUG_TRANSLATE +#define DTR(japanese, english) _(english) +#define KANA(txt) _("{JPN}" txt "{ENG}") +#else +#define DTR(japanese, english) _(japanese) +#define KANA(txt) _(txt) +#endif + // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -105,7 +119,7 @@ enum LanguageId #define DAYCARE_MON_COUNT 2 #define POKEBLOCKS_COUNT 40 #define PARTY_SIZE 6 -#define EVENT_OBJECTS_COUNT 16 +#define OBJECT_EVENTS_COUNT 16 #define BERRY_TREES_COUNT 128 #define FLAGS_COUNT 288 #define VARS_COUNT 256 @@ -684,8 +698,8 @@ struct SaveBlock1 /* 0x02025734 */ /*0x972*/ u8 filler_972[0x6]; /*0x978*/ u16 trainerRematchStepCounter; /*0x97A*/ u8 trainerRematches[100]; - /*0x9E0*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT]; - /*0xC20*/ struct EventObjectTemplate eventObjectTemplates[64]; + /*0x9E0*/ struct ObjectEvent objectEvents[OBJECT_EVENTS_COUNT]; + /*0xC20*/ struct ObjectEventTemplate objectEventTemplates[64]; /*0x1220*/ u8 flags[FLAGS_COUNT]; /*0x1340*/ u16 vars[VARS_COUNT]; /*0x1540*/ u32 gameStats[NUM_GAME_STATS]; diff --git a/include/macros/event.inc b/include/macros/event.inc index 8b2d587c9..7250ec5ca 100644 --- a/include/macros/event.inc +++ b/include/macros/event.inc @@ -1449,11 +1449,11 @@ .endm .macro switch var - copyvar VAR_SPECIAL_0, \var + copyvar VAR_0x8000, \var .endm .macro case condition, dest - compare_var_to_value VAR_SPECIAL_0, \condition + compare_var_to_value VAR_0x8000, \condition goto_if_eq \dest .endm @@ -1469,12 +1469,12 @@ NO = 0 .macro giveitem_std item, amount=1, function=0 - setorcopyvar VAR_SPECIAL_0, \item - setorcopyvar VAR_SPECIAL_1, \amount + setorcopyvar VAR_0x8000, \item + setorcopyvar VAR_0x8001, \amount callstd \function .endm .macro givedecoration_std decoration - setorcopyvar VAR_SPECIAL_0, \decoration + setorcopyvar VAR_0x8000, \decoration callstd 7 .endm diff --git a/include/overworld.h b/include/overworld.h index 9d00194be..833c0aea0 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -9,11 +9,11 @@ struct InitialPlayerAvatarState u8 direction; }; -struct LinkPlayerEventObject +struct LinkPlayerObjectEvent { u8 active; u8 linkPlayerId; - u8 eventObjId; + u8 objEventId; u8 mode; }; @@ -35,10 +35,10 @@ void ResetGameStats(void); void IncrementGameStat(u8 index); u32 GetGameStat(u8 index); void SetGameStat(u8, u32); -// LoadEventObjTemplatesFromHeader -// LoadSaveblockEventObjScripts -void Overworld_SetEventObjTemplateCoords(u8, s16, s16); -void Overworld_SetEventObjTemplateMovementType(u8, u8); +// LoadObjEventTemplatesFromHeader +// LoadSaveblockObjEventScripts +void Overworld_SetObjEventTemplateCoords(u8, s16, s16); +void Overworld_SetObjEventTemplateMovementType(u8, u8); // mapdata_load_assets_to_gpu_and_full_redraw // ApplyCurrentWarp // SetWarpData @@ -127,7 +127,7 @@ void CB2_ReturnToFieldLink(void); // sub_805465C void c2_exit_to_overworld_1_sub_8080DEC(void); // sub_80546B8 -void c2_exit_to_overworld_1_continue_scripts_restart_music(void); +void CB2_ReturnToFieldContinueScriptPlayMapMusic(void); void sub_80546F0(void); // sub_805470C void CB2_ContinueSavedGame(void); @@ -188,9 +188,9 @@ bool32 sub_8055870(void); u32 sub_80558AC(void); u32 sub_8055910(void); u32 sub_8055940(void); -// ClearLinkPlayerEventObject -void ClearLinkPlayerEventObjects(void); -// ZeroEventObject +// ClearLinkPlayerObjectEvent +void ClearLinkPlayerObjectEvents(void); +// ZeroObjectEvent // unref_sub_8055A6C // unref_sub_8055A9C u8 sub_8055AE8(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 67816b8f0..df2d42522 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,147 +1,9 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "constants/pokemon.h" #include "sprite.h" -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_OT_ID 1 -#define MON_DATA_NICKNAME 2 -#define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_BIT1 4 -#define MON_DATA_SANITY_BIT2 5 -#define MON_DATA_SANITY_BIT3 6 -#define MON_DATA_OT_NAME 7 -#define MON_DATA_MARKINGS 8 -#define MON_DATA_CHECKSUM 9 -#define MON_DATA_10 10 -#define MON_DATA_SPECIES 11 -#define MON_DATA_HELD_ITEM 12 -#define MON_DATA_MOVE1 13 -#define MON_DATA_MOVE2 14 -#define MON_DATA_MOVE3 15 -#define MON_DATA_MOVE4 16 -#define MON_DATA_PP1 17 -#define MON_DATA_PP2 18 -#define MON_DATA_PP3 19 -#define MON_DATA_PP4 20 -#define MON_DATA_PP_BONUSES 21 -#define MON_DATA_COOL 22 -#define MON_DATA_BEAUTY 23 -#define MON_DATA_CUTE 24 -#define MON_DATA_EXP 25 -#define MON_DATA_HP_EV 26 -#define MON_DATA_ATK_EV 27 -#define MON_DATA_DEF_EV 28 -#define MON_DATA_SPEED_EV 29 -#define MON_DATA_SPATK_EV 30 -#define MON_DATA_SPDEF_EV 31 -#define MON_DATA_FRIENDSHIP 32 -#define MON_DATA_SMART 33 -#define MON_DATA_POKERUS 34 -#define MON_DATA_MET_LOCATION 35 -#define MON_DATA_MET_LEVEL 36 -#define MON_DATA_MET_GAME 37 -#define MON_DATA_POKEBALL 38 -#define MON_DATA_HP_IV 39 -#define MON_DATA_ATK_IV 40 -#define MON_DATA_DEF_IV 41 -#define MON_DATA_SPEED_IV 42 -#define MON_DATA_SPATK_IV 43 -#define MON_DATA_SPDEF_IV 44 -#define MON_DATA_IS_EGG 45 -#define MON_DATA_ALT_ABILITY 46 -#define MON_DATA_TOUGH 47 -#define MON_DATA_SHEEN 48 -#define MON_DATA_OT_GENDER 49 -#define MON_DATA_COOL_RIBBON 50 -#define MON_DATA_BEAUTY_RIBBON 51 -#define MON_DATA_CUTE_RIBBON 52 -#define MON_DATA_SMART_RIBBON 53 -#define MON_DATA_TOUGH_RIBBON 54 -#define MON_DATA_STATUS 55 -#define MON_DATA_LEVEL 56 -#define MON_DATA_HP 57 -#define MON_DATA_MAX_HP 58 -#define MON_DATA_ATK 59 -#define MON_DATA_DEF 60 -#define MON_DATA_SPEED 61 -#define MON_DATA_SPATK 62 -#define MON_DATA_SPDEF 63 -#define MON_DATA_MAIL 64 -#define MON_DATA_SPECIES2 65 -#define MON_DATA_IVS 66 -#define MON_DATA_CHAMPION_RIBBON 67 -#define MON_DATA_WINNING_RIBBON 68 -#define MON_DATA_VICTORY_RIBBON 69 -#define MON_DATA_ARTIST_RIBBON 70 -#define MON_DATA_EFFORT_RIBBON 71 -#define MON_DATA_GIFT_RIBBON_1 72 -#define MON_DATA_GIFT_RIBBON_2 73 -#define MON_DATA_GIFT_RIBBON_3 74 -#define MON_DATA_GIFT_RIBBON_4 75 -#define MON_DATA_GIFT_RIBBON_5 76 -#define MON_DATA_GIFT_RIBBON_6 77 -#define MON_DATA_GIFT_RIBBON_7 78 -#define MON_DATA_FATEFUL_ENCOUNTER 79 -#define MON_DATA_KNOWN_MOVES 80 -#define MON_DATA_RIBBON_COUNT 81 -#define MON_DATA_RIBBONS 82 -#define MON_DATA_83 83 -#define MON_DATA_ATK2 84 -#define MON_DATA_DEF2 85 -#define MON_DATA_SPEED2 86 -#define MON_DATA_SPATK2 87 -#define MON_DATA_SPDEF2 88 - -#define MAX_LEVEL 100 - -#define MON_MALE 0x00 -#define MON_FEMALE 0xFE -#define MON_GENDERLESS 0xFF - -#define TYPE_NORMAL 0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING 0x02 -#define TYPE_POISON 0x03 -#define TYPE_GROUND 0x04 -#define TYPE_ROCK 0x05 -#define TYPE_BUG 0x06 -#define TYPE_GHOST 0x07 -#define TYPE_STEEL 0x08 -#define TYPE_MYSTERY 0x09 -#define TYPE_FIRE 0x0a -#define TYPE_WATER 0x0b -#define TYPE_GRASS 0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC 0x0e -#define TYPE_ICE 0x0f -#define TYPE_DRAGON 0x10 -#define TYPE_DARK 0x11 -#define NUMBER_OF_MON_TYPES 0x12 - -#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 -#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused -#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused -#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 -#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 -#define FRIENDSHIP_EVENT_WALKING 0x5 -#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 -#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 -#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 - -#define STATUS_PRIMARY_NONE 0x0 -#define STATUS_PRIMARY_POISON 0x1 -#define STATUS_PRIMARY_PARALYSIS 0x2 -#define STATUS_PRIMARY_SLEEP 0x3 -#define STATUS_PRIMARY_FREEZE 0x4 -#define STATUS_PRIMARY_BURN 0x5 -#define STATUS_PRIMARY_POKERUS 0x6 -#define STATUS_PRIMARY_FAINTED 0x7 - -#define MAX_TOTAL_EVS 510 -#define NUM_STATS 6 -#define UNOWN_FORM_COUNT 28 - enum { EGG_GROUP_NONE, EGG_GROUP_MONSTER, diff --git a/include/rom3.h b/include/rom3.h deleted file mode 100644 index 2b889c78b..000000000 --- a/include/rom3.h +++ /dev/null @@ -1,73 +0,0 @@ -#ifndef GUARD_ROM3_H -#define GUARD_ROM3_H - -struct HpAndStatus -{ - u16 hp; - u32 status; -}; - -struct DisableStruct; - -void sub_800B858(void); -void SetUpBattleVarsAndBirchPoochyena(); -void sub_800B950(void); -void sub_800B9A8(void); -void sub_800BA78(void); -void sub_800BD54(void); -void CreateTasksForSendRecvLinkBuffers(void); -void PrepareBufferDataTransferLink(u8 a, u16, u8 *c); -void Task_HandleSendLinkBuffersData(u8); -void sub_800C35C(void); -void Task_HandleCopyReceivedLinkBuffersData(u8); -void BtlController_EmitGetMonData(u8 a, u8 b, u8 c); -void BtlController_EmitGetRawMonData(u8 a, u8 b, u8 c); -void BtlController_EmitLoadMonSprite(u8 a); -void BtlController_EmitSwitchInAnim(u8, u8, u8); -void BtlController_EmitReturnMonToBall(u8 a, u8 b); -void BtlController_EmitDrawTrainerPic(u8 a); -void BtlController_EmitTrainerSlide(u8 a); -void BtlController_EmitTrainerSlideBack(u8 a); -void BtlController_EmitFaintAnimation(u8 a); -void BtlController_EmitPaletteFade(u8 a); -void BtlController_EmitSuccessBallThrowAnim(u8 a); -void BtlController_EmitBallThrowAnim(u8 a, u8 b); -void BtlController_EmitMoveAnimation(u8 a, u16 b, u8 c, u16 d, s32 e, u8 f, struct DisableStruct *g); -void BtlController_EmitPrintString(u8 a, u16 b); -void BtlController_EmitPrintSelectionString(u8 a, u16 stringID); -void BtlController_EmitChooseAction(u8 a, u8 b, u16 c); -void BtlController_EmitChooseMove(u8 a, u8 b, u8 c, u8 *d); -void BtlController_EmitChooseItem(u8 a, u8 *b); -void BtlController_EmitChoosePokemon(u8 a, u8 b, u8 c, u8 d, u8 *e); -void BtlController_EmitCmd23(u8 a); -void BtlController_EmitHealthBarUpdate(u8 a, u16 b); -void BtlController_EmitExpUpdate(u8 a, u8 b, u16 c); -void BtlController_EmitStatusIconUpdate(u8 a, u32 b, u32 c); -void BtlController_EmitStatusAnimation(u8 a, u8 b, u32 c); -void BtlController_EmitStatusXor(u8 a, u8 b); -void BtlController_EmitDataTransfer(u8, u16, u8 *); -void BtlController_EmitTwoReturnValues(u8 a, u8 b, u16 c); -void BtlController_EmitChosenMonReturnValue(u8 a, u8 b, u8 *c); -void BtlController_EmitOneReturnValue(u8 a, u16 b); -void BtlController_EmitOneReturnValue_Duplicate(u8 a, u16 b); -void BtlController_EmitCmd37(u8 a); -void BtlController_EmitCmd38(u8 a, u8 b); -void BtlController_EmitCmd39(u8 a); -void BtlController_EmitCmd40(u8 a); -void BtlController_EmitHitAnimation(u8 a); -void BtlController_EmitCmd42(u8 a); -void BtlController_EmitPlaySE(u8 a, u16 b); -void BtlController_EmitPlayFanfareOrBGM(u8 a, u16 b); -void BtlController_EmitFaintingCry(u8 a); -void BtlController_EmitIntroSlide(u8 a, u8 b); -void BtlController_EmitIntroTrainerBallThrow(u8 a); -void BtlController_EmitDrawPartyStatusSummary(u8 a, struct HpAndStatus *hpAndStatus, u8 c); //0x30 -void BtlController_EmitHidePartyStatusSummary(u8 a); -void BtlController_EmitEndBounceEffect(u8 a); -void BtlController_EmitSpriteInvisibility(u8 a, u8 b); -void BtlController_EmitBattleAnimation(u8 a, u8 b, u16 c); -void BtlController_EmitLinkStandbyMsg(u8 a, u8 b); -void BtlController_EmitResetActionMoveSelection(u8 a, u8 b); -void BtlController_EmitCmd55(u8 a, u8 b); - -#endif // GUARD_ROM3_H diff --git a/include/shop.h b/include/shop.h index 4de58eaf2..849b1bef2 100644 --- a/include/shop.h +++ b/include/shop.h @@ -11,7 +11,7 @@ enum // shop view window NPC info enum enum { - EVENT_OBJ_ID, + OBJ_EVENT_ID, X_COORD, Y_COORD, ANIM_NUM diff --git a/include/trainer_see.h b/include/trainer_see.h index d67117743..78487aa57 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -5,7 +5,7 @@ #include "task.h" bool8 CheckTrainers(void); -void sub_8084794(struct EventObject *var); +void sub_8084794(struct ObjectEvent *var); void ScrSpecial_EndTrainerApproach(void); #endif // GUARD_TRAINER_SEE_H |