home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 March / ENTER.ISO / files / fwp-0.0.6-win32-installer.exe / StartServerMenu.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-01-21  |  2.3 KB  |  99 lines

  1. #ifndef __StartServerMenu_h__
  2. #define __StartServerMenu_h__
  3.  
  4. #include "Menu.h"
  5. #include "Texture.h"
  6. #include "Console.h"
  7. #include "Game.h"
  8.  
  9. typedef struct arenaInfo_s{
  10.     char filename[CON_MAX_STRING_LENGTH];
  11.     char name[CON_MAX_STRING_LENGTH];
  12.     bool gameModeSupported[GAME_NUM_MODES];
  13.     Texture* thumbnail;
  14. }arenaInfo_t;
  15.  
  16.  
  17. class SSMExpertSettingsMenu:public Menu{
  18. public:
  19.  
  20.     SSMExpertSettingsMenu();
  21.     ~SSMExpertSettingsMenu();
  22.  
  23.     bool open();
  24.     bool close();
  25.     void drawBackground();
  26.  
  27.     void applySettings();
  28.     void updateSettings();
  29.  
  30. protected:
  31.     ToggleButton* portToggleButton;
  32.     char** portToggleButtonItems;
  33.     int portToggleButtonNumItems;
  34.  
  35.     ToggleButton* friendlyFireToggleButton;
  36.     char** friendlyFireToggleButtonItems;
  37.     int friendlyFireToggleButtonNumItems;
  38.  
  39.     ToggleButton* ghostTimeToggleButton;
  40.     char** ghostTimeToggleButtonItems;
  41.     int ghostTimeToggleButtonNumItems;
  42.  
  43.     ToggleButton* voiceMessagesToggleButton;
  44.     char** voiceMessagesToggleButtonItems;
  45.     int voiceMessagesToggleButtonNumItems;
  46.  
  47.     ToggleButton* maxClientIdleTimeToggleButton;
  48.     char** maxClientIdleTimeToggleButtonItems;
  49.     int maxClientIdleTimeToggleButtonNumItems;
  50. };
  51.  
  52.  
  53. class StartServerMenu:public Menu{
  54. public:
  55.     SSMExpertSettingsMenu* expertSettingsMenu;
  56.  
  57.     StartServerMenu();
  58.     ~StartServerMenu();
  59.  
  60.     bool open();
  61.     void applySettings();
  62.     void updateSettings();
  63. protected:
  64.     Texture* backgroundTexture;
  65.     void drawBackground();
  66. //    void drawArenasBar();
  67.  
  68.     TextButton* startButton;
  69.     Textfield* serverNameTextfield;
  70.     Textfield* serverDescriptionTextfield;
  71. //    Textfield* serverPortTextfield;
  72.     ToggleButton* maxPlayersToggleButton;
  73.     ToggleButton* gamemodeToggleButton;
  74.     ToggleButton* arenaToggleButton;
  75.  
  76.     vector<arenaInfo_t> arenaInfos;
  77.     void readArenaList();
  78.     void deleteArenaInfos();
  79.     arenaInfo_t readArenaInfo(File* f);
  80.  
  81.     vector<arenaCycleElement_t> arenaCycleElements;
  82.     void readArenaCycleElements();
  83.     void deleteArenaCycleElements();
  84.  
  85.     char* arenaToggleButtonItems[256];
  86.     int arenaToggleButtonNumItems;
  87.     void disableArenaToggleButton();
  88.     void updateArenaToggleButtonItems();
  89.  
  90.     char** maxPlayersToggleButtonItems;
  91.     int maxPlayersToggleButtonNumItems;
  92.  
  93.     char** gamemodeToggleButtonItems;
  94.     int gamemodeToggleButtonNumItems;
  95.  
  96. };
  97.  
  98. #endif    /* __StartServerMenu_h__ */
  99.