getDoorsidePosRot
Definition
-- @/lua/ge/extensions/gameplay/walk.lua:55
-- returns a position near the driver's door
local function getDoorsidePosRot(veh)
local refNodes = extensions.core_vehicle_manager.getVehicleData(veh:getId()).vdata.refNodes[0]
local ref = veh:getNodePosition(refNodes.ref)
local left = veh:getNodePosition(refNodes.left)
local carLeft = (left-ref):normalized()
local driverNode, rightHandDrive, rightHandDoor = core_camera.getDriverData(veh)
driverNode = driverNode or 0
local driverPos = veh:getPosition() + veh:getNodePosition(driverNode)
local initCorner = rightHandDoor and veh.initialNodePosBB.minExtents or veh.initialNodePosBB.maxExtents
local initDriverPos = veh:getInitialNodePosition(driverNode)
local driverPosOffset = initCorner.x - initDriverPos.x
driverPosOffset = driverPosOffset + (sign(driverPosOffset) * placePlayerOffsetFromBody)
local pos = driverPos + driverPosOffset * carLeft
local target = veh:getPosition() + ref
local front = (target-pos):normalized() -- look from pos towards the center
front.z = 0
return pos, front, up
end
Callers
@/lua/ge/extensions/gameplay/walk.lua
if vehicle and not pos then
local doorsidePos, front, up = getDoorsidePosRot(vehicle)
pos = doorsidePos