1 #ifndef _HELP_SCREEN__H_ 2 #define _HELP_SCREEN__H_ 3 4 5 //enum used for the different help screens that can come up 6 enum HelpScreenID 7 { 8 HELP_SCREEN_NONE = -1, 9 HELP_SCREEN_LAPTOP, 10 HELP_SCREEN_MAPSCREEN, 11 HELP_SCREEN_MAPSCREEN_NO_ONE_HIRED, 12 HELP_SCREEN_MAPSCREEN_NOT_IN_ARULCO, 13 HELP_SCREEN_MAPSCREEN_SECTOR_INVENTORY, 14 HELP_SCREEN_TACTICAL, 15 HELP_SCREEN_OPTIONS, 16 HELP_SCREEN_LOAD_GAME, 17 18 HELP_SCREEN_NUMBER_OF_HELP_SCREENS, 19 }; 20 21 22 struct HELP_SCREEN_STRUCT 23 { 24 HelpScreenID bCurrentHelpScreen; 25 UINT32 uiFlags; 26 27 UINT16 usHasPlayerSeenHelpScreenInCurrentScreen; 28 29 UINT8 ubHelpScreenDirty; 30 31 UINT16 usScreenLocX; 32 UINT16 usScreenLocY; 33 UINT16 usScreenWidth; 34 UINT16 usScreenHeight; 35 36 INT32 iLastMouseClickY; //last position the mouse was clicked ( if != -1 ) 37 38 INT8 bCurrentHelpScreenActiveSubPage; //used to keep track of the current page being displayed 39 40 INT8 bNumberOfButtons; 41 42 //used so if the user checked the box to show the help, it doesnt automatically come up every frame 43 BOOLEAN fHaveAlreadyBeenInHelpScreenSinceEnteringCurrenScreen; 44 45 INT8 bDelayEnteringHelpScreenBy1FrameCount; 46 UINT16 usLeftMarginPosX; 47 48 UINT16 usCursor; 49 50 BOOLEAN fWasTheGamePausedPriorToEnteringHelpScreen; 51 52 53 54 //scroll variables 55 UINT16 usTotalNumberOfPixelsInBuffer; 56 UINT32 uiLineAtTopOfTextBuffer; 57 UINT16 usTotalNumberOfLinesInBuffer; 58 BOOLEAN fForceHelpScreenToComeUp; 59 }; 60 61 extern HELP_SCREEN_STRUCT gHelpScreen; 62 63 64 BOOLEAN ShouldTheHelpScreenComeUp(HelpScreenID, BOOLEAN fForceHelpScreenToComeUp); 65 void HelpScreenHandler(void); 66 void InitHelpScreenSystem(void); 67 void NewScreenSoResetHelpScreen(void); 68 HelpScreenID HelpScreenDetermineWhichMapScreenHelpToShow(); 69 70 71 #endif 72