1 #ifndef __MAP_INTERFACE_BOTTOM
2 #define __MAP_INTERFACE_BOTTOM
3 
4 #include "Button_System.h"
5 #include "Types.h"
6 
7 
8 #define MAX_MESSAGES_ON_MAP_BOTTOM  9
9 
10 
11 enum ExitToWhere
12 {
13 	MAP_EXIT_TO_INVALID  = -1,
14 	MAP_EXIT_TO_LAPTOP   =  0,
15 	MAP_EXIT_TO_TACTICAL =  1,
16 	MAP_EXIT_TO_OPTIONS  =  2,
17 	MAP_EXIT_TO_LOAD,
18 	MAP_EXIT_TO_SAVE
19 };
20 
21 static inline ExitToWhere operator ++(ExitToWhere& a)
22 {
23 	return a = (ExitToWhere)(a + 1);
24 }
25 
26 
27 // there's no button for entering SAVE/LOAD screen directly...
28 extern GUIButtonRef guiMapBottomExitButtons[3];
29 
30 extern BOOLEAN fLapTop;
31 extern BOOLEAN fLeavingMapScreen;
32 extern BOOLEAN gfDontStartTransitionFromLaptop;
33 extern BOOLEAN gfStartMapScreenToLaptopTransition;
34 
35 
36 // function prototypes
37 
38 void LoadMapScreenInterfaceBottom(void);
39 void DeleteMapScreenInterfaceBottom( void );
40 void RenderMapScreenInterfaceBottom( void );
41 
42 // delete map bottom graphics
43 void DeleteMapBottomGraphics( void );
44 
45 // load bottom graphics
46 void HandleLoadOfMapBottomGraphics( void );
47 
48 // allowed to time compress?
49 BOOLEAN AllowedToTimeCompress( void );
50 
51 void EnableDisAbleMapScreenOptionsButton( BOOLEAN fEnable );
52 
53 // create and destroy masks to cover the time compression buttons as needed
54 void CreateDestroyMouseRegionMasksForTimeCompressionButtons();
55 
56 BOOLEAN CommonTimeCompressionChecks( void );
57 
58 bool AnyUsableRealMercenariesOnTeam();
59 
60 void    RequestTriggerExitFromMapscreen(ExitToWhere);
61 BOOLEAN AllowedToExitFromMapscreenTo(ExitToWhere);
62 void    HandleExitsFromMapScreen(void);
63 
64 void MapScreenMsgScrollDown( UINT8 ubLinesDown );
65 void MapScreenMsgScrollUp( UINT8 ubLinesUp );
66 
67 void ChangeCurrentMapscreenMessageIndex( UINT8 ubNewMessageIndex );
68 void MoveToEndOfMapScreenMessageList( void );
69 
70 
71 // the dirty state of the mapscreen interface bottom
72 extern BOOLEAN fMapScreenBottomDirty;
73 
74 #endif
75