merge union room with master

This commit is contained in:
DizzyEggg
2018-07-22 13:14:58 +02:00
5307 changed files with 54502 additions and 62660 deletions
+83 -96
View File
@@ -4,6 +4,7 @@
// should they be included here or included individually by every file?
#include "constants/battle.h"
#include "battle_main.h"
#include "battle_message.h"
#include "battle_util.h"
#include "battle_script_commands.h"
#include "battle_ai_switch_items.h"
@@ -15,12 +16,6 @@
#define GET_BATTLER_SIDE(battler) (GetBattlerPosition(battler) & BIT_SIDE)
#define GET_BATTLER_SIDE2(battler) (GET_BATTLER_POSITION(battler) & BIT_SIDE)
#define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00
#define TRAINER_OPPONENT_800 0x800
#define STEVEN_PARTNER_ID 0xC03
#define SECRET_BASE_OPPONENT 0x400
// Battle Actions
// These determine what each battler will do in a turn
#define B_ACTION_USE_MOVE 0
@@ -33,7 +28,7 @@
#define B_ACTION_SAFARI_GO_NEAR 7
#define B_ACTION_SAFARI_RUN 8
// The exact purposes of these are unclear
#define B_ACTION_UNKNOWN9 9
#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
@@ -150,29 +145,29 @@ struct DisableStruct
/*0x08*/ u8 protectUses;
/*0x09*/ u8 stockpileCounter;
/*0x0A*/ u8 substituteHP;
/*0x0B*/ u8 disableTimer1 : 4;
/*0x0B*/ u8 disableTimer2 : 4;
/*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;
/*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;
/*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;
/*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];
};
@@ -182,7 +177,7 @@ struct ProtectStruct
/* field_0 */
u32 protected:1;
u32 endured:1;
u32 onlyStruggle:1;
u32 noValidMoves:1;
u32 helpingHand:1;
u32 bounceMove:1;
u32 stealMove:1;
@@ -201,12 +196,12 @@ struct ProtectStruct
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
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;
u32 field3:8;
/* field_4 */ u32 physicalDmg;
/* field_8 */ u32 specialDmg;
@@ -217,14 +212,14 @@ struct ProtectStruct
struct SpecialStatus
{
u8 statLowered : 1; // 0x1
u8 lightningRodRedirected : 1; // 0x2
u8 restoredBankSprite: 1; // 0x4
u8 intimidatedPoke : 1; // 0x8
u8 traced : 1; // 0x10
u8 flag20 : 1;
u8 flag40 : 1;
u8 focusBanded : 1;
u8 statLowered:1; // 0x1
u8 lightningRodRedirected:1; // 0x2
u8 restoredBattlerSprite: 1; // 0x4
u8 intimidatedMon:1; // 0x8
u8 traced:1; // 0x10
u8 flag20:1;
u8 flag40:1;
u8 focusBanded:1;
u8 field1[3];
s32 dmg;
s32 physicalDmg;
@@ -336,20 +331,20 @@ struct BattleResults
u8 unk5_0:1; // 0x5
u8 usedMasterBall:1; // 0x5
u8 caughtMonBall:4; // 0x5
u8 unk5_6:1; // 0x5
u8 shinyWildMon:1; // 0x5
u8 unk5_7:1; // 0x5
u16 playerMon1Species; // 0x6
u8 playerMon1Name[11]; // 0x8
u8 playerMon1Name[POKEMON_NAME_LENGTH + 1]; // 0x8
u8 battleTurnCounter; // 0x13
u8 playerMon2Name[11]; // 0x14
u8 field_1F; // 0x1F
u8 playerMon2Name[POKEMON_NAME_LENGTH + 1]; // 0x14
u8 pokeblockThrows; // 0x1F
u16 lastOpponentSpecies; // 0x20
u16 lastUsedMovePlayer; // 0x22
u16 lastUsedMoveOpponent; // 0x24
u16 playerMon2Species; // 0x26
u16 caughtMonSpecies; // 0x28
u8 caughtMonNick[10]; // 0x2A
u8 filler34[2]; // 0x34
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; // 0x2A
u8 filler35[1]; // 0x35
u8 catchAttempts[11]; // 0x36
};
@@ -428,7 +423,7 @@ struct BattleTv_Mon
struct BattleTv
{
struct BattleTv_Mon mon[2][6]; // [side][partyId]
struct BattleTv_Mon mon[2][PARTY_SIZE]; // [side][partyId]
struct BattleTv_Position pos[2][2]; // [side][flank]
struct BattleTv_Side side[2]; // [side]
};
@@ -461,7 +456,7 @@ struct BattleStruct
u8 field_46;
u8 field_47;
u8 focusPunchBattlerId;
u8 field_49;
u8 battlerPreventingSwitchout;
u8 moneyMultiplier;
u8 savedTurnActionNumber;
u8 switchInAbilitiesCounter;
@@ -478,10 +473,10 @@ struct BattleStruct
u8 runTries;
u8 caughtMonNick[11];
u8 field_78;
u8 field_79;
u8 field_7A;
u8 field_7B;
u8 field_7C;
u8 safariGoNearCounter;
u8 safariPkblThrowCounter;
u8 safariEscapeFactor;
u8 safariCatchFactor;
u8 field_7D;
u8 field_7E;
u8 formToChangeInto;
@@ -514,7 +509,7 @@ struct BattleStruct
u8 field_A7;
u16 hpOnSwitchout[2];
u32 savedBattleTypeFlags;
u8 field_B0;
u8 abilityPreventingSwitchout;
u8 hpScale;
u8 synchronizeMoveEffect;
bool8 anyMonHasTransformed;
@@ -525,7 +520,7 @@ struct BattleStruct
u8 AI_itemFlags[2];
u16 choicedMove[MAX_BATTLERS_COUNT];
u16 changedItems[MAX_BATTLERS_COUNT];
u8 intimidateBank;
u8 intimidateBattler;
u8 switchInItemsCounter;
u8 field_DA;
u8 turnSideTracker;
@@ -560,8 +555,8 @@ struct BattleStruct
typeArg = gBattleMoves[move].type; \
}
#define IS_MOVE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
#define IS_MOVE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
#define IS_TYPE_PHYSICAL(moveType)(moveType < TYPE_MYSTERY)
#define IS_TYPE_SPECIAL(moveType)(moveType > TYPE_MYSTERY)
#define TARGET_TURN_DAMAGED ((gSpecialStatuses[gBattlerTarget].physicalDmg != 0 || gSpecialStatuses[gBattlerTarget].specialDmg != 0))
@@ -606,34 +601,22 @@ struct BattleScripting
u8 reshowMainState;
u8 reshowHelperState;
u8 field_23;
u8 field_24;
u8 windowsType; // 0 - normal, 1 - battle arena
u8 multiplayerId;
};
enum
{
BACK_PIC_BRENDAN,
BACK_PIC_MAY,
BACK_PIC_RED,
BACK_PIC_LEAF,
BACK_PIC_RS_BRENDAN,
BACK_PIC_RS_MAY,
BACK_PIC_WALLY,
BACK_PIC_STEVEN
};
// rom_80A5C6C
u8 GetBattlerSide(u8 battler);
u8 GetBattlerPosition(u8 bank);
u8 GetBattlerAtPosition(u8 bank);
u8 GetBattlerPosition(u8 battler);
u8 GetBattlerAtPosition(u8 battler);
struct BattleSpriteInfo
{
u16 invisible : 1; // 0x1
u16 lowHpSong : 1; // 0x2
u16 behindSubstitute : 1; // 0x4
u16 flag_x8 : 1; // 0x8
u16 hpNumbersNoBars : 1; // 0x10
u16 invisible:1; // 0x1
u16 lowHpSong:1; // 0x2
u16 behindSubstitute:1; // 0x4
u16 flag_x8:1; // 0x8
u16 hpNumbersNoBars:1; // 0x10
u16 transformSpecies;
};
@@ -647,12 +630,12 @@ struct BattleAnimationInfo
u8 field_6;
u8 field_7;
u8 ballThrowCaseId;
u8 field_9_x1 : 1;
u8 field_9_x2 : 1;
u8 field_9_x1C : 3;
u8 field_9_x20 : 1;
u8 field_9_x40 : 1;
u8 field_9_x80 : 1;
u8 field_9_x1:1;
u8 field_9_x2:1;
u8 field_9_x1C:3;
u8 field_9_x20:1;
u8 field_9_x40:1;
u8 field_9_x80:1;
u8 field_A;
u8 field_B;
u8 field_C;
@@ -663,21 +646,21 @@ struct BattleAnimationInfo
struct BattleHealthboxInfo
{
u8 flag_x1 : 1;
u8 flag_x2 : 1;
u8 flag_x4 : 1;
u8 ballAnimActive : 1; // 0x8
u8 statusAnimActive : 1; // x10
u8 animFromTableActive : 1; // x20
u8 specialAnimActive : 1; //x40
u8 flag_x80 : 1;
u8 field_1_x1 : 1;
u8 field_1_x1E : 4;
u8 field_1_x20 : 1;
u8 field_1_x40 : 1;
u8 field_1_x80 : 1;
u8 field_2;
u8 field_3;
u8 partyStatusSummaryShown:1;
u8 healthboxIsBouncing:1;
u8 battlerIsBouncing:1;
u8 ballAnimActive:1; // 0x8
u8 statusAnimActive:1; // x10
u8 animFromTableActive:1; // x20
u8 specialAnimActive:1; // x40
u8 flag_x80:1;
u8 field_1_x1:1;
u8 field_1_x1E:4;
u8 field_1_x20:1;
u8 field_1_x40:1;
u8 field_1_x80:1;
u8 healthboxBounceSpriteId;
u8 battlerBounceSpriteId;
u8 animationState;
u8 field_5;
u8 field_6;
@@ -692,9 +675,9 @@ struct BattleBarInfo
{
u8 healthboxSpriteId;
s32 maxValue;
s32 currentValue;
s32 oldValue;
s32 receivedValue;
s32 field_10;
s32 currValue;
};
struct BattleSpriteData
@@ -719,7 +702,11 @@ struct MonSpritesGfx
void *field_17C;
};
// all battle variables are declared in battle_main.c
// All battle variables are declared in battle_main.c
extern u8 gDisplayedStringBattle[300];
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
extern u32 gBattleTypeFlags;
extern u8 gBattleTerrain;
extern u32 gUnknown_02022FF4;
@@ -733,7 +720,7 @@ extern u8 gBattlersCount;
extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT];
extern u8 gBattlerPositions[MAX_BATTLERS_COUNT];
extern u8 gActionsByTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gBattleTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gBattlerByTurnOrder[MAX_BATTLERS_COUNT];
extern u8 gCurrentTurnActionNumber;
extern u8 gCurrentActionFuncId;
extern struct BattlePokemon gBattleMons[MAX_BATTLERS_COUNT];
+10 -5
View File
@@ -1,13 +1,18 @@
#ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
#define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
// return values for BattleAI_ChooseMoveOrAction
// 0 - 3 are move idx
#define AI_CHOICE_FLEE 4
#define AI_CHOICE_WATCH 5
void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves);
void BattleAI_SetupAIData(u8 defaultScoreMoves);
u8 BattleAI_ChooseMoveOrAction(void);
void ClearBattlerMoveHistory(u8 bank);
void RecordAbilityBattle(u8 bank, u8 abilityId);
void ClearBattlerAbilityHistory(u8 bank);
void RecordItemEffectBattle(u8 bank, u8 itemEffect);
void ClearBankItemEffectHistory(u8 bank);
void ClearBattlerMoveHistory(u8 battlerId);
void RecordAbilityBattle(u8 battlerId, u8 abilityId);
void ClearBattlerAbilityHistory(u8 battlerId);
void RecordItemEffectBattle(u8 battlerId, u8 itemEffect);
void ClearBattlerItemEffectHistory(u8 battlerId);
#endif // GUARD_BATTLE_AI_SCRIPT_COMMANDS_H
+3 -3
View File
@@ -1,13 +1,13 @@
#ifndef GUARD_BATTLE_BG_H
#define GUARD_BATTLE_BG_H
void sub_8035658(void);
void BattleInitBgsAndWindows(void);
void sub_80356D0(void);
void ApplyPlayerChosenFrameToBattleMenu(void);
void LoadBattleMenuWindowGfx(void);
void DrawMainBattleBackground(void);
void LoadBattleTextboxAndBackground(void);
void sub_8035D74(u8 taskId);
void LoadBattleEntryBackground(void);
void DrawBattleEntryBackground(void);
bool8 LoadChosenBattleElement(u8 caseId);
#endif // GUARD_BATTLE_BG_H
+12 -9
View File
@@ -65,6 +65,8 @@ enum
REQUEST_TOUGH_RIBBON_BATTLE,
};
// Special arguments for Battle Controller functions.
#define RESET_ACTION_MOVE_SELECTION 0
#define RESET_ACTION_SELECTION 1
#define RESET_MOVE_SELECTION 2
@@ -76,14 +78,15 @@ enum
#define BALL_3_SHAKES_SUCCESS 4
#define BALL_TRAINER_BLOCK 5
#define RET_VALUE_LEVELLED_UP 11
#define INSTANT_HP_BAR_DROP 32767
// Special return values in gBattleBufferB from Battle Controller functions.
#define RET_VALUE_LEVELED_UP 11
struct UnusedControllerStruct
{
u8 field_0 : 7;
u8 flag_x80 : 1;
u8 field_0:7;
u8 flag_x80:1;
};
struct HpAndStatus
@@ -160,8 +163,8 @@ enum
CONTROLLER_INTROSLIDE,
CONTROLLER_INTROTRAINERBALLTHROW,
CONTROLLER_DRAWPARTYSTATUSSUMMARY,
CONTROLLER_49,
CONTROLLER_50,
CONTROLLER_HIDEPARTYSTATUSSUMMARY,
CONTROLLER_ENDBOUNCE,
CONTROLLER_SPRITEINVISIBILITY,
CONTROLLER_BATTLEANIMATION,
CONTROLLER_LINKSTANDBYMSG,
@@ -230,13 +233,13 @@ void BtlController_EmitFaintingCry(u8 bufferId);
void BtlController_EmitIntroSlide(u8 bufferId, u8 terrainId);
void BtlController_EmitIntroTrainerBallThrow(u8 bufferId);
void BtlController_EmitDrawPartyStatusSummary(u8 bufferId, struct HpAndStatus* hpAndStatus, u8 arg2);
void BtlController_EmitCmd49(u8 bufferId);
void BtlController_EmitCmd50(u8 bufferId);
void BtlController_EmitHidePartyStatusSummary(u8 bufferId);
void BtlController_EmitEndBounceEffect(u8 bufferId);
void BtlController_EmitSpriteInvisibility(u8 bufferId, bool8 isInvisible);
void BtlController_EmitBattleAnimation(u8 bufferId, u8 animationId, u16 argument);
void BtlController_EmitLinkStandbyMsg(u8 bufferId, u8 arg1, bool32 arg2);
void BtlController_EmitResetActionMoveSelection(u8 bufferId, u8 caseId);
void BtlController_EmitCmd55(u8 bufferId, u8 arg1);
void BtlController_EmitCmd55(u8 bufferId, u8 battleOutcome);
// player controller
void SetControllerToPlayer(void);
+3
View File
@@ -8,5 +8,8 @@ void sub_81A8AF8(void);
bool8 InBattlePike(void);
void sub_819FA50(void);
void sub_81AA078(u16*, u8);
void sub_81A4C30(void);
void sub_819A4F8(void);
void sub_819DC00(void);
#endif // GUARD_BATTLE_FRONTIER_2_H
+2 -2
View File
@@ -35,7 +35,7 @@ void ClearBehindSubstituteBit(u8 battlerId);
void HandleLowHpMusicChange(struct Pokemon *mon, u8 battlerId);
void BattleStopLowHpSound(void);
u8 GetMonHPBarLevel(struct Pokemon *mon);
void sub_805EAE8(void);
void HandleBattleLowHpMusicChange(void);
void sub_805EB9C(u8 affineMode);
void LoadAndCreateEnemyShadowSprites(void);
void SpriteCB_SetInvisible(struct Sprite *sprite);
@@ -45,6 +45,6 @@ void sub_805EF14(void);
void ClearTemporarySpeciesSpriteData(u8 battlerId, bool8 dontClearSubstitute);
void AllocateMonSpritesGfx(void);
void FreeMonSpritesGfx(void);
bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon);
bool32 ShouldPlayNormalMonCry(struct Pokemon *mon);
#endif // GUARD_BATTLE_GFX_SFX_UTIL
+8 -2
View File
@@ -29,12 +29,18 @@ enum
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
#define TAG_HEALTHBAR_PLAYER1_TILE 0xD704
#define TAG_HEALTHBAR_OPPONENT1_TILE 0xD705
#define TAG_HEALTHBAR_PLAYER2_TILE 0xD706
#define TAG_HEALTHBAR_OPPONENT2_TILE 0xD707
#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
#define TAG_HEALTHBOX_PAL 0xD6FF
#define TAG_HEALTHBAR_PAL 0xD704
#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
@@ -66,9 +72,9 @@ void InitBattlerHealthboxCoords(u8 bank);
void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
void SwapHpBarsWithHpText(void);
u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
void sub_8073C30(u8 taskId);
void Task_HidePartyStatusSummary(u8 taskId);
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
s32 MoveBattleBar(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
u8 GetHPBarLevel(s16 hp, s16 maxhp);
+8 -4
View File
@@ -25,6 +25,10 @@ struct TrainerMoney
#define TYPE_FORESIGHT 0xFE
#define TYPE_ENDTABLE 0xFF
// defines for the 'DoBounceEffect' function
#define BOUNCE_MON 0x0
#define BOUNCE_HEALTHBOX 0x1
void CB2_InitBattle(void);
void BattleMainCB2(void);
void CB2_QuitRecordedBattle(void);
@@ -38,15 +42,15 @@ u32 sub_80391E0(u8 arrayId, u8 caseId);
u32 sub_80397C4(u32 setId, u32 tableId);
void oac_poke_opponent(struct Sprite *sprite);
void SpriteCallbackDummy_2(struct Sprite *sprite);
void sub_8039934(struct Sprite *sprite);
void SpriteCB_FaintOpponentMon(struct Sprite *sprite);
void sub_8039AD8(struct Sprite *sprite);
void sub_8039B2C(struct Sprite *sprite);
void sub_8039B58(struct Sprite *sprite);
void sub_8039BB4(struct Sprite *sprite);
void sub_80105DC(struct Sprite *sprite);
void sub_8039C00(struct Sprite *sprite);
void dp11b_obj_instanciate(u8 battlerId, u8 b, s8 c, s8 d);
void dp11b_obj_free(u8 battlerId, bool8 b);
void DoBounceEffect(u8 battlerId, u8 b, s8 c, s8 d);
void EndBounceEffect(u8 battlerId, bool8 b);
void sub_8039E44(struct Sprite *sprite);
void sub_8039E60(struct Sprite *sprite);
void sub_8039E84(struct Sprite *sprite);
@@ -80,6 +84,6 @@ extern const u8 gStatusConditionString_IceJpn[8];
extern const u8 gStatusConditionString_ConfusionJpn[8];
extern const u8 gStatusConditionString_LoveJpn[8];
extern const u8 * const gStatusConditionStringsTable[7][2];
extern const u8 *const gStatusConditionStringsTable[7][2];
#endif // GUARD_BATTLE_MAIN_H
+15 -12
View File
@@ -1,8 +1,9 @@
#ifndef GUARD_BATTLE_MESSAGE_H
#define GUARD_BATTLE_MESSAGE_H
// for 0xFD
#define TEXT_BUFF_ARRAY_COUNT 16
// for 0xFD
#define B_TXT_BUFF1 0x0
#define B_TXT_BUFF2 0x1
#define B_TXT_COPY_VAR_1 0x2
@@ -194,7 +195,7 @@
textVar[4] = B_BUFF_EOS; \
}
struct StringInfoBattle
struct BattleMsgData
{
u16 currentMove;
u16 originallyUsedMove;
@@ -203,25 +204,20 @@ struct StringInfoBattle
u8 scrActive;
u8 unk1605E;
u8 hpScale;
u8 StringBank;
u8 itemEffectBattler;
u8 moveType;
u8 abilities[4];
u8 textBuffs[3][0x10];
u8 abilities[MAX_BATTLERS_COUNT];
u8 textBuffs[3][TEXT_BUFF_ARRAY_COUNT];
};
void BufferStringBattle(u16 stringID);
u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void BattleHandleAddTextPrinter(const u8* text, u8 arg1);
void BattlePutTextOnWindow(const u8* text, u8 arg1);
void SetPpNumbersPaletteInMoveSelection(void);
u8 GetCurrentPpToMaxPpState(u8 currentPp, u8 maxPp);
#define TEXT_BUFF_ARRAY_COUNT 16
extern u8 gDisplayedStringBattle[300];
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
extern struct BattleMsgData *gBattleMsgDataPtr;
extern const u8* const gBattleStringsTable[];
extern const u8* const gStatNamesTable[];
@@ -252,6 +248,13 @@ extern const u8 gText_BattleSwitchWhich4[];
extern const u8 gText_BattleSwitchWhich5[];
extern const u8 gText_SafariBalls[];
extern const u8 gText_SafariBallLeft[];
extern const u8 gText_Sleep[];
extern const u8 gText_Poison[];
extern const u8 gText_Burn[];
extern const u8 gText_Paralysis[];
extern const u8 gText_Ice[];
extern const u8 gText_Confusion[];
extern const u8 gText_Love[];
extern const u8 gText_SpaceAndSpace[];
extern const u8 gText_CommaSpace[];
extern const u8 gText_Space2[];
+2 -2
View File
@@ -51,8 +51,8 @@ void ChooseStarter(void);
void ResetTrainerOpponentIds(void);
void SetMapVarsToTrainer(void);
const u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data);
void ConfigureAndSetUpOneTrainerBattle(u8 trainerMapObjId, const u8 *trainerScript);
void ConfigureTwoTrainersBattle(u8 trainerMapObjId, const u8 *trainerScript);
void ConfigureAndSetUpOneTrainerBattle(u8 trainerEventObjId, const u8 *trainerScript);
void ConfigureTwoTrainersBattle(u8 trainerEventObjId, const u8 *trainerScript);
void SetUpTwoTrainersBattle(void);
bool32 GetTrainerFlagFromScriptPointer(const u8 *data);
void sub_80B16D8(void);
+15
View File
@@ -22,10 +22,25 @@ union BattleTowerRecord
struct EmeraldBattleTowerRecord emerald;
};
struct BattleFrontierTrainer
{
u32 trainerClass;
u8 trainerName[8];
u16 speechBefore[6];
u16 speechWin[6];
u16 speechLose[6];
u16 *btMonPool;
};
extern struct BattleFrontierTrainer *gUnknown_0203BC88;
u16 sub_8164FCC(u8, u8);
void sub_81659DC(struct RSBattleTowerRecord *a0, struct RSBattleTowerRecord *a1);
bool32 sub_816587C(union BattleTowerRecord *, union BattleTowerRecord *);
void CalcEmeraldBattleTowerChecksum(struct EmeraldBattleTowerRecord *);
void sub_81628A0(union BattleTowerRecord *);
void sub_8162614(u16 trainerId, u8);
void ConvertBattleFrontierTrainerSpeechToString(u16 *words);
void GetFrontierTrainerName(u8 *dest, u16 trainerIdx);
#endif //GUARD_BATTLE_TOWER_H
+28 -33
View File
@@ -8,41 +8,36 @@
#define MOVE_LIMITATION_TAUNT (1 << 4)
#define MOVE_LIMITATION_IMPRISION (1 << 5)
#define ABILITYEFFECT_ON_SWITCHIN 0x0
#define ABILITYEFFECT_ENDTURN 0x1
#define ABILITYEFFECT_MOVES_BLOCK 0x2
#define ABILITYEFFECT_ABSORBING 0x3
#define ABILITYEFFECT_CONTACT 0x4
#define ABILITYEFFECT_IMMUNITY 0x5
#define ABILITYEFFECT_FORECAST 0x6
#define ABILITYEFFECT_SYNCHRONIZE 0x7
#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
#define ABILITYEFFECT_INTIMIDATE1 0x9
#define ABILITYEFFECT_INTIMIDATE2 0xA
#define ABILITYEFFECT_TRACE 0xB
#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
#define ABILITYEFFECT_CHECK_BANK_SIDE 0xD
#define ABILITYEFFECT_FIELD_SPORT 0xE
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BANK 0xF
#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10
#define ABILITYEFFECT_COUNT_BANK_SIDE 0x11
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF
#define ABILITYEFFECT_ON_SWITCHIN 0x0
#define ABILITYEFFECT_ENDTURN 0x1
#define ABILITYEFFECT_MOVES_BLOCK 0x2
#define ABILITYEFFECT_ABSORBING 0x3
#define ABILITYEFFECT_CONTACT 0x4
#define ABILITYEFFECT_IMMUNITY 0x5
#define ABILITYEFFECT_FORECAST 0x6
#define ABILITYEFFECT_SYNCHRONIZE 0x7
#define ABILITYEFFECT_ATK_SYNCHRONIZE 0x8
#define ABILITYEFFECT_INTIMIDATE1 0x9
#define ABILITYEFFECT_INTIMIDATE2 0xA
#define ABILITYEFFECT_TRACE 0xB
#define ABILITYEFFECT_CHECK_OTHER_SIDE 0xC
#define ABILITYEFFECT_CHECK_BATTLER_SIDE 0xD
#define ABILITYEFFECT_FIELD_SPORT 0xE
#define ABILITYEFFECT_CHECK_FIELD_EXCEPT_BATTLER 0xF
#define ABILITYEFFECT_COUNT_OTHER_SIDE 0x10
#define ABILITYEFFECT_COUNT_BATTLER_SIDE 0x11
#define ABILITYEFFECT_COUNT_ON_FIELD 0x12
#define ABILITYEFFECT_CHECK_ON_FIELD 0x13
#define ABILITYEFFECT_SWITCH_IN_WEATHER 0xFF
#define ABILITY_ON_OPPOSING_FIELD(battlerId, abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_OTHER_SIDE, battlerId, abilityId, 0, 0))
#define ABILITY_ON_FIELD(abilityId)(AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, abilityId, 0, 0))
#define ABILITY_ON_FIELD2(abilityId)(AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, abilityId, 0, 0))
#define ITEMEFFECT_ON_SWITCH_IN 0x0
#define WEATHER_HAS_EFFECT ((!AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_CHECK_ON_FIELD, 0, ABILITY_AIR_LOCK, 0, 0)))
#define WEATHER_HAS_EFFECT2 ((!AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_CLOUD_NINE, 0, 0) && !AbilityBattleEffects(ABILITYEFFECT_FIELD_SPORT, 0, ABILITY_AIR_LOCK, 0, 0)))
#define BS_GET_TARGET 0
#define BS_GET_ATTACKER 1
#define BS_GET_EFFECT_BANK 2
#define BS_GET_SCRIPTING_BANK 10
#define BS_GET_PLAYER1 11
#define BS_GET_OPPONENT1 12
#define BS_GET_PLAYER2 13
#define BS_GET_OPPONENT2 14
#define WEATHER_HAS_EFFECT ((!ABILITY_ON_FIELD(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD(ABILITY_AIR_LOCK)))
#define WEATHER_HAS_EFFECT2 ((!ABILITY_ON_FIELD2(ABILITY_CLOUD_NINE) && !ABILITY_ON_FIELD2(ABILITY_AIR_LOCK)))
u8 GetBattlerForBattleScript(u8 caseId);
void PressurePPLose(u8 bankDef, u8 bankAtk, u16 move);
@@ -70,7 +65,7 @@ bool8 HandleWishPerishSongOnTurnEnd(void);
bool8 HandleFaintedMonActions(void);
void TryClearRageStatuses(void);
u8 AtkCanceller_UnableToUseMove(void);
bool8 sub_80423F4(u8 battlerId, u8 r1, u8 r2);
bool8 HasNoMonsToSwitch(u8 battlerId, u8 r1, u8 r2);
u8 CastformDataTypeChange(u8 battlerId);
u8 AbilityBattleEffects(u8 caseID, u8 battlerId, u8 ability, u8 special, u16 moveArg);
void BattleScriptExecute(const u8* BS_ptr);
+8 -8
View File
@@ -23,9 +23,9 @@ enum
#define NUM_BERRIES 44
extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES];
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES];
extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES];
extern const u8 *const gBerryTreeEventObjectGraphicsIdTablePointers[];
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[];
extern const u8 *const gBerryTreePaletteSlotTablePointers[];
void ClearEnigmaBerries(void);
void SetEnigmaBerry(u8 *src);
@@ -33,7 +33,7 @@ u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
bool32 IsEnigmaBerryValid(void);
const struct Berry *GetBerryInfo(u8 berry);
struct BerryTree *GetBerryTreeInfo(u8 id);
bool32 FieldObjectInteractionWaterBerryTree(void);
bool32 EventObjectInteractionWaterBerryTree(void);
bool8 IsPlayerFacingPlantedBerryTree(void);
bool8 TryToWaterBerryTree(void);
void ClearBerryTrees(void);
@@ -54,10 +54,10 @@ u8 CalcBerryYield(struct BerryTree *tree);
u8 GetBerryCountByBerryTreeId(u8 id);
u16 GetStageDurationByBerryType(u8);
void Bag_ChooseBerry(void);
void FieldObjectInteractionGetBerryTreeData(void);
void FieldObjectInteractionPlantBerryTree(void);
void FieldObjectInteractionPickBerryTree(void);
void FieldObjectInteractionRemoveBerryTree(void);
void EventObjectInteractionGetBerryTreeData(void);
void EventObjectInteractionPlantBerryTree(void);
void EventObjectInteractionPickBerryTree(void);
void EventObjectInteractionRemoveBerryTree(void);
u8 PlayerHasBerries(void);
void ResetBerryTreeSparkleFlags(void);
+2
View File
@@ -80,4 +80,6 @@
#define ABILITY_CACOPHONY 76
#define ABILITY_AIR_LOCK 77
#define ABILITIES_COUNT 78
#endif // GUARD_CONSTANTS_ABILITIES_H
+2 -2
View File
@@ -130,7 +130,7 @@
#define STATUS2_TORMENT 0x80000000
// Seems like per-battler statuses. Not quite sure how to categorize these
#define STATUS3_LEECHSEED_BANK 0x3
#define STATUS3_LEECHSEED_BATTLER 0x3
#define STATUS3_LEECHSEED 0x4
#define STATUS3_ALWAYS_HITS 0x18 // two bits
#define STATUS3_PERISH_SONG 0x20
@@ -159,7 +159,7 @@
#define HITMARKER_NO_ATTACKSTRING 0x00000200
#define HITMARKER_ATTACKSTRING_PRINTED 0x00000400
#define HITMARKER_NO_PPDEDUCT 0x00000800
#define HITMARKER_PURSUIT_TRAP 0x00001000
#define HITMARKER_SWAP_ATTACKER_TARGET 0x00001000
#define HITMARKER_IGNORE_SAFEGUARD 0x00002000
#define HITMARKER_SYNCHRONISE_EFFECT 0x00004000
#define HITMARKER_RUN 0x00008000
+13
View File
@@ -0,0 +1,13 @@
#ifndef GUARD_CONSTANTS_BATTLE_FRONTIER_H
#define GUARD_CONSTANTS_BATTLE_FRONTIER_H
// Battle Frontier facility ids.
#define FRONTIER_FACILITY_TOWER 0
#define FRONTIER_FACILITY_DOME 1
#define FRONTIER_FACILITY_PALACE 2
#define FRONTIER_FACILITY_ARENA 3
#define FRONTIER_FACILITY_FACTORY 4
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
#endif // GUARD_CONSTANTS_BATTLE_FRONTIER_H
+1 -1
View File
@@ -37,7 +37,7 @@
#define BS_ATTACKER 1
#define BS_EFFECT_BATTLER 2
#define BS_FAINTED 3
#define BS_BANK_0 7
#define BS_BATTLER_0 7
#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
+13
View File
@@ -0,0 +1,13 @@
#ifndef GUARD_CONSTANTS_BG_EVENT_H
#define GUARD_CONSTANTS_BG_EVENT_H
#define BG_EVENT_PLAYER_FACING_ANY 0
#define BG_EVENT_PLAYER_FACING_NORTH 1
#define BG_EVENT_PLAYER_FACING_SOUTH 2
#define BG_EVENT_PLAYER_FACING_EAST 3
#define BG_EVENT_PLAYER_FACING_WEST 4
#define BG_EVENT_HIDDEN_ITEM 7
#define BG_EVENT_SECRET_BASE 8
#endif // GUARD_CONSTANTS_BG_EVENT_H
+245
View File
@@ -0,0 +1,245 @@
#ifndef GUARD_CONSTANTS_EVENTOBJMV_H
#define GUARD_CONSTANTS_EVENTOBJMV_H
#define MOVEMENT_TYPE_NONE 0x0
#define MOVEMENT_TYPE_LOOK_AROUND 0x1
#define MOVEMENT_TYPE_WANDER_AROUND 0x2
#define MOVEMENT_TYPE_WANDER_UP_AND_DOWN 0x3
#define MOVEMENT_TYPE_WANDER_DOWN_AND_UP 0x4
#define MOVEMENT_TYPE_WANDER_LEFT_AND_RIGHT 0x5
#define MOVEMENT_TYPE_WANDER_RIGHT_AND_LEFT 0x6
#define MOVEMENT_TYPE_FACE_UP 0x7
#define MOVEMENT_TYPE_FACE_DOWN 0x8
#define MOVEMENT_TYPE_FACE_LEFT 0x9
#define MOVEMENT_TYPE_FACE_RIGHT 0xA
#define MOVEMENT_TYPE_PLAYER 0xB
#define MOVEMENT_TYPE_BERRY_TREE_GROWTH 0xC
#define MOVEMENT_TYPE_FACE_DOWN_AND_UP 0xD
#define MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT 0xE
#define MOVEMENT_TYPE_FACE_UP_AND_LEFT 0xF
#define MOVEMENT_TYPE_FACE_UP_AND_RIGHT 0x10
#define MOVEMENT_TYPE_FACE_DOWN_AND_LEFT 0x11
#define MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT 0x12
#define MOVEMENT_TYPE_FACE_DOWN_UP_AND_LEFT 0x13
#define MOVEMENT_TYPE_FACE_DOWN_UP_AND_RIGHT 0x14
#define MOVEMENT_TYPE_FACE_UP_LEFT_AND_RIGHT 0x15
#define MOVEMENT_TYPE_FACE_DOWN_LEFT_AND_RIGHT 0x16
#define MOVEMENT_TYPE_ROTATE_COUNTERCLOCKWISE 0x17
#define MOVEMENT_TYPE_ROTATE_CLOCKWISE 0x18
#define MOVEMENT_TYPE_WALK_UP_AND_DOWN 0x19
#define MOVEMENT_TYPE_WALK_DOWN_AND_UP 0x1A
#define MOVEMENT_TYPE_WALK_LEFT_AND_RIGHT 0x1B
#define MOVEMENT_TYPE_WALK_RIGHT_AND_LEFT 0x1C
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_LEFT_DOWN 0x1D
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_DOWN_UP 0x1E
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_RIGHT_LEFT 0x1F
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_UP_RIGHT 0x20
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_RIGHT_DOWN 0x21
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_DOWN_UP 0x22
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_UP_LEFT_RIGHT 0x23
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_UP_LEFT 0x24
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_DOWN_RIGHT 0x25
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_RIGHT_LEFT 0x26
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_LEFT_UP_DOWN 0x27
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_LEFT_UP 0x28
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_DOWN_LEFT 0x29
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_DOWN_LEFT_RIGHT 0x2A
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_RIGHT_UP_DOWN 0x2B
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_RIGHT_UP 0x2C
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_LEFT_DOWN_RIGHT 0x2D
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_RIGHT_UP_LEFT 0x2E
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_DOWN_RIGHT_UP 0x2F
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_UP_LEFT_DOWN 0x30
#define MOVEMENT_TYPE_WALK_SEQUENCE_UP_RIGHT_DOWN_LEFT 0x31
#define MOVEMENT_TYPE_WALK_SEQUENCE_DOWN_LEFT_UP_RIGHT 0x32
#define MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN 0x33
#define MOVEMENT_TYPE_WALK_SEQUENCE_RIGHT_DOWN_LEFT_UP 0x34
#define MOVEMENT_TYPE_COPY_PLAYER 0x35
#define MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE 0x36
#define MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE 0x37
#define MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE 0x38
#define MOVEMENT_TYPE_TREE_DISGUISE 0x39
#define MOVEMENT_TYPE_MOUNTAIN_DISGUISE 0x3A
#define MOVEMENT_TYPE_COPY_PLAYER_IN_GRASS 0x3B
#define MOVEMENT_TYPE_COPY_PLAYER_OPPOSITE_IN_GRASS 0x3C
#define MOVEMENT_TYPE_COPY_PLAYER_COUNTERCLOCKWISE_IN_GRASS 0x3D
#define MOVEMENT_TYPE_COPY_PLAYER_CLOCKWISE_IN_GRASS 0x3E
#define MOVEMENT_TYPE_HIDDEN 0x3F
#define MOVEMENT_TYPE_WALK_IN_PLACE_DOWN 0x40
#define MOVEMENT_TYPE_WALK_IN_PLACE_UP 0x41
#define MOVEMENT_TYPE_WALK_IN_PLACE_LEFT 0x42
#define MOVEMENT_TYPE_WALK_IN_PLACE_RIGHT 0x43
#define MOVEMENT_TYPE_JOG_IN_PLACE_DOWN 0x44
#define MOVEMENT_TYPE_JOG_IN_PLACE_UP 0x45
#define MOVEMENT_TYPE_JOG_IN_PLACE_LEFT 0x46
#define MOVEMENT_TYPE_JOG_IN_PLACE_RIGHT 0x47
#define MOVEMENT_TYPE_RUN_IN_PLACE_DOWN 0x48
#define MOVEMENT_TYPE_RUN_IN_PLACE_UP 0x49
#define MOVEMENT_TYPE_RUN_IN_PLACE_LEFT 0x4A
#define MOVEMENT_TYPE_RUN_IN_PLACE_RIGHT 0x4B
#define MOVEMENT_TYPE_INVISIBLE 0x4C
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_DOWN 0x4D
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_UP 0x4E
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_LEFT 0x4F
#define MOVEMENT_TYPE_WALK_SLOWLY_IN_PLACE_RIGHT 0x50
#define MOVEMENT_ACTION_FACE_DOWN 0x0
#define MOVEMENT_ACTION_FACE_UP 0x1
#define MOVEMENT_ACTION_FACE_LEFT 0x2
#define MOVEMENT_ACTION_FACE_RIGHT 0x3
#define MOVEMENT_ACTION_WALK_SLOW_DOWN 0x4
#define MOVEMENT_ACTION_WALK_SLOW_UP 0x5
#define MOVEMENT_ACTION_WALK_SLOW_LEFT 0x6
#define MOVEMENT_ACTION_WALK_SLOW_RIGHT 0x7
#define MOVEMENT_ACTION_WALK_NORMAL_DOWN 0x8
#define MOVEMENT_ACTION_WALK_NORMAL_UP 0x9
#define MOVEMENT_ACTION_WALK_NORMAL_LEFT 0xA
#define MOVEMENT_ACTION_WALK_NORMAL_RIGHT 0xB
#define MOVEMENT_ACTION_JUMP_2_DOWN 0xC
#define MOVEMENT_ACTION_JUMP_2_UP 0xD
#define MOVEMENT_ACTION_JUMP_2_LEFT 0xE
#define MOVEMENT_ACTION_JUMP_2_RIGHT 0xF
#define MOVEMENT_ACTION_DELAY_1 0x10
#define MOVEMENT_ACTION_DELAY_2 0x11
#define MOVEMENT_ACTION_DELAY_4 0x12
#define MOVEMENT_ACTION_DELAY_8 0x13
#define MOVEMENT_ACTION_DELAY_16 0x14
#define MOVEMENT_ACTION_WALK_FAST_DOWN 0x15
#define MOVEMENT_ACTION_WALK_FAST_UP 0x16
#define MOVEMENT_ACTION_WALK_FAST_LEFT 0x17
#define MOVEMENT_ACTION_WALK_FAST_RIGHT 0x18
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_DOWN 0x19
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_UP 0x1A
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_LEFT 0x1B
#define MOVEMENT_ACTION_WALK_IN_PLACE_SLOW_RIGHT 0x1C
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_DOWN 0x1D
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_UP 0x1E
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_LEFT 0x1F
#define MOVEMENT_ACTION_WALK_IN_PLACE_NORMAL_RIGHT 0x20
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_DOWN 0x21
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_UP 0x22
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_LEFT 0x23
#define MOVEMENT_ACTION_WALK_IN_PLACE_FAST_RIGHT 0x24
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_DOWN 0x25
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_UP 0x26
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_LEFT 0x27
#define MOVEMENT_ACTION_WALK_IN_PLACE_FASTEST_RIGHT 0x28
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_DOWN 0x29
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_UP 0x2A
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_LEFT 0x2B
#define MOVEMENT_ACTION_RIDE_WATER_CURRENT_RIGHT 0x2C
#define MOVEMENT_ACTION_WALK_FASTEST_DOWN 0x2D
#define MOVEMENT_ACTION_WALK_FASTEST_UP 0x2E
#define MOVEMENT_ACTION_WALK_FASTEST_LEFT 0x2F
#define MOVEMENT_ACTION_WALK_FASTEST_RIGHT 0x30
#define MOVEMENT_ACTION_SLIDE_DOWN 0x31
#define MOVEMENT_ACTION_SLIDE_UP 0x32
#define MOVEMENT_ACTION_SLIDE_LEFT 0x33
#define MOVEMENT_ACTION_SLIDE_RIGHT 0x34
#define MOVEMENT_ACTION_PLAYER_RUN_DOWN 0x35
#define MOVEMENT_ACTION_PLAYER_RUN_UP 0x36
#define MOVEMENT_ACTION_PLAYER_RUN_LEFT 0x37
#define MOVEMENT_ACTION_PLAYER_RUN_RIGHT 0x38
#define MOVEMENT_ACTION_START_ANIM_IN_DIRECTION 0x39
#define MOVEMENT_ACTION_JUMP_SPECIAL_DOWN 0x3A
#define MOVEMENT_ACTION_JUMP_SPECIAL_UP 0x3B
#define MOVEMENT_ACTION_JUMP_SPECIAL_LEFT 0x3C
#define MOVEMENT_ACTION_JUMP_SPECIAL_RIGHT 0x3D
#define MOVEMENT_ACTION_FACE_PLAYER 0x3E
#define MOVEMENT_ACTION_FACE_AWAY_PLAYER 0x3F
#define MOVEMENT_ACTION_LOCK_FACING_DIRECTION 0x40
#define MOVEMENT_ACTION_UNLOCK_FACING_DIRECTION 0x41
#define MOVEMENT_ACTION_JUMP_DOWN 0x42
#define MOVEMENT_ACTION_JUMP_UP 0x43
#define MOVEMENT_ACTION_JUMP_LEFT 0x44
#define MOVEMENT_ACTION_JUMP_RIGHT 0x45
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN 0x46
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP 0x47
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT 0x48
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT 0x49
#define MOVEMENT_ACTION_JUMP_IN_PLACE_DOWN_UP 0x4A
#define MOVEMENT_ACTION_JUMP_IN_PLACE_UP_DOWN 0x4B
#define MOVEMENT_ACTION_JUMP_IN_PLACE_LEFT_RIGHT 0x4C
#define MOVEMENT_ACTION_JUMP_IN_PLACE_RIGHT_LEFT 0x4D
#define MOVEMENT_ACTION_FACE_ORIGINAL_DIRECTION 0x4E
#define MOVEMENT_ACTION_NURSE_JOY_BOW_DOWN 0x4F
#define MOVEMENT_ACTION_ENABLE_JUMP_LANDING_GROUND_EFFECT 0x50
#define MOVEMENT_ACTION_DISABLE_JUMP_LANDING_GROUND_EFFECT 0x51
#define MOVEMENT_ACTION_DISABLE_ANIMATION 0x52
#define MOVEMENT_ACTION_RESTORE_ANIMATION 0x53
#define MOVEMENT_ACTION_SET_INVISIBLE 0x54
#define MOVEMENT_ACTION_SET_VISIBLE 0x55
#define MOVEMENT_ACTION_EMOTE_EXCLAMATION_MARK 0x56
#define MOVEMENT_ACTION_EMOTE_QUESTION_MARK 0x57
#define MOVEMENT_ACTION_EMOTE_HEART 0x58
#define MOVEMENT_ACTION_REVEAL_TRAINER 0x59
#define MOVEMENT_ACTION_ROCK_SMASH_BREAK 0x5A
#define MOVEMENT_ACTION_CUT_TREE 0x5B
#define MOVEMENT_ACTION_SET_FIXED_PRIORITY 0x5C
#define MOVEMENT_ACTION_CLEAR_FIXED_PRIORITY 0x5D
#define MOVEMENT_ACTION_INIT_AFFINE_ANIM 0x5E
#define MOVEMENT_ACTION_CLEAR_AFFINE_ANIM 0x5F
#define MOVEMENT_ACTION_UNKNOWN1 0x60
#define MOVEMENT_ACTION_UNKNOWN2 0x61
#define MOVEMENT_ACTION_WALK_DOWN_START_AFFINE 0x62
#define MOVEMENT_ACTION_WALK_DOWN_AFFINE 0x63
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_DOWN 0x64
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_UP 0x65
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_LEFT 0x66
#define MOVEMENT_ACTION_ACRO_WHEELIE_FACE_RIGHT 0x67
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_DOWN 0x68
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_UP 0x69
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_LEFT 0x6A
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_RIGHT 0x6B
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_DOWN 0x6C
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_UP 0x6D
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_LEFT 0x6E
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_FACE_RIGHT 0x6F
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_DOWN 0x70
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_UP 0x71
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_LEFT 0x72
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_FACE_RIGHT 0x73
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_DOWN 0x74
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_UP 0x75
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_LEFT 0x76
#define MOVEMENT_ACTION_ACRO_WHEELIE_HOP_RIGHT 0x77
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_DOWN 0x78
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_UP 0x79
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_LEFT 0x7A
#define MOVEMENT_ACTION_ACRO_WHEELIE_JUMP_RIGHT 0x7B
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_DOWN 0x7C
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_UP 0x7D
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_LEFT 0x7E
#define MOVEMENT_ACTION_ACRO_WHEELIE_IN_PLACE_RIGHT 0x7F
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_DOWN 0x80
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_UP 0x81
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_LEFT 0x82
#define MOVEMENT_ACTION_ACRO_POP_WHEELIE_MOVE_RIGHT 0x83
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_DOWN 0x84
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_UP 0x85
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_LEFT 0x86
#define MOVEMENT_ACTION_ACRO_WHEELIE_MOVE_RIGHT 0x87
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_DOWN 0x88
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_UP 0x89
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_LEFT 0x8A
#define MOVEMENT_ACTION_ACRO_END_WHEELIE_MOVE_RIGHT 0x8B
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_LEFT 0x8C
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_UP_RIGHT 0x8D
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_LEFT 0x8E
#define MOVEMENT_ACTION_WALK_NORMAL_DIAGONAL_DOWN_RIGHT 0x8F
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_LEFT 0x90
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_UP_RIGHT 0x91
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_LEFT 0x92
#define MOVEMENT_ACTION_WALK_SLOW_DIAGONAL_DOWN_RIGHT 0x93
#define MOVEMENT_ACTION_STORE_AND_LOCK_ANIM 0x94
#define MOVEMENT_ACTION_FREE_AND_UNLOCK_ANIM 0x95
#define MOVEMENT_ACTION_WALK_LEFT_AFFINE 0x96
#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97
#define MOVEMENT_ACTION_LEVITATE 0x98
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
#define MOVEMENT_ACTION_FIGURE_8 0x9B
#define MOVEMENT_ACTION_FLY_UP 0x9C
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
#endif // GUARD_CONSTANTS_EVENTOBJMV_H
+263
View File
@@ -0,0 +1,263 @@
#ifndef GUARD_CONSTANTS_EVENT_OBJECTS_H
#define GUARD_CONSTANTS_EVENT_OBJECTS_H
#define EVENT_OBJ_GFX_BRENDAN_NORMAL 0
#define EVENT_OBJ_GFX_BRENDAN_MACH_BIKE 1
#define EVENT_OBJ_GFX_BRENDAN_SURFING 2
#define EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE 3
#define EVENT_OBJ_GFX_QUINTY_PLUMP 4
#define EVENT_OBJ_GFX_LITTLE_BOY_1 5
#define EVENT_OBJ_GFX_LITTLE_GIRL_1 6
#define EVENT_OBJ_GFX_BOY_1 7
#define EVENT_OBJ_GFX_GIRL_1 8
#define EVENT_OBJ_GFX_BOY_2 9
#define EVENT_OBJ_GFX_GIRL_2 10
#define EVENT_OBJ_GFX_LITTLE_BOY_2 11
#define EVENT_OBJ_GFX_LITTLE_GIRL_2 12
#define EVENT_OBJ_GFX_BOY_3 13
#define EVENT_OBJ_GFX_GIRL_3 14
#define EVENT_OBJ_GFX_BOY_4 15
#define EVENT_OBJ_GFX_WOMAN_1 16
#define EVENT_OBJ_GFX_FAT_MAN 17
#define EVENT_OBJ_GFX_WOMAN_2 18
#define EVENT_OBJ_GFX_MAN_1 19
#define EVENT_OBJ_GFX_WOMAN_3 20
#define EVENT_OBJ_GFX_OLD_MAN_1 21
#define EVENT_OBJ_GFX_OLD_WOMAN_1 22
#define EVENT_OBJ_GFX_MAN_2 23
#define EVENT_OBJ_GFX_WOMAN_4 24
#define EVENT_OBJ_GFX_MAN_3 25
#define EVENT_OBJ_GFX_WOMAN_5 26
#define EVENT_OBJ_GFX_COOK 27
#define EVENT_OBJ_GFX_WOMAN_6 28
#define EVENT_OBJ_GFX_OLD_MAN_2 29
#define EVENT_OBJ_GFX_OLD_WOMAN_2 30
#define EVENT_OBJ_GFX_CAMPER 31
#define EVENT_OBJ_GFX_PICNICKER 32
#define EVENT_OBJ_GFX_MAN_4 33
#define EVENT_OBJ_GFX_WOMAN_7 34
#define EVENT_OBJ_GFX_YOUNGSTER 35
#define EVENT_OBJ_GFX_BUG_CATCHER 36
#define EVENT_OBJ_GFX_PSYCHIC_M 37
#define EVENT_OBJ_GFX_SCHOOL_KID_M 38
#define EVENT_OBJ_GFX_MANIAC 39
#define EVENT_OBJ_GFX_HEX_MANIAC 40
#define EVENT_OBJ_GFX_RAYQUAZA_1 41
#define EVENT_OBJ_GFX_SWIMMER_M 42
#define EVENT_OBJ_GFX_SWIMMER_F 43
#define EVENT_OBJ_GFX_BLACK_BELT 44
#define EVENT_OBJ_GFX_BEAUTY 45
#define EVENT_OBJ_GFX_SCIENTIST_1 46
#define EVENT_OBJ_GFX_LASS 47
#define EVENT_OBJ_GFX_GENTLEMAN 48
#define EVENT_OBJ_GFX_SAILOR 49
#define EVENT_OBJ_GFX_FISHERMAN 50
#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_M 51
#define EVENT_OBJ_GFX_RUNNING_TRIATHLETE_F 52
#define EVENT_OBJ_GFX_TUBER_F 53
#define EVENT_OBJ_GFX_TUBER_M 54
#define EVENT_OBJ_GFX_HIKER 55
#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M 56
#define EVENT_OBJ_GFX_CYCLING_TRIATHLETE_F 57
#define EVENT_OBJ_GFX_NURSE 58
#define EVENT_OBJ_GFX_ITEM_BALL 59
#define EVENT_OBJ_GFX_BERRY_TREE 60
#define EVENT_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
#define EVENT_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
#define EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE 63
#define EVENT_OBJ_GFX_PROF_BIRCH 64
#define EVENT_OBJ_GFX_MAN_5 65
#define EVENT_OBJ_GFX_MAN_6 66
#define EVENT_OBJ_GFX_REPORTER_M 67
#define EVENT_OBJ_GFX_REPORTER_F 68
#define EVENT_OBJ_GFX_BARD 69
#define EVENT_OBJ_GFX_ANABEL 70
#define EVENT_OBJ_GFX_TUCKER 71
#define EVENT_OBJ_GFX_GRETA 72
#define EVENT_OBJ_GFX_SPENSER 73
#define EVENT_OBJ_GFX_NOLAND 74
#define EVENT_OBJ_GFX_LUCY 75
#define EVENT_OBJ_GFX_UNUSED_NATU_DOLL 76
#define EVENT_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
#define EVENT_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
#define EVENT_OBJ_GFX_UNUSED_WOOPER_DOLL 79
#define EVENT_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
#define EVENT_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
#define EVENT_OBJ_GFX_CUTTABLE_TREE 82
#define EVENT_OBJ_GFX_MART_EMPLOYEE 83
#define EVENT_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
#define EVENT_OBJ_GFX_TEALA 85
#define EVENT_OBJ_GFX_BREAKABLE_ROCK 86
#define EVENT_OBJ_GFX_PUSHABLE_BOULDER 87
#define EVENT_OBJ_GFX_MR_BRINEYS_BOAT 88
#define EVENT_OBJ_GFX_MAY_NORMAL 89
#define EVENT_OBJ_GFX_MAY_MACH_BIKE 90
#define EVENT_OBJ_GFX_MAY_ACRO_BIKE 91
#define EVENT_OBJ_GFX_MAY_SURFING 92
#define EVENT_OBJ_GFX_MAY_FIELD_MOVE 93
#define EVENT_OBJ_GFX_TRUCK 94
#define EVENT_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
#define EVENT_OBJ_GFX_VIGAROTH_FACING_AWAY 96
#define EVENT_OBJ_GFX_BIRCHS_BAG 97
#define EVENT_OBJ_GFX_ZIGZAGOON_1 98
#define EVENT_OBJ_GFX_ARTIST 99
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
#define EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
#define EVENT_OBJ_GFX_RIVAL_MAY_NORMAL 105
#define EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
#define EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
#define EVENT_OBJ_GFX_RIVAL_MAY_SURFING 108
#define EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
#define EVENT_OBJ_GFX_CAMERAMAN 110
#define EVENT_OBJ_GFX_BRENDAN_UNDERWATER 111
#define EVENT_OBJ_GFX_MAY_UNDERWATER 112
#define EVENT_OBJ_GFX_MOVING_BOX 113
#define EVENT_OBJ_GFX_CABLE_CAR 114
#define EVENT_OBJ_GFX_SCIENTIST_2 115
#define EVENT_OBJ_GFX_MAN_7 116
#define EVENT_OBJ_GFX_AQUA_MEMBER_M 117
#define EVENT_OBJ_GFX_AQUA_MEMBER_F 118
#define EVENT_OBJ_GFX_MAGMA_MEMBER_M 119
#define EVENT_OBJ_GFX_MAGMA_MEMBER_F 120
#define EVENT_OBJ_GFX_SIDNEY 121
#define EVENT_OBJ_GFX_PHOEBE 122
#define EVENT_OBJ_GFX_GLACIA 123
#define EVENT_OBJ_GFX_DRAKE 124
#define EVENT_OBJ_GFX_ROXANNE 125
#define EVENT_OBJ_GFX_BRAWLY 126
#define EVENT_OBJ_GFX_WATTSON 127
#define EVENT_OBJ_GFX_FLANNERY 128
#define EVENT_OBJ_GFX_NORMAN 129
#define EVENT_OBJ_GFX_WINONA 130
#define EVENT_OBJ_GFX_LIZA 131
#define EVENT_OBJ_GFX_TATE 132
#define EVENT_OBJ_GFX_WALLACE 133
#define EVENT_OBJ_GFX_STEVEN 134
#define EVENT_OBJ_GFX_WALLY 135
#define EVENT_OBJ_GFX_LITTLE_BOY_3 136
#define EVENT_OBJ_GFX_BRENDAN_FISHING 137
#define EVENT_OBJ_GFX_MAY_FISHING 138
#define EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
#define EVENT_OBJ_GFX_SS_TIDAL 140
#define EVENT_OBJ_GFX_SUBMARINE_SHADOW 141
#define EVENT_OBJ_GFX_PICHU_DOLL 142
#define EVENT_OBJ_GFX_PIKACHU_DOLL 143
#define EVENT_OBJ_GFX_MARILL_DOLL 144
#define EVENT_OBJ_GFX_TOGEPI_DOLL 145
#define EVENT_OBJ_GFX_CYNDAQUIL_DOLL 146
#define EVENT_OBJ_GFX_CHIKORITA_DOLL 147
#define EVENT_OBJ_GFX_TOTODILE_DOLL 148
#define EVENT_OBJ_GFX_JIGGLYPUFF_DOLL 149
#define EVENT_OBJ_GFX_MEOWTH_DOLL 150
#define EVENT_OBJ_GFX_CLEFAIRY_DOLL 151
#define EVENT_OBJ_GFX_DITTO_DOLL 152
#define EVENT_OBJ_GFX_SMOOCHUM_DOLL 153
#define EVENT_OBJ_GFX_TREECKO_DOLL 154
#define EVENT_OBJ_GFX_TORCHIC_DOLL 155
#define EVENT_OBJ_GFX_MUDKIP_DOLL 156
#define EVENT_OBJ_GFX_DUSKULL_DOLL 157
#define EVENT_OBJ_GFX_WYNAUT_DOLL 158
#define EVENT_OBJ_GFX_BALTOY_DOLL 159
#define EVENT_OBJ_GFX_KECLEON_DOLL 160
#define EVENT_OBJ_GFX_AZURILL_DOLL 161
#define EVENT_OBJ_GFX_SKITTY_DOLL 162
#define EVENT_OBJ_GFX_SWABLU_DOLL 163
#define EVENT_OBJ_GFX_GULPIN_DOLL 164
#define EVENT_OBJ_GFX_LOTAD_DOLL 165
#define EVENT_OBJ_GFX_SEEDOT_DOLL 166
#define EVENT_OBJ_GFX_PIKA_CUSHION 167
#define EVENT_OBJ_GFX_ROUND_CUSHION 168
#define EVENT_OBJ_GFX_KISS_CUSHION 169
#define EVENT_OBJ_GFX_ZIGZAG_CUSHION 170
#define EVENT_OBJ_GFX_SPIN_CUSHION 171
#define EVENT_OBJ_GFX_DIAMOND_CUSHION 172
#define EVENT_OBJ_GFX_BALL_CUSHION 173
#define EVENT_OBJ_GFX_GRASS_CUSHION 174
#define EVENT_OBJ_GFX_FIRE_CUSHION 175
#define EVENT_OBJ_GFX_WATER_CUSHION 176
#define EVENT_OBJ_GFX_BIG_SNORLAX_DOLL 177
#define EVENT_OBJ_GFX_BIG_RHYDON_DOLL 178
#define EVENT_OBJ_GFX_BIG_LAPRAS_DOLL 179
#define EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL 180
#define EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL 181
#define EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL 182
#define EVENT_OBJ_GFX_BIG_WAILMER_DOLL 183
#define EVENT_OBJ_GFX_BIG_REGIROCK_DOLL 184
#define EVENT_OBJ_GFX_BIG_REGICE_DOLL 185
#define EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL 186
#define EVENT_OBJ_GFX_LATIAS 187
#define EVENT_OBJ_GFX_LATIOS 188
#define EVENT_OBJ_GFX_BOY_5 189
#define EVENT_OBJ_GFX_CONTEST_JUDGE 190
#define EVENT_OBJ_GFX_BRENDAN_WATERING 191
#define EVENT_OBJ_GFX_MAY_WATERING 192
#define EVENT_OBJ_GFX_BRENDAN_DECORATING 193
#define EVENT_OBJ_GFX_MAY_DECORATING 194
#define EVENT_OBJ_GFX_ARCHIE 195
#define EVENT_OBJ_GFX_MAXIE 196
#define EVENT_OBJ_GFX_KYOGRE_1 197
#define EVENT_OBJ_GFX_GROUDON_1 198
#define EVENT_OBJ_GFX_FOSSIL 199
#define EVENT_OBJ_GFX_REGIROCK 200
#define EVENT_OBJ_GFX_REGICE 201
#define EVENT_OBJ_GFX_REGISTEEL 202
#define EVENT_OBJ_GFX_SKITTY 203
#define EVENT_OBJ_GFX_KECLEON_1 204
#define EVENT_OBJ_GFX_KYOGRE_2 205
#define EVENT_OBJ_GFX_GROUDON_2 206
#define EVENT_OBJ_GFX_RAYQUAZA_2 207
#define EVENT_OBJ_GFX_ZIGZAGOON_2 208
#define EVENT_OBJ_GFX_PIKACHU 209
#define EVENT_OBJ_GFX_AZUMARILL 210
#define EVENT_OBJ_GFX_WINGULL 211
#define EVENT_OBJ_GFX_KECLEON_2 212
#define EVENT_OBJ_GFX_TUBER_M_SWIMMING 213
#define EVENT_OBJ_GFX_AZURILL 214
#define EVENT_OBJ_GFX_MOM 215
#define EVENT_OBJ_GFX_LINK_BRENDAN 216
#define EVENT_OBJ_GFX_LINK_MAY 217
#define EVENT_OBJ_GFX_JUAN 218
#define EVENT_OBJ_GFX_SCOTT 219
#define EVENT_OBJ_GFX_POOCHYENA 220
#define EVENT_OBJ_GFX_KYOGRE_3 221
#define EVENT_OBJ_GFX_GROUDON_3 222
#define EVENT_OBJ_GFX_MYSTERY_GIFT_MAN 223
#define EVENT_OBJ_GFX_TRICK_HOUSE_STATUE 224
#define EVENT_OBJ_GFX_KIRLIA 225
#define EVENT_OBJ_GFX_DUSCLOPS 226
#define EVENT_OBJ_GFX_UNION_ROOM_NURSE 227
#define EVENT_OBJ_GFX_SUDOWOODO 228
#define EVENT_OBJ_GFX_MEW 229
#define EVENT_OBJ_GFX_RED 230
#define EVENT_OBJ_GFX_LEAF 231
#define EVENT_OBJ_GFX_DEOXYS 232
#define EVENT_OBJ_GFX_DEOXYS_TRIANGLE 233
#define EVENT_OBJ_GFX_BRANDON 234
#define EVENT_OBJ_GFX_LINK_RS_BRENDAN 235
#define EVENT_OBJ_GFX_LINK_RS_MAY 236
#define EVENT_OBJ_GFX_LUGIA 237
#define EVENT_OBJ_GFX_HOOH 238
#define EVENT_OBJ_GFX_BARD_2 239
#define EVENT_OBJ_GFX_HIPSTER 240
#define EVENT_OBJ_GFX_TRADER 241
#define EVENT_OBJ_GFX_STORYTELLER 242
#define EVENT_OBJ_GFX_GIDDY 243
#define EVENT_OBJ_GFX_PLACEHOLDER_1 244
#define EVENT_OBJ_GFX_PLACEHOLDER_2 245
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
#define SHADOW_SIZE_L 2
#define SHADOW_SIZE_XL 3
#define F_INANIMATE (1 << 6)
#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7)
#define TRACKS_NONE 0
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
#endif // GUARD_CONSTANTS_EVENT_OBJECTS_H
+2 -2
View File
@@ -462,8 +462,8 @@
#define ITEM_MAGMA_EMBLEM 375
#define ITEM_OLD_SEA_MAP 376
#define ITEM_LAST_ID 376
#define ITEM_FIELD_ARROW ITEM_LAST_ID + 1
#define ITEMS_COUNT 377
#define ITEM_FIELD_ARROW ITEMS_COUNT
#define FIRST_BERRY_INDEX ITEM_CHERI_BERRY
#define LAST_BERRY_INDEX ITEM_ENIGMA_BERRY
-263
View File
@@ -1,263 +0,0 @@
#ifndef GUARD_CONSTANTS_MAP_OBJECTS_H
#define GUARD_CONSTANTS_MAP_OBJECTS_H
#define MAP_OBJ_GFX_BRENDAN_NORMAL 0
#define MAP_OBJ_GFX_BRENDAN_MACH_BIKE 1
#define MAP_OBJ_GFX_BRENDAN_SURFING 2
#define MAP_OBJ_GFX_BRENDAN_FIELD_MOVE 3
#define MAP_OBJ_GFX_QUINTY_PLUMP 4
#define MAP_OBJ_GFX_LITTLE_BOY_1 5
#define MAP_OBJ_GFX_LITTLE_GIRL_1 6
#define MAP_OBJ_GFX_BOY_1 7
#define MAP_OBJ_GFX_GIRL_1 8
#define MAP_OBJ_GFX_BOY_2 9
#define MAP_OBJ_GFX_GIRL_2 10
#define MAP_OBJ_GFX_LITTLE_BOY_2 11
#define MAP_OBJ_GFX_LITTLE_GIRL_2 12
#define MAP_OBJ_GFX_BOY_3 13
#define MAP_OBJ_GFX_GIRL_3 14
#define MAP_OBJ_GFX_BOY_4 15
#define MAP_OBJ_GFX_WOMAN_1 16
#define MAP_OBJ_GFX_FAT_MAN 17
#define MAP_OBJ_GFX_WOMAN_2 18
#define MAP_OBJ_GFX_MAN_1 19
#define MAP_OBJ_GFX_WOMAN_3 20
#define MAP_OBJ_GFX_OLD_MAN_1 21
#define MAP_OBJ_GFX_OLD_WOMAN_1 22
#define MAP_OBJ_GFX_MAN_2 23
#define MAP_OBJ_GFX_WOMAN_4 24
#define MAP_OBJ_GFX_MAN_3 25
#define MAP_OBJ_GFX_WOMAN_5 26
#define MAP_OBJ_GFX_COOK 27
#define MAP_OBJ_GFX_WOMAN_6 28
#define MAP_OBJ_GFX_OLD_MAN_2 29
#define MAP_OBJ_GFX_OLD_WOMAN_2 30
#define MAP_OBJ_GFX_CAMPER 31
#define MAP_OBJ_GFX_PICNICKER 32
#define MAP_OBJ_GFX_MAN_4 33
#define MAP_OBJ_GFX_WOMAN_7 34
#define MAP_OBJ_GFX_YOUNGSTER 35
#define MAP_OBJ_GFX_BUG_CATCHER 36
#define MAP_OBJ_GFX_PSYCHIC_M 37
#define MAP_OBJ_GFX_SCHOOL_KID_M 38
#define MAP_OBJ_GFX_MANIAC 39
#define MAP_OBJ_GFX_HEX_MANIAC 40
#define MAP_OBJ_GFX_RAYQUAZA_1 41
#define MAP_OBJ_GFX_SWIMMER_M 42
#define MAP_OBJ_GFX_SWIMMER_F 43
#define MAP_OBJ_GFX_BLACK_BELT 44
#define MAP_OBJ_GFX_BEAUTY 45
#define MAP_OBJ_GFX_SCIENTIST_1 46
#define MAP_OBJ_GFX_LASS 47
#define MAP_OBJ_GFX_GENTLEMAN 48
#define MAP_OBJ_GFX_SAILOR 49
#define MAP_OBJ_GFX_FISHERMAN 50
#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_M 51
#define MAP_OBJ_GFX_RUNNING_TRIATHLETE_F 52
#define MAP_OBJ_GFX_TUBER_F 53
#define MAP_OBJ_GFX_TUBER_M 54
#define MAP_OBJ_GFX_HIKER 55
#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_M 56
#define MAP_OBJ_GFX_CYCLING_TRIATHLETE_F 57
#define MAP_OBJ_GFX_NURSE 58
#define MAP_OBJ_GFX_ITEM_BALL 59
#define MAP_OBJ_GFX_BERRY_TREE 60
#define MAP_OBJ_GFX_BERRY_TREE_EARLY_STAGES 61
#define MAP_OBJ_GFX_BERRY_TREE_LATE_STAGES 62
#define MAP_OBJ_GFX_BRENDAN_ACRO_BIKE 63
#define MAP_OBJ_GFX_PROF_BIRCH 64
#define MAP_OBJ_GFX_MAN_5 65
#define MAP_OBJ_GFX_MAN_6 66
#define MAP_OBJ_GFX_REPORTER_M 67
#define MAP_OBJ_GFX_REPORTER_F 68
#define MAP_OBJ_GFX_BARD 69
#define MAP_OBJ_GFX_ANABEL 70
#define MAP_OBJ_GFX_TUCKER 71
#define MAP_OBJ_GFX_GRETA 72
#define MAP_OBJ_GFX_SPENSER 73
#define MAP_OBJ_GFX_NOLAND 74
#define MAP_OBJ_GFX_LUCY 75
#define MAP_OBJ_GFX_UNUSED_NATU_DOLL 76
#define MAP_OBJ_GFX_UNUSED_MAGNEMITE_DOLL 77
#define MAP_OBJ_GFX_UNUSED_SQUIRTLE_DOLL 78
#define MAP_OBJ_GFX_UNUSED_WOOPER_DOLL 79
#define MAP_OBJ_GFX_UNUSED_PIKACHU_DOLL 80
#define MAP_OBJ_GFX_UNUSED_PORYGON2_DOLL 81
#define MAP_OBJ_GFX_CUTTABLE_TREE 82
#define MAP_OBJ_GFX_MART_EMPLOYEE 83
#define MAP_OBJ_GFX_ROOFTOP_SALE_WOMAN 84
#define MAP_OBJ_GFX_TEALA 85
#define MAP_OBJ_GFX_BREAKABLE_ROCK 86
#define MAP_OBJ_GFX_PUSHABLE_BOULDER 87
#define MAP_OBJ_GFX_MR_BRINEYS_BOAT 88
#define MAP_OBJ_GFX_MAY_NORMAL 89
#define MAP_OBJ_GFX_MAY_MACH_BIKE 90
#define MAP_OBJ_GFX_MAY_ACRO_BIKE 91
#define MAP_OBJ_GFX_MAY_SURFING 92
#define MAP_OBJ_GFX_MAY_FIELD_MOVE 93
#define MAP_OBJ_GFX_TRUCK 94
#define MAP_OBJ_GFX_VIGAROTH_CARRYING_BOX 95
#define MAP_OBJ_GFX_VIGAROTH_FACING_AWAY 96
#define MAP_OBJ_GFX_BIRCHS_BAG 97
#define MAP_OBJ_GFX_ZIGZAGOON_1 98
#define MAP_OBJ_GFX_ARTIST 99
#define MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL 100
#define MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE 101
#define MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE 102
#define MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING 103
#define MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE 104
#define MAP_OBJ_GFX_RIVAL_MAY_NORMAL 105
#define MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE 106
#define MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE 107
#define MAP_OBJ_GFX_RIVAL_MAY_SURFING 108
#define MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE 109
#define MAP_OBJ_GFX_CAMERAMAN 110
#define MAP_OBJ_GFX_BRENDAN_UNDERWATER 111
#define MAP_OBJ_GFX_MAY_UNDERWATER 112
#define MAP_OBJ_GFX_MOVING_BOX 113
#define MAP_OBJ_GFX_CABLE_CAR 114
#define MAP_OBJ_GFX_SCIENTIST_2 115
#define MAP_OBJ_GFX_MAN_7 116
#define MAP_OBJ_GFX_AQUA_MEMBER_M 117
#define MAP_OBJ_GFX_AQUA_MEMBER_F 118
#define MAP_OBJ_GFX_MAGMA_MEMBER_M 119
#define MAP_OBJ_GFX_MAGMA_MEMBER_F 120
#define MAP_OBJ_GFX_SIDNEY 121
#define MAP_OBJ_GFX_PHOEBE 122
#define MAP_OBJ_GFX_GLACIA 123
#define MAP_OBJ_GFX_DRAKE 124
#define MAP_OBJ_GFX_ROXANNE 125
#define MAP_OBJ_GFX_BRAWLY 126
#define MAP_OBJ_GFX_WATTSON 127
#define MAP_OBJ_GFX_FLANNERY 128
#define MAP_OBJ_GFX_NORMAN 129
#define MAP_OBJ_GFX_WINONA 130
#define MAP_OBJ_GFX_LIZA 131
#define MAP_OBJ_GFX_TATE 132
#define MAP_OBJ_GFX_WALLACE 133
#define MAP_OBJ_GFX_STEVEN 134
#define MAP_OBJ_GFX_WALLY 135
#define MAP_OBJ_GFX_LITTLE_BOY_3 136
#define MAP_OBJ_GFX_BRENDAN_FISHING 137
#define MAP_OBJ_GFX_MAY_FISHING 138
#define MAP_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN 139
#define MAP_OBJ_GFX_SS_TIDAL 140
#define MAP_OBJ_GFX_SUBMARINE_SHADOW 141
#define MAP_OBJ_GFX_PICHU_DOLL 142
#define MAP_OBJ_GFX_PIKACHU_DOLL 143
#define MAP_OBJ_GFX_MARILL_DOLL 144
#define MAP_OBJ_GFX_TOGEPI_DOLL 145
#define MAP_OBJ_GFX_CYNDAQUIL_DOLL 146
#define MAP_OBJ_GFX_CHIKORITA_DOLL 147
#define MAP_OBJ_GFX_TOTODILE_DOLL 148
#define MAP_OBJ_GFX_JIGGLYPUFF_DOLL 149
#define MAP_OBJ_GFX_MEOWTH_DOLL 150
#define MAP_OBJ_GFX_CLEFAIRY_DOLL 151
#define MAP_OBJ_GFX_DITTO_DOLL 152
#define MAP_OBJ_GFX_SMOOCHUM_DOLL 153
#define MAP_OBJ_GFX_TREECKO_DOLL 154
#define MAP_OBJ_GFX_TORCHIC_DOLL 155
#define MAP_OBJ_GFX_MUDKIP_DOLL 156
#define MAP_OBJ_GFX_DUSKULL_DOLL 157
#define MAP_OBJ_GFX_WYNAUT_DOLL 158
#define MAP_OBJ_GFX_BALTOY_DOLL 159
#define MAP_OBJ_GFX_KECLEON_DOLL 160
#define MAP_OBJ_GFX_AZURILL_DOLL 161
#define MAP_OBJ_GFX_SKITTY_DOLL 162
#define MAP_OBJ_GFX_SWABLU_DOLL 163
#define MAP_OBJ_GFX_GULPIN_DOLL 164
#define MAP_OBJ_GFX_LOTAD_DOLL 165
#define MAP_OBJ_GFX_SEEDOT_DOLL 166
#define MAP_OBJ_GFX_PIKA_CUSHION 167
#define MAP_OBJ_GFX_ROUND_CUSHION 168
#define MAP_OBJ_GFX_KISS_CUSHION 169
#define MAP_OBJ_GFX_ZIGZAG_CUSHION 170
#define MAP_OBJ_GFX_SPIN_CUSHION 171
#define MAP_OBJ_GFX_DIAMOND_CUSHION 172
#define MAP_OBJ_GFX_BALL_CUSHION 173
#define MAP_OBJ_GFX_GRASS_CUSHION 174
#define MAP_OBJ_GFX_FIRE_CUSHION 175
#define MAP_OBJ_GFX_WATER_CUSHION 176
#define MAP_OBJ_GFX_BIG_SNORLAX_DOLL 177
#define MAP_OBJ_GFX_BIG_RHYDON_DOLL 178
#define MAP_OBJ_GFX_BIG_LAPRAS_DOLL 179
#define MAP_OBJ_GFX_BIG_VENUSAUR_DOLL 180
#define MAP_OBJ_GFX_BIG_CHARIZARD_DOLL 181
#define MAP_OBJ_GFX_BIG_BLASTOISE_DOLL 182
#define MAP_OBJ_GFX_BIG_WAILMER_DOLL 183
#define MAP_OBJ_GFX_BIG_REGIROCK_DOLL 184
#define MAP_OBJ_GFX_BIG_REGICE_DOLL 185
#define MAP_OBJ_GFX_BIG_REGISTEEL_DOLL 186
#define MAP_OBJ_GFX_LATIAS 187
#define MAP_OBJ_GFX_LATIOS 188
#define MAP_OBJ_GFX_BOY_5 189
#define MAP_OBJ_GFX_CONTEST_JUDGE 190
#define MAP_OBJ_GFX_BRENDAN_WATERING 191
#define MAP_OBJ_GFX_MAY_WATERING 192
#define MAP_OBJ_GFX_BRENDAN_DECORATING 193
#define MAP_OBJ_GFX_MAY_DECORATING 194
#define MAP_OBJ_GFX_ARCHIE 195
#define MAP_OBJ_GFX_MAXIE 196
#define MAP_OBJ_GFX_KYOGRE_1 197
#define MAP_OBJ_GFX_GROUDON_1 198
#define MAP_OBJ_GFX_FOSSIL 199
#define MAP_OBJ_GFX_REGIROCK 200
#define MAP_OBJ_GFX_REGICE 201
#define MAP_OBJ_GFX_REGISTEEL 202
#define MAP_OBJ_GFX_SKITTY 203
#define MAP_OBJ_GFX_KECLEON_1 204
#define MAP_OBJ_GFX_KYOGRE_2 205
#define MAP_OBJ_GFX_GROUDON_2 206
#define MAP_OBJ_GFX_RAYQUAZA_2 207
#define MAP_OBJ_GFX_ZIGZAGOON_2 208
#define MAP_OBJ_GFX_PIKACHU 209
#define MAP_OBJ_GFX_AZUMARILL 210
#define MAP_OBJ_GFX_WINGULL 211
#define MAP_OBJ_GFX_KECLEON_2 212
#define MAP_OBJ_GFX_TUBER_M_SWIMMING 213
#define MAP_OBJ_GFX_AZURILL 214
#define MAP_OBJ_GFX_MOM 215
#define MAP_OBJ_GFX_LINK_BRENDAN 216
#define MAP_OBJ_GFX_LINK_MAY 217
#define MAP_OBJ_GFX_JUAN 218
#define MAP_OBJ_GFX_SCOTT 219
#define MAP_OBJ_GFX_POOCHYENA 220
#define MAP_OBJ_GFX_KYOGRE_3 221
#define MAP_OBJ_GFX_GROUDON_3 222
#define MAP_OBJ_GFX_MYSTERY_GIFT_MAN 223
#define MAP_OBJ_GFX_TRICK_HOUSE_STATUE 224
#define MAP_OBJ_GFX_KIRLIA 225
#define MAP_OBJ_GFX_DUSCLOPS 226
#define MAP_OBJ_GFX_UNION_ROOM_NURSE 227
#define MAP_OBJ_GFX_SUDOWOODO 228
#define MAP_OBJ_GFX_MEW 229
#define MAP_OBJ_GFX_RED 230
#define MAP_OBJ_GFX_LEAF 231
#define MAP_OBJ_GFX_DEOXYS 232
#define MAP_OBJ_GFX_DEOXYS_TRIANGLE 233
#define MAP_OBJ_GFX_BRANDON 234
#define MAP_OBJ_GFX_LINK_RS_BRENDAN 235
#define MAP_OBJ_GFX_LINK_RS_MAY 236
#define MAP_OBJ_GFX_LUGIA 237
#define MAP_OBJ_GFX_HOOH 238
#define MAP_OBJ_GFX_BARD_2 239
#define MAP_OBJ_GFX_HIPSTER 240
#define MAP_OBJ_GFX_TRADER 241
#define MAP_OBJ_GFX_STORYTELLER 242
#define MAP_OBJ_GFX_GIDDY 243
#define MAP_OBJ_GFX_PLACEHOLDER_1 244
#define MAP_OBJ_GFX_PLACEHOLDER_2 245
#define SHADOW_SIZE_S 0
#define SHADOW_SIZE_M 1
#define SHADOW_SIZE_L 2
#define SHADOW_SIZE_XL 3
#define F_INANIMATE (1 << 6)
#define F_DISABLE_REFLECTION_PALETTE_LOAD (1 << 7)
#define TRACKS_NONE 0
#define TRACKS_FOOT 1
#define TRACKS_BIKE_TIRE 2
#endif // GUARD_CONSTANTS_MAP_OBJECTS_H
+25
View File
@@ -0,0 +1,25 @@
#ifndef GUARD_CONSTANTS_MAP_TYPES_H
#define GUARD_CONSTANTS_MAP_TYPES_H
#define MAP_TYPE_0 0
#define MAP_TYPE_TOWN 1
#define MAP_TYPE_CITY 2
#define MAP_TYPE_ROUTE 3
#define MAP_TYPE_UNDERGROUND 4
#define MAP_TYPE_UNDERWATER 5
#define MAP_TYPE_6 6
#define MAP_TYPE_7 7
#define MAP_TYPE_INDOOR 8
#define MAP_TYPE_SECRET_BASE 9
#define MAP_BATTLE_SCENE_NORMAL 0
#define MAP_BATTLE_SCENE_GYM 1
#define MAP_BATTLE_SCENE_MAGMA 2
#define MAP_BATTLE_SCENE_AQUA 3
#define MAP_BATTLE_SCENE_SIDNEY 4
#define MAP_BATTLE_SCENE_PHOEBE 5
#define MAP_BATTLE_SCENE_GLACIA 6
#define MAP_BATTLE_SCENE_DRAKE 7
#define MAP_BATTLE_SCENE_FRONTIER 8
#endif // GUARD_CONSTANTS_MAP_TYPES_H
+77 -77
View File
@@ -228,21 +228,21 @@
#define MAP_MOSSDEEP_CITY_GAME_CORNER_B1F (12 | (14 << 8))
// Map Group 15
#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE8 (12 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE9_1F (13 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE9_B1F (14 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_GYM_1F (0 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_GYM_B1F (1 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_1F (2 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_POKEMON_CENTER_2F (3 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MART (4 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE1 (5 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE2 (6 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE3 (7 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE4 (8 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE5 (9 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE6 (10 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_HOUSE7 (11 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_LOTAD_AND_SEEDOT_HOUSE (12 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F (13 | (15 << 8))
#define MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_B1F (14 | (15 << 8))
// Map Group 16
#define MAP_EVER_GRANDE_CITY_SIDNEYS_ROOM (0 | (16 << 8))
@@ -250,11 +250,11 @@
#define MAP_EVER_GRANDE_CITY_GLACIAS_ROOM (2 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_DRAKES_ROOM (3 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CHAMPIONS_ROOM (4 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CORRIDOR1 (5 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CORRIDOR2 (6 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CORRIDOR3 (7 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CORRIDOR4 (8 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_CORRIDOR5 (9 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL1 (5 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL2 (6 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL3 (7 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL4 (8 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL5 (9 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_LEAGUE_1F (10 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_HALL_OF_FAME (11 | (16 << 8))
#define MAP_EVER_GRANDE_CITY_POKEMON_CENTER_1F (12 | (16 << 8))
@@ -327,9 +327,9 @@
#define MAP_SEAFLOOR_CAVERN_ROOM9 (36 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_ENTRANCE (37 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_1F (38 | (24 << 8))
#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B1F (39 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B2F (40 | (24 << 8)) // Ruby/Sapphire leftovers
#define MAP_CAVE_OF_ORIGIN_UNUSED_RS_B3F (41 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP1 (39 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP2 (40 | (24 << 8)) // Ruby/Sapphire leftovers
#define MAP_CAVE_OF_ORIGIN_UNUSED_RUBY_SAPPHIRE_MAP3 (41 | (24 << 8)) //
#define MAP_CAVE_OF_ORIGIN_B1F (42 | (24 << 8))
#define MAP_VICTORY_ROAD_1F (43 | (24 << 8))
#define MAP_VICTORY_ROAD_B1F (44 | (24 << 8))
@@ -442,29 +442,29 @@
#define MAP_SS_TIDAL_CORRIDOR (41 | (25 << 8))
#define MAP_SS_TIDAL_LOWER_DECK (42 | (25 << 8))
#define MAP_SS_TIDAL_ROOMS (43 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE_16 (59 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE01 (44 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE02 (45 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE03 (46 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE04 (47 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE05 (48 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE06 (49 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE07 (50 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE08 (51 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE09 (52 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE10 (53 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE11 (54 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE12 (55 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE13 (56 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE14 (57 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE15 (58 | (25 << 8))
#define MAP_BATTLE_PYRAMID_SQUARE16 (59 | (25 << 8))
#define MAP_UNION_ROOM (60 | (25 << 8))
// Map Group 26
#define MAP_SAFARI_ZONE_NORTHWEST (0 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTHEAST (1 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTH (1 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHWEST (2 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHEAST (3 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTH (3 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_WEST (4 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_LOBBY (5 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR (6 | (26 << 8))
@@ -473,12 +473,12 @@
#define MAP_SOUTHERN_ISLAND_EXTERIOR (9 | (26 << 8))
#define MAP_SOUTHERN_ISLAND_INTERIOR (10 | (26 << 8))
#define MAP_SAFARI_ZONE_REST_HOUSE (11 | (26 << 8))
#define MAP_SAFARI_ZONE_EM_1 (12 | (26 << 8))
#define MAP_SAFARI_ZONE_EM_2 (13 | (26 << 8))
#define MAP_SAFARI_ZONE_NORTHEAST (12 | (26 << 8))
#define MAP_SAFARI_ZONE_SOUTHEAST (13 | (26 << 8))
#define MAP_BATTLE_FRONTIER_OUTSIDE_EAST (14 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_MULTI_BATTLE_ROOM (15 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR_2 (16 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM_2 (17 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_CORRIDOR2 (16 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_TOWER_BATTLE_ROOM2 (17 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_LOBBY (18 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR (19 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_DOME_PRE_BATTLE_ROOM (20 | (26 << 8))
@@ -498,22 +498,22 @@
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_LOBBY (34 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR (35 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_THREE_PATH_ROOM (36 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_1 (37 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_2 (38 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM_3 (39 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM1 (37 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM2 (38 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_PIKE_RANDOM_ROOM3 (39 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RANKING_HALL (40 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_1 (41 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE1 (41 | (26 << 8))
#define MAP_BATTLE_FRONTIER_BATTLE_POINT_EXCHANGE_SERVICE_CORNER (42 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_2 (43 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_3 (44 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_4 (45 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE2 (43 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE3 (44 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE4 (45 | (26 << 8))
#define MAP_BATTLE_FRONTIER_SCOTTS_HOUSE (46 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_5 (47 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_6 (48 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_7 (49 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE5 (47 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE6 (48 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE7 (49 | (26 << 8))
#define MAP_BATTLE_FRONTIER_RECEPTION_GATE (50 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_8 (51 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE_9 (52 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE8 (51 | (26 << 8))
#define MAP_BATTLE_FRONTIER_LOUNGE9 (52 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_1F (53 | (26 << 8))
#define MAP_BATTLE_FRONTIER_POKEMON_CENTER_2F (54 | (26 << 8))
#define MAP_BATTLE_FRONTIER_MART (55 | (26 << 8))
@@ -530,24 +530,24 @@
#define MAP_NAVEL_ROCK_EXTERIOR (66 | (26 << 8))
#define MAP_NAVEL_ROCK_HARBOR (67 | (26 << 8))
#define MAP_NAVEL_ROCK_ENTRANCE (68 | (26 << 8))
#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
#define MAP_NAVEL_ROCK_UP_1 (71 | (26 << 8))
#define MAP_NAVEL_ROCK_UP_2 (72 | (26 << 8))
#define MAP_NAVEL_ROCK_UP_3 (73 | (26 << 8))
#define MAP_NAVEL_ROCK_UP_4 (74 | (26 << 8))
#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_01 (76 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_02 (77 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_03 (78 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_04 (79 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_05 (80 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_06 (81 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_07 (82 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_08 (83 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_09 (84 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_10 (85 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN_11 (86 | (26 << 8))
#define MAP_NAVEL_ROCK_B1F (69 | (26 << 8))
#define MAP_NAVEL_ROCK_FORK (70 | (26 << 8))
#define MAP_NAVEL_ROCK_UP1 (71 | (26 << 8))
#define MAP_NAVEL_ROCK_UP2 (72 | (26 << 8))
#define MAP_NAVEL_ROCK_UP3 (73 | (26 << 8))
#define MAP_NAVEL_ROCK_UP4 (74 | (26 << 8))
#define MAP_NAVEL_ROCK_TOP (75 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN01 (76 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN02 (77 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN03 (78 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN04 (79 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN05 (80 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN06 (81 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN07 (82 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN08 (83 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN09 (84 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN10 (85 | (26 << 8))
#define MAP_NAVEL_ROCK_DOWN11 (86 | (26 << 8))
#define MAP_NAVEL_ROCK_BOTTOM (87 | (26 << 8))
#define MAP_TRAINER_HILL_ELEVATOR (88 | (26 << 8))
@@ -570,8 +570,8 @@
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE6 (8 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE7 (9 | (29 << 8))
#define MAP_ROUTE110_TRICK_HOUSE_PUZZLE8 (10 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (11 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (12 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_NORTH_ENTRANCE (11 | (29 << 8))
#define MAP_ROUTE110_SEASIDE_CYCLING_ROAD_SOUTH_ENTRANCE (12 | (29 << 8))
// Map Group 30
#define MAP_ROUTE113_GLASS_WORKSHOP (0 | (30 << 8))
+1 -1
View File
@@ -357,6 +357,6 @@
#define MOVE_DOOM_DESIRE 353
#define MOVE_PSYCHO_BOOST 354
#define LAST_MOVE_INDEX MOVE_PSYCHO_BOOST
#define MOVES_COUNT 355
#endif // GUARD_CONSTANTS_MOVES_H
+110
View File
@@ -0,0 +1,110 @@
#ifndef GUARD_CONSTANTS_SECRET_BASES_H
#define GUARD_CONSTANTS_SECRET_BASES_H
// Each secret base location is assigned an identifier value.
// The secret base's map is determined by (id / 10). The ones
// digit is used to differentiate secret bases using the same map.
// Therefore, each secret base map can be used by up to 10 different
// secret bases in the game. These ids are 1-based, but there is no
// apparent reason for that.
#define SECRET_BASE_RED_CAVE1_1 1
#define SECRET_BASE_RED_CAVE1_2 2
#define SECRET_BASE_RED_CAVE1_3 3
#define SECRET_BASE_RED_CAVE2_1 11
#define SECRET_BASE_RED_CAVE2_2 12
#define SECRET_BASE_RED_CAVE2_3 13
#define SECRET_BASE_RED_CAVE3_1 21
#define SECRET_BASE_RED_CAVE3_2 22
#define SECRET_BASE_RED_CAVE3_3 23
#define SECRET_BASE_RED_CAVE4_1 31
#define SECRET_BASE_RED_CAVE4_2 32
#define SECRET_BASE_RED_CAVE4_3 33
#define SECRET_BASE_BROWN_CAVE1_1 41
#define SECRET_BASE_BROWN_CAVE1_2 42
#define SECRET_BASE_BROWN_CAVE1_3 43
#define SECRET_BASE_BROWN_CAVE2_1 51
#define SECRET_BASE_BROWN_CAVE2_2 52
#define SECRET_BASE_BROWN_CAVE2_3 53
#define SECRET_BASE_BROWN_CAVE3_1 61
#define SECRET_BASE_BROWN_CAVE3_2 62
#define SECRET_BASE_BROWN_CAVE3_3 63
#define SECRET_BASE_BROWN_CAVE4_1 71
#define SECRET_BASE_BROWN_CAVE4_2 72
#define SECRET_BASE_BROWN_CAVE4_3 73
#define SECRET_BASE_BLUE_CAVE1_1 81
#define SECRET_BASE_BLUE_CAVE1_2 82
#define SECRET_BASE_BLUE_CAVE1_3 83
#define SECRET_BASE_BLUE_CAVE2_1 91
#define SECRET_BASE_BLUE_CAVE2_2 92
#define SECRET_BASE_BLUE_CAVE2_3 93
#define SECRET_BASE_BLUE_CAVE3_1 101
#define SECRET_BASE_BLUE_CAVE3_2 102
#define SECRET_BASE_BLUE_CAVE3_3 103
#define SECRET_BASE_BLUE_CAVE4_1 111
#define SECRET_BASE_BLUE_CAVE4_2 112
#define SECRET_BASE_BLUE_CAVE4_3 113
#define SECRET_BASE_YELLOW_CAVE1_1 121
#define SECRET_BASE_YELLOW_CAVE1_2 122
#define SECRET_BASE_YELLOW_CAVE1_3 123
#define SECRET_BASE_YELLOW_CAVE2_1 131
#define SECRET_BASE_YELLOW_CAVE2_2 132
#define SECRET_BASE_YELLOW_CAVE2_3 133
#define SECRET_BASE_YELLOW_CAVE3_1 141
#define SECRET_BASE_YELLOW_CAVE3_2 142
#define SECRET_BASE_YELLOW_CAVE3_3 143
#define SECRET_BASE_YELLOW_CAVE4_1 151
#define SECRET_BASE_YELLOW_CAVE4_2 152
#define SECRET_BASE_YELLOW_CAVE4_3 153
#define SECRET_BASE_TREE1_1 161
#define SECRET_BASE_TREE1_2 162
#define SECRET_BASE_TREE1_3 163
#define SECRET_BASE_TREE1_4 164
#define SECRET_BASE_TREE2_1 171
#define SECRET_BASE_TREE2_2 172
#define SECRET_BASE_TREE2_3 173
#define SECRET_BASE_TREE2_4 174
#define SECRET_BASE_TREE3_1 181
#define SECRET_BASE_TREE3_2 182
#define SECRET_BASE_TREE3_3 183
#define SECRET_BASE_TREE4_1 191
#define SECRET_BASE_TREE4_2 192
#define SECRET_BASE_TREE4_3 193
#define SECRET_BASE_SHRUB1_1 201
#define SECRET_BASE_SHRUB1_2 202
#define SECRET_BASE_SHRUB1_3 203
#define SECRET_BASE_SHRUB1_4 204
#define SECRET_BASE_SHRUB2_1 211
#define SECRET_BASE_SHRUB2_2 212
#define SECRET_BASE_SHRUB2_3 213
#define SECRET_BASE_SHRUB3_1 221
#define SECRET_BASE_SHRUB3_2 222
#define SECRET_BASE_SHRUB3_3 223
#define SECRET_BASE_SHRUB4_1 231
#define SECRET_BASE_SHRUB4_2 232
#define SECRET_BASE_SHRUB4_3 233
#endif // GUARD_CONSTANTS_SECRET_BASES_H
+17 -1
View File
@@ -857,7 +857,14 @@
#define TRAINER_BRENDAN_16 853
#define TRAINER_MAY_16 854
#define NO_OF_TRAINERS 854
#define TRAINERS_COUNT 855
// Special Trainer Ids.
#define TRAINER_FRONTIER_BRAIN 1022
#define TRAINER_SECRET_BASE 1024
#define TRAINER_LINK_OPPONENT 2048
#define TRAINER_OPPONENT_C00 3072
#define TRAINER_STEVEN_PARTNER 3075
#define TRAINER_PIC_HIKER 0
#define TRAINER_PIC_AQUA_GRUNT_M 1
@@ -953,6 +960,15 @@
#define TRAINER_PIC_RUBY_SAPPHIRE_BRENDAN 91
#define TRAINER_PIC_RUBY_SAPPHIRE_MAY 92
#define TRAINER_BACK_PIC_BRENDAN 0
#define TRAINER_BACK_PIC_MAY 1
#define TRAINER_BACK_PIC_RED 2
#define TRAINER_BACK_PIC_LEAF 3
#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_BRENDAN 4
#define TRAINER_BACK_PIC_RUBY_SAPPHIRE_MAY 5
#define TRAINER_BACK_PIC_WALLY 6
#define TRAINER_BACK_PIC_STEVEN 7
#define FACILITY_CLASS_HIKER 0x0
#define FACILITY_CLASS_TEAM_AQUA_1 0x1
#define FACILITY_CLASS_PKMN_BREEDER_1 0x2
+1 -1
View File
@@ -27,7 +27,7 @@
// object gfx id vars
// These 0x10 vars are used to dynamically control a map object's sprite.
// For example, the rival's sprite id is dynamically set based on the player's gender.
// See VarGetFieldObjectGraphicsId().
// See VarGetEventObjectGraphicsId().
#define VAR_OBJ_GFX_ID_0 0x4010
#define VAR_OBJ_GFX_ID_1 0x4011
#define VAR_OBJ_GFX_ID_2 0x4012
+1 -1
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_DATA_BATTLE_MOVES
#define GUARD_DATA_BATTLE_MOVES
const struct BattleMove gBattleMoves[LAST_MOVE_INDEX + 1] =
const struct BattleMove gBattleMoves[MOVES_COUNT] =
{
{ // MOVE_NONE
.effect = EFFECT_HIT,
+45 -45
View File
@@ -464,183 +464,183 @@ const u16 DecorGfx_KISS_POSTER[] = {
};
const u16 DecorGfx_PICHU_DOLL[] = {
MAP_OBJ_GFX_PICHU_DOLL
EVENT_OBJ_GFX_PICHU_DOLL
};
const u16 DecorGfx_PIKACHU_DOLL[] = {
MAP_OBJ_GFX_PIKACHU_DOLL
EVENT_OBJ_GFX_PIKACHU_DOLL
};
const u16 DecorGfx_MARILL_DOLL[] = {
MAP_OBJ_GFX_MARILL_DOLL
EVENT_OBJ_GFX_MARILL_DOLL
};
const u16 DecorGfx_TOGEPI_DOLL[] = {
MAP_OBJ_GFX_TOGEPI_DOLL
EVENT_OBJ_GFX_TOGEPI_DOLL
};
const u16 DecorGfx_CYNDAQUIL_DOLL[] = {
MAP_OBJ_GFX_CYNDAQUIL_DOLL
EVENT_OBJ_GFX_CYNDAQUIL_DOLL
};
const u16 DecorGfx_CHIKORITA_DOLL[] = {
MAP_OBJ_GFX_CHIKORITA_DOLL
EVENT_OBJ_GFX_CHIKORITA_DOLL
};
const u16 DecorGfx_TOTODILE_DOLL[] = {
MAP_OBJ_GFX_TOTODILE_DOLL
EVENT_OBJ_GFX_TOTODILE_DOLL
};
const u16 DecorGfx_JIGGLYPUFF_DOLL[] = {
MAP_OBJ_GFX_JIGGLYPUFF_DOLL
EVENT_OBJ_GFX_JIGGLYPUFF_DOLL
};
const u16 DecorGfx_MEOWTH_DOLL[] = {
MAP_OBJ_GFX_MEOWTH_DOLL
EVENT_OBJ_GFX_MEOWTH_DOLL
};
const u16 DecorGfx_CLEFAIRY_DOLL[] = {
MAP_OBJ_GFX_CLEFAIRY_DOLL
EVENT_OBJ_GFX_CLEFAIRY_DOLL
};
const u16 DecorGfx_DITTO_DOLL[] = {
MAP_OBJ_GFX_DITTO_DOLL
EVENT_OBJ_GFX_DITTO_DOLL
};
const u16 DecorGfx_SMOOCHUM_DOLL[] = {
MAP_OBJ_GFX_SMOOCHUM_DOLL
EVENT_OBJ_GFX_SMOOCHUM_DOLL
};
const u16 DecorGfx_TREECKO_DOLL[] = {
MAP_OBJ_GFX_TREECKO_DOLL
EVENT_OBJ_GFX_TREECKO_DOLL
};
const u16 DecorGfx_TORCHIC_DOLL[] = {
MAP_OBJ_GFX_TORCHIC_DOLL
EVENT_OBJ_GFX_TORCHIC_DOLL
};
const u16 DecorGfx_MUDKIP_DOLL[] = {
MAP_OBJ_GFX_MUDKIP_DOLL
EVENT_OBJ_GFX_MUDKIP_DOLL
};
const u16 DecorGfx_DUSKULL_DOLL[] = {
MAP_OBJ_GFX_DUSKULL_DOLL
EVENT_OBJ_GFX_DUSKULL_DOLL
};
const u16 DecorGfx_WYNAUT_DOLL[] = {
MAP_OBJ_GFX_WYNAUT_DOLL
EVENT_OBJ_GFX_WYNAUT_DOLL
};
const u16 DecorGfx_BALTOY_DOLL[] = {
MAP_OBJ_GFX_BALTOY_DOLL
EVENT_OBJ_GFX_BALTOY_DOLL
};
const u16 DecorGfx_KECLEON_DOLL[] = {
MAP_OBJ_GFX_KECLEON_DOLL
EVENT_OBJ_GFX_KECLEON_DOLL
};
const u16 DecorGfx_AZURILL_DOLL[] = {
MAP_OBJ_GFX_AZURILL_DOLL
EVENT_OBJ_GFX_AZURILL_DOLL
};
const u16 DecorGfx_SKITTY_DOLL[] = {
MAP_OBJ_GFX_SKITTY_DOLL
EVENT_OBJ_GFX_SKITTY_DOLL
};
const u16 DecorGfx_SWABLU_DOLL[] = {
MAP_OBJ_GFX_SWABLU_DOLL
EVENT_OBJ_GFX_SWABLU_DOLL
};
const u16 DecorGfx_GULPIN_DOLL[] = {
MAP_OBJ_GFX_GULPIN_DOLL
EVENT_OBJ_GFX_GULPIN_DOLL
};
const u16 DecorGfx_LOTAD_DOLL[] = {
MAP_OBJ_GFX_LOTAD_DOLL
EVENT_OBJ_GFX_LOTAD_DOLL
};
const u16 DecorGfx_SEEDOT_DOLL[] = {
MAP_OBJ_GFX_SEEDOT_DOLL
EVENT_OBJ_GFX_SEEDOT_DOLL
};
const u16 DecorGfx_PIKA_CUSHION[] = {
MAP_OBJ_GFX_PIKA_CUSHION
EVENT_OBJ_GFX_PIKA_CUSHION
};
const u16 DecorGfx_ROUND_CUSHION[] = {
MAP_OBJ_GFX_ROUND_CUSHION
EVENT_OBJ_GFX_ROUND_CUSHION
};
const u16 DecorGfx_KISS_CUSHION[] = {
MAP_OBJ_GFX_KISS_CUSHION
EVENT_OBJ_GFX_KISS_CUSHION
};
const u16 DecorGfx_ZIGZAG_CUSHION[] = {
MAP_OBJ_GFX_ZIGZAG_CUSHION
EVENT_OBJ_GFX_ZIGZAG_CUSHION
};
const u16 DecorGfx_SPIN_CUSHION[] = {
MAP_OBJ_GFX_SPIN_CUSHION
EVENT_OBJ_GFX_SPIN_CUSHION
};
const u16 DecorGfx_DIAMOND_CUSHION[] = {
MAP_OBJ_GFX_DIAMOND_CUSHION
EVENT_OBJ_GFX_DIAMOND_CUSHION
};
const u16 DecorGfx_BALL_CUSHION[] = {
MAP_OBJ_GFX_BALL_CUSHION
EVENT_OBJ_GFX_BALL_CUSHION
};
const u16 DecorGfx_GRASS_CUSHION[] = {
MAP_OBJ_GFX_GRASS_CUSHION
EVENT_OBJ_GFX_GRASS_CUSHION
};
const u16 DecorGfx_FIRE_CUSHION[] = {
MAP_OBJ_GFX_FIRE_CUSHION
EVENT_OBJ_GFX_FIRE_CUSHION
};
const u16 DecorGfx_WATER_CUSHION[] = {
MAP_OBJ_GFX_WATER_CUSHION
EVENT_OBJ_GFX_WATER_CUSHION
};
const u16 DecorGfx_SNORLAX_DOLL[] = {
MAP_OBJ_GFX_BIG_SNORLAX_DOLL
EVENT_OBJ_GFX_BIG_SNORLAX_DOLL
};
const u16 DecorGfx_RHYDON_DOLL[] = {
MAP_OBJ_GFX_BIG_RHYDON_DOLL
EVENT_OBJ_GFX_BIG_RHYDON_DOLL
};
const u16 DecorGfx_LAPRAS_DOLL[] = {
MAP_OBJ_GFX_BIG_LAPRAS_DOLL
EVENT_OBJ_GFX_BIG_LAPRAS_DOLL
};
const u16 DecorGfx_VENUSAUR_DOLL[] = {
MAP_OBJ_GFX_BIG_VENUSAUR_DOLL
EVENT_OBJ_GFX_BIG_VENUSAUR_DOLL
};
const u16 DecorGfx_CHARIZARD_DOLL[] = {
MAP_OBJ_GFX_BIG_CHARIZARD_DOLL
EVENT_OBJ_GFX_BIG_CHARIZARD_DOLL
};
const u16 DecorGfx_BLASTOISE_DOLL[] = {
MAP_OBJ_GFX_BIG_BLASTOISE_DOLL
EVENT_OBJ_GFX_BIG_BLASTOISE_DOLL
};
const u16 DecorGfx_WAILMER_DOLL[] = {
MAP_OBJ_GFX_BIG_WAILMER_DOLL
EVENT_OBJ_GFX_BIG_WAILMER_DOLL
};
const u16 DecorGfx_REGIROCK_DOLL[] = {
MAP_OBJ_GFX_BIG_REGIROCK_DOLL
EVENT_OBJ_GFX_BIG_REGIROCK_DOLL
};
const u16 DecorGfx_REGICE_DOLL[] = {
MAP_OBJ_GFX_BIG_REGICE_DOLL
EVENT_OBJ_GFX_BIG_REGICE_DOLL
};
const u16 DecorGfx_REGISTEEL_DOLL[] = {
MAP_OBJ_GFX_BIG_REGISTEEL_DOLL
EVENT_OBJ_GFX_BIG_REGISTEEL_DOLL
};
#endif // GUARD_DATA_DECORATION_TILES
+2 -2
View File
@@ -80,7 +80,7 @@ static const u8 gShellArmorAbilityDescription[] = _("Blocks critical hits.");
static const u8 gCacophonyAbilityDescription[] = _("Avoids sound-based moves.");
static const u8 gAirLockAbilityDescription[] = _("Negates weather effects.");
const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] =
const u8 gAbilityNames[ABILITIES_COUNT][ABILITY_NAME_LENGTH + 1] =
{
_("-------"),
_("STENCH"),
@@ -162,7 +162,7 @@ const u8 gAbilityNames[][ABILITY_NAME_LENGTH + 1] =
_("AIR LOCK"),
};
const u8 *const gAbilityDescriptionPointers[] =
const u8 *const gAbilityDescriptionPointers[ABILITIES_COUNT] =
{
gNoneAbilityDescription,
gStenchAbilityDescription,
+1 -1
View File
@@ -24,7 +24,7 @@ bool32 CanResetRTC(void);
u16 *GetVarPointer(u16 id);
u16 VarGet(u16 id);
bool8 VarSet(u16 id, u16 value);
u8 VarGetFieldObjectGraphicsId(u8 id);
u8 VarGetEventObjectGraphicsId(u8 id);
u8 *GetFlagPointer(u16 id);
u8 FlagSet(u16 id);
u8 FlagClear(u16 id);
+11
View File
@@ -0,0 +1,11 @@
#ifndef GUARD_EVENT_OBJ_LOCK_H
#define GUARD_EVENT_OBJ_LOCK_H
bool8 sub_80983C4(void);
void ScriptFreezeEventObjects(void);
bool8 sub_809847C(void);
void LockSelectedEventObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
#endif // GUARD_EVENT_OBJ_LOCK_H
+405
View File
@@ -0,0 +1,405 @@
#ifndef GUARD_FIELD_EVENT_OBJ_H
#define GUARD_FIELD_EVENT_OBJ_H
#define NUM_OBJECT_GRAPHICS_INFO 239
#define SPRITE_VAR 240
enum SpinnerRunnerFollowPatterns
{
RUNFOLLOW_ANY,
RUNFOLLOW_NORTH_SOUTH,
RUNFOLLOW_EAST_WEST,
RUNFOLLOW_NORTH_WEST,
RUNFOLLOW_NORTH_EAST,
RUNFOLLOW_SOUTH_WEST,
RUNFOLLOW_SOUTH_EAST,
RUNFOLLOW_NORTH_SOUTH_WEST,
RUNFOLLOW_NORTH_SOUTH_EAST,
RUNFOLLOW_NORTH_EAST_WEST,
RUNFOLLOW_SOUTH_EAST_WEST
};
struct UnkStruct_085094AC {
const union AnimCmd *const *anims;
u8 animPos[4];
};
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_SPAWN (1 << 0)
#define GROUND_EFFECT_FLAG_TALL_GRASS_ON_MOVE (1 << 1)
#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_SPAWN (1 << 2)
#define GROUND_EFFECT_FLAG_LONG_GRASS_ON_MOVE (1 << 3)
#define GROUND_EFFECT_FLAG_ICE_REFLECTION (1 << 4)
#define GROUND_EFFECT_FLAG_REFLECTION (1 << 5)
#define GROUND_EFFECT_FLAG_SHALLOW_FLOWING_WATER (1 << 6)
#define GROUND_EFFECT_FLAG_SAND (1 << 7)
#define GROUND_EFFECT_FLAG_DEEP_SAND (1 << 8)
#define GROUND_EFFECT_FLAG_RIPPLES (1 << 9)
#define GROUND_EFFECT_FLAG_PUDDLE (1 << 10)
#define GROUND_EFFECT_FLAG_SAND_PILE (1 << 11)
#define GROUND_EFFECT_FLAG_LAND_IN_TALL_GRASS (1 << 12)
#define GROUND_EFFECT_FLAG_LAND_IN_LONG_GRASS (1 << 13)
#define GROUND_EFFECT_FLAG_LAND_IN_SHALLOW_WATER (1 << 14)
#define GROUND_EFFECT_FLAG_LAND_IN_DEEP_WATER (1 << 15)
#define GROUND_EFFECT_FLAG_LAND_ON_NORMAL_GROUND (1 << 16)
#define GROUND_EFFECT_FLAG_SHORT_GRASS (1 << 17)
#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
#define movement_type_def(setup, table) \
static u8 setup##_callback(struct EventObject *, struct Sprite *);\
void setup(struct Sprite *sprite)\
{\
UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
}\
static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
{\
return table[sprite->data[1]](eventObject, sprite);\
}
#define movement_type_empty_callback(setup) \
static u8 setup##_callback(struct EventObject *, struct Sprite *);\
void setup(struct Sprite *sprite)\
{\
UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, setup##_callback);\
}\
static u8 setup##_callback(struct EventObject *eventObject, struct Sprite *sprite)\
{\
return 0;\
}
struct PairedPalettes
{
u16 tag;
const u16 *data;
};
struct LockedAnimEventObjects
{
u8 eventObjectIds[NUM_EVENT_OBJECTS];
u8 count;
};
extern const struct SpriteFrameImage gEventObjectPicTable_PechaBerryTree[];
void sub_808D438(void);
u8 GetMoveDirectionAnimNum(u8);
u8 GetEventObjectIdByLocalIdAndMap(u8, u8, u8);
bool8 TryGetEventObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
u8 GetEventObjectIdByXY(s16, s16);
void SetEventObjectDirection(struct EventObject *, u8);
u8 GetFirstInactiveEventObjectId(void);
void RemoveEventObjectByLocalIdAndMap(u8, u8, u8);
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
void sub_808EBA8(u8, u8, u8, s16, s16);
void pal_patch_for_npc(u16, u8);
void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
void sub_8092FF0(s16, s16, s16 *, s16 *);
u8 GetFaceDirectionAnimNum(u8);
void sub_80930E0(s16 *, s16 *, s16, s16);
void EventObjectClearHeldMovement(struct EventObject *);
void EventObjectClearHeldMovementIfActive(struct EventObject *);
void TrySpawnEventObjects(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8);
u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16, s16, u8);
u8 show_sprite(u8, u8, u8);
u8 SpawnSpecialEventObjectParameterized(u8, u8, u8, s16, s16, u8);
u8 SpawnSpecialEventObject(struct EventObjectTemplate *);
void sub_8093038(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
void EventObjectSetGraphicsId(struct EventObject *, u8);
void EventObjectTurn(struct EventObject *, u8);
void EventObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct EventObjectGraphicsInfo *GetEventObjectGraphicsInfo(u8);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void EventObjectGetLocalIdAndMap(struct EventObject *eventObject, void *localId, void *mapNum, void *mapGroup);
void ShiftEventObjectCoords(struct EventObject *, s16, s16);
void sub_808EB08(struct EventObject *, s16, s16);
void sub_808F254(u8, u8, u8);
void UpdateEventObjectCurrentMovement(struct EventObject *, struct Sprite *, bool8(struct EventObject *, struct Sprite *));
u8 EventObjectFaceOppositeDirection(struct EventObject *, u8);
u8 GetOppositeDirection(u8);
u8 GetWalkInPlaceFastestMovementAction(u32);
u8 GetWalkInPlaceFastMovementAction(u32);
u8 GetWalkInPlaceNormalMovementAction(u32);
u8 GetWalkInPlaceSlowMovementAction(u32);
u8 GetCollisionAtCoords(struct EventObject *, s16, s16, u32);
void MoveCoords(u8, s16 *, s16 *);
bool8 EventObjectIsHeldMovementActive(struct EventObject *);
u8 EventObjectClearHeldMovementIfFinished(struct EventObject *);
u8 GetEventObjectIdByXYZ(u16 x, u16 y, u8 z);
void SetTrainerMovementType(struct EventObject *eventObject, u8 movementType);
u8 GetTrainerFacingDirectionMovementType(u8 direction);
const u8 *GetEventObjectScriptPointerByEventObjectId(u8 eventObjectId);
u8 GetCollisionFlagsAtCoords(struct EventObject *eventObject, s16 x, s16 y, u8 direction);
u8 GetFaceDirectionMovementAction(u32);
u8 GetWalkNormalMovementAction(u32);
u8 GetWalkFastMovementAction(u32);
u8 GetWalkFastestMovementAction(u32);
u8 GetJumpInPlaceMovementAction(u32);
bool8 EventObjectSetHeldMovement(struct EventObject *eventObject, u8 specialAnimId);
bool8 EventObjectIsMovementOverridden(struct EventObject *eventObject);
u8 EventObjectCheckHeldMovementStatus(struct EventObject *eventObject);
void TryOverrideTemplateCoordsForEventObject(const struct EventObject *eventObject, u8 movementType);
void OverrideTemplateCoordsForEventObject(const struct EventObject *eventObject);
void ShiftStillEventObjectCoords(struct EventObject *pObject);
void EventObjectMoveDestCoords(struct EventObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
u8 AddCameraObject(u8 linkedSpriteId);
void UpdateEventObjectsForCameraUpdate(s16 x, s16 y);
u8 GetWalkSlowMovementAction(u32);
u8 GetJumpMovementAction(u32);
bool8 AreZCoordsCompatible(u8, u8);
u8 ZCoordToPriority(u8);
void EventObjectUpdateZCoord(struct EventObject *pObject);
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
bool8 IsZCoordMismatchAt(u8, s16, s16);
void UpdateEventObjectSpriteSubpriorityAndVisibility(struct Sprite *);
void UnfreezeEventObject(struct EventObject *);
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
u8 FindLockedEventObjectIndex(struct EventObject *);
bool8 obj_npc_ministep(struct Sprite *sprite);
bool8 sub_80976EC(struct Sprite *sprite);
void sub_80976DC(struct Sprite *, u8);
void sub_809783C(struct Sprite *, u8, u8, u8);
void DoShadowFieldEffect(struct EventObject *);
u8 sub_809785C(struct Sprite *);
u8 sub_80978E4(struct Sprite *);
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
bool8 SpriteAnimEnded(struct Sprite *);
void sub_8097750(struct Sprite *);
bool8 sub_8097758(struct Sprite *);
void CreateLevitateMovementTask(struct EventObject *);
void DestroyExtraMovementTask(u8);
void UnfreezeEventObjects(void);
void FreezeEventObjectsExceptOne(u8 eventObjectId);
void sub_8097B78(u8, u8);
void sub_8098074(u8 var1, u8 var2);
void FreezeEventObjects(void);
bool8 FreezeEventObject(struct EventObject *eventObject);
u8 GetMoveDirectionFastAnimNum(u8);
u8 GetMoveDirectionFasterAnimNum(u8);
u8 GetMoveDirectionFastestAnimNum(u8);
void MovementType_None(struct Sprite *);
void MovementType_LookAround(struct Sprite *);
void MovementType_WanderAround(struct Sprite *);
void MovementType_WanderUpAndDown(struct Sprite *);
void MovementType_WanderLeftAndRight(struct Sprite *);
void MovementType_FaceDirection(struct Sprite *);
void MovementType_Player(struct Sprite *);
void MovementType_BerryTreeGrowth(struct Sprite *);
void MovementType_FaceDownAndUp(struct Sprite *);
void MovementType_FaceLeftAndRight(struct Sprite *);
void MovementType_FaceUpAndLeft(struct Sprite *);
void MovementType_FaceUpAndRight(struct Sprite *);
void MovementType_FaceDownAndLeft(struct Sprite *);
void MovementType_FaceDownAndRight(struct Sprite *);
void MovementType_FaceDownUpAndLeft(struct Sprite *);
void MovementType_FaceDownUpAndRight(struct Sprite *);
void MovementType_FaceUpRightAndLeft(struct Sprite *);
void MovementType_FaceDownRightAndLeft(struct Sprite *);
void MovementType_RotateCounterclockwise(struct Sprite *);
void MovementType_RotateClockwise(struct Sprite *);
void MovementType_WalkBackAndForth(struct Sprite *);
void MovementType_WalkSequenceUpRightLeftDown(struct Sprite *);
void MovementType_WalkSequenceRightLeftDownUp(struct Sprite *);
void MovementType_WalkSequenceDownUpRightLeft(struct Sprite *);
void MovementType_WalkSequenceLeftDownUpRight(struct Sprite *);
void MovementType_WalkSequenceUpLeftRightDown(struct Sprite *);
void MovementType_WalkSequenceLeftRightDownUp(struct Sprite *);
void MovementType_WalkSequenceDownUpLeftRight(struct Sprite *);
void MovementType_WalkSequenceRightDownUpLeft(struct Sprite *);
void MovementType_WalkSequenceLeftUpDownRight(struct Sprite *);
void MovementType_WalkSequenceUpDownRightLeft(struct Sprite *);
void MovementType_WalkSequenceRightLeftUpDown(struct Sprite *);
void MovementType_WalkSequenceDownRightLeftUp(struct Sprite *);
void MovementType_WalkSequenceRightUpDownLeft(struct Sprite *);
void MovementType_WalkSequenceUpDownLeftRight(struct Sprite *);
void MovementType_WalkSequenceLeftRightUpDown(struct Sprite *);
void MovementType_WalkSequenceDownLeftRightUp(struct Sprite *);
void MovementType_WalkSequenceUpLeftDownRight(struct Sprite *);
void MovementType_WalkSequenceDownRightUpLeft(struct Sprite *);
void MovementType_WalkSequenceLeftDownRightUp(struct Sprite *);
void MovementType_WalkSequenceRightUpLeftDown(struct Sprite *);
void MovementType_WalkSequenceUpRightDownLeft(struct Sprite *);
void MovementType_WalkSequenceDownLeftUpRight(struct Sprite *);
void MovementType_WalkSequenceLeftUpRightDown(struct Sprite *);
void MovementType_WalkSequenceRightDownLeftUp(struct Sprite *);
void MovementType_CopyPlayer(struct Sprite *);
void MovementType_TreeDisguise(struct Sprite *);
void MovementType_MountainDisguise(struct Sprite *);
void MovementType_CopyPlayerInGrass(struct Sprite *);
void MovementType_Hidden(struct Sprite *);
void MovementType_WalkInPlace(struct Sprite *);
void MovementType_JogInPlace(struct Sprite *);
void MovementType_RunInPlace(struct Sprite *);
void MovementType_Invisible(struct Sprite *);
void MovementType_WalkSlowlyInPlace(struct Sprite *);
u8 GetSlideMovementAction(u32);
u8 GetJumpInPlaceMovementAction(u32);
u8 GetJumpMovementAction(u32);
u8 GetJump2MovementAction(u32);
u8 MovementType_WanderAround_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step5(struct EventObject *, struct Sprite *);
u8 MovementType_WanderAround_Step6(struct EventObject *, struct Sprite *);
u8 GetVectorDirection(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_SouthNorth(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_WestEast(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_WestNorth(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_EastNorth(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_WestSouth(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_EastSouth(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_SouthNorthWest(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_SouthNorthEast(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_NorthWestEast(s16, s16, s16, s16);
u8 GetLimitedVectorDirection_SouthWestEast(s16, s16, s16, s16);
u8 MovementType_LookAround_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_LookAround_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_LookAround_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_LookAround_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_LookAround_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step5(struct EventObject *, struct Sprite *);
u8 MovementType_WanderUpAndDown_Step6(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step5(struct EventObject *, struct Sprite *);
u8 MovementType_WanderLeftAndRight_Step6(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDirection_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDirection_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDirection_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_BerryTreeGrowth_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_BerryTreeGrowth_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_BerryTreeGrowth_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_BerryTreeGrowth_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_BerryTreeGrowth_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndUp_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndUp_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndUp_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndUp_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceLeftAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceLeftAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceLeftAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceLeftAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceLeftAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndLeft_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndLeft_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndLeft_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndLeft_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndLeft_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndLeft_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndLeft_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndLeft_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndLeft_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndLeft_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndLeft_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndLeft_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownUpAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpLeftAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpLeftAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpLeftAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpLeftAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceUpLeftAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownLeftAndRight_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownLeftAndRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownLeftAndRight_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownLeftAndRight_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_FaceDownLeftAndRight_Step4(struct EventObject *, struct Sprite *);
u8 MovementType_RotateCounterclockwise_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_RotateCounterclockwise_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_RotateCounterclockwise_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_RotateCounterclockwise_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_RotateClockwise_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_RotateClockwise_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_RotateClockwise_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_RotateClockwise_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_WalkBackAndForth_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WalkBackAndForth_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkBackAndForth_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_WalkBackAndForth_Step3(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequence_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequence_Step2(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpRightLeftDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightLeftDownUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownUpRightLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftDownUpRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpLeftRightDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftRightDownUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownUpLeftRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightDownUpLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftUpDownRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpDownRightLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightLeftUpDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownRightLeftUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightUpDownLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpDownLeftRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftRightUpDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownLeftRightUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpLeftDownRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownRightUpLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftDownRightUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightUpLeftDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceUpRightDownLeft_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceDownLeftUpRight_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceLeftUpRightDown_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSequenceRightDownLeftUp_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_CopyPlayer_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_CopyPlayer_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_CopyPlayer_Step2(struct EventObject *, struct Sprite *);
bool8 CopyablePlayerMovement_None(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_FaceDirection(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed0(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed1(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed2(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Slide(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 cph_IM_DIFFERENT(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_GoSpeed4(struct EventObject *, struct Sprite *, u8, bool8(u8));
bool8 CopyablePlayerMovement_Jump(struct EventObject *, struct Sprite *, u8, bool8(u8));
u8 MovementType_CopyPlayerInGrass_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_Hidden_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_WalkInPlace_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_MoveInPlace_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_WalkSlowlyInPlace_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_JogInPlace_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_RunInPlace_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step0(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step1(struct EventObject *, struct Sprite *);
u8 MovementType_Invisible_Step2(struct EventObject *, struct Sprite *);
#endif //GUARD_FIELD_EVENT_OBJ_H
+1 -1
View File
@@ -30,7 +30,7 @@ u8 *sub_80682A8(struct MapPosition *, u8, u8);
void overworld_poison_timer_set(void);
void prev_quest_postbuffer_cursor_backup_reset(void);
u8 *sub_8068E24(struct MapPosition *);
u8 *GetFieldObjectScriptPointerPlayerFacing(void);
u8 *GetEventObjectScriptPointerPlayerFacing(void);
bool8 mapheader_trigger_activate_at__run_now(struct MapPosition *);
bool8 sub_8068870(u16 a);
bool8 sub_8068894(void);
+27 -24
View File
@@ -11,7 +11,7 @@ extern const struct OamData gNewGameBirchOamAttributes;
enum FieldEffectScriptIdx
{
FLDEFF_EXCLAMATION_MARK_ICON_1,
FLDEFF_EXCLAMATION_MARK_ICON,
FLDEFF_USE_CUT_ON_GRASS,
FLDEFF_USE_CUT_ON_TREE,
FLDEFF_SHADOW,
@@ -44,7 +44,7 @@ enum FieldEffectScriptIdx
FLDEFF_NPCFLY_OUT,
FLDEFF_USE_FLY,
FLDEFF_FLY_IN,
FLDEFF_EXCLAMATION_MARK_ICON_2,
FLDEFF_QUESTION_MARK_ICON,
FLDEFF_FEET_IN_FLOWING_WATER,
FLDEFF_BIKE_TIRE_TRACKS,
FLDEFF_SAND_DISGUISE,
@@ -78,8 +78,8 @@ enum FieldEffectScriptIdx
};
extern s32 gFieldEffectArguments[8];
extern void (*gUnknown_0203CEEC)(void);
extern bool8 (*gUnknown_03005DB0)(void);
extern void (*gPostMenuFieldCallback)(void);
extern bool8 (*gFieldCallback2)(void);
u32 FieldEffectStart(u8);
bool8 FieldEffectActiveListContains(u8 id);
@@ -148,33 +148,33 @@ bool8 sub_80B7270(struct Task *);
bool8 sub_80B72D0(struct Task *);
bool8 sub_80B72F4(struct Task *);
bool8 sub_80B73D0(struct Task *, struct MapObject *);
bool8 waterfall_1_do_anim_probably(struct Task *, struct MapObject *);
bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct MapObject *);
bool8 sub_80B7450(struct Task *, struct MapObject *);
bool8 sub_80B7478(struct Task *, struct MapObject *);
bool8 sub_80B73D0(struct Task *, struct EventObject *);
bool8 waterfall_1_do_anim_probably(struct Task *, struct EventObject *);
bool8 waterfall_2_wait_anim_finish_probably(struct Task *, struct EventObject *);
bool8 sub_80B7450(struct Task *, struct EventObject *);
bool8 sub_80B7478(struct Task *, struct EventObject *);
bool8 dive_1_lock(struct Task *);
bool8 dive_2_unknown(struct Task *);
bool8 dive_3_unknown(struct Task *);
bool8 sub_80B764C(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7684(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B76B8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7704(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B77F8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7814(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B764C(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7684(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B76B8(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7704(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B77F8(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7814(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B78EC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B791C(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7968(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B79BC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B78EC(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B791C(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7968(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B79BC(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7AE8(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7B18(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7B94(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7BCC(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7BF4(struct Task *, struct MapObject *, struct Sprite *);
bool8 sub_80B7AE8(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7B18(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7B94(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7BCC(struct Task *, struct EventObject *, struct Sprite *);
bool8 sub_80B7BF4(struct Task *, struct EventObject *, struct Sprite *);
void sub_80B7D14(struct Task *);
void sub_80B7D34(struct Task *);
@@ -230,4 +230,7 @@ void sub_80B9C28(s16*, u8);
void sub_80B9C54(s16*, u8);
void sub_80B9CDC(s16*, u8);
void sub_80B7CAC(struct Sprite*);
void sub_80B7A58(struct Sprite*);
#endif //GUARD_FIELD_EFFECTS_H
+21 -2
View File
@@ -11,9 +11,28 @@
// Exported ROM declarations
u8 sub_8154228(void);
bool8 sub_8155DA0(struct MapObject *);
void sub_8155D78(struct MapObject *);
bool8 sub_8155DA0(struct EventObject *);
void sub_8155D78(struct EventObject *);
void sub_81555AC(u8, u8);
void ash(s16, s16, u16, s16);
void SetUpReflection(struct EventObject*, struct Sprite*, u8);
u32 StartFieldEffectForEventObject(u8, struct EventObject*);
u8 sub_81546C8(u8, u8, u8, s16, s16);
void sub_8155F80(struct Sprite*);
void oamc_shadow(struct Sprite*);
void unc_grass_normal(struct Sprite*);
void sub_81561D0(struct Sprite*);
void sub_8155460(struct Sprite*);
void sub_8155658(struct Sprite*);
void sub_8156194(struct Sprite*);
void sub_8154C60(struct Sprite*);
void sub_8154D90(struct Sprite*);
void unc_grass_tall(struct Sprite*);
void sub_81559BC(struct Sprite*);
void sub_8155C88(struct Sprite*);
void sub_8154A10(struct Sprite*);
void sub_8155158(struct Sprite*);
void sub_8155AEC(struct Sprite*);
void sub_8155E50(struct Sprite*);
#endif //GUARD_FIELD_EFFECT_HELPERS_H
-24
View File
@@ -1,24 +0,0 @@
//
// Created by scott on 9/6/2017.
//
#ifndef GUARD_FIELD_GROUND_EFFECT_H
#define GUARD_FIELD_GROUND_EFFECT_H
// Exported type declarations
// Exported RAM declarations
// Exported ROM declarations
u8 ZCoordToPriority(u8);
void FieldObjectUpdateZCoord(struct MapObject *pObject);
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
void InitObjectPriorityByZCoord(struct Sprite *, u8);
bool8 IsZCoordMismatchAt(u8, s16, s16);
bool8 AreZCoordsCompatible(u8, u8);
void FieldObjectUpdateSubpriority(struct MapObject *, struct Sprite *);
void DoGroundEffects_OnSpawn(struct MapObject *, struct Sprite *);
void DoGroundEffects_OnBeginStep(struct MapObject *, struct Sprite *);
void DoGroundEffects_OnFinishStep(struct MapObject *, struct Sprite *);
#endif //GUARD_FIELD_GROUND_EFFECT_H
-103
View File
@@ -1,103 +0,0 @@
#ifndef GUARD_FIELD_MAP_OBJ_H
#define GUARD_FIELD_MAP_OBJ_H
#define NUM_OBJECT_GRAPHICS_INFO 239
#define SPRITE_VAR 240
// Exported struct declarations
enum SpinnerRunnerFollowPatterns {
RUNFOLLOW_ANY,
RUNFOLLOW_NORTH_SOUTH,
RUNFOLLOW_EAST_WEST,
RUNFOLLOW_NORTH_WEST,
RUNFOLLOW_NORTH_EAST,
RUNFOLLOW_SOUTH_WEST,
RUNFOLLOW_SOUTH_EAST,
RUNFOLLOW_NORTH_SOUTH_WEST,
RUNFOLLOW_NORTH_SOUTH_EAST,
RUNFOLLOW_NORTH_EAST_WEST,
RUNFOLLOW_SOUTH_EAST_WEST
};
// Exported RAM declarations
// Exported ROM declarations
void sub_808D438(void);
u8 get_go_image_anim_num(u8);
u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
u8 GetFieldObjectIdByXY(s16, s16);
void FieldObjectSetDirection(struct MapObject *, u8);
u8 sub_808D4F4(void);
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
void npc_load_two_palettes__no_record(u16, u8);
void npc_load_two_palettes__and_record(u16, u8);
void sub_808EBA8(u8, u8, u8, s16, s16);
void pal_patch_for_npc(u16, u8);
void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
void sub_8092FF0(s16, s16, s16 *, s16 *);
u8 FieldObjectDirectionToImageAnimId(u8);
void sub_80930E0(s16 *, s16 *, s16, s16);
void FieldObjectClearAnim(struct MapObject *);
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
void SpawnFieldObjectsInView(s16, s16);
u8 sprite_new(u8, u8, s16, s16, u8, u8);
u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8);
u8 show_sprite(u8, u8, u8);
u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
void sub_8093038(s16, s16, s16 *, s16 *);
void CameraObjectReset1(void);
void FieldObjectSetGraphicsId(struct MapObject *, u8);
void FieldObjectTurn(struct MapObject *, u8);
void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
void gpu_pal_allocator_reset__manage_upper_four(void);
void sub_808E82C(u8, u8, u8, s16, s16);
void sub_808E7E4(u8, u8, u8);
void sub_808E78C(u8, u8, u8, u8);
void sub_808E75C(s16, s16);
void FieldObjectGetLocalIdAndMap(struct MapObject *mapObject, void *localId, void *mapNum, void *mapGroup);
void npc_coords_shift(struct MapObject *, s16, s16);
void sub_808EB08(struct MapObject *, s16, s16);
void sub_808F254(u8, u8, u8);
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
u8 FieldObjectFaceOppositeDirection(struct MapObject *, u8);
u8 GetOppositeDirection(u8);
u8 GetStepInPlaceDelay4AnimId(u32);
u8 GetStepInPlaceDelay8AnimId(u32);
u8 GetStepInPlaceDelay16AnimId(u32);
u8 GetStepInPlaceDelay32AnimId(u32);
u8 npc_block_way(struct MapObject *, s16, s16, u32);
void MoveCoords(u8, s16 *, s16 *);
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *);
u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z);
void npc_set_running_behaviour_etc(struct MapObject *mapObject, u8 animPattern);
u8 npc_running_behaviour_by_direction(u8 direction);
const u8 *GetFieldObjectScriptPointerByFieldObjectId(u8 mapObjectId);
u8 sub_8092C8C(struct MapObject *mapObject, s16 x, s16 y, u8 direction);
u8 GetFaceDirectionAnimId(u32);
u8 GetGoSpeed0AnimId(u32);
u8 sub_80934BC(u32);
bool8 FieldObjectSetSpecialAnim(struct MapObject *mapObject, u8 specialAnimId);
bool8 FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(struct MapObject *mapObject);
u8 FieldObjectCheckIfSpecialAnimFinishedOrInactive(struct MapObject *mapObject);
void sub_808F23C(const struct MapObject *mapObject, u8 movementType);
void sub_808F208(const struct MapObject *mapObject);
void npc_coords_shift_still(struct MapObject *pObject);
void FieldObjectMoveDestCoords(struct MapObject *pObject, u32 unk_19, s16 *pInt, s16 *pInt1);
u8 AddCameraObject(u8 linkedSpriteId);
void UpdateFieldObjectsForCameraUpdate(s16 x, s16 y);
u8 GetSimpleGoAnimId(u32);
u8 sub_8093514(u32);
// Exported data declarations
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
#endif //GUARD_FIELD_MAP_OBJ_H
-35
View File
@@ -1,35 +0,0 @@
#ifndef GUARD_FIELD_MAP_OBJ_HELPERS_H
#define GUARD_FIELD_MAP_OBJ_HELPERS_H
// Exported type declarations
// Exported RAM declarations
extern u8 *gUnknown_020375B8;
// Exported ROM declarations
void sub_8097AC8(struct Sprite *);
void npc_sync_anim_pause_bits(struct MapObject *);
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
u8 sub_8097F78(struct MapObject *);
bool8 obj_npc_ministep(struct Sprite *sprite);
bool8 sub_80976EC(struct Sprite *sprite);
void sub_80976DC(struct Sprite *, u8);
void sub_809783C(struct Sprite *, u8, u8, u8);
void DoShadowFieldEffect(struct MapObject *);
u8 sub_809785C(struct Sprite *);
u8 sub_80978E4(struct Sprite *);
void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
bool8 sub_80979BC(struct Sprite *);
void sub_8097750(struct Sprite *);
bool8 sub_8097758(struct Sprite *);
void sub_8097FA4(struct MapObject *);
void sub_8098044(u8);
void UnfreezeMapObjects(void);
void FreezeMapObjectsExceptOne(u8 mapObjectId);
void sub_8097B78(u8, u8);
void sub_8098074(u8 var1, u8 var2);
void FreezeMapObjects(void);
bool8 FreezeMapObject(struct MapObject *mapObject);
#endif //GUARD_FIELD_MAP_OBJ_HELPERS_H
+5 -5
View File
@@ -8,9 +8,9 @@ u8 GetPlayerAvatarGenderByGraphicsId(u8);
bool8 TestPlayerAvatarFlags(u8);
u8 GetPlayerAvatarObjectId(void);
void PlayerGetDestCoords(s16 *, s16 *);
u8 player_get_direction_lower_nybble(void);
u8 player_get_direction_upper_nybble(void);
u8 player_get_x22(void);
u8 GetPlayerFacingDirection(void);
u8 GetPlayerMovementDirection(void);
u8 PlayerGetCopyableMovement(void);
void PlayerGoSpeed1(u8);
void PlayerGoSpeed2(u8);
void PlayerGoSpeed3(u8);
@@ -29,7 +29,7 @@ void PlayerAcroTurnJump(u8 a);
void PlayerSetAnimId(u8 a, u8 b);
bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction);
void PlayerOnBikeCollideWithFarawayIslandMew(u8 direction);
u8 CheckForFieldObjectCollision(struct MapObject *a, s16 b, s16 c, u8 d, u8 e);
u8 CheckForEventObjectCollision(struct EventObject *a, s16 b, s16 c, u8 d, u8 e);
u8 PlayerGetZCoord(void);
void SetPlayerAvatarTransitionFlags(u16 a);
void sub_808BCE8(void);
@@ -43,6 +43,6 @@ void sub_808C114(void);
u8 GetPlayerAvatarGraphicsIdByCurrentState(void);
void SetPlayerAvatarStateMask(u8 a);
u8 GetPlayerAvatarGraphicsIdByStateId(u8 a);
u8 sub_8093540(u32);
u8 GetJumpSpecialMovementAction(u32);
#endif // GUARD_FIELD_PLAYER_AVATAR_H
+2 -1
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_FIELDMAP_H
#define GUARD_FIELDMAP_H
extern struct BackupMapData gUnknown_03005DC0;
extern struct BackupMapLayout gUnknown_03005DC0;
u32 MapGridGetMetatileIdAt(int, int);
u32 MapGridGetMetatileBehaviorAt(int, int);
@@ -14,6 +14,7 @@ int CanCameraMoveInDirection(int direction);
u16 GetBehaviorByMetatileId(u16 metatileId);
void sav1_camera_get_focus_coords(u16 *x, u16 *y);
u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y);
u8 MapGridGetZCoordAt(int x, int y);
u8 CameraMove(s32 deltaX, s32 deltaY);
void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader);
void map_copy_with_padding(u16 *map, u16 width, u16 height);
+8 -2
View File
@@ -1,7 +1,13 @@
#ifndef GUARD_FLDEFF_CUT_H
#define GUARD_FLDEFF_CUT_H
void sub_80D423C(s16, s16);
void sub_80D42B8(s16, s16);
extern const struct SpritePalette gFieldEffectObjectPaletteInfo6;
bool8 SetUpFieldMove_Cut(void);
bool8 FldEff_UseCutOnGrass(void);
bool8 FldEff_UseCutOnTree(void);
bool8 FldEff_CutGrass(void);
void sub_80D423C(s16 x, s16 y);
void sub_80D42B8(s16 x, s16 y);
#endif // GUARD_FLDEFF_CUT_H
+31
View File
@@ -545,6 +545,35 @@
#define BGCNT_AFF512x512 0x8000
#define BGCNT_AFF1024x1024 0xC000
// WININ/OUT
#define WININ_WIN0_BG0 (1 << 0)
#define WININ_WIN0_BG1 (1 << 1)
#define WININ_WIN0_BG2 (1 << 2)
#define WININ_WIN0_BG3 (1 << 3)
#define WININ_WIN0_OBJ (1 << 4)
#define WININ_WIN0_CLR (1 << 5)
#define WININ_WIN1_BG0 (1 << 8)
#define WININ_WIN1_BG1 (1 << 9)
#define WININ_WIN1_BG2 (1 << 10)
#define WININ_WIN1_BG3 (1 << 11)
#define WININ_WIN1_OBJ (1 << 12)
#define WININ_WIN1_CLR (1 << 13)
#define WINOUT_WIN01_BG0 (1 << 0)
#define WINOUT_WIN01_BG1 (1 << 1)
#define WINOUT_WIN01_BG2 (1 << 2)
#define WINOUT_WIN01_BG3 (1 << 3)
#define WINOUT_WIN01_OBJ (1 << 4)
#define WINOUT_WIN01_CLR (1 << 5)
#define WINOUT_WINOBJ_BG0 (1 << 8)
#define WINOUT_WINOBJ_BG1 (1 << 9)
#define WINOUT_WINOBJ_BG2 (1 << 10)
#define WINOUT_WINOBJ_BG3 (1 << 11)
#define WINOUT_WINOBJ_OBJ (1 << 12)
#define WINOUT_WINOBJ_CLR (1 << 13)
#define WINHV_COORDS(m, n) (((m) << 8) | (n))
// BLDCNT
// Bits 0-5 select layers for the 1st target
#define BLDCNT_TGT1_BG0 (1 << 0)
@@ -553,6 +582,7 @@
#define BLDCNT_TGT1_BG3 (1 << 3)
#define BLDCNT_TGT1_OBJ (1 << 4)
#define BLDCNT_TGT1_BD (1 << 5)
#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD)
// Bits 6-7 select the special effect
#define BLDCNT_EFFECT_NONE (0 << 6) // no special effect
#define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA)
@@ -565,6 +595,7 @@
#define BLDCNT_TGT2_BG3 (1 << 11)
#define BLDCNT_TGT2_OBJ (1 << 12)
#define BLDCNT_TGT2_BD (1 << 13)
#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD)
// BLDALPHA
#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1))
+64 -95
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_GLOBAL_FIELDMAP_H
#define GUARD_GLOBAL_FIELDMAP_H
#define NUM_FIELD_OBJECTS 16
#define NUM_EVENT_OBJECTS 16
enum
{
@@ -13,35 +13,6 @@ enum
CONNECTION_EMERGE
};
// map types
enum
{
MAP_TYPE_0,
MAP_TYPE_TOWN,
MAP_TYPE_CITY,
MAP_TYPE_ROUTE,
MAP_TYPE_UNDERGROUND,
MAP_TYPE_UNDERWATER,
MAP_TYPE_6,
MAP_TYPE_7,
MAP_TYPE_INDOOR,
MAP_TYPE_SECRET_BASE
};
// map battle scenes
enum
{
MAP_BATTLE_SCENE_NORMAL, // 0
MAP_BATTLE_SCENE_GYM, // 1
MAP_BATTLE_SCENE_MAGMA, // 2
MAP_BATTLE_SCENE_AQUA, // 3
MAP_BATTLE_SCENE_SIDNEY, // 4
MAP_BATTLE_SCENE_PHOEBE, // 5
MAP_BATTLE_SCENE_GLACIA, // 6
MAP_BATTLE_SCENE_DRAKE, // 7
MAP_BATTLE_SCENE_FRONTIER, // 8
};
typedef void (*TilesetCB)(void);
struct Tileset
@@ -55,7 +26,7 @@ struct Tileset
/*0x14*/ TilesetCB callback;
};
struct MapData
struct MapLayout
{
/*0x00*/ s32 width;
/*0x04*/ s32 height;
@@ -65,14 +36,14 @@ struct MapData
/*0x14*/ struct Tileset *secondaryTileset;
};
struct BackupMapData
struct BackupMapLayout
{
s32 width;
s32 height;
u16 *map;
};
struct MapObjectTemplate
struct EventObjectTemplate
{
/*0x00*/ u8 localId;
/*0x01*/ u8 graphicsId;
@@ -81,14 +52,12 @@ struct MapObjectTemplate
/*0x06*/ s16 y;
/*0x08*/ u8 elevation;
/*0x09*/ u8 movementType;
/*0x0A*/ u8 unkA_0:4;
u8 unkA_4:4;
///*0x0B*/ u8 fillerB[1];
/*0x0C*/ u16 unkC;
/*0x0E*/ u16 unkE;
/*0x0A*/ u8 movementRangeX:4;
u8 movementRangeY:4;
/*0x0C*/ u16 trainerType;
/*0x0E*/ u16 trainerRange_berryTreeId;
/*0x10*/ const u8 *script;
/*0x14*/ u16 flagId;
/*0x16*/ u8 filler_16[2];
}; /*size = 0x18*/
struct WarpEvent
@@ -135,12 +104,12 @@ struct BgEvent
struct MapEvents
{
u8 mapObjectCount;
u8 eventObjectCount;
u8 warpCount;
u8 coordEventCount;
u8 bgEventCount;
struct MapObjectTemplate *mapObjects;
struct EventObjectTemplate *eventObjects;
struct WarpEvent *warps;
struct CoordEvent *coordEvents;
struct BgEvent *bgEvents;
@@ -162,12 +131,12 @@ struct MapConnections
struct MapHeader
{
/* 0x00 */ const struct MapData *mapData;
/* 0x00 */ const struct MapLayout *mapLayout;
/* 0x04 */ const struct MapEvents *events;
/* 0x08 */ const u8 *mapScripts;
/* 0x0C */ const struct MapConnections *connections;
/* 0x10 */ u16 music;
/* 0x12 */ u16 mapDataId;
/* 0x12 */ u16 mapLayoutId;
/* 0x14 */ u8 regionMapSectionId;
/* 0x15 */ u8 cave;
/* 0x16 */ u8 weather;
@@ -178,54 +147,50 @@ struct MapHeader
/* 0x1B */ u8 battleType;
};
struct MapObject
struct EventObject
{
/*0x00*/ u32 active:1;
u32 mapobj_bit_1:1;
u32 mapobj_bit_2:1;
u32 mapobj_bit_3:1;
u32 mapobj_bit_4:1;
u32 mapobj_bit_5:1;
u32 mapobj_bit_6:1;
u32 mapobj_bit_7:1;
/*0x01*/ u32 mapobj_bit_8:1;
u32 mapobj_bit_9:1;
u32 mapobj_bit_10:1;
u32 mapobj_bit_11:1;
u32 mapobj_bit_12:1;
u32 mapobj_bit_13:1;
u32 mapobj_bit_14:1;
u32 mapobj_bit_15:1;
/*0x02*/ u32 mapobj_bit_16:1;
u32 mapobj_bit_17:1;
u32 mapobj_bit_18:1;
u32 mapobj_bit_19:1;
u32 mapobj_bit_20:1;
u32 mapobj_bit_21:1;
u32 mapobj_bit_22:1;
u32 mapobj_bit_23:1;
/*0x03*/ u32 mapobj_bit_24:1;
u32 mapobj_bit_25:1;
u32 mapobj_bit_26:1;
u32 mapobj_bit_27:1;
u32 mapobj_bit_28:1;
u32 mapobj_bit_29:1;
u32 mapobj_bit_30:1;
u32 mapobj_bit_31:1;
u32 singleMovementActive:1;
u32 triggerGroundEffectsOnMove:1;
u32 triggerGroundEffectsOnStop:1;
u32 disableCoveringGroundEffects:1;
u32 landingJump:1;
u32 heldMovementActive:1;
u32 heldMovementFinished:1;
/*0x01*/ u32 frozen:1;
u32 facingDirectionLocked:1;
u32 disableAnim:1;
u32 enableAnim:1;
u32 inanimate:1;
u32 invisible:1;
u32 offScreen:1;
u32 trackedByCamera:1;
/*0x02*/ u32 isPlayer:1;
u32 hasReflection:1;
u32 inShortGrass:1;
u32 inShallowFlowingWater:1;
u32 inSandPile:1;
u32 inHotSprings:1;
u32 hasShadow:1;
u32 spriteAnimPausedBackup:1;
/*0x03*/ u32 spriteAffineAnimPausedBackup:1;
u32 disableJumpLandingGroundEffect:1;
u32 fixedPriority:1;
u32 unk3_3:1;
/*0x04*/ u8 spriteId;
/*0x05*/ u8 graphicsId;
/*0x06*/ u8 animPattern;
/*0x06*/ u8 movementType;
/*0x07*/ u8 trainerType;
/*0x08*/ u8 localId;
/*0x09*/ u8 mapNum;
/*0x0A*/ u8 mapGroup;
/*0x0B*/ u8 mapobj_unk_0B_0:4;
u8 elevation:4;
/*0x0C*/ struct Coords16 coords1;
/*0x10*/ struct Coords16 coords2;
/*0x14*/ struct Coords16 coords3;
/*0x18*/ u8 mapobj_unk_18:4; // current direction?
/*0x18*/ u8 placeholder18:4;
/*0x0B*/ u8 currentElevation:4;
u8 previousElevation:4;
/*0x0C*/ struct Coords16 initialCoords;
/*0x10*/ struct Coords16 currentCoords;
/*0x14*/ struct Coords16 previousCoords;
/*0x18*/ u8 facingDirection:4; // current direction?
/*0x18*/ u8 movementDirection:4;
/*0x19*/ union __attribute__((packed)) {
u8 as_byte;
struct __attribute__((packed)) {
@@ -233,19 +198,19 @@ struct MapObject
u8 y:4;
} __attribute__((aligned (1))) as_nybbles;
} __attribute__((aligned (1))) range;
/*0x1A*/ u8 mapobj_unk_1A;
/*0x1B*/ u8 mapobj_unk_1B;
/*0x1C*/ u8 mapobj_unk_1C;
/*0x1A*/ u8 fieldEffectSpriteId;
/*0x1B*/ u8 warpArrowSpriteId;
/*0x1C*/ u8 movementActionId;
/*0x1D*/ u8 trainerRange_berryTreeId;
/*0x1E*/ u8 mapobj_unk_1E;
/*0x1F*/ u8 mapobj_unk_1F;
/*0x20*/ u8 mapobj_unk_20;
/*0x21*/ u8 mapobj_unk_21;
/*0x22*/ u8 animId;
/*0x1E*/ u8 currentMetatileBehavior;
/*0x1F*/ u8 previousMetatileBehavior;
/*0x20*/ u8 previousMovementDirection;
/*0x21*/ u8 directionSequenceIndex;
/*0x22*/ u8 playerCopyableMovement;
/*size = 0x24*/
};
struct MapObjectGraphicsInfo
struct EventObjectGraphicsInfo
{
/*0x00*/ u16 tileTag;
/*0x02*/ u16 paletteTag1;
@@ -292,6 +257,10 @@ enum
DIR_NORTH,
DIR_WEST,
DIR_EAST,
DIR_SOUTHWEST,
DIR_SOUTHEAST,
DIR_NORTHWEST,
DIR_NORTHEAST,
};
enum
@@ -322,7 +291,7 @@ struct PlayerAvatar
/*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving.
/*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning.
/*0x04*/ u8 spriteId;
/*0x05*/ u8 mapObjectId;
/*0x05*/ u8 eventObjectId;
/*0x06*/ bool8 preventStep;
/*0x07*/ u8 gender;
/*0x08*/ u8 acroBikeState; // 00 is normal, 01 is turning, 02 is standing wheelie, 03 is hopping wheelie
@@ -344,8 +313,8 @@ struct Camera
s32 y;
};
extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS];
extern u8 gSelectedMapObject;
extern struct EventObject gEventObjects[NUM_EVENT_OBJECTS];
extern u8 gSelectedEventObject;
extern struct MapHeader gMapHeader;
extern struct PlayerAvatar gPlayerAvatar;
extern struct Camera gCamera;
+71 -57
View File
@@ -35,12 +35,18 @@
// Converts a number to Q4.12 fixed-point format
#define Q_4_12(n) ((s16)((n) * 4096))
// Converts a number to Q24.8 fixed-point format
#define Q_24_8(n) ((s32)((n) * 256))
// Converts a Q8.8 fixed-point format number to a regular integer
#define Q_8_8_TO_INT(n) ((int)((n) / 256))
// Converts a Q4.12 fixed-point format number to a regular integer
#define Q_4_12_TO_INT(n) ((int)((n) / 4096))
// Converts a Q24.8 fixed-point format number to a regular integer
#define Q_24_8_TO_INT(n) ((int)((n) >> 8))
#define PARTY_SIZE 6
#define POKEMON_SLOTS_NUMBER 412
@@ -101,7 +107,7 @@ enum LanguageId
// capacities of various saveblock objects
#define DAYCARE_MON_COUNT 2
#define POKEBLOCKS_COUNT 40
#define MAP_OBJECTS_COUNT 16
#define EVENT_OBJECTS_COUNT 16
#define BERRY_TREES_COUNT 128
#define FLAGS_COUNT 300
#define VARS_COUNT 256
@@ -314,62 +320,30 @@ struct EmeraldBattleTowerRecord
/*0xE8*/ u32 checksum;
};
struct SaveBlock2
struct BattleFrontier
{
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH];
/*0x08*/ u8 playerGender; // MALE, FEMALE
/*0x09*/ u8 specialSaveWarp;
/*0x0A*/ u8 playerTrainerId[4];
/*0x0E*/ u16 playTimeHours;
/*0x10*/ u8 playTimeMinutes;
/*0x11*/ u8 playTimeSeconds;
/*0x12*/ u8 playTimeVBlanks;
/*0x13*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
/*0x14*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in
/*0x18*/ struct Pokedex pokedex;
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*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];
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
/*0x21C*/ u8 field_21C[1032];
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
// All below could be a one giant struct
/*0x64C*/ struct EmeraldBattleTowerRecord battleTower;
/*0x738*/ struct UnknownSaveBlock2Struct field_738[5]; // No idea here, it's probably wrong, no clue.
/*0xBD4*/ u16 field_BD4;
/*0xBD6*/ u16 field_BD6;
/*0xBD8*/ u8 field_BD8[11];
/*0xBE3*/ u8 filler_BE3[8];
/*0xBE3*/ u8 field_BE3[8];
/*0xBEB*/ u8 field_BEB;
/*0xBE3*/ u8 filler_BEC[189];
/*0xCA9*/ u8 frontierChosenLvl : 2; // 0x1, 0x2 -> 0x3
/*0xCA9*/ u8 field_CA9_a : 1; // 0x4
/*0xCA9*/ u8 field_CA9_b : 1; // 0x8
/*0xCA9*/ u8 field_CA9_c : 1; // 0x10
/*0xCA9*/ u8 field_CA9_d : 1; // 0x20
/*0xCA9*/ u8 field_CA9_e : 1; // 0x40
/*0xCA9*/ u8 field_CA9_f : 1; // 0x80
/*0xBEC*/ u8 filler_BEC[16];
/*0xBFC*/ u16 ecwords_BFC[6];
/*0xC08*/ u16 ecwords_C08[6];
/*0xC14*/ u16 ecwords_C14[6];
/*0xC20*/ u8 filler_C20[0x88];
/*0xCA8*/ u8 field_CA8;
/*0xCA9*/ u8 chosenLvl:2; // 0x1, 0x2 -> 0x3
/*0xCA9*/ u8 field_CA9_a:1; // 0x4
/*0xCA9*/ u8 field_CA9_b:1; // 0x8
/*0xCA9*/ u8 field_CA9_c:1; // 0x10
/*0xCA9*/ u8 field_CA9_d:1; // 0x20
/*0xCA9*/ u8 field_CA9_e:1; // 0x40
/*0xCA9*/ u8 field_CA9_f:1; // 0x80
/*0xCAA*/ u16 field_CAA[4];
/*0xCB2*/ u16 battlePyramidWildHeaderId;
/*0xCB2*/ u16 field_CB2;
/*0xCB4*/ u16 field_CB4[30];
/*0xCF0*/ u16 field_CF0[2];
/*0xCF4*/ u16 field_CF4[2];
@@ -416,21 +390,61 @@ struct SaveBlock2
/*0xE04*/ u16 field_E04;
/*0xE06*/ u16 field_E06;
/*0xE08*/ u16 field_E08[9];
/*0xE1A*/ u16 battlePyramidFloor; // possibly?
/*0xE1A*/ u16 field_E1A;
/*0xE1C*/ u16 field_E1C;
/*0xE1E*/ u16 field_E1E[7];
/*0xE2C*/ struct PyramidBag pyramidBag;
/*0x???*/ u8 field_unkown[6];
/*0xE6E*/ u16 battleTentWinStreak;
/*0xE58*/ u16 field_E58;
/*0xE6A*/ u16 field_E6A;
/*0xE6C*/ u16 field_E6C;
/*0xE6E*/ u16 field_E6E;
/*0xE70*/ u8 field_E70[72];
/*0xEB8*/ u16 frontierBattlePoints;
/*0xEBA*/ u8 field_EBA[39];
/*0xEE1*/ u8 field_EE1[2][PLAYER_NAME_LENGTH];
/*0xEF1*/ u8 field_EF1[2][4];
/*0xEF9*/ u8 field_EF9[51];
// sizeof=0xF2C
};
struct SaveBlock2
{
/*0x00*/ u8 playerName[PLAYER_NAME_LENGTH];
/*0x08*/ u8 playerGender; // MALE, FEMALE
/*0x09*/ u8 specialSaveWarp;
/*0x0A*/ u8 playerTrainerId[4];
/*0x0E*/ u16 playTimeHours;
/*0x10*/ u8 playTimeMinutes;
/*0x11*/ u8 playTimeSeconds;
/*0x12*/ u8 playTimeVBlanks;
/*0x13*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
/*0x14*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in
/*0x18*/ struct Pokedex pokedex;
/*0x90*/ u8 filler_90[0x8];
/*0x98*/ struct Time localTimeOffset;
/*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];
/*0x1EC*/ struct BerryCrush berryCrush;
/*0x1FC*/ struct PokemonJumpResults pokeJump;
/*0x20C*/ struct BerryPickingResults berryPick;
/*0x21C*/ u8 field_21C[1032];
/*0x624*/ u16 contestLinkResults[20]; // 4 positions for 5 categories, possibly a struct or a 2d array
/*0x64C*/ struct BattleFrontier frontier;
}; // sizeof=0xF2C
extern struct SaveBlock2 *gSaveBlock2Ptr;
struct SecretBaseParty
@@ -777,7 +791,7 @@ struct SaveBlock1
/*0x2E*/ u8 weather;
/*0x2F*/ u8 filler_2F;
/*0x30*/ u8 flashLevel;
/*0x32*/ u16 mapDataId;
/*0x32*/ u16 mapLayoutId;
/*0x34*/ u16 mapView[0x100];
/*0x234*/ u8 playerPartyCount;
/*0x238*/ struct Pokemon playerParty[PARTY_SIZE];
@@ -796,8 +810,8 @@ struct SaveBlock1
/*0x9C2*/ u8 field_9C2[6];
/*0x9C8*/ u16 trainerRematchStepCounter;
/*0x9CA*/ u8 trainerRematches[100];
/*0xA30*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
/*0xC70*/ struct MapObjectTemplate mapObjectTemplates[64];
/*0xA30*/ struct EventObject eventObjects[EVENT_OBJECTS_COUNT];
/*0xC70*/ struct EventObjectTemplate eventObjectTemplates[64];
/*0x1270*/ u8 flags[FLAGS_COUNT];
/*0x139C*/ u16 vars[VARS_COUNT];
/*0x159C*/ u32 gameStats[NUM_GAME_STATS];
@@ -859,7 +873,7 @@ struct MapPosition
{
s16 x;
s16 y;
u8 height;
s8 height;
};
struct UnkStruct_8054FF8
+2 -2
View File
@@ -301,7 +301,7 @@ typedef union // size = 0x24
/*0x06*/ u8 nGoldSymbols;
/*0x07*/ u8 location;
/*0x08*/ u16 battlePoints;
/*0x0a*/ u16 mapDataId;
/*0x0a*/ u16 mapLayoutId;
/*0x0c*/ u8 language;
/*0x0d*/ u8 filler_0d[6];
/*0x13*/ u8 playerName[8];
@@ -326,7 +326,7 @@ typedef union // size = 0x24
/*0x02*/ u16 item;
/*0x04*/ u8 location;
/*0x05*/ u8 language;
/*0x06*/ u16 mapDataId;
/*0x06*/ u16 mapLayoutId;
/*0x08*/ u8 filler_08[11];
/*0x13*/ u8 playerName[8];
} treasureInvestigators;
+1 -1
View File
@@ -201,7 +201,7 @@ extern u32 gLinkStatus;
void c2_mystery_gift(void);
void sub_801867C(void);
bool8 sub_80093CC(void);
bool8 IsWirelessAdapterConnected(void);
void Task_DestroySelf(u8 taskId);
void OpenLink(void);
void CloseLink(void);
+37 -29
View File
@@ -3,11 +3,19 @@
#define LIST_NOTHING_CHOSEN -1
#define LIST_B_PRESSED -2
#define LIST_HEADER -3
#define LIST_NO_MULTIPLE_SCROLL 0
#define LIST_MULTIPLE_SCROLL_DPAD 1
#define LIST_MULTIPLE_SCROLL_L_R 2
enum {
SCROLL_ARROW_LEFT,
SCROLL_ARROW_RIGHT,
SCROLL_ARROW_UP,
SCROLL_ARROW_DOWN
};
struct ListMenu;
struct ListMenuItem
@@ -19,20 +27,20 @@ struct ListMenuItem
struct ListMenuTemplate
{
const struct ListMenuItem *items;
void (* moveCursorFunc)(s32, bool8, struct ListMenu *);
void (* unk_08)(u8 windowId, s32 itemId, u8 y);
void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list);
void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y);
u16 totalItems;
u16 maxShowed;
u8 windowId;
u8 unk_11;
u8 unk_12;
u8 header_X;
u8 item_X;
u8 cursor_X;
u8 upText_Y:4; // x1, x2, x4, x8 = xF
u8 cursorPal:4; // x10, x20, x40, x80 = xF0
u8 fillValue:4; // x1, x2, x4, x8 = xF
u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0
u8 lettersSpacing:3;
u8 unk_16_3:3;
u8 itemVerticalPadding:3;
u8 scrollMultiple:2; // x40, x80 = xC0
u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F
u8 cursorKind:2; // x40, x80
@@ -45,11 +53,11 @@ struct ListMenu
u16 selectedRow;
u8 unk_1C;
u8 unk_1D;
u8 unk_1E;
u8 taskId;
u8 unk_1F;
};
struct UnknownListMenuWindowStruct
struct ListMenuWindowRect
{
u8 x;
u8 y;
@@ -58,16 +66,16 @@ struct UnknownListMenuWindowStruct
u8 palNum;
};
struct ArrowStruct
struct ScrollArrowsTemplate
{
u8 unk0;
u8 unk1;
u8 unk2;
u8 unk3;
u8 unk4;
u8 unk5;
u16 unk6;
u16 unk8;
u8 firstArrowType;
u8 firstX;
u8 firstY;
u8 secondArrowType;
u8 secondX;
u8 secondY;
u16 fullyUpThreshold;
u16 fullyDownThreshold;
u16 tileTag;
u16 palTag;
u8 palNum;
@@ -75,36 +83,36 @@ struct ArrowStruct
struct CursorStruct
{
u8 unk0;
u8 unk1;
u16 unk2;
u16 unk4;
u8 left;
u8 top;
u16 rowWidth;
u16 rowHeight;
u16 tileTag;
u16 palTag;
u8 palNum;
};
extern struct ArrowStruct gUnknown_0203CE8C;
extern struct ScrollArrowsTemplate gTempScrollArrowTemplate;
extern struct ListMenuTemplate gMultiuseListMenuTemplate;
s32 DoMysteryGiftListMenu(struct WindowTemplate *windowTemplate, struct ListMenuTemplate *listMenuTemplate, u8 arg2, u16 tileNum, u16 palNum);
u8 ListMenuInit(struct ListMenuTemplate *listMenuTemplate, u16 scrollOffset, u16 selectedRow);
u8 ListMenuInitWithWindows(struct ListMenuTemplate *listMenuTemplate, struct UnknownListMenuWindowStruct *arg1, u16 scrollOffset, u16 selectedRow);
u8 ListMenuInitInRect(struct ListMenuTemplate *listMenuTemplate, struct ListMenuWindowRect *arg1, u16 scrollOffset, u16 selectedRow);
s32 ListMenuHandleInputGetItemId(u8 listTaskId);
void DestroyListMenuTask(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow);
void sub_81AE70C(u8 listTaskId);
void RedrawListMenu(u8 listTaskId);
void ChangeListMenuPals(u8 listTaskId, u8 cursorPal, u8 fillValue, u8 cursorShadowPal);
void ChangeListMenuCoords(u8 listTaskId, u8 x, u8 y);
s32 ListMenuTestInput(struct ListMenuTemplate *template, u32 scrollOffset, u32 selectedRow, u16 keys, u16 *newScrollOffset, u16 *newSelectedRow);
void ListMenuGetCurrentItemArrayId(u8 listTaskId, u16 *arrayId);
void ListMenuGetScrollAndRow(u8 listTaskId, u16 *scrollOffset, u16 *selectedRow);
u16 ListMenuGetYCoordForPrintingArrowCursor(u8 listTaskId);
void sub_81AF028(u8 cursorPal, u8 fillValue, u8 cursorShadowPal);
void sub_81AF078(s32 arg0, u8 arg1, struct ListMenu *list);
s32 sub_81AF08C(u8 taskId, u8 field);
void sub_81AF15C(u8 taskId, u8 field, s32 value);
u8 AddScrollIndicatorArrowPair(const struct ArrowStruct *arrowInfo, u16 *arg1);
u8 AddScrollIndicatorArrowPairParametrized(u32 arg0, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 tileTag, s32 palTag, void *arg7);
void ListMenuOverrideSetColors(u8 cursorPal, u8 fillValue, u8 cursorShadowPal);
void ListMenuDefaultCursorMoveFunc(s32 arg0, u8 arg1, struct ListMenu *list);
s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field);
void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value);
u8 AddScrollIndicatorArrowPair(const struct ScrollArrowsTemplate *arrowInfo, u16 *arg1);
u8 AddScrollIndicatorArrowPairParameterized(u32 arrowType, s32 commonPos, s32 firstPos, s32 secondPos, s32 fullyDownThreshold, s32 tileTag, s32 palTag, u16 *currItemPtr);
void RemoveScrollIndicatorArrowPair(u8 taskId);
void Task_ScrollIndicatorArrowPairOnMainMenu(u8 taskId);
+2 -2
View File
@@ -22,8 +22,8 @@ void sub_8076D5C(void);
void sav2_gender2_inplace_and_xFE(void);
void SavePlayerParty(void);
void LoadPlayerParty(void);
void SaveMapObjects(void);
void LoadMapObjects(void);
void SaveEventObjects(void);
void LoadEventObjects(void);
void SaveSerializedGame(void);
void LoadSerializedGame(void);
void LoadPlayerBag(void);
-11
View File
@@ -1,11 +0,0 @@
#ifndef GUARD_MAP_OBJ_LOCK_H
#define GUARD_MAP_OBJ_LOCK_H
bool8 sub_80983C4(void);
void ScriptFreezeMapObjects(void);
bool8 sub_809847C(void);
void LockSelectedMapObject(void);
void sub_8098630(void);
bool8 sub_8098734(void);
#endif // GUARD_MAP_OBJ_LOCK_H
+1 -1
View File
@@ -15,7 +15,7 @@ extern struct BardSong gBardSong;
void SetMauvilleOldMan(void);
u8 GetCurrentMauvilleOldMan(void);
void ScrSpecial_SetMauvilleOldManMapObjGfx(void);
void ScrSpecial_SetMauvilleOldManEventObjGfx(void);
u8 sub_81201C8(void);
void sub_8120B70(OldMan *dest);
void sub_8120670(void);
+2 -2
View File
@@ -1,7 +1,7 @@
#ifndef GUARD_METATILE_BEHAVIOR
#define GUARD_METATILE_BEHAVIOR
bool8 ShouldDoJumpLandingDustEffect(u8);
bool8 MetatileBehavior_IsATile(u8);
bool8 MetatileBehavior_IsEncounterTile(u8);
bool8 MetatileBehavior_IsJumpEast(u8);
bool8 MetatileBehavior_IsJumpWest(u8);
@@ -74,7 +74,7 @@ bool8 MetatileBehavior_IsPuddle(u8);
bool8 MetatileBehavior_IsTallGrass(u8);
bool8 MetatileBehavior_IsLongGrass(u8);
bool8 MetatileBehavior_IsBerryTreeSoil(u8);
bool8 MetatileBehavior_IsAsh(u8);
bool8 MetatileBehavior_IsAshGrass(u8);
bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8);
bool8 MetatileBehavior_IsBridge(u8);
u8 MetatileBehavior_GetBridgeSth(u8);
-5
View File
@@ -4,12 +4,7 @@
void WriteUnalignedWord(u32 var, u8 *dataPtr);
u32 ReadUnalignedWord(u8* dataPtr);
void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom);
void InitPlayerTrainerId(void);
void SetDefaultOptions(void);
void ClearPokedexFlags(void);
void WarpToTruck(void);
void NewGameInitData(void);
void ResetMiniGamesResults(void);
void sub_808447C(void);
void Sav2_ClearSetDefault(void);
+10 -10
View File
@@ -7,17 +7,17 @@ struct UnkPlayerStruct
u8 player_field_1;
};
struct LinkPlayerMapObject
struct LinkPlayerEventObject
{
u8 active;
u8 linkPlayerId;
u8 mapObjId;
u8 eventObjId;
u8 mode;
};
// Exported RAM declarations
extern struct WarpData gUnknown_020322DC;
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2;
@@ -37,11 +37,11 @@ void IncrementGameStat(u8 index);
u32 GetGameStat(u8 index);
void SetGameStat(u8 index, u32 value);
void ApplyNewEncryptionKeyToGameStats(u32 newKey);
void LoadMapObjTemplatesFromHeader(void);
void LoadSaveblockMapObjScripts(void);
void Overworld_SetMapObjTemplateCoords(u8 localId, s16 x, s16 y);
void Overworld_SetMapObjTemplateMovementType(u8 localId, u8 movementType);
const struct MapData *get_mapdata_header(void);
void LoadEventObjTemplatesFromHeader(void);
void LoadSaveblockEventObjScripts(void);
void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y);
void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType);
const struct MapLayout *GetMapLayout(void);
void ApplyCurrentWarp(void);
void set_warp2_warp3_to_neg_1(void);
void SetWarpData(struct WarpData *warp, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y);
@@ -82,7 +82,7 @@ bool32 Overworld_IsBikingAllowed(void);
void SetDefaultFlashLevel(void);
void Overworld_SetFlashLevel(s32 flashLevel);
u8 Overworld_GetFlashLevel(void);
void sub_8085524(u16 mapDataId);
void sub_8085524(u16 mapLayoutId);
void sub_8085540(u8 var);
u8 sub_808554C(void);
u16 GetLocationMusic(struct WarpData *warp);
@@ -141,6 +141,6 @@ bool32 sub_8087598(void);
bool32 sub_80875C8(void);
bool32 sub_8087634(void);
bool32 sub_808766C(void);
void ZeroAllLinkPlayerMapObjects(void);
void ClearLinkPlayerEventObjects(void);
#endif // GUARD_OVERWORLD_H
+7 -7
View File
@@ -24,16 +24,16 @@ struct PaletteFadeControl
u16 y:5; // blend coefficient
u16 targetY:5; // target blend coefficient
u16 blendColor:15;
u16 active:1;
bool16 active:1;
u16 multipurpose2:6;
u16 yDec:1; // whether blend coefficient is decreasing
u16 bufferTransferDisabled:1;
bool16 yDec:1; // whether blend coefficient is decreasing
bool16 bufferTransferDisabled:1;
u16 mode:2;
u16 shouldResetBlendRegisters:1;
u16 hardwareFadeFinishing:1;
bool16 shouldResetBlendRegisters:1;
bool16 hardwareFadeFinishing:1;
u16 softwareFadeFinishingCounter:5;
u16 softwareFadeFinishing:1;
u16 objPaletteToggle:1;
bool16 softwareFadeFinishing:1;
bool16 objPaletteToggle:1;
u8 deltaY:4; // rate of change of blend coefficient
};
+14 -1
View File
@@ -1,6 +1,8 @@
#ifndef GUARD_PARTY_MENU_H
#define GUARD_PARTY_MENU_H
#include "task.h"
enum
{
AILMENT_NONE,
@@ -11,6 +13,16 @@ enum
AILMENT_BRN
};
enum
{
PARTY_CHOOSE_MON,
PARTY_MUST_CHOOSE_MON,
PARTY_CANT_SWITCH,
PARTY_USE_ITEM_ON,
PARTY_ABILITY_PREVENTS,
PARTY_GIVE_ITEM,
};
struct Struct203CEC8
{
u8 filler[0x9];
@@ -28,7 +40,7 @@ void DoWallyTutorialBagMenu(void);
u8 pokemon_ailments_get_primary(u32 status);
u8 *GetMonNickname(struct Pokemon *mon, u8 *dst);
u8 GetCursorSelectionMonId(void);
bool8 FieldCallback_Teleport(void);
bool8 FieldCallback_PrepareFadeInFromMenu(void);
void sub_81B7F60(void);
void sub_81B0FCC(u8 partyIdx, u8 a);
@@ -41,5 +53,6 @@ void sub_81B8448();
void sub_81B8518(u8 unused);
u8 sub_81B1360(void);
void sub_81B8904(u8 arg0, void (*callback)(void));
void OpenPartyMenuInBattle(u8 caseId);
#endif // GUARD_PARTY_MENU_H
+6 -6
View File
@@ -438,7 +438,7 @@ extern u8 gPlayerPartyCount;
extern struct Pokemon gPlayerParty[PARTY_SIZE];
extern u8 gEnemyPartyCount;
extern struct Pokemon gEnemyParty[PARTY_SIZE];
extern struct SpriteTemplate gUnknown_0202499C;
extern struct SpriteTemplate gMultiuseSpriteTemplate;
extern struct PokemonStorage* gPokemonStoragePtr;
extern const struct BattleMove gBattleMoves[];
@@ -505,9 +505,9 @@ u8 GetDefaultMoveTarget(u8 battlerId);
u8 GetMonGender(struct Pokemon *mon);
u8 GetBoxMonGender(struct BoxPokemon *boxMon);
u8 GetGenderFromSpeciesAndPersonality(u16 species, u32 personality);
void sub_806A068(u16 species, u8 battlerPosition);
void sub_806A12C(u16 trainerSpriteId, u8 battlerPosition);
void sub_806A1C0(u16 arg0, u8 battlerPosition);
void SetMultiuseSpriteTemplateToPokemon(u16 species, u8 battlerPosition);
void SetMultiuseSpriteTemplateToTrainerBack(u16 trainerSpriteId, u8 battlerPosition);
void SetMultiuseSpriteTemplateToTrainerFront(u16 arg0, u8 battlerPosition);
// These are full type signatures for GetMonData() and GetBoxMonData(),
// but they are not used since some code erroneously omits the third arg.
@@ -556,7 +556,7 @@ void sub_806D544(u16 species, u32 personality, u8 *dest);
void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
bool8 sub_806D7EC(void);
bool16 sub_806D82C(u8 id);
bool16 GetLinkTrainerFlankId(u8 id);
s32 GetBattlerMultiplayerId(u16 a1);
u8 GetTrainerEncounterMusicId(u16 trainerOpponentId);
u16 ModifyStatByNature(u8 nature, u16 n, u8 statIndex);
@@ -593,7 +593,7 @@ bool8 IsTradedMon(struct Pokemon *mon);
bool8 IsOtherTrainer(u32 otId, u8 *otName);
void MonRestorePP(struct Pokemon *mon);
void BoxMonRestorePP(struct BoxPokemon *boxMon);
void sub_806E994(void);
void SetMonPreventsSwitchingString(void);
void SetWildMonHeldItem(void);
bool8 IsMonShiny(struct Pokemon *mon);
bool8 IsShinyOtIdPersonality(u32 otId, u32 personality);
+1
View File
@@ -21,6 +21,7 @@ void sub_81D1EC0(void);
void sub_81D1D04(u8);
bool8 sub_81D1C44(u8);
void sub_81D5FB4(u16*);
bool8 sub_81D4A58(struct EventObject*);
#endif //GUARD_POKENAV_H
+1 -1
View File
@@ -16,7 +16,7 @@ void sub_81851A8(u8 *arg0);
bool32 CanCopyRecordedBattleSaveData(void);
u32 MoveRecordedBattleToSaveData(void);
void PlayRecordedBattle(void (*CB2_After)(void));
u8 sub_8185EA0(void);
u8 GetRecordedBattleFrontierFacility(void);
u8 sub_8185EAC(void);
void RecordedBattle_SaveParties(void);
u8 GetActiveBattlerLinkPlayerGender(void);
+1 -1
View File
@@ -12,7 +12,7 @@ void UpdateFrontierManiac(u16 days);
void UpdateFrontierGambler(u16 days);
void SetShoalItemFlag(u16 days);
bool8 npc_before_player_of_type(u8);
bool8 CheckObjectGraphicsInFrontOfPlayer(u8);
u8 oei_task_add(void);
#endif //GUARD_ROM6_H
+1 -1
View File
@@ -6,7 +6,7 @@
#define GUARD_ROM_81BE66C_H
bool32 InTrainerHill(void);
bool8 FieldObjectIsFarawayIslandMew(struct MapObject *);
bool8 EventObjectIsFarawayIslandMew(struct EventObject *);
u32 sub_81D427C(void);
#endif //GUARD_ROM_81BE66C_H
+19 -18
View File
@@ -2,6 +2,7 @@
#define GUARD_SPRITE_H
#define MAX_SPRITES 64
#define SPRITE_INVALID_TAG 0xFFFF
struct SpriteSheet
{
@@ -186,29 +187,29 @@ struct Sprite
/*0x2A*/ u8 animNum;
/*0x2B*/ u8 animCmdIndex;
/*0x2C*/ u8 animDelayCounter:6;
u8 animPaused:1;
u8 affineAnimPaused:1;
bool8 animPaused:1;
bool8 affineAnimPaused:1;
/*0x2D*/ u8 animLoopCounter;
// general purpose data fields
/*0x2E*/ s16 data[8];
/*0x3E*/ u16 inUse:1; //1
u16 coordOffsetEnabled:1; //2
u16 invisible:1; //4
u16 flags_3:1; //8
u16 flags_4:1; //0x10
u16 flags_5:1; //0x20
u16 flags_6:1; //0x40
u16 flags_7:1; //0x80
/*0x3F*/ u16 hFlip:1; //1
u16 vFlip:1; //2
u16 animBeginning:1; //4
u16 affineAnimBeginning:1; //8
u16 animEnded:1; //0x10
u16 affineAnimEnded:1; //0x20
u16 usingSheet:1; //0x40
u16 flags_f:1; //0x80
/*0x3E*/ bool16 inUse:1; //1
bool16 coordOffsetEnabled:1; //2
bool16 invisible:1; //4
bool16 flags_3:1; //8
bool16 flags_4:1; //0x10
bool16 flags_5:1; //0x20
bool16 flags_6:1; //0x40
bool16 flags_7:1; //0x80
/*0x3F*/ bool16 hFlip:1; //1
bool16 vFlip:1; //2
bool16 animBeginning:1; //4
bool16 affineAnimBeginning:1; //8
bool16 animEnded:1; //0x10
bool16 affineAnimEnded:1; //0x20
bool16 usingSheet:1; //0x40
bool16 flags_f:1; //0x80
/*0x40*/ u16 sheetTileStart;
+21
View File
@@ -2,7 +2,17 @@
#define GUARD_TEXT_H
#define CHAR_SPACE 0x00
#define CHAR_PLUS 0x2E
#define CHAR_0 0xA1
#define CHAR_1 0xA2
#define CHAR_2 0xA3
#define CHAR_3 0xA4
#define CHAR_4 0xA5
#define CHAR_5 0xA6
#define CHAR_6 0xA7
#define CHAR_7 0xA8
#define CHAR_8 0xA9
#define CHAR_9 0xAA
#define CHAR_QUESTION_MARK 0xAC
#define CHAR_PERIOD 0xAD
#define CHAR_HYPHEN 0xAE
@@ -98,6 +108,17 @@
#define TEXT_SPEED_FF 0xFF
enum {
FONTATTR_MAX_LETTER_WIDTH,
FONTATTR_MAX_LETTER_HEIGHT,
FONTATTR_LETTER_SPACING,
FONTATTR_LINE_SPACING,
FONTATTR_COLOR_LOWNIBBLE, // dunno what this is yet
FONTATTR_COLOR_FOREGROUND,
FONTATTR_COLOR_BACKGROUND,
FONTATTR_COLOR_SHADOW
};
struct TextPrinterSubStruct
{
u8 font_type:4; // 0x14
+5 -5
View File
@@ -12,11 +12,11 @@ struct TilesPal
extern const u8 gTextWindowFrame1_Gfx[];
extern const u16 gTextWindowFrame1_Pal[];
const struct TilesPal* GetWindowFrameTilesPal(u8 id);
void copy_textbox_border_tile_patterns_to_vram(u8 windowId, u16 destOffset, u8 palOffset);
void sub_809882C(u8 windowId, u16 destOffset, u8 palOffset);
void sub_80987D4(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
void box_border_load_tiles_and_pal(u8 windowId, u16 destOffset, u8 palOffset);
const struct TilesPal *GetWindowFrameTilesPal(u8 id);
void LoadMessageBoxGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx(u8 windowId, u16 destOffset, u8 palOffset);
void LoadWindowGfx(u8 windowId, u8 frameId, u16 destOffset, u8 palOffset);
void LoadUserWindowBorderGfx_(u8 windowId, u16 destOffset, u8 palOffset);
void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
void rbox_fill_rectangle(u8 windowId);
+6 -6
View File
@@ -3,7 +3,7 @@
struct ApproachingTrainer
{
u8 mapObjectId;
u8 eventObjectId;
u8 radius; // plus 1
const u8 *trainerScriptPtr;
u8 taskId;
@@ -17,14 +17,14 @@ extern u8 gUnknown_030060AC;
extern u8 gApproachingTrainerId;
bool8 CheckForTrainersWantingBattle(void);
void sub_80B4578(struct MapObject *var);
void sub_80B4578(struct EventObject *var);
void EndTrainerApproach(void);
void sub_80B45D0(void);
u8 FldEff_ExclamationMarkIcon1(void);
u8 FldEff_ExclamationMarkIcon2(void);
u8 FldEff_ExclamationMarkIcon(void);
u8 FldEff_QuestionMarkIcon(void);
u8 FldEff_HeartIcon(void);
u8 GetCurrentApproachingTrainerMapObjectId(void);
u8 GetChosenApproachingTrainerMapObjectId(u8 arrayId);
u8 GetCurrentApproachingTrainerEventObjectId(void);
u8 GetChosenApproachingTrainerEventObjectId(u8 arrayId);
void sub_80B4808(void);
#endif // GUARD_TRAINER_SEE_H