vm cam horizon line retaining option

strings not included, reduces camera roll
This commit is contained in:
littlebabyman 2024-12-07 10:38:13 +02:00
parent 63105e8553
commit 3f0b424e75
3 changed files with 10 additions and 1 deletions

View File

@ -229,6 +229,7 @@ ARC9.SettingsTable = {
{ type = "bool", text = "settings.vm.vm_cambobwalk.title", desc = "settings.vm.vm_cambobwalk.desc", convar = "vm_cambobwalk", parentconvar = "vm_cambob" },
{ type = "slider", text = "settings.vm.vm_cambobintensity.title", desc = "settings.vm.vm_cambobintensity.desc", convar = "vm_cambobintensity", min = 0.1, max = 3, decimals = 2, parentconvar = "vm_cambob" },
{ type = "bool", text = "settings.vm.vm_camdisable.title", desc = "settings.vm.vm_camdisable.desc", convar = "vm_camdisable" },
{ type = "slider", text = "settings.vm.vm_camrollstrength.title", desc = "settings.vm.vm_camrollstrength.desc", convar = "vm_camrollstrength", min = 0, max = 1, decimals = 2, parentconvar = "vm_camdisable", parentinvert = true },
},
{
TabName = "settings.tabname.gameplay",

View File

@ -913,6 +913,11 @@ local conVars = {
default = "0",
client = true,
},
{
name = "vm_camrollstrength",
default = "1",
client = true,
},
{
name = "hud_hints",
default = "1",

View File

@ -6,6 +6,7 @@ SWEP.FOV = 90
local arc9_vm_cambob = GetConVar("arc9_vm_cambob")
local arc9_vm_cambobwalk = GetConVar("arc9_vm_cambobwalk")
local arc9_vm_cambobintensity = GetConVar("arc9_vm_cambobintensity")
local arc9_vm_camrollstrength = GetConVar("arc9_vm_camrollstrength")
local arc9_vm_camdisable = GetConVar("arc9_vm_camdisable")
local SmoothRecoilAmount = 0
@ -136,6 +137,7 @@ function SWEP:GetCameraControl()
if !ang then return end
ang = mdl:WorldToLocalAngles(ang)
ang.r = ang.r * arc9_vm_camrollstrength:GetFloat()
ang:Sub(atttbl.IKCameraMotionOffsetAngle or angle_zero)
ang:Mul(self:GetProcessedValue("CamQCA_Mult", true) or 1)
@ -190,7 +192,7 @@ function SWEP:GetCameraControl()
self.ProceduralViewOffset.p = mathapproach(self.ProceduralViewOffset.p, 0, (1 - progress) * ft * -self.ProceduralViewOffset.p)
self.ProceduralViewOffset.y = mathapproach(self.ProceduralViewOffset.y, 0, (1 - progress) * ft * -self.ProceduralViewOffset.y)
self.ProceduralViewOffset.r = mathapproach(self.ProceduralViewOffset.r, 0, (1 - progress) * ft * -self.ProceduralViewOffset.r)
self.ProceduralViewOffset.r = mathapproach(self.ProceduralViewOffset.r, 0, (1 - progress) * ft * -self.ProceduralViewOffset.r) * arc9_vm_camrollstrength:GetFloat()
self.LastMuzzleAngle = ang
@ -198,6 +200,7 @@ function SWEP:GetCameraControl()
else
ang:Mul(self:GetProcessedValue("CamQCA_Mult", true) or 1)
ang:Mul(1 - self:GetSightAmount() * (1 - (self:GetProcessedValue("CamQCA_Mult_ADS", true) or 0.5)))
ang.r = ang.r * arc9_vm_camrollstrength:GetFloat()
end
return ang