diff options
author | Swastik Baranwal <swstkbaranwal@gmail.com> | 2018-12-27 16:00:22 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-27 16:00:22 +0530 |
commit | 95c3652551aacf612a19336e17ce00a2ec1046d2 (patch) | |
tree | 882caaf9875700cccb73e391a7a014a782e579fa /include | |
parent | 2ed26ab8fcd4e302ab4aac6bb01dba7b5c985914 (diff) | |
parent | d5de7960a330953b3a7d7684122997c0d8aedcf1 (diff) |
Merge pull request #2 from pret/master
Taking files
Diffstat (limited to 'include')
156 files changed, 1348 insertions, 86 deletions
diff --git a/include/battle.h b/include/battle.h index ee707f78b..c86bc9232 100644 --- a/include/battle.h +++ b/include/battle.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_H #define GUARD_BATTLE_H +#include "global.h" + // should they be included here or included individually by every file? #include "constants/battle.h" #include "battle_util.h" @@ -602,7 +604,11 @@ struct BattleStruct u8 hpScale; u8 synchronizeMoveEffect; u8 field_B3; - void (*savedCallback)(void); + u8 field_B4; + u8 field_B5; + u8 field_B6; + u8 field_B7; + // void (*savedCallback)(void); u16 usedHeldItems[BATTLE_BANKS_COUNT]; u8 chosenItem[4]; // why is this an u8? u8 AI_itemType[2]; @@ -977,4 +983,6 @@ extern u8 gBattlersCount; extern u16 gBattlerPartyIndexes[MAX_BATTLERS_COUNT]; extern s32 gBattleMoveDamage; +extern u8 gUnknown_2023E8A; + #endif // GUARD_BATTLE_H diff --git a/include/battle_2.h b/include/battle_2.h index ee61efd9b..ca8b78805 100644 --- a/include/battle_2.h +++ b/include/battle_2.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_2_H #define GUARD_BATTLE_2_H +#include "global.h" + void CB2_InitBattle(void); void BattleMainCB2(void); void CB2_QuitRecordedBattle(void); diff --git a/include/battle_ai_script_commands.h b/include/battle_ai_script_commands.h index 5fb422b41..5f8c4419b 100644 --- a/include/battle_ai_script_commands.h +++ b/include/battle_ai_script_commands.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_AI_SCRIPT_COMMANDS_H #define GUARD_BATTLE_AI_SCRIPT_COMMANDS_H +#include "global.h" + void BattleAI_HandleItemUseBeforeAISetup(u8 defaultScoreMoves); void BattleAI_SetupAIData(u8 defaultScoreMoves); u8 BattleAI_ChooseMoveOrAction(void); diff --git a/include/battle_ai_switch_items.h b/include/battle_ai_switch_items.h index 0a230e7f6..d0461319d 100644 --- a/include/battle_ai_switch_items.h +++ b/include/battle_ai_switch_items.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_AI_SWITCH_ITEMS_H #define GUARD_BATTLE_AI_SWITCH_ITEMS_H +#include "global.h" + enum { AI_ITEM_FULL_RESTORE = 1, diff --git a/include/battle_anim.h b/include/battle_anim.h index 9fb7ccd53..4ea3bdead 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -1,6 +1,12 @@ #ifndef GUARD_BATTLE_ANIM_H #define GUARD_BATTLE_ANIM_H +#include "global.h" + +#ifndef BATTLE_BANKS_COUNT +#define BATTLE_BANKS_COUNT 4 +#endif // BATTLE_BANKS_COUNT + enum { ANIM_BANK_ATTACKER, diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 66984b453..df00c3526 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H +#include "global.h" + enum { REQUEST_ALL_BATTLE, diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h index a0696d156..94c9876f3 100644 --- a/include/battle_dome_cards.h +++ b/include/battle_dome_cards.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_DOME_CARDS_H #define GUARD_BATTLE_DOME_CARDS_H +#include "global.h" + bool16 dp13_810BB8C(void); u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag); @@ -9,5 +11,7 @@ u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 u16 sub_818D8F0(u16 spriteId); u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId); u8 sub_818D97C(u8 a0, u8 a1); +u8 sub_810C2A4(u16, u8, s16, s16, u8, u16); +void sub_810C2E8(u16); #endif //GUARD_BATTLE_DOME_CARDS_H diff --git a/include/battle_interface.h b/include/battle_interface.h index b2d3b1b97..27f93a3c2 100644 --- a/include/battle_interface.h +++ b/include/battle_interface.h @@ -1,6 +1,7 @@ #ifndef GUARD_BATTLE_INTERFACE_H #define GUARD_BATTLE_INTERFACE_H +#include "global.h" #include "battle_controllers.h" enum diff --git a/include/battle_message.h b/include/battle_message.h index 30ddca469..27ae88b01 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_MESSAGE_H #define GUARD_BATTLE_MESSAGE_H +#include "global.h" + // for 0xFD #define B_TXT_BUFF1 0x0 diff --git a/include/battle_script_commands.h b/include/battle_script_commands.h index 80fabaa64..d4cb75e91 100644 --- a/include/battle_script_commands.h +++ b/include/battle_script_commands.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SCRIPT_COMMANDS_H #define GUARD_BATTLE_SCRIPT_COMMANDS_H +#include "global.h" + #define NO_ACC_CALC 0xFFFE #define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF #define ACC_CURR_MOVE 0 diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 2e31a37c5..69edacae6 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SCRIPTS_H #define GUARD_BATTLE_SCRIPTS_H +#include "global.h" + extern const u8 BattleScript_HitFromCritCalc[]; extern const u8 BattleScript_MoveEnd[]; extern const u8 BattleScript_MakeMoveMissed[]; diff --git a/include/battle_setup.h b/include/battle_setup.h index 9b9ad2e15..2806295ca 100644 --- a/include/battle_setup.h +++ b/include/battle_setup.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_SETUP_H #define GUARD_BATTLE_SETUP_H +#include "global.h" + void BattleSetup_StartScriptedWildBattle(void); u8 BattleSetup_GetTerrainId(void); u8 *BattleSetup_ConfigureTrainerBattle(const u8 *data); diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h index f242284b0..a030a7b48 100644 --- a/include/battle_string_ids.h +++ b/include/battle_string_ids.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_STRING_IDS_H #define GUARD_BATTLE_STRING_IDS_H +#include "global.h" + #define BATTLESTRINGS_COUNT 369 #define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved diff --git a/include/battle_tower.h b/include/battle_tower.h index 25b439c1b..ec00d1f96 100644 --- a/include/battle_tower.h +++ b/include/battle_tower.h @@ -1,6 +1,10 @@ #ifndef GUARD_BATTLE_TOWER_H #define GUARD_BATTLE_TOWER_H +#include "global.h" + u16 sub_8164FCC(u8, u8); +void sub_80E7524(u32 *); +void ValidateEReaderTrainer(void); #endif //GUARD_BATTLE_TOWER_H diff --git a/include/battle_transition.h b/include/battle_transition.h index 1603f5c93..eba76fd61 100644 --- a/include/battle_transition.h +++ b/include/battle_transition.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_TRANSITION_H #define GUARD_BATTLE_TRANSITION_H +#include "global.h" + void sub_8149DFC(u8 a1); #endif // GUARD_BATTLE_TRANSITION_H diff --git a/include/battle_util.h b/include/battle_util.h index 25e26719b..ed070720d 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_UTIL_H #define GUARD_BATTLE_UTIL_H +#include "global.h" + #define MOVE_LIMITATION_ZEROMOVE (1 << 0) #define MOVE_LIMITATION_PP (1 << 1) #define MOVE_LIMITATION_DISABLED (1 << 2) diff --git a/include/battle_util2.h b/include/battle_util2.h index 3954e42dc..3b8a6f817 100644 --- a/include/battle_util2.h +++ b/include/battle_util2.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_UTIL2_H #define GUARD_BATTLE_UTIL2_H +#include "global.h" + void AllocateBattleResources(void); void FreeBattleResources(void); void AdjustFriendshipOnBattleFaint(u8 bank); diff --git a/include/berry.h b/include/berry.h index 425a664c9..40715868b 100644 --- a/include/berry.h +++ b/include/berry.h @@ -1,6 +1,8 @@ #ifndef GUARD_BERRY_H #define GUARD_BERRY_H +#include "global.h" + enum { BERRY_FIRMNESS_UNKNOWN, diff --git a/include/bg.h b/include/bg.h index 0700e2d23..003ffc916 100644 --- a/include/bg.h +++ b/include/bg.h @@ -1,6 +1,8 @@ #ifndef GUARD_BG_H #define GUARD_BG_H +#include "global.h" + struct BGCntrlBitfield // for the I/O registers { volatile u16 priority:2; @@ -75,9 +77,9 @@ void UnsetBgTilemapBuffer(u8 bg); void* GetBgTilemapBuffer(u8 bg); void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset); void CopyBgTilemapBufferToVram(u8 bg); -void CopyToBgTilemapBufferRect(u8 bg, void* src, u8 destX, u8 destY, u8 width, u8 height); -void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); -void CopyRectToBgTilemapBufferRect(u8 bg, void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); +void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height); +void CopyToBgTilemapBufferRect_ChangePalette(u8 bg, const void *src, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette); +void CopyRectToBgTilemapBufferRect(u8 bg, const void* src, u8 srcX, u8 srcY, u8 srcWidth, u8 srcHeight, u8 destX, u8 destY, u8 rectWidth, u8 rectHeight, u8 palette1, u16 tileOffset, u16 palette2); void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height); void FillBgTilemapBufferRect(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u8 height, u8 palette); void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 width, u8 height, u8 paletteSlot, s16 tileNumDelta); diff --git a/include/bike.h b/include/bike.h new file mode 100644 index 000000000..468c48273 --- /dev/null +++ b/include/bike.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BIKE_H +#define GUARD_BIKE_H + +void sub_80BD620(u32 unkC, u32 unk10); + +#endif //GUARD_BIKE_H diff --git a/include/blend_palette.h b/include/blend_palette.h index 1db3f4eb0..4ece15d69 100644 --- a/include/blend_palette.h +++ b/include/blend_palette.h @@ -1,6 +1,8 @@ #ifndef GUARD_BLEND_PALETTE_H #define GUARD_BLEND_PALETTE_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/calculate_base_damage.h b/include/calculate_base_damage.h index e9146c188..8079031e8 100644 --- a/include/calculate_base_damage.h +++ b/include/calculate_base_damage.h @@ -1,6 +1,8 @@ #ifndef GUARD_CALCULATE_BASE_DAMAGE_H #define GUARD_CALCULATE_BASE_DAMAGE_H +#include "global.h" + s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u16 sideStatus, u16 powerOverride, u8 typeOverride, u8 bankAtk, u8 bankDef); #endif // GUARD_CALCULATE_BASE_DAMAGE_H diff --git a/include/cereader_tool.h b/include/cereader_tool.h new file mode 100644 index 000000000..28ef526eb --- /dev/null +++ b/include/cereader_tool.h @@ -0,0 +1,9 @@ +#ifndef GUARD_CEREADER_TOOL_H +#define GUARD_CEREADER_TOOL_H + +#include "global.h" + +bool32 sub_815D794(u8 *); +u8 sub_815D6B4(u8 *); + +#endif //GUARD_CEREADER_TOOL_H diff --git a/include/coins.h b/include/coins.h index 996519605..83ad7d611 100644 --- a/include/coins.h +++ b/include/coins.h @@ -1,6 +1,8 @@ #ifndef GUARD_COINS_H #define GUARD_COINS_H +#include "global.h" + void PrintCoinsString(u32 coinAmount); void ShowCoinsWindow(u32 coinAmount, u8 x, u8 y); void HideCoinsWindow(void); diff --git a/include/config.h b/include/config.h index 756fd1ebd..f094c95bd 100644 --- a/include/config.h +++ b/include/config.h @@ -1,6 +1,8 @@ #ifndef GUARD_CONFIG_H #define GUARD_CONFIG_H +#include "global.h" + // In the Generation 3 games, Asserts were used in various debug builds. // Ruby/Sapphire and Emerald do not have these asserts while Fire Red // still has them in the ROM. This is because the developers forgot diff --git a/include/constants/items.h b/include/constants/items.h index dd2b4c4ed..64fed0e4c 100644 --- a/include/constants/items.h +++ b/include/constants/items.h @@ -393,4 +393,11 @@ // Check if the item is one that can be used on a Pokemon. #define IS_POKEMON_ITEM(item) ((item) >= ITEM_POTION && (item) <= ITEM_0B2) +// POCKETS +#define POCKET_ITEMS 1 +#define POCKET_KEY_ITEMS 2 +#define POCKET_POKE_BALLS 3 +#define POCKET_TM_CASE 4 +#define POCKET_BERRY_POUCH 5 + #endif // GUARD_CONSTANTS_ITEMS_H diff --git a/include/constants/vars.h b/include/constants/vars.h index 6dc8d0ccd..c9340a3b4 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -51,12 +51,12 @@ #define VAR_0x402D 0x402D #define VAR_0x402E 0x402E -#define VAR_FRONTIER_MANIAC_FACILITY 0x402F +#define VAR_0x402F 0x402F -#define VAR_FRONTIER_GAMBLER_FACILITY 0x4030 -#define VAR_FRONTIER_GAMBLER_SET_FACILITY_F 0x4031 -#define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 -#define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 +#define VAR_0x4030 0x4030 +#define VAR_0x4031 0x4031 +#define VAR_0x4032 0x4032 +#define VAR_ENIGMA_BERRY_AVAILABLE 0x4033 #define VAR_0x4034 0x4034 #define VAR_0x4035 0x4035 diff --git a/include/data2.h b/include/data2.h index be0f33ab8..e383b1c9a 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,6 +1,8 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H +#include "global.h" + struct MonCoords { // This would use a bitfield, but some function diff --git a/include/daycare.h b/include/daycare.h index 7db44e024..6544ba21a 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -1,6 +1,8 @@ #ifndef GUARD_DAYCARE_H #define GUARD_DAYCARE_H +#include "global.h" + #define EGG_HATCH_LEVEL 5 u8 *GetMonNick(struct Pokemon *mon, u8 *dest); diff --git a/include/decompress.h b/include/decompress.h index 34a678cda..36672dcfd 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -1,6 +1,8 @@ #ifndef GUARD_DECOMPRESS_H #define GUARD_DECOMPRESS_H +#include "global.h" + #include "sprite.h" extern u8 gDecompressionBuffer[0x4000]; @@ -30,4 +32,6 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src u32 sub_8034974(const u8 *ptr); +void sub_800F034(const struct CompressedSpriteSheet *src); + #endif // GUARD_DECOMPRESS_H diff --git a/include/diploma.h b/include/diploma.h index 8d730fa05..8477e70fc 100644 --- a/include/diploma.h +++ b/include/diploma.h @@ -1,6 +1,8 @@ #ifndef GUARD_DIPLOMA_H #define GUARD_DIPLOMA_H +#include "global.h" + void CB2_ShowDiploma(void); #endif // GUARD_DIPLOMA_H diff --git a/include/dma3.h b/include/dma3.h index 265b47824..fcd7bae43 100644 --- a/include/dma3.h +++ b/include/dma3.h @@ -1,6 +1,8 @@ #ifndef GUARD_DMA3_H #define GUARD_DMA3_H +#include "global.h" + void ClearDma3Requests(void); void ProcessDma3Requests(void); int RequestDma3Copy(const void *src, void *dest, u16 size, u8 mode); diff --git a/include/easy_chat.h b/include/easy_chat.h index f0ac51c22..bd5c9a026 100644 --- a/include/easy_chat.h +++ b/include/easy_chat.h @@ -1,6 +1,8 @@ #ifndef GUARD_EASYCHAT_H #define GUARD_EASYCHAT_H +#include "global.h" + // Taken from Pokeruby, check if it's correct enum { @@ -35,5 +37,7 @@ bool32 sub_811F8D8(u16 word); void InitializeEasyChatWordArray(u16 *words, u16 length); void ConvertEasyChatWordsToString(u8 *dest, const u16 *src, u16 length1, u16 length2); bool8 ECWord_CheckIfOutsideOfValidRange(u16 word); +void sub_80BDE28(void); +void EnableRareWord(u8); #endif // GUARD_EASYCHAT_H diff --git a/include/egg_hatch.h b/include/egg_hatch.h index 862d33947..9945284e1 100644 --- a/include/egg_hatch.h +++ b/include/egg_hatch.h @@ -1,6 +1,8 @@ #ifndef GUARD_EGG_HATCH_H #define GUARD_EGG_HATCH_H +#include "global.h" + void ScriptHatchMon(void); bool8 sub_8071614(void); void EggHatch(void); diff --git a/include/event_data.h b/include/event_data.h index f28ed4f75..13e388bf2 100644 --- a/include/event_data.h +++ b/include/event_data.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVENT_DATA_H #define GUARD_EVENT_DATA_H +#include "global.h" + #include "constants/flags.h" #include "constants/vars.h" @@ -29,8 +31,11 @@ u8 *GetFlagPointer(u16 id); u8 FlagSet(u16 id); u8 FlagClear(u16 id); bool8 FlagGet(u16 id); -u16 * sub_806E454(u16 id); +u16 * GetVarPointer(u16 id); bool32 sub_806E2BC(void); +void sub_806E6FC(void); +void sub_806E2D0(void); +void sub_806E370(void); extern u16 gSpecialVar_0x8000; extern u16 gSpecialVar_0x8001; @@ -51,6 +56,7 @@ extern u16 gSpecialVar_MonBoxId; extern u16 gSpecialVar_MonBoxPos; extern u16 gSpecialVar_0x8014; -extern u16 gUnknown_20370D0; +extern u16 gSpecialVar_Result; +extern u16 gSpecialVar_0x8004; #endif // GUARD_EVENT_DATA_H diff --git a/include/event_scripts.h b/include/event_scripts.h index 03329ba34..b909566d0 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -5,6 +5,8 @@ #ifndef GUARD_EVENT_SCRIPTS_H #define GUARD_EVENT_SCRIPTS_H +#include "global.h" + extern const u8 gUnknown_0823B4E8[]; extern const u8 gUnknown_0823B5E9[]; extern const u8 EventScript_275BB7[]; @@ -373,8 +375,334 @@ extern const u8 SecretBase_RedCave1_Text_2751E1[]; extern const u8 SecretBase_RedCave1_Text_2754F6[]; extern const u8 SecretBase_RedCave1_Text_2758CC[]; +extern const u8 gUnknown_84178D0[]; +extern const u8 gUnknown_84178DA[]; // vs_seeker extern const u8 gUnknown_81C137C[]; extern const u8 gUnknown_81C13D6[]; extern const u8 gUnknown_81C1429[]; + +// fame_checker + +extern const u8 gFameCheckerFlavorText_ProfOak0[]; +extern const u8 gFameCheckerFlavorText_ProfOak1[]; +extern const u8 gFameCheckerFlavorText_ProfOak2[]; +extern const u8 gFameCheckerFlavorText_ProfOak3[]; +extern const u8 gFameCheckerFlavorText_ProfOak4[]; +extern const u8 gFameCheckerFlavorText_ProfOak5[]; +extern const u8 gFameCheckerFlavorText_Daisy0[]; +extern const u8 gFameCheckerFlavorText_Daisy1[]; +extern const u8 gFameCheckerFlavorText_Daisy2[]; +extern const u8 gFameCheckerFlavorText_Daisy3[]; +extern const u8 gFameCheckerFlavorText_Daisy4[]; +extern const u8 gFameCheckerFlavorText_Daisy5[]; +extern const u8 gFameCheckerFlavorText_Brock0[]; +extern const u8 gFameCheckerFlavorText_Brock1[]; +extern const u8 gFameCheckerFlavorText_Brock2[]; +extern const u8 gFameCheckerFlavorText_Brock3[]; +extern const u8 gFameCheckerFlavorText_Brock4[]; +extern const u8 gFameCheckerFlavorText_Brock5[]; +extern const u8 gFameCheckerFlavorText_Misty0[]; +extern const u8 gFameCheckerFlavorText_Misty1[]; +extern const u8 gFameCheckerFlavorText_Misty2[]; +extern const u8 gFameCheckerFlavorText_Misty3[]; +extern const u8 gFameCheckerFlavorText_Misty4[]; +extern const u8 gFameCheckerFlavorText_Misty5[]; +extern const u8 gFameCheckerFlavorText_LtSurge0[]; +extern const u8 gFameCheckerFlavorText_LtSurge1[]; +extern const u8 gFameCheckerFlavorText_LtSurge2[]; +extern const u8 gFameCheckerFlavorText_LtSurge3[]; +extern const u8 gFameCheckerFlavorText_LtSurge4[]; +extern const u8 gFameCheckerFlavorText_LtSurge5[]; +extern const u8 gFameCheckerFlavorText_Erika0[]; +extern const u8 gFameCheckerFlavorText_Erika1[]; +extern const u8 gFameCheckerFlavorText_Erika2[]; +extern const u8 gFameCheckerFlavorText_Erika3[]; +extern const u8 gFameCheckerFlavorText_Erika4[]; +extern const u8 gFameCheckerFlavorText_Erika5[]; +extern const u8 gFameCheckerFlavorText_Koga0[]; +extern const u8 gFameCheckerFlavorText_Koga1[]; +extern const u8 gFameCheckerFlavorText_Koga2[]; +extern const u8 gFameCheckerFlavorText_Koga3[]; +extern const u8 gFameCheckerFlavorText_Koga4[]; +extern const u8 gFameCheckerFlavorText_Koga5[]; +extern const u8 gFameCheckerFlavorText_Sabrina0[]; +extern const u8 gFameCheckerFlavorText_Sabrina1[]; +extern const u8 gFameCheckerFlavorText_Sabrina2[]; +extern const u8 gFameCheckerFlavorText_Sabrina3[]; +extern const u8 gFameCheckerFlavorText_Sabrina4[]; +extern const u8 gFameCheckerFlavorText_Sabrina5[]; +extern const u8 gFameCheckerFlavorText_Blaine0[]; +extern const u8 gFameCheckerFlavorText_Blaine1[]; +extern const u8 gFameCheckerFlavorText_Blaine2[]; +extern const u8 gFameCheckerFlavorText_Blaine3[]; +extern const u8 gFameCheckerFlavorText_Blaine4[]; +extern const u8 gFameCheckerFlavorText_Blaine5[]; +extern const u8 gFameCheckerFlavorText_Lorelei0[]; +extern const u8 gFameCheckerFlavorText_Lorelei1[]; +extern const u8 gFameCheckerFlavorText_Lorelei2[]; +extern const u8 gFameCheckerFlavorText_Lorelei3[]; +extern const u8 gFameCheckerFlavorText_Lorelei4[]; +extern const u8 gFameCheckerFlavorText_Lorelei5[]; +extern const u8 gFameCheckerFlavorText_Bruno0[]; +extern const u8 gFameCheckerFlavorText_Bruno1[]; +extern const u8 gFameCheckerFlavorText_Bruno2[]; +extern const u8 gFameCheckerFlavorText_Bruno3[]; +extern const u8 gFameCheckerFlavorText_Bruno4[]; +extern const u8 gFameCheckerFlavorText_Bruno5[]; +extern const u8 gFameCheckerFlavorText_Agatha0[]; +extern const u8 gFameCheckerFlavorText_Agatha1[]; +extern const u8 gFameCheckerFlavorText_Agatha2[]; +extern const u8 gFameCheckerFlavorText_Agatha3[]; +extern const u8 gFameCheckerFlavorText_Agatha4[]; +extern const u8 gFameCheckerFlavorText_Agatha5[]; +extern const u8 gFameCheckerFlavorText_Lance0[]; +extern const u8 gFameCheckerFlavorText_Lance1[]; +extern const u8 gFameCheckerFlavorText_Lance2[]; +extern const u8 gFameCheckerFlavorText_Lance3[]; +extern const u8 gFameCheckerFlavorText_Lance4[]; +extern const u8 gFameCheckerFlavorText_Lance5[]; +extern const u8 gFameCheckerFlavorText_Bill0[]; +extern const u8 gFameCheckerFlavorText_Bill1[]; +extern const u8 gFameCheckerFlavorText_Bill2[]; +extern const u8 gFameCheckerFlavorText_Bill3[]; +extern const u8 gFameCheckerFlavorText_Bill4[]; +extern const u8 gFameCheckerFlavorText_Bill5[]; +extern const u8 gFameCheckerFlavorText_MrFuji0[]; +extern const u8 gFameCheckerFlavorText_MrFuji1[]; +extern const u8 gFameCheckerFlavorText_MrFuji2[]; +extern const u8 gFameCheckerFlavorText_MrFuji3[]; +extern const u8 gFameCheckerFlavorText_MrFuji4[]; +extern const u8 gFameCheckerFlavorText_MrFuji5[]; +extern const u8 gFameCheckerFlavorText_Giovanni0[]; +extern const u8 gFameCheckerFlavorText_Giovanni1[]; +extern const u8 gFameCheckerFlavorText_Giovanni2[]; +extern const u8 gFameCheckerFlavorText_Giovanni3[]; +extern const u8 gFameCheckerFlavorText_Giovanni4[]; +extern const u8 gFameCheckerFlavorText_Giovanni5[]; +extern const u8 gFameCheckerPersonName_ProfOak[]; +extern const u8 gFameCheckerPersonQuote_ProfOak[]; +extern const u8 gFameCheckerPersonName_Daisy[]; +extern const u8 gFameCheckerPersonQuote_Daisy[]; +extern const u8 gFameCheckerPersonName_Brock[]; +extern const u8 gFameCheckerPersonQuote_Brock[]; +extern const u8 gFameCheckerPersonName_Misty[]; +extern const u8 gFameCheckerPersonQuote_Misty[]; +extern const u8 gFameCheckerPersonName_LtSurge[]; +extern const u8 gFameCheckerPersonQuote_LtSurge[]; +extern const u8 gFameCheckerPersonName_Erika[]; +extern const u8 gFameCheckerPersonQuote_Erika[]; +extern const u8 gFameCheckerPersonName_Koga[]; +extern const u8 gFameCheckerPersonQuote_Koga[]; +extern const u8 gFameCheckerPersonName_Sabrina[]; +extern const u8 gFameCheckerPersonQuote_Sabrina[]; +extern const u8 gFameCheckerPersonName_Blaine[]; +extern const u8 gFameCheckerPersonQuote_Blaine[]; +extern const u8 gFameCheckerPersonName_Lorelei[]; +extern const u8 gFameCheckerPersonQuote_Lorelei[]; +extern const u8 gFameCheckerPersonName_Bruno[]; +extern const u8 gFameCheckerPersonQuote_Bruno[]; +extern const u8 gFameCheckerPersonName_Agatha[]; +extern const u8 gFameCheckerPersonQuote_Agatha[]; +extern const u8 gFameCheckerPersonName_Lance[]; +extern const u8 gFameCheckerPersonQuote_Lance[]; +extern const u8 gFameCheckerPersonName_Bill[]; +extern const u8 gFameCheckerPersonQuote_Bill[]; +extern const u8 gFameCheckerPersonName_MrFuji[]; +extern const u8 gFameCheckerPersonQuote_MrFuji[]; +extern const u8 gFameCheckerPersonName_Giovanni[]; +extern const u8 gFameCheckerPersonQuote_Giovanni[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_ProfOak5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Daisy5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Brock5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Misty5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_LtSurge5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Erika5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Koga5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Sabrina5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Blaine5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lorelei5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bruno5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Agatha5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Lance5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Bill5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_MrFuji5[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni0[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni1[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni2[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni3[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni4[]; +extern const u8 gFameCheckerFlavorTextOriginLocation_Giovanni5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_ProfOak5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Daisy5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Brock5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Misty5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_LtSurge5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Erika5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Koga5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Sabrina5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Blaine5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lorelei5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bruno5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Agatha5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Lance5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Bill5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_MrFuji5[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni0[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni1[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni2[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni3[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni4[]; +extern const u8 gFameCheckerFlavorTextOriginObjectName_Giovanni5[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/evolution_graphics.h b/include/evolution_graphics.h index f52105815..21f133872 100644 --- a/include/evolution_graphics.h +++ b/include/evolution_graphics.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVOLUTION_GRAPHICS_H #define GUARD_EVOLUTION_GRAPHICS_H +#include "global.h" + void LoadEvoSparkleSpriteAndPal(void); u8 LaunchTask_PreEvoSparklesSet1(u16 arg0); diff --git a/include/evolution_scene.h b/include/evolution_scene.h index 5f8c534b9..1d87ceb76 100644 --- a/include/evolution_scene.h +++ b/include/evolution_scene.h @@ -1,6 +1,8 @@ #ifndef GUARD_EVOLUTION_SCENE_H #define GUARD_EVOLUTION_SCENE_H +#include "global.h" + void BeginEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); void EvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, bool8 canStopEvo, u8 partyID); void TradeEvolutionScene(struct Pokemon* mon, u16 speciesToEvolve, u8 preEvoSpriteID, u8 partyID); diff --git a/include/fame_checker.h b/include/fame_checker.h new file mode 100644 index 000000000..257431d8b --- /dev/null +++ b/include/fame_checker.h @@ -0,0 +1,48 @@ +#ifndef GUARD_FAME_CHECKER_H +#define GUARD_FAME_CHECKER_H + +#include "main.h" + +enum { + FAMECHECKER_OAK, + FAMECHECKER_DAISY, + FAMECHECKER_BROCK, + FAMECHECKER_MISTY, + FAMECHECKER_LTSURGE, + FAMECHECKER_ERIKA, + FAMECHECKER_KOGA, + FAMECHECKER_SABRINA, + FAMECHECKER_BLAINE, + FAMECHECKER_LORELEI, + FAMECHECKER_BRUNO, + FAMECHECKER_AGATHA, + FAMECHECKER_LANCE, + FAMECHECKER_BILL, + FAMECHECKER_MRFUJI, + FAMECHECKER_GIOVANNI, + NUM_FAMECHECKER_PERSONS +}; + +enum { + FCPICKSTATE_NO_DRAW, + FCPICKSTATE_SILHOUETTE, + FCPICKSTATE_COLORED +}; + +enum { + FCWINDOWID_LIST, + FCWINDOWID_UIHELP, + FCWINDOWID_MSGBOX, + FCWINDOWID_ICONDESC +}; + +extern struct ListMenuTemplate gFameChecker_ListMenuTemplate; +extern u8 gIconDescriptionBoxIsOpen; + +void ResetFameChecker(void); +void FullyUnlockFameChecker(void); +void UseFameChecker(MainCallback savedCallback); +void SetFlavorTextFlagFromSpecialVars(void); +void UpdatePickStateFromSpecialVar8005(void); + +#endif //GUARD_FAME_CHECKER_H diff --git a/include/field_camera.h b/include/field_camera.h index a8559e1c2..53d734081 100644 --- a/include/field_camera.h +++ b/include/field_camera.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_CAMERA_H #define GUARD_FIELD_CAMERA_H +#include "global.h" + // Exported type declarations struct CameraObject diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h new file mode 100644 index 000000000..0a33138b3 --- /dev/null +++ b/include/field_control_avatar.h @@ -0,0 +1,8 @@ +#ifndef GUARD_FIELD_CONTROL_AVATAR_H +#define GUARD_FIELD_CONTROL_AVATAR_H + +#include "global.h" + +extern u32 gUnknown_3005078; + +#endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/field_door.h b/include/field_door.h index f1dfc551d..0059cbe1a 100644 --- a/include/field_door.h +++ b/include/field_door.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDDOOR_H #define GUARD_FIELDDOOR_H +#include "global.h" + void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); s8 FieldAnimateDoorClose(u32, u32); diff --git a/include/field_effect.h b/include/field_effect.h index 9404e3959..bb5e0f1d5 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_EFFECTS_H #define GUARD_FIELD_EFFECTS_H +#include "global.h" + enum FieldEffectScriptIdx { FLDEFF_EXCLAMATION_MARK_ICON_1, diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index e80daf3bd..5cd29fc5b 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -5,6 +5,8 @@ #ifndef GUARD_FIELD_EFFECT_HELPERS_H #define GUARD_FIELD_EFFECT_HELPERS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations @@ -12,5 +14,6 @@ // Exported ROM declarations u8 sub_8154228(void); bool8 sub_8155DA0(struct MapObject *); +void sub_80DC44C(u8, u8); #endif //GUARD_FIELD_EFFECT_HELPERS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 7c2d16a24..051865210 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_FADETRANSITION_H #define GUARD_FIELD_FADETRANSITION_H +#include "global.h" + void sub_80AF734(void); void sp13E_warp_to_last_warp(void); void sub_80AF7D0(void); @@ -8,5 +10,7 @@ void sp13F_fall_to_last_warp(void); void sub_80AF848(void); void sub_80AF87C(void); +void sub_807DF64(void); +void sub_807DF7C(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_ground_effect.h b/include/field_ground_effect.h index 63b67ceaf..49448db6a 100644 --- a/include/field_ground_effect.h +++ b/include/field_ground_effect.h @@ -5,6 +5,8 @@ #ifndef GUARD_FIELD_GROUND_EFFECT_H #define GUARD_FIELD_GROUND_EFFECT_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_map_obj.h b/include/field_map_obj.h index 304dcb825..d2ec58979 100644 --- a/include/field_map_obj.h +++ b/include/field_map_obj.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_MAP_OBJ_H #define GUARD_FIELD_MAP_OBJ_H +#include "global.h" + #define NUM_OBJECT_GRAPHICS_INFO 239 #define SPRITE_VAR 240 @@ -76,9 +78,16 @@ void MoveCoords(u8, s16 *, s16 *); bool8 FieldObjectIsSpecialAnimActive(struct MapObject *); u8 FieldObjectClearAnimIfSpecialAnimFinished(struct MapObject *); u8 GetFieldObjectIdByXYZ(u16 x, u16 y, u8 z); +void sub_8063E28(struct MapObject *, struct Sprite *); +void sub_8063CA4(struct MapObject *, u8); void npc_coords_shift_still(struct MapObject *); void sub_805FE7C(struct MapObject *, u8); void npc_set_running_behaviour_etc(struct MapObject *, u8); +u8 sub_80634F0(u8 direction); +u8 sub_8063500(u8 a0); +void sub_805F060(struct MapObject *mapObject, u8 a1); +u8 sub_805EB44(u8, u8, s16, s16); +void npc_paltag_set_load(u8 mode); // Exported data declarations diff --git a/include/field_map_obj_helpers.h b/include/field_map_obj_helpers.h index ba797ec98..2d3f69d95 100644 --- a/include/field_map_obj_helpers.h +++ b/include/field_map_obj_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDMAPOBJHELP_H #define GUARD_FIELDMAPOBJHELP_H +#include "global.h" + void UnfreezeMapObjects(void); void sub_8097B78(u8, u8); diff --git a/include/field_message_box.h b/include/field_message_box.h index 432c9078b..5777921b7 100644 --- a/include/field_message_box.h +++ b/include/field_message_box.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_MESSAGE_BOX_H #define GUARD_FIELD_MESSAGE_BOX_H +#include "global.h" + bool8 ShowFieldMessage(const u8 *message); bool8 sub_8098238(const u8 *message); bool8 ShowFieldAutoScrollMessage(const u8 *message); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index 25b7f2d71..297d66441 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_PLAYER_AVATAR_H #define GUARD_FIELD_PLAYER_AVATAR_H +#include "global.h" + void ClearPlayerAvatarInfo(void); void SetPlayerAvatarExtraStateTransition(u8, u8); u8 GetPlayerAvatarGenderByGraphicsId(u8); @@ -11,6 +13,12 @@ u8 player_get_direction_upper_nybble(void); u8 player_get_x22(void); void sub_808D074(u8); +void sub_805C270(); +void sub_805C780(); void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr); +u8 sub_805C808(u8); +void SetPlayerAvatarStateMask(u8 mask); +void sub_805D9C4(struct Sprite *sprite); +void sub_805D154(u8 direction); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_poison.h b/include/field_poison.h index d1a4c823b..fcfb71cf5 100644 --- a/include/field_poison.h +++ b/include/field_poison.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_POISON_H #define GUARD_FIELD_POISON_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_screen.h b/include/field_screen.h index cfc0d081f..a11aa0041 100644 --- a/include/field_screen.h +++ b/include/field_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SCREEN_H #define GUARD_FIELD_SCREEN_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index ef81c2f9e..add61d57c 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SCREEN_EFFECT_H #define GUARD_FIELD_SCREEN_EFFECT_H +#include "global.h" + void sub_80AF79C(void); void sub_80B009C(u8); void sub_80B0244(void); diff --git a/include/field_specials.h b/include/field_specials.h index 8c0e69c2c..2b7991b55 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_SPECIALS_H #define GUARD_FIELD_SPECIALS_H +#include "global.h" + u8 GetLeadMonIndex(void); void TV_PrintIntToStringVar(u8, int); diff --git a/include/field_tasks.h b/include/field_tasks.h index 2a2a772d8..aba2a9eee 100644 --- a/include/field_tasks.h +++ b/include/field_tasks.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELD_TASKS_H #define GUARD_FIELD_TASKS_H +#include "global.h" + void ActivatePerStepCallback(u8); #endif // GUARD_FIELD_TASKS_H diff --git a/include/field_weather.h b/include/field_weather.h index e12107e70..b896259e9 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -1,6 +1,8 @@ #ifndef GUARD_WEATHER_H #define GUARD_WEATHER_H +#include "global.h" + void fade_screen(u8, s8); void SetSav1Weather(u32); @@ -8,5 +10,6 @@ u8 GetSav1Weather(void); void sub_80AEDBC(void); void DoCurrentWeather(void); +void sub_807B0C4(u16 *, u16 *, u32); #endif // GUARD_WEATHER_H diff --git a/include/fieldmap.h b/include/fieldmap.h index 06cb7cc77..c5abdb2e1 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -1,6 +1,8 @@ #ifndef GUARD_FIELDMAP_H #define GUARD_FIELDMAP_H +#include "global.h" + extern struct MapCoords { int width; int height; diff --git a/include/fldeff_80F9BCC.h b/include/fldeff_80F9BCC.h index d57665c68..3960c6c65 100644 --- a/include/fldeff_80F9BCC.h +++ b/include/fldeff_80F9BCC.h @@ -1,6 +1,8 @@ #ifndef GUARD_FLDEFF_80F9BCC_H #define GUARD_FLDEFF_80F9BCC_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/gba/gba.h b/include/gba/gba.h index 7e58efb9f..4b5f2de95 100644 --- a/include/gba/gba.h +++ b/include/gba/gba.h @@ -1,6 +1,7 @@ #ifndef GUARD_GBA_GBA_H #define GUARD_GBA_GBA_H +#include <string.h> #include "defines.h" #include "io_reg.h" #include "types.h" diff --git a/include/gba/macro.h b/include/gba/macro.h index 462d3589d..c0a4e481b 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -125,6 +125,9 @@ #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) +#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16) +#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32) + #define DmaCopyDefvars(dmaNum, src, dest, size, bit) \ { \ const void *_src = src; \ diff --git a/include/global.berry.h b/include/global.berry.h index 5c8a43a02..148bbc957 100644 --- a/include/global.berry.h +++ b/include/global.berry.h @@ -1,6 +1,7 @@ #ifndef GUARD_GLOBAL_BERRY_H #define GUARD_GLOBAL_BERRY_H +#define BERRY_NAME_LENGTH 6 #define BERRY_NAME_COUNT 7 #define BERRY_ITEM_EFFECT_COUNT 18 diff --git a/include/global.h b/include/global.h index b05c87d88..c47bd2d15 100644 --- a/include/global.h +++ b/include/global.h @@ -3,6 +3,7 @@ #include "config.h" #include "gba/gba.h" +#include <string.h> // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -12,13 +13,23 @@ #define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided") #if defined (__APPLE__) || defined (__CYGWIN__) -void *memset(void *, int, size_t); -void *memcpy(void *, const void *, size_t); -int strcmp(const char *s1, const char *s2); -char* strcpy(char *dst0, const char *src0); +// Get the IDE to stfu + +// We define it this way to fool preproc. +#define INCBIN(x) {0} +#define INCBIN_U8 INCBIN +#define INCBIN_U16 INCBIN +#define INCBIN_U32 INCBIN +#define INCBIN_S8 INCBIN +#define INCBIN_S16 INCBIN +#define INCBIN_S32 INCBIN +#define _(x) (x) +#define __(x) (x) #endif // __APPLE__ #define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0])) +// GF's lingo +#define NELEMS ARRAY_COUNT // useful math macros @@ -53,6 +64,15 @@ char* strcpy(char *dst0, const char *src0); #define T2_READ_32(ptr) ((ptr)[0] + ((ptr)[1] << 8) + ((ptr)[2] << 16) + ((ptr)[3] << 24)) #define T2_READ_PTR(ptr) (void*) T2_READ_32(ptr) +// This macro is required to prevent the compiler from optimizing +// a dpad up/down check in sub_812CAD8 (fame_checker.c). +// We suspect it was used globally. +// GameFreak never ceases to amaze. +// TODO: Propagate use of this macro +#define TEST_BUTTON(field, button) ({(field) & (button);}) +#define JOY_NEW(button) TEST_BUTTON(gMain.newKeys, button) +#define JOY_HELD(button) TEST_BUTTON(gMain.heldKeys, button) + extern u8 gStringVar1[]; extern u8 gStringVar2[]; extern u8 gStringVar3[]; @@ -79,6 +99,7 @@ enum LanguageId { #define GAME_LANGUAGE (LANGUAGE_ENGLISH) +#define PC_ITEMS_COUNT 30 #define BAG_ITEMS_COUNT 42 #define BAG_KEYITEMS_COUNT 30 #define BAG_POKEBALLS_COUNT 13 @@ -146,6 +167,8 @@ struct Time /*0x04*/ s8 seconds; }; +#define DEX_FLAGS_NO ((POKEMON_SLOTS_NUMBER / 8) + ((POKEMON_SLOTS_NUMBER % 8) ? 1 : 0)) + struct Pokedex { /*0x00*/ u8 order; @@ -155,8 +178,8 @@ struct Pokedex /*0x04*/ u32 unownPersonality; // set when you first see Unown /*0x08*/ u32 spindaPersonality; // set when you first see Spinda /*0x0C*/ u32 unknown3; - /*0x10*/ u8 owned[52]; - /*0x44*/ u8 seen[52]; + /*0x10*/ u8 owned[DEX_FLAGS_NO]; + /*0x44*/ u8 seen[DEX_FLAGS_NO]; }; struct PokemonJumpResults // possibly used in the game itself? @@ -201,6 +224,23 @@ struct BerryCrush #define PLAYER_NAME_LENGTH 8 +#define LINK_B_RECORDS_COUNT 5 + +struct LinkBattleRecord +{ + u8 name[PLAYER_NAME_LENGTH]; + u16 trainerId; + u16 wins; + u16 losses; + u16 draws; +}; + +struct LinkBattleRecords +{ + struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT]; + u8 languages[LINK_B_RECORDS_COUNT]; +}; + struct UnknownSaveBlock2Struct { u8 field_0; @@ -221,6 +261,21 @@ struct UnknownSaveBlock2Struct u8 field_EB; }; // sizeof = 0xEC +struct UnkSaveBlock2Substruct_55C +{ + /* 0x000:0x55C */ u8 unk_00_0:1; + u8 unk_00_1:1; + /* 0x001:0x55D */ u8 unk_01; + /* 0x002:0x55E */ u8 unk_02[2]; + /* 0x004:0x560 */ u16 unk_04[2]; + /* 0x008:0x564 */ u16 unk_08[2]; + /* 0x00C:0x568 */ u16 unk_0C[2]; + /* 0x010:0x56C */ u8 unk_10; + /* 0x011:0x56D */ u8 unk_11[3]; + /* 0x014:0x570 */ u16 unk_14; + /* 0x016:0x572 */ u8 unk_16; +}; // size: 0x018 + struct SaveBlock2 { /*0x000*/ u8 playerName[PLAYER_NAME_LENGTH]; @@ -243,7 +298,13 @@ struct SaveBlock2 /*0x098*/ struct Time localTimeOffset; /*0x0A0*/ struct Time lastBerryTreeUpdate; /*0x0A8*/ u32 field_A8; - /*0x0AC*/ u8 filler_AC[0xE74]; + /*0x0AC*/ u8 filler_AC[0x3F4]; + /*0x4A0*/ u32 unk_4A0[0x2F]; + /*0x55c*/ struct UnkSaveBlock2Substruct_55C unk_55C; + /*0x574*/ u8 filler_574[0x524]; + /*0xA98*/ struct LinkBattleRecords linkBattleRecords; + /*0xAF0*/ struct BerryCrush berryCrush; + /*0xB00*/ u8 filler_B00[0x420]; /*0xF20*/ u32 encryptionKey; }; @@ -411,15 +472,6 @@ struct RecordMixing_UnknownStruct u16 unk74[0x2]; }; -struct LinkBattleRecord -{ - u8 name[8]; - u16 trainerId; - u16 wins; - u16 losses; - u16 draws; -}; - struct RecordMixingGiftData { u8 unk0; @@ -466,8 +518,8 @@ struct DaycareMon struct DayCare { struct DaycareMon mons[DAYCARE_MON_COUNT]; - u32 offspringPersonality; - u8 stepCounter; + u16 unk_118; + u8 unk_11A; }; struct DayCareMail @@ -491,12 +543,145 @@ struct MysteryEventStruct u8 unk_1; }; +struct QuestLogNPCData +{ + u32 x:8; + u32 negx:1; + u32 y:8; + u32 negy:1; + u32 elevation:6; + u32 movementType:8; +}; + +struct UnkStruct_203B024 +{ + u16 unk_00; + u16 unk_02; + u16 unk_04[14]; +}; + +union QuestLogScene +{ + u8 allocation[32]; + u16 ident; +}; + +typedef union QuestLogScene QuestLogScene; + +// This name is a complete guess and may change. + +// Declare here so that it can be recursively referenced. +union QuestLogMovement; + +// Define here +union QuestLogMovement +{ + u16 ident_raw; + struct { + u16 ident:12; + u16 flags:4; + } ident_struct; +}; + +struct QuestLog +{ + /*0x0000*/ u8 unk_000; + /*0x0001*/ s8 unk_001; + /*0x0002*/ s8 unk_002; + /*0x0003*/ s8 unk_003; + /*0x0004*/ s16 unk_004; + /*0x0006*/ s16 unk_006; + /*0x0008*/ u8 filler_008[0x140]; + + // These arrays hold the game state for + // playing back the quest log + /*0x0148*/ u8 flags[0x120]; + /*0x02c8*/ u16 vars[0x100]; + /*0x0468*/ struct QuestLogNPCData npcData[64]; + /*0x0568*/ u16 unk_568[128]; + /*0x0668*/ u16 end[0]; +}; + +#include "fame_checker.h" + +struct FameCheckerSaveData +{ + /*3a54*/ u16 pickState:2; + u16 flavorTextFlags:12; + u16 unk_0_E:2; +}; + #define MAP_OBJECTS_COUNT 16 #define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 +#define FLAGS_COUNT 288 // 300 #define VARS_COUNT 256 #define MAIL_COUNT 16 +#define NUM_EASY_CHAT_EXTRA_PHRASES 33 +#define EASY_CHAT_EXTRA_PHRASES_SIZE ((NUM_EASY_CHAT_EXTRA_PHRASES >> 3) + (NUM_EASY_CHAT_EXTRA_PHRASES % 8 ? 1 : 0)) + +struct MEventBuffer_3120_Sub +{ + u16 unk_00; + u8 unk_02; + u8 unk_03; + u8 unk_04[40]; + u8 unk_2C[10][40]; +}; + +struct MEventBuffer_3120 +{ + u32 crc; + struct MEventBuffer_3120_Sub data; +}; + +struct MEventBuffer_32E0_Sub +{ + u16 unk_00; + u16 unk_02; + u32 unk_04; + u8 unk_08_0:2; + u8 unk_08_2:4; + u8 unk_08_6:2; + u8 unk_09; + u8 unk_0A[40]; + u8 unk_32[40]; + u8 unk_5A[4][40]; + u8 unk_FA[40]; + u8 unk_122[40]; +}; + +struct MEventBuffer_32E0 +{ + u32 crc; + struct MEventBuffer_32E0_Sub data; +}; + +struct MEventBuffer_3430_Sub +{ + u16 unk_00; + u16 unk_02; + u16 unk_04; + u16 unk_06; + u16 unk_08[2][7]; +}; + +struct MEventBuffer_3430 +{ + u32 crc; + struct MEventBuffer_3430_Sub data; +}; + +struct MEventBuffers +{ + /*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000; + /*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0; + /*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310; + /*0x338 0x3458*/ u16 unk_338[4]; + /*0x340 0x3460*/ struct MysteryEventStruct unk_340; + /*0x344 0x3464*/ u32 unk_344[2][5]; +}; // 0x36C 0x348C + struct SaveBlock1 { /*0x0000*/ struct Coords16 pos; @@ -505,34 +690,54 @@ struct SaveBlock1 /*0x0014*/ struct WarpData warp2; /*0x001C*/ struct WarpData lastHealLocation; /*0x0024*/ struct WarpData warp4; - /*0x002C*/ u8 filler2C[0x8]; + /*0x002C*/ u16 savedMusic; + /*0x002E*/ u8 weather; + /*0x002F*/ u8 filler_2F; + /*0x0030*/ u8 flashLevel; + /*0x0032*/ u16 mapDataId; /*0x0034*/ u8 playerPartyCount; /*0x0038*/ struct Pokemon playerParty[PARTY_SIZE]; /*0x0290*/ u32 money; /*0x0294*/ u16 coins; - /*0x0296*/ u8 filler296[0x7A]; + /*0x0296*/ u16 registeredItem; // registered for use with SELECT button + /*0x0298*/ struct ItemSlot pcItems[PC_ITEMS_COUNT]; /*0x0310*/ struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; - struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; - struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; - struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; - struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; - u8 filler5F8[0x40]; + /*0x03b8*/ struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + /*0x0430*/ struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; + /*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT]; + /*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT]; + /*0x05F8*/ u8 seen1[DEX_FLAGS_NO]; + /*0x062C*/ u16 berryBlenderRecords[3]; // unused + /*0x0632*/ u8 field_632[6]; // unused? /*0x0638*/ u8 trainerRematchStepCounter; - u8 filler_639; - /*0x063a*/ u8 trainerRematches[100]; + /*0x063A*/ u8 ALIGNED(2) trainerRematches[100]; /*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT]; /*0x08E0*/ struct MapObjectTemplate mapObjectTemplates[64]; - /*0x0EE0*/ u8 fillerEE0[0x1DF0]; + /*0x0EE0*/ u8 flags[FLAGS_COUNT]; + /*0x1000*/ u16 vars[VARS_COUNT]; + /*0x1200*/ u32 gameStats[NUM_GAME_STATS]; + /*0x1300*/ struct QuestLog questLog[4]; + /*0x2CA0*/ u16 unk2CA0[6]; + /*0x2CAC*/ u16 unk2CAC[6]; + /*0x2CB8*/ u16 unk2CB8[6]; + /*0x2CC4*/ u16 unk2CC4[6]; /*0x2CD0*/ struct MailStruct mail[MAIL_COUNT]; - u8 filler2F10[0x1DA]; - /*0x30EA*/ struct EnigmaBerry enigmaBerry; - /*0x3120*/ u8 filler3120[0x340]; - /*0x3460*/ struct MysteryEventStruct unk_3460; - /*0x3464*/ u8 filler_3464[0x1b8]; + /*0x2F10*/ u8 additionalPhrases[EASY_CHAT_EXTRA_PHRASES_SIZE]; + /*0x2F18*/ OldMan oldMan; // unused + /*0x2F54*/ struct EasyChatPair easyChatPairs[5]; // unused + /*0x2F80*/ struct DayCare daycare; + /*0x309C*/ u8 giftRibbons[52]; + /*0x30D0*/ struct Roamer roamer; + /*0x30EC*/ struct EnigmaBerry enigmaBerry; + /*0x3120*/ struct MEventBuffers unk_3120; + /*0x348C*/ u8 filler_348C[400]; /*0x361C*/ struct RamScript ramScript; - /*0x3A08*/ u8 filler3A08[0x44]; + /*0x3A08*/ u8 filler3A08[12]; + /*0x3A14*/ u8 seen2[DEX_FLAGS_NO]; + /*0x3A48*/ u8 filler_3a48[4]; /*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH]; - /*0x3A54*/ u8 filler3A54[0x2E4]; + /*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS]; + /*0x3A94*/ u8 filler3A94[0x2A4]; u32 unkArray[4][3]; }; diff --git a/include/gpu_regs.h b/include/gpu_regs.h index 89e0cb64b..3930f6809 100644 --- a/include/gpu_regs.h +++ b/include/gpu_regs.h @@ -1,6 +1,8 @@ #ifndef GUARD_GPU_REGS_H #define GUARD_GPU_REGS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/graphics.h b/include/graphics.h index aad5c0190..d249ece10 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -5,6 +5,8 @@ #ifndef GUARD_GRAPHICS_H #define GUARD_GRAPHICS_H +#include "global.h" + extern const u8 gInterfaceGfx_PokeBall[]; extern const u8 gInterfacePal_PokeBall[]; extern const u8 gInterfaceGfx_GreatBall[]; @@ -141,4 +143,11 @@ extern const u8 gUnknown_08DDB020[]; extern const u8 gUnknown_08DDB2C4[]; extern const u16 gUnknown_08DDAFE0[]; +// fame_checker + +extern const u16 gFameCheckerBgPals[0x30]; +extern const u16 gFameCheckerBgTiles[0xa50]; +extern const u16 gFameCheckerBg3Tilemap[0x400]; +extern const u16 gFameCheckerBg2Tilemap[0x400]; + #endif //GUARD_GRAPHICS_H diff --git a/include/hall_of_fame.h b/include/hall_of_fame.h index d35ecf268..2dc9fae41 100644 --- a/include/hall_of_fame.h +++ b/include/hall_of_fame.h @@ -1,6 +1,8 @@ #ifndef GUARD_HALL_OF_FAME_H #define GUARD_HALL_OF_FAME_H +#include "global.h" + void CB2_DoHallOfFameScreen(void); void CB2_DoHallOfFameScreenDontSaveData(void); void CB2_DoHallOfFamePC(void); diff --git a/include/heal_location.h b/include/heal_location.h index 1f966f1ae..0143b8158 100644 --- a/include/heal_location.h +++ b/include/heal_location.h @@ -1,6 +1,8 @@ #ifndef GUARD_HEAL_LOCATION_H #define GUARD_HEAL_LOCATION_H +#include "global.h" + // Exported type declarations struct UnkStruct_0859F534 { diff --git a/include/help_system.h b/include/help_system.h new file mode 100644 index 000000000..632788148 --- /dev/null +++ b/include/help_system.h @@ -0,0 +1,10 @@ +#ifndef GUARD_HELP_SYSTEM_H +#define GUARD_HELP_SYSTEM_H + +#include "global.h" + +extern bool8 gUnknown_3005ECC; + +void sub_812B484(void); + +#endif //GUARD_HELP_SYSTEM_H diff --git a/include/international_string_util.h b/include/international_string_util.h index e7876162e..2b922676d 100644 --- a/include/international_string_util.h +++ b/include/international_string_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_INTERNATIONAL_STRING_UTIL_H #define GUARD_INTERNATIONAL_STRING_UTIL_H +#include "global.h" + #include "menu.h" void sub_81DB52C(const u8 *src); diff --git a/include/item.h b/include/item.h index a136f03ec..75c56c94d 100644 --- a/include/item.h +++ b/include/item.h @@ -60,5 +60,8 @@ u8 ItemId_GetBattleUsage(u16 itemId); ItemUseFunc ItemId_GetBattleFunc(u16 itemId); u8 ItemId_GetSecondaryId(u16 itemId); u16 itemid_get_market_price(u16 itemId); +void sub_809A2DC(void); +void sub_809A2A4(void); +void sub_8099E90(u16, u8 *); #endif // ITEM_H diff --git a/include/item_icon.h b/include/item_icon.h index a43b72f39..75e2475f3 100644 --- a/include/item_icon.h +++ b/include/item_icon.h @@ -5,6 +5,8 @@ #ifndef GUARD_ITEM_ICON_H #define GUARD_ITEM_ICON_H +#include "global.h" + extern EWRAM_DATA void *gUnknown_0203CEBC; extern EWRAM_DATA void *gUnknown_0203CEC0; diff --git a/include/item_menu.h b/include/item_menu.h index 0e1f20588..a6128b9fb 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -1,14 +1,17 @@ #ifndef GUARD_ITEM_MENU_H #define GUARD_ITEM_MENU_H +#include "global.h" + // Exported type declarations // Exported RAM declarations -extern u16 gUnknown_203AD30; +extern u16 gSpecialVar_ItemId; // Exported ROM declarations void sub_81AAC50(void); void sub_81AAC70(void); +void UseFameCheckerFromMenu(void); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index 553e7c262..7fcd6d5e1 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -1,6 +1,8 @@ #ifndef GUARD_ITEM_MENU_ICONS #define GUARD_ITEM_MENU_ICONS +#include "global.h" + u8 sub_80D511C(u8 a0, u8 a1, u8 a2, u8 a3); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/link.h b/include/link.h index 352386523..93ad9dfe1 100644 --- a/include/link.h +++ b/include/link.h @@ -1,6 +1,8 @@ #ifndef GUARD_LINK_H #define GUARD_LINK_H +#include "global.h" + #define MAX_LINK_PLAYERS 4 #define MAX_RFU_PLAYERS 5 #define CMD_LENGTH 8 @@ -144,6 +146,9 @@ extern u16 word_3002910[]; extern bool8 gReceivedRemoteLinkPlayers; extern bool8 gLinkVSyncDisabled; +extern u8 gUnknown_3003F84; +extern u64 gUnknown_3003FB4; + void Task_DestroySelf(u8); void OpenLink(void); void CloseLink(void); @@ -162,7 +167,7 @@ void sub_8007E24(void); void sub_8007E4C(void); u8 GetMultiplayerId(void); u8 bitmask_all_link_players_but_self(void); -bool8 SendBlock(u8, void *, u16); +bool8 SendBlock(u8, const void *, u16); u8 GetBlockReceivedStatus(void); void ResetBlockReceivedFlags(void); void ResetBlockReceivedFlag(u8); @@ -194,5 +199,12 @@ void sub_8011BD0(void); u8 sub_800ABAC(void); u8 sub_800ABBC(void); void sub_800AC34(void); +void sub_8009804(void); +bool8 sub_800AA48(void); +void sub_800A5BC(void); +void sub_800AA80(u8); +void sub_80098D8(void); +void sub_80098B8(void); +bool8 sub_800A4BC(void); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h new file mode 100644 index 000000000..6e54fcc6c --- /dev/null +++ b/include/link_rfu.h @@ -0,0 +1,9 @@ +#ifndef GUARD_LINK_RFU_H +#define GUARD_LINK_RFU_H + +void sub_8142504(const u8 *str); +bool32 mevent_0814257C(u8 * cmdPtr, const u8 * src); +void sub_80FA190(void); +void sub_8142420(void); + +#endif //GUARD_LINK_RFU_H diff --git a/include/list_menu.h b/include/list_menu.h index 0249b06af..8834e5215 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_LIST_MENU_H #define GUARD_LIST_MENU_H +#include "global.h" + // Exported type declarations // Exported RAM declarations @@ -16,22 +18,23 @@ struct ListMenu; struct ListMenuTemplate { const struct ListMenuItem *items; - void (* unk_04)(u32, bool8, struct ListMenu *); - void (* unk_08)(u8, s32, u8); + void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); + void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y); u16 totalItems; u16 maxShowed; - u8 unk_10; - u8 unk_11; - u8 unk_12; - u8 cursor_Y; - u32 upText_Y:4; // x1, x2, x4, x8 = xF - u32 cursorColor:4; // x10, x20, x40, x80 = xF0 - u32 fillColor:4; // x100, x200, x400, x800 = xF00 - u32 cursorShadowColor:4; // x1000, x2000, x4000, x8000 = xF000 - u32 unk_16_0:1; // x10000 - u32 spaceBetweenItems:6; // x20000, x40000, x80000, x100000, x200000, x400000 = x7E0000 - u32 unk_16_7:1; // x800000 - u32 unk_17_0:6; // x1000000, x2000000, x4000000, x8000000, x10000000, x20000000 = x3F000000 + u8 windowId; + 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 itemVerticalPadding:3; + u8 scrollMultiple:2; // x40, x80 = xC0 + u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F + u8 cursorKind:2; // x40, x80 }; struct ListMenu { @@ -52,5 +55,7 @@ u8 ListMenuInit(struct ListMenuTemplate *template, u16 a1, u16 a2); s32 ListMenuHandleInput(u8 id); void get_coro_args_x18_x1A(u8 a0, u16 *a1, u16 *a2); void sub_81AE6C8(u8 a0, u16 *a1, u16 *a2); +void sub_810713C(u8, u8, u8); +u16 ListMenuGetYCoordForPrintingArrowCursor(u8); #endif //GUARD_LIST_MENU_H diff --git a/include/load_save.h b/include/load_save.h index b3e9fe49c..064e6dff2 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -1,6 +1,8 @@ #ifndef GUARD_LOAD_SAVE_H #define GUARD_LOAD_SAVE_H +#include "global.h" + extern bool32 gFlashMemoryPresent; void ClearSav2(void); diff --git a/include/m4a.h b/include/m4a.h index 8c3380dd8..24b454104 100644 --- a/include/m4a.h +++ b/include/m4a.h @@ -1,6 +1,8 @@ #ifndef GUARD_M4A_H #define GUARD_M4A_H +#include "global.h" + #include "gba/m4a_internal.h" void m4aSoundVSync(void); diff --git a/include/mail.h b/include/mail.h index 0a70237bf..5d6ad559b 100644 --- a/include/mail.h +++ b/include/mail.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAIL_H #define GUARD_MAIL_H +#include "global.h" + #define IS_ITEM_MAIL(itemId)((itemId == ITEM_ORANGE_MAIL \ || itemId == ITEM_HARBOR_MAIL \ || itemId == ITEM_GLITTER_MAIL \ diff --git a/include/mail_data.h b/include/mail_data.h index bf6540bad..0275d8dc6 100644 --- a/include/mail_data.h +++ b/include/mail_data.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAIL_DATA_H #define GUARD_MAIL_DATA_H +#include "global.h" + // Exported type declarations // Exported RAM declarations @@ -8,5 +10,6 @@ // Exported ROM declarations u16 sub_80D45E8(u16, u16 *); +bool8 itemid_is_mail(u16 itemId); #endif //GUARD_MAIL_DATA_H diff --git a/include/main.h b/include/main.h index 82f85f881..adbf1fb5d 100644 --- a/include/main.h +++ b/include/main.h @@ -3,10 +3,14 @@ #include "global.h" +#include "global.h" + typedef void (*MainCallback)(void); typedef void (*IntrCallback)(void); typedef void (*IntrFunc)(void); +extern IntrFunc gIntrTable[]; + struct Main { /*0x000*/ MainCallback callback1; @@ -60,5 +64,9 @@ void SetSerialCallback(IntrCallback callback); void InitFlashTimer(void); void DoSoftReset(void); void ClearPokemonCrySongs(void); +void RestoreSerialTimer3IntrHandlers(void); + +extern const char RomHeaderGameCode[4]; +extern const char RomHeaderSoftwareVersion; #endif // GUARD_MAIN_H diff --git a/include/malloc.h b/include/malloc.h index 6efa8fbef..ae66aecb1 100644 --- a/include/malloc.h +++ b/include/malloc.h @@ -1,6 +1,8 @@ #ifndef GUARD_MALLOC_H #define GUARD_MALLOC_H +#include "global.h" + #define HEAP_SIZE 0x1C000 #define malloc Alloc #define calloc(ct, sz) AllocZeroed((ct) * (sz)) diff --git a/include/map_name_popup.h b/include/map_name_popup.h index 8a9043a3f..cf9b005d9 100644 --- a/include/map_name_popup.h +++ b/include/map_name_popup.h @@ -1,11 +1,14 @@ #ifndef GUARD_MAP_NAME_POPUP_H #define GUARD_MAP_NAME_POPUP_H +#include "global.h" + // Exported type declarations // Exported RAM declarations // Exported ROM declarations void HideMapNamePopUpWindow(void); +void sub_8098110(u8); #endif //GUARD_MAP_NAME_POPUP_H diff --git a/include/map_obj_80688E4.h b/include/map_obj_80688E4.h new file mode 100644 index 000000000..9ab76646d --- /dev/null +++ b/include/map_obj_80688E4.h @@ -0,0 +1,8 @@ +#ifndef GUARD_MAP_OBJ_80688E4_H +#define GUARD_MAP_OBJ_80688E4_H + +#include "global.h" + +void player_bitmagic(void); + +#endif //GUARD_MAP_OBJ_80688E4_H diff --git a/include/map_obj_8097404.h b/include/map_obj_8097404.h index 27ffd18cb..ad90bed9c 100644 --- a/include/map_obj_8097404.h +++ b/include/map_obj_8097404.h @@ -5,6 +5,8 @@ #ifndef GUARD_MAP_OBJ_8097404_H #define GUARD_MAP_OBJ_8097404_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/map_obj_lock.h b/include/map_obj_lock.h index cf1f714d7..c8e075658 100644 --- a/include/map_obj_lock.h +++ b/include/map_obj_lock.h @@ -1,6 +1,8 @@ #ifndef GUARD_MAP_OBJ_LOCK_H #define GUARD_MAP_OBJ_LOCK_H +#include "global.h" + bool8 sub_80983C4(void); void ScriptFreezeMapObjects(void); bool8 sub_809847C(void); diff --git a/include/menews_jisan.h b/include/menews_jisan.h index 8dc1d0a99..4db5a7be2 100644 --- a/include/menews_jisan.h +++ b/include/menews_jisan.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENEWS_JISAN_H #define GUARD_MENEWS_JISAN_H +#include "global.h" + void sub_8146C30(u32 a0); void sub_8146C88(void); void sub_8146CA4(void); diff --git a/include/menu.h b/include/menu.h index 6a6e2e828..b932693f7 100644 --- a/include/menu.h +++ b/include/menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENU_H #define GUARD_MENU_H +#include "global.h" + #include "text.h" #include "window.h" @@ -32,7 +34,7 @@ void CreateYesNoMenu(const struct WindowTemplate *windowTemplate, u16 borderFirs s8 ProcessMenuInputNoWrap_(void); void do_scheduled_bg_tilemap_copies_to_vram(void); void clear_scheduled_bg_copies_to_vram(void); -void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, struct TextColor *color, s8 speed, const u8 *str); +void AddTextPrinterParametrized2(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const struct TextColor *color, s8 speed, const u8 *str); void sub_8197B1C(u8 windowId, bool8 copyToVram, u16 a2, u16 a3); void sub_810F4D8(u8 windowId, bool32 someBool); diff --git a/include/menu_helpers.h b/include/menu_helpers.h index f083a10e2..b193388e5 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -1,6 +1,8 @@ #ifndef GUARD_MENU_HELPERS_H #define GUARD_MENU_HELPERS_H +#include "global.h" + // Exported type declarations struct YesNoFuncTable { @@ -16,5 +18,6 @@ void sub_812225C(u16 *, u16 *, u8, u8); void sub_8122298(u16 *, u16 *, u8, u8, u8); void sub_8121F68(u8 taskId, const struct YesNoFuncTable *data); bool8 sub_81221AC(void); +bool8 sub_80BF708(void); #endif //GUARD_MENU_HELPERS_H diff --git a/include/menu_indicators.h b/include/menu_indicators.h index d0baac810..f195ceb6d 100644 --- a/include/menu_indicators.h +++ b/include/menu_indicators.h @@ -1,12 +1,31 @@ #ifndef GUARD_MENU_INDICATORS_H #define GUARD_MENU_INDICATORS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations +struct ScrollIndicatorArrowPairTemplate +{ + u8 unk_00; + u8 unk_01; + u8 unk_02; + u8 unk_03; + u8 unk_04; + u8 unk_05; + u16 unk_06; + u16 unk_08; + u16 unk_0a; + u16 unk_0c; + u16 unk_0e_0:4; + u16 unk_0e_4:12; +}; + // Exported ROM declarations u8 AddScrollIndicatorArrowPairParametrized(u8, u8, u8, u8, s32, u16, u16, u16 *); +u8 AddScrollIndicatorArrowPair(const struct ScrollIndicatorArrowPairTemplate * template, u16 * a1); void RemoveScrollIndicatorArrowPair(u8); #endif //GUARD_MENU_INDICATORS_H diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h index c81e743c7..62bcfdd38 100644 --- a/include/metatile_behavior.h +++ b/include/metatile_behavior.h @@ -1,6 +1,8 @@ #ifndef GUARD_METATILE_BEHAVIOR #define GUARD_METATILE_BEHAVIOR +#include "global.h" + bool8 MetatileBehavior_UnusedReturnTrue(u8 metatileBehavior); bool8 MetatileBehavior_IsJumpEast(u8 metatileBehavior); bool8 MetatileBehavior_IsJumpWest(u8 metatileBehavior); diff --git a/include/mevent.h b/include/mevent.h index a611a98a8..d940b212c 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -1,7 +1,53 @@ #ifndef GUARD_MEVENT_H #define GUARD_MEVENT_H +#include "global.h" + +struct MEventStruct_Unk1442CC +{ + u32 unk_00; + u16 unk_04; + u32 unk_08; + u16 unk_0C; + u32 unk_10; + u16 unk_14; + u16 unk_16[4]; + struct MEventBuffer_3430_Sub unk_20; + u8 unk_44; + u8 unk_45[7]; + u8 unk_4C[4]; + u16 unk_50[6]; + u8 unk_5C[4]; + u8 unk_60; +}; + +struct MEvent_Str_1 +{ + u16 unk_000; + size_t unk_004; + const void * unk_008; +}; + +struct MEvent_Str_2 +{ + u8 fill_00[0x40]; +}; + +struct MEventBuffer_3120_Sub * sub_8143D58(void); +struct MEventBuffer_32E0_Sub * sav1_get_mevent_buffer_1(void); +struct MEventBuffer_3430_Sub * sav1_get_mevent_buffer_2(void); struct MysteryEventStruct * sub_8143D94(void); +bool32 sub_8143DC8(const struct MEventBuffer_3120_Sub * src); bool32 sub_8143E1C(void); +bool32 sub_8143EF4(const u8 * src); +bool32 sub_8143F68(const struct MEventBuffer_32E0_Sub * data); +void sub_814410C(struct MEventBuffer_32E0_Sub * buffer); +bool32 sub_8144254(const u16 * data); +void sub_81442CC(struct MEventStruct_Unk1442CC * data); +bool32 sub_81443D4(const struct MEventStruct_Unk1442CC * data); +u32 sub_8144418(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused); +u32 sub_8144434(const u16 * a0, const struct MEventStruct_Unk1442CC * a1, void * unused); +bool32 sub_8144474(const struct MEventStruct_Unk1442CC * a0, const u16 * a1); +u16 sub_81444B0(const struct MEventStruct_Unk1442CC * a0, u32 command); #endif //GUARD_MEVENT_H diff --git a/include/mevent_server.h b/include/mevent_server.h new file mode 100644 index 000000000..e593b5dbd --- /dev/null +++ b/include/mevent_server.h @@ -0,0 +1,95 @@ +#ifndef GUARD_MEVENT_SERVER_H +#define GUARD_MEVENT_SERVER_H + +#include "global.h" + +#define ME_SEND_BUF_SIZE 0x400 + +struct mevent_srv_sub +{ + s32 seqno; + u8 sendPlayerNo; + u8 recvPlayerNo; + u16 recvIdent; + u16 recvCounter; + u16 recvCRC; + u16 recvSize; + u16 sendIdent; + u16 sendCounter; + u16 sendCRC; + u16 sendSize; + void * recvBfr; + const void * sendBfr; + u32 (*recvFunc)(struct mevent_srv_sub *); + u32 (*sendFunc)(struct mevent_srv_sub *); +}; + +struct send_recv_header +{ + u16 ident; + u16 crc; + u16 size; +}; + +struct mevent_cmd_ish +{ + u32 instr; + u32 parameter; +}; + +struct mevent_srv_ish +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 flag; + u32 cmdidx; + void * sendBuffer; + void * recvBuffer; + struct mevent_cmd_ish * cmdBuffer; + void * buffer; + struct mevent_srv_sub manager; +}; + +struct mevent_cmd +{ + u32 instr; + bool32 flag; + void * parameter; +}; + +struct mevent_srv_common +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 cmdidx; + const struct mevent_cmd * cmdBuffer; + void * recvBuffer; + struct MEventBuffer_32E0_Sub * mevent_32e0; + struct MEventBuffer_3120_Sub * mevent_3120; + struct MEventStruct_Unk1442CC * mevent_unk1442cc; + void * sendBuffer1; + u32 sendBuffer1Size; + void * sendBuffer2; + u32 sendBuffer2Size; + u32 sendWord; + struct mevent_srv_sub manager; +}; + +u32 mevent_srv_sub_recv(struct mevent_srv_sub * svr); +u32 mevent_srv_sub_send(struct mevent_srv_sub * svr); +void mevent_srv_sub_init(struct mevent_srv_sub * svr, u32 sendPlayerNo, u32 recvPlayerNo); +void mevent_srv_sub_init_send(struct mevent_srv_sub * svr, u32 ident, const void * src, u32 size); +void mevent_srv_sub_init_recv(struct mevent_srv_sub * svr, u32 ident, void * dest); + +void mevent_srv_ish_do_init(void); +u32 mevent_srv_ish_do_exec(u16 * a0); +void mevent_srv_ish_inc_flag(void); +void * mevent_srv_ish_get_buffer(void); +void mevent_srv_ish_set_param(u32 a0); +void mevent_srv_common_do_init_1(void); +void mevent_srv_common_do_init_2(void); +u32 mevent_srv_init_do_exec(u16 * a0); + +#endif //GUARD_MEVENT_SERVER_H diff --git a/include/money.h b/include/money.h index 48b15db76..fa63e321c 100644 --- a/include/money.h +++ b/include/money.h @@ -1,6 +1,8 @@ #ifndef GUARD_MONEY_H #define GUARD_MONEY_H +#include "global.h" + u32 GetMoney(u32* moneyPtr); void SetMoney(u32* moneyPtr, u32 newValue); bool8 IsEnoughMoney(u32* moneyPtr, u32 cost); diff --git a/include/multiboot.h b/include/multiboot.h index d4700ff4e..4b4a3693a 100644 --- a/include/multiboot.h +++ b/include/multiboot.h @@ -1,6 +1,8 @@ #ifndef GUARD_MULTIBOOT_H #define GUARD_MULTIBOOT_H +#include "global.h" + #define MULTIBOOT_MASTER_INFO 0x62 #define MULTIBOOT_CLIENT_INFO 0x72 #define MULTIBOOT_MASTER_START_PROBE 0x61 diff --git a/include/mystery_event_msg.h b/include/mystery_event_msg.h new file mode 100644 index 000000000..e96c3069b --- /dev/null +++ b/include/mystery_event_msg.h @@ -0,0 +1,18 @@ +#ifndef GUARD_MYSTERY_EVENT_MSG_H +#define GUARD_MYSTERY_EVENT_MSG_H + +#include <gba/gba.h> + +extern const u8 gText_MysteryGiftBerry[]; +extern const u8 gText_MysteryGiftBerryTransform[]; +extern const u8 gText_MysteryGiftBerryObtained[]; +extern const u8 gText_MysteryGiftSpecialRibbon[]; +extern const u8 gText_MysteryGiftNationalDex[]; +extern const u8 gText_MysteryGiftRareWord[]; +extern const u8 gText_MysteryGiftSentOver[]; +extern const u8 gText_MysteryGiftFullParty[]; +extern const u8 gText_MysteryGiftNewTrainer[]; +extern const u8 gText_MysteryGiftNewAdversaryInBattleTower[]; +extern const u8 gText_MysteryGiftCantBeUsed[]; + +#endif // GUARD_MYSTERY_EVENT_MSG_H diff --git a/include/mystery_event_script.h b/include/mystery_event_script.h index ab23a8d00..be64663ed 100644 --- a/include/mystery_event_script.h +++ b/include/mystery_event_script.h @@ -1,8 +1,13 @@ #ifndef GUARD_MYSTERY_EVENT_SCRIPT_H #define GUARD_MYSTERY_EVENT_SCRIPT_H +#include "global.h" + u32 RunMysteryEventScript(u8 *); void SetMysteryEventScriptStatus(u32 val); u16 GetRecordMixingGift(void); +void sub_80DA89C(u8 *); +bool32 sub_80DA8B0(u32 *); + #endif // GUARD_MYSTERY_EVENT_SCRIPT_H diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h new file mode 100644 index 000000000..24bf85a13 --- /dev/null +++ b/include/mystery_gift_menu.h @@ -0,0 +1,9 @@ +#ifndef GUARD_MYSTERY_GIFT_MENU_H +#define GUARD_MYSTERY_GIFT_MENU_H + +extern bool8 gUnknown_203F3B8; + +void sub_81422FC(void); +void sub_8142344(bool8, bool32); + +#endif //GUARD_MYSTERY_GIFT_MENU_H diff --git a/include/naming_screen.h b/include/naming_screen.h index 3d69b834f..be2cf34f8 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_NAMING_SCREEN_H #define GUARD_NAMING_SCREEN_H +#include "global.h" + #define NAMING_SCREEN_PLAYER 0 #define NAMING_SCREEN_BOX 1 #define NAMING_SCREEN_CAUGHT_MON 2 diff --git a/include/new_game.h b/include/new_game.h index 2088d1826..c495a9585 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -1,6 +1,8 @@ #ifndef GUARD_NEW_GAME_H #define GUARD_NEW_GAME_H +#include "global.h" + void WriteUnalignedWord(u32 var, u8 *dataPtr); u32 ReadUnalignedWord(u8* dataPtr); void CopyUnalignedWord(u8 *copyTo, u8 *copyFrom); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index 639395941..2a68a35e6 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -16,5 +16,8 @@ void SetStandardWindowBorderStyle(u8 a0, u8 a1); void sub_8197930(void); u8 GetPlayerTextSpeed(void); void sub_80F6F54(u8, u8); +u8 sub_80F78A8(void); +void sub_80F6E9C(void); +void sub_80F6EE4(u8 windowId, bool8 transfer); #endif // GUARD_NEW_MENU_HELPERS_H diff --git a/include/overworld.h b/include/overworld.h index a5fba0c10..8cae07bdc 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROM4_H #define GUARD_ROM4_H +#include "global.h" + #include "main.h" struct UnkPlayerStruct @@ -68,7 +70,20 @@ void c2_load_new_map(void); void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); void mapldr_default(void); -void IncrementGameStat(u8); u32 GetGameStat(u8); +void sub_8056938(void); +void sub_8055D5C(struct WarpData *); +void sub_80572A8(void); +void sub_805726C(void); +void sub_8057430(void); +void sub_8055DC4(void); + +u8 sav1_map_get_name(void); + +extern u8 gUnknown_2031DD8; +extern u8 gUnknown_2036E28; + +extern bool8 (* gUnknown_3005024)(void); + #endif //GUARD_ROM4_H diff --git a/include/palette.h b/include/palette.h index d3bcd2271..3af0d5d7b 100644 --- a/include/palette.h +++ b/include/palette.h @@ -3,6 +3,8 @@ #include "global.h" +#include "global.h" + #define gPaletteFade_selectedPalettes (gPaletteFade.multipurpose1) // normal and fast fade #define gPaletteFade_blendCnt (gPaletteFade.multipurpose1) // hardware fade #define gPaletteFade_delay (gPaletteFade.multipurpose2) // normal and hardware fade @@ -42,8 +44,8 @@ struct PaletteFadeControl extern struct PaletteFadeControl gPaletteFade; extern u32 gPlttBufferTransferPending; extern u8 gPaletteDecompressionBuffer[]; -extern u16 gPlttBufferUnfaded[]; -extern u16 gPlttBufferFaded[]; +extern u16 gPlttBufferUnfaded[PLTT_BUFFER_SIZE]; +extern u16 gPlttBufferFaded[PLTT_BUFFER_SIZE]; void LoadCompressedPalette(const void *, u16, u16); void LoadPalette(const void *, u16, u16); @@ -67,5 +69,8 @@ void BeginFastPaletteFade(u8); void BeginHardwarePaletteFade(u8, u8, u8, u8, u8); void BlendPalettes(u32, u8, u16); void BlendPalettesUnfaded(u32, u8, u16); +void sub_80716F8(const u16 *, u16 *, u16, u8); + +extern struct PaletteFadeControl gPaletteFade; #endif // GUARD_PALETTE_H diff --git a/include/party_menu.h b/include/party_menu.h index c787bafb1..19e1f7d4e 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_PARTY_MENU_H #define GUARD_PARTY_MENU_H +#include "global.h" + enum { AILMENT_NONE, AILMENT_PSN, @@ -14,5 +16,6 @@ bool8 pokemon_has_move(struct Pokemon *, u16); void sub_81B58A8(void); void DoWallyTutorialBagMenu(void); u8 pokemon_ailments_get_primary(u32 status); +u16 ItemIdToBattleMoveId(u16 itemId); #endif // GUARD_PARTY_MENU_H diff --git a/include/play_time.h b/include/play_time.h index 49091f4b1..233dbadda 100644 --- a/include/play_time.h +++ b/include/play_time.h @@ -1,6 +1,8 @@ #ifndef GUARD_PLAY_TIME_H #define GUARD_PLAY_TIME_H +#include "global.h" + void PlayTimeCounter_Reset(void); void PlayTimeCounter_Start(void); void PlayTimeCounter_Stop(void); diff --git a/include/player_pc.h b/include/player_pc.h index b14d1ede3..e14e5e9da 100644 --- a/include/player_pc.h +++ b/include/player_pc.h @@ -1,6 +1,8 @@ #ifndef GUARD_PLAYER_PC_H #define GUARD_PLAYER_PC_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/pokeball.h b/include/pokeball.h index 84178b5b2..10a9529b9 100644 --- a/include/pokeball.h +++ b/include/pokeball.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEBALL_H #define GUARD_POKEBALL_H +#include "global.h" + enum { BALL_POKE, diff --git a/include/pokedex.h b/include/pokedex.h index 236feac45..ca642ed1a 100644 --- a/include/pokedex.h +++ b/include/pokedex.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEDEX_H #define GUARD_POKEDEX_H +#include "global.h" + void ResetPokedex(void); void CopyMonCategoryText(u16 species, u8 *dst); u16 GetPokedexHeightWeight(u16 dexNum, u8 data); diff --git a/include/pokemon.h b/include/pokemon.h index e15172dd5..e8782af98 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_H #define GUARD_POKEMON_H +#include "global.h" + #define MON_DATA_PERSONALITY 0 #define MON_DATA_OT_ID 1 #define MON_DATA_NICKNAME 2 @@ -570,8 +572,14 @@ void DecryptBoxMon(struct BoxPokemon *boxMon); // but they are not used since some code erroneously omits the third arg. // u32 GetMonData(struct Pokemon *mon, s32 field, u8 *data); // u32 GetBoxMonData(struct BoxPokemon *boxMon, s32 field, u8 *data); + +#ifdef IS_POKEMON_C +u32 GetMonData(struct Pokemon *, s32, u8 *); +u32 GetBoxMonData(struct BoxPokemon *, s32, u8 *); +#else u32 GetMonData(); u32 GetBoxMonData(); +#endif // IS_POKEMON_C void SetMonData(struct Pokemon *mon, s32 field, const void *data); void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const void *data); diff --git a/include/pokemon_3.h b/include/pokemon_3.h index 5c9862d57..cffc9780b 100644 --- a/include/pokemon_3.h +++ b/include/pokemon_3.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_3_H #define GUARD_POKEMON_3_H +#include "global.h" + const u8* GetTrainerClassNameFromId(u16 trainerId); const u8* GetTrainerNameFromId(u16 trainerId); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index b6d21823e..593715b7d 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_ICON_H #define GUARD_POKEMON_ICON_H +#include "global.h" + const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo); const u16 *GetValidMonIconPalettePtr(u16 speciesId); u16 sub_80D2E84(u16 speciesId); @@ -8,5 +10,10 @@ void sub_80D2F68(u16 iconId); u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5); void sub_80D2FF0(u16 iconId); void sub_80D2EF8(struct Sprite *sprite); +void sub_809707C(void); +void FreeMonIconPalettes(void); +u16 sub_8096FD4(u16); +u8 sub_8096ECC(u16, void (*)(struct Sprite *), s16, s16, u8, bool32); +void sub_8097070(struct Sprite *); #endif // GUARD_POKEMON_ICON_H diff --git a/include/pokemon_item_effects.h b/include/pokemon_item_effects.h index 505cc0f25..e02d976b2 100644 --- a/include/pokemon_item_effects.h +++ b/include/pokemon_item_effects.h @@ -55,8 +55,8 @@ struct PokemonItemEffect /*field 6 u8 value; }; -*/ bool8 ExecuteTableBasedItemEffect(struct Pokemon *mon, u16 itemId, u8 partyId, u8 monMoveIndex, u8 a5); +*/ #endif // GUARD_POKEMON_ITEM_EFFECTS diff --git a/include/pokemon_size_record.h b/include/pokemon_size_record.h index f61286bd4..3fa448cbb 100644 --- a/include/pokemon_size_record.h +++ b/include/pokemon_size_record.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEMON_SIZE_RECORD_H #define GUARD_POKEMON_SIZE_RECORD_H +#include "global.h" + void InitSeedotSizeRecord(void); void GetSeedotSizeRecordInfo(void); void CompareSeedotSize(void); diff --git a/include/pokemon_storage_system.h b/include/pokemon_storage_system.h index 9fcfdba96..5b2d2052b 100644 --- a/include/pokemon_storage_system.h +++ b/include/pokemon_storage_system.h @@ -1,13 +1,16 @@ #ifndef GUARD_POKEMON_STORAGE_SYSTEM_H #define GUARD_POKEMON_STORAGE_SYSTEM_H +#include "global.h" + #define TOTAL_BOXES_COUNT 14 #define IN_BOX_COUNT 30 u8* GetBoxNamePtr(u8 boxNumber); -struct BoxPokemon *GetBoxedMonPtr(u8, u8); -void SetBoxMonNickFromAnyBox(u8, u8, u8 *); +struct BoxPokemon *GetBoxedMonPtr(u8 boxId, u8 monPosition); +void SetBoxMonNickFromAnyBox(u8 boxId, u8 monPosition, u8 * newNick); void CompactPartySlots(void); u32 GetBoxMonDataFromAnyBox(u8 boxId, u8 monPosition, u32 request); +void sub_808BCB4(u8 boxId, u8 monPosition); #endif // GUARD_POKEMON_STORAGE_SYSTEM_H diff --git a/include/pokenav.h b/include/pokenav.h index 06676610a..ad95873b1 100644 --- a/include/pokenav.h +++ b/include/pokenav.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKENAV_H #define GUARD_POKENAV_H +#include "global.h" + bool8 sub_81D5C18(void); #endif //GUARD_POKENAV_H diff --git a/include/quest_log.h b/include/quest_log.h new file mode 100644 index 000000000..9f8a0ea21 --- /dev/null +++ b/include/quest_log.h @@ -0,0 +1,25 @@ +#ifndef GUARD_QUEST_LOG_H +#define GUARD_QUEST_LOG_H + +#include "global.h" + +struct UnkStruct_3005E90 +{ + u8 unk_0; + u8 unk_1_0:1; + u8 unk_1_1:1; + u8 unk_1_2:1; + u8 unk_1_3:1; + u8 unk_1_4:1; + u8 unk_2; +}; + +extern u8 gUnknown_3005E88; +extern u16 gUnknown_3005E8C; +extern struct UnkStruct_3005E90 gUnknown_3005E90; +extern struct UnkStruct_203AE98 * gUnknown_3005E94; + +void sub_8112720(u8); +void sub_8113550(u16, const u16 *); + +#endif //GUARD_QUEST_LOG_H diff --git a/include/quest_log_8150454.h b/include/quest_log_8150454.h new file mode 100644 index 000000000..adf5d193e --- /dev/null +++ b/include/quest_log_8150454.h @@ -0,0 +1,8 @@ +#ifndef GUARD_QUEST_LOG_8150454_H +#define GUARD_QUEST_LOG_8150454_H + +#include "global.h" + +void sub_8150454(void); + +#endif //GUARD_QUEST_LOG_8150454_H diff --git a/include/random.h b/include/random.h index 79a9d71dc..139316f9d 100644 --- a/include/random.h +++ b/include/random.h @@ -1,6 +1,8 @@ #ifndef GUARD_RANDOM_H #define GUARD_RANDOM_H +#include "global.h" + extern u32 gRngValue; extern u32 gRng2Value; diff --git a/include/region_map.h b/include/region_map.h index 91384d166..93ad5541d 100644 --- a/include/region_map.h +++ b/include/region_map.h @@ -1,6 +1,8 @@ #ifndef GUARD_REGION_MAP_H #define GUARD_REGION_MAP_H +#include "global.h" + #include "bg.h" // Exported type declarations @@ -310,5 +312,6 @@ void CreateRegionMapPlayerIcon(u16 x, u16 y); void CreateRegionMapCursor(u16 tileTag, u16 paletteTag); u8 *GetMapName(u8 *, u16, u16); bool32 sub_8124668(u8 mapSecId); +void sub_80C4DF8(u8 *, u8); #endif //GUARD_REGION_MAP_H diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h index c22135280..9d1ec30f2 100644 --- a/include/reshow_battle_screen.h +++ b/include/reshow_battle_screen.h @@ -1,6 +1,8 @@ #ifndef GUARD_RESHOW_BATTLE_SCREEN_H #define GUARD_RESHOW_BATTLE_SCREEN_H +#include "global.h" + void nullsub_35(void); void ReshowBattleScreenAfterMenu(void); diff --git a/include/roamer.h b/include/roamer.h index ba1b09b54..5ec0a17fc 100644 --- a/include/roamer.h +++ b/include/roamer.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROAMER_H #define GUARD_ROAMER_H +#include "global.h" + void ClearRoamerData(void); void ClearRoamerLocationData(void); void InitRoamer(void); diff --git a/include/rom6.h b/include/rom6.h index 6d20752e2..753c07305 100644 --- a/include/rom6.h +++ b/include/rom6.h @@ -1,6 +1,8 @@ #ifndef GUARD_ROM6_H #define GUARD_ROM6_H +#include "global.h" + void sub_81357FC(u8, void(void)); u8 GetLeadMonIndex(void); u8 GetSSTidalLocation(u8 *grp, u8 *num, s16 *x, s16 *y); diff --git a/include/rom_818CFC8.h b/include/rom_818CFC8.h index 1d0626b2b..048825778 100644 --- a/include/rom_818CFC8.h +++ b/include/rom_818CFC8.h @@ -5,6 +5,8 @@ #ifndef GUARD_ROM_818CFC8_H #define GUARD_ROM_818CFC8_H +#include "global.h" + bool8 InBattlePyramid(void); u8 sub_81AAA40(void); diff --git a/include/rom_81BE66C.h b/include/rom_81BE66C.h index 5b4f80249..fa439d8da 100644 --- a/include/rom_81BE66C.h +++ b/include/rom_81BE66C.h @@ -5,6 +5,8 @@ #ifndef GUARD_ROM_81BE66C_H #define GUARD_ROM_81BE66C_H +#include "global.h" + bool32 InTrainerHill(void); bool8 FieldObjectIsFarawayIslandMew(struct MapObject *); u32 sub_81D427C(void); diff --git a/include/safari_zone.h b/include/safari_zone.h index 9a81894b8..b20555a8c 100644 --- a/include/safari_zone.h +++ b/include/safari_zone.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAFARI_ZONE_H #define GUARD_SAFARI_ZONE_H +#include "global.h" + extern u8 gNumSafariBalls; bool32 GetSafariZoneFlag(void); diff --git a/include/save.h b/include/save.h index 38ad63170..f547230b9 100644 --- a/include/save.h +++ b/include/save.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAVE_H #define GUARD_SAVE_H +#include "global.h" + #define NUM_SECTORS 32 // defined in agb_flash but not in a header #define SAVE_STATUS_EMPTY 0 @@ -117,6 +119,8 @@ u8 sub_80DA45C(void); bool8 sub_80DA4A0(void); u8 Save_LoadGameData(u8 a1); u32 TryCopySpecialSaveSection(u8 sector, u8* dst); +u32 sub_8153634(u8 sector, u8* src); +void sub_8153688(u8 taskId); u32 sub_80DA5E0(u8 sector, u8* src); void sub_80DA634(u8 taskId); diff --git a/include/save_location.h b/include/save_location.h index 95b3a7d7d..69b39ea53 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -1,6 +1,8 @@ #ifndef GUARD_SAVE_LOCATION_H #define GUARD_SAVE_LOCATION_H +#include "global.h" + bool32 sub_81AFCEC(void); void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); diff --git a/include/scanline_effect.h b/include/scanline_effect.h new file mode 100644 index 000000000..d49f5b4d6 --- /dev/null +++ b/include/scanline_effect.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SCANLINE_EFFECT_H +#define GUARD_SCANLINE_EFFECT_H + +void remove_some_task(void); + +#endif //GUARD_SCANLINE_EFFECT_H diff --git a/include/script.h b/include/script.h index 2b5f8c2ce..ebb4caa86 100644 --- a/include/script.h +++ b/include/script.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_H #define GUARD_SCRIPT_H +#include "global.h" + struct ScriptContext; typedef bool8 (*ScrCmdFunc)(struct ScriptContext *); @@ -60,5 +62,8 @@ u8 *GetRamScript(u8 objectId, u8 *script); bool32 sub_80991F8(void); u8 *sub_8099244(void); void sub_80992A0(u8 *script, u16 scriptSize); +bool32 sub_8069DFC(void); +void sub_8069EA4(u8 * script, u16 scriptSize); +u8 * sub_8069E48(void); #endif // GUARD_SCRIPT_H diff --git a/include/script_menu.h b/include/script_menu.h index 717eda041..1e95570b3 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_MENU_H #define GUARD_SCRIPT_MENU_H +#include "global.h" + extern const u8 *const gUnknown_0858BAF0[9]; bool8 ScriptMenu_Multichoice(u8 left, u8 top, u8 var3, u8 var4); diff --git a/include/script_movement.h b/include/script_movement.h index 4c3fa6002..ae446812e 100644 --- a/include/script_movement.h +++ b/include/script_movement.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPT_MOVEMENT_H #define GUARD_SCRIPT_MOVEMENT_H +#include "global.h" + bool8 ScriptMovement_StartObjectMovementScript(u8, u8, u8, const u8 *); bool8 ScriptMovement_IsObjectMovementFinished(u8, u8, u8); void sub_80D338C(void); diff --git a/include/script_pokemon_80F8.h b/include/script_pokemon_80F8.h index 8dd7ed0c0..8a5bb12e1 100644 --- a/include/script_pokemon_80F8.h +++ b/include/script_pokemon_80F8.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPTPOKE80F8_H #define GUARD_SCRIPTPOKE80F8_H +#include "global.h" + void ShowContestWinner(void); u8 ScriptGiveMon(u16, u8, u16, u32, u32, u8); u8 ScriptGiveEgg(u16); diff --git a/include/script_pokemon_81B9.h b/include/script_pokemon_81B9.h index 1b8563ee6..d49095fcc 100644 --- a/include/script_pokemon_81B9.h +++ b/include/script_pokemon_81B9.h @@ -1,6 +1,8 @@ #ifndef GUARD_SCRIPTPOKE81B9_H #define GUARD_SCRIPTPOKE81B9_H +#include "global.h" + void sub_81B9404(void); #endif diff --git a/include/shop.h b/include/shop.h index d3e86408c..1046a590a 100644 --- a/include/shop.h +++ b/include/shop.h @@ -1,6 +1,8 @@ #ifndef GUARD_SHOP_H #define GUARD_SHOP_H +#include "global.h" + extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; void CreatePokemartMenu(const u16 *); diff --git a/include/slot_machine.h b/include/slot_machine.h index 8334e56fc..5c96384fa 100644 --- a/include/slot_machine.h +++ b/include/slot_machine.h @@ -1,6 +1,8 @@ #ifndef GUARD_SLOT_MACHINE_H #define GUARD_SLOT_MACHINE_H +#include "global.h" + void PlaySlotMachine(u8, void *); #endif // GUARD_SLOT_MACHINE_H diff --git a/include/songs.h b/include/songs.h index 5a1fff00c..f8d0fbf5b 100644 --- a/include/songs.h +++ b/include/songs.h @@ -1,6 +1,8 @@ #ifndef GUARD_SONGS_H #define GUARD_SONGS_H +#include "global.h" + enum { /*0x00*/ SE_STOP, diff --git a/include/sound.h b/include/sound.h index 7d47b7456..34fdfc839 100644 --- a/include/sound.h +++ b/include/sound.h @@ -1,6 +1,8 @@ #ifndef GUARD_SOUND_H #define GUARD_SOUND_H +#include "global.h" + void InitMapMusic(void); void MapMusicMain(void); void ResetMapMusic(void); diff --git a/include/sprite.h b/include/sprite.h index 170d77c3f..bc47f7100 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -1,6 +1,8 @@ #ifndef GUARD_SPRITE_H #define GUARD_SPRITE_H +#include "global.h" + #define MAX_SPRITES 64 struct SpriteSheet diff --git a/include/start_menu.h b/include/start_menu.h index 6c7cb3237..f5b38ee5e 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -1,6 +1,8 @@ #ifndef GUARD_START_MENU_H #define GUARD_START_MENU_H +#include "global.h" + void AppendToList(u8* list, u8* pos, u8 newEntry); #endif // GUARD_START_MENU_H diff --git a/include/string_util.h b/include/string_util.h index 2354c9ded..32e74e031 100644 --- a/include/string_util.h +++ b/include/string_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_STRING_UTIL_H #define GUARD_STRING_UTIL_H +#include "global.h" + enum StringConvertMode { STR_CONV_MODE_LEFT_ALIGN, diff --git a/include/strings.h b/include/strings.h index 8b218e1e9..40021a01d 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1,6 +1,8 @@ #ifndef GUARD_STRINGS_H #define GUARD_STRINGS_H +#include "global.h" + // Exported type declarations // Exported RAM declarations @@ -87,5 +89,7 @@ extern const u8 gText_Cancel4[]; extern const u8 gText_IsThisTheCorrectTime[]; extern const u8 gText_PkmnFainted3[]; extern const u8 gText_Coins[]; +extern const u8 gText_EggNickname[]; +extern const u8 gText_Pokemon[]; #endif //GUARD_STRINGS_H diff --git a/include/task.h b/include/task.h index a199ba128..cd3deb544 100644 --- a/include/task.h +++ b/include/task.h @@ -1,6 +1,8 @@ #ifndef GUARD_TASK_H #define GUARD_TASK_H +#include "global.h" + #define NUM_TASKS 16 typedef void (*TaskFunc)(u8 taskId); diff --git a/include/text.h b/include/text.h index 7853598f8..e127f103a 100644 --- a/include/text.h +++ b/include/text.h @@ -1,6 +1,8 @@ #ifndef GUARD_TEXT_H #define GUARD_TEXT_H +#include "global.h" + #define CHAR_SPACE 0x00 #define CHAR_0 0xA1 #define CHAR_QUESTION_MARK 0xAC @@ -159,7 +161,7 @@ extern const struct FontInfo *gFonts; struct GlyphWidthFunc { u32 font_id; - u32 (*func)(u16 glyphId, bool32 isJapanese); + s32 (*func)(u16 glyphId, bool32 isJapanese); }; struct KeypadIcon @@ -222,9 +224,9 @@ bool16 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter); bool16 TextPrinterWait(struct TextPrinter *textPrinter); void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex); u16 RenderText(struct TextPrinter *textPrinter); -u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); -u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); -u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); +s32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing); +s32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32); +s32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing); u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str); u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y); u8 GetKeypadIconTileOffset(u8 keypadIconId); @@ -234,19 +236,19 @@ void SetDefaultFontsPointer(void); u8 GetFontAttribute(u8 fontId, u8 attributeId); u8 GetMenuCursorDimensionByFont(u8 fontId, u8 whichDimension); void DecompressGlyphFont0(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont0(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont7(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont7(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont8(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont8(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont2(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont2(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont1(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont1(u16 glyphId, bool32 isJapanese); void DecompressGlyphFont9(u16 glyphId); -u32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); -u32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont3(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont4(u16 glyphId, bool32 isJapanese); +s32 GetGlyphWidthFont5(u16 glyphId, bool32 isJapanese); void sub_80062B0(struct Sprite *sprite); #endif // GUARD_TEXT_H diff --git a/include/text_window.h b/include/text_window.h index 3514296c1..72ce50efc 100644 --- a/include/text_window.h +++ b/include/text_window.h @@ -1,6 +1,8 @@ #ifndef GUARD_TEXT_WINDOW_H #define GUARD_TEXT_WINDOW_H +#include "global.h" + struct TilesPal { u32* tiles; diff --git a/include/tilesets.h b/include/tilesets.h index 70609c046..03274be60 100644 --- a/include/tilesets.h +++ b/include/tilesets.h @@ -1,6 +1,8 @@ #ifndef GUARD_tilesets_H #define GUARD_tilesets_H +#include "global.h" + // Exported type declarations // Exported RAM declarations diff --git a/include/trainer_classes.h b/include/trainer_classes.h index e5e26b359..3b93c3814 100644 --- a/include/trainer_classes.h +++ b/include/trainer_classes.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_CLASSES_H #define GUARD_TRAINER_CLASSES_H +#include "global.h" + enum { CLASS_PKMN_TRAINER0, // 0 diff --git a/include/trainer_front_sprites.h b/include/trainer_front_sprites.h index 3259bec88..8855041a5 100644 --- a/include/trainer_front_sprites.h +++ b/include/trainer_front_sprites.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_FRONT_SPRITES_H #define GUARD_TRAINER_FRONT_SPRITES_H +#include "global.h" + enum { TRAINER_FRONT_PIC_HIKER, @@ -54,8 +56,8 @@ enum TRAINER_FRONT_PIC_SCHOOL_KID_M, TRAINER_FRONT_PIC_SCHOOL_KID_F, TRAINER_FRONT_PIC_SR_JR, - TRAINER_FRONT_PIC_POKÉFAN_M, - TRAINER_FRONT_PIC_POKÉFAN_F, + TRAINER_FRONT_PIC_POKéFAN_M, + TRAINER_FRONT_PIC_POKéFAN_F, TRAINER_FRONT_PIC_YOUNGSTER, TRAINER_FRONT_PIC_WALLACE, TRAINER_FRONT_PIC_FISHERMAN, diff --git a/include/trainer_ids.h b/include/trainer_ids.h index 65c80187f..ebcb6e4e5 100644 --- a/include/trainer_ids.h +++ b/include/trainer_ids.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_IDS_H #define GUARD_TRAINER_IDS_H +#include "global.h" + #define NO_OF_TRAINERS 854 #define TRAINER_ID_STEVEN 804 diff --git a/include/trainer_see.h b/include/trainer_see.h index ab035d9f8..f87189377 100644 --- a/include/trainer_see.h +++ b/include/trainer_see.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRAINER_SEE_H #define GUARD_TRAINER_SEE_H +#include "global.h" + void sub_80B4578(struct MapObject *); u8 sub_80B47BC(void); void sub_8155D78(struct MapObject *); diff --git a/include/trig.h b/include/trig.h index a2f98a3e6..92388e05c 100644 --- a/include/trig.h +++ b/include/trig.h @@ -1,6 +1,8 @@ #ifndef GUARD_TRIG_H #define GUARD_TRIG_H +#include "global.h" + extern const s16 gSineTable[]; s16 Sin(s16 index, s16 amplitude); diff --git a/include/unk_8159F40.h b/include/unk_8159F40.h new file mode 100644 index 000000000..f0e85d416 --- /dev/null +++ b/include/unk_8159F40.h @@ -0,0 +1,9 @@ +#ifndef GUARD_UNK_8159F40_H +#define GUARD_UNK_8159F40_H + +#include "global.h" + +void sub_815A008(struct QuestLog *); +void sub_815A1F8(struct QuestLog *, struct MapObjectTemplate *); + +#endif //GUARD_UNK_8159F40_H diff --git a/include/unk_815c27c.h b/include/unk_815c27c.h new file mode 100644 index 000000000..cc1cbb7ce --- /dev/null +++ b/include/unk_815c27c.h @@ -0,0 +1,11 @@ +#ifndef GUARD_UNK_815C27C_H +#define GUARD_UNK_815C27C_H + +void sub_815C6D4(void); +void sub_815C6C4(void); +void sub_815C8C8(void); +void sub_815C960(void); +void sub_815C91C(void); +u16 sub_815C498(u8, size_t, const void *, u8); + +#endif //GUARD_UNK_815C27C_H diff --git a/include/unk_text_util.h b/include/unk_text_util.h index 72243a90e..750c0541e 100644 --- a/include/unk_text_util.h +++ b/include/unk_text_util.h @@ -1,6 +1,8 @@ #ifndef GUARD_UNK_TEXT_UTIL_H #define GUARD_UNK_TEXT_UTIL_H +#include "global.h" + void UnkTextUtil_Reset(void); void UnkTextUtil_SetPtrI(u8 idx, const u8 *ptr); u8 *UnkTextUtil_StringExpandPlaceholders(u8 *dest, const u8 *src); diff --git a/include/unknown_task.h b/include/unknown_task.h index 9c6968c30..429e58aad 100644 --- a/include/unknown_task.h +++ b/include/unknown_task.h @@ -1,6 +1,8 @@ #ifndef GUARD_unknown_task_H #define GUARD_unknown_task_H +#include "global.h" + // Exported type declarations struct UnknownTaskStruct { diff --git a/include/util.h b/include/util.h index 63887b13f..e0034d816 100644 --- a/include/util.h +++ b/include/util.h @@ -1,6 +1,8 @@ #ifndef GUARD_UTIL_H #define GUARD_UTIL_H +#include "global.h" + #include "sprite.h" extern const u8 gMiscBlank_Gfx[]; // unused in Emerald @@ -10,8 +12,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); int CountTrailingZeroBits(u32 value); -u16 CalcCRC16(u8 *data, s32 length); -u16 CalcCRC16WithTable(u8 *data, u32 length); +u16 CalcCRC16(const u8 *data, s32 length); +u16 CalcCRC16WithTable(const u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); #endif // GUARD_UTIL_H diff --git a/include/wild_encounter.h b/include/wild_encounter.h index 55bbaa7dd..2186e0b4f 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -1,6 +1,8 @@ #ifndef GUARD_WILD_ENCOUNTER_H #define GUARD_WILD_ENCOUNTER_H +#include "global.h" + #define LAND_WILD_COUNT 12 #define WATER_WILD_COUNT 5 #define ROCK_WILD_COUNT 5 @@ -40,5 +42,6 @@ void FishingWildEncounter(u8 rod); u16 GetLocalWildMon(bool8 *isWaterMon); u16 GetLocalWaterMon(void); bool8 UpdateRepelCounter(void); +void sub_8082740(u8); #endif // GUARD_WILD_ENCOUNTER_H diff --git a/include/window.h b/include/window.h index 1e29119ea..2705a7895 100644 --- a/include/window.h +++ b/include/window.h @@ -1,6 +1,8 @@ #ifndef GUARD_WINDOW_H #define GUARD_WINDOW_H +#include "global.h" + enum { WINDOW_PRIORITY, |