aboutsummaryrefslogtreecommitdiff
path: root/gamemode/client/cl_legs.lua
diff options
context:
space:
mode:
Diffstat (limited to 'gamemode/client/cl_legs.lua')
-rw-r--r--gamemode/client/cl_legs.lua47
1 files changed, 24 insertions, 23 deletions
diff --git a/gamemode/client/cl_legs.lua b/gamemode/client/cl_legs.lua
index 1bfaa99..c9703e1 100644
--- a/gamemode/client/cl_legs.lua
+++ b/gamemode/client/cl_legs.lua
@@ -1,12 +1,13 @@
--[[
-
+
The purpose of this file is to render the client's legs
for realism purposes, this file wasn't coded by any of the
NightZ team it was however coded by Valkyrie:
-
+
http://facepunch.com/showthread.php?t=1227980&p=38680440&viewfull=1#post38680440
-
+
--]]
+if SERVER then error("What happened?") end
local Legs = {}
Legs.LegEnt = nil
@@ -149,7 +150,7 @@ Legs.BoneHoldTypes = { ["none"] = {
"ValveBiped.Bip01_Spine2",
}
}
-
+
Legs.BonesToRemove = {}
Legs.BoneMatrix = nil
@@ -193,16 +194,16 @@ function Legs:Think( maxseqgroundspeed )
self.OldWeapon = LocalPlayer():GetActiveWeapon()
self:WeaponChanged( self.OldWeapon )
end
-
+
if self.LegEnt:GetModel() != self:FixModelName( LocalPlayer():GetModel() ) then
self.LegEnt:SetModel( self:FixModelName( LocalPlayer():GetModel() ) )
end
-
+
self.LegEnt:SetMaterial( LocalPlayer():GetMaterial() )
self.LegEnt:SetSkin( LocalPlayer():GetSkin() )
self.Velocity = LocalPlayer():GetVelocity():Length2D()
-
+
self.PlaybackRate = 1
if self.Velocity > 0.5 then
@@ -213,32 +214,32 @@ function Legs:Think( maxseqgroundspeed )
self.PlaybackRate = math.Clamp( self.PlaybackRate, 0.01, 10 )
end
end
-
+
self.LegEnt:SetPlaybackRate( self.PlaybackRate )
-
+
self.Sequence = LocalPlayer():GetSequence()
-
+
if ( self.LegEnt.Anim != self.Sequence ) then
self.LegEnt.Anim = self.Sequence
self.LegEnt:ResetSequence( self.Sequence )
end
-
+
self.LegEnt:FrameAdvance( CurTime() - self.LegEnt.LastTick )
self.LegEnt.LastTick = CurTime()
-
+
Legs.BreathScale = sharpeye and sharpeye.GetStamina and math.Clamp( math.floor( sharpeye.GetStamina() * 5 * 10 ) / 10, 0.5, 5 ) or 0.5
-
- if Legs.NextBreath <= CurTime() then
+
+ if Legs.NextBreath <= CurTime() then
Legs.NextBreath = CurTime() + 1.95 / Legs.BreathScale
self.LegEnt:SetPoseParameter( "breathing", Legs.BreathScale )
end
-
+
self.LegEnt:SetPoseParameter( "move_x", ( LocalPlayer():GetPoseParameter( "move_x" ) * 2 ) - 1 )
self.LegEnt:SetPoseParameter( "move_y", ( LocalPlayer():GetPoseParameter( "move_y" ) * 2 ) - 1 )
self.LegEnt:SetPoseParameter( "move_yaw", ( LocalPlayer():GetPoseParameter( "move_yaw" ) * 360 ) - 180 )
self.LegEnt:SetPoseParameter( "body_yaw", ( LocalPlayer():GetPoseParameter( "body_yaw" ) * 180 ) - 90 )
self.LegEnt:SetPoseParameter( "spine_yaw",( LocalPlayer():GetPoseParameter( "spine_yaw" ) * 180 ) - 90 )
-
+
if ( LocalPlayer():InVehicle() ) then
self.LegEnt:SetColor( color_transparent )
self.LegEnt:SetPoseParameter( "vehicle_steer", ( LocalPlayer():GetVehicle():GetPoseParameter( "vehicle_steer" ) * 2 ) - 1 )
@@ -271,7 +272,7 @@ end
hook.Add( "RenderScreenspaceEffects", "Legs:Render", function()
cam.Start3D( EyePos(), EyeAngles() )
if ShouldDrawLegs() then
-
+
Legs.RenderPos = LocalPlayer():GetPos()
if LocalPlayer():InVehicle() then
Legs.RenderAngle = LocalPlayer():GetVehicle():GetAngles()
@@ -283,7 +284,7 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function()
Legs.ForwardOffset = -22
Legs.RenderPos.x = Legs.RenderPos.x + math.cos( Legs.RadAngle ) * Legs.ForwardOffset
Legs.RenderPos.y = Legs.RenderPos.y + math.sin( Legs.RadAngle ) * Legs.ForwardOffset
-
+
if LocalPlayer():GetGroundEntity() == NULL then
Legs.RenderPos.z = Legs.RenderPos.z + 8
if LocalPlayer():KeyDown( IN_DUCK ) then
@@ -291,14 +292,14 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function()
end
end
end
-
+
Legs.RenderColor = LocalPlayer():GetColor()
-
+
local bEnabled = render.EnableClipping( true )
- render.PushCustomClipPlane( Legs.ClipVector, Legs.ClipVector:Dot( EyePos() ) )
+ render.PushCustomClipPlane( Legs.ClipVector, Legs.ClipVector:Dot( EyePos() ) )
render.SetColorModulation( Legs.RenderColor.r / 255, Legs.RenderColor.g / 255, Legs.RenderColor.b / 255 )
render.SetBlend( Legs.RenderColor.a / 255 )
- hook.Call( "PreLegsDraw", GAMEMODE, Legs.LegEnt )
+ hook.Call( "PreLegsDraw", GAMEMODE, Legs.LegEnt )
Legs.LegEnt:SetRenderOrigin( Legs.RenderPos )
Legs.LegEnt:SetRenderAngles( Legs.RenderAngle )
Legs.LegEnt:SetupBones()
@@ -312,4 +313,4 @@ hook.Add( "RenderScreenspaceEffects", "Legs:Render", function()
render.EnableClipping( bEnabled )
end
cam.End3D()
-end ) \ No newline at end of file
+end )