Skip to content

Commit e1e5b1a

Browse files
authored
editor_main: Fix various issues (#394)
* editor Fixes error: [editor]\edf\edf.lua:623: Expected positive value, got negative. * editor Fix editor break when try to edit static object created by script (https://i.imgur.com/g03Ddgk.jpeg) Before this fix editor completely breaks after click on some object which was created by different script (-1 dimension)
1 parent 0b7d576 commit e1e5b1a

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

[editor]/edf/edf.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -581,7 +581,7 @@ function edfCreateElement(elementType, creatorClient, fromResource, parametersTa
581581
parametersTable = parametersTable or {}
582582
parametersTable.position = parametersTable.position or {0,0,0}
583583
parametersTable.rotation = parametersTable.rotation or {0,0,0}
584-
parametersTable.interior = parametersTable.interior or 0
584+
parametersTable.interior = math.max(0, (parametersTable.interior or 0))
585585
parametersTable.dimension = parametersTable.dimension or 0
586586
parametersTable.alpha = parametersTable.alpha or 255
587587

[editor]/editor_main/client/main.lua

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -214,11 +214,15 @@ addEventHandler("onClientRender", root,
214214
local camX2, camY2, camZ2 = getCameraMatrix()
215215
local distance = math.sqrt( (targetX - camX2)^2 + (targetY - camY2)^2 + (targetZ - camZ2)^2 )
216216
local roundedDistance = string.format("%." .. (DISTANCE_DECIMAL_PLACES) .. "f", distance)
217-
createHighlighterText ( labelCenterX,labelCenterY,
218-
getElementID(g_targetedElement) or "",
219-
"["..getElementType(g_targetedElement).."]",
220-
roundedDistance .. " m"
221-
)
217+
local elementName = getElementID(g_targetedElement) or ""
218+
local mapContainer = getElementByID("mapContainer")
219+
if mapContainer then
220+
if getElementParent(g_targetedElement) ~= mapContainer then
221+
elementName = "Non-editable object " .. getElementModel(g_targetedElement)
222+
end
223+
end
224+
225+
createHighlighterText(labelCenterX, labelCenterY, elementName, "["..getElementType(g_targetedElement).."]", roundedDistance .. " m")
222226
else
223227
if g_targetedElement then
224228
g_targetedPart = nil
@@ -738,6 +742,15 @@ function selectElement(element, submode, shortcut, dropreleaseLock, dropclonedro
738742

739743
if isColPatchObject(element) then return end
740744

745+
-- Fixes error when try to edit static object created by script
746+
local mapContainer = getElementByID("mapContainer")
747+
if mapContainer then
748+
if getElementParent(element) ~= mapContainer then
749+
editor_gui.outputMessage("Cannot select element, it is created by a different script", 255,255,255)
750+
return
751+
end
752+
end
753+
741754
if getElementType(element) == "vehicle" and getVehicleType(element) == "Train" then
742755
setTrainDerailed(element, true)
743756
end

[editor]/editor_main/server/saveloadtest_server.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ addEventHandler ( "onResourceStart", resourceRoot,
4040
setOcclusionsEnabled ( false )
4141
restoreAllWorldModels ( )
4242
destroyElement( root )
43-
mapContainer = createElement("mapContainer")
43+
mapContainer = createElement("mapContainer", "mapContainer")
4444
setTimer(startUp, 1000, 1)
4545
end
4646
)

0 commit comments

Comments
 (0)