Merge branch 'master' into heal_location
This commit is contained in:
100
include/battle.h
100
include/battle.h
@@ -6,6 +6,8 @@
|
||||
#include "battle_script_commands.h"
|
||||
#include "battle_2.h"
|
||||
#include "battle_ai_switch_items.h"
|
||||
#include "battle_gfx_sfx_util.h"
|
||||
#include "battle_util2.h"
|
||||
|
||||
/*
|
||||
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
|
||||
@@ -252,11 +254,21 @@
|
||||
#define MOVE_TARGET_FOES_AND_ALLY 0x20
|
||||
#define MOVE_TARGET_OPPONENTS_FIELD 0x40
|
||||
|
||||
// defines for the u8 array gTypeEffectiveness
|
||||
#define TYPE_EFFECT_ATK_TYPE(i)((gTypeEffectiveness[i + 0]))
|
||||
#define TYPE_EFFECT_DEF_TYPE(i)((gTypeEffectiveness[i + 1]))
|
||||
#define TYPE_EFFECT_MULTIPLIER(i)((gTypeEffectiveness[i + 2]))
|
||||
|
||||
// defines for the gTypeEffectiveness multipliers
|
||||
#define TYPE_MUL_NO_EFFECT 0
|
||||
#define TYPE_MUL_NOT_EFFECTIVE 5
|
||||
#define TYPE_MUL_NORMAL 10
|
||||
#define TYPE_MUL_SUPER_EFFECTIVE 20
|
||||
|
||||
// special type table Ids
|
||||
#define TYPE_FORESIGHT 0xFE
|
||||
#define TYPE_ENDTABLE 0xFF
|
||||
|
||||
#define BS_GET_TARGET 0
|
||||
#define BS_GET_ATTACKER 1
|
||||
#define BS_GET_EFFECT_BANK 2
|
||||
@@ -361,8 +373,8 @@ struct DisableStruct
|
||||
/*0x0D*/ u8 unkD;
|
||||
/*0x0E*/ u8 encoreTimer1 : 4;
|
||||
/*0x0E*/ u8 encoreTimer2 : 4;
|
||||
/*0x0F*/ u8 perishSong1 : 4;
|
||||
/*0x0F*/ u8 perishSong2 : 4;
|
||||
/*0x0F*/ u8 perishSongTimer1 : 4;
|
||||
/*0x0F*/ u8 perishSongTimer2 : 4;
|
||||
/*0x10*/ u8 furyCutterCounter;
|
||||
/*0x11*/ u8 rolloutCounter1 : 4;
|
||||
/*0x11*/ u8 rolloutCounter2 : 4;
|
||||
@@ -611,7 +623,7 @@ struct BattleStruct
|
||||
u8 sentInPokes;
|
||||
bool8 selectionScriptFinished[BATTLE_BANKS_COUNT];
|
||||
u8 field_58[4];
|
||||
u8 field_5C[4];
|
||||
u8 monToSwitchIntoId[BATTLE_BANKS_COUNT];
|
||||
u8 field_60[4][3];
|
||||
u8 runTries;
|
||||
u8 caughtMonNick[11];
|
||||
@@ -670,7 +682,7 @@ struct BattleStruct
|
||||
u8 fillerDC[0xDF-0xDC];
|
||||
u8 field_DF;
|
||||
u8 mirrorMoveArrays[32];
|
||||
u16 castformPalette[4][16];
|
||||
u16 castformPalette[BATTLE_BANKS_COUNT][16];
|
||||
u8 field_180;
|
||||
u8 field_181;
|
||||
u8 field_182;
|
||||
@@ -683,7 +695,7 @@ struct BattleStruct
|
||||
u8 field_1A4[96];
|
||||
u8 field_204[104];
|
||||
u8 field_26C[40];
|
||||
u8 field_294[4];
|
||||
u8 AI_monToSwitchIntoId[BATTLE_BANKS_COUNT];
|
||||
u8 field_298[8];
|
||||
u8 field_2A0;
|
||||
u8 field_2A1;
|
||||
@@ -807,6 +819,18 @@ extern struct BattleStruct* gBattleStruct;
|
||||
#define B_ANIM_SUBSTITUTE_TO_MON 0x5
|
||||
#define B_ANIM_MON_TO_SUBSTITUTE 0x6
|
||||
|
||||
// status animation table
|
||||
#define B_ANIM_STATUS_PSN 0x0
|
||||
#define B_ANIM_STATUS_CONFUSION 0x1
|
||||
#define B_ANIM_STATUS_BRN 0x2
|
||||
#define B_ANIM_STATUS_INFATUATION 0x3
|
||||
#define B_ANIM_STATUS_SLP 0x4
|
||||
#define B_ANIM_STATUS_PRZ 0x5
|
||||
#define B_ANIM_STATUS_FRZ 0x6
|
||||
#define B_ANIM_STATUS_CURSED 0x7
|
||||
#define B_ANIM_STATUS_NIGHTMARE 0x8
|
||||
#define B_ANIM_STATUS_WRAPPED 0x9
|
||||
|
||||
#define GET_STAT_BUFF_ID(n)((n & 0xF)) // first four bits 0x1, 0x2, 0x4, 0x8
|
||||
#define GET_STAT_BUFF_VALUE(n)(((n >> 4) & 7)) // 0x10, 0x20, 0x40
|
||||
#define STAT_BUFF_NEGATIVE 0x80 // 0x80, the sign bit
|
||||
@@ -857,50 +881,6 @@ bool8 LoadChosenBattleElement(u8 caseId);
|
||||
void DrawMainBattleBackground(void);
|
||||
void task00_0800F6FC(u8 taskId);
|
||||
|
||||
// battle_5
|
||||
void AllocateBattleResrouces(void);
|
||||
void FreeBattleResources(void);
|
||||
void AdjustFriendshipOnBattleFaint(u8 bank);
|
||||
void sub_80571DC(u8 bank, u8 arg1);
|
||||
u32 sub_805725C(u8 bank);
|
||||
|
||||
// battle 7
|
||||
void AllocateBattleSpritesData(void);
|
||||
void FreeBattleSpritesData(void);
|
||||
void AllocateMonSpritesGfx(void);
|
||||
void FreeMonSpritesGfx(void);
|
||||
void BattleMusicStop(void);
|
||||
void sub_805E990(struct Pokemon *mon, u8 bank);
|
||||
void sub_805EF14(void);
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *state2);
|
||||
void sub_805E350(void);
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
|
||||
void LoadAndCreateEnemyShadowSprites(void);
|
||||
void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
|
||||
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1);
|
||||
void nullsub_24(u16 arg0);
|
||||
void nullsub_25(u8 arg0);
|
||||
void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
|
||||
void sub_805D714(struct Sprite *sprite);
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 bank);
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
|
||||
void FreeTrainerFrontPicPalette(u16 frontPicId);
|
||||
void sub_805D7AC(struct Sprite *sprite);
|
||||
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
|
||||
void sub_805EB9C(u8 arg0);
|
||||
void sub_805E394(void);
|
||||
void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
|
||||
void DoStatusAnimation(bool8 isStatus2, u32 status);
|
||||
void DoSpecialBattleAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
|
||||
bool8 DoBattleAnimationFromTable(u8 active, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
|
||||
void CopyBattleSpriteInvisibility(u8 bank);
|
||||
u16 ChooseMoveAndTargetInBattlePalace(void);
|
||||
void LoadBattleBarGfx(u8 arg0);
|
||||
bool8 mplay_80342A4(u8 bank);
|
||||
void sub_805EEE0(u8 bank);
|
||||
|
||||
enum
|
||||
{
|
||||
BACK_PIC_BRENDAN,
|
||||
@@ -921,7 +901,7 @@ u8 GetBankByIdentity(u8 bank);
|
||||
struct BattleSpriteInfo
|
||||
{
|
||||
u16 invisible : 1; // 0x1
|
||||
u16 flag_x2 : 1; // 0x2
|
||||
u16 lowHpSong : 1; // 0x2
|
||||
u16 behindSubstitute : 1; // 0x4
|
||||
u16 flag_x8 : 1; // 0x8
|
||||
u16 hpNumbersNoBars : 1; // 0x10
|
||||
@@ -930,7 +910,7 @@ struct BattleSpriteInfo
|
||||
|
||||
struct BattleAnimationInfo
|
||||
{
|
||||
u16 field; // to fill up later
|
||||
u16 animArg; // to fill up later
|
||||
u8 field_2;
|
||||
u8 field_3;
|
||||
u8 field_4;
|
||||
@@ -944,6 +924,12 @@ struct BattleAnimationInfo
|
||||
u8 field_9_x20 : 1;
|
||||
u8 field_9_x40 : 1;
|
||||
u8 field_9_x80 : 1;
|
||||
u8 field_A;
|
||||
u8 field_B;
|
||||
u8 field_C;
|
||||
u8 field_D;
|
||||
u8 field_E;
|
||||
u8 field_F;
|
||||
};
|
||||
|
||||
struct BattleHealthboxInfo
|
||||
@@ -966,7 +952,7 @@ struct BattleHealthboxInfo
|
||||
u8 animationState;
|
||||
u8 field_5;
|
||||
u8 field_6;
|
||||
u8 field_7;
|
||||
u8 shadowSpriteId;
|
||||
u8 field_8;
|
||||
u8 field_9;
|
||||
u8 field_A;
|
||||
@@ -997,6 +983,9 @@ extern struct BattleSpriteData *gBattleSpritesDataPtr;
|
||||
extern u8 *gLinkBattleSendBuffer;
|
||||
extern u8 *gLinkBattleRecvBuffer;
|
||||
|
||||
extern u8 *gUnknown_0202305C;
|
||||
extern u8 *gUnknown_02023060;
|
||||
|
||||
// Move this somewhere else
|
||||
|
||||
#include "sprite.h"
|
||||
@@ -1006,8 +995,11 @@ struct MonSpritesGfx
|
||||
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
|
||||
void* sprites[4];
|
||||
struct SpriteTemplate templates[4];
|
||||
u8 field_74[0x100];
|
||||
u8 *fontPixels;
|
||||
struct SpriteFrameImage field_74[4][4];
|
||||
u8 field_F4[0x80];
|
||||
u8 *barFontGfx;
|
||||
void *field_178;
|
||||
void *field_17C;
|
||||
};
|
||||
|
||||
extern struct BattleSpritesGfx* gMonSpritesGfx;
|
||||
|
||||
@@ -92,7 +92,11 @@ u8 sub_80A6D94(void);
|
||||
u8 sub_80A8364(u8);
|
||||
void StoreSpriteCallbackInData6(struct Sprite *sprite, void (*spriteCallback)(struct Sprite*));
|
||||
void oamt_add_pos2_onto_pos1(struct Sprite *sprite);
|
||||
u8 sub_80A6138(u8 bank);
|
||||
u8 GetBankSpriteDefault_Y(u8 bank);
|
||||
u8 sub_80A82E4(u8 bank);
|
||||
u8 GetSubstituteSpriteDefault_Y(u8 bank);
|
||||
|
||||
// battle_anim_80A9C70.s
|
||||
void LaunchStatusAnimation(u8 bank, u8 statusAnimId);
|
||||
|
||||
#endif // GUARD_BATTLE_ANIM_H
|
||||
|
||||
50
include/battle_gfx_sfx_util.h
Normal file
50
include/battle_gfx_sfx_util.h
Normal file
@@ -0,0 +1,50 @@
|
||||
#ifndef GUARD_BATTLE_GFX_SFX_UTIL
|
||||
#define GUARD_BATTLE_GFX_SFX_UTIL
|
||||
|
||||
void AllocateBattleSpritesData(void);
|
||||
void FreeBattleSpritesData(void);
|
||||
u16 ChooseMoveAndTargetInBattlePalace(void);
|
||||
void sub_805D714(struct Sprite *sprite);
|
||||
void sub_805D770(struct Sprite *sprite, bool8 arg1);
|
||||
void sub_805D7AC(struct Sprite *sprite);
|
||||
void InitAndLaunchChosenStatusAnimation(bool8 isStatus2, u32 status);
|
||||
bool8 TryHandleLaunchBattleTableAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId, u16 argument);
|
||||
void InitAndLaunchSpecialAnimation(u8 activeBank, u8 atkBank, u8 defBank, u8 tableId);
|
||||
bool8 IsMoveWithoutAnimation(u16 moveId, u8 animationTurn);
|
||||
bool8 mplay_80342A4(u8 bank);
|
||||
void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank);
|
||||
void nullsub_23(void);
|
||||
void nullsub_24(u16 species);
|
||||
void DecompressTrainerFrontPic(u16 frontPicId, u8 bank);
|
||||
void DecompressTrainerBackPic(u16 backPicId, u8 bank);
|
||||
void nullsub_25(u8 arg0);
|
||||
void FreeTrainerFrontPicPalette(u16 frontPicId);
|
||||
void sub_805DFFC(void);
|
||||
bool8 BattleLoadAllHealthBoxesGfx(u8 state);
|
||||
void LoadBattleBarGfx(u8 arg0);
|
||||
bool8 BattleInitAllSprites(u8 *state1, u8 *bank);
|
||||
void ClearSpritesHealthboxAnimData(void);
|
||||
void CopyAllBattleSpritesInvisibilities(void);
|
||||
void CopyBattleSpriteInvisibility(u8 bank);
|
||||
void HandleSpeciesGfxDataChange(u8 bankAtk, u8 bankDef, bool8 notTransform);
|
||||
void BattleLoadSubstituteOrMonSpriteGfx(u8 bank, bool8 loadMonSprite);
|
||||
void LoadBattleMonGfxAndAnimate(u8 bank, bool8 loadMonSprite, u8 spriteId);
|
||||
void TrySetBehindSubstituteSpriteBit(u8 bank, u16 move);
|
||||
void ClearBehindSubstituteBit(u8 bank);
|
||||
void HandleLowHpMusicChange(struct Pokemon *mon, u8 bank);
|
||||
void BattleStopLowHpSound(void);
|
||||
u8 GetMonHPBarLevel(struct Pokemon *mon);
|
||||
void sub_805EAE8(void);
|
||||
void sub_805EB9C(u8 affineMode);
|
||||
void LoadAndCreateEnemyShadowSprites(void);
|
||||
void SpriteCB_SetInvisible(struct Sprite *sprite);
|
||||
void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species);
|
||||
void EnemyShadowCallbackToSetInvisible(u8 bank);
|
||||
void sub_805EF14(void);
|
||||
void ClearTemporarySpeciesSpriteData(u8 bank, bool8 dontClearSubstitute);
|
||||
void AllocateMonSpritesGfx(void);
|
||||
void FreeMonSpritesGfx(void);
|
||||
bool32 ShouldPlayNormalPokeCry(struct Pokemon *mon);
|
||||
|
||||
#endif // GUARD_BATTLE_GFX_SFX_UTIL
|
||||
@@ -15,6 +15,15 @@ enum
|
||||
EXP_BAR
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
HP_BAR_EMPTY,
|
||||
HP_BAR_RED,
|
||||
HP_BAR_YELLOW,
|
||||
HP_BAR_GREEN,
|
||||
HP_BAR_FULL,
|
||||
};
|
||||
|
||||
#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
|
||||
#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
|
||||
#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
|
||||
|
||||
@@ -57,6 +57,6 @@ void HandleBattleWindow(u8 xStart, u8 yStart, u8 xEnd, u8 yEnd, u8 flags);
|
||||
bool8 UproarWakeUpCheck(u8 bank);
|
||||
|
||||
extern void (* const gBattleScriptingCommandsTable[])(void);
|
||||
extern const u8 gUnknown_0831C494[];
|
||||
extern const u8 gUnknown_0831C494[][4];
|
||||
|
||||
#endif // GUARD_BATTLE_SCRIPT_COMMANDS_H
|
||||
|
||||
10
include/battle_util2.h
Normal file
10
include/battle_util2.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef GUARD_BATTLE_UTIL2_H
|
||||
#define GUARD_BATTLE_UTIL2_H
|
||||
|
||||
void AllocateBattleResources(void);
|
||||
void FreeBattleResources(void);
|
||||
void AdjustFriendshipOnBattleFaint(u8 bank);
|
||||
void sub_80571DC(u8 bank, u8 arg1);
|
||||
u32 sub_805725C(u8 bank);
|
||||
|
||||
#endif // GUARD_BATTLE_UTIL_H
|
||||
@@ -12,14 +12,20 @@ struct ContestStruct_02039E00
|
||||
|
||||
extern struct ContestStruct_02039E00 gUnknown_02039E00[4];
|
||||
extern u8 gUnknown_02039F24;
|
||||
extern u16 gScriptContestCategory;
|
||||
extern u8 gUnknown_02039F2E;
|
||||
extern u16 gSpecialVar_ContestCategory;
|
||||
extern u8 gSpecialVar_ContestRank;
|
||||
extern u8 gUnknown_02039F30;
|
||||
|
||||
struct ContestStruct_field_18
|
||||
{
|
||||
// unknown size
|
||||
u16 field_0;
|
||||
u16 field_2;
|
||||
u16 field_4;
|
||||
u16 field_6;
|
||||
u32 field_8;
|
||||
u32 field_C;
|
||||
u32 field_10;
|
||||
};
|
||||
|
||||
struct ContestResources
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
|
||||
#include "sprite.h"
|
||||
|
||||
extern u8 gDecompressionBuffer[0x4000];
|
||||
|
||||
void LZDecompressWram(const void *src, void *dest);
|
||||
void LZDecompressVram(const void *src, void *dest);
|
||||
|
||||
|
||||
@@ -42,11 +42,11 @@ extern u16 gSpecialVar_0x8008;
|
||||
extern u16 gSpecialVar_0x8009;
|
||||
extern u16 gSpecialVar_0x800A;
|
||||
extern u16 gSpecialVar_0x800B;
|
||||
extern u16 gScriptResult;
|
||||
extern u16 gScriptLastTalked;
|
||||
extern u16 gScriptFacing;
|
||||
extern u16 gSpecialVar_0x8012;
|
||||
extern u16 gSpecialVar_0x8013;
|
||||
extern u16 gSpecialVar_Result;
|
||||
extern u16 gSpecialVar_LastTalked;
|
||||
extern u16 gSpecialVar_Facing;
|
||||
extern u16 gSpecialVar_MonBoxId;
|
||||
extern u16 gSpecialVar_MonBoxPos;
|
||||
extern u16 gSpecialVar_0x8014;
|
||||
|
||||
#endif // GUARD_EVENT_DATA_H
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
|
||||
extern const u8 gUnknown_0823B4E8[];
|
||||
extern const u8 gUnknown_0823B5E9[];
|
||||
extern const u8 gUnknown_08275BB7[];
|
||||
extern const u8 gUnknown_08275D0C[];
|
||||
extern const u8 gUnknown_08275D1F[];
|
||||
extern const u8 gUnknown_08275D2E[];
|
||||
extern const u8 gUnknown_082766A2[];
|
||||
extern const u8 gUnknown_082766A6[];
|
||||
extern const u8 EventScript_275BB7[];
|
||||
extern const u8 EventScript_275D0C[];
|
||||
extern const u8 EventScript_275D1F[];
|
||||
extern const u8 EventScript_275D2E[];
|
||||
extern const u8 EventScript_2766A2[];
|
||||
extern const u8 EventScript_2766A6[];
|
||||
|
||||
extern const u8 gTVBravoTrainerText00[];
|
||||
extern const u8 gTVBravoTrainerText01[];
|
||||
@@ -362,14 +362,14 @@ extern const u8 gPokeNewsTextLilycove_Ending[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Upcoming[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Ongoing[];
|
||||
extern const u8 gPokeNewsTextBlendMaster_Ending[];
|
||||
extern const u8 gUnknown_08274966[];
|
||||
extern const u8 gUnknown_08274D13[];
|
||||
extern const u8 gUnknown_08274FFE[];
|
||||
extern const u8 gUnknown_08275367[];
|
||||
extern const u8 gUnknown_082756C7[];
|
||||
extern const u8 gUnknown_08274B24[];
|
||||
extern const u8 gUnknown_08274E75[];
|
||||
extern const u8 gUnknown_082751E1[];
|
||||
extern const u8 gUnknown_082754F6[];
|
||||
extern const u8 gUnknown_082758CC[];
|
||||
extern const u8 SecretBase_RedCave1_Text_274966[];
|
||||
extern const u8 SecretBase_RedCave1_Text_274D13[];
|
||||
extern const u8 SecretBase_RedCave1_Text_274FFE[];
|
||||
extern const u8 SecretBase_RedCave1_Text_275367[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2756C7[];
|
||||
extern const u8 SecretBase_RedCave1_Text_274B24[];
|
||||
extern const u8 SecretBase_RedCave1_Text_274E75[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2751E1[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2754F6[];
|
||||
extern const u8 SecretBase_RedCave1_Text_2758CC[];
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
134
include/flags.h
134
include/flags.h
@@ -1,29 +1,29 @@
|
||||
#ifndef GUARD_FLAGS_H
|
||||
#define GUARD_FLAGS_H
|
||||
|
||||
#define TRAINER_FLAG_START 0x500
|
||||
#define FLAG_TRAINER_FLAG_START 0x500
|
||||
#define TRAINERS_FLAG_NO 0x356
|
||||
#define CODE_FLAGS (TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
|
||||
#define CODE_FLAGS (FLAG_TRAINER_FLAG_START + TRAINERS_FLAG_NO + 0xA) // 0x860
|
||||
|
||||
// SYSTEM FLAGS
|
||||
|
||||
#define SYS_POKEMON_GET CODE_FLAGS + 0
|
||||
#define SYS_POKEDEX_GET CODE_FLAGS + 1
|
||||
#define SYS_POKENAV_GET CODE_FLAGS + 2
|
||||
#define FLAG_SYS_POKEMON_GET CODE_FLAGS + 0
|
||||
#define FLAG_SYS_POKEDEX_GET CODE_FLAGS + 1
|
||||
#define FLAG_SYS_POKENAV_GET CODE_FLAGS + 2
|
||||
// third one appears unused
|
||||
#define SYS_GAME_CLEAR CODE_FLAGS + 4
|
||||
#define SYS_CHAT_USED CODE_FLAGS + 5
|
||||
#define SYS_HIPSTER_MEET CODE_FLAGS + 6
|
||||
#define FLAG_SYS_GAME_CLEAR CODE_FLAGS + 4
|
||||
#define FLAG_SYS_CHAT_USED CODE_FLAGS + 5
|
||||
#define FLAG_SYS_HIPSTER_MEET CODE_FLAGS + 6
|
||||
|
||||
// badges
|
||||
#define BADGE01_GET CODE_FLAGS + 7
|
||||
#define BADGE02_GET CODE_FLAGS + 8
|
||||
#define BADGE03_GET CODE_FLAGS + 9
|
||||
#define BADGE04_GET CODE_FLAGS + 0xA
|
||||
#define BADGE05_GET CODE_FLAGS + 0xB
|
||||
#define BADGE06_GET CODE_FLAGS + 0xC
|
||||
#define BADGE07_GET CODE_FLAGS + 0xD
|
||||
#define BADGE08_GET CODE_FLAGS + 0xE
|
||||
#define FLAG_BADGE01_GET CODE_FLAGS + 7
|
||||
#define FLAG_BADGE02_GET CODE_FLAGS + 8
|
||||
#define FLAG_BADGE03_GET CODE_FLAGS + 9
|
||||
#define FLAG_BADGE04_GET CODE_FLAGS + 0xA
|
||||
#define FLAG_BADGE05_GET CODE_FLAGS + 0xB
|
||||
#define FLAG_BADGE06_GET CODE_FLAGS + 0xC
|
||||
#define FLAG_BADGE07_GET CODE_FLAGS + 0xD
|
||||
#define FLAG_BADGE08_GET CODE_FLAGS + 0xE
|
||||
|
||||
// cities and towns
|
||||
#define FLAG_VISITED_LITTLEROOT_TOWN CODE_FLAGS + 0xF
|
||||
@@ -43,69 +43,69 @@
|
||||
#define FLAG_VISITED_SOOTOPOLIS_CITY CODE_FLAGS + 0x1D
|
||||
#define FLAG_VISITED_EVER_GRANDE_CITY CODE_FLAGS + 0x1E
|
||||
|
||||
#define SYS_UNKNOWN_880 CODE_FLAGS + 0x20
|
||||
#define FLAG_SYS_UNKNOWN_880 CODE_FLAGS + 0x20
|
||||
|
||||
#define SYS_USE_FLASH CODE_FLAGS + 0x28
|
||||
#define SYS_USE_STRENGTH CODE_FLAGS + 0x29
|
||||
#define SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
|
||||
#define SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
|
||||
#define SYS_SAFARI_MODE CODE_FLAGS + 0x2C
|
||||
#define SYS_CRUISE_MODE CODE_FLAGS + 0x2D
|
||||
#define FLAG_SYS_USE_FLASH CODE_FLAGS + 0x28
|
||||
#define FLAG_SYS_USE_STRENGTH CODE_FLAGS + 0x29
|
||||
#define FLAG_SYS_WEATHER_CTRL CODE_FLAGS + 0x2A
|
||||
#define FLAG_SYS_CYCLING_ROAD CODE_FLAGS + 0x2B
|
||||
#define FLAG_SYS_SAFARI_MODE CODE_FLAGS + 0x2C
|
||||
#define FLAG_SYS_CRUISE_MODE CODE_FLAGS + 0x2D
|
||||
|
||||
#define SYS_TV_HOME CODE_FLAGS + 0x30
|
||||
#define SYS_TV_WATCH CODE_FLAGS + 0x31
|
||||
#define SYS_TV_START CODE_FLAGS + 0x32
|
||||
#define SYS_POPWORD_INPUT CODE_FLAGS + 0x33
|
||||
#define SYS_MIX_RECORD CODE_FLAGS + 0x34
|
||||
#define SYS_CLOCK_SET CODE_FLAGS + 0x35
|
||||
#define SYS_NATIONAL_DEX CODE_FLAGS + 0x36
|
||||
#define SYS_CAVE_SHIP CODE_FLAGS + 0x37
|
||||
#define SYS_CAVE_WONDER CODE_FLAGS + 0x38
|
||||
#define SYS_CAVE_BATTLE CODE_FLAGS + 0x39
|
||||
#define SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
|
||||
#define SYS_RIBBON_GET CODE_FLAGS + 0x3B
|
||||
#define FLAG_SYS_TV_HOME CODE_FLAGS + 0x30
|
||||
#define FLAG_SYS_TV_WATCH CODE_FLAGS + 0x31
|
||||
#define FLAG_SYS_TV_START CODE_FLAGS + 0x32
|
||||
#define FLAG_SYS_POPWORD_INPUT CODE_FLAGS + 0x33
|
||||
#define FLAG_SYS_MIX_RECORD CODE_FLAGS + 0x34
|
||||
#define FLAG_SYS_CLOCK_SET CODE_FLAGS + 0x35
|
||||
#define FLAG_SYS_NATIONAL_DEX CODE_FLAGS + 0x36
|
||||
#define FLAG_SYS_CAVE_SHIP CODE_FLAGS + 0x37
|
||||
#define FLAG_SYS_CAVE_WONDER CODE_FLAGS + 0x38
|
||||
#define FLAG_SYS_CAVE_BATTLE CODE_FLAGS + 0x39
|
||||
#define FLAG_SYS_SHOAL_TIDE CODE_FLAGS + 0x3A
|
||||
#define FLAG_SYS_RIBBON_GET CODE_FLAGS + 0x3B
|
||||
|
||||
#define FLAG_UNLOCK_BATTLE_FRONTIER CODE_FLAGS + 0x48
|
||||
#define FLAG_UNLOCK_SOUTHERN_ISLAND CODE_FLAGS + 0x49
|
||||
|
||||
#define SYS_PC_LANETTE CODE_FLAGS + 0x4B
|
||||
#define SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
|
||||
#define SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D
|
||||
#define SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E
|
||||
#define SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
|
||||
#define SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
|
||||
#define SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
|
||||
#define SYS_BRAILLE_FLY CODE_FLAGS + 0x52
|
||||
#define SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
|
||||
#define FLAG_SYS_PC_LANETTE CODE_FLAGS + 0x4B
|
||||
#define FLAG_SYS_MYSTERY_EVENT_ENABLE CODE_FLAGS + 0x4C
|
||||
#define FLAG_SYS_ENC_UP_ITEM CODE_FLAGS + 0x4D
|
||||
#define FLAG_SYS_ENC_DOWN_ITEM CODE_FLAGS + 0x4E
|
||||
#define FLAG_SYS_BRAILLE_DIG CODE_FLAGS + 0x4F
|
||||
#define FLAG_SYS_BRAILLE_STRENGTH CODE_FLAGS + 0x50
|
||||
#define FLAG_SYS_BRAILLE_WAIT CODE_FLAGS + 0x51
|
||||
#define FLAG_SYS_BRAILLE_FLY CODE_FLAGS + 0x52
|
||||
#define FLAG_SYS_HAS_EON_TICKET CODE_FLAGS + 0x53
|
||||
|
||||
#define SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
|
||||
#define FLAG_SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54
|
||||
|
||||
#define SYS_TV_LATI CODE_FLAGS + 0x5D
|
||||
#define FLAG_SYS_TV_LATI CODE_FLAGS + 0x5D
|
||||
|
||||
#define SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
|
||||
#define SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
|
||||
#define SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
|
||||
#define SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
|
||||
#define FLAG_SYS_SHOAL_ITEM CODE_FLAGS + 0x5F
|
||||
#define FLAG_SYS_B_DASH CODE_FLAGS + 0x60 // got Running Shoes
|
||||
#define FLAG_SYS_CTRL_OBJ_DELETE CODE_FLAGS + 0x61
|
||||
#define FLAG_SYS_RESET_RTC_ENABLE CODE_FLAGS + 0x62
|
||||
|
||||
#define SYS_TOWER_SILVER CODE_FLAGS + 0x64
|
||||
#define SYS_TOWER_GOLD CODE_FLAGS + 0x65
|
||||
#define SYS_DOME_SILVER CODE_FLAGS + 0x66
|
||||
#define SYS_DOME_GOLD CODE_FLAGS + 0x67
|
||||
#define SYS_PALACE_SILVER CODE_FLAGS + 0x68
|
||||
#define SYS_PALACE_GOLD CODE_FLAGS + 0x69
|
||||
#define SYS_ARENA_SILVER CODE_FLAGS + 0x6A
|
||||
#define SYS_ARENA_GOLD CODE_FLAGS + 0x6B
|
||||
#define SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
|
||||
#define SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
|
||||
#define SYS_PIKE_SILVER CODE_FLAGS + 0x6E
|
||||
#define SYS_PIKE_GOLD CODE_FLAGS + 0x6F
|
||||
#define SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
|
||||
#define SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
|
||||
#define SYS_FRONTIER_PASS CODE_FLAGS + 0x72
|
||||
#define FLAG_SYS_TOWER_SILVER CODE_FLAGS + 0x64
|
||||
#define FLAG_SYS_TOWER_GOLD CODE_FLAGS + 0x65
|
||||
#define FLAG_SYS_DOME_SILVER CODE_FLAGS + 0x66
|
||||
#define FLAG_SYS_DOME_GOLD CODE_FLAGS + 0x67
|
||||
#define FLAG_SYS_PALACE_SILVER CODE_FLAGS + 0x68
|
||||
#define FLAG_SYS_PALACE_GOLD CODE_FLAGS + 0x69
|
||||
#define FLAG_SYS_ARENA_SILVER CODE_FLAGS + 0x6A
|
||||
#define FLAG_SYS_ARENA_GOLD CODE_FLAGS + 0x6B
|
||||
#define FLAG_SYS_FACTORY_SILVER CODE_FLAGS + 0x6C
|
||||
#define FLAG_SYS_FACTORY_GOLD CODE_FLAGS + 0x6D
|
||||
#define FLAG_SYS_PIKE_SILVER CODE_FLAGS + 0x6E
|
||||
#define FLAG_SYS_PIKE_GOLD CODE_FLAGS + 0x6F
|
||||
#define FLAG_SYS_PYRAMID_SILVER CODE_FLAGS + 0x70
|
||||
#define FLAG_SYS_PYRAMID_GOLD CODE_FLAGS + 0x71
|
||||
#define FLAG_SYS_FRONTIER_PASS CODE_FLAGS + 0x72
|
||||
|
||||
#define SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
|
||||
#define FLAG_SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77
|
||||
|
||||
#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
|
||||
#define FLAG_SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B
|
||||
|
||||
// SPECIAL FLAGS (unknown purpose)
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#ifndef GUARD_HALL_OF_FAME_H
|
||||
#define GUARD_HALL_OF_FAME_H
|
||||
|
||||
void sub_8141F90(void);
|
||||
void sub_8143648(u16 paletteTag, u8 arg1);
|
||||
void sub_81428CC(void);
|
||||
void sub_8143680(int, u8);
|
||||
void CB2_DoHallOfFameScreen(void);
|
||||
void CB2_DoHallOfFameScreenDontSaveData(void);
|
||||
void CB2_DoHallOfFamePC(void);
|
||||
void sub_8175280(void);
|
||||
|
||||
#endif // GUARD_HALL_OF_FAME_H
|
||||
|
||||
@@ -12,7 +12,7 @@ s32 GetStringWidthDifference(s32 fontId, const u8 *str, s32 totalWidth, s32 lett
|
||||
s32 GetMaxWidthInMenuTable(const struct MenuAction *str, s32 arg1);
|
||||
s32 sub_81DB3D8(const struct MenuAction *str, u8* arg1, s32 arg2);
|
||||
// sub_81DB41C
|
||||
// sub_81DB468
|
||||
// CopyMonCategoryText
|
||||
// sub_81DB494
|
||||
// sub_81DB4DC
|
||||
// sub_81DB554
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
#define calloc(ct, sz) AllocZeroed((ct) * (sz))
|
||||
#define free Free
|
||||
|
||||
#define FREE_AND_SET_NULL(ptr) \
|
||||
{ \
|
||||
free(ptr); \
|
||||
ptr = NULL; \
|
||||
}
|
||||
|
||||
extern u8 gHeap[];
|
||||
void *Alloc(u32 size);
|
||||
void *AllocZeroed(u32 size);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define GUARD_POKEDEX_H
|
||||
|
||||
void ResetPokedex(void);
|
||||
const u8 *GetPokemonCategory(u16);
|
||||
void CopyMonCategoryText(u16 species, u8 *dst);
|
||||
u16 GetPokedexHeightWeight(u16 dexNum, u8 data);
|
||||
u16 GetNationalPokedexCount(u8);
|
||||
u16 GetHoennPokedexCount(u8);
|
||||
|
||||
@@ -612,8 +612,8 @@ u32 CanMonLearnTMHM(struct Pokemon *, u8);
|
||||
u32 CanSpeciesLearnTMHM(u16 species, u8 tm);
|
||||
u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves);
|
||||
void ClearBattleMonForms(void);
|
||||
const u8 *pokemon_get_pal(struct Pokemon *mon);
|
||||
const u8 *species_and_otid_get_pal(u16, u32, u32);
|
||||
const u8 *GetMonFrontSpritePal(struct Pokemon *mon);
|
||||
const u8 *GetFrontSpritePalFromSpeciesAndPersonality(u16, u32, u32);
|
||||
const struct CompressedSpritePalette *sub_80409C8(u16, u32, u32);
|
||||
bool8 IsOtherTrainer(u32, u8 *);
|
||||
void SetWildMonHeldItem(void);
|
||||
|
||||
7
include/starter_choose.h
Normal file
7
include/starter_choose.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_STARTER_CHOOSE_H
|
||||
#define GUARD_STARTER_CHOOSE_H
|
||||
|
||||
u16 GetStarterPokemon(u16 chosenStarterId);
|
||||
void CB2_ChooseStarter(void);
|
||||
|
||||
#endif // GUARD_STARTER_CHOOSE_H
|
||||
@@ -16,7 +16,7 @@ void sub_8098858(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void sub_80989E0(u8 windowId, u16 tileNum, u8 palNum);
|
||||
void rbox_fill_rectangle(u8 windowId);
|
||||
const u16* stdpal_get(u8 id);
|
||||
const u16* sub_8098C64(void);
|
||||
const u16* GetOverworldTextboxPalettePtr(void);
|
||||
void sub_8098C6C(u8 bg, u16 destOffset, u8 palOffset);
|
||||
|
||||
#endif // GUARD_TEXT_WINDOW_H
|
||||
|
||||
Reference in New Issue
Block a user