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