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

  1. #ifndef __OptionsMenu_h__
  2. #define __OptionsMenu_h__
  3.  
  4. #include "Menu.h"
  5. #include "Texture.h"
  6. //#include "font.h"
  7. //#include "sound.h"
  8.  
  9.  
  10. class OMGraphicsMenu:public Menu{
  11. public:
  12.     OMGraphicsMenu();
  13.  
  14.     ToggleButton* modeToggleButton;
  15.     ToggleButton* bppToggleButton;
  16.     ToggleButton* fullscreenToggleButton;
  17.  
  18.     ToggleButton* lightingModeToggleButton;
  19.     ToggleButton* dynamicLightingToggleButton;
  20.     ToggleButton* shadeVehiclesToggleButton;
  21.  
  22.     ToggleButton* particleEffectsToggleButton;
  23.  
  24.     bool open();
  25.     void updateSettings();
  26.     void applySettings();
  27.  
  28. protected:
  29.     void drawBackground();
  30.  
  31. };
  32.  
  33. class OMSoundMenu:public Menu{
  34. public:
  35.     OMSoundMenu();
  36.  
  37.     ToggleButton* enableSoundToggleButton;
  38.     ToggleButton* stereoToggleButton;
  39.  
  40.     ToggleButton* playSoundEffectsToggleButton;
  41.     ToggleButton* soundEffectsVolumeToggleButton;
  42.     ToggleButton* soundEffectsSampleRateToggleButton;
  43.     ToggleButton* soundEffectsNumChannelsToggleButton;
  44.  
  45.     ToggleButton* playMusicToggleButton;
  46.     ToggleButton* musicVolumeToggleButton;
  47.  
  48.     bool open();
  49.     void updateSettings();
  50.     void applySettings();
  51.  
  52. protected:
  53.     void drawBackground();
  54.  
  55. };
  56.  
  57.  
  58. class OMPlayerMenu:public Menu{
  59. public:
  60.     OMPlayerMenu();
  61.  
  62.     Textfield* nameTextfield;
  63.     ToggleButton* colorToggleButton;
  64.     ToggleButton* voiceToggleButton;
  65.  
  66.     bool open();
  67.     bool close();
  68.     void updateSettings();
  69.     void applySettings();
  70.  
  71. protected:
  72.     void drawBackground();
  73.  
  74. };
  75.  
  76. class OMControlsMenu:public Menu{
  77. public:
  78.     OMControlsMenu();
  79.  
  80.     bool open();
  81.     bool close();
  82.     void updateSettings();
  83.     void applySettings();
  84.  
  85. protected:
  86.     void drawBackground();
  87.  
  88. };
  89.  
  90. class OMHudMenu:public Menu{
  91. public:
  92.     OMHudMenu();
  93.     ~OMHudMenu();
  94.  
  95.     ToggleButton* colorToggleButton;
  96.     ToggleButton* opacityToggleButton;
  97.     ToggleButton* drawStatusbarToggleButton;
  98.     ToggleButton* drawMiniscoreboardToggleButton;
  99.     ToggleButton* drawMessageboxToggleButton;
  100.     ToggleButton* drawAttackerToggleButton;
  101.     ToggleButton* identifyTargetToggleButton;
  102.     ToggleButton* markTeamMembersToggleButton;
  103.     ToggleButton* crosshairToggleButton;
  104.  
  105.     bool open();
  106.     bool close();
  107.     void updateSettings();
  108.     void applySettings();
  109.  
  110. protected:
  111.     void drawBackground();
  112.  
  113.     Texture* crosshairTextures[8];
  114. };
  115.  
  116. class OMNetMiscMenu:public Menu{
  117. public:
  118.     OMNetMiscMenu();
  119.  
  120.     bool open();
  121.     bool close();
  122.     void updateSettings();
  123.     void applySettings();
  124.  
  125. protected:
  126.     void drawBackground();
  127.  
  128. };
  129.  
  130.  
  131. class OptionsMenu:public Menu{
  132. public:
  133.     OptionsMenu();
  134.     ~OptionsMenu();
  135.  
  136.     bool openFromMainMenu();
  137.  
  138.     OMGraphicsMenu* graphicsMenu;
  139.     OMSoundMenu* soundMenu;
  140.     OMPlayerMenu* playerMenu;
  141.     OMControlsMenu* controlsMenu;
  142.     OMHudMenu* hudMenu;
  143.     OMNetMiscMenu* netMiscMenu;
  144.  
  145. protected:
  146.     Texture* backgroundTexture;
  147.     void drawBackground();
  148. };
  149.  
  150. #endif    /* __OptionsMenu_h__ */
  151.