mirror of
https://github.com/CapsAdmin/pac3.git
synced 2025-03-04 03:03:01 -05:00
added brightness
color is now 0-255 fixed color panel not updating properties fixed color alpha and material for both gmod 12 and 13, but scale does still not work in gmod 13 git-svn-id: http://gmodcapsadmin.googlecode.com/svn/trunk/addons/pac3@44 047d434e-d786-fb00-e516-99c5e643cd71
This commit is contained in:
parent
4ee07ac035
commit
2446cadb23
@ -1,7 +1,9 @@
|
||||
function pac.PrePlayerDraw(ply)
|
||||
if not ply:IsPlayer() then return end
|
||||
|
||||
for key, part in pairs(pac.GetParts()) do
|
||||
if
|
||||
part.ClassName ~= "player" and
|
||||
not part:IsHidden() and
|
||||
not part.Screenspace and
|
||||
not part.Translucent and
|
||||
@ -9,6 +11,14 @@ function pac.PrePlayerDraw(ply)
|
||||
not part:HasParent()
|
||||
then
|
||||
part:Draw("OnDraw")
|
||||
end
|
||||
end
|
||||
|
||||
for key, part in pairs(pac.GetParts()) do
|
||||
if
|
||||
part.ClassName == "player" and
|
||||
not part:IsHidden()
|
||||
then
|
||||
part:Draw("PrePlayerDraw")
|
||||
end
|
||||
end
|
||||
@ -17,8 +27,10 @@ pac.AddHook("PrePlayerDraw")
|
||||
|
||||
function pac.PostPlayerDraw(ply)
|
||||
if not ply:IsPlayer() then return end
|
||||
|
||||
for key, part in pairs(pac.GetParts()) do
|
||||
if
|
||||
part.ClassName ~= "player" and
|
||||
not part:IsHidden() and
|
||||
not part.Screenspace and
|
||||
not part.Translucent and
|
||||
@ -26,6 +38,14 @@ function pac.PostPlayerDraw(ply)
|
||||
not part:HasParent()
|
||||
then
|
||||
part:Draw("OnDraw")
|
||||
end
|
||||
end
|
||||
|
||||
for key, part in pairs(pac.GetParts()) do
|
||||
if
|
||||
part.ClassName == "player" and
|
||||
not part:IsHidden()
|
||||
then
|
||||
part:Draw("PostPlayerDraw")
|
||||
end
|
||||
end
|
||||
|
@ -16,14 +16,14 @@ local function checkfield(tbl, key, def)
|
||||
end
|
||||
|
||||
function class.GetSet(tbl, name, def)
|
||||
tbl["Set" .. name] = function(self, var) self[name] = var end
|
||||
tbl["Get" .. name] = function(self, var) return self[name] end
|
||||
tbl["Set" .. name] = tbl["Set" .. name] or function(self, var) self[name] = var end
|
||||
tbl["Get" .. name] = tbl["Get" .. name] or function(self, var) return self[name] end
|
||||
tbl[name] = def
|
||||
end
|
||||
|
||||
function class.IsSet(tbl, name, def)
|
||||
tbl["Set" .. name] = function(self, var) self[name] = var end
|
||||
tbl["Is" .. name] = function(self, var) return self[name] end
|
||||
tbl["Set" .. name] = tbl["Set" .. name] or function(self, var) self[name] = var end
|
||||
tbl["Is" .. name] = tbl["Is" .. name] or function(self, var) return self[name] end
|
||||
tbl[name] = def
|
||||
end
|
||||
|
||||
|
@ -13,12 +13,15 @@ pac.StartStorableVars()
|
||||
pac.GetSet(PART, "Sequence", 1)
|
||||
pac.GetSet(PART, "Material", "")
|
||||
pac.GetSet(PART, "Color", Vector(255, 255, 255))
|
||||
pac.GetSet(PART, "Brightness", 1)
|
||||
pac.GetSet(PART, "Alpha", 1)
|
||||
pac.GetSet(PART, "Scale", Vector(1,1,1))
|
||||
pac.GetSet(PART, "Size", 1)
|
||||
pac.GetSet(PART, "Model", "models/props_junk/watermelon01.mdl")
|
||||
pac.EndStorableVars()
|
||||
|
||||
PART.Colorf = Vector(1,1,1)
|
||||
|
||||
pac.GetSet(PART, "Entity", NULL)
|
||||
|
||||
function PART:Initialize()
|
||||
@ -149,9 +152,18 @@ function PART:OnDraw(owner, pos, ang)
|
||||
end
|
||||
end
|
||||
|
||||
if self.Colorf then render.SetColorModulation(self.Colorf.r, self.Colorf.g, self.Colorf.b) end
|
||||
if self.Colorf then
|
||||
render.SetColorModulation(self.Colorf.r * self.Brightness, self.Colorf.g * self.Brightness, self.Colorf.b * self.Brightness)
|
||||
end
|
||||
|
||||
if self.Alpha then render.SetBlend(self.Alpha) end
|
||||
if self.Materialm then if net then render.MaterialOverride(self.Materialm) else SetMaterialOverride(self.Materialm) end end
|
||||
|
||||
if net then
|
||||
render.MaterialOverride(self.Material ~= "" and self.Materialm or nil)
|
||||
else
|
||||
SetMaterialOverride(self.Material ~= "" and self.Materialm or nil)
|
||||
end
|
||||
|
||||
|
||||
if self.Fullbright then
|
||||
render.SuppressEngineLighting(true)
|
||||
@ -219,7 +231,7 @@ function PART:SetColor(var)
|
||||
var = var or Vector()
|
||||
|
||||
self.Color = var
|
||||
self.Colorf = Vector(var.r, var.g, var.b) / 255
|
||||
self.Colorf = (Vector(var.r, var.g, var.b) / 255) * self.Brightness
|
||||
end
|
||||
|
||||
function PART:SetMaterial(var)
|
||||
|
@ -14,6 +14,7 @@ function PART:Initialize()
|
||||
pac.GetSet(self, "Hide", false)
|
||||
pac.GetSet(self, "Material", "")
|
||||
pac.GetSet(self, "Color", Vector(255, 255, 255))
|
||||
pac.GetSet(self, "Brightness", 1)
|
||||
pac.GetSet(self, "Alpha", 1)
|
||||
pac.GetSet(self, "Scale", Vector(1,1,1))
|
||||
pac.GetSet(self, "Size", 1)
|
||||
@ -66,17 +67,20 @@ function PART:GetOwner()
|
||||
end
|
||||
|
||||
function PART:UpdateScale(owner)
|
||||
owner:InvalidateBoneCache()
|
||||
owner:SetModelScale(self.Scale * self.Size)
|
||||
owner:SetupBones()
|
||||
--print(self.Scale, self.Size)
|
||||
end
|
||||
|
||||
function PART:SetSize(var)
|
||||
self.Size = var
|
||||
self:UpdateScale()
|
||||
self:UpdateScale(self:GetOwner())
|
||||
end
|
||||
|
||||
function PART:SetScale(var)
|
||||
self.Scale = var
|
||||
self:UpdateScale()
|
||||
self:UpdateScale(self:GetOwner())
|
||||
end
|
||||
|
||||
PART.Colorf = Vector(1,1,1)
|
||||
@ -85,7 +89,7 @@ function PART:SetColor(var)
|
||||
var = var or Vector(255, 255, 255)
|
||||
|
||||
self.Color = var
|
||||
self.Colorf = Vector(var.r, var.g, var.b) / 255
|
||||
self.Colorf = (Vector(var.r, var.g, var.b) / 255)
|
||||
end
|
||||
|
||||
function PART:SetMaterial(var)
|
||||
@ -130,21 +134,23 @@ function PART:UpdateWeaponDraw(owner)
|
||||
end
|
||||
|
||||
function PART:UpdateColor(owner)
|
||||
if net then
|
||||
owner:SetColor(Color(self.Color.r, self.Color.g, self.Color.b, math.ceil(self.Alpha * 255)))
|
||||
else
|
||||
owner:SetColor(self.Color.r, self.Color.g, self.Color.b, math.ceil(self.Alpha * 255))
|
||||
end
|
||||
|
||||
render.SetColorModulation(self.Colorf.r * self.Brightness, self.Colorf.g * self.Brightness, self.Colorf.b * self.Brightness)
|
||||
render.SetBlend(self.Alpha)
|
||||
end
|
||||
|
||||
function PART:UpdateMaterial(owner)
|
||||
owner:SetMaterial(self.Material)
|
||||
--owner:SetMaterial(self.Material)
|
||||
if not self.Materialm then return end
|
||||
|
||||
if net then
|
||||
render.MaterialOverride(self.Materialm)
|
||||
else
|
||||
SetMaterialOverride(self.Materialm)
|
||||
end
|
||||
end
|
||||
|
||||
function PART:UpdateAll(owner)
|
||||
self:UpdateScale(owner)
|
||||
--self:UpdateScale(owner)
|
||||
self:UpdateMaterial(owner)
|
||||
self:UpdateColor(owner)
|
||||
end
|
||||
@ -163,6 +169,12 @@ end
|
||||
|
||||
function PART:PostPlayerDraw(owner, pos, ang)
|
||||
render.SetBlend(1)
|
||||
render.SetColorModulation(1,1,1)
|
||||
if net then
|
||||
render.MaterialOverride()
|
||||
else
|
||||
SetMaterialOverride(0)
|
||||
end
|
||||
|
||||
self:EndClipping()
|
||||
end
|
||||
|
@ -41,6 +41,7 @@ pace.PropertyOrder =
|
||||
"Size",
|
||||
"Scale",
|
||||
"Color",
|
||||
"Brightness",
|
||||
"Alpha",
|
||||
"Min",
|
||||
"Max",
|
||||
|
@ -521,14 +521,14 @@ do -- vector
|
||||
num = tonumber(num) or 0
|
||||
|
||||
num = math.Round(num)
|
||||
num = math.max(num, 0)
|
||||
num = math.Clamp(num, 0, 255)
|
||||
|
||||
return tostring(num)
|
||||
end,
|
||||
|
||||
function(self)
|
||||
local frm = vgui.Create("DFrame")
|
||||
frm:SetSize(100, 100)
|
||||
frm:SetSize(200, 200)
|
||||
frm:Center()
|
||||
frm:MakePopup()
|
||||
frm:SetTitle("")
|
||||
@ -540,7 +540,9 @@ do -- vector
|
||||
function clr.Think()
|
||||
if net then
|
||||
local clr = clr:GetColor() or Color(255, 255, 255, 255)
|
||||
self.OnValueChanged(Vector(clr.r, clr.g, clr.b))
|
||||
local vec = Vector(clr.r, clr.g, clr.b)
|
||||
self.OnValueChanged(vec)
|
||||
self:SetValue(vec)
|
||||
else
|
||||
if
|
||||
clr.ColorCube:GetDragging() or
|
||||
@ -548,7 +550,9 @@ do -- vector
|
||||
clr.RGBBar:GetDragging()
|
||||
then
|
||||
local clr = clr:GetColor() or Color(255, 255, 255, 255)
|
||||
self.OnValueChanged(Vector(clr.r, clr.g, clr.b))
|
||||
local vec = Vector(clr.r, clr.g, clr.b)
|
||||
self.OnValueChanged(vec)
|
||||
self:SetValue(vec)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user