Example #1
0
Render::Render() : Widget(NULL, "Render")
{
  assert(_instance == NULL);
  _instance = this;

  _childEventSender = NULL;

  _viewport = Rect(Point(0, 0), Application::instance()->windowSettings().size);

  _fpsTimer.setIntervalMsec(500);
  _fps = 1.0f;
  _frames = 0;

  setEventMask(ET_AllEvents);
  setVisible(true);

  _mapDialog = new MapDialog(this);

  _gameDialog = new GameDialog(this);

  _simulation = new Simulation(this, "Simulation");

  _settingsDialog = new SettingsDialog(this);

  _console = new Console(this);

  Settings::instance()->registerSetting<bool>("FPS", true);

  BindingManager *b = BindingManager::instance();
  b->registerKey("Console", KeyBinding(SDLK_BACKQUOTE));
  b->registerKey("ToggleFPS", KeyBinding(SDLK_F1));
  b->registerKey("Quit", KeyBinding(SDLK_F4));
}
Example #2
0
Simulation::Simulation(Widget* pParent,
                       const string &pName)
  : Widget(pParent, pName.empty() ? genericName("Simulation") : pName, 1000)
{
  enableInput();

  _map = new Map(&_fractal, name() + "_Map");
  _map->setScale(Vector3D(20.0f, 800.0f, 20.0f));

  _player = new Player(_map);
  _player->setTeam(Player::Team_Blue);
  _player->setControlType(Player::Control_AngularVelocity);
  _player->setAI(false);
  _player->setFrameVisible(false);

  _hudMode = Hud_Full;

  _updateTimer.setIntervalMsec(5);

  _messageTimer.setIntervalMsec(50);

  BindingManager *b = BindingManager::instance();
  b->registerKey("RollNegative", KeyBinding(SDLK_KP4));
  b->registerKey("RollPositive", KeyBinding(SDLK_KP6));
  b->registerKey("PitchNegative", KeyBinding(SDLK_KP8));
  b->registerKey("PitchPositive", KeyBinding(SDLK_KP2));
  b->registerKey("YawNegative", KeyBinding(SDLK_KP1));
  b->registerKey("YawPositive", KeyBinding(SDLK_KP3));
  b->registerKey("Accelerate", KeyBinding(SDLK_KP_PLUS));
  b->registerKey("Decelerate", KeyBinding(SDLK_KP_MINUS));
  b->registerKey("ViewYNegative", KeyBinding(SDLK_1));
  b->registerKey("ViewYPositive", KeyBinding(SDLK_4));
  b->registerKey("ViewXNegative", KeyBinding(SDLK_2));
  b->registerKey("ViewXPositive", KeyBinding(SDLK_3));
  b->registerKey("ViewZoomIn", KeyBinding(SDLK_5));
  b->registerKey("ViewZoomOut", KeyBinding(SDLK_6));
  b->registerKey("Fog", KeyBinding(SDLK_f));
  b->registerKey("Hud", KeyBinding(SDLK_h));
  b->registerKey("View", KeyBinding(SDLK_v));
  b->registerKey("GameMenu", KeyBinding(SDLK_ESCAPE));
  b->registerKey("Fire", KeyBinding(SDLK_SPACE));

  b->registerJoystickAxis("Roll", JoystickAxisBinding(0));
  b->registerJoystickAxis("Pitch", JoystickAxisBinding(1));
  b->registerJoystickAxis("Yaw", JoystickAxisBinding(3));
  b->registerJoystickAxis("Acceleration", JoystickAxisBinding(2));

  b->registerJoystickButton("Fire", JoystickButtonBinding(0));

  Settings *s = Settings::instance();
  s->registerSetting<string>("PlayerName", _player->name());
  s->registerSetting<int>("DisplayQuality", Quality_Medium);
  s->registerSetting<float>("FOV", 45.0f);
}