From d05f86756206a551bc3268af7fe240e56fcb8dd6 Mon Sep 17 00:00:00 2001 From: Marco Hladik Date: Fri, 4 Jun 2021 11:39:39 +0200 Subject: [PATCH] Added View > Camera > Go To [0,0,0] button --- radiant/camwindow.cpp | 16 ++++++++++++++++ radiant/mainframe.cpp | 2 ++ 2 files changed, 18 insertions(+) diff --git a/radiant/camwindow.cpp b/radiant/camwindow.cpp index abfc052..fe04afd 100644 --- a/radiant/camwindow.cpp +++ b/radiant/camwindow.cpp @@ -1973,6 +1973,21 @@ void CamWnd_LookThroughCamera(CamWnd &camwnd) } } +void GlobalCamera_GoToZero(void) +{ + CamWnd &camwnd = *g_camwnd; + Vector3 zero; + zero[0] = 0; + zero[1] = 0; + zero[2] = 0; + Camera_setAngles(camwnd, zero); + Camera_setOrigin(camwnd, zero); + Camera_updateModelview(camwnd.getCamera()); + Camera_updateProjection(camwnd.getCamera()); + CamWnd_Update(camwnd); +} + + inline CameraModel *Instance_getCameraModel(scene::Instance &instance) { return InstanceTypeCast::cast(instance); @@ -2118,6 +2133,7 @@ void CameraSpeed_decrease() void CamWnd_Construct() { GlobalCommands_insert("CenterView", makeCallbackF(GlobalCamera_ResetAngles), Accelerator(GDK_KEY_End)); + GlobalCommands_insert("GoToZero", makeCallbackF(GlobalCamera_GoToZero)); GlobalToggles_insert("ToggleCubicClip", makeCallbackF(Camera_ToggleFarClip), ToggleItem::AddCallbackCaller(g_getfarclip_item), diff --git a/radiant/mainframe.cpp b/radiant/mainframe.cpp index 2fbfdd0..e9d33a9 100644 --- a/radiant/mainframe.cpp +++ b/radiant/mainframe.cpp @@ -2328,6 +2328,8 @@ ui::MenuItem create_view_menu() menu_separator(camera_menu); create_menu_item_with_mnemonic(camera_menu, "Look Through Selected", "LookThroughSelected"); create_menu_item_with_mnemonic(camera_menu, "Look Through Camera", "LookThroughCamera"); + menu_separator(camera_menu); + create_menu_item_with_mnemonic(camera_menu, "Move to [0,0,0]", "GoToZero"); } {