From 8b811952d57d19b567d5dca92e2c5ec7c3466c3b Mon Sep 17 00:00:00 2001 From: terencehill Date: Wed, 3 Jun 2020 22:08:33 +0200 Subject: [PATCH] cl_lockview 2 allows to control camera angles --- qcsrc/client/view.qc | 16 ++++++++++------ xonotic-client.cfg | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/qcsrc/client/view.qc b/qcsrc/client/view.qc index 9a753f5ffb..99549a5755 100644 --- a/qcsrc/client/view.qc +++ b/qcsrc/client/view.qc @@ -2044,16 +2044,20 @@ void View_PostProcessing() void View_Lock() { - if(autocvar_cl_lockview || (!autocvar_hud_cursormode && (autocvar__hud_configure && spectatee_status <= 0 || intermission > 1 || QuickMenu_IsOpened()))) - { + int lock_type = (!autocvar_hud_cursormode && (autocvar__hud_configure && spectatee_status <= 0 || intermission > 1 || QuickMenu_IsOpened())); + if (lock_type == 0) + lock_type = autocvar_cl_lockview; + + // lock_type 1: lock origin and angles + // lock_type 2: lock only origin + if(lock_type >= 1) setproperty(VF_ORIGIN, freeze_org); - setproperty(VF_ANGLES, freeze_ang); - } else - { freeze_org = getpropertyvec(VF_ORIGIN); + if(lock_type == 1) + setproperty(VF_ANGLES, freeze_ang); + else freeze_ang = getpropertyvec(VF_ANGLES); - } } void View_DemoCamera() diff --git a/xonotic-client.cfg b/xonotic-client.cfg index 244faaa416..90d4bdbf41 100644 --- a/xonotic-client.cfg +++ b/xonotic-client.cfg @@ -758,7 +758,7 @@ set cl_lerpanim_maxdelta_server 0.1 // must be slower than slowest server contro seta cl_autodemo_delete_keeprecords 0 "when 1, records with a newly made race/cts demo are kept even if cl_autodemo_delete is used to delete demos" // freeze camera -set cl_lockview 0 "when 1, the camera does not move any more" +set cl_lockview 0 "when 1, the camera does not move any more; when 2, you can only control camera angles" // we now use mastervolume volume 1 -- 2.39.2