]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
cl_lockview 2 allows to control camera angles
authorterencehill <piuntn@gmail.com>
Wed, 3 Jun 2020 20:08:33 +0000 (22:08 +0200)
committerterencehill <piuntn@gmail.com>
Wed, 3 Jun 2020 20:08:33 +0000 (22:08 +0200)
qcsrc/client/view.qc
xonotic-client.cfg

index 9a753f5ffbdf9b9df193cf9f659c4dc49c6cde7b..99549a575566077d8d95dc2fccba972ffee49ca3 100644 (file)
@@ -2044,16 +2044,20 @@ void View_PostProcessing()
 
 void View_Lock()
 {
 
 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_ORIGIN, freeze_org);
-               setproperty(VF_ANGLES, freeze_ang);
-       }
        else
        else
-       {
                freeze_org = getpropertyvec(VF_ORIGIN);
                freeze_org = getpropertyvec(VF_ORIGIN);
+       if(lock_type == 1)
+               setproperty(VF_ANGLES, freeze_ang);
+       else
                freeze_ang = getpropertyvec(VF_ANGLES);
                freeze_ang = getpropertyvec(VF_ANGLES);
-       }
 }
 
 void View_DemoCamera()
 }
 
 void View_DemoCamera()
index 244faaa416ad3dc53511418f3ec57eeeae4945ff..90d4bdbf416b1fd9076b124e4f482ba4004ef15a 100644 (file)
@@ -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
 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
 
 // we now use mastervolume
 volume 1