X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fnetradiant.git;a=blobdiff_plain;f=radiant%2Fcamwindow.cpp;h=ed8ec13a1e4898fe78c6951921221f6a006e267f;hp=057e6aa888ae9ede42d87426d410425fb273350b;hb=a8a120ed834fb1dead4d51a5e8011bacccdad945;hpb=73a774fdf7dc89cd607a87fec680d17aeecd55cd diff --git a/radiant/camwindow.cpp b/radiant/camwindow.cpp index 057e6aa8..ed8ec13a 100644 --- a/radiant/camwindow.cpp +++ b/radiant/camwindow.cpp @@ -1752,6 +1752,11 @@ void CamWnd_constructToolbar(GtkToolbar* toolbar) void CamWnd_registerShortcuts() { toggle_add_accelerator("ToggleCubicClip"); + + if(g_pGameDescription->mGameType == "doom3") + { + command_connect_accelerator("TogglePreview"); + } } @@ -1781,6 +1786,17 @@ void CamWnd_SetMode(camera_draw_mode mode) } } +void CamWnd_TogglePreview(void) +{ + // gametype must be doom3 for this function to work + // if the gametype is not doom3 something is wrong with the + // global command list or somebody else calls this function. + ASSERT_MESSAGE(g_pGameDescription->mGameType == "doom3", "CamWnd_TogglePreview called although mGameType is not doom3 compatible"); + + // switch between textured and lighting mode + CamWnd_SetMode((CamWnd_GetMode() == cd_lighting) ? cd_texture : cd_lighting); +} + CameraModel* g_camera_model = 0; @@ -1946,6 +1962,11 @@ void CamWnd_Construct() GlobalCommands_insert("LookThroughSelected", FreeCaller()); GlobalCommands_insert("LookThroughCamera", FreeCaller()); + if(g_pGameDescription->mGameType == "doom3") + { + GlobalCommands_insert("TogglePreview", FreeCaller(), Accelerator(GDK_F3)); + } + GlobalShortcuts_insert("CameraForward", Accelerator(GDK_Up)); GlobalShortcuts_insert("CameraBack", Accelerator(GDK_Down)); GlobalShortcuts_insert("CameraLeft", Accelerator(GDK_Left));