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