add sborka
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
function SWEP:DoHolosight(mdl)
|
||||
if TacRP.OverDraw then return end
|
||||
if self:GetSightAmount() <= 0 then return end
|
||||
|
||||
local ref = 64
|
||||
|
||||
render.UpdateScreenEffectTexture()
|
||||
render.ClearStencil()
|
||||
render.SetStencilEnable(true)
|
||||
render.SetStencilCompareFunction(STENCIL_ALWAYS)
|
||||
render.SetStencilPassOperation(STENCIL_REPLACE)
|
||||
render.SetStencilFailOperation(STENCIL_KEEP)
|
||||
render.SetStencilZFailOperation(STENCIL_KEEP)
|
||||
render.SetStencilWriteMask(255)
|
||||
render.SetStencilTestMask(255)
|
||||
|
||||
render.SetBlend(0)
|
||||
|
||||
render.SetStencilReferenceValue(ref)
|
||||
|
||||
mdl:DrawModel()
|
||||
|
||||
render.SetBlend(1)
|
||||
|
||||
render.SetStencilPassOperation(STENCIL_KEEP)
|
||||
render.SetStencilCompareFunction(STENCIL_EQUAL)
|
||||
|
||||
-- cam.Start2D()
|
||||
|
||||
-- surface.SetDrawColor(255, 255, 255)
|
||||
-- surface.DrawRect(0, 0, ScrW(), ScrH())
|
||||
|
||||
-- render.SetColorMaterial()
|
||||
-- render.DrawScreenQuad()
|
||||
|
||||
local img = self:GetValue("Holosight")
|
||||
|
||||
if img then
|
||||
local pos = self:GetOwner():EyePos()
|
||||
local dir = (self:GetShootDir() + self:GetOwner():GetViewPunchAngles() * 0.5):Forward() -- mdl:GetAngles():Forward()
|
||||
local size = 512 * TacRP.HoloSS
|
||||
|
||||
pos = pos + dir * 9000
|
||||
|
||||
-- cam.Start3D()
|
||||
|
||||
local eyedist = WorldToLocal(mdl:GetPos(), mdl:GetAngles(), EyePos(), EyeAngles()).x
|
||||
|
||||
render.DepthRange(0, 0.005 + (0.0005 * eyedist / 20))
|
||||
|
||||
render.SetMaterial(img)
|
||||
render.DrawQuadEasy(pos, -dir, size, size, Color(255, 255, 255), 180)
|
||||
|
||||
-- cam.End3D()
|
||||
|
||||
-- local toscreen = pos:ToScreen()
|
||||
|
||||
-- local x = toscreen.x
|
||||
-- local y = toscreen.y
|
||||
|
||||
-- local ss = TacRP.SS(32)
|
||||
-- local sx = x - (ss / 2)
|
||||
-- local sy = y - (ss / 2)
|
||||
|
||||
-- local shakey = math.min(cross * 35, 3)
|
||||
|
||||
-- sx = sx + math.Round(math.Rand(-shakey, shakey))
|
||||
-- sy = sy + math.Round(math.Rand(-shakey, shakey))
|
||||
|
||||
-- surface.SetMaterial(img)
|
||||
-- surface.SetDrawColor(255, 255, 255, 255)
|
||||
-- surface.DrawTexturedRect(sx, sy, ss, ss)
|
||||
|
||||
-- surface.SetDrawColor(0, 0, 0)
|
||||
-- surface.DrawRect(0, 0, w, sy)
|
||||
-- surface.DrawRect(0, sy + ss, w, h - sy)
|
||||
|
||||
-- surface.DrawRect(0, 0, sx, h)
|
||||
-- surface.DrawRect(sx + ss, 0, w - sx, h)
|
||||
end
|
||||
-- cam.End2D()
|
||||
|
||||
render.SetStencilEnable(false)
|
||||
end
|
||||
Reference in New Issue
Block a user