From 854bef15e0c684a219c98de0131cbe8a3d8b8359 Mon Sep 17 00:00:00 2001 From: Pax1601 Date: Tue, 23 Jul 2024 18:31:48 +0200 Subject: [PATCH] Update OlympusCameraControl.lua --- scripts/lua/backend/OlympusCameraControl.lua | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/lua/backend/OlympusCameraControl.lua b/scripts/lua/backend/OlympusCameraControl.lua index bf26c189..b8ab66b1 100644 --- a/scripts/lua/backend/OlympusCameraControl.lua +++ b/scripts/lua/backend/OlympusCameraControl.lua @@ -5,6 +5,7 @@ local _prevLuaExportStop = LuaExportStop local server = nil local port = 3003 local headers = "Access-Control-Allow-Private-Network: true\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: *\r\nAccess-Control-Allow-Headers: *\r\nAccess-Control-Max-Age: 86400\r\nVary: Accept-Encoding, Origin\r\n\r\n" +local positionToSet = nil function startTCPServer() log.write('OLYMPUSCAMERACONTROL.EXPORT.LUA', log.INFO, 'Starting TCP Server') @@ -35,8 +36,6 @@ function receiveTCP() local acc = "" local data = "" - - log.write('OLYMPUSCAMERACONTROL.EXPORT.LUA', log.INFO, 'CONNECTION') -- Start receiving data, accumulate it in acc while data ~= nil do @@ -139,7 +138,9 @@ function setCameraPosition(position) z = {x = 0, y = 0, z = 1}, p = {x = point.x, y = altitude, z = point.z} } - LoSetCameraPosition(pos) + + -- Store the value in a variable so that it can be set at the next frame + positionToSet = pos return '{"northRotation": ' .. rotation .. '}' end @@ -160,6 +161,11 @@ LuaExportStart = function() end LuaExportBeforeNextFrame = function() + if positionToSet ~= nil then + LoSetCameraPosition(positionToSet) + positionToSet = nil + end + receiveTCP() -- call original