#ifndef _CONTROLCONFIG_H_
#define _CONTROLCONFIG_H_

#include "allegro.h"
#include "InputObj.h"
#include "GameSettings.h"

//gets controls
//sets controls

class ControlConfig {
 public:
  ControlConfig (InputObj *, GameSettings *);
  void go (int);

  static int my_button_proc (int, DIALOG *, int);
  static int changeButtonUp ();
  static int changeButtonDown ();
  static int changeButtonLeft ();
  static int changeButtonRight ();
  static int changeButtonHyper ();
  static int changeButtonTaunt ();
  static int changeButtonMenu ();
  static int changeButtonPause ();
  static int changeButtonRestart ();
  static int changeButton(int keyIndex);
  static int defaultControls ();
  static int updateThresholdSlider (void *dp3, int d2);
  static int mouse_proc(int msg, DIALOG *d, int c);
  static void incTick();
  static int toMain ();
  static void ControlRedrawMenu ();

  static string mouseThresholdDesc;
  static string mouseThresholdDesc2;
  static fixed drawAngle;
  static volatile int tickPassed;
  static BITMAP * thresholdTemp;
  static int thresholdColor;
  static int thresholdTimer;
  static InputObj * controlConfigIO;
  static GameSettings * controlGS;
  static int keyRefIndex;
  static int mouseRefIndex;
  static DIALOG controlConfigDialog [];
  static int ControlBgColorR;
  static int ControlBgColorB;
  static int ControlBgColorG;
  static int ControlFgColorR;
  static int ControlFgColorB;
  static int ControlFgColorG;
  
  ~ControlConfig ();

 protected:
};

#endif
