Merge branch 'master' of github.com:pret/pokeemerald
This commit is contained in:
@@ -27,7 +27,9 @@
|
||||
#define BIT_SIDE 0x1
|
||||
#define BIT_MON 0x2
|
||||
|
||||
#define GET_BANK_IDENTITY(bank)((gBanksByIdentity[bank]))
|
||||
#define GET_BANK_SIDE(bank)((GetBankIdentity(bank) & BIT_SIDE))
|
||||
#define GET_BANK_SIDE2(bank)((GET_BANK_IDENTITY(bank) & BIT_SIDE))
|
||||
|
||||
#define BATTLE_TYPE_DOUBLE 0x0001
|
||||
#define BATTLE_TYPE_LINK 0x0002
|
||||
@@ -655,7 +657,9 @@ struct BattleStruct
|
||||
u8 field_1A1;
|
||||
bool8 overworldWeatherDone;
|
||||
u8 atkCancellerTracker;
|
||||
u8 field_1A4[240];
|
||||
u8 field_1A4[96];
|
||||
u8 field_204[104];
|
||||
u8 field_26C[40];
|
||||
u8 field_294[4];
|
||||
u8 field_298[8];
|
||||
u8 field_2A0;
|
||||
@@ -826,6 +830,7 @@ void LoadBattleTextboxAndBackground(void);
|
||||
void LoadBattleEntryBackground(void);
|
||||
void ApplyPlayerChosenFrameToBattleMenu(void);
|
||||
bool8 LoadChosenBattleElement(u8 caseId);
|
||||
void DrawMainBattleBackground(void);
|
||||
void task00_0800F6FC(u8 taskId);
|
||||
|
||||
// battle_5
|
||||
@@ -883,6 +888,19 @@ struct BattleSpriteInfo
|
||||
struct BattleAnimationInfo
|
||||
{
|
||||
u16 field; // to fill up later
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
u8 field_4;
|
||||
u8 field_5;
|
||||
u8 field_6;
|
||||
u8 field_7;
|
||||
u8 field_8;
|
||||
u8 field_9_x1 : 1;
|
||||
u8 field_9_x2 : 1;
|
||||
u8 field_9_x1C : 3;
|
||||
u8 field_9_x20 : 1;
|
||||
u8 field_9_x40 : 1;
|
||||
u8 field_9_x80 : 1;
|
||||
};
|
||||
|
||||
struct BattleHealthboxInfo
|
||||
@@ -890,6 +908,8 @@ struct BattleHealthboxInfo
|
||||
u8 flag_x1 : 1;
|
||||
u8 flag_x2 : 1;
|
||||
u8 flag_x4 : 1;
|
||||
u8 flag_x8 : 1;
|
||||
u8 flag_x10 : 1;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
@@ -903,15 +923,30 @@ struct BattleHealthboxInfo
|
||||
u8 field_B;
|
||||
};
|
||||
|
||||
struct BattleBarInfo
|
||||
{
|
||||
u8 healthboxSpriteId;
|
||||
s32 maxValue;
|
||||
s32 currentValue;
|
||||
s32 field_C;
|
||||
s32 field_10;
|
||||
};
|
||||
|
||||
struct BattleSpriteData
|
||||
{
|
||||
struct BattleSpriteInfo *bankData;
|
||||
struct BattleHealthboxInfo *healthBoxesData;
|
||||
struct BattleAnimationInfo *animationData;
|
||||
struct BattleBarInfo *battleBars;
|
||||
};
|
||||
|
||||
extern struct BattleSpriteData *gBattleSpritesDataPtr;
|
||||
|
||||
#define BATTLE_BUFFER_LINK_SIZE 0x1000
|
||||
|
||||
extern u8 *gLinkBattleSendBuffer;
|
||||
extern u8 *gLinkBattleRecvBuffer;
|
||||
|
||||
// Move this somewhere else
|
||||
|
||||
#include "sprite.h"
|
||||
@@ -921,6 +956,8 @@ struct MonSpritesGfx
|
||||
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
|
||||
void* sprites[4];
|
||||
struct SpriteTemplate templates[4];
|
||||
u8 field_74[0x100];
|
||||
u8 *fontPixels;
|
||||
};
|
||||
|
||||
extern struct BattleSpritesGfx* gMonSpritesGfx;
|
||||
|
||||
@@ -17,6 +17,8 @@ void RunBattleScriptCommands_PopCallbacksStack(void);
|
||||
void RunBattleScriptCommands(void);
|
||||
u32 sub_80397C4(u32 setId, u32 tableId);
|
||||
void sub_8039E9C(struct Sprite *sprite);
|
||||
void nullsub_20(void);
|
||||
void BeginBattleIntro(void);
|
||||
|
||||
extern const u8 gStatusConditionString_PoisonJpn[8];
|
||||
extern const u8 gStatusConditionString_SleepJpn[8];
|
||||
|
||||
79
include/battle_anim.h
Normal file
79
include/battle_anim.h
Normal file
@@ -0,0 +1,79 @@
|
||||
#ifndef GUARD_BATTLE_ANIM_H
|
||||
#define GUARD_BATTLE_ANIM_H
|
||||
|
||||
enum
|
||||
{
|
||||
ANIM_BANK_ATTACKER,
|
||||
ANIM_BANK_TARGET,
|
||||
ANIM_BANK_ATK_PARTNER,
|
||||
ANIM_BANK_DEF_PARTNER,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
BG_ANIM_SCREEN_SIZE,
|
||||
BG_ANIM_AREA_OVERFLOW_MODE,
|
||||
BG_ANIM2,
|
||||
BG_ANIM3,
|
||||
BG_ANIM_PRIORITY,
|
||||
BG_ANIM_5,
|
||||
BG_ANIM_6
|
||||
};
|
||||
|
||||
struct UnknownAnimStruct2
|
||||
{
|
||||
void *unk0;
|
||||
u16 *unk4;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u16 unkA;
|
||||
u16 unkC;
|
||||
};
|
||||
|
||||
struct BattleAnimBackground
|
||||
{
|
||||
void *image;
|
||||
void *palette;
|
||||
void *tilemap;
|
||||
};
|
||||
|
||||
#define ANIM_ARGS_COUNT 8
|
||||
|
||||
#define PAN_SIDE_PLAYER -64
|
||||
#define PAN_SIDE_OPPONENT 63
|
||||
|
||||
extern void (*gAnimScriptCallback)(void);
|
||||
extern bool8 gAnimScriptActive;
|
||||
extern u8 gAnimVisualTaskCount;
|
||||
extern u8 gAnimSoundTaskCount;
|
||||
extern struct DisableStruct *gAnimDisableStructPtr;
|
||||
extern u32 gAnimMoveDmg;
|
||||
extern u16 gAnimMovePower;
|
||||
extern u8 gAnimFriendship;
|
||||
extern u16 gWeatherMoveAnim;
|
||||
extern s16 gBattleAnimArgs[ANIM_ARGS_COUNT];
|
||||
extern u8 gAnimMoveTurn;
|
||||
extern u8 gAnimBankAttacker;
|
||||
extern u8 gAnimBankTarget;
|
||||
extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT];
|
||||
extern u8 gUnknown_02038440;
|
||||
|
||||
void ClearBattleAnimationVars(void);
|
||||
void DoMoveAnim(u16 move);
|
||||
void DoBattleAnim(const u8 *const animsTable[], u16 tableId, bool8 isMoveAnim);
|
||||
void DestroyAnimSprite(struct Sprite *sprite);
|
||||
void DestroyAnimVisualTask(u8 taskId);
|
||||
void DestroyAnimSoundTask(u8 taskId);
|
||||
bool8 IsAnimBankSpriteVisible(u8 bank);
|
||||
void sub_80A438C(u8 bank, bool8 toBG_2, bool8 setSpriteInvisible);
|
||||
bool8 IsContest(void);
|
||||
s8 BattleAnimAdjustPanning(s8 pan);
|
||||
s8 BattleAnimAdjustPanning2(s8 pan);
|
||||
s16 sub_80A52EC(s16 a);
|
||||
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
|
||||
|
||||
// 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);
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
@@ -1,7 +0,0 @@
|
||||
#ifndef GUARD_BATTLE_CONTROLLER_PLAYER_H
|
||||
#define GUARD_BATTLE_CONTROLLER_PLAYER_H
|
||||
|
||||
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
|
||||
void ActionSelectionDestroyCursorAt(u8 cursorPos);
|
||||
|
||||
#endif // GUARD_BATTLE_CONTROLLER_PLAYER_H
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_BATTLE_CONTROLLERS_H
|
||||
#define GUARD_BATTLE_CONTROLLERS_H
|
||||
|
||||
#include "battle_controller_player.h"
|
||||
|
||||
#define REQUEST_ALL_BATTLE 0x0
|
||||
#define REQUEST_SPECIES_BATTLE 0x1
|
||||
#define REQUEST_HELDITEM_BATTLE 0x2
|
||||
@@ -48,44 +46,162 @@ struct ChooseMoveStruct
|
||||
u8 monType2;
|
||||
};
|
||||
|
||||
// rom3.s, emitters
|
||||
void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data);
|
||||
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct* disableStructPtr, u8 multihit);
|
||||
void EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
|
||||
void EmitEffectivenessSound(u8 bufferId, u16 songId);
|
||||
void EmitPlaySound(u8 bufferId, u16 songId, u8 arg2);
|
||||
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
|
||||
void EmitFaintAnimation(u8 bufferId);
|
||||
void Emit_x2A(u8 bufferId);
|
||||
void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
|
||||
void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
|
||||
void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
|
||||
void EmitReturnPokeToBall(u8 bufferId, u8 arg1);
|
||||
enum
|
||||
{
|
||||
CONTROLLER_GETMONDATA,
|
||||
CONTROLLER_GETRAWMONDATA,
|
||||
CONTROLLER_SETMONDATA,
|
||||
CONTROLLER_SETRAWMONDATA,
|
||||
CONTROLLER_LOADMONSPRITE,
|
||||
CONTROLLER_SWITCHINANIM,
|
||||
CONTROLLER_RETURNMONTOBALL,
|
||||
CONTROLLER_DRAWTRAINERPIC,
|
||||
CONTROLLER_TRAINERSLIDE,
|
||||
CONTROLLER_TRAINERSLIDEBACK,
|
||||
CONTROLLER_FAINTANIMATION,
|
||||
CONTROLLER_11,
|
||||
CONTROLLER_12,
|
||||
CONTROLLER_BALLTHROW,
|
||||
CONTROLLER_PAUSE,
|
||||
CONTROLLER_MOVEANIMATION,
|
||||
CONTROLLER_PRINTSTRING,
|
||||
CONTROLLER_PRINTSTRINGPLAYERONLY,
|
||||
CONTROLLER_CHOOSEACTION,
|
||||
CONTROLLER_19,
|
||||
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_33,
|
||||
CONTROLLER_34,
|
||||
CONTROLLER_35,
|
||||
CONTROLLER_36,
|
||||
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_49,
|
||||
CONTROLLER_50,
|
||||
CONTROLLER_SPRITEINVISIBILITY,
|
||||
CONTROLLER_BATTLEANIMATION,
|
||||
CONTROLLER_LINKSTANDBYMSG,
|
||||
CONTROLLER_RESETACTIONMOVESELECTION,
|
||||
CONTROLLER_55,
|
||||
CONTROLLER_56
|
||||
};
|
||||
|
||||
#define LAST_CONTROLLER_CMD_ID CONTROLLER_56 + 1
|
||||
|
||||
// general functions
|
||||
void HandleLinkBattleSetup(void);
|
||||
void SetUpBattleVarsAndBirchZigzagoon(void);
|
||||
void sub_8032768(void);
|
||||
void sub_8033648(void);
|
||||
void PrepareBufferDataTransferLink(u8 bufferId, u16 size, u8 *data);
|
||||
|
||||
// emitters
|
||||
void EmitGetMonData(u8 bufferId, u8 arg1, u8 arg2);
|
||||
void EmitGetRawMonData(u8 bufferId, u8 monId, u8 bytes); // unused
|
||||
void EmitSetMonData(u8 bufferId, u8 request, u8 c, u8 bytes, void *data);
|
||||
void EmitSetRawMonData(u8 bufferId, u8 monId, u8 bytes, void *data); // unused
|
||||
void EmitLoadMonSprite(u8 bufferId);
|
||||
void EmitSwitchInAnim(u8 bufferId, u8 partyId, bool8 dontClearSubstituteBit);
|
||||
void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4);
|
||||
void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2);
|
||||
void EmitReturnMonToBall(u8 bufferId, u8 arg1);
|
||||
void EmitDrawTrainerPic(u8 bufferId);
|
||||
void EmitTrainerSlide(u8 bufferId);
|
||||
void EmitTrainerSlideBack(u8 bufferId);
|
||||
void EmitFaintingCry(u8 bufferId);
|
||||
void Emit_x37(u8 bufferId, u8 arg1);
|
||||
void EmitFaintAnimation(u8 bufferId);
|
||||
void EmitCmd11(u8 bufferId); // unused
|
||||
void EmitCmd12(u8 bufferId); // unused
|
||||
void EmitBallThrow(u8 bufferId, u8 caseId);
|
||||
void EmitPause(u8 bufferId, u8 toWait, void *data); // unused
|
||||
void EmitMoveAnimation(u8 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit);
|
||||
void EmitPrintString(u8 bufferId, u16 stringId);
|
||||
void EmitPrintStringPlayerOnly(u8 bufferId, u16 stringId);
|
||||
void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitCmd19(u8 bufferId);
|
||||
void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData);
|
||||
void EmitOpenBag(u8 bufferId, u8* arg1);
|
||||
void EmitChoosePokemon(u8 bufferId, u8 caseId, u8 arg2, u8 abilityId, u8* arg4);
|
||||
void EmitCmd23(u8 bufferId); // unused
|
||||
void EmitHealthBarUpdate(u8 bufferId, u16 hpValue);
|
||||
void EmitExpUpdate(u8 bufferId, u8 partyId, u16 expPoints);
|
||||
void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2);
|
||||
void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
|
||||
void EmitStatusXor(u8 bufferId, u8 b); // unused
|
||||
void EmitDataTransfer(u8 bufferId, u16 size, void *data);
|
||||
void EmitDMA3Transfer(u8 bufferId, void *dst, u16 size, void *data); // unused
|
||||
void EmitPlayBGM(u8 bufferId, u16 songId, void *unusedDumbDataParameter); // unused
|
||||
void EmitCmd32(u8 bufferId, u16 size, void *c); // unused
|
||||
void EmitCmd33(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitCmd34(u8 bufferId, u8 b, u8 *c);
|
||||
void EmitCmd35(u8 bufferId, u16 b);
|
||||
void EmitCmd36(u8 bufferId, u16 b);
|
||||
void EmitCmd37(u8 bufferId);
|
||||
void EmitCmd38(u8 bufferId, u8 b);
|
||||
void EmitCmd39(u8 bufferId);
|
||||
void EmitCmd40(u8 bufferId);
|
||||
void EmitHitAnimation(u8 bufferId);
|
||||
void EmitCmd42(u8 bufferId);
|
||||
void EmitEffectivenessSound(u8 bufferId, u16 songId);
|
||||
void EmitPlayFanfareOrBGM(u8 bufferId, u16 songId, bool8 playBGM);
|
||||
void EmitFaintingCry(u8 bufferId);
|
||||
void EmitIntroSlide(u8 bufferId, u8 terrainId);
|
||||
void EmitIntroTrainerBallThrow(u8 bufferId);
|
||||
void EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
|
||||
void EmitCmd49(u8 bufferId);
|
||||
void EmitStatusAnimation(u8 bufferId, bool8 status2, u32 status);
|
||||
void EmitCmd13(u8 bufferId);
|
||||
void EmitStatusIconUpdate(u8 bufferId, u32 status1, u32 status2);
|
||||
void EmitIntroSlide(u8 bufferId, u8 terrainId);
|
||||
void EmitDrawTrainerPic(u8 bufferId);
|
||||
void EmitLoadMonSprite(u8 bufferId);
|
||||
void EmitIntroTrainerBallThrow(u8 bufferId);
|
||||
void EmitChooseAction(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitChooseMove(u8 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct* movePpData);
|
||||
void EmitOpenBag(u8 bufferId, u8* arg1);
|
||||
void Emit_x32(u8 bufferId);
|
||||
void EmitPrintString(u8 bufferId, u16 stringId);
|
||||
void EmitCmd50(u8 bufferId);
|
||||
void EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
|
||||
void EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
|
||||
void EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2);
|
||||
void EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
|
||||
void EmitBallThrow(u8 bufferId, u8 caseId);
|
||||
void EmitCmd_x21(u8 bufferId, u8 arg1, u16 arg2);
|
||||
void EmitCmd55(u8 bufferId, u8 arg1);
|
||||
|
||||
// player controller
|
||||
void SetBankFuncToPlayerBufferRunCommand(void);
|
||||
void nullsub_21(void);
|
||||
void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused);
|
||||
void ActionSelectionDestroyCursorAt(u8 cursorPos);
|
||||
|
||||
// recorded player controller
|
||||
void SetBankFuncToRecordedPlayerBufferRunCommand(void);
|
||||
|
||||
// opponent controller
|
||||
void SetBankFuncToOpponentBufferRunCommand(void);
|
||||
|
||||
// player partner controller
|
||||
void SetBankFuncToPlayerPartnerBufferRunCommand(void);
|
||||
|
||||
// safari controller
|
||||
void SetBankFuncToSafariBufferRunCommand(void);
|
||||
|
||||
// wally controller
|
||||
void SetBankFuncToWallyBufferRunCommand(void);
|
||||
|
||||
// recorded opponent controller
|
||||
void SetBankFuncToRecordedOpponentBufferRunCommand(void);
|
||||
|
||||
// link opponent
|
||||
void SetBankFuncToLinkOpponentBufferRunCommand(void);
|
||||
|
||||
// link partner
|
||||
void SetBankFuncToLinkPartnerBufferRunCommand(void);
|
||||
|
||||
#endif // GUARD_BATTLE_CONTROLLERS_H
|
||||
|
||||
9
include/battle_frontier_2.h
Normal file
9
include/battle_frontier_2.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_BATTLE_FRONTIER_2_H
|
||||
#define GUARD_BATTLE_FRONTIER_2_H
|
||||
|
||||
void sub_81A8934(u8);
|
||||
void sub_81A895C(void);
|
||||
u16 sub_81A89A0(u8);
|
||||
void sub_81A8AF8(void);
|
||||
|
||||
#endif // GUARD_BATTLE_FRONTIER_2_H
|
||||
@@ -1,6 +1,22 @@
|
||||
#ifndef GUARD_BATTLE_INTERFACE_H
|
||||
#define GUARD_BATTLE_INTERFACE_H
|
||||
|
||||
#include "battle_controllers.h"
|
||||
|
||||
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
|
||||
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
|
||||
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
|
||||
#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
|
||||
|
||||
#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
|
||||
|
||||
#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
|
||||
#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
|
||||
|
||||
#define TAG_HEALTHBOX_PAL 0xD6FF
|
||||
#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
|
||||
#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
|
||||
|
||||
enum
|
||||
{
|
||||
HEALTHBOX_ALL,
|
||||
@@ -10,8 +26,8 @@ enum
|
||||
HEALTHBOX_NICK,
|
||||
HEALTHBOX_HEALTH_BAR,
|
||||
HEALTHBOX_EXP_BAR,
|
||||
HEALTHBOX_7,
|
||||
HEALTHBOX_8,
|
||||
HEALTHBOX_UNUSED_7,
|
||||
HEALTHBOX_UNUSED_8,
|
||||
HEALTHBOX_STATUS_ICON,
|
||||
HEALTHBOX_SAFARI_ALL_TEXT,
|
||||
HEALTHBOX_SAFARI_BALLS_TEXT
|
||||
@@ -19,10 +35,20 @@ enum
|
||||
|
||||
u8 CreateBankHealthboxSprites(u8 bank);
|
||||
u8 CreateSafariPlayerHealthboxSprites(void);
|
||||
void SetBankHealthboxSpritePos(u8 bank);
|
||||
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
|
||||
void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 field_C);
|
||||
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
|
||||
void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
|
||||
void DestoryHealthboxSprite(u8 healthboxSpriteId);
|
||||
void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
|
||||
void UpdateOamPriorityInAllHealthboxes(u8 priority);
|
||||
void SetBankHealthboxSpritePos(u8 bank);
|
||||
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
|
||||
void SwapHpBarsWithHpText(void);
|
||||
u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
|
||||
void sub_8073C30(u8 taskId);
|
||||
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
|
||||
void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
|
||||
s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
|
||||
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
|
||||
u8 GetHPBarLevel(s16 hp, s16 maxhp);
|
||||
|
||||
#endif // GUARD_BATTLE_INTERFACE_H
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
#ifndef GUARD_BATTLE_SETUP_H
|
||||
#define GUARD_BATTLE_SETUP_H
|
||||
|
||||
void BattleSetup_StartScriptedWildBattle(void);
|
||||
u8 BattleSetup_GetTerrainId(void);
|
||||
u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
|
||||
|
||||
u8 HasTrainerAlreadyBeenFought(u16);
|
||||
void trainer_flag_set(u16);
|
||||
void trainer_flag_clear(u16);
|
||||
void BattleSetup_StartTrainerBattle(void);
|
||||
u8 *BattleSetup_GetScriptAddrAfterBattle(void);
|
||||
u8 *BattleSetup_GetTrainerPostBattleScript(void);
|
||||
|
||||
#endif // GUARD_BATTLE_SETUP_H
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
#define ITEMEFFECT_ON_SWITCH_IN 0x0
|
||||
|
||||
#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 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0)))
|
||||
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
|
||||
8
include/clock.h
Normal file
8
include/clock.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CLOCK_H
|
||||
#define GUARD_CLOCK_H
|
||||
|
||||
// TODO: time of day and seconds in a day defines
|
||||
|
||||
void DoTimeBasedEvents(void);
|
||||
|
||||
#endif
|
||||
@@ -6,7 +6,7 @@ void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y);
|
||||
void HideCoinsWindow(void);
|
||||
u16 GetCoins(void);
|
||||
void SetCoins(u16 coinAmount);
|
||||
bool8 AddCoins(u16 toAdd);
|
||||
bool8 SubtractCoins(u16 toSub);
|
||||
bool8 GiveCoins(u16 toAdd);
|
||||
bool8 TakeCoins(u16 toSub);
|
||||
|
||||
#endif // GUARD_COINS_H
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
#ifndef GUARD_CONTEST_H
|
||||
#define GUARD_CONTEST_H
|
||||
|
||||
struct ContestStruct_02039E00 {
|
||||
struct ContestStruct_02039E00
|
||||
{
|
||||
u16 unk_00;
|
||||
u8 unk_02[11];
|
||||
u8 unk_0d[8];
|
||||
@@ -11,8 +12,30 @@ struct ContestStruct_02039E00 {
|
||||
|
||||
extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
|
||||
extern u8 gUnknown_02039F24;
|
||||
extern EWRAM_DATA u16 gUnknown_02039F2C;
|
||||
extern EWRAM_DATA u8 gUnknown_02039F2E;
|
||||
extern EWRAM_DATA u8 gUnknown_02039F30;
|
||||
extern u16 gScriptContestCategory;
|
||||
extern u8 gUnknown_02039F2E;
|
||||
extern u8 gUnknown_02039F30;
|
||||
|
||||
struct ContestStruct_field_18
|
||||
{
|
||||
// unknown size
|
||||
u16 field_0;
|
||||
};
|
||||
|
||||
struct ContestResources
|
||||
{
|
||||
void *field_0;
|
||||
void *field_4;
|
||||
void *field_8;
|
||||
void *field_C;
|
||||
void *field_10;
|
||||
void *field_14;
|
||||
struct ContestStruct_field_18 *field_18;
|
||||
};
|
||||
|
||||
extern struct ContestResources *gContestResources;
|
||||
|
||||
bool8 IsSpeciesNotUnown(u16 species);
|
||||
void LoadContestBgAfterMoveAnim(void);
|
||||
|
||||
#endif //GUARD_CONTEST_H
|
||||
|
||||
8
include/contest_link_80F57C4.h
Normal file
8
include/contest_link_80F57C4.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CONTEST_LINK_80F57C4_H
|
||||
#define GUARD_CONTEST_LINK_80F57C4_H
|
||||
|
||||
void sub_80F840C(void);
|
||||
void sub_80F8484(void);
|
||||
void sub_80F84C4(u8);
|
||||
|
||||
#endif // GUARD_CONTEST_LINK_80F57C4_H
|
||||
6
include/contest_painting.h
Normal file
6
include/contest_painting.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CONTESTPAINTING_H
|
||||
#define GUARD_CONTESTPAINTING_H
|
||||
|
||||
void sub_812FDA8(u32);
|
||||
|
||||
#endif
|
||||
19
include/data2.h
Normal file
19
include/data2.h
Normal file
@@ -0,0 +1,19 @@
|
||||
#ifndef GUARD_DATA2_H
|
||||
#define GUARD_DATA2_H
|
||||
|
||||
struct MonCoords
|
||||
{
|
||||
// This would use a bitfield, but some function
|
||||
// uses it as a u8 and casting won't match.
|
||||
u8 coords; // u8 x:4, y:4;
|
||||
u8 y_offset;
|
||||
};
|
||||
|
||||
extern struct MonCoords gTrainerBackPicCoords[];
|
||||
|
||||
extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[][13];
|
||||
extern const u8 gAbilityNames[][13];
|
||||
extern const u8 gTypeNames[][7];
|
||||
|
||||
#endif // GUARD_DATA2_H
|
||||
@@ -8,7 +8,7 @@ void LZDecompressVram(const void *src, void *dest);
|
||||
|
||||
u16 LoadCompressedObjectPic(const struct CompressedSpriteSheet *src);
|
||||
void LoadCompressedObjectPicOverrideBuffer(const struct CompressedSpriteSheet *src, void *buffer);
|
||||
bool8 LoadCompressedObjectPicUsingHeap(struct CompressedSpriteSheet* src);
|
||||
bool8 LoadCompressedObjectPicUsingHeap(const struct CompressedSpriteSheet* src);
|
||||
|
||||
void LoadCompressedObjectPalette(const struct CompressedSpritePalette *src);
|
||||
void LoadCompressedObjectPaletteOverrideBuffer(const struct CompressedSpritePalette *a, void *buffer);
|
||||
|
||||
@@ -125,8 +125,6 @@ enum DecoId {
|
||||
/*120*/ DECOR_REGISTEEL_DOLL
|
||||
};
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct Decoration
|
||||
{
|
||||
/*0x00*/ u8 id;
|
||||
@@ -139,9 +137,6 @@ struct Decoration
|
||||
/*0x1c*/ const u16 *tiles;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
extern const struct Decoration gDecorations[];
|
||||
|
||||
#endif //GUARD_DECORATION_H
|
||||
|
||||
10
include/decoration_inventory.h
Normal file
10
include/decoration_inventory.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_DECORATION_INVENTORY_H
|
||||
#define GUARD_DECORATION_INVENTORY_H
|
||||
|
||||
void ClearDecorationInventories(void);
|
||||
u8 CheckHasDecoration(u8);
|
||||
u8 DecorationAdd(u8);
|
||||
u8 DecorationCheckSpace(u8);
|
||||
s8 DecorationRemove(u8);
|
||||
|
||||
#endif // GUARD_DECORATION_INVENTORY_H
|
||||
@@ -27,7 +27,7 @@ bool8 VarSet(u16 id, u16 value);
|
||||
u8 VarGetFieldObjectGraphicsId(u8 id);
|
||||
u8 *GetFlagPointer(u16 id);
|
||||
u8 FlagSet(u16 id);
|
||||
u8 FlagReset(u16 id);
|
||||
u8 FlagClear(u16 id);
|
||||
bool8 FlagGet(u16 id);
|
||||
|
||||
extern u16 gSpecialVar_0x8000;
|
||||
|
||||
11
include/field_door.h
Normal file
11
include/field_door.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_FIELDDOOR_H
|
||||
#define GUARD_FIELDDOOR_H
|
||||
|
||||
void FieldSetDoorOpened(u32, u32);
|
||||
void FieldSetDoorClosed(u32, u32);
|
||||
s8 FieldAnimateDoorClose(u32, u32);
|
||||
s8 FieldAnimateDoorOpen(u32, u32);
|
||||
bool8 FieldIsDoorAnimationRunning(void);
|
||||
u32 GetDoorSoundEffect(u32 x, u32 y);
|
||||
|
||||
#endif
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/15/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_EFFECTS_H
|
||||
#define GUARD_FIELD_EFFECTS_H
|
||||
|
||||
@@ -73,8 +69,9 @@ enum FieldEffectScriptIdx
|
||||
FLDEFF_USE_TELEPORT
|
||||
};
|
||||
|
||||
extern u32 gFieldEffectSpawnParams[8];
|
||||
|
||||
u8 FieldEffectStart(u8);
|
||||
bool8 FieldEffectActiveListContains(u8 id);
|
||||
|
||||
extern u32 gFieldEffectArguments[8];
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
||||
12
include/field_fadetransition.h
Normal file
12
include/field_fadetransition.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_FIELD_FADETRANSITION_H
|
||||
#define GUARD_FIELD_FADETRANSITION_H
|
||||
|
||||
void sub_80AF734(void);
|
||||
void sp13E_warp_to_last_warp(void);
|
||||
void sub_80AF7D0(void);
|
||||
void sp13F_fall_to_last_warp(void);
|
||||
|
||||
void sub_80AF848(void);
|
||||
void sub_80AF87C(void);
|
||||
|
||||
#endif // GUARD_FIELD_FADETRANSITION_H
|
||||
@@ -33,6 +33,7 @@ u8 sub_808D4F4(void);
|
||||
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
|
||||
void npc_load_two_palettes__no_record(u16, u8);
|
||||
void npc_load_two_palettes__and_record(u16, u8);
|
||||
void sub_808EBA8(u8, u8, u8, s16, s16);
|
||||
void pal_patch_for_npc(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
@@ -63,6 +64,7 @@ void npc_coords_shift(struct MapObject *, s16, s16);
|
||||
void sub_808EB08(struct MapObject *, s16, s16);
|
||||
void sub_808F254(u8, u8, u8);
|
||||
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
|
||||
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
|
||||
u8 GetOppositeDirection(u8);
|
||||
u8 GetStepInPlaceDelay4AnimId(u32);
|
||||
u8 GetStepInPlaceDelay8AnimId(u32);
|
||||
@@ -71,6 +73,7 @@ u8 GetStepInPlaceDelay32AnimId(u32);
|
||||
u8 npc_block_way(struct MapObject *, s16, s16, u32);
|
||||
void MoveCoords(u8, s16 *, s16 *);
|
||||
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
|
||||
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
|
||||
7
include/field_map_obj_helpers.h
Normal file
7
include/field_map_obj_helpers.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_FIELDMAPOBJHELP_H
|
||||
#define GUARD_FIELDMAPOBJHELP_H
|
||||
|
||||
void UnfreezeMapObjects(void);
|
||||
void sub_8097B78(u8, u8);
|
||||
|
||||
#endif
|
||||
@@ -1,12 +1,10 @@
|
||||
#ifndef GUARD_field_message_box_H
|
||||
#define GUARD_field_message_box_H
|
||||
#ifndef GUARD_FIELD_MESSAGE_BOX_H
|
||||
#define GUARD_FIELD_MESSAGE_BOX_H
|
||||
|
||||
// Exported type declarations
|
||||
bool8 ShowFieldMessage(const u8 *message);
|
||||
bool8 sub_8098238(const u8 *message);
|
||||
bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
||||
void HideFieldMessageBox(void);
|
||||
bool8 IsFieldMessageBoxHidden(void);
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void ShowFieldMessage(const u8 *);
|
||||
|
||||
#endif //GUARD_field_message_box_H
|
||||
#endif // GUARD_FIELD_MESSAGE_BOX_H
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
@@ -14,4 +10,6 @@ u8 player_get_direction_lower_nybble(void);
|
||||
u8 player_get_direction_upper_nybble(void);
|
||||
u8 player_get_x22(void);
|
||||
|
||||
void sub_808D074(u8);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
8
include/field_screen_effect.h
Normal file
8
include/field_screen_effect.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_FIELD_SCREEN_EFFECT_H
|
||||
#define GUARD_FIELD_SCREEN_EFFECT_H
|
||||
|
||||
void sub_80AF79C(void);
|
||||
void sub_80B009C(u8);
|
||||
void sub_80B0244(void);
|
||||
|
||||
#endif // GUARD_FIELD_SCREEN_EFFECT_H
|
||||
6
include/field_specials.h
Normal file
6
include/field_specials.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_FIELD_SPECIALS_H
|
||||
#define GUARD_FIELD_SPECIALS_H
|
||||
|
||||
u8 GetLeadMonIndex(void);
|
||||
|
||||
#endif // GUARD_FIELD_SPECIALS_H
|
||||
6
include/field_tasks.h
Normal file
6
include/field_tasks.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_FIELD_TASKS_H
|
||||
#define GUARD_FIELD_TASKS_H
|
||||
|
||||
void ActivatePerStepCallback(u8);
|
||||
|
||||
#endif // GUARD_FIELD_TASKS_H
|
||||
12
include/field_weather.h
Normal file
12
include/field_weather.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_WEATHER_H
|
||||
#define GUARD_WEATHER_H
|
||||
|
||||
void fade_screen(u8, s8);
|
||||
|
||||
void SetSav1Weather(u32);
|
||||
u8 GetSav1Weather(void);
|
||||
void sub_80AEDBC(void);
|
||||
|
||||
void DoCurrentWeather(void);
|
||||
|
||||
#endif // GUARD_WEATHER_H
|
||||
@@ -1,19 +1,11 @@
|
||||
//
|
||||
// Created by scott on 9/16/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELDMAP_H
|
||||
#define GUARD_FIELDMAP_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
extern struct MapCoords {
|
||||
int width;
|
||||
int height;
|
||||
} gUnknown_03005DC0;
|
||||
|
||||
// Exported ROM declarations
|
||||
u32 MapGridGetMetatileBehaviorAt(int, int);
|
||||
void MapGridSetMetatileIdAt(int, int, u16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
|
||||
@@ -527,6 +527,8 @@
|
||||
#define DISPSTAT_HBLANK_INTR 0x0010 // H-Blank interrupt enabled
|
||||
#define DISPSTAT_VCOUNT_INTR 0x0020 // V-Count interrupt enabled
|
||||
|
||||
// BLDCNT
|
||||
|
||||
// SOUNDCNT_H
|
||||
#define SOUND_CGB_MIX_QUARTER 0x0000
|
||||
#define SOUND_CGB_MIX_HALF 0x0001
|
||||
|
||||
@@ -39,18 +39,18 @@ struct PlttData
|
||||
struct OamData
|
||||
{
|
||||
/*0x00*/ u32 y:8;
|
||||
/*0x01*/ u32 affineMode:2;
|
||||
u32 objMode:2;
|
||||
u32 mosaic:1;
|
||||
u32 bpp:1;
|
||||
u32 shape:2;
|
||||
/*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4
|
||||
u32 objMode:2; // 0x4, 0x8 -> 0xC
|
||||
u32 mosaic:1; // 0x10
|
||||
u32 bpp:1; // 0x20
|
||||
u32 shape:2; // 0x40, 0x80 -> 0xC0
|
||||
|
||||
/*0x02*/ u32 x:9;
|
||||
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
|
||||
u32 size:2;
|
||||
|
||||
/*0x04*/ u16 tileNum:10;
|
||||
u16 priority:2;
|
||||
/*0x04*/ u16 tileNum:10; // 0x33F
|
||||
u16 priority:2; // 0x400, 0x800 -> 0xC00
|
||||
u16 paletteNum:4;
|
||||
/*0x06*/ u16 affineParam;
|
||||
};
|
||||
|
||||
@@ -500,6 +500,16 @@ typedef union // TODO
|
||||
u8 id;
|
||||
} LilycoveLady;
|
||||
|
||||
struct WaldaPhrase
|
||||
{
|
||||
u16 field_0;
|
||||
u16 field_2;
|
||||
u8 text[16];
|
||||
u8 iconId;
|
||||
u8 patternId;
|
||||
bool8 patternUnlocked;
|
||||
};
|
||||
|
||||
struct SaveBlock1
|
||||
{
|
||||
/*0x00*/ struct Coords16 pos;
|
||||
@@ -586,7 +596,7 @@ struct SaveBlock1
|
||||
/*0x3B24*/ u8 seen2[52];
|
||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||
/*0x3B88*/ u8 filler_3B88[0x1E8];
|
||||
/*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct
|
||||
/*0x3D70*/ struct WaldaPhrase waldaPhrase;
|
||||
// sizeof: 0x3D88
|
||||
};
|
||||
|
||||
|
||||
@@ -1,13 +1,23 @@
|
||||
#ifndef GUARD_international_string_util_H
|
||||
#define GUARD_international_string_util_H
|
||||
#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
#define GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void TVShowConvertInternationalString(void *dest, const void *src, u8 language);
|
||||
void sub_81DB52C(const u8 *src);
|
||||
void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
|
||||
u32 sub_81DB604(const u8 *);
|
||||
s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
|
||||
s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
|
||||
s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
|
||||
s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
|
||||
s32 GetMaxWidthInMenuTable(const u8 **str, s32 arg1);
|
||||
s32 sub_81DB3D8(const u8 **str, u8* arg1, s32 arg2);
|
||||
// sub_81DB41C
|
||||
// sub_81DB468
|
||||
// sub_81DB494
|
||||
// sub_81DB4DC
|
||||
// sub_81DB52C
|
||||
// sub_81DB554
|
||||
// sub_81DB5AC
|
||||
u32 sub_81DB604(const u8 *);
|
||||
// sub_81DB620
|
||||
|
||||
#endif //GUARD_international_string_util_H
|
||||
#endif // GUARD_INTERNATIONAL_STRING_UTIL_H
|
||||
|
||||
@@ -31,6 +31,7 @@ extern struct BagPocket gBagPockets[];
|
||||
|
||||
void GetBerryCountString(u8* dst, const u8* berryName, u32 quantity);
|
||||
void CopyItemName(u16 itemId, u8 *string);
|
||||
void CopyItemNameHandlePlural(u16 itemId, u8 *string, u32 quantity);
|
||||
bool8 IsBagPocketNonEmpty(u8 pocket);
|
||||
bool8 CheckBagHasItem(u16 itemId, u16 count);
|
||||
bool8 CheckBagHasSpace(u16 itemId, u16 count);
|
||||
|
||||
@@ -141,6 +141,7 @@ extern u8 gShouldAdvanceLinkState;
|
||||
extern struct LinkPlayer gLinkPlayers[];
|
||||
extern u16 word_3002910[];
|
||||
extern bool8 gReceivedRemoteLinkPlayers;
|
||||
extern bool8 gLinkVSyncDisabled;
|
||||
|
||||
void Task_DestroySelf(u8);
|
||||
void OpenLink(void);
|
||||
@@ -184,5 +185,11 @@ bool8 sub_800A520(void);
|
||||
bool8 sub_8010500(void);
|
||||
void sub_800DFB4(u8, u8);
|
||||
void sub_800ADF8(void);
|
||||
void sub_800B488(void);
|
||||
void sub_8009734(void);
|
||||
void sub_800A620(void);
|
||||
void sub_8011BD0(void);
|
||||
u8 sub_800ABAC(void);
|
||||
u8 sub_800ABBC(void);
|
||||
|
||||
#endif // GUARD_LINK_H
|
||||
|
||||
12
include/mail_data.h
Normal file
12
include/mail_data.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_MAIL_DATA_H
|
||||
#define GUARD_MAIL_DATA_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
u16 sub_80D45E8(u16, u16 *);
|
||||
|
||||
#endif //GUARD_MAIL_DATA_H
|
||||
11
include/map_obj_lock.h
Normal file
11
include/map_obj_lock.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_MAP_OBJ_LOCK_H
|
||||
#define GUARD_MAP_OBJ_LOCK_H
|
||||
|
||||
bool8 sub_80983C4(void);
|
||||
void ScriptFreezeMapObjects(void);
|
||||
bool8 sub_809847C(void);
|
||||
void LockSelectedMapObject(void);
|
||||
void sub_8098630(void);
|
||||
bool8 sub_8098734(void);
|
||||
|
||||
#endif // GUARD_MAP_OBJ_LOCK_H
|
||||
@@ -19,5 +19,9 @@ void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
|
||||
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);
|
||||
void reset_temp_tile_data_buffers(void);
|
||||
int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode);
|
||||
bool8 free_temp_tile_data_buffers_if_possible(void);
|
||||
u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
11
include/menu_helpers.h
Normal file
11
include/menu_helpers.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_MENU_HELPERS_H
|
||||
#define GUARD_MENU_HELPERS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
bool8 sub_81221AC(void);
|
||||
|
||||
#endif //GUARD_MENU_HELPERS_H
|
||||
@@ -5,7 +5,7 @@ u32 GetMoney(u32* moneyPtr);
|
||||
void SetMoney(u32* moneyPtr, u32 newValue);
|
||||
bool8 IsEnoughMoney(u32* moneyPtr, u32 cost);
|
||||
void AddMoney(u32* moneyPtr, u32 toAdd);
|
||||
void SubtractMoney(u32* moneyPtr, u32 toSub);
|
||||
void RemoveMoney(u32* moneyPtr, u32 toSub);
|
||||
bool8 IsEnoughForCostInVar0x8005(void);
|
||||
void SubtractMoneyFromVar0x8005(void);
|
||||
void PrintMoneyAmountInMoneyBox(u8 windowId, int amount, u8 speed);
|
||||
|
||||
8
include/mystery_event_script.h
Normal file
8
include/mystery_event_script.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
#define GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
|
||||
u32 RunMysteryEventScript(u8 *);
|
||||
void SetMysteryEventScriptStatus(u32 val);
|
||||
u16 GetRecordMixingGift(void);
|
||||
|
||||
#endif // GUARD_MYSTERY_EVENT_SCRIPT_H
|
||||
@@ -5,7 +5,7 @@
|
||||
#define NAMING_SCREEN_BOX 1
|
||||
#define NAMING_SCREEN_CAUGHT_MON 2
|
||||
#define NAMING_SCREEN_3 3
|
||||
#define NAMING_SCREEN_WANDA 4
|
||||
#define NAMING_SCREEN_WALDA 4
|
||||
|
||||
void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void));
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_NEW_GAME_H
|
||||
|
||||
void WriteUnalignedWord(u32 var, u8 *dataPtr);
|
||||
u32 ReadUnalignedWord(u8* dataPtr);
|
||||
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
|
||||
void InitPlayerTrainerId(void);
|
||||
void SetDefaultOptions(void);
|
||||
|
||||
9
include/new_menu_helpers.h
Normal file
9
include/new_menu_helpers.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef GUARD_NEW_MENU_HELPERS_H
|
||||
#define GUARD_NEW_MENU_HELPERS_H
|
||||
|
||||
void sub_81973A4(void);
|
||||
void sub_81973C4(u8, u8);
|
||||
void sub_819746C(u8 windowId, bool8 copyToVram);
|
||||
void sub_81973FC(u8, u8);
|
||||
|
||||
#endif // GUARD_NEW_MENU_HELPERS_H
|
||||
59
include/overworld.h
Normal file
59
include/overworld.h
Normal file
@@ -0,0 +1,59 @@
|
||||
#ifndef GUARD_ROM4_H
|
||||
#define GUARD_ROM4_H
|
||||
|
||||
struct UnkPlayerStruct
|
||||
{
|
||||
u8 player_field_0;
|
||||
u8 player_field_1;
|
||||
};
|
||||
|
||||
struct LinkPlayerMapObject
|
||||
{
|
||||
u8 active;
|
||||
u8 linkPlayerId;
|
||||
u8 mapObjId;
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
|
||||
void IncrementGameStat(u8 index);
|
||||
|
||||
void Overworld_SetMapObjTemplateCoords(u8, s16, s16);
|
||||
void Overworld_SetMapObjTemplateMovementType(u8, u8);
|
||||
|
||||
void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
|
||||
void saved_warp2_set_2(int unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void Overworld_SetHealLocationWarp(u8);
|
||||
void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
|
||||
void sub_8084E2C(s8, s8, s8, s8, s8);
|
||||
void sub_8084E80(s8, s8, s8, s8, s8);
|
||||
void sub_8084EBC(s16, s16);
|
||||
|
||||
void player_avatar_init_params_reset(void);
|
||||
|
||||
void Overworld_SetFlashLevel(s32 a1);
|
||||
//u8 Overworld_GetFlashLevel(void);
|
||||
void sub_8085524(u16);
|
||||
|
||||
void Overworld_SetSavedMusic(u16);
|
||||
void Overworld_ChangeMusicToDefault(void);
|
||||
void Overworld_ChangeMusicTo(u16);
|
||||
|
||||
bool32 is_c1_link_related_active(void);
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void c2_exit_to_overworld_2_switch(void);
|
||||
bool32 sub_8087598(void);
|
||||
void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
@@ -8,6 +8,9 @@
|
||||
#define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade
|
||||
#define gPaletteFade_submode (gPaletteFade.multipurpose2) // fast fade
|
||||
|
||||
#define PLTT_BUFFER_SIZE 0x200
|
||||
#define PLTT_DECOMP_BUFFER_SIZE (PLTT_BUFFER_SIZE * 2)
|
||||
|
||||
enum
|
||||
{
|
||||
FAST_FADE_IN_FROM_WHITE,
|
||||
|
||||
6
include/party_menu.h
Normal file
6
include/party_menu.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_PARTY_MENU_H
|
||||
#define GUARD_PARTY_MENU_H
|
||||
|
||||
bool8 pokemon_has_move(struct Pokemon *, u16);
|
||||
|
||||
#endif // GUARD_PARTY_MENU_H
|
||||
7
include/pokemon_3.h
Normal file
7
include/pokemon_3.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_POKEMON_3_H
|
||||
#define GUARD_POKEMON_3_H
|
||||
|
||||
const u8* GetTrainerClassNameFromId(u16 trainerId);
|
||||
const u8* GetTrainerNameFromId(u16 trainerId);
|
||||
|
||||
#endif // GUARD_POKEMON_3_H
|
||||
@@ -3,5 +3,10 @@
|
||||
|
||||
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
|
||||
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
|
||||
u16 sub_80D2E84(u16 speciesId);
|
||||
void sub_80D2F68(u16 iconId);
|
||||
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
|
||||
void sub_80D2FF0(u16 iconId);
|
||||
void sub_80D2EF8(struct Sprite *sprite);
|
||||
|
||||
#endif // GUARD_POKEMON_ICON_H
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
extern u32 gRecordedBattleRngSeed;
|
||||
|
||||
void sub_8184DA4(u8 arg0);
|
||||
void sub_8185F84(void);
|
||||
void sub_8184E58(void);
|
||||
void RecordedBattle_SetBankAction(u8 bank, u8 action);
|
||||
@@ -15,5 +16,7 @@ u8 MoveRecordedBattleToSaveData(void);
|
||||
void sub_818603C(u8);
|
||||
void sub_8185FD0(void);
|
||||
void sub_8186444(void);
|
||||
void sub_8185EB8(void);
|
||||
u8 sub_81850DC(u8 *arg0);
|
||||
|
||||
#endif // GUARD_RECORDED_BATTLE_H
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
|
||||
#ifndef GUARD_ROM4_H
|
||||
#define GUARD_ROM4_H
|
||||
|
||||
struct UnkPlayerStruct
|
||||
{
|
||||
u8 player_field_0;
|
||||
u8 player_field_1;
|
||||
};
|
||||
|
||||
struct LinkPlayerMapObject
|
||||
{
|
||||
u8 active;
|
||||
u8 linkPlayerId;
|
||||
u8 mapObjId;
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void c2_exit_to_overworld_2_switch(void);
|
||||
void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
@@ -2,6 +2,6 @@
|
||||
#define GUARD_ROM6_H
|
||||
|
||||
void sub_81357FC(u8, void(void));
|
||||
u8 GetIdxOfFirstPartyMemberThatIsNotAnEgg(void);
|
||||
u8 GetLeadMonIndex(void);
|
||||
|
||||
#endif //GUARD_ROM6_H
|
||||
|
||||
@@ -28,8 +28,8 @@ void StopScript(struct ScriptContext *ctx);
|
||||
bool8 RunScriptCommand(struct ScriptContext *ctx);
|
||||
u8 ScriptPush(struct ScriptContext *ctx, const u8 *ptr);
|
||||
const u8 *ScriptPop(struct ScriptContext *ctx);
|
||||
void ScriptJump(struct ScriptContext *ctx, u8 *ptr);
|
||||
void ScriptCall(struct ScriptContext *ctx, u8 *ptr);
|
||||
void ScriptJump(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptCall(struct ScriptContext *ctx, const u8 *ptr);
|
||||
void ScriptReturn(struct ScriptContext *ctx);
|
||||
u16 ScriptReadHalfword(struct ScriptContext *ctx);
|
||||
u32 ScriptReadWord(struct ScriptContext *ctx);
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
#ifndef GUARD_SCRIPT_MENU_H
|
||||
#define GUARD_SCRIPT_MENU_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
extern const u8 *const gUnknown_0858BAF0[9];
|
||||
|
||||
bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4);
|
||||
bool8 ScriptMenu_MultichoiceWithDefault(u8 left, u8 top, u8 var3, u8 var4, u8 var5);
|
||||
bool8 ScriptMenu_YesNo(u8 var1, u8 var2);
|
||||
bool8 ScriptMenu_MultichoiceGrid(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount);
|
||||
bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3);
|
||||
bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void);
|
||||
|
||||
#endif //GUARD_SCRIPT_MENU_H
|
||||
|
||||
8
include/script_movement.h
Normal file
8
include/script_movement.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_SCRIPT_MOVEMENT_H
|
||||
#define GUARD_SCRIPT_MOVEMENT_H
|
||||
|
||||
bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *);
|
||||
bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8);
|
||||
void sub_80D338C(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_MOVEMENT_H
|
||||
10
include/script_pokemon_80F8.h
Normal file
10
include/script_pokemon_80F8.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_SCRIPTPOKE80F8_H
|
||||
#define GUARD_SCRIPTPOKE80F8_H
|
||||
|
||||
void ShowContestWinner(void);
|
||||
u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8);
|
||||
u8 ScriptGiveEgg(u16);
|
||||
void CreateScriptedWildMon(u16, u8, u16);
|
||||
void ScriptSetMonMoveSlot(u8, u16, u8);
|
||||
|
||||
#endif
|
||||
6
include/script_pokemon_81B9.h
Normal file
6
include/script_pokemon_81B9.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_SCRIPTPOKE81B9_H
|
||||
#define GUARD_SCRIPTPOKE81B9_H
|
||||
|
||||
void sub_81B9404(void);
|
||||
|
||||
#endif
|
||||
@@ -1,12 +1,10 @@
|
||||
#ifndef GUARD_SHOP_H
|
||||
#define GUARD_SHOP_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
|
||||
|
||||
// Exported ROM declarations
|
||||
void CreatePokemartMenu(const u16 *);
|
||||
void CreateDecorationShop1Menu(const u16 *);
|
||||
void CreateDecorationShop2Menu(const u16 *);
|
||||
|
||||
#endif //GUARD_SHOP_H
|
||||
#endif // GUARD_SHOP_H
|
||||
|
||||
6
include/slot_machine.h
Normal file
6
include/slot_machine.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_SLOT_MACHINE_H
|
||||
#define GUARD_SLOT_MACHINE_H
|
||||
|
||||
void PlaySlotMachine(u8, void *);
|
||||
|
||||
#endif // GUARD_SLOT_MACHINE_H
|
||||
@@ -251,7 +251,7 @@ void BuildOamBuffer(void);
|
||||
u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
|
||||
u8 CreateSpriteAtEnd(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
|
||||
u8 CreateInvisibleSprite(void (*callback)(struct Sprite *));
|
||||
u8 CreateSpriteAndAnimate(struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
|
||||
u8 CreateSpriteAndAnimate(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
|
||||
void DestroySprite(struct Sprite *sprite);
|
||||
void ResetOamRange(u8 a, u8 b);
|
||||
void LoadOam(void);
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
#ifndef GUARD_strings_H
|
||||
#define GUARD_strings_H
|
||||
#ifndef GUARD_STRINGS_H
|
||||
#define GUARD_STRINGS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
extern const u8 gText_FromSpace[];
|
||||
extern const u8 gText_Lv50[];
|
||||
extern const u8 gText_OpenLevel[];
|
||||
extern const u8 gText_Mom[];
|
||||
@@ -30,4 +37,4 @@ extern const u8 gText_First[];
|
||||
extern const u8 gText_Second[];
|
||||
extern const u8 gText_Third[];
|
||||
|
||||
#endif //GUARD_strings_H
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
@@ -170,6 +170,7 @@ typedef struct {
|
||||
u8 flag_0:1;
|
||||
u8 flag_1:1;
|
||||
u8 flag_2:1;
|
||||
u8 flag_3:1;
|
||||
} TextFlags;
|
||||
|
||||
extern TextFlags gTextFlags;
|
||||
@@ -195,7 +196,7 @@ u8 gGlyphDimensions[0x2];
|
||||
|
||||
void SetFontsPointer(const struct FontInfo *fonts);
|
||||
void DeactivateAllTextPrinters(void);
|
||||
u16 PrintTextOnWindow(u8 windowId, u8 fontId, u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextSubPrinter *, u16));
|
||||
u16 PrintTextOnWindow(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);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#define GUARD_TRAINER_SEE_H
|
||||
|
||||
void sub_80B4578(struct MapObject *);
|
||||
u8 sub_80B47BC(void);
|
||||
void sub_8155D78(struct MapObject *);
|
||||
|
||||
#endif //GUARD_TRAINER_SEE_H
|
||||
|
||||
@@ -1,12 +1,6 @@
|
||||
#ifndef GUARD_TV_H
|
||||
#define GUARD_TV_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
extern u8 *const gTVStringVarPtrs[3];
|
||||
|
||||
void ClearTVShowData(void);
|
||||
@@ -16,6 +10,6 @@ bool8 GetPriceReduction(u8 newsKind);
|
||||
u8 GetRibbonCount(struct Pokemon *pokemon);
|
||||
void sub_80EE184(void);
|
||||
void sub_80F14F8(TVShow *shows);
|
||||
int sub_80EF370(int value);
|
||||
size_t sub_80EF370(int value);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
8
include/walda_phrase.h
Normal file
8
include/walda_phrase.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_WALDA_PHRASE_H
|
||||
#define GUARD_WALDA_PHRASE_H
|
||||
|
||||
u16 TryBufferWaldaPhrase(void);
|
||||
void DoWaldaNamingScreen(void);
|
||||
u16 TryGetWallpaperWithWaldaPhrase(void);
|
||||
|
||||
#endif // GUARD_WALDA_PHRASE_H
|
||||
Reference in New Issue
Block a user