From 51557c5f0e4503e78e0d5799b4510705c513512d Mon Sep 17 00:00:00 2001 From: Fesiug Date: Wed, 29 Nov 2023 19:03:14 -0500 Subject: [PATCH] ConVar system thingy --- .../benny/entities/weapons/benny/shared.lua | 2 - .../gamemode/modules/commons/sh_convars.lua | 74 +++++++++++++++++++ .../benny/gamemode/modules/player/cl_hud.lua | 12 +-- .../gamemode/modules/weapons/sh_weapons.lua | 1 - 4 files changed, 80 insertions(+), 9 deletions(-) create mode 100644 gamemodes/benny/gamemode/modules/commons/sh_convars.lua diff --git a/gamemodes/benny/entities/weapons/benny/shared.lua b/gamemodes/benny/entities/weapons/benny/shared.lua index a078501..a7cce05 100644 --- a/gamemodes/benny/entities/weapons/benny/shared.lua +++ b/gamemodes/benny/entities/weapons/benny/shared.lua @@ -157,8 +157,6 @@ function SWEP:Reload( hand ) return true end -CreateClientConVar( "benny_toggleaim", 0, true, true ) - hook.Add( "PlayerButtonDown", "Benny_PlayerButtonDown_TempForAim", function( ply, button ) local wep = ply:BennyCheck() diff --git a/gamemodes/benny/gamemode/modules/commons/sh_convars.lua b/gamemodes/benny/gamemode/modules/commons/sh_convars.lua new file mode 100644 index 0000000..7e99728 --- /dev/null +++ b/gamemodes/benny/gamemode/modules/commons/sh_convars.lua @@ -0,0 +1,74 @@ + +-- Meanings: Default, Min, Max, Replicated, Archived, Hint +-- Replicated is Userinfo in Client. + +CONVARS_SV = {} + +CONVARS_SV["cam_override"] = { "", nil, nil, true, false, "X Y Z P Y R FOV" } +CONVARS_SV["cam_unlock"] = { 0, 0, 1, true, false, "First person (sort of)" } + +CONVARS_SV["net_easyway"] = { 0, 0, 1, true, false, "Use a disgusting way of networking inventories for minimal desync." } + + +CONVARS_SV_GEN = {} +for i, v in pairs( CONVARS_SV ) do + CONVARS_SV_GEN[i] = CreateConVar( "benny_" .. i, v[1], (v[4] and FCVAR_REPLICATED or 0) + (v[5] and FCVAR_ARCHIVE or 0), v[5], v[2], v[3] ) +end + +function ConVarSV( name ) + return CONVARS_SV_GEN[name] +end + +function ConVarSV_Bool( name ) + return ConVarSV( name ):GetBool() +end + +function ConVarSV_String( name ) + return ConVarSV( name ):GetString() +end + +function ConVarSV_Int( name ) + return ConVarSV( name ):GetInt() +end + +function ConVarSV_Float( name ) + return ConVarSV( name ):GetFloat() +end + +if CLIENT then -- CL CL CL + +CONVARS_CL = {} + +CONVARS_CL["hud_scale"] = { 2, 1, 4, false, true, "HUD integer scaling" } +CONVARS_CL["hud_tempactive"] = { "benny", nil, nil, false, true, "HUD color scheme temporary" } + +CONVARS_CL["wep_toggleaim"] = { 1, 0, 1, true, true, "Hold or toggle to aim weapon." } + +CONVARS_CL["wep_toolgun"] = { "", nil, nil, true, true, "Toolgun tool." } + +CONVARS_CL_GEN = {} +for i, v in pairs( CONVARS_CL ) do + CONVARS_CL_GEN[i] = CreateConVar( "benny_" .. i, v[1], (v[4] and FCVAR_USERINFO or 0) + (v[5] and FCVAR_ARCHIVE or 0), v[5], v[2], v[3] ) +end + +function ConVarCL( name ) + return CONVARS_CL_GEN[name] +end + +function ConVarCL_Bool( name ) + return ConVarCL( name ):GetBool() +end + +function ConVarCL_String( name ) + return ConVarCL( name ):GetString() +end + +function ConVarCL_Int( name ) + return ConVarCL( name ):GetInt() +end + +function ConVarCL_Float( name ) + return ConVarCL( name ):GetFloat() +end + +end -- CL end CL end CL end diff --git a/gamemodes/benny/gamemode/modules/player/cl_hud.lua b/gamemodes/benny/gamemode/modules/player/cl_hud.lua index a135c94..044eed7 100644 --- a/gamemodes/benny/gamemode/modules/player/cl_hud.lua +++ b/gamemodes/benny/gamemode/modules/player/cl_hud.lua @@ -17,10 +17,8 @@ hook.Add( "HUDShouldDraw", "Benny_HUDShouldDraw", function( name ) if ( hide[ name ] ) then return false end end ) -local HSCALE = CreateClientConVar( "benny_hud_scale", 2, true, false, "HUD scaling", 0, 4 ) - function ss( scale ) - return scale*HSCALE:GetInt()--math.Round( scale * ( ScrH() / 480 ) * HSCALE:GetFloat() ) + return scale*ConVarCL_Int("hud_scale")--math.Round( scale * ( ScrH() / 480 ) * HSCALE:GetFloat() ) end local function genfonts() @@ -220,15 +218,13 @@ local mat_long = Material("benny/hud/xhair/long.png", "") local mat_dot_s = Material("benny/hud/xhair/dot_s.png", "mips smooth") local mat_long_s = Material("benny/hud/xhair/long_s.png", "mips smooth") local spacer_long = 2 -- screenscaled -local gap = 24 +local gap = 8 local trash_vec, trash_ang = Vector(), Angle() bucket_selected = bucket_selected or 1 item_selected = item_selected or 1 -CreateClientConVar( "benny_hud_tempactive", "benny", true, false ) - hook.Add( "HUDPaint", "Benny_HUDPaint", function() local sw, sh = ScrW(), ScrH() local Wb = ss(20) @@ -719,6 +715,10 @@ hook.Add( "HUDPaint", "Benny_HUDPaint", function() local inv = p:INV_Get() local b_x, b_y = Wb, Hb + + for i, v in ipairs( inv ) do + surface.SetDrawColor( scheme["bg"] ) + end end do -- Captions diff --git a/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua b/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua index b7aa375..252ad00 100644 --- a/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua +++ b/gamemodes/benny/gamemode/modules/weapons/sh_weapons.lua @@ -150,7 +150,6 @@ AddSound( "Common.NoAmmo", "benny/weapons/noammo.ogg", 70, 100, 0.5, CHAN_STATIC do -- Toolgun - CreateClientConVar( "benny_toolgun", "", true, true ) local ToolGunTools = { ["ammocrate"] = function( self, p, tr ) if SERVER then