#ifndef GUARD_HELP_SYSTEM_H #define GUARD_HELP_SYSTEM_H #include "global.h" #include "list_menu.h" #include "blit.h" #include "constants/help_system.h" struct HelpSystemListMenu_sub { struct ListMenuItem * items; u16 totalItems; u16 maxShowed; u8 left; u8 top; }; struct HelpSystemListMenu { struct HelpSystemListMenu_sub sub; u8 itemsAbove; u8 cursorPos; u8 state; u8 filler_10[0xC]; }; extern struct HelpSystemListMenu gHelpSystemListMenu; extern struct ListMenuItem gHelpSystemListMenuItems[]; extern bool8 gHelpSystemEnabled; extern bool8 gHelpSystemToggleWithRButtonDisabled; // help_system_812B1E0 void SetHelpContextDontCheckBattle(u8); void SetHelpContextForMap(void); void SetHelpContext(u8); bool8 HelpSystem_UpdateHasntSeenIntro(void); bool8 sub_812B45C(void); void HelpSystem_Disable(void); void HelpSystem_Enable(void); void HelpSystem_EnableToggleWithRButton(void); bool8 RunHelpMenuSubroutine(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpSystemSubroutine_PrintWelcomeMessage(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpSystemSubroutine_WelcomeWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpSystemSubroutine_WelcomeEndGotoMenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpSystemSubroutine_MenuInputHandlerMain(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpMenuSubroutine_InitSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpMenuSubroutine_ReturnFromSubmenu(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpMenuSubroutine_SubmenuInputHandler(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); void HelpSystem_PrintTopicLabel(void); bool8 HelpMenuSubroutine_HelpItemPrint(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpMenuSubroutine_ReturnFromHelpItem(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 HelpMenuSubroutine_HelpItemWaitButton(struct HelpSystemListMenu * helpListMenu, struct ListMenuItem * listMenuItemsBuffer); bool8 sub_812BF88(void); // help_system bool8 RunHelpSystemCallback(void); void SaveCallbacks(void); void SaveMapGPURegs(void); void SaveMapTiles(void); void SaveMapTextColors(void); void RestoreCallbacks(void); void RestoreGPURegs(void); void RestoreMapTiles(void); void RestoreMapTextColors(void); void CommitTilemap(void); void sub_813BCF4(void); void sub_813BD14(u8); void sub_813BD5C(u8); void sub_813BDA4(u8); void sub_813BDE8(u8); void sub_813BE30(u8); void sub_813BE78(u8); void sub_813BEE4(u8); void sub_813BF50(u8); void sub_813BFC0(u8); void sub_813C004(u8, u8); void HelpSystem_PrintTextRightAlign_Row52(const u8 *str); void HelpSystem_PrintTextAt(const u8 *, u8, u8); void HelpSystem_PrintTwoStrings(const u8 *a0, const u8 *a1); void HelpSystem_PrintText_813C584(const u8 *str); void HelpSystem_FillPanel2(void); void HelpSystem_FillPanel1(void); void HelpSystem_InitListMenuController(struct HelpSystemListMenu *, u8, u8); void HelpSystem_SetInputDelay(u8); s32 HelpSystem_GetMenuInput(void); void sub_813C75C(void); void DecompressAndRenderGlyph(u8 font, u16 glyph, struct Bitmap *srcBlit, struct Bitmap *destBlit, u8 *destBuffer, u8 x, u8 y, u8 width, u8 height); void HelpSystem_PrintText_Row61(const u8 * str); void HelpSystem_FillPanel3(void); void PrintListMenuItems(void); void PlaceListMenuCursor(void); bool8 MoveCursor(u8 by, u8 dirn); void BackupHelpContext(void); void RestoreHelpContext(void); void HelpSystemRenderText(u8 font, u8 * dest, const u8 * src, u8 x, u8 y, u8 width, u8 height); void HelpSystem_DisableToggleWithRButton(void); #endif //GUARD_HELP_SYSTEM_H