Merge remote-tracking branch 'upstream/master' into pan-constants
This commit is contained in:
24
include/apprentice.h
Normal file
24
include/apprentice.h
Normal file
@@ -0,0 +1,24 @@
|
||||
#ifndef GUARD_APPRENTICE_H
|
||||
#define GUARD_APPRENTICE_H
|
||||
|
||||
#define APPRENTICE_SPECIES_COUNT 10
|
||||
|
||||
struct ApprenticeTrainer
|
||||
{
|
||||
u8 name[6][PLAYER_NAME_LENGTH + 1]; // For all six languages.
|
||||
u16 otId;
|
||||
u8 facilityClass;
|
||||
u16 species[APPRENTICE_SPECIES_COUNT];
|
||||
u8 rest[14];
|
||||
};
|
||||
|
||||
extern const struct ApprenticeTrainer gApprentices[];
|
||||
|
||||
void CopyFriendsApprenticeChallengeText(u8 saveblockApprenticeId);
|
||||
void Apprentice_EnableBothScriptContexts(void);
|
||||
void ResetApprenticeStruct(struct Apprentice *apprentice);
|
||||
void ResetAllApprenticeData(void);
|
||||
void CallApprenticeFunction(void);
|
||||
const u8 *GetApprenticeNameInLanguage(u32 apprenticeId, s32 language);
|
||||
|
||||
#endif // GUARD_APPRENTICE_H
|
||||
181
include/battle.h
181
include/battle.h
@@ -27,8 +27,8 @@
|
||||
#define B_ACTION_SAFARI_POKEBLOCK 6
|
||||
#define B_ACTION_SAFARI_GO_NEAR 7
|
||||
#define B_ACTION_SAFARI_RUN 8
|
||||
#define B_ACTION_WALLY_THROW 9
|
||||
// The exact purposes of these are unclear
|
||||
#define B_ACTION_WALLY_THROW 9
|
||||
#define B_ACTION_EXEC_SCRIPT 10 // when executing an action
|
||||
#define B_ACTION_CANCEL_PARTNER 12 // when choosing an action
|
||||
#define B_ACTION_FINISHED 12 // when executing an action
|
||||
@@ -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
|
||||
@@ -139,42 +128,40 @@ struct UnknownFlags
|
||||
|
||||
struct DisableStruct
|
||||
{
|
||||
/*0x00*/ u32 transformedMonPersonality;
|
||||
/*0x04*/ u16 disabledMove;
|
||||
/*0x06*/ u16 encoredMove;
|
||||
/*0x08*/ u8 protectUses;
|
||||
/*0x09*/ u8 stockpileCounter;
|
||||
/*0x0A*/ u8 substituteHP;
|
||||
/*0x0B*/ u8 disableTimer1:4;
|
||||
/*0x0B*/ u8 disableTimer2:4;
|
||||
/*0x0C*/ u8 encoredMovePos;
|
||||
/*0x0D*/ u8 unkD;
|
||||
/*0x0E*/ u8 encoreTimer1:4;
|
||||
/*0x0E*/ u8 encoreTimer2:4;
|
||||
/*0x0F*/ u8 perishSongTimer1:4;
|
||||
/*0x0F*/ u8 perishSongTimer2:4;
|
||||
/*0x10*/ u8 furyCutterCounter;
|
||||
/*0x11*/ u8 rolloutCounter1:4;
|
||||
/*0x11*/ u8 rolloutCounter2:4;
|
||||
/*0x12*/ u8 chargeTimer1:4;
|
||||
/*0x12*/ u8 chargeTimer2:4;
|
||||
/*0x13*/ u8 tauntTimer1:4;
|
||||
/*0x13*/ u8 tauntTimer2:4;
|
||||
/*0x14*/ u8 battlerPreventingEscape;
|
||||
/*0x15*/ u8 battlerWithSureHit;
|
||||
/*0x16*/ u8 isFirstTurn;
|
||||
/*0x17*/ u8 unk17;
|
||||
/*0x18*/ u8 truantCounter:1;
|
||||
/*0x18*/ u8 truantUnknownBit:1;
|
||||
/*0x18*/ u8 unk18_a_2:2;
|
||||
/*0x18*/ u8 unk18_b:4;
|
||||
/*0x19*/ u8 rechargeCounter;
|
||||
/*0x1A*/ u8 unk1A[2];
|
||||
u32 transformedMonPersonality;
|
||||
u16 disabledMove;
|
||||
u16 encoredMove;
|
||||
u8 protectUses;
|
||||
u8 stockpileCounter;
|
||||
u8 substituteHP;
|
||||
u8 disableTimer:4;
|
||||
u8 disableTimerStartValue:4;
|
||||
u8 encoredMovePos;
|
||||
u8 filler_D; // Unused field.
|
||||
u8 encoreTimer:4;
|
||||
u8 encoreTimerStartValue:4;
|
||||
u8 perishSongTimer:4;
|
||||
u8 perishSongTimerStartValue:4;
|
||||
u8 furyCutterCounter;
|
||||
u8 rolloutTimer:4;
|
||||
u8 rolloutTimerStartValue:4;
|
||||
u8 chargeTimer:4;
|
||||
u8 chargeTimerStartValue:4;
|
||||
u8 tauntTimer:4;
|
||||
u8 tauntTimer2:4;
|
||||
u8 battlerPreventingEscape;
|
||||
u8 battlerWithSureHit;
|
||||
u8 isFirstTurn;
|
||||
u8 unk17;
|
||||
u8 truantCounter:1;
|
||||
u8 truantUnknownBit:1;
|
||||
u8 unk18_a_2:2;
|
||||
u8 unk18_b:4;
|
||||
u8 rechargeTimer;
|
||||
};
|
||||
|
||||
struct ProtectStruct
|
||||
{
|
||||
/* field_0 */
|
||||
u32 protected:1;
|
||||
u32 endured:1;
|
||||
u32 noValidMoves:1;
|
||||
@@ -183,67 +170,54 @@ struct ProtectStruct
|
||||
u32 stealMove:1;
|
||||
u32 flag0Unknown:1;
|
||||
u32 prlzImmobility:1;
|
||||
/* field_1 */
|
||||
u32 confusionSelfDmg:1;
|
||||
u32 targetNotAffected:1;
|
||||
u32 chargingTurn:1;
|
||||
u32 fleeFlag:2; // for RunAway and Smoke Ball
|
||||
u32 fleeFlag:2; // For RunAway and Smoke Ball.
|
||||
u32 usedImprisionedMove:1;
|
||||
u32 loveImmobility:1;
|
||||
u32 usedDisabledMove:1;
|
||||
/* field_2 */
|
||||
u32 usedTauntedMove:1; // 0x1
|
||||
u32 flag2Unknown:1; // 0x2
|
||||
u32 flinchImmobility:1; // 0x4
|
||||
u32 notFirstStrike:1; // 0x8
|
||||
u32 flag_x10:1; // 0x10
|
||||
u32 flag_x20:1; // 0x20
|
||||
u32 flag_x40:1; // 0x40
|
||||
u32 flag_x80:1; // 0x80
|
||||
/* field_3 */
|
||||
u32 field3:8;
|
||||
|
||||
/* field_4 */ u32 physicalDmg;
|
||||
/* field_8 */ u32 specialDmg;
|
||||
/* field_C */ u8 physicalBattlerId;
|
||||
/* field_D */ u8 specialBattlerId;
|
||||
/* field_E */ u16 fieldE;
|
||||
u32 usedTauntedMove:1;
|
||||
u32 flag2Unknown:1;
|
||||
u32 flinchImmobility:1;
|
||||
u32 notFirstStrike:1;
|
||||
u32 flag_x10:1;
|
||||
u32 physicalDmg;
|
||||
u32 specialDmg;
|
||||
u8 physicalBattlerId;
|
||||
u8 specialBattlerId;
|
||||
};
|
||||
|
||||
struct SpecialStatus
|
||||
{
|
||||
u8 statLowered:1; // 0x1
|
||||
u8 lightningRodRedirected:1; // 0x2
|
||||
u8 restoredBattlerSprite: 1; // 0x4
|
||||
u8 intimidatedMon:1; // 0x8
|
||||
u8 traced:1; // 0x10
|
||||
u8 flag20:1;
|
||||
u8 statLowered:1;
|
||||
u8 lightningRodRedirected:1;
|
||||
u8 restoredBattlerSprite: 1;
|
||||
u8 intimidatedMon:1;
|
||||
u8 traced:1;
|
||||
u8 ppNotAffectedByPressure:1;
|
||||
u8 flag40:1;
|
||||
u8 focusBanded:1;
|
||||
u8 field1[3];
|
||||
s32 dmg;
|
||||
s32 physicalDmg;
|
||||
s32 specialDmg;
|
||||
u8 physicalBattlerId;
|
||||
u8 specialBattlerId;
|
||||
u8 field12;
|
||||
u8 field13;
|
||||
};
|
||||
|
||||
struct SideTimer
|
||||
{
|
||||
/*0x00*/ u8 reflectTimer;
|
||||
/*0x01*/ u8 reflectBattlerId;
|
||||
/*0x02*/ u8 lightscreenTimer;
|
||||
/*0x03*/ u8 lightscreenBattlerId;
|
||||
/*0x04*/ u8 mistTimer;
|
||||
/*0x05*/ u8 mistBattlerId;
|
||||
/*0x06*/ u8 safeguardTimer;
|
||||
/*0x07*/ u8 safeguardBattlerId;
|
||||
/*0x08*/ u8 followmeTimer;
|
||||
/*0x09*/ u8 followmeTarget;
|
||||
/*0x0A*/ u8 spikesAmount;
|
||||
/*0x0B*/ u8 fieldB;
|
||||
u8 reflectTimer;
|
||||
u8 reflectBattlerId;
|
||||
u8 lightscreenTimer;
|
||||
u8 lightscreenBattlerId;
|
||||
u8 mistTimer;
|
||||
u8 mistBattlerId;
|
||||
u8 safeguardTimer;
|
||||
u8 safeguardBattlerId;
|
||||
u8 followmeTimer;
|
||||
u8 followmeTarget;
|
||||
u8 spikesAmount;
|
||||
};
|
||||
|
||||
struct WishFutureKnock
|
||||
@@ -255,7 +229,7 @@ struct WishFutureKnock
|
||||
u8 wishCounter[MAX_BATTLERS_COUNT];
|
||||
u8 wishMonId[MAX_BATTLERS_COUNT];
|
||||
u8 weatherDuration;
|
||||
u8 knockedOffPokes[2];
|
||||
u8 knockedOffMons[2]; // Each battler is represented by a bit. The array entry is dependent on the battler's side.
|
||||
};
|
||||
|
||||
struct AI_ThinkingStruct
|
||||
@@ -328,7 +302,7 @@ struct BattleResults
|
||||
u8 playerSwitchesCounter; // 0x2
|
||||
u8 unk3; // 0x3
|
||||
u8 unk4; // 0x4
|
||||
u8 unk5_0:1; // 0x5
|
||||
u8 playerMonWasDamaged:1; // 0x5
|
||||
u8 usedMasterBall:1; // 0x5
|
||||
u8 caughtMonBall:4; // 0x5
|
||||
u8 shinyWildMon:1; // 0x5
|
||||
@@ -439,22 +413,14 @@ struct BattleStruct
|
||||
u8 turnEffectsBattlerId;
|
||||
u8 filler2;
|
||||
u8 turnCountersTracker;
|
||||
u8 wrappedMove[8]; // ask gamefreak why they declared it that way
|
||||
u8 moveTarget[4];
|
||||
u8 wrappedMove[MAX_BATTLERS_COUNT * 2]; // Leftover from Ruby's ewram access.
|
||||
u8 moveTarget[MAX_BATTLERS_COUNT];
|
||||
u8 expGetterMonId;
|
||||
u8 field_11;
|
||||
u8 wildVictorySong;
|
||||
u8 dynamicMoveType;
|
||||
u8 wrappedBy[4];
|
||||
u16 assistPossibleMoves[5 * 4]; // 5 mons, each of them knowing 4 moves
|
||||
u8 field_40;
|
||||
u8 field_41;
|
||||
u8 field_42;
|
||||
u8 field_43;
|
||||
u8 field_44;
|
||||
u8 field_45;
|
||||
u8 field_46;
|
||||
u8 field_47;
|
||||
u8 wrappedBy[MAX_BATTLERS_COUNT];
|
||||
u16 assistPossibleMoves[PARTY_SIZE * 4]; // Each of mons can know max 4 moves.
|
||||
u8 focusPunchBattlerId;
|
||||
u8 battlerPreventingSwitchout;
|
||||
u8 moneyMultiplier;
|
||||
@@ -462,7 +428,6 @@ struct BattleStruct
|
||||
u8 switchInAbilitiesCounter;
|
||||
u8 faintedActionsState;
|
||||
u8 faintedActionsBattlerId;
|
||||
u8 field_4F;
|
||||
u16 expValue;
|
||||
u8 field_52;
|
||||
u8 sentInPokes;
|
||||
@@ -471,7 +436,7 @@ struct BattleStruct
|
||||
u8 monToSwitchIntoId[MAX_BATTLERS_COUNT];
|
||||
u8 field_60[4][3];
|
||||
u8 runTries;
|
||||
u8 caughtMonNick[11];
|
||||
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1];
|
||||
u8 field_78;
|
||||
u8 safariGoNearCounter;
|
||||
u8 safariPkblThrowCounter;
|
||||
@@ -498,15 +463,7 @@ struct BattleStruct
|
||||
u8 wallyMovesState;
|
||||
u8 wallyWaitFrames;
|
||||
u8 wallyMoveFrames;
|
||||
u8 mirrorMoves[8]; // ask gamefreak why they declared it that way
|
||||
u8 field_A0;
|
||||
u8 field_A1;
|
||||
u8 field_A2;
|
||||
u8 field_A3;
|
||||
u8 field_A4;
|
||||
u8 field_A5;
|
||||
u8 field_A6;
|
||||
u8 field_A7;
|
||||
u8 lastTakenMove[MAX_BATTLERS_COUNT * 2 * 2]; // Last move that a battler was hit with. This field seems to erroneously take 16 bytes instead of 8.
|
||||
u16 hpOnSwitchout[2];
|
||||
u32 savedBattleTypeFlags;
|
||||
u8 abilityPreventingSwitchout;
|
||||
@@ -515,7 +472,7 @@ struct BattleStruct
|
||||
bool8 anyMonHasTransformed;
|
||||
void (*savedCallback)(void);
|
||||
u16 usedHeldItems[MAX_BATTLERS_COUNT];
|
||||
u8 chosenItem[4]; // why is this an u8?
|
||||
u8 chosenItem[MAX_BATTLERS_COUNT]; // why is this an u8?
|
||||
u8 AI_itemType[2];
|
||||
u8 AI_itemFlags[2];
|
||||
u16 choicedMove[MAX_BATTLERS_COUNT];
|
||||
@@ -526,7 +483,7 @@ struct BattleStruct
|
||||
u8 turnSideTracker;
|
||||
u8 fillerDC[0xDF-0xDC];
|
||||
u8 field_DF;
|
||||
u8 mirrorMoveArrays[32];
|
||||
u8 lastTakenMoveFrom[MAX_BATTLERS_COUNT * MAX_BATTLERS_COUNT * 2]; // a 3-D array [target][attacker][byte]
|
||||
u16 castformPalette[MAX_BATTLERS_COUNT][16];
|
||||
u8 field_180;
|
||||
u8 field_181;
|
||||
@@ -609,7 +566,7 @@ struct BattleScripting
|
||||
// rom_80A5C6C
|
||||
u8 GetBattlerSide(u8 battler);
|
||||
u8 GetBattlerPosition(u8 battler);
|
||||
u8 GetBattlerAtPosition(u8 battler);
|
||||
u8 GetBattlerAtPosition(u8 position);
|
||||
|
||||
struct BattleSpriteInfo
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -36,7 +36,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;
|
||||
@@ -60,36 +60,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);
|
||||
@@ -97,6 +109,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
|
||||
@@ -104,6 +124,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
|
||||
|
||||
6
include/battle_frontier_1.h
Normal file
6
include/battle_frontier_1.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_BATTLE_FRONTIER_1_H
|
||||
#define GUARD_BATTLE_FRONTIER_1_H
|
||||
|
||||
bool32 sub_8196034(void);
|
||||
|
||||
#endif // GUARD_BATTLE_FRONTIER_1_H
|
||||
@@ -11,7 +11,6 @@ void sub_81A895C(void);
|
||||
u16 sub_81A89A0(u8);
|
||||
void sub_81A8AF8(void);
|
||||
bool8 InBattlePike(void);
|
||||
void sub_819FA50(void);
|
||||
void sub_81AA078(u16*, u8);
|
||||
void sub_81A4C30(void);
|
||||
bool8 sub_81A6BF4(void);
|
||||
|
||||
@@ -11,7 +11,7 @@ struct PyramidBagResources
|
||||
u8 windowIds[5];
|
||||
u8 unk814;
|
||||
u8 unk815;
|
||||
u8 scrollArrowSpriteId;
|
||||
u8 scrollIndicatorsTaskId;
|
||||
const u8 *menuActionIds;
|
||||
u8 filler81C[0x820 - 0x81C];
|
||||
u8 menuActionsCount;
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef GUARD_BLEND_PALETTE_H
|
||||
#define GUARD_BLEND_PALETTE_H
|
||||
|
||||
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
|
||||
|
||||
#endif // GUARD_BLEND_PALETTE_H
|
||||
@@ -1,6 +1,13 @@
|
||||
#ifndef GUARD_BLIT_H
|
||||
#define GUARD_BLIT_H
|
||||
|
||||
struct Bitmap
|
||||
{
|
||||
u8* pixels;
|
||||
u32 width:16;
|
||||
u32 height:16;
|
||||
};
|
||||
|
||||
void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height);
|
||||
void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dst, u16 srcX, u16 srcY, u16 dstX, u16 dstY, u16 width, u16 height, u8 colorKey);
|
||||
void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue);
|
||||
|
||||
@@ -14,5 +14,6 @@ u8 sub_80B3050(void);
|
||||
void sub_80B360C(void);
|
||||
bool32 sub_80B2AF4(u16 *arg0, u16 *arg1);
|
||||
void sub_80B3AF8(u8 taskId);
|
||||
void task00_08081A90(u8 taskId);
|
||||
|
||||
#endif //GUARD_CABLE_CLUB_H
|
||||
|
||||
22
include/constants/apprentice.h
Normal file
22
include/constants/apprentice.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef GUARD_CONSTANTS_APPRENTICE_H
|
||||
#define GUARD_CONSTANTS_APPRENTICE_H
|
||||
|
||||
#define APPRENTICE_ASK_WHICH_LEVEL 0
|
||||
#define APPRENTICE_ASK_3SPECIES 1
|
||||
#define APPRENTICE_ASK_2SPECIES 2
|
||||
#define APPRENTICE_ASK_MOVES 3
|
||||
#define APPRENTICE_ASK_GIVE 4
|
||||
#define APPRENTICE_ASK_YES_NO 6
|
||||
|
||||
#define APPRENTICE_BUFF_SPECIES1 0
|
||||
#define APPRENTICE_BUFF_SPECIES2 1
|
||||
#define APPRENTICE_BUFF_SPECIES3 2
|
||||
#define APPRENTICE_BUFF_MOVE1 3
|
||||
#define APPRENTICE_BUFF_MOVE2 4
|
||||
#define APPRENTICE_BUFF_ITEM 5
|
||||
#define APPRENTICE_BUFF_NAME 6
|
||||
#define APPRENTICE_BUFF_EASY_CHAT 7
|
||||
#define APPRENTICE_BUFF_LEVEL 8
|
||||
#define APPRENTICE_BUFF_SPECIES4 9
|
||||
|
||||
#endif // GUARD_CONSTANTS_APPRENTICE_H
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -55,7 +361,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
|
||||
@@ -71,7 +377,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
|
||||
|
||||
@@ -96,4 +402,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
|
||||
|
||||
@@ -6,36 +6,36 @@
|
||||
#define EVENT_OBJ_GFX_BRENDAN_SURFING 2
|
||||
#define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE 3
|
||||
#define EVENT_OBJ_GFX_QUINTY_PLUMP 4
|
||||
#define EVENT_OBJ_GFX_LITTLE_BOY_1 5
|
||||
#define EVENT_OBJ_GFX_LITTLE_GIRL_1 6
|
||||
#define EVENT_OBJ_GFX_NINJA_BOY 5
|
||||
#define EVENT_OBJ_GFX_TWIN 6
|
||||
#define EVENT_OBJ_GFX_BOY_1 7
|
||||
#define EVENT_OBJ_GFX_GIRL_1 8
|
||||
#define EVENT_OBJ_GFX_BOY_2 9
|
||||
#define EVENT_OBJ_GFX_GIRL_2 10
|
||||
#define EVENT_OBJ_GFX_LITTLE_BOY_2 11
|
||||
#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12
|
||||
#define EVENT_OBJ_GFX_LITTLE_BOY 11
|
||||
#define EVENT_OBJ_GFX_LITTLE_GIRL 12
|
||||
#define EVENT_OBJ_GFX_BOY_3 13
|
||||
#define EVENT_OBJ_GFX_GIRL_3 14
|
||||
#define EVENT_OBJ_GFX_BOY_4 15
|
||||
#define EVENT_OBJ_GFX_RICH_BOY 15
|
||||
#define EVENT_OBJ_GFX_WOMAN_1 16
|
||||
#define EVENT_OBJ_GFX_FAT_MAN 17
|
||||
#define EVENT_OBJ_GFX_WOMAN_2 18
|
||||
#define EVENT_OBJ_GFX_POKEFAN_F 18
|
||||
#define EVENT_OBJ_GFX_MAN_1 19
|
||||
#define EVENT_OBJ_GFX_WOMAN_3 20
|
||||
#define EVENT_OBJ_GFX_OLD_MAN_1 21
|
||||
#define EVENT_OBJ_GFX_OLD_WOMAN_1 22
|
||||
#define EVENT_OBJ_GFX_WOMAN_2 20
|
||||
#define EVENT_OBJ_GFX_EXPERT_M 21
|
||||
#define EVENT_OBJ_GFX_EXPERT_F 22
|
||||
#define EVENT_OBJ_GFX_MAN_2 23
|
||||
#define EVENT_OBJ_GFX_WOMAN_4 24
|
||||
#define EVENT_OBJ_GFX_MAN_3 25
|
||||
#define EVENT_OBJ_GFX_WOMAN_5 26
|
||||
#define EVENT_OBJ_GFX_WOMAN_3 24
|
||||
#define EVENT_OBJ_GFX_POKEFAN_M 25
|
||||
#define EVENT_OBJ_GFX_WOMAN_4 26
|
||||
#define EVENT_OBJ_GFX_COOK 27
|
||||
#define EVENT_OBJ_GFX_WOMAN_6 28
|
||||
#define EVENT_OBJ_GFX_OLD_MAN_2 29
|
||||
#define EVENT_OBJ_GFX_OLD_WOMAN_2 30
|
||||
#define EVENT_OBJ_GFX_LINK_RECEPTIONIST 28
|
||||
#define EVENT_OBJ_GFX_OLD_MAN 29
|
||||
#define EVENT_OBJ_GFX_OLD_WOMAN 30
|
||||
#define EVENT_OBJ_GFX_CAMPER 31
|
||||
#define EVENT_OBJ_GFX_PICNICKER 32
|
||||
#define EVENT_OBJ_GFX_MAN_4 33
|
||||
#define EVENT_OBJ_GFX_WOMAN_7 34
|
||||
#define EVENT_OBJ_GFX_MAN_3 33
|
||||
#define EVENT_OBJ_GFX_WOMAN_5 34
|
||||
#define EVENT_OBJ_GFX_YOUNGSTER 35
|
||||
#define EVENT_OBJ_GFX_BUG_CATCHER 36
|
||||
#define EVENT_OBJ_GFX_PSYCHIC_M 37
|
||||
@@ -66,8 +66,8 @@
|
||||
#define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
|
||||
#define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE 63
|
||||
#define EVENT_OBJ_GFX_PROF_BIRCH 64
|
||||
#define EVENT_OBJ_GFX_MAN_5 65
|
||||
#define EVENT_OBJ_GFX_MAN_6 66
|
||||
#define EVENT_OBJ_GFX_MAN_4 65
|
||||
#define EVENT_OBJ_GFX_MAN_5 66
|
||||
#define EVENT_OBJ_GFX_REPORTER_M 67
|
||||
#define EVENT_OBJ_GFX_REPORTER_F 68
|
||||
#define EVENT_OBJ_GFX_BARD 69
|
||||
@@ -96,8 +96,8 @@
|
||||
#define EVENT_OBJ_GFX_MAY_SURFING 92
|
||||
#define EVENT_OBJ_GFX_MAY_FIELD_MOVE 93
|
||||
#define EVENT_OBJ_GFX_TRUCK 94
|
||||
#define EVENT_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
|
||||
#define EVENT_OBJ_GFX_VIGAROTH_FACING_AWAY 96
|
||||
#define EVENT_OBJ_GFX_VIGOROTH_CARRYING_BOX 95
|
||||
#define EVENT_OBJ_GFX_VIGOROTH_FACING_AWAY 96
|
||||
#define EVENT_OBJ_GFX_BIRCHS_BAG 97
|
||||
#define EVENT_OBJ_GFX_ZIGZAGOON_1 98
|
||||
#define EVENT_OBJ_GFX_ARTIST 99
|
||||
@@ -117,7 +117,7 @@
|
||||
#define EVENT_OBJ_GFX_MOVING_BOX 113
|
||||
#define EVENT_OBJ_GFX_CABLE_CAR 114
|
||||
#define EVENT_OBJ_GFX_SCIENTIST_2 115
|
||||
#define EVENT_OBJ_GFX_MAN_7 116
|
||||
#define EVENT_OBJ_GFX_DEVON_EMPLOYEE 116
|
||||
#define EVENT_OBJ_GFX_AQUA_MEMBER_M 117
|
||||
#define EVENT_OBJ_GFX_AQUA_MEMBER_F 118
|
||||
#define EVENT_OBJ_GFX_MAGMA_MEMBER_M 119
|
||||
@@ -190,7 +190,7 @@
|
||||
#define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL 186
|
||||
#define EVENT_OBJ_GFX_LATIAS 187
|
||||
#define EVENT_OBJ_GFX_LATIOS 188
|
||||
#define EVENT_OBJ_GFX_BOY_5 189
|
||||
#define EVENT_OBJ_GFX_GAMEBOY_KID 189
|
||||
#define EVENT_OBJ_GFX_CONTEST_JUDGE 190
|
||||
#define EVENT_OBJ_GFX_BRENDAN_WATERING 191
|
||||
#define EVENT_OBJ_GFX_MAY_WATERING 192
|
||||
|
||||
@@ -501,7 +501,7 @@
|
||||
#define FLAG_0x1F1 0x1F1
|
||||
#define FLAG_0x1F2 0x1F2
|
||||
#define FLAG_0x1F3 0x1F3
|
||||
#define FLAG_0x1F4 0x1F4
|
||||
#define FLAG_HIDDEN_ITEMS_START 0x1F4
|
||||
#define FLAG_0x1F5 0x1F5
|
||||
#define FLAG_0x1F6 0x1F6
|
||||
#define FLAG_0x1F7 0x1F7
|
||||
|
||||
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
|
||||
@@ -239,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
|
||||
@@ -411,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))
|
||||
|
||||
@@ -15,7 +15,7 @@ void TriggerPendingDaycareEgg(void);
|
||||
void RejectEggFromDayCare(void);
|
||||
void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation);
|
||||
void GiveEggFromDaycare(void);
|
||||
bool8 DoEggActions_CheckHatch(void);
|
||||
bool8 ShouldEggHatch(void);
|
||||
u16 GetSelectedMonNickAndSpecies(void);
|
||||
void GetDaycareMonNicknames(void);
|
||||
u8 GetDaycareState(void);
|
||||
|
||||
@@ -80,6 +80,7 @@ struct LockedAnimEventObjects
|
||||
};
|
||||
|
||||
extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
|
||||
extern const u8 gReflectionEffectPaletteMap[];
|
||||
|
||||
void sub_808D438(void);
|
||||
u8 GetMoveDirectionAnimNum(u8);
|
||||
@@ -101,17 +102,17 @@ void sub_80930E0(s16 *, s16 *, s16, s16);
|
||||
void EventObjectClearHeldMovement(struct EventObject *);
|
||||
void EventObjectClearHeldMovementIfActive(struct EventObject *);
|
||||
void TrySpawnEventObjects(s16, s16);
|
||||
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
||||
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8);
|
||||
u8 sprite_new(u8 graphicsId, u8 a1, s16 x, s16 y, u8 z, u8 direction);
|
||||
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subpriority);
|
||||
u8 show_sprite(u8, u8, u8);
|
||||
u8 SpawnSpecialEventObjectParameterized(u8, u8, u8, s16, s16, u8);
|
||||
u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z);
|
||||
u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
|
||||
void sub_8093038(s16, s16, s16 *, s16 *);
|
||||
void CameraObjectReset1(void);
|
||||
void EventObjectSetGraphicsId(struct EventObject *, u8);
|
||||
void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId);
|
||||
void EventObjectTurn(struct EventObject *, u8);
|
||||
void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8);
|
||||
const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8 graphicsId);
|
||||
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
|
||||
void FreeAndReserveObjectSpritePalettes(void);
|
||||
void sub_808E82C(u8, u8, u8, s16, s16);
|
||||
@@ -142,9 +143,27 @@ u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 d
|
||||
u8 GetFaceDirectionMovementAction(u32);
|
||||
u8 GetWalkNormalMovementAction(u32);
|
||||
u8 GetWalkFastMovementAction(u32);
|
||||
u8 GetRideWaterCurrentMovementAction(u32);
|
||||
u8 GetWalkFastestMovementAction(u32);
|
||||
u8 GetPlayerRunMovementAction(u32);
|
||||
u8 GetJumpInPlaceMovementAction(u32);
|
||||
u8 GetAcroWheelieFaceDirectionMovementAction(u32);
|
||||
u8 GetAcroPopWheelieFaceDirectionMovementAction(u32);
|
||||
u8 GetAcroEndWheelieFaceDirectionMovementAction(u32);
|
||||
u8 GetAcroWheelieHopFaceDirectionMovementAction(u32);
|
||||
u8 GetAcroWheelieHopDirectionMovementAction(u32);
|
||||
u8 GetAcroWheelieJumpDirectionMovementAction(u32);
|
||||
u8 GetJumpInPlaceTurnAroundMovementAction(u32);
|
||||
u8 GetAcroWheelieInPlaceDirectionMovementAction(u32);
|
||||
u8 GetAcroPopWheelieMoveDirectionMovementAction(u32);
|
||||
u8 GetAcroWheelieMoveDirectionMovementAction(u32);
|
||||
u8 GetAcroEndWheelieMoveDirectionMovementAction(u32);
|
||||
u8 GetFishingDirectionAnimNum(u8 direction);
|
||||
u8 GetAcroWheelieDirectionAnimNum(u8 direction);
|
||||
u8 GetFishingBiteDirectionAnimNum(u8 direction);
|
||||
u8 GetFishingNoCatchDirectionAnimNum(u8 direction);
|
||||
bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId);
|
||||
void EventObjectForceSetHeldMovement(struct EventObject *eventObject, u8 movementActionId);
|
||||
bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject);
|
||||
u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject);
|
||||
u8 EventObjectGetHeldMovementActionId(struct EventObject *eventObject);
|
||||
@@ -189,6 +208,11 @@ u8 GetMoveDirectionFasterAnimNum(u8);
|
||||
u8 GetMoveDirectionFastestAnimNum(u8);
|
||||
u8 GetLedgeJumpDirection(s16, s16, u8);
|
||||
void CameraObjectSetFollowedObjectId(u8 objectId);
|
||||
u16 GetObjectPaletteTag(u8 palSlot);
|
||||
void UpdateEventObjectSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
s16 sub_809773C(s16 a1);
|
||||
s16 sub_8097728(s16 a1);
|
||||
void CameraObjectReset2(void);
|
||||
|
||||
void MovementType_None(struct Sprite *);
|
||||
void MovementType_LookAround(struct Sprite *);
|
||||
@@ -249,6 +273,7 @@ u8 GetSlideMovementAction(u32);
|
||||
u8 GetJumpInPlaceMovementAction(u32);
|
||||
u8 GetJumpMovementAction(u32);
|
||||
u8 GetJump2MovementAction(u32);
|
||||
u8 CreateCopySpriteAt(struct Sprite *sprite, s16 x, s16 y, u8 subpriority);
|
||||
|
||||
u8 MovementType_WanderAround_Step0(struct EventObject *, struct Sprite *);
|
||||
u8 MovementType_WanderAround_Step1(struct EventObject *, struct Sprite *);
|
||||
|
||||
@@ -19,8 +19,8 @@ extern const u8 EventScript_TryDoDoubleTrainerBattle[];
|
||||
extern const u8 EventScript_271362[];
|
||||
extern const u8 EventScript_TryDoDoubleRematchBattle[];
|
||||
extern const u8 EventScript_2713D1[];
|
||||
extern const u8 EventScript_2766A2[];
|
||||
extern const u8 EventScript_2766A6[];
|
||||
extern const u8 EventScript_SecretPower1[];
|
||||
extern const u8 EventScript_SecretPower2[];
|
||||
|
||||
|
||||
extern const u8 gTVBravoTrainerText00[];
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
|
||||
struct FieldInput
|
||||
{
|
||||
u8 pressedAButton:1;
|
||||
u8 input_field_0_1:1;
|
||||
u8 pressedStartButton:1;
|
||||
u8 pressedSelectButton:1;
|
||||
u8 input_field_0_4:1;
|
||||
u8 input_field_0_5:1;
|
||||
u8 input_field_0_6:1;
|
||||
u8 pressedBButton:1;
|
||||
u8 input_field_1_0:1;
|
||||
u8 input_field_1_1:1;
|
||||
u8 input_field_1_2:1;
|
||||
u8 input_field_1_3:1;
|
||||
u8 input_field_1_4:1;
|
||||
u8 input_field_1_5:1;
|
||||
u8 input_field_1_6:1;
|
||||
u8 input_field_1_7:1;
|
||||
bool8 pressedAButton:1;
|
||||
bool8 checkStandardWildEncounter:1;
|
||||
bool8 pressedStartButton:1;
|
||||
bool8 pressedSelectButton:1;
|
||||
bool8 input_field_0_4:1;
|
||||
bool8 input_field_0_5:1;
|
||||
bool8 tookStep:1;
|
||||
bool8 pressedBButton:1;
|
||||
bool8 input_field_1_0:1;
|
||||
bool8 input_field_1_1:1;
|
||||
bool8 input_field_1_2:1;
|
||||
bool8 input_field_1_3:1;
|
||||
bool8 input_field_1_4:1;
|
||||
bool8 input_field_1_5:1;
|
||||
bool8 input_field_1_6:1;
|
||||
bool8 input_field_1_7:1;
|
||||
u8 dpadDirection;
|
||||
u8 input_field_3;
|
||||
};
|
||||
@@ -28,15 +28,15 @@ void FieldGetPlayerInput(struct FieldInput *pStruct, u16 keys, u16 heldKeys);
|
||||
int sub_809C014(struct FieldInput *pStruct);
|
||||
u8 *sub_80682A8(struct MapPosition *, u8, u8);
|
||||
void overworld_poison_timer_set(void);
|
||||
void prev_quest_postbuffer_cursor_backup_reset(void);
|
||||
void RestartWildEncounterImmunitySteps(void);
|
||||
u8 *sub_8068E24(struct MapPosition *);
|
||||
u8 *GetEventObjectScriptPointerPlayerFacing(void);
|
||||
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
|
||||
const u8 *GetEventObjectScriptPointerPlayerFacing(void);
|
||||
bool8 sub_8068870(u16 a);
|
||||
bool8 sub_8068894(void);
|
||||
bool8 sub_8068A64(struct MapPosition *, u16);
|
||||
u8 sub_8068F18(void);
|
||||
bool8 dive_warp(struct MapPosition *position, u16 b);
|
||||
void sub_809D2BC(void);
|
||||
int SetCableClubWarp(void);
|
||||
u8 TrySetDiveWarp(void);
|
||||
|
||||
#endif // GUARD_FIELDCONTROLAVATAR_H
|
||||
|
||||
@@ -1,7 +1,3 @@
|
||||
//
|
||||
// Created by scott on 9/7/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_EFFECT_HELPERS_H
|
||||
#define GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
@@ -10,29 +6,33 @@
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 sub_8154228(void);
|
||||
u8 CreateWarpArrowSprite(void);
|
||||
u8 sub_8155800(u8 oldSpriteId);
|
||||
void sub_81555AC(u8, u8);
|
||||
bool8 sub_8155DA0(struct EventObject *);
|
||||
void sub_8155D78(struct EventObject *);
|
||||
void sub_81555AC(u8, u8);
|
||||
void ash(s16, s16, u16, s16);
|
||||
void StartAshFieldEffect(s16, s16, u16, s16);
|
||||
void SetUpReflection(struct EventObject*, struct Sprite*, u8);
|
||||
u32 StartFieldEffectForEventObject(u8, struct EventObject*);
|
||||
u8 sub_81546C8(u8, u8, u8, s16, s16);
|
||||
u8 FindTallGrassFieldEffectSpriteId(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
void sub_8155F80(struct Sprite*);
|
||||
void oamc_shadow(struct Sprite*);
|
||||
void unc_grass_normal(struct Sprite*);
|
||||
void UpdateShadowFieldEffect(struct Sprite*);
|
||||
void UpdateTallGrassFieldEffect(struct Sprite*);
|
||||
void sub_81561D0(struct Sprite*);
|
||||
void sub_8155460(struct Sprite*);
|
||||
void sub_8155658(struct Sprite*);
|
||||
void UpdateAshFieldEffect(struct Sprite*);
|
||||
void UpdateSurfBlobFieldEffect(struct Sprite*);
|
||||
void sub_8156194(struct Sprite*);
|
||||
void sub_8154C60(struct Sprite*);
|
||||
void sub_8154D90(struct Sprite*);
|
||||
void unc_grass_tall(struct Sprite*);
|
||||
void sub_81559BC(struct Sprite*);
|
||||
void sub_8155C88(struct Sprite*);
|
||||
void sub_8154A10(struct Sprite*);
|
||||
void sub_8155158(struct Sprite*);
|
||||
void sub_8155AEC(struct Sprite*);
|
||||
void sub_8155E50(struct Sprite*);
|
||||
void UpdateFootprintsTireTracksFieldEffect(struct Sprite*);
|
||||
void UpdateSplashFieldEffect(struct Sprite*);
|
||||
void UpdateLongGrassFieldEffect(struct Sprite*);
|
||||
void UpdateSandPileFieldEffect(struct Sprite*);
|
||||
void UpdateDisguiseFieldEffect(struct Sprite*);
|
||||
void UpdateShortGrassFieldEffect(struct Sprite*);
|
||||
void UpdateHotSpringsWaterFieldEffect(struct Sprite*);
|
||||
void UpdateBubblesFieldEffect(struct Sprite*);
|
||||
void UpdateSparkleFieldEffect(struct Sprite*);
|
||||
void SetSpriteInvisible(u8 spriteId);
|
||||
void ShowWarpArrowSprite(u8 spriteId, u8 direction, s16 x, s16 y);
|
||||
void sub_8155604(u8 spriteId, u8 value, s16 data1);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
#ifndef GUARD_FIELD_MESSAGE_BOX_H
|
||||
#define GUARD_FIELD_MESSAGE_BOX_H
|
||||
|
||||
enum
|
||||
{
|
||||
FIELD_MESSAGE_BOX_HIDDEN,
|
||||
FIELD_MESSAGE_BOX_UNUSED,
|
||||
FIELD_MESSAGE_BOX_NORMAL,
|
||||
FIELD_MESSAGE_BOX_AUTO_SCROLL,
|
||||
};
|
||||
|
||||
bool8 ShowFieldMessage(const u8 *message);
|
||||
bool8 sub_8098238(const u8 *message);
|
||||
bool8 ShowFieldAutoScrollMessage(const u8 *message);
|
||||
void HideFieldMessageBox(void);
|
||||
bool8 IsFieldMessageBoxHidden(void);
|
||||
u8 GetFieldMessageBoxMode(void);
|
||||
void sub_8098374(void);
|
||||
|
||||
#endif // GUARD_FIELD_MESSAGE_BOX_H
|
||||
|
||||
@@ -1,6 +1,17 @@
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
enum {
|
||||
PLAYER_AVATAR_STATE_NORMAL,
|
||||
PLAYER_AVATAR_STATE_MACH_BIKE,
|
||||
PLAYER_AVATAR_STATE_ACRO_BIKE,
|
||||
PLAYER_AVATAR_STATE_SURFING,
|
||||
PLAYER_AVATAR_STATE_UNDERWATER,
|
||||
PLAYER_AVATAR_STATE_FIELD_MOVE,
|
||||
PLAYER_AVATAR_STATE_FISHING,
|
||||
PLAYER_AVATAR_STATE_WATERING,
|
||||
};
|
||||
|
||||
void player_step(u8 a, u16 b, u16 c);
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
@@ -13,7 +24,7 @@ u8 GetPlayerMovementDirection(void);
|
||||
u8 PlayerGetCopyableMovement(void);
|
||||
void PlayerGoSpeed1(u8);
|
||||
void PlayerGoSpeed2(u8);
|
||||
void PlayerGoSpeed3(u8);
|
||||
void PlayerRideWaterCurrent(u8);
|
||||
void PlayerGoSpeed4(u8);
|
||||
void PlayerOnBikeCollide(u8);
|
||||
void PlayerFaceDirection(u8 a);
|
||||
@@ -44,23 +55,8 @@ u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
|
||||
void SetPlayerAvatarStateMask(u8 a);
|
||||
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
|
||||
u8 GetJumpSpecialMovementAction(u32);
|
||||
|
||||
bool8 ForcedMovement_None(void);
|
||||
bool8 ForcedMovement_Slip(void);
|
||||
bool8 ForcedMovement_WalkSouth(void);
|
||||
bool8 ForcedMovement_WalkNorth(void);
|
||||
bool8 ForcedMovement_WalkWest(void);
|
||||
bool8 ForcedMovement_WalkEast(void);
|
||||
bool8 ForcedMovement_PushedSouthByCurrent(void);
|
||||
bool8 ForcedMovement_PushedNorthByCurrent(void);
|
||||
bool8 ForcedMovement_PushedWestByCurrent(void);
|
||||
bool8 ForcedMovement_PushedEastByCurrent(void);
|
||||
bool8 ForcedMovement_SlideSouth(void);
|
||||
bool8 ForcedMovement_SlideNorth(void);
|
||||
bool8 ForcedMovement_SlideWest(void);
|
||||
bool8 ForcedMovement_SlideEast(void);
|
||||
bool8 ForcedMovement_0xBB(void);
|
||||
bool8 ForcedMovement_0xBC(void);
|
||||
bool8 ForcedMovement_MuddySlope(void);
|
||||
bool8 PartyHasMonWithSurf(void);
|
||||
bool8 IsPlayerFacingSurfableFishableWater(void);
|
||||
bool8 IsPlayerSurfingNorth(void);
|
||||
|
||||
#endif // GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
@@ -14,6 +14,6 @@ enum {
|
||||
};
|
||||
|
||||
void sub_80F972C(void);
|
||||
unsigned int overworld_poison(void);
|
||||
int DoPoisonFieldEffect(void);
|
||||
|
||||
#endif //GUARD_FIELD_POISON_H
|
||||
|
||||
@@ -16,5 +16,9 @@ void sub_80AC3E4(void);
|
||||
void PreservePaletteInWeather(u8);
|
||||
void sub_80AF128(void);
|
||||
void sub_80AB104(u8);
|
||||
void sub_80AF80C(u8);
|
||||
void sub_80AF828(void);
|
||||
void sub_80AF838(void);
|
||||
void sub_80B0268(void);
|
||||
|
||||
#endif //GUARD_FIELD_SCREEN_H
|
||||
|
||||
@@ -5,5 +5,15 @@ u8 GetLeadMonIndex(void);
|
||||
u8 sub_813B260(void);
|
||||
u16 get_unknown_box_id(void);
|
||||
bool8 InMultiBattleRoom(void);
|
||||
void sub_813BF10(void);
|
||||
void increment_var_x4026_on_birth_island_modulo_100(void);
|
||||
bool8 sub_813B3B0(void);
|
||||
bool8 ShouldDoBrailleRegicePuzzle(void);
|
||||
bool32 is_tile_that_overrides_player_control(void);
|
||||
bool32 sub_8138120(void);
|
||||
bool32 sub_8138168(void);
|
||||
bool32 sub_81381B0(void);
|
||||
bool32 sub_81381F8(void);
|
||||
bool32 CountSSTidalStep(u16 delta);
|
||||
|
||||
#endif // GUARD_FIELD_SPECIALS_H
|
||||
|
||||
@@ -155,7 +155,7 @@ void sub_80AEDBC(void);
|
||||
void SetSav1WeatherFromCurrMapHeader(void);
|
||||
// ...
|
||||
void DoCurrentWeather(void);
|
||||
void sub_8080750();
|
||||
void sub_8080750(void);
|
||||
|
||||
bool8 IsWeatherNotFadingIn(void);
|
||||
bool8 IsWeatherChangeComplete(void);
|
||||
|
||||
@@ -12,6 +12,8 @@ void sub_80FA794(s16 x, s16 y);
|
||||
void CreateRecordMixingSprite(void);
|
||||
void DestroyRecordMixingSprite(void);
|
||||
void overworld_poison_effect(void);
|
||||
void sub_80FA970(s16);
|
||||
void sub_80FA9D0(void);
|
||||
bool8 sub_80FADE4(u16, u8);
|
||||
|
||||
#endif //GUARD_FLDEFF_80F9BCC_H
|
||||
|
||||
@@ -63,17 +63,16 @@ struct EventObjectTemplate
|
||||
struct WarpEvent
|
||||
{
|
||||
s16 x, y;
|
||||
s8 warpId;
|
||||
u8 mapGroup;
|
||||
u8 elevation;
|
||||
u8 warpId;
|
||||
u8 mapNum;
|
||||
u8 unk7;
|
||||
u8 mapGroup;
|
||||
};
|
||||
|
||||
struct CoordEvent
|
||||
{
|
||||
s16 x, y;
|
||||
u8 unk4;
|
||||
u8 filler_5;
|
||||
u8 elevation;
|
||||
u16 trigger;
|
||||
u16 index;
|
||||
u8 filler_A[0x2];
|
||||
@@ -83,16 +82,15 @@ struct CoordEvent
|
||||
struct BgEvent
|
||||
{
|
||||
u16 x, y;
|
||||
u8 unk4;
|
||||
u8 elevation;
|
||||
u8 kind;
|
||||
// 0x2 padding for the union beginning.
|
||||
union { // carried over from diego's FR/LG work, seems to be the same struct
|
||||
// in gen 3, "kind" (0x3 in BgEvent struct) determines the method to read the union.
|
||||
u8 *script;
|
||||
|
||||
// hidden item type probably
|
||||
// hidden item type
|
||||
struct {
|
||||
u8 filler6[0x2];
|
||||
u16 item;
|
||||
u16 hiddenItemId; // flag offset to determine flag lookup
|
||||
} hiddenItem;
|
||||
|
||||
@@ -234,7 +232,7 @@ struct EventObjectGraphicsInfo
|
||||
#define PLAYER_AVATAR_FLAG_MACH_BIKE (1 << 1)
|
||||
#define PLAYER_AVATAR_FLAG_ACRO_BIKE (1 << 2)
|
||||
#define PLAYER_AVATAR_FLAG_SURFING (1 << 3)
|
||||
#define PLAYER_AVATAR_FLAG_4 (1 << 4)
|
||||
#define PLAYER_AVATAR_FLAG_UNDERWATER (1 << 4)
|
||||
#define PLAYER_AVATAR_FLAG_5 (1 << 5)
|
||||
#define PLAYER_AVATAR_FLAG_6 (1 << 6)
|
||||
#define PLAYER_AVATAR_FLAG_DASH (1 << 7)
|
||||
|
||||
@@ -61,8 +61,6 @@
|
||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||
|
||||
#define HEAP_SIZE 0x1C000
|
||||
|
||||
extern u8 gStringVar1[];
|
||||
extern u8 gStringVar2[];
|
||||
extern u8 gStringVar3[];
|
||||
@@ -86,6 +84,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,
|
||||
@@ -93,6 +96,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
|
||||
@@ -167,12 +176,14 @@ enum
|
||||
OPTIONS_BATTLE_STYLE_SET
|
||||
};
|
||||
|
||||
struct Coords8 {
|
||||
struct Coords8
|
||||
{
|
||||
s8 x;
|
||||
s8 y;
|
||||
};
|
||||
|
||||
struct UCoords8 {
|
||||
struct UCoords8
|
||||
{
|
||||
u8 x;
|
||||
u8 y;
|
||||
};
|
||||
@@ -284,11 +295,25 @@ struct UnknownSaveBlock2Struct
|
||||
u8 field_EB;
|
||||
}; // sizeof = 0xEC
|
||||
|
||||
struct UnkRecordMixingStruct
|
||||
struct ApprenticeMon
|
||||
{
|
||||
u8 field_0[0x34];
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
u16 item;
|
||||
};
|
||||
|
||||
struct Apprentice
|
||||
{
|
||||
u8 id:5;
|
||||
u8 lvlMode:2; // + 1
|
||||
u8 field_1;
|
||||
u8 number;
|
||||
struct ApprenticeMon monData[3];
|
||||
u16 easyChatWords[6];
|
||||
u8 playerId[4];
|
||||
u8 field_38[10];
|
||||
u8 playerName[PLAYER_NAME_LENGTH];
|
||||
u8 language;
|
||||
u32 unk40;
|
||||
};
|
||||
|
||||
struct UnknownPokemonStruct
|
||||
@@ -455,6 +480,28 @@ struct BattleFrontier
|
||||
/*0xEFC*/ struct FrontierMonData field_EFC[3];
|
||||
};
|
||||
|
||||
struct Sav2_B8
|
||||
{
|
||||
u8 unk0_0:2;
|
||||
u8 unk0_1:2;
|
||||
u8 unk0_2:2;
|
||||
u8 unk0_3:2;
|
||||
u16 unk2;
|
||||
};
|
||||
|
||||
struct PlayersApprentice
|
||||
{
|
||||
/*0xB0*/ u8 id;
|
||||
/*0xB1*/ u8 activeLvlMode:2; // +1, 0 means not active
|
||||
/*0xB1*/ u8 field_B1_1:4;
|
||||
/*0xB1*/ u8 field_B1_2:2;
|
||||
/*0xB2*/ u8 field_B2_0:3;
|
||||
/*0xB2*/ u8 field_B2_1:2;
|
||||
/*0xB3*/ u8 field_B3;
|
||||
/*0xB4*/ u8 monIds[3];
|
||||
/*0xB8*/ struct Sav2_B8 field_B8[9];
|
||||
};
|
||||
|
||||
struct SaveBlock2
|
||||
{
|
||||
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1];
|
||||
@@ -478,14 +525,8 @@ struct SaveBlock2
|
||||
/*0xA0*/ struct Time lastBerryTreeUpdate;
|
||||
/*0xA8*/ u32 field_A8;
|
||||
/*0xAC*/ u32 encryptionKey;
|
||||
|
||||
// TODO: fix and verify labels
|
||||
/*0xB0*/ u8 field_B0;
|
||||
/*0xB1*/ u8 field_B1;
|
||||
/*0xB2*/ u8 field_B2_0:3;
|
||||
/*0xB2*/ u8 field_B2_1:2;
|
||||
/*0xB3*/ u8 field_B3[0x29];
|
||||
/*0xDC*/ struct UnkRecordMixingStruct field_DC[4];
|
||||
/*0xB0*/ struct PlayersApprentice playerApprentice;
|
||||
/*0xDC*/ struct Apprentice apprentices[4];
|
||||
/*0x1EC*/ struct BerryCrush berryCrush;
|
||||
/*0x1FC*/ struct PokemonJumpResults pokeJump;
|
||||
/*0x20C*/ struct BerryPickingResults berryPick;
|
||||
@@ -935,13 +976,4 @@ struct UnkStruct_8054FF8
|
||||
u16 field_C;
|
||||
};
|
||||
|
||||
struct Bitmap // TODO: Find a better spot for this
|
||||
{
|
||||
u8* pixels;
|
||||
u32 width:16;
|
||||
u32 height:16;
|
||||
};
|
||||
|
||||
extern u8 gReservedSpritePaletteCount;
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
@@ -4029,4 +4029,8 @@ extern const u8 gUnknown_08D97CF4[];
|
||||
extern const u8 gStatusGfx_Icons[];
|
||||
extern const u8 gStatusPal_Icons[];
|
||||
|
||||
extern const u8 gBuyMenuFrame_Gfx[];
|
||||
extern const u16 gBuyMenuFrame_Tilemap[];
|
||||
extern const u16 gMenuMoneyPal[];
|
||||
|
||||
#endif //GUARD_GRAPHICS_H
|
||||
|
||||
@@ -54,8 +54,11 @@ extern u16 gSpecialVar_ItemId;
|
||||
void sub_81AAC14(void);
|
||||
void sub_81AAC50(void);
|
||||
void sub_81AAC70(void);
|
||||
void sub_81AAC28(void);
|
||||
void bag_menu_mail_related(void);
|
||||
void CB2_BagMenuFromStartMenu(void);
|
||||
u8 sub_81ABB2C(u8 pocketId);
|
||||
bool8 UseRegisteredKeyItemOnField(void);
|
||||
void CB2_GoToSellMenu(void);
|
||||
|
||||
#endif //GUARD_item_menu_H
|
||||
|
||||
@@ -97,7 +97,8 @@ enum
|
||||
EXCHANGE_IN_PROGRESS,
|
||||
EXCHANGE_STAT_4,
|
||||
EXCHANGE_STAT_5,
|
||||
EXCHANGE_STAT_6
|
||||
EXCHANGE_STAT_6,
|
||||
EXCHANGE_STAT_7
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -258,6 +259,8 @@ void sub_800AF18(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 un
|
||||
void sub_800B348(void);
|
||||
void sub_800B3A4(u32 who);
|
||||
bool32 sub_800A07C(void);
|
||||
void sub_800AB98(void);
|
||||
void sub_800AA04(u8 a0);
|
||||
|
||||
extern u16 gLinkPartnersHeldKeys[6];
|
||||
extern u32 gLinkDebugSeed;
|
||||
@@ -292,6 +295,7 @@ extern u32 gFiller_0300315c;
|
||||
extern u32 gFiller_03004138;
|
||||
extern u32 gFiller_0300413C;
|
||||
extern u32 gFiller_03003080;
|
||||
extern struct LinkPlayer gLocalLinkPlayer;
|
||||
|
||||
bool32 Link_AnyPartnersPlayingRubyOrSapphire(void);
|
||||
bool32 sub_800A03C(void);
|
||||
@@ -302,5 +306,10 @@ bool8 sub_800A4D8(u8 a0);
|
||||
u8 sub_800A9D8(void);
|
||||
u8 sub_800A0C8(s32, s32);
|
||||
u16 *sub_801B058(void);
|
||||
u8 sub_800A9A8(void);
|
||||
void sub_800AD10(void);
|
||||
void sub_800AB18(void);
|
||||
void sub_8009F18(void);
|
||||
bool8 sub_800AA60(void);
|
||||
|
||||
#endif // GUARD_LINK_H
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
}
|
||||
|
||||
extern u8 gHeap[];
|
||||
|
||||
void *Alloc(u32 size);
|
||||
void *AllocZeroed(u32 size);
|
||||
void Free(void *pointer);
|
||||
|
||||
@@ -50,7 +50,7 @@ void blit_move_info_icon(u8 winId, u8 a2, u16 x, u16 y);
|
||||
void reset_temp_tile_data_buffers(void);
|
||||
void *decompress_and_copy_tile_data_to_vram(u8 bgId, const void *src, int size, u16 offset, u8 mode);
|
||||
bool8 free_temp_tile_data_buffers_if_possible(void);
|
||||
struct WindowTemplate CreateWindowTemplate(u8, u8, u8, u8, u8, u8, u16);
|
||||
struct WindowTemplate CreateWindowTemplate(u8 bg, u8 left, u8 top, u8 width, u8 height, u8 paletteNum, u16 baseBlock);
|
||||
void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirstTileNum, u8 borderPalette, u8 initialCursorPos);
|
||||
void DecompressAndLoadBgGfxUsingHeap(u8 bgId, const void *src, int size, u16 offset, u8 mode);
|
||||
s8 Menu_ProcessInputNoWrap_(void);
|
||||
@@ -87,5 +87,6 @@ void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 left
|
||||
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);
|
||||
void sub_8197AE8(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_IsRecordMixingSecretBasePC(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_IsSecretBaseTvOrShield(u8);
|
||||
bool8 MetatileBehavior_IsMB_C5(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSandOrnament(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseShieldOrToyTV(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);
|
||||
@@ -106,14 +106,14 @@ bool8 MetatileBehavior_IsPacifilogHorizontalLog2(u8);
|
||||
bool8 MetatileBehavior_IsPacifidlogLog(u8);
|
||||
bool8 MetatileBehavior_IsTrickHousePuzzleDoor(u8);
|
||||
bool8 MetatileBehavior_IsRegionMap(u8);
|
||||
bool8 MetatileBehavior_IsClosedSootopolisGymDoor(u8);
|
||||
bool8 MetatileBehavior_IsClosedSootopolisDoor(u8);
|
||||
bool8 MetatileBehavior_IsUnknownClosedDoor(u8);
|
||||
bool8 MetatileBehavior_IsRoulette(u8);
|
||||
bool8 MetatileBehavior_IsPokeblockFeeder(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseJumpMat(u8);
|
||||
bool8 MetatileBehavior_IsSecretBaseSpinMat(u8);
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
|
||||
bool8 MetatileBehavior_IsLavaridgeB1FWarp(u8);
|
||||
bool8 MetatileBehavior_IsLavaridge1FWarp(u8);
|
||||
bool8 MetatileBehavior_IsAquaHideoutWarp(u8);
|
||||
bool8 MetatileBehavior_IsWarpOrBridge(u8);
|
||||
bool8 MetatileBehavior_IsMossdeepGymWarp(u8);
|
||||
@@ -130,7 +130,7 @@ bool8 MetatileBehavior_IsHorizontalRail(u8);
|
||||
bool8 MetatileBehavior_IsSeaweed(u8);
|
||||
bool8 MetatileBehavior_IsRunningDisallowed(u8);
|
||||
bool8 MetatileBehavior_IsCuttableGrass(u8);
|
||||
bool8 MetatileBehavior_IsRunningShoesInstruction(u8);
|
||||
bool8 MetatileBehavior_IsRunningShoesManual(u8);
|
||||
bool8 MetatileBehavior_IsPictureBookShelf(u8);
|
||||
bool8 MetatileBehavior_IsBookShelf(u8);
|
||||
bool8 MetatileBehavior_IsPokeCenterBookShelf(u8);
|
||||
|
||||
@@ -25,6 +25,9 @@ extern u16 *gBGTilemapBuffers3;
|
||||
|
||||
extern void (*gFieldCallback)(void);
|
||||
|
||||
extern u8 gUnknown_03005DB4;
|
||||
extern u8 gFieldLinkPlayerCount;
|
||||
|
||||
// Exported ROM declarations
|
||||
extern const struct UCoords32 gDirectionToVectors[];
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ bool8 unref_sub_8073D3C(u32, u8, u8, u8, u16);
|
||||
void unref_sub_8073D84(u8, u32 *);
|
||||
void ResetPaletteStructByUid(u16);
|
||||
void ResetPaletteStruct(u8);
|
||||
void ResetPaletteFadeControl();
|
||||
void ResetPaletteFadeControl(void);
|
||||
void unref_sub_8074168(u16);
|
||||
void unref_sub_8074194(u16);
|
||||
void InvertPlttBuffer(u32);
|
||||
|
||||
@@ -50,8 +50,8 @@ void sub_81B1370(u8 taskId);
|
||||
void display_pokemon_menu_message(u8 windowId);
|
||||
void sub_81B1F18(u8 taskId, u8 pokemonIdx, s8 a, s16 hp, TaskFunc func);
|
||||
void sub_81B1B5C(void *a, u8 b);
|
||||
u8 sub_81B1BD4();
|
||||
void sub_81B8448();
|
||||
u8 sub_81B1BD4(void);
|
||||
void sub_81B8448(void);
|
||||
void sub_81B8518(u8 unused);
|
||||
u8 sub_81B1360(void);
|
||||
void sub_81B8904(u8 arg0, void (*callback)(void));
|
||||
@@ -70,6 +70,5 @@ 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
|
||||
|
||||
@@ -94,6 +94,8 @@
|
||||
#define MON_DATA_SPATK2 87
|
||||
#define MON_DATA_SPDEF2 88
|
||||
|
||||
#define MAX_LEVEL 100
|
||||
|
||||
#define OT_ID_RANDOM_NO_SHINY 2
|
||||
#define OT_ID_PRESET 1
|
||||
#define OT_ID_PLAYER_ID 0
|
||||
@@ -110,10 +112,47 @@
|
||||
#define MON_FEMALE 0xFE
|
||||
#define MON_GENDERLESS 0xFF
|
||||
|
||||
#define TYPE_NORMAL 0x00
|
||||
#define TYPE_FIGHTING 0x01
|
||||
#define TYPE_FLYING 0x02
|
||||
#define TYPE_POISON 0x03
|
||||
#define TYPE_GROUND 0x04
|
||||
#define TYPE_ROCK 0x05
|
||||
#define TYPE_BUG 0x06
|
||||
#define TYPE_GHOST 0x07
|
||||
#define TYPE_STEEL 0x08
|
||||
#define TYPE_MYSTERY 0x09
|
||||
#define TYPE_FIRE 0x0a
|
||||
#define TYPE_WATER 0x0b
|
||||
#define TYPE_GRASS 0x0c
|
||||
#define TYPE_ELECTRIC 0x0d
|
||||
#define TYPE_PSYCHIC 0x0e
|
||||
#define TYPE_ICE 0x0f
|
||||
#define TYPE_DRAGON 0x10
|
||||
#define TYPE_DARK 0x11
|
||||
|
||||
#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0
|
||||
#define FRIENDSHIP_EVENT_VITAMIN 0x1 // unused
|
||||
#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 // unused
|
||||
#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3
|
||||
#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4
|
||||
#define FRIENDSHIP_EVENT_WALKING 0x5
|
||||
#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6
|
||||
#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7
|
||||
#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8
|
||||
|
||||
#define STATUS_PRIMARY_NONE 0x0
|
||||
#define STATUS_PRIMARY_POISON 0x1
|
||||
#define STATUS_PRIMARY_PARALYSIS 0x2
|
||||
#define STATUS_PRIMARY_SLEEP 0x3
|
||||
#define STATUS_PRIMARY_FREEZE 0x4
|
||||
#define STATUS_PRIMARY_BURN 0x5
|
||||
#define STATUS_PRIMARY_POKERUS 0x6
|
||||
#define STATUS_PRIMARY_FAINTED 0x7
|
||||
|
||||
#define MAX_TOTAL_EVS 510
|
||||
#define NUM_STATS 6
|
||||
#define UNOWN_FORM_COUNT 28
|
||||
#define MAX_MON_LEVEL 100
|
||||
|
||||
struct PokemonSubstruct0
|
||||
{
|
||||
@@ -240,32 +279,6 @@ struct PokemonStorage
|
||||
/*0x83C2*/ u8 boxWallpapers[14];
|
||||
};
|
||||
|
||||
struct UnknownPokemonSubStruct2
|
||||
{
|
||||
u16 species;
|
||||
u16 moves[4];
|
||||
u16 item;
|
||||
};
|
||||
|
||||
struct UnknownPokemonStruct2
|
||||
{
|
||||
u8 field_0_0 : 5;
|
||||
u8 field_0_1 : 2;
|
||||
u8 field_1;
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
struct UnknownPokemonSubStruct2 mons[3];
|
||||
u8 field_28[23];
|
||||
u8 language;
|
||||
};
|
||||
|
||||
struct UnknownPokemonStruct3
|
||||
{
|
||||
u8 field_0[48];
|
||||
u16 field_30;
|
||||
u8 field_32[38];
|
||||
};
|
||||
|
||||
struct Unknown_806F160_Struct
|
||||
{
|
||||
u8 field_0_0:4;
|
||||
@@ -447,7 +460,7 @@ extern const u8 gFacilityClassToTrainerClass[];
|
||||
extern const struct BaseStats gBaseStats[];
|
||||
extern const u8 *const gItemEffectTable[];
|
||||
extern const struct Evolution gEvolutionTable[][EVOS_PER_MON];
|
||||
extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1];
|
||||
extern const u32 gExperienceTables[][MAX_LEVEL + 1];
|
||||
extern const u16 *const gLevelUpLearnsets[];
|
||||
extern const u8 gUnknown_08329D22[];
|
||||
extern const u8 gUnknown_08329D26[];
|
||||
@@ -472,7 +485,7 @@ void CreateMonWithIVsOTID(struct Pokemon *mon, u16 species, u8 level, u8 *ivs, u
|
||||
void CreateMonWithEVSpread(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 evSpread);
|
||||
void sub_806819C(struct Pokemon *mon, struct UnknownPokemonStruct *src);
|
||||
void sub_8068338(struct Pokemon *mon, struct UnknownPokemonStruct *src, bool8 lvl50);
|
||||
void sub_8068528(struct Pokemon *mon, const struct UnknownPokemonStruct2 *src, u8 monId);
|
||||
void CreateApprenticeMon(struct Pokemon *mon, const struct Apprentice *src, u8 monId);
|
||||
void CreateMonWithEVSpreadPersonalityOTID(struct Pokemon *mon, u16 species, u8 level, u8 nature, u8 fixedIV, u8 evSpread, u32 otId);
|
||||
void sub_80686FC(struct Pokemon *mon, struct UnknownPokemonStruct *dest);
|
||||
void CreateObedientMon(struct Pokemon *mon, u16 species, u8 level, u8 fixedIV, u8 hasFixedPersonality, u32 fixedPersonality, u8 otIdType, u32 fixedOtId);
|
||||
|
||||
@@ -28,5 +28,13 @@ u16 sub_81D2C3C(void);
|
||||
void sub_81D2C50(void);
|
||||
u8 sub_81D28C8(const struct ListMenuItem *items, u16 numChoices);
|
||||
void sub_81D2824(u16);
|
||||
bool32 InTrainerHill(void);
|
||||
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
|
||||
u32 sub_81D427C(void);
|
||||
void sub_81D4998(void);
|
||||
u8 GetCurrentTrainerHillMapId(void);
|
||||
u8 sub_81D6490(void);
|
||||
const struct WarpEvent *sub_81D6120(void);
|
||||
const struct WarpEvent *sub_81D6134(u8);
|
||||
|
||||
#endif //GUARD_POKENAV_H
|
||||
|
||||
@@ -12,7 +12,7 @@ void UpdateFrontierManiac(u16 days);
|
||||
void UpdateFrontierGambler(u16 days);
|
||||
void SetShoalItemFlag(u16 days);
|
||||
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8);
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
|
||||
u8 oei_task_add(void);
|
||||
|
||||
#endif //GUARD_ROM6_H
|
||||
|
||||
@@ -9,5 +9,7 @@
|
||||
|
||||
void sub_8018438(void);
|
||||
u16 mevent_081445C0(u8);
|
||||
void sub_801B990(u32, u32);
|
||||
u8 sub_8013F78(void);
|
||||
|
||||
#endif //GUARD_rom_8011DC0_H
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_ROM_81BE66C_H
|
||||
#define GUARD_ROM_81BE66C_H
|
||||
|
||||
bool32 InTrainerHill(void);
|
||||
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
|
||||
u32 sub_81D427C(void);
|
||||
|
||||
#endif //GUARD_ROM_81BE66C_H
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_ROTATING_GATE_H
|
||||
|
||||
void RotatingGatePuzzleCameraUpdate(s16, s16);
|
||||
void RotatingGate_InitPuzzleAndGraphics();
|
||||
void RotatingGate_InitPuzzleAndGraphics(void);
|
||||
u32 CheckForRotatingGatePuzzleCollision(u8, s16, s16);
|
||||
bool32 CheckForRotatingGatePuzzleCollisionWithoutAnimation(u8, s16, s16);
|
||||
|
||||
|
||||
@@ -55,8 +55,8 @@ bool8 mapheader_run_first_tag2_script_list_match(void);
|
||||
void mapheader_run_first_tag4_script_list_match(void);
|
||||
u32 CalculateRamScriptChecksum(void);
|
||||
void ClearRamScript(void);
|
||||
bool8 InitRamScript(u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
|
||||
u8 *GetRamScript(u8 objectId, u8 *script);
|
||||
bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId);
|
||||
const u8 *GetRamScript(u8 objectId, const u8 *script);
|
||||
bool32 sub_80991F8(void);
|
||||
u8 *sub_8099244(void);
|
||||
void sub_80992A0(u8 *script, u16 scriptSize);
|
||||
|
||||
@@ -13,5 +13,6 @@ s32 convert_pixel_width_to_tile_width(s32);
|
||||
u8 CreateWindowFromRect(u8, u8, u8, u8);
|
||||
void sub_80E2A78(u8);
|
||||
u32 display_text_and_get_width(const u8*, u32);
|
||||
u8 sub_80E2D5C(u8 arg0, u8 tileWidth);
|
||||
|
||||
#endif //GUARD_SCRIPT_MENU_H
|
||||
|
||||
@@ -3,5 +3,6 @@
|
||||
#define GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
|
||||
u16 sub_80F903C(void);
|
||||
void ReducePlayerPartyToThree(void);
|
||||
|
||||
#endif // GUARD_SCRIPT_POKEMON_UTIL_80F87D8_H
|
||||
|
||||
@@ -16,5 +16,11 @@ void sub_80E8EE0(struct MapEvents const *events);
|
||||
void sub_80E9238(u8 flagIn);
|
||||
bool8 CurrentMapIsSecretBase(void);
|
||||
void sub_80EA3E4(u8 taskId);
|
||||
bool8 sub_80E9680(void);
|
||||
void sub_80EB498(void);
|
||||
void sub_80EB56C(void);
|
||||
void sub_80EB9E0(void);
|
||||
void sub_80EBB28(void);
|
||||
void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events);
|
||||
|
||||
#endif //GUARD_SECRET_BASE_H
|
||||
|
||||
@@ -1,7 +1,48 @@
|
||||
#ifndef GUARD_SHOP_H
|
||||
#define GUARD_SHOP_H
|
||||
|
||||
extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3];
|
||||
extern EWRAM_DATA struct ItemSlot gMartPurchaseHistory[3];
|
||||
|
||||
enum
|
||||
{
|
||||
MART_TYPE_0, // normal mart
|
||||
MART_TYPE_1,
|
||||
MART_TYPE_2,
|
||||
};
|
||||
|
||||
// shop view window NPC info enum
|
||||
enum
|
||||
{
|
||||
EVENT_OBJ_ID,
|
||||
X_COORD,
|
||||
Y_COORD,
|
||||
ANIM_NUM,
|
||||
LAYER_TYPE
|
||||
};
|
||||
|
||||
struct MartInfo
|
||||
{
|
||||
/*0x0*/ void (*callback)(void);
|
||||
/*0x4*/ const struct MenuAction *menuActions;
|
||||
/*0x8*/ const u16 *itemList;
|
||||
/*0xC*/ u16 itemCount;
|
||||
/*0xE*/ u8 windowId;
|
||||
/*0xF*/ u8 martType;
|
||||
};
|
||||
|
||||
struct ShopData
|
||||
{
|
||||
/*0x0000*/ u16 tilemapBuffers[4][0x400];
|
||||
/*0x2000*/ u32 totalCost;
|
||||
/*0x2004*/ u16 itemsShowed;
|
||||
/*0x2006*/ u16 selectedRow;
|
||||
/*0x2008*/ u16 scrollOffset;
|
||||
/*0x200A*/ u8 maxQuantity;
|
||||
/*0x200B*/ u8 scrollIndicatorsTaskId;
|
||||
/*0x200C*/ u8 iconSlot;
|
||||
/*0x200D*/ u8 itemSpriteIds[2];
|
||||
/*0x2010*/ s16 viewportObjects[16][5];
|
||||
};
|
||||
|
||||
void CreatePokemartMenu(const u16 *);
|
||||
void CreateDecorationShop1Menu(const u16 *);
|
||||
|
||||
@@ -235,11 +235,15 @@ extern const struct OamData gDummyOamData;
|
||||
extern const union AnimCmd *const gDummySpriteAnimTable[];
|
||||
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
|
||||
extern const struct SpriteTemplate gDummySpriteTemplate;
|
||||
|
||||
extern u8 gReservedSpritePaletteCount;
|
||||
extern struct Sprite gSprites[];
|
||||
extern u8 gOamLimit;
|
||||
extern u16 gReservedSpriteTileCount;
|
||||
extern s16 gSpriteCoordOffsetX;
|
||||
extern s16 gSpriteCoordOffsetY;
|
||||
|
||||
extern struct Sprite gSprites[];
|
||||
extern struct OamMatrix gOamMatrices[];
|
||||
extern bool8 gAffineAnimsDisabled;
|
||||
|
||||
void ResetSpriteData(void);
|
||||
void AnimateSprites(void);
|
||||
|
||||
@@ -24,7 +24,7 @@ u8 *ConvertUIntToDecimalStringN(u8 *dest, u32 value, enum StringConvertMode mode
|
||||
u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
|
||||
u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
|
||||
u8 *StringBraille(u8 *dest, const u8 *src);
|
||||
u8 *GetExpandedPlaceholder(u32 id);
|
||||
const u8 *GetExpandedPlaceholder(u32 id);
|
||||
u8 *StringFill(u8 *dest, u8 c, u16 n);
|
||||
u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
|
||||
u8 *StringFillWithTerminator(u8 *dest, u16 n);
|
||||
|
||||
@@ -151,8 +151,6 @@ extern const u8 gMenuText_Confirm[];
|
||||
extern const u8 gMenuText_Show[];
|
||||
extern const u8 gMenuText_Give2[];
|
||||
|
||||
extern const u8 gText_Cancel2[];
|
||||
|
||||
extern const u8 gText_WithdrawPokemon[];
|
||||
extern const u8 gText_WithdrawMonDescription[];
|
||||
extern const u8 gText_DepositPokemon[];
|
||||
@@ -843,4 +841,40 @@ extern const u8 gText_TwoDashes[];
|
||||
|
||||
extern const u8 *const gReturnToXStringsTable2[];
|
||||
|
||||
extern const u8 gText_XPLink[];
|
||||
extern const u8 gText_ConfirmLinkWhenPlayersReady[];
|
||||
extern const u8 gText_ConfirmStartLinkWithXPlayers[];
|
||||
extern const u8 gText_AwaitingLinkup[];
|
||||
extern const u8 gText_PleaseWaitForLink[];
|
||||
extern const u8 gText_BronzeCard[];
|
||||
extern const u8 gText_CopperCard[];
|
||||
extern const u8 gText_SilverCard[];
|
||||
extern const u8 gText_GoldCard[];
|
||||
|
||||
extern const u8 gText_CanIHelpWithAnythingElse[];
|
||||
extern const u8 gText_AnythingElseICanHelp[];
|
||||
extern const u8 gText_QuitShopping[];
|
||||
extern const u8 gText_PokedollarVar1[];
|
||||
extern const u8 gText_YouDontHaveMoney[];
|
||||
extern const u8 gText_Var1CertainlyHowMany2[];
|
||||
extern const u8 gText_Var1CertainlyHowMany[];
|
||||
extern const u8 gText_Var1IsItThatllBeVar2[];
|
||||
extern const u8 gText_YouWantedVar1ThatllBeVar2[];
|
||||
extern const u8 gText_InBagVar1[];
|
||||
extern const u8 gText_Var1AndYouWantedVar2[];
|
||||
extern const u8 gText_HereYouGoThankYou[];
|
||||
extern const u8 gText_NoMoreRoomForThis[];
|
||||
extern const u8 gText_ThankYouIllSendItHome[];
|
||||
extern const u8 gText_ThanksIllSendItHome[];
|
||||
extern const u8 gText_SpaceForVar1Full[];
|
||||
extern const u8 gText_ThrowInPremierBall[];
|
||||
extern const u8 gText_ShopBuy[];
|
||||
extern const u8 gText_ShopSell[];
|
||||
extern const u8 gText_ShopQuit[];
|
||||
|
||||
extern const u8 gText_OhABite[];
|
||||
extern const u8 gText_PokemonOnHook[];
|
||||
extern const u8 gText_NotEvenANibble[];
|
||||
extern const u8 gText_ItGotAway[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
#define CHAR_y 0xED
|
||||
#define CHAR_z 0xEE
|
||||
#define CHAR_SPECIAL_F7 0xF7
|
||||
#define CHAR_SPECIAL_F8 0xF8
|
||||
#define CHAR_SPECIAL_F9 0xF9
|
||||
#define CHAR_COLON 0xF0
|
||||
#define CHAR_PROMPT_SCROLL 0xFA // waits for button press and scrolls dialog
|
||||
|
||||
@@ -27,13 +27,16 @@ struct TrainerCard
|
||||
/*0x24*/ u32 money;
|
||||
/*0x28*/ u16 var_28[4];
|
||||
/*0x30*/ u8 playerName[8];
|
||||
/*0x38*/ u8 emeraldAddedUnknownFields[0x64-0x38];
|
||||
/*0x38*/ u8 emeraldAddedUnknownFields[0x54-0x38];
|
||||
/*0x54*/ u16 monSpecies[2];
|
||||
/*0x58*/ u8 emeraldAddedUnknownFields2[0x64-0x58];
|
||||
};
|
||||
|
||||
extern struct TrainerCard gTrainerCards[4];
|
||||
|
||||
void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion);
|
||||
void sub_80C4E74(u8 arg0, void (*callback)(void));
|
||||
void sub_80C30A4(u16 *arg0);
|
||||
void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void));
|
||||
void TrainerCard_GenerateCardForPlayer(struct TrainerCard *);
|
||||
u8 sub_80C4904(u8);
|
||||
|
||||
#endif // GUARD_TRAINER_CARD_H
|
||||
|
||||
@@ -50,5 +50,6 @@ void PutBattleUpdateOnTheAir(u8 opponentLinkPlayerId, u16 move, u16 speciesPlaye
|
||||
void BravoTrainerPokemonProfile_BeforeInterview1(u16 move);
|
||||
void UpdateTVScreensOnMap(int, int);
|
||||
void TV_PrintIntToStringVar(u8 varIdx, int value);
|
||||
void SaveRecordedItemPurchasesForTVShow(void);
|
||||
|
||||
#endif //GUARD_TV_H
|
||||
|
||||
@@ -13,5 +13,6 @@ int CountTrailingZeroBits(u32 value);
|
||||
u16 CalcCRC16(u8 *data, s32 length);
|
||||
u16 CalcCRC16WithTable(u8 *data, u32 length);
|
||||
u32 CalcByteArraySum(const u8* data, u32 length);
|
||||
void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor);
|
||||
|
||||
#endif // GUARD_UTIL_H
|
||||
|
||||
Reference in New Issue
Block a user