From aa62ed9f9b55927f633cc45030d69be6fecad97d Mon Sep 17 00:00:00 2001 From: Chev Date: Sun, 27 Oct 2024 18:25:10 -0700 Subject: [PATCH] Small optimizations to gm_krustykrab_night flower rendering code --- .../client/krustykrabnight_flowers.lua | 80 +++++++++++++++---- 1 file changed, 64 insertions(+), 16 deletions(-) diff --git a/addons/gm_krustykrab_night/lua/autorun/client/krustykrabnight_flowers.lua b/addons/gm_krustykrab_night/lua/autorun/client/krustykrabnight_flowers.lua index fa7b43a..73bd006 100644 --- a/addons/gm_krustykrab_night/lua/autorun/client/krustykrabnight_flowers.lua +++ b/addons/gm_krustykrab_night/lua/autorun/client/krustykrabnight_flowers.lua @@ -1,25 +1,73 @@ -if !string.StartWith(game.GetMap(), "gm_krustykrab_night") then return end +if not string.StartWith(game.GetMap(), "gm_krustykrab_night") then return end -local skyflower = Material("spongebob/meltyflower.png", "mips smooth") -skyflower:SetString("$alpha", "0.5") +local skyFlowerMat = Material("spongebob/meltyflower.png", "mips smooth") +skyFlowerMat:SetString("$alpha", "0.5") -local skyflowercol = Color(28, 101, 47) +local skyFlowerColor = Color(28, 101, 47) + +local skyFlowerPosData = { + { + Pos = Vector(16, -12, 5), + Dir = Vector(-1, 1, 0), + Width = 4, + Height = 4, + Rot = 170 + }, + { + Pos = Vector(0, -12, 5), + Dir = Vector(0, 1, 0), + Width = 5, + Height = 5, + Rot = 180 + }, + { + Pos = Vector(-14, -13.5, 4.3), + Dir = Vector(0.7, 0.67, -0.22), + Width = 6, + Height = 6, + Rot = 185 + }, + { + Pos = Vector(-12.2, 15.4, 3.5), + Dir = Vector(0.61, -0.77, -0.18), + Width = 4, + Height = 3.5, + Rot = 180 + }, + { + Pos = Vector(7.7, 17.8, 4.8), + Dir = Vector(-0.39, -0.89, -0.24), + Width = 8, + Height = 8, + Rot = 185 + }, + { + Pos = Vector(17.89, 6.52, 6.09), + Dir = Vector(-0.89, -0.33, -0.3), + Width = 3, + Height = 3, + Rot = 200 + }, + { + Pos = Vector(17.93, 3.88, 7.96), + Dir = Vector(-0.89, -0.19, -0.39), + Width = 3, + Height = 3, + Rot = 180 + }, +} hook.Add("PostDrawSkyBox", "KrustyKrabNight_RenderSkyFlowers", function() - if !IsValid(LocalPlayer()) then return end - render.OverrideDepthEnable(true, false) - cam.Start3D(Vector(0, 0, 0)) - render.SetMaterial(skyflower) - render.DrawQuadEasy(Vector(16, -12, 5), Vector(-1, 1, 0), 4, 4, skyflowercol, 170) - render.DrawQuadEasy(Vector(0, -12, 5), Vector(0, 1, 0), 5, 5, skyflowercol, 180) - render.DrawQuadEasy(Vector(-14, -13.5, 4.3), Vector(0.7, 0.67, -0.22), 6, 6, skyflowercol, 185) - render.DrawQuadEasy(Vector(-12.2, 15.4, 3.5), Vector(0.61, -0.77, -0.18), 4, 3.5, skyflowercol, 180) - render.DrawQuadEasy(Vector(7.7, 17.8, 4.8), Vector(-0.39, -0.89, -0.24), 8, 8, skyflowercol, 185) - render.DrawQuadEasy(Vector(17.89, 6.52, 6.09), Vector(-0.89, -0.33, -0.3), 3, 3, skyflowercol, 200) - render.DrawQuadEasy(Vector(17.93, 3.88, 7.96), Vector(-0.89, -0.19, -0.39), 3, 3, skyflowercol, 170) - //render.DrawQuadEasy(LocalPlayer():GetAimVector()*20, -LocalPlayer():GetAimVector(), 3, 3, skyflowercol, 170) + cam.Start3D(vector_origin) + render.SetMaterial(skyFlowerMat) + + for _, tabData in ipairs(skyFlowerPosData) do + render.DrawQuadEasy(tabData.Pos, tabData.Dir, tabData.Width, tabData.Height, skyFlowerColor, tabData.Rot) + end + + --render.DrawQuadEasy(LocalPlayer():GetAimVector()*20, -LocalPlayer():GetAimVector(), 3, 3, skyFlowerColor, 170) cam.End3D() render.OverrideDepthEnable(false, false)