Merge remote-tracking branch 'upstream/master' into shop
# Conflicts: # asm/shop.s
This commit is contained in:
@@ -38,17 +38,6 @@
|
||||
#define MAX_TRAINER_ITEMS 4
|
||||
#define MAX_MON_MOVES 4
|
||||
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
|
||||
// array entries for battle communication
|
||||
#define MULTIUSE_STATE 0x0
|
||||
#define CURSOR_POSITION 0x1
|
||||
@@ -609,7 +598,7 @@ struct BattleScripting
|
||||
// rom_80A5C6C
|
||||
u8 GetBattlerSide(u8 battler);
|
||||
u8 GetBattlerPosition(u8 battler);
|
||||
u8 GetBattlerAtPosition(u8 battler);
|
||||
u8 GetBattlerAtPosition(u8 position);
|
||||
|
||||
struct BattleSpriteInfo
|
||||
{
|
||||
@@ -730,7 +719,7 @@ extern u8 gCurrMovePos;
|
||||
extern u8 gChosenMovePos;
|
||||
extern u16 gCurrentMove;
|
||||
extern u16 gChosenMove;
|
||||
extern u16 gRandomMove;
|
||||
extern u16 gCalledMove;
|
||||
extern s32 gBattleMoveDamage;
|
||||
extern s32 gHpDealt;
|
||||
extern s32 gTakenDmg[MAX_BATTLERS_COUNT];
|
||||
|
||||
@@ -14,11 +14,11 @@ enum
|
||||
|
||||
struct UnknownAnimStruct2
|
||||
{
|
||||
void *unk0;
|
||||
u8 *bgTiles;
|
||||
u16 *unk4;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u16 unkA;
|
||||
u8 bgId;
|
||||
u16 tilesOffset;
|
||||
u16 unkC;
|
||||
};
|
||||
|
||||
@@ -39,7 +39,7 @@ extern bool8 gAnimScriptActive;
|
||||
extern u8 gAnimVisualTaskCount;
|
||||
extern u8 gAnimSoundTaskCount;
|
||||
extern struct DisableStruct *gAnimDisableStructPtr;
|
||||
extern u32 gAnimMoveDmg;
|
||||
extern s32 gAnimMoveDmg;
|
||||
extern u16 gAnimMovePower;
|
||||
extern u8 gAnimFriendship;
|
||||
extern u16 gWeatherMoveAnim;
|
||||
@@ -63,36 +63,48 @@ s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 KeepPanInRange(s16 a);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
void sub_80A4720(u16 a, u16 *b, u32 c, u8 d);
|
||||
|
||||
// battle_anim_80FE840.s
|
||||
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
|
||||
void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 bankIdentity, u8 arg4, void *arg5, u16 *arg6, u16 arg7);
|
||||
void sub_8118FBC(u8 arg0, u8 arg1, u8 arg2, u8 battlerPosition, u8 arg4, void *arg5, u16 *arg6, u16 arg7);
|
||||
void HandleIntroSlide(u8 terrainId);
|
||||
u32 GetAnimBgAttribute(u8 bgId, u8 attributeId);
|
||||
|
||||
// battle_anim_80A5C6C.s
|
||||
void sub_80A6EEC(struct Sprite *sprite);
|
||||
void sub_80A68D4(struct Sprite *sprite);
|
||||
void sub_80A6F3C(struct Sprite *sprite);
|
||||
bool8 TranslateAnimLinear(struct Sprite *sprite);
|
||||
void sub_80A8278(void);
|
||||
void sub_80A6B30(struct UnknownAnimStruct2*);
|
||||
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
|
||||
u8 sub_80A82E4(u8 battlerId);
|
||||
bool8 AnimateBallThrow(struct Sprite *sprite);
|
||||
bool8 TranslateAnimArc(struct Sprite *sprite);
|
||||
void sub_80A6630(struct Sprite *sprite);
|
||||
void sub_80A6680(struct Sprite *sprite);
|
||||
void sub_80A7344(u8 spriteId);
|
||||
void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
|
||||
void sub_80A6E14(struct Sprite *sprite);
|
||||
void sub_80A7270(u8 spriteId, u8 objMode);
|
||||
void sub_80A73A0(u8 spriteId);
|
||||
|
||||
enum
|
||||
{
|
||||
BANK_X_POS,
|
||||
BANK_Y_POS,
|
||||
BATTLER_COORD_X,
|
||||
BATTLER_COORD_Y,
|
||||
BATTLER_COORD_X_2,
|
||||
BATTLER_COORD_3,
|
||||
BATTLER_COORD_4,
|
||||
};
|
||||
|
||||
u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId);
|
||||
|
||||
bool8 IsBattlerSpritePresent(u8 battlerId);
|
||||
void sub_80A6C68(u8 arg0);
|
||||
void sub_80A6C68(u32 arg0);
|
||||
u8 GetAnimBattlerSpriteId(u8 wantedBattler);
|
||||
bool8 IsDoubleBattle(void);
|
||||
u8 sub_80A6D94(void);
|
||||
u8 sub_80A8364(u8);
|
||||
u8 sub_80A8364(u8 battlerId);
|
||||
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
|
||||
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
|
||||
u8 GetBattlerSpriteDefault_Y(u8 battlerId);
|
||||
@@ -100,6 +112,14 @@ u8 sub_80A82E4(u8 battlerId);
|
||||
u8 GetSubstituteSpriteDefault_Y(u8 battlerId);
|
||||
|
||||
// battle_anim_80A9C70.s
|
||||
#define STAT_ANIM_PLUS1 15
|
||||
#define STAT_ANIM_PLUS2 39
|
||||
#define STAT_ANIM_MINUS1 22
|
||||
#define STAT_ANIM_MINUS2 46
|
||||
#define STAT_ANIM_MULTIPLE_PLUS1 55
|
||||
#define STAT_ANIM_MULTIPLE_PLUS2 56
|
||||
#define STAT_ANIM_MULTIPLE_MINUS1 57
|
||||
#define STAT_ANIM_MULTIPLE_MINUS2 58
|
||||
void LaunchStatusAnimation(u8 battlerId, u8 statusAnimId);
|
||||
|
||||
// battle_anim_8170478.s
|
||||
@@ -107,6 +127,6 @@ u8 ItemIdToBallId(u16 itemId);
|
||||
u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
|
||||
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 arg2, u8 ballId);
|
||||
|
||||
u8 sub_80A600C(u8, u16, u8);
|
||||
u8 GetBattlerSpriteFinal_Y(u8, u16, u8);
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
|
||||
7
include/battle_factory.h
Normal file
7
include/battle_factory.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_BATTLE_FACTORY_H
|
||||
#define GUARD_BATTLE_FACTORY_H
|
||||
|
||||
void DoBattleFactorySelectScreen(void);
|
||||
void DoBattleFactorySwapScreen(void);
|
||||
|
||||
#endif // GUARD_BATTLE_FACTORY_H
|
||||
@@ -1,6 +1,11 @@
|
||||
#ifndef GUARD_BATTLE_FRONTIER_2_H
|
||||
#define GUARD_BATTLE_FRONTIER_2_H
|
||||
|
||||
#define FRONTIER_BEFORE_TEXT 0
|
||||
#define FRONTIER_WIN_TEXT 1
|
||||
#define FRONTIER_LOSE_TEXT 2
|
||||
|
||||
void CopyFrontierTrainerText(u8 whichText, u16 trainerId);
|
||||
void sub_81A8934(u8);
|
||||
void sub_81A895C(void);
|
||||
u16 sub_81A89A0(u8);
|
||||
@@ -9,8 +14,6 @@ bool8 InBattlePike(void);
|
||||
void sub_819FA50(void);
|
||||
void sub_81AA078(u16*, u8);
|
||||
void sub_81A4C30(void);
|
||||
void sub_819A4F8(void);
|
||||
void sub_819DC00(void);
|
||||
bool8 sub_81A6BF4(void);
|
||||
|
||||
#endif // GUARD_BATTLE_FRONTIER_2_H
|
||||
|
||||
@@ -60,21 +60,21 @@ enum
|
||||
HEALTHBOX_SAFARI_BALLS_TEXT
|
||||
};
|
||||
|
||||
u8 CreateBattlerHealthboxSprites(u8 bank);
|
||||
u8 CreateBattlerHealthboxSprites(u8 battler);
|
||||
u8 CreateSafariPlayerHealthboxSprites(void);
|
||||
void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue);
|
||||
void SetBattleBarStruct(u8 battler, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 receivedValue);
|
||||
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
|
||||
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
|
||||
void DestoryHealthboxSprite(u8 healthboxSpriteId);
|
||||
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
|
||||
void UpdateOamPriorityInAllHealthboxes(u8 priority);
|
||||
void InitBattlerHealthboxCoords(u8 bank);
|
||||
void InitBattlerHealthboxCoords(u8 battler);
|
||||
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
|
||||
void SwapHpBarsWithHpText(void);
|
||||
u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
|
||||
u8 CreatePartyStatusSummarySprites(u8 battler, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
|
||||
void Task_HidePartyStatusSummary(u8 taskId);
|
||||
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
|
||||
s32 MoveBattleBar(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
|
||||
s32 MoveBattleBar(u8 battler, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
|
||||
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
|
||||
u8 GetHPBarLevel(s16 hp, s16 maxhp);
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ void CB2_QuitRecordedBattle(void);
|
||||
void sub_8038528(struct Sprite* sprite);
|
||||
void sub_8038A04(void); // unused
|
||||
void VBlankCB_Battle(void);
|
||||
void nullsub_17(void);
|
||||
void nullsub_17(struct Sprite *sprite);
|
||||
void sub_8038B74(struct Sprite *sprite);
|
||||
void sub_8038D64(void);
|
||||
u32 sub_80391E0(u8 arrayId, u8 caseId);
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
#define B_TXT_EFF_ABILITY 0x1B
|
||||
#define B_TXT_TRAINER1_CLASS 0x1C
|
||||
#define B_TXT_TRAINER1_NAME 0x1D
|
||||
#define B_TXT_1E 0x1E // trainer name for a link player
|
||||
#define B_TXT_1F 0x1F // trainer name for a link player
|
||||
#define B_TXT_20 0x20 // trainer name for a link player
|
||||
#define B_TXT_21 0x21 // trainer name for a link player
|
||||
#define B_TXT_22 0x22 // trainer name for a link player
|
||||
#define B_TXT_LINK_PLAYER_NAME 0x1E
|
||||
#define B_TXT_LINK_PARTNER_NAME 0x1F
|
||||
#define B_TXT_LINK_OPPONENT1_NAME 0x20
|
||||
#define B_TXT_LINK_OPPONENT2_NAME 0x21
|
||||
#define B_TXT_LINK_SCR_TRAINER_NAME 0x22
|
||||
#define B_TXT_PLAYER_NAME 0x23
|
||||
#define B_TXT_TRAINER1_LOSE_TEXT 0x24
|
||||
#define B_TXT_TRAINER1_WIN_TEXT 0x25
|
||||
@@ -177,20 +177,20 @@
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, bank, partyId) \
|
||||
#define PREPARE_MON_NICK_WITH_PREFIX_BUFFER(textVar, battler, partyId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MON_NICK_WITH_PREFIX; \
|
||||
textVar[2] = bank; \
|
||||
textVar[2] = battler; \
|
||||
textVar[3] = partyId; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
#define PREPARE_MON_NICK_BUFFER(textVar, bank, partyId) \
|
||||
#define PREPARE_MON_NICK_BUFFER(textVar, battler, partyId) \
|
||||
{ \
|
||||
textVar[0] = B_BUFF_PLACEHOLDER_BEGIN; \
|
||||
textVar[1] = B_BUFF_MON_NICK; \
|
||||
textVar[2] = bank; \
|
||||
textVar[2] = battler; \
|
||||
textVar[3] = partyId; \
|
||||
textVar[4] = B_BUFF_EOS; \
|
||||
}
|
||||
|
||||
@@ -26,16 +26,9 @@ extern const u8 BattleScript_LocalBattleLost[];
|
||||
extern const u8 BattleScript_LocalBattleLostPrintWhiteOut[];
|
||||
extern const u8 BattleScript_LocalBattleLostEnd[];
|
||||
extern const u8 BattleScript_CheckDomeDrew[];
|
||||
extern const u8 BattleScript_82DAA0B[];
|
||||
extern const u8 BattleScript_82DAA31[];
|
||||
extern const u8 BattleScript_FlushMessageBox[];
|
||||
extern const u8 BattleScript_LinkBattleWonOrLost[];
|
||||
extern const u8 BattleScript_82DAA5C[];
|
||||
extern const u8 BattleScript_82DAA83[];
|
||||
extern const u8 BattleScript_FrontierTrainerBattleWon[];
|
||||
extern const u8 BattleScript_82DAAAB[];
|
||||
extern const u8 BattleScript_82DAAAE[];
|
||||
extern const u8 BattleScript_82DAACB[];
|
||||
extern const u8 BattleScript_82DAADA[];
|
||||
extern const u8 BattleScript_SmokeBallEscape[];
|
||||
extern const u8 BattleScript_RanAwayUsingMonAbility[];
|
||||
extern const u8 BattleScript_GotAwaySafely[];
|
||||
@@ -45,11 +38,6 @@ extern const u8 BattleScript_PrintFailedToRunString[];
|
||||
extern const u8 BattleScript_PrintCantEscapeFromBattle[];
|
||||
extern const u8 BattleScript_PrintFullBox[];
|
||||
extern const u8 BattleScript_ActionSwitch[];
|
||||
extern const u8 BattleScript_82DAB35[];
|
||||
extern const u8 BattleScript_82DAB37[];
|
||||
extern const u8 BattleScript_82DAB44[];
|
||||
extern const u8 BattleScript_82DAB77[];
|
||||
extern const u8 BattleScript_82DABB8[];
|
||||
extern const u8 BattleScript_Pausex20[];
|
||||
extern const u8 BattleScript_LevelUp[];
|
||||
extern const u8 BattleScript_RainContinuesOrEnds[];
|
||||
@@ -62,13 +50,10 @@ extern const u8 BattleScript_SideStatusWoreOff[];
|
||||
extern const u8 BattleScript_SafeguardProtected[];
|
||||
extern const u8 BattleScript_SafeguardEnds[];
|
||||
extern const u8 BattleScript_LeechSeedTurnDrain[];
|
||||
extern const u8 BattleScript_82DAD47[];
|
||||
extern const u8 BattleScript_82DAD4D[];
|
||||
extern const u8 BattleScript_BideStoringEnergy[];
|
||||
extern const u8 BattleScript_BideAttack[];
|
||||
extern const u8 BattleScript_BideNoEnergyToAttack[];
|
||||
extern const u8 BattleScript_SuccessForceOut[];
|
||||
extern const u8 BattleScript_82DADF1[];
|
||||
extern const u8 BattleScript_MistProtected[];
|
||||
extern const u8 BattleScript_RageIsBuilding[];
|
||||
extern const u8 BattleScript_MoveUsedIsDisabled[];
|
||||
@@ -79,32 +64,16 @@ extern const u8 BattleScript_SelectingUnusableMoveInPalace[];
|
||||
extern const u8 BattleScript_EncoredNoMore[];
|
||||
extern const u8 BattleScript_DestinyBondTakesLife[];
|
||||
extern const u8 BattleScript_SpikesOnAttacker[];
|
||||
extern const u8 BattleScript_82DAE7A[];
|
||||
extern const u8 BattleScript_SpikesOnTarget[];
|
||||
extern const u8 BattleScript_82DAEB1[];
|
||||
extern const u8 BattleScript_SpikesOnFaintedBattler[];
|
||||
extern const u8 BattleScript_82DAEE8[];
|
||||
extern const u8 BattleScript_82DAEFE[];
|
||||
extern const u8 BattleScript_PerishSongTakesLife[];
|
||||
extern const u8 BattleScript_PerishSongCountGoesDown[];
|
||||
extern const u8 BattleScript_AllStatsUp[];
|
||||
extern const u8 BattleScript_82DAF54[];
|
||||
extern const u8 BattleScript_82DAF72[];
|
||||
extern const u8 BattleScript_82DAF86[];
|
||||
extern const u8 BattleScript_82DAF9A[];
|
||||
extern const u8 BattleScript_82DAFAE[];
|
||||
extern const u8 BattleScript_82DAFC2[];
|
||||
extern const u8 BattleScript_RapidSpinAway[];
|
||||
extern const u8 BattleScript_WrapFree[];
|
||||
extern const u8 BattleScript_LeechSeedFree[];
|
||||
extern const u8 BattleScript_SpikesFree[];
|
||||
extern const u8 BattleScript_MonTookFutureAttack[];
|
||||
extern const u8 BattleScript_82DB001[];
|
||||
extern const u8 BattleScript_82DB008[];
|
||||
extern const u8 BattleScript_82DB020[];
|
||||
extern const u8 BattleScript_82DB027[];
|
||||
extern const u8 BattleScript_82DB03F[];
|
||||
extern const u8 BattleScript_82DB058[];
|
||||
extern const u8 BattleScript_NoMovesLeft[];
|
||||
extern const u8 BattleScript_SelectingMoveWithNoPP[];
|
||||
extern const u8 BattleScript_NoPPForMove[];
|
||||
@@ -117,8 +86,6 @@ extern const u8 BattleScript_SelectingNotAllowedMoveTauntInPalace[];
|
||||
extern const u8 BattleScript_WishComesTrue[];
|
||||
extern const u8 BattleScript_IngrainTurnHeal[];
|
||||
extern const u8 BattleScript_AtkDefDown[];
|
||||
extern const u8 BattleScript_82DB144[];
|
||||
extern const u8 BattleScript_82DB167[];
|
||||
extern const u8 BattleScript_KnockedOff[];
|
||||
extern const u8 BattleScript_MoveUsedIsImprisoned[];
|
||||
extern const u8 BattleScript_SelectingImprisionedMove[];
|
||||
@@ -129,15 +96,11 @@ extern const u8 BattleScript_SnatchedMove[];
|
||||
extern const u8 BattleScript_EnduredMsg[];
|
||||
extern const u8 BattleScript_OneHitKOMsg[];
|
||||
extern const u8 BattleScript_SAtkDown2[];
|
||||
extern const u8 BattleScript_82DB1FE[];
|
||||
extern const u8 BattleScript_FocusPunchSetUp[];
|
||||
extern const u8 BattleScript_MoveUsedIsAsleep[];
|
||||
extern const u8 BattleScript_MoveUsedWokeUp[];
|
||||
extern const u8 BattleScript_MonWokeUpInUproar[];
|
||||
extern const u8 BattleScript_PoisonTurnDmg[];
|
||||
extern const u8 BattleScript_82DB243[];
|
||||
extern const u8 BattleScript_82DB245[];
|
||||
extern const u8 BattleScript_82DB25E[];
|
||||
extern const u8 BattleScript_BurnTurnDmg[];
|
||||
extern const u8 BattleScript_MoveUsedIsFrozen[];
|
||||
extern const u8 BattleScript_MoveUsedUnfroze[];
|
||||
@@ -147,8 +110,6 @@ extern const u8 BattleScript_MoveUsedFlinched[];
|
||||
extern const u8 BattleScript_PrintUproarOverTurns[];
|
||||
extern const u8 BattleScript_ThrashConfuses[];
|
||||
extern const u8 BattleScript_MoveUsedIsConfused[];
|
||||
extern const u8 BattleScript_82DB2D4[];
|
||||
extern const u8 BattleScript_82DB2FF[];
|
||||
extern const u8 BattleScript_MoveUsedIsConfusedNoMore[];
|
||||
extern const u8 BattleScript_PrintPayDayMoneyString[];
|
||||
extern const u8 BattleScript_WrapTurnDmg[];
|
||||
@@ -159,7 +120,6 @@ extern const u8 BattleScript_NightmareTurnDmg[];
|
||||
extern const u8 BattleScript_CurseTurnDmg[];
|
||||
extern const u8 BattleScript_TargetPRLZHeal[];
|
||||
extern const u8 BattleScript_MoveEffectSleep[];
|
||||
extern const u8 BattleScript_82DB374[];
|
||||
extern const u8 BattleScript_YawnMakesAsleep[];
|
||||
extern const u8 BattleScript_MoveEffectPoison[];
|
||||
extern const u8 BattleScript_MoveEffectBurn[];
|
||||
@@ -170,7 +130,7 @@ extern const u8 BattleScript_MoveEffectToxic[];
|
||||
extern const u8 BattleScript_MoveEffectPayDay[];
|
||||
extern const u8 BattleScript_MoveEffectWrap[];
|
||||
extern const u8 BattleScript_MoveEffectConfusion[];
|
||||
extern const u8 BattleScript_MoveEffectRecoil33[];
|
||||
extern const u8 BattleScript_MoveEffectRecoil[];
|
||||
extern const u8 BattleScript_DoRecoil33[];
|
||||
extern const u8 BattleScript_Recoil33End[];
|
||||
extern const u8 BattleScript_ItemSteal[];
|
||||
@@ -183,14 +143,8 @@ extern const u8 BattleScript_ShedSkinActivates[];
|
||||
extern const u8 BattleScript_WeatherFormChanges[];
|
||||
extern const u8 BattleScript_WeatherFormChangesLoop[];
|
||||
extern const u8 BattleScript_CastformChange[];
|
||||
extern const u8 BattleScript_82DB4AF[];
|
||||
extern const u8 BattleScript_82DB4B8[];
|
||||
extern const u8 BattleScript_82DB4BE[];
|
||||
extern const u8 BattleScript_82DB4C1[];
|
||||
extern const u8 BattleScript_82DB4CD[];
|
||||
extern const u8 BattleScript_82DB510[];
|
||||
extern const u8 BattleScript_82DB51B[];
|
||||
extern const u8 BattleScript_82DB51C[];
|
||||
extern const u8 BattleScript_IntimidateActivatesEnd3[];
|
||||
extern const u8 BattleScript_IntimidateActivates[];
|
||||
extern const u8 BattleScript_DroughtActivates[];
|
||||
extern const u8 BattleScript_TookAttack[];
|
||||
extern const u8 BattleScript_SturdyPreventsOHKO[];
|
||||
@@ -218,12 +172,11 @@ extern const u8 BattleScript_ApplySecondaryEffect[];
|
||||
extern const u8 BattleScript_SynchronizeActivates[];
|
||||
extern const u8 BattleScript_NoItemSteal[];
|
||||
extern const u8 BattleScript_AbilityCuredStatus[];
|
||||
extern const u8 BattleScript_82DB695[];
|
||||
extern const u8 BattleScript_IgnoresWhileAsleep[];
|
||||
extern const u8 BattleScript_IgnoresAndUsesRandomMove[];
|
||||
extern const u8 BattleScript_MoveUsedLoafingAround[];
|
||||
extern const u8 BattleScript_82DB6C7[];
|
||||
extern const u8 BattleScript_IgnoresAndFallsAsleep[];
|
||||
extern const u8 BattleScript_82DB6F0[];
|
||||
extern const u8 BattleScript_IgnoresAndHitsItself[];
|
||||
extern const u8 BattleScript_SubstituteFade[];
|
||||
extern const u8 BattleScript_BerryCurePrlzEnd2[];
|
||||
extern const u8 BattleScript_BerryCureParRet[];
|
||||
@@ -249,18 +202,12 @@ extern const u8 BattleScript_SelectingNotAllowedMoveChoiceItem[];
|
||||
extern const u8 BattleScript_HangedOnMsg[];
|
||||
extern const u8 BattleScript_BerryConfuseHealEnd2[];
|
||||
extern const u8 BattleScript_BerryStatRaiseEnd2[];
|
||||
extern const u8 BattleScript_82DB85B[];
|
||||
extern const u8 BattleScript_BerryFocusEnergyEnd2[];
|
||||
extern const u8 BattleScript_ActionSelectionItemsCantBeUsed[];
|
||||
extern const u8 BattleScript_82DB87D[];
|
||||
extern const u8 BattleScript_82DB881[];
|
||||
extern const u8 BattleScript_82DB887[];
|
||||
extern const u8 BattleScript_82DB89D[];
|
||||
extern const u8 BattleScript_ArenaTurnBeginning[];
|
||||
extern const u8 BattleScript_82DB8E0[];
|
||||
extern const u8 BattleScript_82DB881[];
|
||||
extern const u8 BattleScript_82DB8F3[];
|
||||
extern const u8 BattleScript_82DB973[];
|
||||
extern const u8 BattleScript_82DB992[];
|
||||
extern const u8 BattleScript_82DAA0B[];
|
||||
extern const u8 BattleScript_AskIfWantsToForfeitMatch[];
|
||||
extern const u8 BattleScript_PrintPlayerForfeited[];
|
||||
extern const u8 BattleScript_PrintPlayerForfeitedLinkBattle[];
|
||||
@@ -268,23 +215,12 @@ extern const u8 BattleScript_BallThrow[];
|
||||
extern const u8 BattleScript_BallThrowByWally[];
|
||||
extern const u8 BattleScript_SafariBallThrow[];
|
||||
extern const u8 BattleScript_SuccessBallThrow[];
|
||||
extern const u8 BattleScript_82DBD92[];
|
||||
extern const u8 BattleScript_82DBDA5[];
|
||||
extern const u8 BattleScript_82DBDC2[];
|
||||
extern const u8 BattleScript_82DBDC3[];
|
||||
extern const u8 BattleScript_WallyBallThrow[];
|
||||
extern const u8 BattleScript_ShakeBallThrow[];
|
||||
extern const u8 BattleScript_82DBE01[];
|
||||
extern const u8 BattleScript_TrainerBallBlock[];
|
||||
extern const u8 BattleScript_82DBE12[];
|
||||
extern const u8 BattleScript_82DBE1C[];
|
||||
extern const u8 BattleScript_82DBE4B[];
|
||||
extern const u8 BattleScript_82DBE6F[];
|
||||
extern const u8 BattleScript_82DBE91[];
|
||||
extern const u8 BattleScript_RunByUsingItem[];
|
||||
extern const u8 BattleScript_ActionWatchesCarefully[];
|
||||
extern const u8 BattleScript_ActionGetNear[];
|
||||
extern const u8 BattleScript_ActionThrowPokeblock[];
|
||||
extern const u8 BattleScript_82DBEE3[];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPTS_H
|
||||
|
||||
@@ -6,7 +6,7 @@ struct RSBattleTowerRecord
|
||||
/*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
|
||||
/*0x01*/ u8 trainerClass;
|
||||
/*0x02*/ u16 winStreak;
|
||||
/*0x04*/ u8 name[8];
|
||||
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x0C*/ u8 trainerId[4];
|
||||
/*0x10*/ struct {
|
||||
u16 easyChat[6];
|
||||
@@ -22,14 +22,16 @@ union BattleTowerRecord
|
||||
struct EmeraldBattleTowerRecord emerald;
|
||||
};
|
||||
|
||||
#define FRONTIER_TRAINER_NAME_LENGTH 7
|
||||
|
||||
struct BattleFrontierTrainer
|
||||
{
|
||||
u32 facilityClass;
|
||||
u8 trainerName[8];
|
||||
u8 trainerName[FRONTIER_TRAINER_NAME_LENGTH + 1];
|
||||
u16 speechBefore[6];
|
||||
u16 speechWin[6];
|
||||
u16 speechLose[6];
|
||||
u16 *btMonPool;
|
||||
const u16 *btMonPool;
|
||||
};
|
||||
|
||||
struct FacilityMon
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#define ABILITYEFFECT_ENDTURN 0x1
|
||||
#define ABILITYEFFECT_MOVES_BLOCK 0x2
|
||||
#define ABILITYEFFECT_ABSORBING 0x3
|
||||
#define ABILITYEFFECT_CONTACT 0x4
|
||||
#define ABILITYEFFECT_MOVE_END 0x4
|
||||
#define ABILITYEFFECT_IMMUNITY 0x5
|
||||
#define ABILITYEFFECT_FORECAST 0x6
|
||||
#define ABILITYEFFECT_SYNCHRONIZE 0x7
|
||||
@@ -35,6 +35,8 @@
|
||||
#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0))
|
||||
|
||||
#define ITEMEFFECT_ON_SWITCH_IN 0x0
|
||||
#define ITEMEFFECT_MOVE_END 0x3
|
||||
#define ITEMEFFECT_KINGSROCK_SHELLBELL 0x4
|
||||
|
||||
#define WEATHER_HAS_EFFECT ((!ABILITY_ON_FIELD(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD(ABILITY_AIR_LOCK)))
|
||||
#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK)))
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
|
||||
void AllocateBattleResources(void);
|
||||
void FreeBattleResources(void);
|
||||
void AdjustFriendshipOnBattleFaint(u8 bank);
|
||||
void sub_80571DC(u8 bank, u8 arg1);
|
||||
u32 sub_805725C(u8 bank);
|
||||
void AdjustFriendshipOnBattleFaint(u8 battler);
|
||||
void sub_80571DC(u8 battler, u8 arg1);
|
||||
u32 sub_805725C(u8 battler);
|
||||
|
||||
#endif // GUARD_BATTLE_UTIL_H
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
// Battle Type Flags
|
||||
#define BATTLE_TYPE_DOUBLE 0x0001
|
||||
#define BATTLE_TYPE_LINK 0x0002
|
||||
#define BATTLE_TYPE_WILD 0x0004
|
||||
#define BATTLE_TYPE_IS_MASTER 0x0004 // In not-link battles, it's always set.
|
||||
#define BATTLE_TYPE_TRAINER 0x0008
|
||||
#define BATTLE_TYPE_FIRST_BATTLE 0x0010
|
||||
#define BATTLE_TYPE_20 0x0020
|
||||
@@ -70,7 +70,7 @@
|
||||
#define BATTLE_TYPE_x800000 0x800000
|
||||
#define BATTLE_TYPE_RECORDED 0x1000000
|
||||
#define BATTLE_TYPE_x2000000 0x2000000
|
||||
#define BATTLE_TYPE_x4000000 0x4000000
|
||||
#define BATTLE_TYPE_TRAINER_HILL 0x4000000
|
||||
#define BATTLE_TYPE_SECRET_BASE 0x8000000
|
||||
#define BATTLE_TYPE_GROUDON 0x10000000
|
||||
#define BATTLE_TYPE_KYOGRE 0x20000000
|
||||
@@ -252,7 +252,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
|
||||
@@ -281,4 +281,16 @@
|
||||
#define MOVE_EFFECT_AFFECTS_USER 0x40
|
||||
#define MOVE_EFFECT_CERTAIN 0x80
|
||||
|
||||
// Battle terrain defines for gBattleTerrain.
|
||||
#define BATTLE_TERRAIN_GRASS 0
|
||||
#define BATTLE_TERRAIN_LONG_GRASS 1
|
||||
#define BATTLE_TERRAIN_SAND 2
|
||||
#define BATTLE_TERRAIN_UNDERWATER 3
|
||||
#define BATTLE_TERRAIN_WATER 4
|
||||
#define BATTLE_TERRAIN_POND 5
|
||||
#define BATTLE_TERRAIN_MOUNTAIN 6
|
||||
#define BATTLE_TERRAIN_CAVE 7
|
||||
#define BATTLE_TERRAIN_BUILDING 8
|
||||
#define BATTLE_TERRAIN_PLAIN 9
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_H
|
||||
|
||||
@@ -35,8 +35,8 @@
|
||||
|
||||
// script's table id to bit
|
||||
#define AI_SCRIPT_CHECK_BAD_MOVE (1 << 0)
|
||||
#define AI_SCRIPT_CHECK_VIABILITY (1 << 1)
|
||||
#define AI_SCRIPT_TRY_TO_FAINT (1 << 2)
|
||||
#define AI_SCRIPT_TRY_TO_FAINT (1 << 1)
|
||||
#define AI_SCRIPT_CHECK_VIABILITY (1 << 2)
|
||||
#define AI_SCRIPT_SETUP_FIRST_TURN (1 << 3)
|
||||
#define AI_SCRIPT_RISKY (1 << 4)
|
||||
#define AI_SCRIPT_PREFER_STRONGEST_MOVE (1 << 5)
|
||||
|
||||
@@ -1,6 +1,312 @@
|
||||
#ifndef GUARD_CONSTANTS_BATTLE_ANIM_H
|
||||
#define GUARD_CONSTANTS_BATTLE_ANIM_H
|
||||
|
||||
// Sprites start at 10000 and thus must be subtracted of 10000 to account for the true index.
|
||||
#define GET_TRUE_SPRITE_INDEX(i) ((i - ANIM_SPRITES_START))
|
||||
|
||||
// Particle ids.
|
||||
#define ANIM_SPRITES_START 10000
|
||||
|
||||
#define ANIM_TAG_BONE (ANIM_SPRITES_START + 0)
|
||||
#define ANIM_TAG_SPARK (ANIM_SPRITES_START + 1)
|
||||
#define ANIM_TAG_PENCIL (ANIM_SPRITES_START + 2)
|
||||
#define ANIM_TAG_AIR_WAVE (ANIM_SPRITES_START + 3)
|
||||
#define ANIM_TAG_004 (ANIM_SPRITES_START + 4) // ?
|
||||
#define ANIM_TAG_SWORD (ANIM_SPRITES_START + 5)
|
||||
#define ANIM_TAG_SEED (ANIM_SPRITES_START + 6)
|
||||
#define ANIM_TAG_007 (ANIM_SPRITES_START + 7) // ?
|
||||
#define ANIM_TAG_008 (ANIM_SPRITES_START + 8) // ?
|
||||
#define ANIM_TAG_GUST (ANIM_SPRITES_START + 9)
|
||||
#define ANIM_TAG_ICE_CUBE (ANIM_SPRITES_START + 10)
|
||||
#define ANIM_TAG_SPARK_2 (ANIM_SPRITES_START + 11)
|
||||
#define ANIM_TAG_012 (ANIM_SPRITES_START + 12) // ?
|
||||
#define ANIM_TAG_YELLOW_BALL (ANIM_SPRITES_START + 13)
|
||||
#define ANIM_TAG_LOCK_ON (ANIM_SPRITES_START + 14)
|
||||
#define ANIM_TAG_TIED_BAG (ANIM_SPRITES_START + 15)
|
||||
#define ANIM_TAG_BLACK_SMOKE (ANIM_SPRITES_START + 16)
|
||||
#define ANIM_TAG_BLACK_BALL (ANIM_SPRITES_START + 17)
|
||||
#define ANIM_TAG_CONVERSION (ANIM_SPRITES_START + 18)
|
||||
#define ANIM_TAG_019 (ANIM_SPRITES_START + 19) // ?
|
||||
#define ANIM_TAG_HORN_HIT (ANIM_SPRITES_START + 20)
|
||||
#define ANIM_TAG_021 (ANIM_SPRITES_START + 21) // ?
|
||||
#define ANIM_TAG_022 (ANIM_SPRITES_START + 22) // ?
|
||||
#define ANIM_TAG_023 (ANIM_SPRITES_START + 23) // ?
|
||||
#define ANIM_TAG_024 (ANIM_SPRITES_START + 24) // ?
|
||||
#define ANIM_TAG_025 (ANIM_SPRITES_START + 25) // ?
|
||||
#define ANIM_TAG_026 (ANIM_SPRITES_START + 26) // ?
|
||||
#define ANIM_TAG_GLARE (ANIM_SPRITES_START + 27)
|
||||
#define ANIM_TAG_028 (ANIM_SPRITES_START + 28) // ?
|
||||
#define ANIM_TAG_SMALL_EMBER (ANIM_SPRITES_START + 29)
|
||||
#define ANIM_TAG_GRAY_SMOKE (ANIM_SPRITES_START + 30)
|
||||
#define ANIM_TAG_BLUE_STAR (ANIM_SPRITES_START + 31)
|
||||
#define ANIM_TAG_032 (ANIM_SPRITES_START + 32) // ?
|
||||
#define ANIM_TAG_FIRE (ANIM_SPRITES_START + 33)
|
||||
#define ANIM_TAG_034 (ANIM_SPRITES_START + 34) // ?
|
||||
#define ANIM_TAG_035 (ANIM_SPRITES_START + 35) // ?
|
||||
#define ANIM_TAG_036 (ANIM_SPRITES_START + 36) // ?
|
||||
#define ANIM_TAG_LIGHTNING (ANIM_SPRITES_START + 37)
|
||||
#define ANIM_TAG_038 (ANIM_SPRITES_START + 38) // ?
|
||||
#define ANIM_TAG_CLAW_SLASH (ANIM_SPRITES_START + 39)
|
||||
#define ANIM_TAG_040 (ANIM_SPRITES_START + 40) // ?
|
||||
#define ANIM_TAG_041 (ANIM_SPRITES_START + 41) // ?
|
||||
#define ANIM_TAG_042 (ANIM_SPRITES_START + 42) // ?
|
||||
#define ANIM_TAG_ICE_CHUNK (ANIM_SPRITES_START + 43)
|
||||
#define ANIM_TAG_044 (ANIM_SPRITES_START + 44) // ?
|
||||
#define ANIM_TAG_PINK_HEART (ANIM_SPRITES_START + 45) // ?
|
||||
#define ANIM_TAG_046 (ANIM_SPRITES_START + 46) // ?
|
||||
#define ANIM_TAG_047 (ANIM_SPRITES_START + 47) // ?
|
||||
#define ANIM_TAG_048 (ANIM_SPRITES_START + 48) // ?
|
||||
#define ANIM_TAG_SPARKLE (ANIM_SPRITES_START + 49)
|
||||
#define ANIM_TAG_050 (ANIM_SPRITES_START + 50) // ?
|
||||
#define ANIM_TAG_051 (ANIM_SPRITES_START + 51)
|
||||
#define ANIM_TAG_052 (ANIM_SPRITES_START + 52)
|
||||
#define ANIM_TAG_053 (ANIM_SPRITES_START + 53)
|
||||
#define ANIM_TAG_054 (ANIM_SPRITES_START + 54)
|
||||
#define ANIM_TAG_RED_FIST (ANIM_SPRITES_START + 55)
|
||||
#define ANIM_TAG_056 (ANIM_SPRITES_START + 56)
|
||||
#define ANIM_TAG_057 (ANIM_SPRITES_START + 57)
|
||||
#define ANIM_TAG_058 (ANIM_SPRITES_START + 58)
|
||||
#define ANIM_TAG_059 (ANIM_SPRITES_START + 59)
|
||||
#define ANIM_TAG_060 (ANIM_SPRITES_START + 60)
|
||||
#define ANIM_TAG_061 (ANIM_SPRITES_START + 61)
|
||||
#define ANIM_TAG_062 (ANIM_SPRITES_START + 62)
|
||||
#define ANIM_TAG_063 (ANIM_SPRITES_START + 63)
|
||||
#define ANIM_TAG_064 (ANIM_SPRITES_START + 64)
|
||||
#define ANIM_TAG_065 (ANIM_SPRITES_START + 65)
|
||||
#define ANIM_TAG_066 (ANIM_SPRITES_START + 66)
|
||||
#define ANIM_TAG_067 (ANIM_SPRITES_START + 67)
|
||||
#define ANIM_TAG_068 (ANIM_SPRITES_START + 68)
|
||||
#define ANIM_TAG_069 (ANIM_SPRITES_START + 69)
|
||||
#define ANIM_TAG_070 (ANIM_SPRITES_START + 70)
|
||||
#define ANIM_TAG_071 (ANIM_SPRITES_START + 71)
|
||||
#define ANIM_TAG_MUSIC_NOTES2 (ANIM_SPRITES_START + 72)
|
||||
#define ANIM_TAG_DUCK (ANIM_SPRITES_START + 73)
|
||||
#define ANIM_TAG_074 (ANIM_SPRITES_START + 74)
|
||||
#define ANIM_TAG_075 (ANIM_SPRITES_START + 75)
|
||||
#define ANIM_TAG_076 (ANIM_SPRITES_START + 76)
|
||||
#define ANIM_TAG_077 (ANIM_SPRITES_START + 77)
|
||||
#define ANIM_TAG_078 (ANIM_SPRITES_START + 78)
|
||||
#define ANIM_TAG_079 (ANIM_SPRITES_START + 79)
|
||||
#define ANIM_TAG_080 (ANIM_SPRITES_START + 80)
|
||||
#define ANIM_TAG_081 (ANIM_SPRITES_START + 81)
|
||||
#define ANIM_TAG_082 (ANIM_SPRITES_START + 82)
|
||||
#define ANIM_TAG_083 (ANIM_SPRITES_START + 83)
|
||||
#define ANIM_TAG_084 (ANIM_SPRITES_START + 84)
|
||||
#define ANIM_TAG_085 (ANIM_SPRITES_START + 85)
|
||||
#define ANIM_TAG_086 (ANIM_SPRITES_START + 86)
|
||||
#define ANIM_TAG_ANGER (ANIM_SPRITES_START + 87)
|
||||
#define ANIM_TAG_088 (ANIM_SPRITES_START + 88)
|
||||
#define ANIM_TAG_089 (ANIM_SPRITES_START + 89)
|
||||
#define ANIM_TAG_090 (ANIM_SPRITES_START + 90)
|
||||
#define ANIM_TAG_091 (ANIM_SPRITES_START + 91)
|
||||
#define ANIM_TAG_092 (ANIM_SPRITES_START + 92)
|
||||
#define ANIM_TAG_093 (ANIM_SPRITES_START + 93)
|
||||
#define ANIM_TAG_094 (ANIM_SPRITES_START + 94)
|
||||
#define ANIM_TAG_095 (ANIM_SPRITES_START + 95)
|
||||
#define ANIM_TAG_096 (ANIM_SPRITES_START + 96)
|
||||
#define ANIM_TAG_BENT_SPOON (ANIM_SPRITES_START + 97)
|
||||
#define ANIM_TAG_098 (ANIM_SPRITES_START + 98)
|
||||
#define ANIM_TAG_MILK_BOTTLE (ANIM_SPRITES_START + 99)
|
||||
#define ANIM_TAG_100 (ANIM_SPRITES_START + 100)
|
||||
#define ANIM_TAG_101 (ANIM_SPRITES_START + 101)
|
||||
#define ANIM_TAG_102 (ANIM_SPRITES_START + 102)
|
||||
#define ANIM_TAG_103 (ANIM_SPRITES_START + 103)
|
||||
#define ANIM_TAG_104 (ANIM_SPRITES_START + 104)
|
||||
#define ANIM_TAG_105 (ANIM_SPRITES_START + 105)
|
||||
#define ANIM_TAG_106 (ANIM_SPRITES_START + 106)
|
||||
#define ANIM_TAG_107 (ANIM_SPRITES_START + 107)
|
||||
#define ANIM_TAG_108 (ANIM_SPRITES_START + 108)
|
||||
#define ANIM_TAG_109 (ANIM_SPRITES_START + 109)
|
||||
#define ANIM_TAG_110 (ANIM_SPRITES_START + 110)
|
||||
#define ANIM_TAG_111 (ANIM_SPRITES_START + 111)
|
||||
#define ANIM_TAG_112 (ANIM_SPRITES_START + 112)
|
||||
#define ANIM_TAG_113 (ANIM_SPRITES_START + 113)
|
||||
#define ANIM_TAG_114 (ANIM_SPRITES_START + 114)
|
||||
#define ANIM_TAG_115 (ANIM_SPRITES_START + 115)
|
||||
#define ANIM_TAG_116 (ANIM_SPRITES_START + 116)
|
||||
#define ANIM_TAG_117 (ANIM_SPRITES_START + 117)
|
||||
#define ANIM_TAG_118 (ANIM_SPRITES_START + 118)
|
||||
#define ANIM_TAG_119 (ANIM_SPRITES_START + 119)
|
||||
#define ANIM_TAG_ITEM_BAG2 (ANIM_SPRITES_START + 120)
|
||||
#define ANIM_TAG_121 (ANIM_SPRITES_START + 121)
|
||||
#define ANIM_TAG_122 (ANIM_SPRITES_START + 122)
|
||||
#define ANIM_TAG_123 (ANIM_SPRITES_START + 123)
|
||||
#define ANIM_TAG_124 (ANIM_SPRITES_START + 124)
|
||||
#define ANIM_TAG_125 (ANIM_SPRITES_START + 125)
|
||||
#define ANIM_TAG_126 (ANIM_SPRITES_START + 126)
|
||||
#define ANIM_TAG_127 (ANIM_SPRITES_START + 127)
|
||||
#define ANIM_TAG_128 (ANIM_SPRITES_START + 128)
|
||||
#define ANIM_TAG_129 (ANIM_SPRITES_START + 129)
|
||||
#define ANIM_TAG_130 (ANIM_SPRITES_START + 130)
|
||||
#define ANIM_TAG_131 (ANIM_SPRITES_START + 131)
|
||||
#define ANIM_TAG_132 (ANIM_SPRITES_START + 132)
|
||||
#define ANIM_TAG_133 (ANIM_SPRITES_START + 133)
|
||||
#define ANIM_TAG_134 (ANIM_SPRITES_START + 134)
|
||||
#define ANIM_TAG_135 (ANIM_SPRITES_START + 135)
|
||||
#define ANIM_TAG_136 (ANIM_SPRITES_START + 136)
|
||||
#define ANIM_TAG_137 (ANIM_SPRITES_START + 137)
|
||||
#define ANIM_TAG_138 (ANIM_SPRITES_START + 138)
|
||||
#define ANIM_TAG_139 (ANIM_SPRITES_START + 139)
|
||||
#define ANIM_TAG_140 (ANIM_SPRITES_START + 140)
|
||||
#define ANIM_TAG_141 (ANIM_SPRITES_START + 141)
|
||||
#define ANIM_TAG_142 (ANIM_SPRITES_START + 142)
|
||||
#define ANIM_TAG_143 (ANIM_SPRITES_START + 143)
|
||||
#define ANIM_TAG_144 (ANIM_SPRITES_START + 144)
|
||||
#define ANIM_TAG_145 (ANIM_SPRITES_START + 145)
|
||||
#define ANIM_TAG_146 (ANIM_SPRITES_START + 146)
|
||||
#define ANIM_TAG_147 (ANIM_SPRITES_START + 147)
|
||||
#define ANIM_TAG_148 (ANIM_SPRITES_START + 148)
|
||||
#define ANIM_TAG_149 (ANIM_SPRITES_START + 149)
|
||||
#define ANIM_TAG_POISON_BUBBLE (ANIM_SPRITES_START + 150)
|
||||
#define ANIM_TAG_TOXIC_BUBBLE (ANIM_SPRITES_START + 151)
|
||||
#define ANIM_TAG_152 (ANIM_SPRITES_START + 152)
|
||||
#define ANIM_TAG_153 (ANIM_SPRITES_START + 153)
|
||||
#define ANIM_TAG_154 (ANIM_SPRITES_START + 154)
|
||||
#define ANIM_TAG_155 (ANIM_SPRITES_START + 155)
|
||||
#define ANIM_TAG_156 (ANIM_SPRITES_START + 156)
|
||||
#define ANIM_TAG_157 (ANIM_SPRITES_START + 157)
|
||||
#define ANIM_TAG_158 (ANIM_SPRITES_START + 158)
|
||||
#define ANIM_TAG_159 (ANIM_SPRITES_START + 159)
|
||||
#define ANIM_TAG_160 (ANIM_SPRITES_START + 160)
|
||||
#define ANIM_TAG_161 (ANIM_SPRITES_START + 161)
|
||||
#define ANIM_TAG_162 (ANIM_SPRITES_START + 162)
|
||||
#define ANIM_TAG_163 (ANIM_SPRITES_START + 163)
|
||||
#define ANIM_TAG_164 (ANIM_SPRITES_START + 164)
|
||||
#define ANIM_TAG_165 (ANIM_SPRITES_START + 165)
|
||||
#define ANIM_TAG_166 (ANIM_SPRITES_START + 166)
|
||||
#define ANIM_TAG_167 (ANIM_SPRITES_START + 167)
|
||||
#define ANIM_TAG_168 (ANIM_SPRITES_START + 168)
|
||||
#define ANIM_TAG_169 (ANIM_SPRITES_START + 169)
|
||||
#define ANIM_TAG_170 (ANIM_SPRITES_START + 170)
|
||||
#define ANIM_TAG_171 (ANIM_SPRITES_START + 171)
|
||||
#define ANIM_TAG_172 (ANIM_SPRITES_START + 172)
|
||||
#define ANIM_TAG_173 (ANIM_SPRITES_START + 173)
|
||||
#define ANIM_TAG_174 (ANIM_SPRITES_START + 174)
|
||||
#define ANIM_TAG_175 (ANIM_SPRITES_START + 175)
|
||||
#define ANIM_TAG_176 (ANIM_SPRITES_START + 176)
|
||||
#define ANIM_TAG_177 (ANIM_SPRITES_START + 177)
|
||||
#define ANIM_TAG_178 (ANIM_SPRITES_START + 178)
|
||||
#define ANIM_TAG_179 (ANIM_SPRITES_START + 179)
|
||||
#define ANIM_TAG_WEB_THREAD (ANIM_SPRITES_START + 180)
|
||||
#define ANIM_TAG_SPIDER_WEB (ANIM_SPRITES_START + 181)
|
||||
#define ANIM_TAG_182 (ANIM_SPRITES_START + 182)
|
||||
#define ANIM_TAG_183 (ANIM_SPRITES_START + 183)
|
||||
#define ANIM_TAG_184 (ANIM_SPRITES_START + 184)
|
||||
#define ANIM_TAG_185 (ANIM_SPRITES_START + 185)
|
||||
#define ANIM_TAG_186 (ANIM_SPRITES_START + 186)
|
||||
#define ANIM_TAG_EYE (ANIM_SPRITES_START + 187)
|
||||
#define ANIM_TAG_188 (ANIM_SPRITES_START + 188)
|
||||
#define ANIM_TAG_189 (ANIM_SPRITES_START + 189)
|
||||
#define ANIM_TAG_OPENING_EYE (ANIM_SPRITES_START + 190)
|
||||
#define ANIM_TAG_191 (ANIM_SPRITES_START + 191)
|
||||
#define ANIM_TAG_192 (ANIM_SPRITES_START + 192)
|
||||
#define ANIM_TAG_193 (ANIM_SPRITES_START + 193)
|
||||
#define ANIM_TAG_MOON (ANIM_SPRITES_START + 194)
|
||||
#define ANIM_TAG_GREEN_SPARKLE (ANIM_SPRITES_START + 195)
|
||||
#define ANIM_TAG_196 (ANIM_SPRITES_START + 196)
|
||||
#define ANIM_TAG_197 (ANIM_SPRITES_START + 197)
|
||||
#define ANIM_TAG_EXPLOSION (ANIM_SPRITES_START + 198)
|
||||
#define ANIM_TAG_NAIL (ANIM_SPRITES_START + 199)
|
||||
#define ANIM_TAG_200 (ANIM_SPRITES_START + 200)
|
||||
#define ANIM_TAG_201 (ANIM_SPRITES_START + 201)
|
||||
#define ANIM_TAG_BREAKING_EGG (ANIM_SPRITES_START + 202)
|
||||
#define ANIM_TAG_203 (ANIM_SPRITES_START + 203)
|
||||
#define ANIM_TAG_204 (ANIM_SPRITES_START + 204)
|
||||
#define ANIM_TAG_BELL (ANIM_SPRITES_START + 205)
|
||||
#define ANIM_TAG_MUSIC_NOTES (ANIM_SPRITES_START + 206)
|
||||
#define ANIM_TAG_207 (ANIM_SPRITES_START + 207)
|
||||
#define ANIM_TAG_208 (ANIM_SPRITES_START + 208)
|
||||
#define ANIM_TAG_209 (ANIM_SPRITES_START + 209)
|
||||
#define ANIM_TAG_PURPLE_HEART (ANIM_SPRITES_START + 210)
|
||||
#define ANIM_TAG_211 (ANIM_SPRITES_START + 211)
|
||||
#define ANIM_TAG_212 (ANIM_SPRITES_START + 212)
|
||||
#define ANIM_TAG_213 (ANIM_SPRITES_START + 213)
|
||||
#define ANIM_TAG_214 (ANIM_SPRITES_START + 214)
|
||||
#define ANIM_TAG_215 (ANIM_SPRITES_START + 215)
|
||||
#define ANIM_TAG_216 (ANIM_SPRITES_START + 216)
|
||||
#define ANIM_TAG_217 (ANIM_SPRITES_START + 217)
|
||||
#define ANIM_TAG_218 (ANIM_SPRITES_START + 218)
|
||||
#define ANIM_TAG_219 (ANIM_SPRITES_START + 219)
|
||||
#define ANIM_TAG_ANGEL (ANIM_SPRITES_START + 220)
|
||||
#define ANIM_TAG_EVIL_ANGEL (ANIM_SPRITES_START + 221)
|
||||
#define ANIM_TAG_222 (ANIM_SPRITES_START + 222)
|
||||
#define ANIM_TAG_223 (ANIM_SPRITES_START + 223)
|
||||
#define ANIM_TAG_ITEM_BAG (ANIM_SPRITES_START + 224)
|
||||
#define ANIM_TAG_225 (ANIM_SPRITES_START + 225)
|
||||
#define ANIM_TAG_226 (ANIM_SPRITES_START + 226)
|
||||
#define ANIM_TAG_227 (ANIM_SPRITES_START + 227)
|
||||
#define ANIM_TAG_LETTER_Z (ANIM_SPRITES_START + 228)
|
||||
#define ANIM_TAG_229 (ANIM_SPRITES_START + 229)
|
||||
#define ANIM_TAG_TRI_FORCE_TRIANGLE (ANIM_SPRITES_START + 230)
|
||||
#define ANIM_TAG_231 (ANIM_SPRITES_START + 231)
|
||||
#define ANIM_TAG_232 (ANIM_SPRITES_START + 232)
|
||||
#define ANIM_TAG_233 (ANIM_SPRITES_START + 233)
|
||||
#define ANIM_TAG_234 (ANIM_SPRITES_START + 234)
|
||||
#define ANIM_TAG_235 (ANIM_SPRITES_START + 235)
|
||||
#define ANIM_TAG_236 (ANIM_SPRITES_START + 236)
|
||||
#define ANIM_TAG_237 (ANIM_SPRITES_START + 237)
|
||||
#define ANIM_TAG_238 (ANIM_SPRITES_START + 238)
|
||||
#define ANIM_TAG_239 (ANIM_SPRITES_START + 239)
|
||||
#define ANIM_TAG_240 (ANIM_SPRITES_START + 240)
|
||||
#define ANIM_TAG_GREEN_STAR (ANIM_SPRITES_START + 241)
|
||||
#define ANIM_TAG_242 (ANIM_SPRITES_START + 242)
|
||||
#define ANIM_TAG_243 (ANIM_SPRITES_START + 243)
|
||||
#define ANIM_TAG_244 (ANIM_SPRITES_START + 244)
|
||||
#define ANIM_TAG_245 (ANIM_SPRITES_START + 245)
|
||||
#define ANIM_TAG_246 (ANIM_SPRITES_START + 246)
|
||||
#define ANIM_TAG_HAND (ANIM_SPRITES_START + 247)
|
||||
#define ANIM_TAG_248 (ANIM_SPRITES_START + 248)
|
||||
#define ANIM_TAG_249 (ANIM_SPRITES_START + 249)
|
||||
#define ANIM_TAG_X_SIGN (ANIM_SPRITES_START + 250)
|
||||
#define ANIM_TAG_251 (ANIM_SPRITES_START + 251)
|
||||
#define ANIM_TAG_252 (ANIM_SPRITES_START + 252)
|
||||
#define ANIM_TAG_253 (ANIM_SPRITES_START + 253)
|
||||
#define ANIM_TAG_254 (ANIM_SPRITES_START + 254)
|
||||
#define ANIM_TAG_255 (ANIM_SPRITES_START + 255)
|
||||
#define ANIM_TAG_256 (ANIM_SPRITES_START + 256)
|
||||
#define ANIM_TAG_257 (ANIM_SPRITES_START + 257)
|
||||
#define ANIM_TAG_MAGNIFYING_GLASS (ANIM_SPRITES_START + 258)
|
||||
#define ANIM_TAG_259 (ANIM_SPRITES_START + 259)
|
||||
#define ANIM_TAG_260 (ANIM_SPRITES_START + 260)
|
||||
#define ANIM_TAG_261 (ANIM_SPRITES_START + 261)
|
||||
#define ANIM_TAG_262 (ANIM_SPRITES_START + 262)
|
||||
#define ANIM_TAG_263 (ANIM_SPRITES_START + 263)
|
||||
#define ANIM_TAG_264 (ANIM_SPRITES_START + 264)
|
||||
#define ANIM_TAG_265 (ANIM_SPRITES_START + 265)
|
||||
#define ANIM_TAG_266 (ANIM_SPRITES_START + 266)
|
||||
#define ANIM_TAG_267 (ANIM_SPRITES_START + 267)
|
||||
#define ANIM_TAG_268 (ANIM_SPRITES_START + 268)
|
||||
#define ANIM_TAG_269 (ANIM_SPRITES_START + 269)
|
||||
#define ANIM_TAG_270 (ANIM_SPRITES_START + 270)
|
||||
#define ANIM_TAG_271 (ANIM_SPRITES_START + 271)
|
||||
#define ANIM_TAG_272 (ANIM_SPRITES_START + 272)
|
||||
#define ANIM_TAG_273 (ANIM_SPRITES_START + 273)
|
||||
#define ANIM_TAG_274 (ANIM_SPRITES_START + 274)
|
||||
#define ANIM_TAG_275 (ANIM_SPRITES_START + 275)
|
||||
#define ANIM_TAG_276 (ANIM_SPRITES_START + 276)
|
||||
#define ANIM_TAG_277 (ANIM_SPRITES_START + 277)
|
||||
#define ANIM_TAG_RECYCLE (ANIM_SPRITES_START + 278)
|
||||
#define ANIM_TAG_279 (ANIM_SPRITES_START + 279)
|
||||
#define ANIM_TAG_PROTECT (ANIM_SPRITES_START + 280)
|
||||
#define ANIM_TAG_281 (ANIM_SPRITES_START + 281)
|
||||
#define ANIM_TAG_282 (ANIM_SPRITES_START + 282)
|
||||
#define ANIM_TAG_283 (ANIM_SPRITES_START + 283)
|
||||
#define ANIM_TAG_284 (ANIM_SPRITES_START + 284)
|
||||
#define ANIM_TAG_285 (ANIM_SPRITES_START + 285)
|
||||
#define ANIM_TAG_286 (ANIM_SPRITES_START + 286)
|
||||
#define ANIM_TAG_287 (ANIM_SPRITES_START + 287)
|
||||
#define ANIM_TAG_288 (ANIM_SPRITES_START + 288)
|
||||
#define ANIM_TAG_289 (ANIM_SPRITES_START + 289)
|
||||
#define ANIM_TAG_290 (ANIM_SPRITES_START + 290)
|
||||
#define ANIM_TAG_291 (ANIM_SPRITES_START + 291)
|
||||
#define ANIM_TAG_292 (ANIM_SPRITES_START + 292)
|
||||
#define ANIM_TAG_293 (ANIM_SPRITES_START + 293)
|
||||
#define ANIM_TAG_294 (ANIM_SPRITES_START + 294)
|
||||
#define ANIM_TAG_295 (ANIM_SPRITES_START + 295)
|
||||
#define ANIM_TAG_296 (ANIM_SPRITES_START + 296)
|
||||
#define ANIM_TAG_297 (ANIM_SPRITES_START + 297)
|
||||
#define ANIM_TAG_298 (ANIM_SPRITES_START + 298)
|
||||
|
||||
// battlers
|
||||
#define ANIM_ATTACKER 0
|
||||
#define ANIM_TARGET 1
|
||||
@@ -41,7 +347,7 @@
|
||||
#define B_ANIM_STATS_CHANGE 0x1
|
||||
#define B_ANIM_SUBSTITUTE_FADE 0x2
|
||||
#define B_ANIM_SUBSTITUTE_APPEAR 0x3
|
||||
#define B_ANIM_x4 0x4
|
||||
#define B_ANIM_POKEBLOCK_THROW 0x4
|
||||
#define B_ANIM_ITEM_KNOCKOFF 0x5
|
||||
#define B_ANIM_TURN_TRAP 0x6
|
||||
#define B_ANIM_ITEM_EFFECT 0x7
|
||||
@@ -57,7 +363,7 @@
|
||||
#define B_ANIM_SNATCH_MOVE 0x11
|
||||
#define B_ANIM_FUTURE_SIGHT_HIT 0x12
|
||||
#define B_ANIM_DOOM_DESIRE_HIT 0x13
|
||||
#define B_ANIM_x14 0x14
|
||||
#define B_ANIM_FOCUS_PUNCH_SETUP 0x14
|
||||
#define B_ANIM_INGRAIN_HEAL 0x15
|
||||
#define B_ANIM_WISH_HEAL 0x16
|
||||
|
||||
@@ -82,4 +388,22 @@
|
||||
#define B_ANIM_STATUS_NIGHTMARE 0x8
|
||||
#define B_ANIM_STATUS_WRAPPED 0x9 // does not actually exist
|
||||
|
||||
// Most tasks return a value to gBattleAnimArgs[7].
|
||||
#define ARG_RET_ID 0x7
|
||||
|
||||
// Trapping Wrap-like moves end turn animation.
|
||||
#define TRAP_ANIM_BIND 0
|
||||
#define TRAP_ANIM_WRAP 0
|
||||
#define TRAP_ANIM_FIRE_SPIN 1
|
||||
#define TRAP_ANIM_WHIRLPOOL 2
|
||||
#define TRAP_ANIM_CLAMP 3
|
||||
#define TRAP_ANIM_SAND_TOMB 4
|
||||
|
||||
// Weather defines for battle animation scripts.
|
||||
#define ANIM_WEATHER_NONE 0
|
||||
#define ANIM_WEATHER_SUN 1
|
||||
#define ANIM_WEATHER_RAIN 2
|
||||
#define ANIM_WEATHER_SANDSTORM 3
|
||||
#define ANIM_WEATHER_HAIL 4
|
||||
|
||||
#endif // GUARD_CONSTANTS_BATTLE_ANIM_H
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
// Battle Frontier lvl modes.
|
||||
#define FRONTIER_LVL_50 0
|
||||
#define FRONTIER_LVL_OPEN 1
|
||||
#define FRONTIER_LVL_TENT 2
|
||||
|
||||
// Battle Frontier battle modes.
|
||||
#define FRONTIER_MODE_SINGLES 0
|
||||
|
||||
132
include/metatile_behaviors.h → include/constants/metatile_behaviors.h
Normal file → Executable file
132
include/metatile_behaviors.h → include/constants/metatile_behaviors.h
Normal file → Executable file
@@ -2,16 +2,17 @@
|
||||
#define GUARD_METATILE_BEHAVIORS
|
||||
|
||||
#define MB_NORMAL 0x00
|
||||
#define MB_SECRET_BASE_WALL 0x01
|
||||
#define MB_TALL_GRASS 0x02
|
||||
#define MB_LONG_GRASS 0x03
|
||||
#define MB_04 0x04
|
||||
#define MB_05 0x05
|
||||
#define MB_UNUSED_04 0x04
|
||||
#define MB_UNUSED_05 0x05
|
||||
#define MB_DEEP_SAND 0x06
|
||||
#define MB_SHORT_GRASS 0x07
|
||||
#define MB_CAVE 0x08
|
||||
#define MB_UNUSED_CAVE 0x08
|
||||
#define MB_LONG_GRASS_SOUTH_EDGE 0x09
|
||||
#define MB_NO_RUNNING 0x0A
|
||||
#define MB_0B 0x0B
|
||||
#define MB_INDOOR_ENCOUNTER 0x0B
|
||||
#define MB_MOUNTAIN_TOP 0x0C
|
||||
#define MB_BATTLE_PYRAMID_WARP 0x0D
|
||||
#define MB_MOSSDEEP_GYM_WARP 0x0E
|
||||
@@ -24,22 +25,30 @@
|
||||
#define MB_OCEAN_WATER 0x15
|
||||
#define MB_PUDDLE 0x16
|
||||
#define MB_SHALLOW_WATER 0x17
|
||||
#define MB_18 0x18
|
||||
#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER 0x18
|
||||
#define MB_NO_SURFACING 0x19
|
||||
#define MB_1A 0x1A
|
||||
#define MB_UNUSED_SOOTOPOLIS_DEEP_WATER_2 0x1A
|
||||
#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B
|
||||
#define MB_SHOAL_CAVE_ENTRANCE 0x1C
|
||||
#define MB_UNUSED_1D 0x1D
|
||||
#define MB_UNUSED_1E 0x1E
|
||||
#define MB_UNUSED_1F 0x1F
|
||||
#define MB_ICE 0x20
|
||||
#define MB_SAND 0x21
|
||||
#define MB_SEAWEED 0x22
|
||||
#define MB_UNUSED_23 0x23
|
||||
#define MB_ASHGRASS 0x24
|
||||
#define MB_25 0x25
|
||||
#define MB_FOOTPRINTS 0x25
|
||||
#define MB_THIN_ICE 0x26
|
||||
#define MB_CRACKED_ICE 0x27
|
||||
#define MB_HOT_SPRINGS 0x28
|
||||
#define MB_LAVARIDGE_GYM_B1F_WARP 0x29
|
||||
#define MB_SEAWEED_NO_SURFACING 0x2A
|
||||
#define MB_REFLECTION_UNDER_BRIDGE 0x2B
|
||||
#define MB_UNUSED_2C 0x2C
|
||||
#define MB_UNUSED_2D 0x2D
|
||||
#define MB_UNUSED_2E 0x2E
|
||||
#define MB_UNUSED_2F 0x2F
|
||||
#define MB_IMPASSABLE_EAST 0x30
|
||||
#define MB_IMPASSABLE_WEST 0x31
|
||||
#define MB_IMPASSABLE_NORTH 0x32
|
||||
@@ -52,6 +61,8 @@
|
||||
#define MB_JUMP_WEST 0x39
|
||||
#define MB_JUMP_NORTH 0x3A
|
||||
#define MB_JUMP_SOUTH 0x3B
|
||||
#define MB_JUMP_NORTHEAST 0x3C
|
||||
#define MB_JUMP_NORTHWEST 0x3D
|
||||
#define MB_JUMP_SOUTHEAST 0x3E
|
||||
#define MB_JUMP_SOUTHWEST 0x3F
|
||||
#define MB_WALK_EAST 0x40
|
||||
@@ -63,10 +74,29 @@
|
||||
#define MB_SLIDE_NORTH 0x46
|
||||
#define MB_SLIDE_SOUTH 0x47
|
||||
#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48
|
||||
#define MB_UNUSED_49 0x49
|
||||
#define MB_UNUSED_4A 0x4A
|
||||
#define MB_UNUSED_4B 0x4B
|
||||
#define MB_UNUSED_4C 0x4C
|
||||
#define MB_UNUSED_4D 0x4D
|
||||
#define MB_UNUSED_4E 0x4E
|
||||
#define MB_UNUSED_4F 0x4F
|
||||
#define MB_EASTWARD_CURRENT 0x50
|
||||
#define MB_WESTWARD_CURRENT 0x51
|
||||
#define MB_NORTHWARD_CURRENT 0x52
|
||||
#define MB_SOUTHWARD_CURRENT 0x53
|
||||
#define MB_UNUSED_54 0x54
|
||||
#define MB_UNUSED_55 0x55
|
||||
#define MB_UNUSED_56 0x56
|
||||
#define MB_UNUSED_57 0x57
|
||||
#define MB_UNUSED_58 0x58
|
||||
#define MB_UNUSED_59 0x59
|
||||
#define MB_UNUSED_5A 0x5A
|
||||
#define MB_UNUSED_5B 0x5B
|
||||
#define MB_UNUSED_5C 0x5C
|
||||
#define MB_UNUSED_5D 0x5D
|
||||
#define MB_UNUSED_5E 0x5E
|
||||
#define MB_UNUSED_5F 0x5F
|
||||
#define MB_NON_ANIMATED_DOOR 0x60
|
||||
#define MB_LADDER 0x61
|
||||
#define MB_EAST_ARROW_WARP 0x62
|
||||
@@ -82,8 +112,9 @@
|
||||
#define MB_WATER_DOOR 0x6C
|
||||
#define MB_WATER_SOUTH_ARROW_WARP 0x6D
|
||||
#define MB_DEEP_SOUTH_WARP 0x6E
|
||||
#define MB_UNUSED_6F 0x6F
|
||||
#define MB_WARP_OR_BRIDGE 0x70
|
||||
#define MB_71 0x71
|
||||
#define MB_UNUSED_71 0x71
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_1 0x72
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_2 0x73
|
||||
#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74
|
||||
@@ -91,23 +122,27 @@
|
||||
#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76
|
||||
#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77
|
||||
#define MB_FORTREE_BRIDGE 0x78
|
||||
#define MB_UNUSED_79 0x79
|
||||
#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A
|
||||
#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C
|
||||
#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D
|
||||
#define MB_7E 0x7E
|
||||
#define MB_UNUSED_7E 0x7E
|
||||
#define MB_ROUTE110_BRIDGE 0x7F
|
||||
#define MB_COUNTER 0x80
|
||||
#define MB_UNUSED_81 0x81
|
||||
#define MB_UNUSED_82 0x82
|
||||
#define MB_PC 0x83
|
||||
#define MB_CABLE_BOX_RESULTS_1 0x84
|
||||
#define MB_REGION_MAP 0x85
|
||||
#define MB_TELEVISION 0x86
|
||||
#define MB_POKEBLOCK_FEEDER 0x87
|
||||
#define MB_UNUSED_88 0x88
|
||||
#define MB_SLOT_MACHINE 0x89
|
||||
#define MB_ROULETTE 0x8A
|
||||
#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B
|
||||
#define MB_CLOSED_SOOTOPOLIS_DOOR 0x8B
|
||||
#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C
|
||||
#define MB_8D 0x8D
|
||||
#define MB_PETALBURG_GYM_DOOR 0x8D
|
||||
#define MB_RUNNING_SHOES_INSTRUCTION 0x8E
|
||||
#define MB_QUESTIONNAIRE 0x8F
|
||||
#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90
|
||||
@@ -124,39 +159,56 @@
|
||||
#define MB_SECRET_BASE_SPOT_BLUE_CAVE_OPEN 0x9B
|
||||
#define MB_SECRET_BASE_SPOT_TREE_RIGHT 0x9C
|
||||
#define MB_SECRET_BASE_SPOT_TREE_RIGHT_OPEN 0x9D
|
||||
#define MB_UNUSED_9E 0x9E
|
||||
#define MB_UNUSED_9F 0x9F
|
||||
#define MB_BERRY_TREE_SOIL 0xA0
|
||||
#define MB_UNUSED_A1 0xA1
|
||||
#define MB_UNUSED_A2 0xA2
|
||||
#define MB_UNUSED_A3 0xA3
|
||||
#define MB_UNUSED_A4 0xA4
|
||||
#define MB_UNUSED_A5 0xA5
|
||||
#define MB_UNUSED_A6 0xA6
|
||||
#define MB_UNUSED_A7 0xA7
|
||||
#define MB_UNUSED_A8 0xA8
|
||||
#define MB_UNUSED_A9 0xA9
|
||||
#define MB_UNUSED_AA 0xAA
|
||||
#define MB_UNUSED_AB 0xAB
|
||||
#define MB_UNUSED_AC 0xAC
|
||||
#define MB_UNUSED_AD 0xAD
|
||||
#define MB_UNUSED_AE 0xAE
|
||||
#define MB_UNUSED_AF 0xAF
|
||||
#define MB_SECRET_BASE_PC 0xB0
|
||||
#define MB_SECRET_BASE_REGISTER_PC 0xB1
|
||||
#define MB_B2 0xB2
|
||||
#define MB_B3 0xB3
|
||||
#define MB_B4 0xB4
|
||||
#define MB_B5 0xB5
|
||||
#define MB_B6 0xB6
|
||||
#define MB_B7 0xB7
|
||||
#define MB_SECRET_BASE_UNUSED 0xB2
|
||||
#define MB_BLOCK_DECORATION 0xB3
|
||||
#define MB_SECRET_BASE_DECORATION 0xB4
|
||||
#define MB_SECRET_BASE_LARGE_MAT_EDGE 0xB5
|
||||
#define MB_UNUSED_B6 0xB6
|
||||
#define MB_SECRET_BASE_NORTH_WALL 0xB7
|
||||
#define MB_SECRET_BASE_BALLOON 0xB8
|
||||
#define MB_B9 0xB9
|
||||
#define MB_SECRET_BASE_IMPASSABLE 0xB9
|
||||
#define MB_SECRET_BASE_GLITTER_MAT 0xBA
|
||||
#define MB_SECRET_BASE_JUMP_MAT 0xBB
|
||||
#define MB_SECRET_BASE_SPIN_MAT 0xBC
|
||||
#define MB_SECRET_BASE_SOUND_MAT 0xBD
|
||||
#define MB_BE 0xBE
|
||||
#define MB_BF 0xBF
|
||||
#define MB_BED 0xC0
|
||||
#define MB_C1 0xC1
|
||||
#define MB_C2 0xC2
|
||||
#define MB_C3 0xC3
|
||||
#define MB_SECRET_BASE_BREAKABLE_DOOR 0xBE
|
||||
#define MB_SECRET_BASE_SAND_ORNAMENT 0xBF
|
||||
#define MB_IMPASSABLE_SOUTH_AND_NORTH 0xC0
|
||||
#define MB_IMPASSABLE_WEST_AND_EAST 0xC1
|
||||
#define MB_SECRET_BASE_HOLE 0xC2
|
||||
#define MB_LARGE_MAT_CENTER 0xC3
|
||||
#define MB_SECRET_BASE_TV_SHIELD 0xC4
|
||||
#define MB_C5 0xC5
|
||||
#define MB_PLAYER_ROOM_PC_ON 0xC5
|
||||
#define MB_C6 0xC6
|
||||
#define MB_SECRET_BASE_POSTER 0xC7
|
||||
#define MB_C8 0xC8
|
||||
#define MB_C9 0xC9
|
||||
#define MB_CA 0xCA
|
||||
#define MB_CB 0xCB
|
||||
#define MB_CC 0xCC
|
||||
#define MB_CD 0xCD
|
||||
#define MB_CE 0xCE
|
||||
#define MB_CF 0xCF
|
||||
#define MB_UNUSED_C8 0xC8
|
||||
#define MB_UNUSED_C9 0xC9
|
||||
#define MB_UNUSED_CA 0xCA
|
||||
#define MB_UNUSED_CB 0xCB
|
||||
#define MB_UNUSED_CC 0xCC
|
||||
#define MB_UNUSED_CD 0xCD
|
||||
#define MB_UNUSED_CE 0xCE
|
||||
#define MB_UNUSED_CF 0xCF
|
||||
#define MB_MUDDY_SLOPE 0xD0
|
||||
#define MB_BUMPY_SLOPE 0xD1
|
||||
#define MB_CRACKED_FLOOR 0xD2
|
||||
@@ -164,6 +216,15 @@
|
||||
#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4
|
||||
#define MB_VERTICAL_RAIL 0xD5
|
||||
#define MB_HORIZONTAL_RAIL 0xD6
|
||||
#define MB_UNUSED_D7 0xD7
|
||||
#define MB_UNUSED_D8 0xD8
|
||||
#define MB_UNUSED_D9 0xD9
|
||||
#define MB_UNUSED_DA 0xDA
|
||||
#define MB_UNUSED_DB 0xDB
|
||||
#define MB_UNUSED_DC 0xDC
|
||||
#define MB_UNUSED_DD 0xDD
|
||||
#define MB_UNUSED_DE 0xDE
|
||||
#define MB_UNUSED_DF 0xDF
|
||||
#define MB_PICTURE_BOOK_SHELF 0xE0
|
||||
#define MB_BOOKSHELF 0xE1
|
||||
#define MB_POKEMON_CENTER_BOOKSHELF 0xE2
|
||||
@@ -175,5 +236,10 @@
|
||||
#define MB_WIRELESS_BOX_RESULTS 0xE8
|
||||
#define MB_TRAINER_HILL_TIMER 0xE9
|
||||
#define MB_UNKNOWN_CLOSED_DOOR 0xEA
|
||||
#define MB_UNUSED_EB 0xEB
|
||||
#define MB_UNUSED_EC 0xEC
|
||||
#define MB_UNUSED_ED 0xED
|
||||
#define MB_UNUSED_EE 0xEE
|
||||
#define MB_UNUSED_EF 0xEF
|
||||
|
||||
#endif // GUARD_METATILE_BEHAVIORS
|
||||
@@ -220,4 +220,6 @@
|
||||
#define MAPSEC_IN_GAME_TRADE 0xFE
|
||||
#define MAPSEC_FATEFUL_ENCOUNTER 0xFF
|
||||
|
||||
#define MAPSEC_SUBTRACT_KANTO (MAPSEC_SPECIAL_AREA - MAPSEC_DYNAMIC)
|
||||
|
||||
#endif //GUARD_REGIONMAPSEC_H
|
||||
|
||||
@@ -8,6 +8,7 @@ enum
|
||||
CONTEST_CATEGORY_CUTE,
|
||||
CONTEST_CATEGORY_SMART,
|
||||
CONTEST_CATEGORY_TOUGH,
|
||||
CONTEST_CATEGORIES_COUNT,
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -238,14 +239,13 @@ struct Shared18000
|
||||
|
||||
struct ContestStruct_field_18
|
||||
{
|
||||
// unknown size
|
||||
u16 field_0;
|
||||
u16 field_2;
|
||||
u16 field_4;
|
||||
u16 field_6;
|
||||
u32 field_8;
|
||||
u32 field_C;
|
||||
u32 field_10;
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
u8 unk4_0:1;
|
||||
u8 unk5;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
};
|
||||
|
||||
struct Contest
|
||||
@@ -410,6 +410,7 @@ extern struct ContestResources *gContestResources;
|
||||
#define eContestAI (gContestResources->field_C)
|
||||
#define shared19328 (*gContestResources->field_10)
|
||||
#define shared19338 (*gContestResources->field_14)
|
||||
#define shared19348 (*gContestResources->field_18)
|
||||
|
||||
#define shared15800 (gHeap + 0x18000)
|
||||
#define shared18000 (*(struct Shared18000 *)(gHeap + 0x1a000))
|
||||
|
||||
@@ -89,10 +89,10 @@ u8 GetEventObjectIdByXY(s16, s16);
|
||||
void SetEventObjectDirection(struct EventObject *, u8);
|
||||
u8 GetFirstInactiveEventObjectId(void);
|
||||
void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
|
||||
void npc_load_two_palettes__no_record(u16, u8);
|
||||
void npc_load_two_palettes__and_record(u16, u8);
|
||||
void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void sub_808EBA8(u8, u8, u8, s16, s16);
|
||||
void pal_patch_for_npc(u16, u8);
|
||||
void PatchObjectPalette(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
@@ -113,7 +113,7 @@ void EventObjectTurn(struct EventObject *, u8);
|
||||
void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8);
|
||||
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
|
||||
void gpu_pal_allocator_reset__manage_upper_four(void);
|
||||
void FreeAndReserveObjectSpritePalettes(void);
|
||||
void sub_808E82C(u8, u8, u8, s16, s16);
|
||||
void sub_808E7E4(u8, u8, u8);
|
||||
void sub_808E78C(u8, u8, u8, u8);
|
||||
@@ -122,6 +122,7 @@ void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId,
|
||||
void ShiftEventObjectCoords(struct EventObject *, s16, s16);
|
||||
void sub_808EB08(struct EventObject *, s16, s16);
|
||||
void sub_808F254(u8, u8, u8);
|
||||
void InitEventObjectPalettes(u8 palSlot);
|
||||
void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *));
|
||||
u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
|
||||
u8 GetOppositeDirection(u8);
|
||||
|
||||
@@ -236,4 +236,6 @@ void sub_80B9CDC(s16*, u8);
|
||||
void sub_80B7CAC(struct Sprite*);
|
||||
void sub_80B7A58(struct Sprite*);
|
||||
|
||||
void MultiplyPaletteRGBComponents(u16 i, u8 r, u8 g, u8 b);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
#ifndef GUARD_FIELDMAP_H
|
||||
#define GUARD_FIELDMAP_H
|
||||
|
||||
#define NUM_TILES_IN_PRIMARY 512
|
||||
#define NUM_TILES_TOTAL 1024
|
||||
#define NUM_METATILES_IN_PRIMARY 512
|
||||
#define NUM_METATILES_TOTAL 1024
|
||||
#define NUM_PALS_IN_PRIMARY 6
|
||||
#define NUM_PALS_TOTAL 13
|
||||
|
||||
extern struct BackupMapLayout gUnknown_03005DC0;
|
||||
|
||||
u32 MapGridGetMetatileIdAt(int, int);
|
||||
|
||||
@@ -61,6 +61,9 @@
|
||||
#define TILE_SIZE_4BPP 32
|
||||
#define TILE_SIZE_8BPP 64
|
||||
|
||||
#define TILE_OFFSET_4BPP(n) ((n) * TILE_SIZE_4BPP)
|
||||
#define TILE_OFFSET_8BPP(n) ((n) * TILE_SIZE_8BPP)
|
||||
|
||||
#define TOTAL_OBJ_TILE_COUNT 1024
|
||||
|
||||
#define WIN_RANGE(a, b) (((a) << 8) | (b))
|
||||
|
||||
@@ -574,8 +574,6 @@
|
||||
#define WINOUT_WINOBJ_OBJ (1 << 12)
|
||||
#define WINOUT_WINOBJ_CLR (1 << 13)
|
||||
|
||||
#define WINHV_COORDS(m, n) (((m) << 8) | (n))
|
||||
|
||||
// BLDCNT
|
||||
// Bits 0-5 select layers for the 1st target
|
||||
#define BLDCNT_TGT1_BG0 (1 << 0)
|
||||
|
||||
@@ -368,7 +368,7 @@ extern const u8 gNoiseTable[];
|
||||
|
||||
extern const struct PokemonCrySong gPokemonCrySongTemplate;
|
||||
|
||||
extern const struct ToneData voicegroup_pokemon_cry;
|
||||
extern const struct ToneData voicegroup000;
|
||||
|
||||
extern char gNumMusicPlayers[];
|
||||
extern char gMaxLines[];
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
#ifndef GUARD_GLOBAL_BERRY_H
|
||||
#define GUARD_GLOBAL_BERRY_H
|
||||
|
||||
#define BERRY_NAME_COUNT 7
|
||||
#define BERRY_NAME_LENGTH 6
|
||||
#define BERRY_ITEM_EFFECT_COUNT 18
|
||||
|
||||
struct Berry
|
||||
{
|
||||
const u8 name[BERRY_NAME_COUNT];
|
||||
const u8 name[BERRY_NAME_LENGTH + 1];
|
||||
u8 firmness;
|
||||
u16 size;
|
||||
u8 maxYield;
|
||||
@@ -26,7 +26,7 @@ struct Berry
|
||||
|
||||
struct Berry2
|
||||
{
|
||||
u8 name[BERRY_NAME_COUNT];
|
||||
u8 name[BERRY_NAME_LENGTH + 1];
|
||||
u8 firmness;
|
||||
u16 size;
|
||||
u8 maxYield;
|
||||
@@ -53,7 +53,7 @@ struct EnigmaBerry
|
||||
|
||||
struct BattleEnigmaBerry
|
||||
{
|
||||
/*0x00*/ u8 name[BERRY_NAME_COUNT];
|
||||
/*0x00*/ u8 name[BERRY_NAME_LENGTH + 1];
|
||||
/*0x07*/ u8 holdEffect;
|
||||
/*0x08*/ u8 itemEffect[BERRY_ITEM_EFFECT_COUNT];
|
||||
/*0x1A*/ u8 holdEffectParam;
|
||||
|
||||
@@ -57,8 +57,6 @@
|
||||
#define PARTY_SIZE 6
|
||||
|
||||
#define POKEMON_SLOTS_NUMBER 412
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define OT_NAME_LENGTH 7
|
||||
|
||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||
@@ -88,6 +86,11 @@ extern u8 gStringVar4[];
|
||||
#define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24))
|
||||
#define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr)
|
||||
|
||||
// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen.
|
||||
// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen.
|
||||
// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------".
|
||||
// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh".
|
||||
// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string.
|
||||
enum
|
||||
{
|
||||
VERSION_SAPPHIRE = 1,
|
||||
@@ -95,6 +98,12 @@ enum
|
||||
VERSION_EMERALD = 3,
|
||||
VERSION_FIRE_RED = 4,
|
||||
VERSION_LEAF_GREEN = 5,
|
||||
VERSION_HEART_GOLD = 7,
|
||||
VERSION_SOUL_SILVER = 8,
|
||||
VERSION_DIAMOND = 10,
|
||||
VERSION_PEARL = 11,
|
||||
VERSION_PLATINUM = 12,
|
||||
VERSION_GAMECUBE = 15,
|
||||
};
|
||||
|
||||
enum LanguageId
|
||||
@@ -134,8 +143,7 @@ enum LanguageId
|
||||
// string lengths
|
||||
#define ITEM_NAME_LENGTH 14
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define OT_NAME_LENGTH 7
|
||||
#define PLAYER_NAME_LENGTH 8
|
||||
#define PLAYER_NAME_LENGTH 7
|
||||
#define MAIL_WORDS_COUNT 9
|
||||
|
||||
enum
|
||||
@@ -326,7 +334,7 @@ struct EmeraldBattleTowerRecord
|
||||
/*0x00*/ u8 battleTowerLevelType; // 0 = level 50, 1 = level 100
|
||||
/*0x01*/ u8 trainerClass;
|
||||
/*0x02*/ u16 winStreak;
|
||||
/*0x04*/ u8 name[8];
|
||||
/*0x04*/ u8 name[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x0C*/ u8 trainerId[4];
|
||||
/*0x10*/ struct {
|
||||
u16 easyChat[6];
|
||||
@@ -347,7 +355,9 @@ struct FrontierMonData
|
||||
struct Struct_field_E70
|
||||
{
|
||||
u16 monId;
|
||||
u8 unk2[9];
|
||||
u32 personality;
|
||||
u8 ivs;
|
||||
u8 abilityBit;
|
||||
};
|
||||
|
||||
struct BattleDomeTrainer
|
||||
@@ -416,9 +426,7 @@ struct BattleFrontier
|
||||
/*0xDD8*/ u16 field_DD8;
|
||||
/*0xDDA*/ u16 field_DDA[2];
|
||||
/*0xDDE*/ u16 field_DDE[2];
|
||||
/*0xDE2*/ u16 field_DE2[2];
|
||||
/*0xDE6*/ u16 field_DE6;
|
||||
/*0xDE8*/ u16 field_DE8;
|
||||
/*0xDE2*/ u16 field_DE2[2][2];
|
||||
/*0xDEA*/ u16 field_DEA[2];
|
||||
/*0xDEE*/ u16 field_DEE;
|
||||
/*0xDF0*/ u16 field_DF0;
|
||||
@@ -450,7 +458,7 @@ struct BattleFrontier
|
||||
/*0xEBF*/ u8 field_EBF;
|
||||
/*0xEC0*/ u16 field_EC0[16];
|
||||
/*0xEE0*/ u8 field_EE0;
|
||||
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH];
|
||||
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH + 1];
|
||||
/*0xEF1*/ u8 field_EF1[2][4];
|
||||
/*0xEF9*/ u8 field_EF9;
|
||||
/*0xEFA*/ u8 field_EFA;
|
||||
@@ -460,7 +468,7 @@ struct BattleFrontier
|
||||
|
||||
struct SaveBlock2
|
||||
{
|
||||
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH];
|
||||
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x08*/ u8 playerGender; // MALE, FEMALE
|
||||
/*0x09*/ u8 specialSaveWarp;
|
||||
/*0x0A*/ u8 playerTrainerId[4];
|
||||
@@ -516,7 +524,7 @@ struct SecretBaseRecord
|
||||
/*0x1A9D*/ u8 gender:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_5:1;
|
||||
/*0x1A9D*/ u8 sbr_field_1_6:2;
|
||||
/*0x1A9E*/ u8 trainerName[OT_NAME_LENGTH];
|
||||
/*0x1A9E*/ u8 trainerName[PLAYER_NAME_LENGTH];
|
||||
/*0x1AA5*/ u8 trainerId[4]; // byte 0 is used for determining trainer class
|
||||
/*0x1AA9*/ u8 language;
|
||||
/*0x1AAA*/ u16 sbr_field_e;
|
||||
@@ -602,7 +610,7 @@ struct EasyChatPair
|
||||
struct MailStruct
|
||||
{
|
||||
/*0x00*/ u16 words[MAIL_WORDS_COUNT];
|
||||
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH];
|
||||
/*0x12*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x1A*/ u8 trainerId[4];
|
||||
/*0x1E*/ u16 species;
|
||||
/*0x20*/ u16 itemId;
|
||||
@@ -691,7 +699,7 @@ struct RecordMixing_UnknownStruct
|
||||
|
||||
struct LinkBattleRecord
|
||||
{
|
||||
u8 name[8];
|
||||
u8 name[PLAYER_NAME_LENGTH + 1];
|
||||
u16 trainerId;
|
||||
u16 wins;
|
||||
u16 losses;
|
||||
@@ -724,15 +732,15 @@ struct ContestWinner
|
||||
u32 trainerId;
|
||||
u16 species;
|
||||
u8 contestCategory;
|
||||
u8 monName[11];
|
||||
u8 trainerName[8];
|
||||
u8 monName[POKEMON_NAME_LENGTH + 1];
|
||||
u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
u8 contestRank;
|
||||
};
|
||||
|
||||
struct DayCareMail
|
||||
{
|
||||
struct MailStruct message;
|
||||
u8 OT_name[OT_NAME_LENGTH + 1];
|
||||
u8 OT_name[PLAYER_NAME_LENGTH + 1];
|
||||
u8 monName[POKEMON_NAME_LENGTH + 1];
|
||||
u8 gameLanguage:4;
|
||||
u8 monLanguage:4;
|
||||
@@ -773,7 +781,7 @@ struct LilycoveLadyQuiz
|
||||
/*0x002*/ u16 unk_002[9];
|
||||
/*0x014*/ u16 unk_014;
|
||||
/*0x016*/ u16 unk_016;
|
||||
/*0x018*/ u8 playerName[8];
|
||||
/*0x018*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x020*/ u16 playerTrainerId[4];
|
||||
/*0x028*/ u16 itemId;
|
||||
/*0x02a*/ u8 unk_02a;
|
||||
@@ -788,7 +796,7 @@ struct LilycoveLadyFavour
|
||||
/*0x001*/ u8 phase;
|
||||
/*0x002*/ u8 unk_002;
|
||||
/*0x003*/ u8 unk_003;
|
||||
/*0x004*/ u8 playerName[8];
|
||||
/*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x00c*/ u8 unk_00c;
|
||||
/*0x00e*/ u16 itemId;
|
||||
/*0x010*/ u16 unk_010;
|
||||
@@ -801,7 +809,7 @@ struct LilycoveLadyContest
|
||||
/*0x001*/ u8 phase;
|
||||
/*0x002*/ u8 fave_pkblk;
|
||||
/*0x003*/ u8 other_pkblk;
|
||||
/*0x004*/ u8 playerName[8];
|
||||
/*0x004*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
/*0x00c*/ u8 max_sheen;
|
||||
/*0x00d*/ u8 category;
|
||||
/*0x00e*/ u8 language;
|
||||
@@ -828,7 +836,7 @@ struct WaldaPhrase
|
||||
|
||||
struct UnkSaveSubstruct_3b98 {
|
||||
u32 trainerId;
|
||||
u8 trainerName[8];
|
||||
u8 trainerName[PLAYER_NAME_LENGTH + 1];
|
||||
};
|
||||
|
||||
struct SaveBlock1
|
||||
|
||||
@@ -2,6 +2,6 @@
|
||||
#define GUARD_MAIN_MENU_H
|
||||
|
||||
void CB2_InitMainMenu(void);
|
||||
void sub_80323CC(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f);
|
||||
void CreateYesNoMenuParameterized(u8 a, u8 b, u16 c, u16 d, u8 e, u8 f);
|
||||
|
||||
#endif // GUARD_MAIN_MENU_H
|
||||
|
||||
@@ -22,12 +22,12 @@ extern const u16 gUnknown_0860F074[];
|
||||
|
||||
void sub_81971D0(void);
|
||||
void sub_8197200(void);
|
||||
u16 sub_8197224(void);
|
||||
u16 RunTextPrintersAndIsPrinter0Active(void);
|
||||
void sub_81973A4(void);
|
||||
void NewMenuHelpers_DrawDialogueFrame(u8, u8);
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram);
|
||||
void NewMenuHelpers_DrawStdWindowFrame(u8, u8);
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 fgColor, u8 bgColor, u8 shadowColor);
|
||||
void PrintPlayerNameOnWindow(u8, const u8*, u16, u16);
|
||||
void DisplayItemMessageOnField(u8 taskId, const u8 *src, TaskFunc callback);
|
||||
void sub_8197434(u8 windowId, bool8 copyToVram);
|
||||
@@ -35,9 +35,8 @@ void SetStandardWindowBorderStyle(u8 a0, u8 a1);
|
||||
void sub_8197930(void);
|
||||
u8 GetPlayerTextSpeed(void);
|
||||
void sub_81978B0(u16 arg0);
|
||||
|
||||
void AddTextPrinterWithCallbackForMessage(bool8 a1, void (*callback)(struct TextSubPrinter *, u16));
|
||||
void box_print(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
|
||||
void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 left, u8 top, const u8 *color, s8 speed, const u8 *str);
|
||||
void sub_8198070(u8 windowId, bool8 copyToVram);
|
||||
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
|
||||
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);
|
||||
@@ -58,7 +57,7 @@ s8 Menu_ProcessInputNoWrap_(void);
|
||||
s8 ProcessMenuInput_other(void);
|
||||
void do_scheduled_bg_tilemap_copies_to_vram(void);
|
||||
void clear_scheduled_bg_copies_to_vram(void);
|
||||
void AddTextPrinterParameterized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str);
|
||||
void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str);
|
||||
void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u8 a3);
|
||||
void sub_81995E4(u8 windowId, u8 optionsNo, const struct MenuAction *actions, const u8 *actionIds);
|
||||
void sub_8197DF8(u8 windowId, bool8 copyToVram);
|
||||
@@ -84,8 +83,9 @@ void sub_819A344(u8 a0, u8 *dest, u8 color);
|
||||
void RemoveMapNamePopUpWindow(void);
|
||||
u8 GetMapNamePopUpWindowId(void);
|
||||
u8 AddMapNamePopUpWindow(void);
|
||||
void sub_8199F74(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing);
|
||||
void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left, u8 top, u8 speed, void (*callback)(struct TextSubPrinter *, u16), u8 letterSpacing, u8 lineSpacing);
|
||||
void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette);
|
||||
void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP);
|
||||
void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
@@ -25,7 +25,7 @@ bool8 MetatileBehavior_IsWestArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsNorthArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsSouthArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsArrowWarp(u8);
|
||||
bool8 MetatileBehavior_IsMoveTile(u8);
|
||||
bool8 MetatileBehavior_IsForcedMovementTile(u8);
|
||||
bool8 MetatileBehavior_IsIce_2(u8);
|
||||
bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8);
|
||||
bool8 MetatileBehavior_IsMB_05(u8);
|
||||
@@ -45,43 +45,43 @@ bool8 MetatileBehavior_IsCounter(u8);
|
||||
bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir);
|
||||
bool8 MetatileBehavior_IsPC(u8);
|
||||
bool8 MetatileBehavior_IsCableBoxResults1(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseOpen(u8);
|
||||
bool8 MetatileBehavior_IsOpenSecretBaseDoor(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseCave(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseTree(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseShrub(u8);
|
||||
bool8 MetatileBehavior_IsSecretBasePC(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseRegisterPC(u8);
|
||||
bool8 MetatileBehavior_IsMB_B2(u8);
|
||||
bool8 MetatileBehavior_IsMB_B3(u8);
|
||||
bool8 MetatileBehavior_IsMB_B9(u8);
|
||||
bool8 MetatileBehavior_IsBlockDecoration(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseImpassable(u8);
|
||||
bool8 MetatileBehavior_IsMB_C6(u8);
|
||||
bool8 MetatileBehavior_IsSecretBasePoster(u8);
|
||||
bool8 MetatileBehavior_IsNormal(u8);
|
||||
bool8 MetatileBehavior_IsMB_B7(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseNorthWall(u8);
|
||||
bool8 MetatileBehavior_IsMB_B2_Duplicate(u8);
|
||||
bool8 MetatileBehavior_IsMB_B5(u8);
|
||||
bool8 MetatileBehavior_IsMB_C3(u8);
|
||||
bool8 MetatileBehavior_IsMB_C2(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseLargeMatEdge(u8);
|
||||
bool8 MetatileBehavior_IsLargeMatCenter(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseHole(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseBalloon(u8);
|
||||
bool8 MetatileBehavior_IsMB_BE(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseBreakableDoor(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSoundMat(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseGlitterMat(u8);
|
||||
bool8 MetatileBehavior_IsMB_BF(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseTvOrShield(u8);
|
||||
bool8 MetatileBehavior_IsMB_C5(u8);
|
||||
bool8 MetatileBehavior_IsPlayerRoomPCOn(u8);
|
||||
bool8 MetatileBehavior_HasRipples(u8);
|
||||
bool8 MetatileBehavior_IsPuddle(u8);
|
||||
bool8 MetatileBehavior_IsTallGrass(u8);
|
||||
bool8 MetatileBehavior_IsLongGrass(u8);
|
||||
bool8 MetatileBehavior_IsBerryTreeSoil(u8);
|
||||
bool8 MetatileBehavior_IsAshGrass(u8);
|
||||
bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8);
|
||||
bool8 MetatileBehavior_IsFootprints(u8);
|
||||
bool8 MetatileBehavior_IsBridge(u8);
|
||||
u8 MetatileBehavior_GetBridgeSth(u8);
|
||||
u8 MetatileBehavior_8089510(u8);
|
||||
bool8 MetatileBehavior_IsLandWildEncounter(u8);
|
||||
bool8 MetatileBehavior_IsWaterWildEncounter(u8);
|
||||
bool8 MetatileBehavior_IsMB_0B(u8);
|
||||
bool8 MetatileBehavior_IsIndoorEncounter(u8);
|
||||
bool8 MetatileBehavior_IsMountain(u8);
|
||||
bool8 MetatileBehavior_IsDiveable(u8);
|
||||
bool8 MetatileBehavior_IsUnableToEmerge(u8);
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#ifndef GUARD_OVERWORLD_H
|
||||
#define GUARD_OVERWORLD_H
|
||||
|
||||
struct UnkPlayerStruct
|
||||
struct InitialPlayerAvatarState
|
||||
{
|
||||
u8 player_field_0;
|
||||
u8 player_field_1;
|
||||
u8 transitionFlags;
|
||||
u8 direction;
|
||||
};
|
||||
|
||||
struct LinkPlayerEventObject
|
||||
@@ -16,7 +16,7 @@ struct LinkPlayerEventObject
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
extern struct WarpData gUnknown_020322DC;
|
||||
extern struct WarpData gLastUsedWarp;
|
||||
extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
|
||||
|
||||
extern u16 *gBGTilemapBuffers1;
|
||||
@@ -26,7 +26,7 @@ extern u16 *gBGTilemapBuffers3;
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
// Exported ROM declarations
|
||||
extern const struct UCoords32 gUnknown_08339D64[];
|
||||
extern const struct UCoords32 gDirectionToVectors[];
|
||||
|
||||
void DoWhiteOut(void);
|
||||
void Overworld_ResetStateAfterFly(void);
|
||||
@@ -45,13 +45,13 @@ const struct MapLayout *GetMapLayout(void);
|
||||
void ApplyCurrentWarp(void);
|
||||
void set_warp2_warp3_to_neg_1(void);
|
||||
void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
bool32 warp_data_is_not_neg_1(struct WarpData *warp);
|
||||
bool32 IsDummyWarp(struct WarpData *warp);
|
||||
struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum);
|
||||
struct MapHeader const *const warp1_get_mapheader(void);
|
||||
void set_current_map_header_from_sav1_save_old_name(void);
|
||||
struct MapHeader const *const GetDestinationWarpMapHeader(void);
|
||||
void LoadCurrentMapData(void);
|
||||
void LoadSaveblockMapHeader(void);
|
||||
void update_camera_pos_from_warpid(void);
|
||||
void warp_in(void);
|
||||
void SetPlayerCoordsFromWarp(void);
|
||||
void WarpIntoMap(void);
|
||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
void saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId);
|
||||
@@ -63,21 +63,21 @@ void Overworld_SetHealLocationWarp(u8 healLocationId);
|
||||
void sub_8084D5C(s16 a1, s16 a2);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E14(void);
|
||||
void sub_8084E2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void warp1_set_to_warp2(void);
|
||||
void sub_8084E80(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084EBC(s16 x, s16 y);
|
||||
void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetFixedDiveWarpAsDestination(void);
|
||||
void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void SetFixedHoleWarpAsDestination(s16 x, s16 y);
|
||||
void warp1_set_to_sav1w(void);
|
||||
void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084F6C(u8 a1);
|
||||
void sub_8084FAC(void);
|
||||
const struct MapConnection *GetMapConnection(u8 dir);
|
||||
bool8 sub_8084FF8(u8 dir, u16 x, u16 y);
|
||||
bool8 sub_8085058(u16 x, u16 y);
|
||||
bool8 sub_8085078(u16 x, u16 y);
|
||||
bool8 SetDiveWarp(u8 dir, u16 x, u16 y);
|
||||
bool8 SetDiveWarpEmerge(u16 x, u16 y);
|
||||
bool8 SetDiveWarpDive(u16 x, u16 y);
|
||||
void mliX_load_map(u8 mapGroup, u8 mapNum);
|
||||
void player_avatar_init_params_reset(void);
|
||||
void walkrun_find_lowest_active_bit_in_bitfield(void);
|
||||
void ResetInitialPlayerAvatarState(void);
|
||||
void StoreInitialPlayerAvatarState(void);
|
||||
bool32 Overworld_IsBikingAllowed(void);
|
||||
void SetDefaultFlashLevel(void);
|
||||
void Overworld_SetFlashLevel(s32 flashLevel);
|
||||
@@ -96,7 +96,7 @@ void Overworld_ChangeMusicToDefault(void);
|
||||
void Overworld_ChangeMusicTo(u16 newMusic);
|
||||
u8 GetMapMusicFadeoutSpeed(void);
|
||||
void music_something(void);
|
||||
bool8 sub_80859A0(void);
|
||||
bool8 BGMusicStopped(void);
|
||||
void Overworld_FadeOutMapMusic(void);
|
||||
void UpdateAmbientCry(s16 *state, u16 *delayCounter);
|
||||
u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum);
|
||||
|
||||
@@ -58,7 +58,18 @@ void sub_81B8904(u8 arg0, void (*callback)(void));
|
||||
void OpenPartyMenuInBattle(u8 caseId);
|
||||
u16 ItemIdToBattleMoveId(u16 itemId);
|
||||
u8 sub_81B205C(struct Pokemon* a);
|
||||
void sub_81B617C(void);
|
||||
u8 sub_81B6D14(u16 a);
|
||||
bool8 hm_add_c3_without_phase_2(void);
|
||||
|
||||
extern void dp05_ether(u8, u16, TaskFunc);
|
||||
extern void dp05_pp_up(u8, u16, TaskFunc);
|
||||
extern void dp05_rare_candy(u8, u16, TaskFunc);
|
||||
|
||||
extern void sub_81B67C8(u8, u16, TaskFunc);
|
||||
extern void sub_81B79E8(u8, u16, TaskFunc);
|
||||
extern void sub_81B6DC4(u8, u16, TaskFunc);
|
||||
extern void sub_81B7C74(u8, u16, TaskFunc);
|
||||
extern u16 ItemIdToBattleMoveId(u16);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
|
||||
@@ -24,10 +24,10 @@ extern const struct SpriteTemplate gBallSpriteTemplates[];
|
||||
#define POKEBALL_OPPONENT_SENDOUT 0xFE
|
||||
|
||||
u8 DoPokeballSendOutAnimation(s16 pan, u8 kindOfThrow);
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 bank, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
|
||||
void CreatePokeballSpriteToReleaseMon(u8 monSpriteId, u8 battler, u8 x, u8 y, u8 oamPriority, u8 subpriortiy, u8 g, u32 h, u16 species);
|
||||
u8 sub_807671C(u8 a, u8 b, u8 x, u8 y, u8 oamPriority, u8 subPriority, u8 g, u32 h);
|
||||
void sub_8076918(u8 bank);
|
||||
void DoHitAnimHealthboxEffect(u8 bank);
|
||||
void sub_8076918(u8 battler);
|
||||
void DoHitAnimHealthboxEffect(u8 battler);
|
||||
void LoadBallGfx(u8 ballId);
|
||||
void FreeBallGfx(u8 ballId);
|
||||
|
||||
|
||||
@@ -205,7 +205,7 @@ struct BoxPokemon
|
||||
u8 hasSpecies:1;
|
||||
u8 isEgg:1;
|
||||
u8 unused:5;
|
||||
u8 otName[OT_NAME_LENGTH];
|
||||
u8 otName[PLAYER_NAME_LENGTH];
|
||||
u8 markings;
|
||||
u16 checksum;
|
||||
u16 unknown;
|
||||
@@ -268,12 +268,12 @@ struct UnknownPokemonStruct3
|
||||
|
||||
struct Unknown_806F160_Struct
|
||||
{
|
||||
u8 field_0_0 : 4;
|
||||
u8 field_0_1 : 4;
|
||||
u8 field_0_0:4;
|
||||
u8 field_0_1:4;
|
||||
u8 field_1;
|
||||
u8 magic;
|
||||
u8 field_3_0 : 4;
|
||||
u8 field_3_1 : 4;
|
||||
u8 field_3_0:4;
|
||||
u8 field_3_1:4;
|
||||
void *bytes;
|
||||
u8 **byteArrays;
|
||||
struct SpriteTemplate *templates;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GUARD_POKEMON_SUMMARY_SCREEN_H
|
||||
#define GUARD_POKEMON_SUMMARY_SCREEN_H
|
||||
|
||||
void ShowPokemonSummaryScreen(u8 mode, void *mons, u8 monIndex, u8 maxMonIndex, void (*callback)(void));
|
||||
void sub_81C4F98(u8, void(*)(void));
|
||||
void ShowSelectMovePokemonSummaryScreen(struct Pokemon *, u8, u8, MainCallback, u16);
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ struct UnkRecordMixingStruct2a
|
||||
{
|
||||
u8 playerId[4];
|
||||
u16 field_4;
|
||||
u8 playerName[PLAYER_NAME_LENGTH];
|
||||
u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
u8 language;
|
||||
};
|
||||
|
||||
@@ -15,8 +15,8 @@ struct UnkRecordMixingStruct2b
|
||||
u8 playerId1[4];
|
||||
u8 playerId2[4];
|
||||
u16 field_8;
|
||||
u8 playerName1[PLAYER_NAME_LENGTH];
|
||||
u8 playerName2[PLAYER_NAME_LENGTH];
|
||||
u8 playerName1[PLAYER_NAME_LENGTH + 1];
|
||||
u8 playerName2[PLAYER_NAME_LENGTH + 1];
|
||||
u8 language;
|
||||
};
|
||||
|
||||
|
||||
@@ -21,6 +21,6 @@ bool32 sub_8034D14(u32 id, s32 arg1, const struct UnkStruct3 *arg2);
|
||||
void sub_8035044(u32 id, s32 arg1);
|
||||
void sub_80353DC(u32 id);
|
||||
void sub_803547C(u32 id, bool32 arg1);
|
||||
u8 sub_80355F8(u32 arg0, u32 arg1);
|
||||
u8 sub_80355F8(u32 shape, u32 size);
|
||||
|
||||
#endif // GUARD_ROM_8034C54_H
|
||||
|
||||
33
include/rom_81520A8.h
Normal file
33
include/rom_81520A8.h
Normal file
@@ -0,0 +1,33 @@
|
||||
#ifndef GUARD_ROM_81520A8_H
|
||||
#define GUARD_ROM_81520A8_H
|
||||
|
||||
struct UnkStruct_81520A8
|
||||
{
|
||||
struct OamData oam;
|
||||
s16 x;
|
||||
s16 y;
|
||||
s16 xDelta;
|
||||
s16 yDelta;
|
||||
u16 tileTag;
|
||||
u16 palTag;
|
||||
u16 tileNum;
|
||||
u8 id;
|
||||
u8 filler17; // Unused.
|
||||
u8 unk18;
|
||||
u8 unk19_0:1;
|
||||
u8 unk19_1:1;
|
||||
u8 unk19_2:1;
|
||||
u8 priority:2;
|
||||
s16 data[8];
|
||||
void (*callback)(struct UnkStruct_81520A8 *);
|
||||
};
|
||||
|
||||
bool32 sub_81521C0(u8 count);
|
||||
bool32 sub_8152254(void);
|
||||
bool32 sub_81522D4(void);
|
||||
u8 sub_8152438(u8 id, void (*func)(struct UnkStruct_81520A8 *));
|
||||
u8 sub_8152474(u8 id, u8 dataArrayId, s16 dataValue);
|
||||
u8 sub_81524C4(const struct OamData *oam, u16 tileTag, u16 palTag, s16 x, s16 y, u8 arg5, u8 priority);
|
||||
u8 sub_81525D0(u8 id);
|
||||
|
||||
#endif // GUARD_ROM_81520A8_H
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_SAVE_H
|
||||
#define GUARD_SAVE_H
|
||||
|
||||
extern u16 gSaveFileStatus;
|
||||
|
||||
struct SaveSectionLocation
|
||||
{
|
||||
void *data;
|
||||
@@ -58,6 +56,20 @@ enum
|
||||
|
||||
#define SECTION_ID_RECORDED_BATTLE 31
|
||||
|
||||
extern u16 gLastWrittenSector;
|
||||
extern u32 gLastSaveCounter;
|
||||
extern u16 gLastKnownGoodSector;
|
||||
extern u32 gDamagedSaveSectors;
|
||||
extern u32 gSaveCounter;
|
||||
extern struct SaveSection *gFastSaveSection;
|
||||
extern u16 gUnknown_03006208;
|
||||
extern u16 gSaveFileStatus;
|
||||
extern void (*gGameContinueCallback)(void);
|
||||
extern struct SaveSectionLocation gRamSaveSectionLocations[];
|
||||
extern u16 gUnknown_03006294;
|
||||
|
||||
extern struct SaveSection gSaveDataBuffer;
|
||||
|
||||
void ClearSaveData(void);
|
||||
void Save_ResetSaveCounters(void);
|
||||
bool32 SetDamagedSectorBits(u8 op, u8 bit);
|
||||
|
||||
@@ -26,6 +26,8 @@ struct SpriteFrameImage
|
||||
|
||||
#define obj_frame_tiles(ptr) {.data = (u8 *)ptr, .size = sizeof ptr}
|
||||
|
||||
#define overworld_frame(ptr, width, height, frame) {.data = (u8 *)ptr + (width * height * frame * 64)/2, .size = (width * height * 64)/2}
|
||||
|
||||
struct SpritePalette
|
||||
{
|
||||
const u16 *data; // Raw uncompressed palette data
|
||||
@@ -158,6 +160,8 @@ struct SubspriteTable
|
||||
|
||||
struct Sprite;
|
||||
|
||||
typedef void (*SpriteCallback)(struct Sprite *);
|
||||
|
||||
struct SpriteTemplate
|
||||
{
|
||||
u16 tileTag;
|
||||
@@ -166,7 +170,7 @@ struct SpriteTemplate
|
||||
const union AnimCmd *const *anims;
|
||||
const struct SpriteFrameImage *images;
|
||||
const union AffineAnimCmd *const *affineAnims;
|
||||
void (*callback)(struct Sprite *);
|
||||
SpriteCallback callback;
|
||||
};
|
||||
|
||||
struct Sprite
|
||||
@@ -177,7 +181,7 @@ struct Sprite
|
||||
/*0x10*/ const union AffineAnimCmd *const *affineAnims;
|
||||
/*0x14*/ const struct SpriteTemplate *template;
|
||||
/*0x18*/ const struct SubspriteTable *subspriteTables;
|
||||
/*0x1C*/ void (*callback)(struct Sprite *);
|
||||
/*0x1C*/ SpriteCallback callback;
|
||||
|
||||
/*0x20*/ struct Coords16 pos1;
|
||||
/*0x24*/ struct Coords16 pos2;
|
||||
|
||||
@@ -223,7 +223,7 @@ u8 gGlyphDimensions[0x2];
|
||||
|
||||
void SetFontsPointer(const struct FontInfo *fonts);
|
||||
void DeactivateAllTextPrinters(void);
|
||||
u16 PrintTextOnWindow(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
|
||||
u16 AddTextPrinterParameterized(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
|
||||
bool16 AddTextPrinter(struct TextSubPrinter *textSubPrinter, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
|
||||
void RunTextPrinters(void);
|
||||
bool16 IsTextPrinterActive(u8 id);
|
||||
|
||||
Reference in New Issue
Block a user