mirror of
https://github.com/dvdvideo1234/TrackAssemblyTool.git
synced 2025-03-04 03:13:32 -05:00
Updated: Super-elevation tilt margin limits
Added: Super-elevation negative curve tilt support Added: Super-elevation is disabled when margin is zero
This commit is contained in:
parent
2c900f1fb4
commit
5ec4d1c590
@ -87,7 +87,7 @@ local asmlib = trackasmlib; if(not asmlib) then -- Module present
|
||||
------------ CONFIGURE ASMLIB ------------
|
||||
|
||||
asmlib.InitBase("track","assembly")
|
||||
asmlib.SetOpVar("TOOL_VERSION","9.778")
|
||||
asmlib.SetOpVar("TOOL_VERSION","9.779")
|
||||
|
||||
------------ CONFIGURE GLOBAL INIT OPVARS ------------
|
||||
|
||||
@ -151,7 +151,7 @@ asmlib.SetBorder(gsToolPrefL.."spawnrate", 1, 10)
|
||||
asmlib.SetBorder(gsToolPrefL.."sgradmenu", 1, 16)
|
||||
asmlib.SetBorder(gsToolPrefL.."dtmessage", 0, 10)
|
||||
asmlib.SetBorder(gsToolPrefL.."ghostblnd", 0, 1)
|
||||
asmlib.SetBorder(gsToolPrefL.."crvsuprev", 0, 1)
|
||||
asmlib.SetBorder(gsToolPrefL.."crvsuprev", -2, 2)
|
||||
asmlib.SetBorder(gsToolPrefL.."rtradmenu", -gnMaxRot, gnMaxRot)
|
||||
|
||||
------------ CONFIGURE LOGGING ------------
|
||||
|
@ -142,7 +142,7 @@ TOOL.ClientConVar = {
|
||||
[ "upspanchor" ] = 0,
|
||||
[ "crvturnlm" ] = 0.95,
|
||||
[ "crvleanlm" ] = 0.95,
|
||||
[ "crvsuprev" ] = 0.45,
|
||||
[ "crvsuprev" ] = 0,
|
||||
[ "flipoverid" ] = ""
|
||||
}
|
||||
|
||||
@ -206,7 +206,7 @@ TOOL.Command = nil -- Command on click (nil for default)
|
||||
TOOL.ConfigName = nil -- Configure file name (nil for default)
|
||||
|
||||
function TOOL:GetSuperElevation()
|
||||
return mathClamp(self:GetClientNumber("crvsuprev", 0), 0, 1)
|
||||
return mathClamp(self:GetClientNumber("crvsuprev", 0), -2, 2)
|
||||
end
|
||||
|
||||
function TOOL:GetCurveFactor()
|
||||
@ -254,7 +254,8 @@ function TOOL:GetModel()
|
||||
end
|
||||
|
||||
function TOOL:GetStackCount()
|
||||
return mathClamp(self:GetClientNumber("stackcnt", 0), 0, asmlib.GetAsmConvar("maxstcnt", "INT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxstcnt", "INT")
|
||||
return mathClamp(self:GetClientNumber("stackcnt", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetSpawnRate()
|
||||
@ -262,11 +263,13 @@ function TOOL:GetSpawnRate()
|
||||
end
|
||||
|
||||
function TOOL:GetMass()
|
||||
return mathClamp(self:GetClientNumber("mass", 0), 0, asmlib.GetAsmConvar("maxmass","FLT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxmass","FLT")
|
||||
return mathClamp(self:GetClientNumber("mass", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetSizeUCS()
|
||||
return mathClamp(self:GetClientNumber("sizeucs", 0), 0, asmlib.GetAsmConvar("maxlinear","FLT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxlinear","FLT")
|
||||
return mathClamp(self:GetClientNumber("sizeucs", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetDeveloperMode()
|
||||
@ -274,10 +277,10 @@ function TOOL:GetDeveloperMode()
|
||||
end
|
||||
|
||||
function TOOL:GetPosOffsets()
|
||||
local nMaxLin = asmlib.GetAsmConvar("maxlinear","FLT")
|
||||
return mathClamp(self:GetClientNumber("nextx", 0), -nMaxLin, nMaxLin),
|
||||
mathClamp(self:GetClientNumber("nexty", 0), -nMaxLin, nMaxLin),
|
||||
mathClamp(self:GetClientNumber("nextz", 0), -nMaxLin, nMaxLin)
|
||||
local nMax = asmlib.GetAsmConvar("maxlinear","FLT")
|
||||
return mathClamp(self:GetClientNumber("nextx", 0), -nMax, nMax),
|
||||
mathClamp(self:GetClientNumber("nexty", 0), -nMax, nMax),
|
||||
mathClamp(self:GetClientNumber("nextz", 0), -nMax, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetAngOffsets()
|
||||
@ -319,7 +322,8 @@ function TOOL:GetGravity()
|
||||
end
|
||||
|
||||
function TOOL:GetGhostsCount()
|
||||
return mathClamp(self:GetClientNumber("ghostcnt", 0), 0, asmlib.GetAsmConvar("maxghcnt", "INT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxghcnt", "INT")
|
||||
return mathClamp(self:GetClientNumber("ghostcnt", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetUpSpawnAnchor()
|
||||
@ -355,7 +359,8 @@ function TOOL:GetPointID()
|
||||
end
|
||||
|
||||
function TOOL:GetActiveRadius()
|
||||
return mathClamp(self:GetClientNumber("activrad", 0), 0, asmlib.GetAsmConvar("maxactrad", "FLT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxactrad", "FLT")
|
||||
return mathClamp(self:GetClientNumber("activrad", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetAngSnap()
|
||||
@ -363,7 +368,8 @@ function TOOL:GetAngSnap()
|
||||
end
|
||||
|
||||
function TOOL:GetForceLimit()
|
||||
return mathClamp(self:GetClientNumber("forcelim", 0), 0, asmlib.GetAsmConvar("maxforce" ,"FLT"))
|
||||
local nMax = asmlib.GetAsmConvar("maxforce" ,"FLT")
|
||||
return mathClamp(self:GetClientNumber("forcelim", 0), 0, nMax)
|
||||
end
|
||||
|
||||
function TOOL:GetWeld()
|
||||
@ -942,7 +948,7 @@ function TOOL:ApplySuperElevation(tC, tData, iD)
|
||||
asmlib.LogInstance("Curve missing", gtLogs); return 0 end
|
||||
local spnflat = self:GetSpawnFlat()
|
||||
local crvsuprev = self:GetSuperElevation()
|
||||
if(not (crvsuprev > 0 and not spnflat)) then
|
||||
if(not (crvsuprev ~= 0 and not spnflat)) then
|
||||
asmlib.LogInstance("Auto roll disabled", gtLogs); return 0 end
|
||||
local iN, nS = tonumber(iD), asmlib.GetOpVar("FULL_SLOPEDG")
|
||||
if(iN) then
|
||||
|
Loading…
Reference in New Issue
Block a user