Interface Panels.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #ifndef __INTERFACE_PANELS
  2. #define __INTERFACE_PANELS
  3. typedef enum
  4. {
  5. STANCEUP_BUTTON = 0,
  6. UPDOWN_BUTTON,
  7. CLIMB_BUTTON,
  8. STANCEDOWN_BUTTON,
  9. HANDCURSOR_BUTTON,
  10. PREVMERC_BUTTON,
  11. NEXTMERC_BUTTON,
  12. OPTIONS_BUTTON,
  13. BURSTMODE_BUTTON,
  14. LOOK_BUTTON,
  15. TALK_BUTTON,
  16. MUTE_BUTTON,
  17. SM_DONE_BUTTON,
  18. SM_MAP_SCREEN_BUTTON,
  19. NUM_SM_BUTTONS
  20. };
  21. typedef enum
  22. {
  23. TEAM_DONE_BUTTON = 0,
  24. TEAM_MAP_SCREEN_BUTTON,
  25. CHANGE_SQUAD_BUTTON,
  26. NUM_TEAM_BUTTONS
  27. };
  28. #define NEW_ITEM_CYCLE_COUNT 19
  29. #define NEW_ITEM_CYCLES 4
  30. #define NUM_TEAM_SLOTS 6
  31. #define PASSING_ITEM_DISTANCE_OKLIFE 3
  32. #define PASSING_ITEM_DISTANCE_NOTOKLIFE 2
  33. #define SHOW_LOCATOR_NORMAL 1
  34. #define SHOW_LOCATOR_FAST 2
  35. BOOLEAN CreateSMPanelButtons( );
  36. void RemoveSMPanelButtons( );
  37. BOOLEAN InitializeSMPanel( );
  38. BOOLEAN ShutdownSMPanel( );
  39. void RenderSMPanel( BOOLEAN *pfDirty );
  40. void EnableSMPanelButtons( BOOLEAN fEnable, BOOLEAN fFromItemPickup );
  41. BOOLEAN CreateTEAMPanelButtons( );
  42. void RemoveTEAMPanelButtons( );
  43. BOOLEAN InitializeTEAMPanel( );
  44. BOOLEAN ShutdownTEAMPanel( );
  45. void RenderTEAMPanel( BOOLEAN fDirty );
  46. void UpdateTEAMPanel( );
  47. void SetSMPanelCurrentMerc( UINT8 ubNewID );
  48. void SetTEAMPanelCurrentMerc( UINT8 ubNewID );
  49. UINT16 GetSMPanelCurrentMerc( );
  50. void UpdateSMPanel( );
  51. BOOLEAN InitTEAMSlots( );
  52. void AddPlayerToInterfaceTeamSlot( UINT8 ubID );
  53. BOOLEAN RemovePlayerFromInterfaceTeamSlot( UINT8 ubID );
  54. BOOLEAN GetPlayerIDFromInterfaceTeamSlot( UINT8 ubPanelSlot, UINT8 *pubID );
  55. void RemoveAllPlayersFromSlot( );
  56. BOOLEAN PlayerExistsInSlot( UINT8 ubID );
  57. BOOLEAN RemovePlayerFromTeamSlotGivenMercID( UINT8 ubMercID );
  58. void CheckForAndAddMercToTeamPanel( SOLDIERTYPE *pSoldier );
  59. void DisableTacticalTeamPanelButtons( BOOLEAN fDisable );
  60. void RenderTownIDString( );
  61. void KeyRingSlotInvClickCallback( MOUSE_REGION * pRegion, INT32 iReason );
  62. // ATE TO BE MOVED TO INTERFACE_ITEMS.C
  63. INT8 gbNewItem[ NUM_INV_SLOTS ];
  64. INT8 gbNewItemCycle[ NUM_INV_SLOTS ];
  65. UINT8 gubNewItemMerc;
  66. void ShowRadioLocator( UINT8 ubID, UINT8 ubLocatorSpeed );
  67. void EndRadioLocator( UINT8 ubID );
  68. MOUSE_REGION gSMPanelRegion;
  69. UINT32 guiSecItemHiddenVO;
  70. extern BOOLEAN gfDisableTacticalPanelButtons;
  71. typedef struct
  72. {
  73. UINT8 ubID;
  74. BOOLEAN fOccupied;
  75. } TEAM_PANEL_SLOTS_TYPE;
  76. TEAM_PANEL_SLOTS_TYPE gTeamPanel[ NUM_TEAM_SLOTS ];
  77. //Used when the shop keeper interface is active
  78. void DisableSMPpanelButtonsWhenInShopKeeperInterface( BOOLEAN fDontDrawButtons );
  79. //void DisableSMPpanelButtonsWhenInShopKeeperInterface( );
  80. //
  81. void ReEvaluateDisabledINVPanelButtons( );
  82. void CheckForReEvaluateDisabledINVPanelButtons( );
  83. void CheckForDisabledForGiveItem( );
  84. void ReevaluateItemHatches( SOLDIERTYPE *pSoldier, BOOLEAN fEnable );
  85. void HandlePanelFaceAnimations( SOLDIERTYPE *pSoldier );
  86. void GoToMapScreenFromTactical( void );
  87. void HandleTacticalEffectsOfEquipmentChange( SOLDIERTYPE *pSoldier, UINT32 uiInvPos, UINT16 usOldItem, UINT16 usNewItem );
  88. void FinishAnySkullPanelAnimations( );
  89. UINT8 FindNextMercInTeamPanel( SOLDIERTYPE *pSoldier, BOOLEAN fGoodForLessOKLife, BOOLEAN fOnlyRegularMercs );
  90. #endif