#ifndef _CONFIG_H_
#define _CONFIG_H_

#include "allegro.h"
#include "MusicSound.h"

#include "ControlConfig.h"
#include "GfxSoundConfig.h"
#include "StartGameConfig.h"
#include "GameSettings.h"
#include "InputObj.h"
#include "Loader.h"

//controls all other config menus
//tells main when the game is ready
//sets up settings
//saves settings
//recolors all menus when graphicsConfig is done

class Config {
 public:
  Config ();

  int initialize (GameSettings *, InputObj * iO, MusicSound * ms, Loader * lder);
  int initGfx ();
  int initControls ();  
  int configLoop ();

  ~Config ();

  static int quitGame(void);
  static int startGame(void);
  static int startControl(void);
  static int startGFX(void);
  static void ConfigResetMenu ();
  static int my_button_proc (int, DIALOG *, int);

  static int mainMsg;

  static int configBgColorR;
  static int configBgColorB;
  static int configBgColorG;

  static int configFgColorR;
  static int configFgColorB;
  static int configFgColorG;

  static ControlConfig * cc;
  static GfxSoundConfig * gsc;
  static StartGameConfig * sgc;

  static DIALOG mainMenuDialog [];

 protected:
  GameSettings * gs;
};

#endif
