Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: hologram.lua
- ===================================================================
- --- hologram.lua (revision 2045)
- +++ hologram.lua (working copy)
- @@ -595,14 +595,82 @@
- /******************************************************************************/
- +local function holoModelAny_rescale(Holo, scaletable)
- + local maxval = wire_holograms_size_max:GetInt() * 12.04
- + local minval = -maxval
- +
- + local scale = Vector(scaletable[1],scaletable[2],scaletable[3])
- + local tempvec = (Holo.ent:OBBMaxs() - Holo.ent:OBBMins())
- + local vec = Vector(tempvec.x*scale.x,tempvec.y*scale.y,tempvec.z*scale.z)
- +
- + if (math.abs(vec.x) > maxval) then
- + --scale.x = maxval/tempvec.x
- + local maxval2 = tempvec.x*maxval
- + scale.x = math.Clamp(maxval/tempvec.x,-maxval2,maxval2)
- + end
- + if (math.abs(vec.y) > maxval) then
- + --scale.y = maxval/tempvec.y
- + local maxval2 = tempvec.y*maxval
- + scale.y = math.Clamp(maxval/tempvec.y,-maxval2,maxval2)
- + end
- + if (math.abs(vec.z) > maxval) then
- + --scale.z = maxval/tempvec.z
- + local maxval2 = tempvec.z*maxval
- + scale.z = math.Clamp(maxval/tempvec.z,-maxval2,maxval2)
- + end
- +
- + if Holo.scale ~= scale then
- + table.insert(scale_queue, { Holo, scale })
- + Holo.scale = scale
- + end
- +end
- +
- +e2function void holoScale( number index, vector scale )
- + local Holo = CheckIndex( self, index )
- + if !Holo then return end
- +
- + if (Holo.ent.modelany) then
- + holoModelAny_rescale( Holo, scale ) -- my rescale
- + else
- + rescale( Holo, scale ) -- normal rescale
- + end
- +end
- +
- +e2function void holoScaleUnits( number index, vector size )
- + local Holo = CheckIndex( self, index )
- + if !Holo then return end
- +
- + local propsize = Holo.ent:OBBMaxs() - Holo.ent:OBBMins()
- + x = size[1] / propsize.x
- + y = size[2] / propsize.y
- + z = size[3] / propsize.z
- +
- + if (Holo.ent.modelany) then
- + holoModelAny_rescale( Holo, Vector(x,y,z) ) -- my rescale
- + else
- + rescale( Holo, Vector(x,y,z) ) -- normal rescale
- + end
- +end
- +
- +e2function void holoModelAny( number index, string model )
- + local Holo = CheckIndex( self, index )
- + if !Holo then return end
- +
- + Holo.ent.modelany = true -- remember to set this to false when using holoModel (to change back to a normal model)
- + Holo.ent:SetModel( Model(model) )
- + holoModelAny_rescale( Holo, { 1, 1, 1} )
- +end
- +
- +/***********************************************************************************************************************************************************************************************************************************/
- +
- __e2setcost(5) -- temporary
- -e2function void holoScale(index, vector scale)
- +/*e2function void holoScale(index, vector scale)
- local Holo = CheckIndex(self, index)
- if not Holo then return end
- rescale(Holo, scale)
- -end
- +end*/
- e2function vector holoScale(index)
- local Holo = CheckIndex(self, index)
- @@ -611,7 +679,7 @@
- return Holo.scale or {0,0,0} -- TODO: maybe {1,1,1}?
- end
- -e2function void holoScaleUnits(index, vector size)
- +/*e2function void holoScaleUnits(index, vector size)
- local Holo = CheckIndex(self, index)
- if not Holo then return end
- @@ -621,7 +689,7 @@
- z = size[3] / propsize.z
- rescale(Holo, Vector(x, y, z))
- -end
- +end*/
- e2function vector holoScaleUnits(index)
- local Holo = CheckIndex(self, index)
Add Comment
Please, Sign In to add comment