#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 HelpSystem_IsSinglePlayer(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 GetHelpSystemMenuLevel(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 HS_BufferFillMapWithTile1FF(void); void HS_ShowOrHideWordHELPinTopLeft(u8 mode); void HS_ShowOrHideControlsGuideInTopRight(u8 mode); void HS_ShowOrHideMainWindowText(u8 mode); void HS_SetMainWindowBgBrightness(u8 mode); void HS_ShowOrHideToplevelTooltipWindow(u8 mode); void HS_ShowOrHideHeaderAndFooterLines_Lighter(u8 mode); void HS_ShowOrHideHeaderAndFooterLines_Darker(u8 mode); void HS_ShowOrHideVerticalBlackBarsAlongSides(u8 mode); void HS_ShowOrHideHeaderLine_Darker_FooterStyle(u8 mode); void HS_ShowOrHideScrollArrows(u8 which, u8 mode); void HelpSystem_PrintTextRightAlign_Row52(const u8 *str); void HelpSystem_PrintTextAt(const u8 *, u8, u8); void HelpSystem_PrintQuestionAndAnswerPair(const u8 *a0, const u8 *a1); void HelpSystem_PrintTopicMouseoverDescription(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 HS_UpdateMenuScrollArrows(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_PrintTextInTopLeftCorner(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