diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-15 09:01:56 -0500 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-11-15 09:01:56 -0500 |
commit | 89b695278d0a126279ac232d534aebdc351cc2be (patch) | |
tree | 2b22248f02a30a906187553274dee989c6ddb74e /include | |
parent | 79609d52c8d8489b490589a1150b0754c0f61568 (diff) | |
parent | 055a419830c0725a629f971b0299c89082c192fd (diff) |
Merge branch 'master' into heal_location
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 100 | ||||
-rw-r--r-- | include/battle_anim.h | 6 | ||||
-rw-r--r-- | include/battle_gfx_sfx_util.h | 50 | ||||
-rw-r--r-- | include/battle_interface.h | 9 | ||||
-rw-r--r-- | include/battle_script_commands.h | 2 | ||||
-rw-r--r-- | include/battle_util2.h | 10 | ||||
-rw-r--r-- | include/contest.h | 10 | ||||
-rw-r--r-- | include/decompress.h | 2 | ||||
-rw-r--r-- | include/event_data.h | 10 | ||||
-rwxr-xr-x | include/event_scripts.h | 32 | ||||
-rw-r--r-- | include/flags.h | 150 | ||||
-rw-r--r-- | include/hall_of_fame.h | 8 | ||||
-rw-r--r-- | include/international_string_util.h | 2 | ||||
-rw-r--r-- | include/malloc.h | 6 | ||||
-rw-r--r-- | include/pokedex.h | 2 | ||||
-rw-r--r-- | include/pokemon.h | 4 | ||||
-rw-r--r-- | include/starter_choose.h | 7 | ||||
-rw-r--r-- | include/text_window.h | 2 |
18 files changed, 249 insertions, 163 deletions
diff --git a/include/battle.h b/include/battle.h index ace2bb4ad..0939c92b6 100644 --- a/include/battle.h +++ b/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; diff --git a/include/battle_anim.h b/include/battle_anim.h index e912af6b1..c055e94fa 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -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 diff --git a/include/battle_gfx_sfx_util.h b/include/battle_gfx_sfx_util.h new file mode 100644 index 000000000..313a29811 --- /dev/null +++ b/include/battle_gfx_sfx_util.h @@ -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 diff --git a/include/battle_interface.h b/include/battle_interface.h index aad30f7b3..b2d3b1b97 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -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 diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index a466abc04..ebfeabccc 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -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 diff --git a/include/battle_util2.h b/include/battle_util2.h new file mode 100644 index 000000000..3954e42dc --- /dev/null +++ b/include/battle_util2.h @@ -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 diff --git a/include/contest.h b/include/contest.h index 7dcde7da2..d920117f3 100644 --- a/include/contest.h +++ b/include/contest.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 diff --git a/include/decompress.h b/include/decompress.h index c3a771893..36be803e0 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -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); diff --git a/include/event_data.h b/include/event_data.h index 0bd11fdcd..f0ab90ae4 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -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 diff --git a/include/event_scripts.h b/include/event_scripts.h index f85118e00..844f1052a 100755 --- a/include/event_scripts.h +++ b/include/event_scripts.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 diff --git a/include/flags.h b/include/flags.h index 474037a0e..ffe205c05 100644 --- a/include/flags.h +++ b/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 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 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_UNKNOWN_880 CODE_FLAGS + 0x20 + +#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 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 SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54 - -#define 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 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 SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77 - -#define SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B +#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 FLAG_SYS_POKEMON_LEAGUE_FLY CODE_FLAGS + 0x54 + +#define FLAG_SYS_TV_LATI CODE_FLAGS + 0x5D + +#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 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 FLAG_SYS_STORAGE_UNKNOWN_FLAG CODE_FLAGS + 0x77 + +#define FLAG_SYS_MYSTERY_GIFT_ENABLE CODE_FLAGS + 0x7B // SPECIAL FLAGS (unknown purpose) diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index 62e84c39e..d35ecf268 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -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 diff --git a/include/international_string_util.h b/include/international_string_util.h index 9d9735a52..e7876162e 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.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 diff --git a/include/malloc.h b/include/malloc.h index f3a731797..003ee1f03 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -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); diff --git a/include/pokedex.h b/include/pokedex.h index 79721899f..236feac45 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -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); diff --git a/include/pokemon.h b/include/pokemon.h index 0c7d6ac40..69b9e71d5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -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); diff --git a/include/starter_choose.h b/include/starter_choose.h new file mode 100644 index 000000000..61bc17735 --- /dev/null +++ b/include/starter_choose.h @@ -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 diff --git a/include/text_window.h b/include/text_window.h index 0cefeea8e..da3fb301e 100644 --- a/include/text_window.h +++ b/include/text_window.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 |