1 #ifndef __INTERFACE_PANELS 2 #define __INTERFACE_PANELS 3 4 #include "Button_System.h" 5 #include "Interface.h" 6 #include "JA2Types.h" 7 #include "MouseSystem.h" 8 9 10 enum 11 { 12 STANCEUP_BUTTON = 0, 13 UPDOWN_BUTTON, 14 CLIMB_BUTTON, 15 STANCEDOWN_BUTTON, 16 HANDCURSOR_BUTTON, 17 PREVMERC_BUTTON, 18 NEXTMERC_BUTTON, 19 OPTIONS_BUTTON, 20 BURSTMODE_BUTTON, 21 LOOK_BUTTON, 22 TALK_BUTTON, 23 MUTE_BUTTON, 24 SM_DONE_BUTTON, 25 SM_MAP_SCREEN_BUTTON, 26 NUM_SM_BUTTONS 27 }; 28 29 30 enum 31 { 32 TEAM_DONE_BUTTON = 0, 33 TEAM_MAP_SCREEN_BUTTON, 34 CHANGE_SQUAD_BUTTON, 35 NUM_TEAM_BUTTONS 36 }; 37 38 39 #define NEW_ITEM_CYCLE_COUNT 19 40 #define NEW_ITEM_CYCLES 4 41 #define NUM_TEAM_SLOTS 6 42 43 44 #define PASSING_ITEM_DISTANCE_OKLIFE 3 45 #define PASSING_ITEM_DISTANCE_NOTOKLIFE 2 46 47 #define SHOW_LOCATOR_NORMAL 1 48 #define SHOW_LOCATOR_FAST 2 49 50 void CreateSMPanelButtons(void); 51 void RemoveSMPanelButtons(void); 52 void InitializeSMPanel(void); 53 void ShutdownSMPanel(void); 54 void RenderSMPanel(DirtyLevel*); 55 void EnableSMPanelButtons(BOOLEAN fEnable, BOOLEAN fFromItemPickup); 56 57 58 void CreateTEAMPanelButtons(void); 59 void RemoveTEAMPanelButtons(void); 60 void InitializeTEAMPanel(void); 61 void ShutdownTEAMPanel(void); 62 void RenderTEAMPanel(DirtyLevel); 63 64 65 void SetSMPanelCurrentMerc(SOLDIERTYPE* s); 66 void SetTEAMPanelCurrentMerc(void); 67 68 void InitTEAMSlots(void); 69 SOLDIERTYPE* GetPlayerFromInterfaceTeamSlot(UINT8 ubPanelSlot); 70 void RemoveAllPlayersFromSlot(void); 71 BOOLEAN RemovePlayerFromTeamSlot(const SOLDIERTYPE* s); 72 void CheckForAndAddMercToTeamPanel(SOLDIERTYPE* s); 73 74 void DisableTacticalTeamPanelButtons(BOOLEAN fDisable); 75 void RenderTownIDString(void); 76 77 void KeyRingItemPanelButtonCallback(MOUSE_REGION* pRegion, INT32 iReason); 78 void KeyRingSlotInvClickCallback(MOUSE_REGION* pRegion, INT32 iReason); 79 80 81 void ShowRadioLocator(SOLDIERTYPE* s, UINT8 ubLocatorSpeed); 82 void EndRadioLocator(SOLDIERTYPE* s); 83 84 85 extern MOUSE_REGION gSMPanelRegion; 86 87 88 extern BOOLEAN gfDisableTacticalPanelButtons; 89 90 91 //Used when the shop keeper interface is active 92 void ShopKeeperInterface_SetSMpanelButtonsState(bool enabled); 93 94 void ReEvaluateDisabledINVPanelButtons(void); 95 96 void CheckForDisabledForGiveItem(void); 97 void ReevaluateItemHatches(SOLDIERTYPE* s, BOOLEAN fEnable); 98 99 void HandlePanelFaceAnimations(SOLDIERTYPE* s); 100 101 void GoToMapScreenFromTactical(void); 102 103 void HandleTacticalEffectsOfEquipmentChange(SOLDIERTYPE* s, UINT32 uiInvPos, UINT16 usOldItem, UINT16 usNewItem); 104 105 void FinishAnySkullPanelAnimations(void); 106 107 SOLDIERTYPE* FindNextMercInTeamPanel(SOLDIERTYPE* prev); 108 109 void BeginKeyPanelFromKeyShortcut(void); 110 111 void UpdateForContOverPortrait(SOLDIERTYPE* s, BOOLEAN fOn); 112 113 void HandleLocateSelectMerc(SOLDIERTYPE*, bool force_select); 114 115 BOOLEAN HandleNailsVestFetish(const SOLDIERTYPE* pSoldier, UINT32 uiHandPos, UINT16 usReplaceItem); 116 117 extern SOLDIERTYPE* gpSMCurrentMerc; 118 extern GUIButtonRef iSMPanelButtons[NUM_SM_BUTTONS]; 119 extern GUIButtonRef iTEAMPanelButtons[NUM_TEAM_BUTTONS]; 120 extern GUIButtonRef giSMStealthButton; 121 extern SOLDIERTYPE* gSelectSMPanelToMerc; 122 extern MOUSE_REGION gSM_SELMERCMoneyRegion; 123 extern UINT8 gubHandPos; 124 extern UINT16 gusOldItemIndex; 125 extern UINT16 gusNewItemIndex; 126 extern BOOLEAN gfDeductPoints; 127 extern BOOLEAN gfSMDisableForItems; 128 129 void LoadInterfacePanelGraphics(); 130 void DeleteInterfacePanelGraphics(); 131 132 void ProgressBarBackgroundRect(const INT16 sLeft, const INT16 sTop, const INT16 sWidth, const INT16 sHeight, const UINT32 rgb, const UINT8 scale_rgb); 133 134 #endif 135