diff --git a/[editor]/edf/edf.lua b/[editor]/edf/edf.lua index 206966b4b..efc1a5755 100644 --- a/[editor]/edf/edf.lua +++ b/[editor]/edf/edf.lua @@ -25,9 +25,19 @@ end -- basic element create functions table (cdata holds creation parameters) local edfCreateBasic = { - object = function(cdata) + object = function(cdata, editorMode) local object = createObject(cdata.model, cdata.position[1], cdata.position[2], cdata.position[3], cdata.rotation[1], cdata.rotation[2], cdata.rotation[3]) setObjectScale(object, cdata.scale) + -- Create object's LOD if editing a map in Map Editor & LODs are enabled in the map's settings + if editorMode and exports.editor_main:getMapSettingValue("useLODs") then + local lodModel = exports.editor_main:getLODModelFromObjectModel(cdata.model) + if lodModel then + local lodObject = createObject(lodModel, cdata.position[1], cdata.position[2], cdata.position[3], cdata.rotation[1], cdata.rotation[2], cdata.rotation[3], true) + setObjectScale(lodObject, cdata.scale) + setLowLODElement(object, lodObject) + setElementParent(lodObject, object) + end + end return object end, vehicle = function(cdata) @@ -498,7 +508,7 @@ function edfRepresentElement(theElement, resource, parentData, editorMode, restr end -- create our basic element - component = edfCreateBasic[definedChild.type](childData) + component = edfCreateBasic[definedChild.type](childData, editorMode) componentHandle = component @@ -596,7 +606,7 @@ function edfCreateElement(elementType, creatorClient, fromResource, parametersTa childData[property] = parametersTable[property] or propertyData.default end - theElement = edfCreateBasic[elementType](childData) + theElement = edfCreateBasic[elementType](childData, editorMode) setElementInterior(theElement, parametersTable.interior) setElementDimension(theElement, parametersTable.dimension) diff --git a/[editor]/editor_main/client/mapEditorScriptingExtension_c.lua b/[editor]/editor_main/client/mapEditorScriptingExtension_c.lua deleted file mode 100644 index 11e2e44ef..000000000 --- a/[editor]/editor_main/client/mapEditorScriptingExtension_c.lua +++ /dev/null @@ -1,11 +0,0 @@ --- FILE: mapEditorScriptingExtension_c.lua --- PURPOSE: Prevent the map editor feature set being limited by what MTA can load from a map file by adding a script file to maps --- VERSION: RemoveWorldObjects (v1) AutoLOD (v2) BreakableObjects (v1) - -function setLODsClient(lodTbl) - for model in pairs(lodTbl) do - engineSetModelLODDistance(model, 300) - end -end -addEvent("setLODsClient", true) -addEventHandler("setLODsClient", resourceRoot, setLODsClient) diff --git a/[editor]/editor_main/meta.xml b/[editor]/editor_main/meta.xml index 03240d068..6ba162808 100644 --- a/[editor]/editor_main/meta.xml +++ b/[editor]/editor_main/meta.xml @@ -23,6 +23,8 @@