- case 77: // M key
- globals->inc_warp( -60 );
- fgUpdateSkyAndLightingParams();
- return;
- case 84: // T key
- globals->inc_warp_delta( -30 );
- fgUpdateSkyAndLightingParams();
- return;
- case 87: // W key
-#if defined(FX) && !defined(WIN32)
- global_fullscreen = ( !global_fullscreen );
-# if defined(XMESA_FX_FULLSCREEN) && defined(XMESA_FX_WINDOW)
- XMesaSetFXmode( global_fullscreen ?
- XMESA_FX_FULLSCREEN : XMESA_FX_WINDOW );
-# endif
-#endif
- return;
- case 88: // X key
- fov = globals->get_current_view()->get_fov();
- fov *= 1.05;
- if ( fov > FG_FOV_MAX ) {
- fov = FG_FOV_MAX;
- }
- globals->get_current_view()->set_fov(fov);
- // v->force_update_fov_math();
- return;
- case 90: // Z key
-#ifndef FG_OLD_WEATHER
- tmp = WeatherDatabase->getWeatherVisibility();
- tmp /= 1.10;
- WeatherDatabase->setWeatherVisibility( tmp );
-#else
- tmp = current_weather.get_visibility(); // in meters
- tmp /= 1.10;
- current_weather.set_visibility( tmp );
-#endif
- return;
-
-// START SPECIALS
-
- case 256+GLUT_KEY_F1: {
- ifstream input("fgfs.sav");
- if (input.good() && fgLoadFlight(input)) {
- input.close();
- SG_LOG(SG_INPUT, SG_INFO, "Restored flight from fgfs.sav");
- } else {
- SG_LOG(SG_INPUT, SG_ALERT, "Cannot load flight from fgfs.sav");
- }
- return;
- }
- case 256+GLUT_KEY_F2: {
- SG_LOG(SG_INPUT, SG_INFO, "Saving flight");
- ofstream output("fgfs.sav");
- if (output.good() && fgSaveFlight(output)) {
- output.close();
- SG_LOG(SG_INPUT, SG_INFO, "Saved flight to fgfs.sav");
- } else {
- SG_LOG(SG_INPUT, SG_ALERT, "Cannot save flight to fgfs.sav");
- }
- return;
- }
- case 256+GLUT_KEY_F3: {
- string panel_path =
- fgGetString("/sim/panel/path", "Panels/Default/default.xml");
- FGPanel * new_panel = fgReadPanel(panel_path);
- if (new_panel == 0) {
- SG_LOG(SG_INPUT, SG_ALERT,
- "Error reading new panel from " << panel_path);
- return;
- }
- SG_LOG(SG_INPUT, SG_INFO, "Loaded new panel from " << panel_path);
- current_panel->unbind();
- delete current_panel;
- current_panel = new_panel;
- return;
- }
- case 256+GLUT_KEY_F4: {
- SGPath props_path(globals->get_fg_root());
- props_path.append("preferences.xml");
- SG_LOG(SG_INPUT, SG_INFO, "Rereading global preferences");
- if (!readProperties(props_path.str(), globals->get_props())) {
- SG_LOG(SG_INPUT, SG_ALERT,
- "Failed to reread global preferences from "
- << props_path.str());
- } else {
- SG_LOG(SG_INPUT, SG_INFO, "Finished Reading global preferences");
- }
- return;
- }
- case 256+GLUT_KEY_F5: {
- current_panel->setYOffset(current_panel->getYOffset() - 5);
- fgReshape(fgGetInt("/sim/startup/xsize"),
- fgGetInt("/sim/startup/ysize"));
- return;
- }
- case 256+GLUT_KEY_F6: {
- current_panel->setYOffset(current_panel->getYOffset() + 5);
- fgReshape(fgGetInt("/sim/startup/xsize"),
- fgGetInt("/sim/startup/ysize"));
- return;
- }
- case 256+GLUT_KEY_F7: {
- current_panel->setXOffset(current_panel->getXOffset() - 5);
- return;
- }
- case 256+GLUT_KEY_F8: {
- current_panel->setXOffset(current_panel->getXOffset() + 5);
- return;
- }
- // case 256+GLUT_KEY_F9: {
- // return;
- // }
- case 256+GLUT_KEY_F10: {
- fgToggleFDMdataLogging();
- return;
- }
- // case 256+GLUT_KEY_F11: {
- // return;
- // }
- // case 256+GLUT_KEY_F12: {
- // return;
- // }
- case 256+GLUT_KEY_END: // numeric keypad 1
- v->set_goal_view_offset( SGD_PI * 0.75 );
- return;
- case 256+GLUT_KEY_DOWN: // numeric keypad 2
- v->set_goal_view_offset( SGD_PI );
- return;
- case 256+GLUT_KEY_PAGE_DOWN: // numeric keypad 3
- v->set_goal_view_offset( SGD_PI * 1.25 );
- return;
- case 256+GLUT_KEY_LEFT: // numeric keypad 4
- v->set_goal_view_offset( SGD_PI * 0.50 );
- return;
- case 256+GLUT_KEY_RIGHT: // numeric keypad 6
- v->set_goal_view_offset( SGD_PI * 1.50 );
- return;
- case 256+GLUT_KEY_HOME: // numeric keypad 7
- v->set_goal_view_offset( SGD_PI * 0.25 );
- return;
- case 256+GLUT_KEY_UP: // numeric keypad 8
- v->set_goal_view_offset( 0.00 );
- return;
- case 256+GLUT_KEY_PAGE_UP: // numeric keypad 9
- v->set_goal_view_offset( SGD_PI * 1.75 );
- return;
-
-// END SPECIALS
-