getTerrainHeight
Definition
-- @/lua/ge/extensions/core/terrain.lua:21
local function getTerrainHeight(point)
local terrain = getTerrain()
if terrain then
return terrain:getHeight(point)
end
end
Callers
@/lua/ge/extensions/editor/trafficSignalsEditor.lua
if core_terrain.getTerrain() then
signalPos[2] = core_terrain.getTerrainHeight(currInstance.pos)
changed = true
@/lua/ge/extensions/editor/roadArchitect.lua
if nodes[1] then
nodes[1].p.z = core_terrain.getTerrainHeight(nodes[1].p)
end
if nodes[2] then
nodes[2].p.z = core_terrain.getTerrainHeight(nodes[2].p)
end
if nodes[1] then
nodes[1].p.z = core_terrain.getTerrainHeight(nodes[1].p)
end
if nodes[2] then
nodes[2].p.z = core_terrain.getTerrainHeight(nodes[2].p)
end
@/lua/ge/extensions/ui/apps/minimap/topomap.lua
log("I", "", string.format("Test heights: origin=%.1f, (100,0)=%.1f, (0,100)=%.1f",
core_terrain.getTerrainHeight(vec3(0,0,0)) or 0,
core_terrain.getTerrainHeight(vec3(100,0,0)) or 0,
core_terrain.getTerrainHeight(vec3(0,0,0)) or 0,
core_terrain.getTerrainHeight(vec3(100,0,0)) or 0,
core_terrain.getTerrainHeight(vec3(0,100,0)) or 0))
core_terrain.getTerrainHeight(vec3(100,0,0)) or 0,
core_terrain.getTerrainHeight(vec3(0,100,0)) or 0))
-- Get terrain height at this position
local terrainHeight = core_terrain.getTerrainHeight(scanPos)
if terrainHeight and terrainHeight > 0 then
@/lua/ge/extensions/editor/raceEditor/startPositions.lua
local old = sp:onSerialize()
sp.pos = vec3(spPosition[0], spPosition[1], core_terrain.getTerrainHeight(sp.pos))
self:updateTransform(self.index)
local normalTip = sp.pos + sp.rot*vec3(0,-4.5, 0)
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
sp.rot = quatFromDir((sp.pos - normalTip):normalized(), vec3(0,0,1))
@/lua/ge/extensions/gameplay/rally/snaproad.lua
local adjustHeight = function(pos, r)
-- local newZ = core_terrain.getTerrainHeight(pos)
-- return vec3(pos.x, pos.y, newZ-(r*0.25))
@/lua/ge/extensions/editor/raceEditor/pacenotes.lua
editor.history:commitAction("Drop Note to Ground",
{index = self.index, old = note.pos,self = self, new = vec3(pacenotePosition[0], pacenotePosition[1], core_terrain.getTerrainHeight(note.pos)), field = 'pos'},
setFieldUndo, setFieldRedo)
local normalTip = note.pos + note.normal*note.radius
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
editor.history:commitAction("Align Normal with Terrain",
@/lua/ge/extensions/editor/crawlEditor/startingPositions.lua
if core_terrain then
p.z = (core_terrain.getTerrainHeight(p) or p.z)
return p, true
@/lua/ge/extensions/editor/api/gizmo.lua
if core_terrain.getTerrain() then
initialGizmoTerrainOffset = gizmoPos.z - core_terrain.getTerrainHeight(gizmoPos)
initialGizmoTerrainNormal = core_terrain.getTerrainSmoothNormal(gizmoPos)
initialGizmoTerrainNormal = core_terrain.getTerrainSmoothNormal(gizmoPos)
lastGizmoTerrainHeight = core_terrain.getTerrainHeight(gizmoPos)
else
if core_terrain.getTerrain() then
objectTerrainOffsets[index] = objPos.z - core_terrain.getTerrainHeight(objPos)
objectTerrainNormals[index] = core_terrain.getTerrainSmoothNormal(objPos)
if core_terrain.getTerrain() then
newGizmoTerrainHeight = core_terrain.getTerrainHeight(newGizmoPos)
newGizmoTerrainNormal = core_terrain.getTerrainSmoothNormal(newGizmoPos)
local rotatedOffsetPos = objectGizmoOffsets[index]
local objectTerrainHeight = core_terrain.getTerrainHeight(newPos) or 0
local objectTerrainNormal = core_terrain.getTerrainSmoothNormal(newPos) or vec3(0, 1, 0)
@/lua/ge/extensions/util/forestGenerator.lua
if core_terrain.getTerrain() then
data.pos.z = core_terrain.getTerrainHeight(data.pos)
end
if core_terrain.getTerrain() then
data.pos.z = core_terrain.getTerrainHeight(data.pos)
end
@/lua/ge/extensions/gameplay/traffic/vehicle.lua
local isDaytime = self:checkTimeOfDay()
local terrainHeight = core_terrain.getTerrain() and core_terrain.getTerrainHeight(self.pos) or 0
local terrainHeightDefault = core_terrain.getTerrain() and core_terrain.getTerrain():getPosition().z or 0
@/lua/ge/extensions/gameplay/crawl/utils.lua
if core_terrain then
terrainHeight = core_terrain.getTerrainHeight(dotPos) or dotPos.z
end
@/lua/ge/extensions/scenario/raceMarkers/crawlMarker.lua
if core_terrain then
local terrainHeight = core_terrain.getTerrainHeight(leftPos)
if terrainHeight then
if core_terrain then
local terrainHeight = core_terrain.getTerrainHeight(rightPos)
if terrainHeight then
if core_terrain then
local terrainHeight = core_terrain.getTerrainHeight(self.pos)
if terrainHeight then
@/lua/ge/extensions/core/cameraModes/pacenoteOrbit.lua
-- Note: Assuming newPos should be camPos in your context and considering BeamNG's Z-up coordinate system
local terrainHeight = core_terrain.getTerrainHeight(vec3(camPos.x, camPos.y, 0))
@/lua/ge/extensions/editor/gen/terrain.lua
local function forZ(p)
return core_terrain.getTerrainHeight(p)
end
@/lua/ge/extensions/editor/roadUtils.lua
newPos.y = newPos.y + (math.random() - 0.5) * factor
newPos.z = core_terrain.getTerrainHeight(newPos)
@/lua/ge/extensions/editor/tech/roadArchitect/tunnelMesh.lua
tmp0:set(sx1, sy1, 0)
tmp1:set(sx1, sy1, core_terrain.getTerrainHeight(tmp0))
local dSq = tmp1:squaredDistanceToLineSegment(c1, c2)
tmp0:set(sx1, sy2, 0)
tmp1:set(sx1, sy2, core_terrain.getTerrainHeight(tmp0))
local dSq = tmp1:squaredDistanceToLineSegment(c1, c2)
tmp0:set(sx2, sy1, 0)
tmp1:set(sx2, sy1, core_terrain.getTerrainHeight(tmp0))
local dSq = tmp1:squaredDistanceToLineSegment(c1, c2)
tmp0:set(sx2, sy2, 0)
tmp1:set(sx2, sy2, core_terrain.getTerrainHeight(tmp0))
local dSq = tmp1:squaredDistanceToLineSegment(c1, c2)
@/lua/ge/extensions/editor/sitesEditor/zones.lua
if core_terrain then
p.z = (core_terrain.getTerrainHeight(p) or p.z)
return p, true
@/lua/ge/extensions/editor/gen/decal.lua
end
-- adec[rsrc].list[n].z = core_terrain.getTerrainHeight(adec[rsrc].list[n])
for k,n in pairs(r.list) do
adec[i].list[k].z = core_terrain.getTerrainHeight(adec[i].list[k])
end
for _,p in pairs(out.avedit) do
p.z = core_terrain.getTerrainHeight(p)
end
local function forZ(p)
return core_terrain.getTerrainHeight(p)
end
if not mask[ijs] or fix == 0 then
local shight = mask[ijs] and mask[ijs][1] or core_terrain.getTerrainHeight(p)
mask[ijs] = {shight, h, fix or 1, ij}
if not mask[ijs] then
mask[ijs] = {core_terrain.getTerrainHeight(p), h, 1, ij}
elseif fix then
-- lo('?? for_r:'..r)
-- pc = pc + vec3(0,0,core_terrain.getTerrainHeight(pc))
if r > pinext then
r = pc:distance(D.epos(rd.body, d.dir==-1 and rd.body:getEdgeCount()-1 or 0, d.dir==-1 and 'right' or 'left'))
-- pc = pc + vec3(0,0,core_terrain.getTerrainHeight(pc))
-- out.avedit = {c + forZ(c)} -- vec3(0,0,core_terrain.getTerrainHeight(c))}
-- pc = pc + vec3(0,0,core_terrain.getTerrainHeight(pc))
-- out.avedit = {c + forZ(c)} -- vec3(0,0,core_terrain.getTerrainHeight(c))}
if r > pinext then
-- U.dump(bcross, '?? road2ter:'..ind..':'..adec[ind].id)
-- U.dump(rd.across, '?? for_rdcross:'..#rd.across..':'..core_terrain.getTerrainHeight(rd.across[1])..':'..core_terrain.getTerrainHeight(rd.across[3]))
for i=2,#rd.across do
-- U.dump(bcross, '?? road2ter:'..ind..':'..adec[ind].id)
-- U.dump(rd.across, '?? for_rdcross:'..#rd.across..':'..core_terrain.getTerrainHeight(rd.across[1])..':'..core_terrain.getTerrainHeight(rd.across[3]))
for i=2,#rd.across do
-- U.dump(rd.across[i], '?? forAC:')
-- lo('?? for_DH:'..(core_terrain.getTerrainHeight(rd.across[i][2])-core_terrain.getTerrainHeight(rd.across[i-1][2])))
if math.abs((core_terrain.getTerrainHeight(rd.across[i].p)-core_terrain.getTerrainHeight(rd.across[i-1].p))/(andist[rd.across[i].inode]-andist[rd.across[i-1].inode])) > math.tan(maxslope) then
-- U.dump(rd.across[i], '?? forAC:')
-- lo('?? for_DH:'..(core_terrain.getTerrainHeight(rd.across[i][2])-core_terrain.getTerrainHeight(rd.across[i-1][2])))
if math.abs((core_terrain.getTerrainHeight(rd.across[i].p)-core_terrain.getTerrainHeight(rd.across[i-1].p))/(andist[rd.across[i].inode]-andist[rd.across[i-1].inode])) > math.tan(maxslope) then
-- lo('?? for_DH:'..(core_terrain.getTerrainHeight(rd.across[i][2])-core_terrain.getTerrainHeight(rd.across[i-1][2])))
if math.abs((core_terrain.getTerrainHeight(rd.across[i].p)-core_terrain.getTerrainHeight(rd.across[i-1].p))/(andist[rd.across[i].inode]-andist[rd.across[i-1].inode])) > math.tan(maxslope) then
lo('!! high_SLOPE:'..ind..':'..rd.id)
-- lo('?? for_DH:'..(core_terrain.getTerrainHeight(rd.across[i][2])-core_terrain.getTerrainHeight(rd.across[i-1][2])))
if math.abs((core_terrain.getTerrainHeight(rd.across[i].p)-core_terrain.getTerrainHeight(rd.across[i-1].p))/(andist[rd.across[i].inode]-andist[rd.across[i-1].inode])) > math.tan(maxslope) then
lo('!! high_SLOPE:'..ind..':'..rd.id)
local function hmapChange(p, h, yes)
-- if hsave == nil then hsave = core_terrain.getTerrainHeight(p) end
local hsave = core_terrain.getTerrainHeight(p)
-- if hsave == nil then hsave = core_terrain.getTerrainHeight(p) end
local hsave = core_terrain.getTerrainHeight(p)
-- shmap[p.x..'_'..p.y] = core_terrain.getTerrainHeight(p)
local hsave = core_terrain.getTerrainHeight(p)
-- shmap[p.x..'_'..p.y] = core_terrain.getTerrainHeight(p)
-- if not out.inconform then
cint = 1
local cheight = core_terrain.getTerrainHeight(vec3(anode[1].pos.x,anode[1].pos.y))
-- aepin = {{1, cheight}}
-- aepin = {{1, cheight}}
-- local cheight = core_terrain.getTerrainHeight(vec3(anode[acp[cint]].pos.x,anode[acp[cint]].pos.y))
local inswitch = false
inswitch = true
cheight = core_terrain.getTerrainHeight(vec3(anode[acp[cint]].pos.x,anode[acp[cint]].pos.y))
cdist = aeinfo[i+1].d
local p = croad:getMiddleEdgePosition(i)
aepin[#aepin+1] = {i+1, core_terrain.getTerrainHeight(vec3(p.x,p.y))}
-- aepin[i+1] = core_terrain.getTerrainHeight(vec3(p.x,p.y))
aepin[#aepin+1] = {i+1, core_terrain.getTerrainHeight(vec3(p.x,p.y))}
-- aepin[i+1] = core_terrain.getTerrainHeight(vec3(p.x,p.y))
cdist = aeinfo[i+1].d
local p = croad:getMiddleEdgePosition(nsec-1)
aepin[#aepin + 1] = {nsec, core_terrain.getTerrainHeight(vec3(p.x,p.y))}
end
local t = vec3(x,y)
t.z = core_terrain.getTerrainHeight(t)
-- lo('?? for_dist:'..aeinfo[pin1].d..':'..aeinfo[imi].d..':'..aeinfo[pin2].d..' c:'..c..' h:'..hbase..' d:'..ap[y][x][1]..':'..dmi..' w:'..rwidth)
-- local hter = t.z -- core_terrain.getTerrainHeight(p)
out.avedit = {us1, us2, them1, them2}
out.apick = {vec3(x,y,core_terrain.getTerrainHeight(vec3(x,y)))}
-- lo('?? fr_to:'..ifr..'>'..ito..'/'..nsec..':'..jfr..'>'..jto..'/'..nsecthem)
local p = vec3(x,y) + (u + v):normalized()*margin/math.sin(ang)
p.z = core_terrain.getTerrainHeight(p)
local ie = atEdge(p, rdobj)
-- out.avedit[#out.avedit + 1] = nxt
-- out.avedit[#out.avedit].z = core_terrain.getTerrainHeight(nxt)
end
-- out.avedit[#out.avedit + 1] = nxt
-- out.avedit[#out.avedit].z = core_terrain.getTerrainHeight(nxt)
end
-- veh:setPositionNoPhysicsReset(rayCast.pos)
-- scenetree.findObject("thePlayer"):setPosition(vec3(x, y, core_terrain.getTerrainHeight(vec3(x,y))))
-- elseif editor.keyModifiers.ctrl then -- and out.injunction then --not indrag and U._MODE ~= 'conf' then
@/lua/ge/extensions/editor/tech/roadArchitect/utilities.lua
local function isOverTerrain(p)
local zTerrain = core_terrain.getTerrainHeight(p)
tmp:set(p.x, p.y, p.z + 4.5)
@/lua/ge/extensions/editor/raceEditor/tools.lua
for _, node in pairs(self.path.pathnodes.objects) do
newDataMap[node.id] = core_terrain.getTerrainHeight(node.pos)
end
local normalTip = node.pos + node.normal*node.radius
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
newDataMap[node.id] = normalTip - node.pos
@/lua/ge/extensions/editor/objectToSplineEditor.lua
if hasTerrain then
local z = core_terrain.getTerrainHeight(pos)
if math.abs(pos.z - z) >= 0.1 then -- terrain is below or above the current surface
@/lua/ge/extensions/gameplay/crawl/boundary.lua
if core_terrain then
pos.z = core_terrain.getTerrainHeight(pos) or pos.z
else
@/lua/ge/extensions/editor/gen/test.lua
if inworld then
scenetree.findObject("thePlayer"):setPosition(vec3(x, y, core_terrain.getTerrainHeight(vec3(x,y))))
if true then return end
@/lua/ge/extensions/editor/roadDecorations.lua
local height = core_terrain.getTerrainHeight(vec3(pos.x, pos.y, pos.z))
if height then
@/lua/ge/extensions/gameplay/sites/zone.lua
if core_terrain then
p.z = (core_terrain.getTerrainHeight(p) or p.z)
end
@/lua/ge/extensions/editor/gen/world.lua
local cpos = core_camera.getPosition()
cpos.z = core_terrain.getTerrainHeight(U.proj2D(cpos)) + 10
end
if not shmap[p.x][p.y] then
-- lo('?? for_h:'..p.x..':'..p.y..':'..core_terrain.getTerrainHeight(p))
shmap[p.x][p.y] = core_terrain.getTerrainHeight(p)
-- lo('?? for_h:'..p.x..':'..p.y..':'..core_terrain.getTerrainHeight(p))
shmap[p.x][p.y] = core_terrain.getTerrainHeight(p)
end
end
shmap[x][y] = core_terrain.getTerrainHeight(vec3(x,y))
end
if U._PRD == 0 and W.ui.injunction then
scenetree.findObject("thePlayer"):setPosition(vec3(0, 0, core_terrain.getTerrainHeight(vec3(0,0))))
end
p = vec3(x, y)
local z = tb and core_terrain.getTerrainHeight(p) or 0
p.z = z
local p = vec3(x, y)
local z = tb and core_terrain.getTerrainHeight(p) or 0
p.z = z
dpos[id][#dpos[id]+1] = p
local z = tb and core_terrain.getTerrainHeight(p) or 0
p.z = z
-- pos = vec3(0,0,0)
pos.z = core_terrain.getTerrainHeight(U.proj2D(pos))
buildingGen(pos, base)
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalCircle.lua
-- if self.data.snapToTerrain and core_terrain and core_terrain.getTerrain() then
-- data.position.z = core_terrain.getTerrainHeight(data.position)
-- end
@/gameplay/missionTypes/scatterPickup/customNodes/scatterStuffInZonesNode.lua
local z = zone.center.z
if core_terrain.getTerrain() and core_terrain.getTerrainHeight(blue) > 0 then
z = core_terrain.getTerrainHeight(blue)
if core_terrain.getTerrain() and core_terrain.getTerrainHeight(blue) > 0 then
z = core_terrain.getTerrainHeight(blue)
end
@/lua/ge/extensions/editor/gen/utils.lua
local r = rma * math.sqrt((p - core_camera.getPosition()):length())
-- p.z = core_terrain.getTerrainHeight(U.proj2D(p))
debugDrawer:drawSphere(p + plus, r, clr, false)
-- out.avedit[#out.avedit + 1] = nxt
-- out.avedit[#out.avedit].z = core_terrain.getTerrainHeight(nxt)
end
-- out.avedit[#out.avedit + 1] = nxt
-- out.avedit[#out.avedit].z = core_terrain.getTerrainHeight(nxt)
end
@/lua/ge/extensions/editor/gen/region.lua
out.avedit = {
U.proj2D(adec[rmi].list[nmi])+vec3(0,0,core_terrain.getTerrainHeight(U.proj2D(adec[rmi].list[nmi]))),
U.proj2D(adec[rmi].list[nmi+1])+vec3(0,0,core_terrain.getTerrainHeight(U.proj2D(adec[rmi].list[nmi+1]))),
U.proj2D(adec[rmi].list[nmi])+vec3(0,0,core_terrain.getTerrainHeight(U.proj2D(adec[rmi].list[nmi]))),
U.proj2D(adec[rmi].list[nmi+1])+vec3(0,0,core_terrain.getTerrainHeight(U.proj2D(adec[rmi].list[nmi+1]))),
}
local r = rma * math.sqrt((p - core_camera.getPosition()):length())
p.z = core_terrain.getTerrainHeight(U.proj2D(p))
debugDrawer:drawSphere(p, r, clr)
tb:setHeightWs(vec3(x,y), 0)
lo('?? 0_0 : h='..core_terrain.getTerrainHeight(vec3(x,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
tb:setHeightWs(vec3(x,y), 1)
lo('?? 0_0 : h='..core_terrain.getTerrainHeight(vec3(x,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
tb:setHeightWs(vec3(x,y), 0)
lo('?? 0_0 : h='..core_terrain.getTerrainHeight(vec3(x,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? -1_0 : '..core_terrain.getTerrainHeight(vec3(x-1,y)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? +1_0 : '..core_terrain.getTerrainHeight(vec3(x+1,y)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
lo('?? 0_-1 : '..core_terrain.getTerrainHeight(vec3(x,y-1)))
lo('?? 0_+1 : '..core_terrain.getTerrainHeight(vec3(x,y+1)))
c = c + pos
local hbase = desc.pinned and desc.pos.z or core_terrain.getTerrainHeight(c) + hplus --+ 10
-- get mantle
for y = math.floor(c.y - r), math.ceil(c.y + r) do
-- lo('?? for_H:'..x..':'..y..':'..core_terrain.getTerrainHeight(vec3(x,y)), true)
-- out.avedit[#out.avedit + 1] = vec3(x, y, desc.pos.z + 5)
end
local hter = block[x][y] --core_terrain.getTerrainHeight(p)
local h = U.spline2(hbase, hter, a, a + b)
@/lua/ge/extensions/editor/tech/roadArchitect/geometry.lua
local rLeft, rRight = rDLeft[4], rD[rIdx][3] -- Test both the left-most and right-most lateral road points.
local zLeft = core_terrain.getTerrainHeight(rLeft)
local zRight = core_terrain.getTerrainHeight(rRight)
local zLeft = core_terrain.getTerrainHeight(rLeft)
local zRight = core_terrain.getTerrainHeight(rRight)
tmp1:set(p.x, p.y, 0)
p.z = core_terrain.getTerrainHeight(tmp1)
end
tmp2:set(l2.x, l2.y, 0)
local gL = core_terrain.getTerrainHeight(tmp1) -- Get the terrain height value under the left and right points.
local gR = core_terrain.getTerrainHeight(tmp2)
local gL = core_terrain.getTerrainHeight(tmp1) -- Get the terrain height value under the left and right points.
local gR = core_terrain.getTerrainHeight(tmp2)
tmp1:set(0, 0, l4.z - gL) -- The left and right vertical offset vectors, required to conform the road.
@/lua/ge/extensions/editor/crawlEditor/paths.lua
if core_terrain then
p.z = (core_terrain.getTerrainHeight(p) or p.z)
return p, true
@/lua/ge/extensions/gameplay/rally/notebook/pacenote.lua
for _,wp in ipairs(self.pacenoteWaypoints.sorted) do
wp.pos.z = core_terrain.getTerrainHeight(wp.pos)
end
@/lua/ge/extensions/flowgraph/nodes/math/math.lua
env.smoothmin = smoothmin
env.terrainHeight = function(v) return core_terrain and (core_terrain.getTerrainHeight(v) or v.z) or v.z end
env.case = case
@/lua/ge/extensions/editor/levelValidator.lua
local terrainHeights = {}
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb:getCenter()) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.minExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb:getCenter()) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.minExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.maxExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.minExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.maxExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(vec3(bb.minExtents.x, bb.maxExtents.y, 0)) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(bb.maxExtents) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(vec3(bb.minExtents.x, bb.maxExtents.y, 0)) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(vec3(bb.maxExtents.x, bb.minExtents.y, 0)) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(vec3(bb.minExtents.x, bb.maxExtents.y, 0)) or 0)
table.insert(terrainHeights, core_terrain.getTerrainHeight(vec3(bb.maxExtents.x, bb.minExtents.y, 0)) or 0)
local firstSignPositive = (bbMax - terrainHeights[1]) > 0
@/lua/ge/extensions/scenario/busdriver.lua
end
table.insert(wps, vec3(task[3][1], task[3][2], core_terrain.getTerrainHeight(vec3(task[3]))))
local options = {
end
table.insert(wps, vec3(task[3][1], task[3][2], core_terrain.getTerrainHeight(vec3(task[3]))))
local options = {
@/lua/ge/extensions/gameplay/missions/missionManager.lua
local pos = core_camera.getPosition()
pos.z = core_terrain.getTerrainHeight(pos)+0.5
local options = {config = "kc6x_360_A", pos = pos}
@/lua/ge/extensions/editor/buildingEditor.lua
pos = vec3(15, -72, 10)
local hter = core_terrain.getTerrainHeight(pos)
pos.z = pos.z + hter
cpos.z = 0
local ch = core_terrain.getTerrainHeight(cpos)
-- lo('??___ for_z:'..ch..':'..sz)
@/lua/ge/extensions/gameplay/parking.lua
if core_terrain.getTerrain() then
lastPos.z = core_terrain.getTerrainHeight(lastPos)
debugDrawer:drawCylinder(lastPos, lastPos + vec3(0, 0, 1), checkRadius, ColorF(0, 1, 0, 0.1))
debugPos.z = core_terrain.getTerrainHeight(debugPos)
debugDrawer:drawCylinder(debugPos, debugPos + vec3(0, 0, 1), areaRadius, ColorF(0, 1, 1, 0.1))
@/lua/ge/extensions/editor/rallyEditor/pacenotes.lua
local newPos = pos - offset
local rv = core_terrain.getTerrainHeight(pos)
if rv then
if rv then
newPos.z = core_terrain.getTerrainHeight(pos)
end
@/lua/ge/extensions/gameplay/sites/parkingSpot.lua
if scenetree.findClassObjects("TerrainBlock") then
center.z = core_terrain.getTerrainHeight(center)
local normalTip = center + (bl-fl)
local normalTip = center + (bl-fl)
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
self.rot = quatFromDir((center - normalTip):normalized(), (flU-bl):normalized())
@/lua/ge/extensions/editor/gen/network.lua
-- massCenter = vec3(pos.x, pos.y)
local h = core_terrain.getTerrainHeight(pos)
if not h then return end
local sc,sp,sn = an[k].pos
local hc = core_terrain.getTerrainHeight(sc)
-- v = v:normalized()
local htgt = core_terrain.getTerrainHeight(an[k+1].pos)
local a,b = (an[k].pos-sc):length(),(an[k+1].pos-sc):length()
local v = an[k+1].pos - sc
local h = core_terrain.getTerrainHeight(sc)
local dh = (htgt - h)/v:length()
local cp = sc + step*U.vturn(v, a)
local ch = core_terrain.getTerrainHeight(cp)
local cdh = (ch - h)/step
v = an[k+1].pos - sc
h = core_terrain.getTerrainHeight(sc)
dh = (htgt - h)/v:length()
local sc,sp,sn = s[2].pos
local hc = core_terrain.getTerrainHeight(sc)
local cp = sc + step*U.vturn(v, a)
local h = core_terrain.getTerrainHeight(cp)
if h < hmi then
@/lua/ge/extensions/editor/util/transformUtil.lua
if not core_terrain.getTerrain() then return end
self:set(vec3(self.pos.x, self.pos.y, core_terrain.getTerrainHeight(self.pos) or self.pos.z))
end
@/lua/ge/extensions/editor/terrainAndRoadImporter.lua
tmp1:set(d.x, d.y, 0)
nodes[j] = vec3(d.x, d.y, core_terrain.getTerrainHeight(tmp1))
widths[j] = d.width
@/lua/ge/extensions/freeroam/facilities.lua
pos = vec3((aabb.xMin + aabb.xMax)/2, (aabb.yMin + aabb.yMax)/2, (aabb.zMin + aabb.zMax)/2)
pos.z = core_terrain.getTerrainHeight(pos) or pos.z
radius = math.sqrt(((aabb.xMax - aabb.xMin)/2) * ((aabb.xMax - aabb.xMin)/2) + ((aabb.yMax - aabb.yMin)/2) * ((aabb.yMax - aabb.yMin)/2))
@/lua/ge/extensions/editor/toolUtilities/polygon.lua
tmp4:set(lerp(tmp1, tmp2, j * lineSegGranInv))
tmp3.z = core_terrain.getTerrainHeight(tmp3) + lineRaiseHeight
tmp4.z = core_terrain.getTerrainHeight(tmp4) + lineRaiseHeight
tmp3.z = core_terrain.getTerrainHeight(tmp3) + lineRaiseHeight
tmp4.z = core_terrain.getTerrainHeight(tmp4) + lineRaiseHeight
render.drawSplineLine(tmp3, tmp4)
@/lua/ge/extensions/core/multiSpawn.lua
elseif core_terrain.getTerrain() then
pos.z = core_terrain.getTerrainHeight(pos)
end
@/lua/ge/extensions/flowgraph/nodes/gameplay/decalLine.lua
-- if self.data.snapToTerrain and core_terrain and core_terrain.getTerrain() then
-- data.position.z = core_terrain.getTerrainHeight(data.position)
-- end
@/lua/ge/extensions/flowgraph/nodes/types/transform.lua
if scenetree.findClassObjects("TerrainBlock") then
self.position.z = core_terrain.getTerrainHeight(self.position)
self:updateTransform()
@/lua/ge/extensions/editor/crawlEditor/waypoints.lua
editor.history:commitAction("Drop Pathnode to Ground",
{index = index, old = pathnode.pos, self = self, new = vec3(pathnodePosition[0], pathnodePosition[1], core_terrain.getTerrainHeight(pathnode.pos)), field = 'pos'},
setFieldUndo, setFieldRedo)
@/lua/ge/extensions/gameplay/race/startPosition.lua
if scenetree.findClassObjects("TerrainBlock") then
center.z = core_terrain.getTerrainHeight(center)
local normalTip = center + (bl-fl)
local normalTip = center + (bl-fl)
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
self.rot = quatFromDir((center - normalTip):normalized(), (flU-bl):normalized())
@/lua/ge/extensions/editor/raceEditor/pathnodes.lua
-- local newPos = pos - offset
-- local rv = core_terrain.getTerrainHeight(pos)
-- if rv then
-- if rv then
-- newPos.z = core_terrain.getTerrainHeight(pos)
-- end
editor.history:commitAction("Drop Node to Ground",
{index = self.index, old = node.pos,self = self, new = vec3(pathnodePosition[0], pathnodePosition[1], core_terrain.getTerrainHeight(node.pos)), field = 'pos'},
setFieldUndo, setFieldRedo)
local tip = node.pos + new*node.radius
new = vec3(tip.x, tip.y, core_terrain.getTerrainHeight(tip))-node.pos
end
local normalTip = node.pos + node.normal*node.radius
normalTip = vec3(normalTip.x, normalTip.y, core_terrain.getTerrainHeight(normalTip))
editor.history:commitAction("Align Normal with Terrain",
@/lua/ge/extensions/editor/crawlEditor/boundaries.lua
if core_terrain then
p.z = (core_terrain.getTerrainHeight(p) or p.z)
return p, true