mirror of
https://github.com/lifestorm/wnsrc.git
synced 2025-12-16 21:33:46 +03:00
69 lines
1.9 KiB
Lua
69 lines
1.9 KiB
Lua
--[[
|
|
| This file was obtained through the combined efforts
|
|
| of Madbluntz & Plymouth Antiquarian Society.
|
|
|
|
|
| Credits: lifestorm, Gregory Wayne Rossel JR.,
|
|
| Maloy, DrPepper10 @ RIP, Atle!
|
|
|
|
|
| Visit for more: https://plymouth.thetwilightzone.ru/
|
|
--]]
|
|
|
|
|
|
local sensor_color_show = CreateConVar( "sensor_color_show", "0", FCVAR_DONTRECORD )
|
|
local sensor_color_scale = CreateConVar( "sensor_color_scale", "0.5", FCVAR_ARCHIVE + FCVAR_DONTRECORD )
|
|
local sensor_color_x = CreateConVar( "sensor_color_x", "32", FCVAR_ARCHIVE + FCVAR_DONTRECORD )
|
|
local sensor_color_y = CreateConVar( "sensor_color_y", "-32", FCVAR_ARCHIVE + FCVAR_DONTRECORD )
|
|
|
|
local function DrawColorBox()
|
|
|
|
if ( !sensor_color_show:GetBool() ) then return end
|
|
|
|
local mat = motionsensor.GetColourMaterial()
|
|
if ( !mat ) then return end
|
|
|
|
local size = sensor_color_scale:GetFloat()
|
|
local w = 640 * size
|
|
local h = 480 * size
|
|
|
|
local x = sensor_color_x:GetInt()
|
|
if ( x < 0 ) then
|
|
x = x * -1
|
|
x = ScrW() - x - w
|
|
end
|
|
|
|
local y = sensor_color_y:GetInt()
|
|
if ( y < 0 ) then
|
|
y = y * -1
|
|
y = ScrH() - y - h
|
|
end
|
|
|
|
local alpha = 255
|
|
|
|
--
|
|
-- fade the box down if we get close, so we can click on stuff that's under it.
|
|
--
|
|
if ( vgui.CursorVisible() ) then
|
|
local mx, my = input.GetCursorPos()
|
|
local dist = Vector( mx, my, 0 ):Distance( Vector( x + w * 0.5, y + h * 0.5, 0 ) )
|
|
alpha = math.Clamp( alpha - ( 512 - dist ), 10, 255 )
|
|
end
|
|
|
|
surface.SetDrawColor( 0, 0, 0, alpha )
|
|
surface.DrawRect( x - 3, y - 3, 3, h + 6 )
|
|
surface.DrawRect( w + x, y - 3, 3, h + 6 )
|
|
surface.DrawRect( x, y - 3, w, 3 )
|
|
surface.DrawRect( x, y + h, w, 3 )
|
|
|
|
surface.SetDrawColor( 255, 255, 255, alpha )
|
|
surface.DrawRect( x - 1, y - 1, 1, h + 2 )
|
|
surface.DrawRect( w + x, y - 1, 1, h + 2 )
|
|
surface.DrawRect( x, y - 1, w, 1 )
|
|
surface.DrawRect( x, y + h, w, 1 )
|
|
|
|
surface.SetMaterial( mat )
|
|
surface.DrawTexturedRectUV( x, y, w, h, 640 / 1024, 0, 0, 480 / 512 )
|
|
|
|
end
|
|
|
|
hook.Add( "DrawOverlay", "DrawMotionSensor", DrawColorBox )
|