#ifndef _HELP_SCREEN__H_ #define _HELP_SCREEN__H_ //enum used for the different help screens that can come up enum { HELP_SCREEN_LAPTOP, HELP_SCREEN_MAPSCREEN, HELP_SCREEN_MAPSCREEN_NO_ONE_HIRED, HELP_SCREEN_MAPSCREEN_NOT_IN_ARULCO, HELP_SCREEN_MAPSCREEN_SECTOR_INVENTORY, HELP_SCREEN_TACTICAL, HELP_SCREEN_OPTIONS, HELP_SCREEN_LOAD_GAME, HELP_SCREEN_NUMBER_OF_HELP_SCREENS, }; typedef struct { INT8 bCurrentHelpScreen; UINT32 uiFlags; UINT16 usHasPlayerSeenHelpScreenInCurrentScreen; UINT8 ubHelpScreenDirty; UINT16 usScreenLocX; UINT16 usScreenLocY; UINT16 usScreenWidth; UINT16 usScreenHeight; INT32 iLastMouseClickY; //last position the mouse was clicked ( if != -1 ) INT8 bCurrentHelpScreenActiveSubPage; //used to keep track of the current page being displayed INT8 bNumberOfButtons; //used so if the user checked the box to show the help, it doesnt automatically come up every frame BOOLEAN fHaveAlreadyBeenInHelpScreenSinceEnteringCurrenScreen; INT8 bDelayEnteringHelpScreenBy1FrameCount; UINT16 usLeftMarginPosX; UINT16 usCursor; BOOLEAN fWasTheGamePausedPriorToEnteringHelpScreen; //scroll variables UINT16 usTotalNumberOfPixelsInBuffer; INT32 iLineAtTopOfTextBuffer; UINT16 usTotalNumberOfLinesInBuffer; BOOLEAN fForceHelpScreenToComeUp; } HELP_SCREEN_STRUCT; extern HELP_SCREEN_STRUCT gHelpScreen; BOOLEAN ShouldTheHelpScreenComeUp( UINT8 ubScreenID, BOOLEAN fForceHelpScreenToComeUp ); void HelpScreenHandler(); void InitHelpScreenSystem(); void NewScreenSoResetHelpScreen( ); INT8 HelpScreenDetermineWhichMapScreenHelpToShow(); #endif