diff options
author | PikalaxALT <PikalaxALT@users.noreply.github.com> | 2019-10-14 10:29:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-14 10:29:13 -0400 |
commit | 8efae5c807bf6b27f5c90bfb0c5887dbde24f10d (patch) | |
tree | 0680b08568c4c38b96b78d793e7426a85016dce6 /include | |
parent | 6bffe8613e2f764a03f551ad61b360dab9395eec (diff) | |
parent | d4c9b7782835ec6e31fee4e7c18351658da087cd (diff) |
Merge pull request #118 from PikalaxALT/start_menu
Decompile start_menu
Diffstat (limited to 'include')
-rw-r--r-- | include/event_scripts.h | 7 | ||||
-rw-r--r-- | include/field_fadetransition.h | 1 | ||||
-rw-r--r-- | include/fieldmap.h | 2 | ||||
-rw-r--r-- | include/gba/macro.h | 31 | ||||
-rw-r--r-- | include/help_system.h | 6 | ||||
-rw-r--r-- | include/item_menu.h | 2 | ||||
-rw-r--r-- | include/link_rfu.h | 1 | ||||
-rw-r--r-- | include/load_save.h | 2 | ||||
-rw-r--r-- | include/menu.h | 2 | ||||
-rw-r--r-- | include/new_game.h | 2 | ||||
-rw-r--r-- | include/new_menu_helpers.h | 8 | ||||
-rw-r--r-- | include/option_menu.h | 6 | ||||
-rw-r--r-- | include/overworld.h | 3 | ||||
-rw-r--r-- | include/party_menu.h | 1 | ||||
-rw-r--r-- | include/pokedex_screen.h | 6 | ||||
-rw-r--r-- | include/quest_log.h | 10 | ||||
-rw-r--r-- | include/save.h | 2 | ||||
-rw-r--r-- | include/save_menu_util.h | 15 | ||||
-rw-r--r-- | include/start_menu.h | 7 | ||||
-rw-r--r-- | include/strings.h | 32 | ||||
-rw-r--r-- | include/trainer_card.h | 3 |
21 files changed, 131 insertions, 18 deletions
diff --git a/include/event_scripts.h b/include/event_scripts.h index ce9d0bbf5..99b453c85 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1161,4 +1161,11 @@ extern const u8 EventScript_ResetAllMapFlags[]; // player_pc extern const u8 EventScript_PalletTown_PlayersHouse_2F_ShutDownPC[]; +// start_menu +extern const u8 gText_WouldYouLikeToSaveTheGame[]; +extern const u8 gText_AlreadySaveFile_WouldLikeToOverwrite[]; +extern const u8 gText_SavingDontTurnOffThePower[]; +extern const u8 gText_PlayerSavedTheGame[]; +extern const u8 gText_DifferentGameFile[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index fe67fec30..22849a37d 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -15,6 +15,7 @@ void sub_807DF64(void); void sub_807DC18(void); void FieldCallback_ReturnToEventScript2(void); void sub_807DC00(void); +void FadeTransition_FadeInOnReturnToStartMenu(void); bool32 sub_807E418(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index 7bedb1d94..dde05b7ed 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -26,4 +26,6 @@ u32 GetBehaviorByMetatileIdAndMapData(struct MapData *mapData, u16 metatile, u8 const struct MapHeader * mapconnection_get_mapheader(struct MapConnection * connection); struct MapConnection * GetMapConnectionAtPos(s16 x, s16 y); +void save_serialize_map(void); + #endif //GUARD_FIELDMAP_H diff --git a/include/gba/macro.h b/include/gba/macro.h index c0a4e481b..01bb85b7a 100644 --- a/include/gba/macro.h +++ b/include/gba/macro.h @@ -121,10 +121,31 @@ } \ } +#define DmaFillLarge(dmaNum, value, dest, size, block, bit) \ +{ \ + void *_dest = (void *)dest; \ + u32 _size = size; \ + while (1) \ + { \ + DmaFill##bit(dmaNum, value, _dest, (block)); \ + _dest += (block); \ + _size -= (block); \ + if (_size <= (block)) \ + { \ + DmaFill##bit(dmaNum, value, _dest, _size); \ + break; \ + } \ + } \ +} + #define DmaCopyLarge16(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 16) #define DmaCopyLarge32(dmaNum, src, dest, size, block) DmaCopyLarge(dmaNum, src, dest, size, block, 32) +#define DmaFillLarge16(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 16) + +#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, 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) @@ -139,4 +160,14 @@ #define DmaCopy16Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 16) #define DmaCopy32Defvars(dmaNum, src, dest, size) DmaCopyDefvars(dmaNum, src, dest, size, 32) +#define DmaFillDefvars(dmaNum, value, dest, size, bit) \ +{ \ + void *_dest = (void *)dest; \ + u32 _size = size; \ + DmaFill##bit(dmaNum, value, _dest, _size); \ +} + +#define DmaFill16Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 16) +#define DmaFill32Defvars(dmaNum, value, dest, size) DmaFillDefvars(dmaNum, value, dest, size, 32) + #endif // GUARD_GBA_MACRO_H diff --git a/include/help_system.h b/include/help_system.h index ff77d01d6..53dc45014 100644 --- a/include/help_system.h +++ b/include/help_system.h @@ -29,7 +29,7 @@ extern bool8 gHelpSystemEnabled; extern u8 gUnknown_203F175; // help_system_812B1E0 -void sub_812B1E0(u8); +void HelpSystem_SetSomeVariable(u8); void HelpSystem_SetSomeVariable2(u8); bool8 sub_812B40C(void); bool8 sub_812B45C(void); @@ -89,7 +89,7 @@ void HelpSystem_FillPanel3(void); void PrintListMenuItems(void); void PlaceListMenuCursor(void); bool8 MoveCursor(u8 by, u8 dirn); -void sub_812B234(void); -void sub_812B248(void); +void HelpSystem_BackupSomeVariable(void); +void HelpSystem_RestoreSomeVariable(void); #endif //GUARD_HELP_SYSTEM_H diff --git a/include/item_menu.h b/include/item_menu.h index 83b8d6d15..166906ebe 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -28,7 +28,7 @@ void sub_81AAC70(void); void sub_8108CF0(void); void sub_81089BC(void); void sub_810B108(u8); -void ReturnToBagFromKeyItem(void); +void CB2_BagMenuFromStartMenu(void); void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2); void ItemMenu_StartFadeToExitCallback(u8 taskId); void sub_8108CB4(void); diff --git a/include/link_rfu.h b/include/link_rfu.h index 2757e5296..2be9dd3c9 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -39,5 +39,6 @@ bool32 sub_80FAEF0(void); bool32 IsRfuRecvQueueEmpty(void); u32 GetRfuRecvQueueLength(void); void sub_80F8DC0(void); +void var_800D_set_xB(void); #endif //GUARD_LINK_RFU_H diff --git a/include/load_save.h b/include/load_save.h index bd33f89c8..2406b5f03 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -26,5 +26,7 @@ void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); void ApplyNewEncryptionKeyToBagItems(u32 encryptionKey); void ApplyNewEncryptionKeyToWord(u32 * word, u32 encryptionKey); void ApplyNewEncryptionKeyToHword(u16 * hword, u32 encryptionKey); +void sav2_gender2_inplace_and_xFE(void); +void sub_804C1C0(void); #endif // GUARD_LOAD_SAVE_H diff --git a/include/menu.h b/include/menu.h index 6f358d34e..b6d757f85 100644 --- a/include/menu.h +++ b/include/menu.h @@ -21,7 +21,7 @@ struct MenuAction void AddTextPrinterParameterized3(u8 windowId, u8 fontId, u8 x, u8 y, const u8 * color, s8 speed, const u8 * str); void AddTextPrinterParameterized4(u8 windowId, u8 fontId, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, const u8 *color, s8 speed, const u8 *str); void AddTextPrinterParameterized5(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 speed, void (*callback)(struct TextPrinterTemplate *, u16), u8 letterSpacing, u8 lineSpacing); -void sub_812E6DC(u8 windowId, const u8 * src, u16 x, u16 y); +void Menu_PrintFormatIntlPlayerName(u8 windowId, const u8 * src, u16 x, u16 y); void StartBlendTask(u8 eva_start, u8 evb_start, u8 eva_end, u8 evb_end, u8 ev_step, u8 priority); bool8 IsBlendTaskActive(void); u8 sub_812EA78(u16 species, u32 personality, u8 a2); diff --git a/include/new_game.h b/include/new_game.h index ed40546ba..bf048718a 100644 --- a/include/new_game.h +++ b/include/new_game.h @@ -3,6 +3,8 @@ #include "global.h" +extern bool8 gDifferentSaveFile; + void SetTrainerId(u32 trainerId, u8 *dst); void CopyTrainerId(u8 *dst, u8 *src); void NewGameInitData(void); diff --git a/include/new_menu_helpers.h b/include/new_menu_helpers.h index a7555c505..644e65289 100644 --- a/include/new_menu_helpers.h +++ b/include/new_menu_helpers.h @@ -26,7 +26,7 @@ u16 AddTextPrinterParameterized2(u8 windowId, u8 fontId, const u8 *str, u8 speed void AddTextPrinterDiffStyle(bool8 allowSkippingDelayWithButtonPress); void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddTextPrinterWithCustomSpeedForMessage(bool8 allowSkippingDelayWithButtonPress, u8 speed); -void sub_80F6E9C(void); +void LoadStdWindowFrameGfx(void); void DrawDialogueFrame(u8 windowId, bool8 transfer); void DrawStdWindowFrame(u8 windowId, bool8 copyNow); void ClearDialogWindowAndFrame(u8 windowId, bool8 copyToVram); @@ -41,12 +41,12 @@ void DisplayItemMessageOnField(u8 taskId, u8 bgId, const u8 *src, TaskFunc callb void DisplayYesNoMenuDefaultYes(void); void DisplayYesNoMenuDefaultNo(void); u8 GetTextSpeedSetting(void); -u8 sub_80F78E0(u8 height); +u8 CreateStartMenuWindow(u8 height); u8 GetStartMenuWindowId(void); void RemoveStartMenuWindow(void); u16 GetStdWindowBaseTileNum(void); -void sub_80F7974(const u8 * text); -void sub_80F7998(void); +void DrawHelpMessageWindowWithText(const u8 * text); +void DestroyHelpMessageWindow_(void); void sub_80F79A4(void); void SetDefaultFontsPointer(void); diff --git a/include/option_menu.h b/include/option_menu.h new file mode 100644 index 000000000..21a508973 --- /dev/null +++ b/include/option_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_OPTION_MENU_H +#define GUARD_OPTION_MENU_H + +void CB2_OptionsMenuFromStartMenu(void); + +#endif //GUARD_OPTION_MENU_H diff --git a/include/overworld.h b/include/overworld.h index d221e88d1..38c213707 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -38,6 +38,7 @@ extern MainCallback gFieldCallback; extern struct WarpData gUnknown_2031DBC; extern u8 gUnknown_2031DE0; +extern u8 gUnknown_300502C; void IncrementGameStat(u8 index); @@ -138,4 +139,6 @@ bool32 Overworld_DoScrollSceneForCredits(u8 *, const struct CreditsOverworldCmd bool32 sub_8058318(void); +void CB2_ReturnToStartMenu(void); + #endif //GUARD_OVERWORLD_H diff --git a/include/party_menu.h b/include/party_menu.h index 16dccb6d8..5b9b6e1c4 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -83,5 +83,6 @@ void sub_8127EC4(u8 battlerId, u8 unk, u8 arrayIndex); bool8 IsMultiBattle(void); void sub_8126EDC(void); void PartyMenuInit_FromPlayerPc(void); +void CB2_PartyMenuFromStartMenu(void); #endif // GUARD_PARTY_MENU_H diff --git a/include/pokedex_screen.h b/include/pokedex_screen.h new file mode 100644 index 000000000..8855a47fc --- /dev/null +++ b/include/pokedex_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_POKEDEX_SCREEN_H +#define GUARD_POKEDEX_SCREEN_H + +void CB2_OpenPokedexFromStartMenu(void); + +#endif //GUARD_POKEDEX_SCREEN_H diff --git a/include/quest_log.h b/include/quest_log.h index 8a2816c74..d3ccbe3da 100644 --- a/include/quest_log.h +++ b/include/quest_log.h @@ -28,14 +28,18 @@ u8 sub_8112CAC(void); bool8 sub_81119D4(void (*func)(void)); void sub_8111F38(u16, u16); void sub_8111134(void); -void sub_8112EDC(u8 a0); -u8 sub_8112EB4(void); -void sub_8113018(const u8 * text, u8 mode); +void DestroyHelpMessageWindow(u8 a0); +u8 CreateHelpMessageWindow(void); +void PrintTextOnHelpMessageWindow(const u8 * text, u8 mode); void MapNamePopupWindowIdSetDummy(void); void sub_8111CF0(void); void sub_811089C(void); void sub_8113044(void); void TrySetUpQuestLogScenes_ElseContinueFromSave(u8 taskId); +void sub_8112450(void); +void sub_8112364(void); +u8 sub_8112CAC(void); +void sub_81138F8(void); extern u8 gUnknown_203ADFA; diff --git a/include/save.h b/include/save.h index 7a74373c8..41d2ec666 100644 --- a/include/save.h +++ b/include/save.h @@ -84,7 +84,7 @@ extern u16 gSaveUnusedVar; extern u16 gSaveFileStatus; extern void (*gGameContinueCallback)(void); extern struct SaveBlockChunk gRamSaveSectionLocations[0xE]; -extern u16 gUnknown_3005420; +extern u16 gSaveSucceeded; extern struct SaveSection gSaveDataBuffer; diff --git a/include/save_menu_util.h b/include/save_menu_util.h new file mode 100644 index 000000000..f2a18a777 --- /dev/null +++ b/include/save_menu_util.h @@ -0,0 +1,15 @@ +#ifndef GUARD_SAVE_MENU_UTIL_H +#define GUARD_SAVE_MENU_UTIL_H + +enum SaveStat +{ + SAVE_STAT_NAME = 0, + SAVE_STAT_POKEDEX, + SAVE_STAT_TIME, + SAVE_STAT_LOCATION, + SAVE_STAT_BADGES +}; + +void SaveStatToString(u8 a0, u8 *a1, u8 a2); + +#endif //GUARD_SAVE_MENU_UTIL_H diff --git a/include/start_menu.h b/include/start_menu.h index c4a3ce19d..90fe7109a 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -4,7 +4,10 @@ #include "global.h" void AppendToList(u8* list, u8* pos, u8 newEntry); -void sub_806F1F0(u8 taskId); -void sub_806F1D4(void); +void Task_StartMenuHandleInput(u8 taskId); +void SetUpReturnToStartMenu(void); +void ShowStartMenu(void); +void Field_AskSaveTheGame(void); +void CB2_SetUpSaveAfterLinkBattle(void); #endif // GUARD_START_MENU_H diff --git a/include/strings.h b/include/strings.h index d6608812f..2c2756eb5 100644 --- a/include/strings.h +++ b/include/strings.h @@ -77,8 +77,8 @@ extern const u8 gText_Ferry[]; extern const u8 gText_SecretBase[]; extern const u8 gText_Hideout[]; extern const u8 gText_FlyToWhere[]; -extern const u8 gText_PokemonLeague[]; -extern const u8 gText_PokemonCenter[]; +extern const u8 gStartMenuText_PokemonLeague[]; +extern const u8 gStartMenuText_PokemonCenter[]; extern const u8 gText_ApostropheSBase[]; extern const u8 gText_NoRegistry[]; extern const u8 gText_OkayToDeleteFromRegistry[]; @@ -90,7 +90,7 @@ 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[]; +extern const u8 gStartMenuText_Pokemon[]; extern const u8 gText_PkmnFainted3[]; extern const u8 gOtherText_Use[]; @@ -446,4 +446,30 @@ extern const u8 gText_MessageWillBeLost[]; extern const u8 gText_BagIsFull[]; extern const u8 gText_MailReturnedToBagMessageErased[]; +// start_menu +extern const u8 gStartMenuText_Pokedex[]; +extern const u8 gStartMenuText_Pokemon[]; +extern const u8 gStartMenuText_Bag[]; +extern const u8 gStartMenuText_Player[]; +extern const u8 gStartMenuText_Save[]; +extern const u8 gStartMenuText_Option[]; +extern const u8 gStartMenuText_Exit[]; +extern const u8 gStartMenuText_Retire[]; +extern const u8 gUnknown_84162A9[]; +extern const u8 gStartMenuDesc_Pokedex[]; +extern const u8 gStartMenuDesc_Pokemon[]; +extern const u8 gStartMenuDesc_Bag[]; +extern const u8 gStartMenuDesc_Player[]; +extern const u8 gStartMenuDesc_Save[]; +extern const u8 gStartMenuDesc_Option[]; +extern const u8 gStartMenuDesc_Exit[]; +extern const u8 gStartMenuDesc_Retire[]; +extern const u8 gStartMenuDesc_Player[]; +extern const u8 gText_SaveError_PleaseExchangeBackupMemory[]; +extern const u8 gText_SavingDontTurnOffThePower2[]; +extern const u8 gSaveStatName_Player[]; +extern const u8 gSaveStatName_Badges[]; +extern const u8 gSaveStatName_Pokedex[]; +extern const u8 gSaveStatName_Time[]; + #endif //GUARD_STRINGS_H diff --git a/include/trainer_card.h b/include/trainer_card.h index e8531cef5..b38754988 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -40,4 +40,7 @@ struct TrainerCard extern struct TrainerCard gTrainerCards[4]; +void InitTrainerCard(MainCallback callback); +void InitLinkPartnerTrainerCard(u8 whoseCard, MainCallback callback); + #endif //GUARD_TRAINER_CARD_H |