From 9e0f03a3cdfe73af5aea8259bf02eaff8425bada Mon Sep 17 00:00:00 2001 From: smiki Date: Thu, 3 Jul 2025 08:44:41 +0200 Subject: [PATCH 1/3] [FIXED] Memory leaks --- .../Moose/Core/MarkerOps_Base.lua | 18 ++++++++++++------ Moose Development/Moose/Core/Zone.lua | 7 +------ .../Moose/Functional/Warehouse.lua | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Moose Development/Moose/Core/MarkerOps_Base.lua b/Moose Development/Moose/Core/MarkerOps_Base.lua index 4571eed25..d249a27cd 100644 --- a/Moose Development/Moose/Core/MarkerOps_Base.lua +++ b/Moose Development/Moose/Core/MarkerOps_Base.lua @@ -156,12 +156,6 @@ function MARKEROPS_BASE:OnEventMark(Event) end --position local vec3={y=Event.pos.y, x=Event.pos.x, z=Event.pos.z} - local coord=COORDINATE:NewFromVec3(vec3) - if self.debug then - local coordtext = coord:ToStringLLDDM() - local text = tostring(Event.text) - local m = MESSAGE:New(string.format("Mark added at %s with text: %s",coordtext,text),10,"Info",false):ToAll() - end local coalition = Event.MarkCoalition -- decision if Event.id==world.event.S_EVENT_MARK_ADDED then @@ -170,6 +164,12 @@ function MARKEROPS_BASE:OnEventMark(Event) local Eventtext = tostring(Event.text) if Eventtext~=nil then if self:_MatchTag(Eventtext) then + local coord=COORDINATE:NewFromVec3(vec3) + if self.debug then + local coordtext = coord:ToStringLLDDM() + local text = tostring(Event.text) + local m = MESSAGE:New(string.format("Mark added at %s with text: %s",coordtext,text),10,"Info",false):ToAll() + end local matchtable = self:_MatchKeywords(Eventtext) self:MarkAdded(Eventtext,matchtable,coord,Event.idx,coalition,Event.PlayerName,Event) end @@ -180,6 +180,12 @@ function MARKEROPS_BASE:OnEventMark(Event) local Eventtext = tostring(Event.text) if Eventtext~=nil then if self:_MatchTag(Eventtext) then + local coord=COORDINATE:NewFromVec3(vec3) + if self.debug then + local coordtext = coord:ToStringLLDDM() + local text = tostring(Event.text) + local m = MESSAGE:New(string.format("Mark added at %s with text: %s",coordtext,text),10,"Info",false):ToAll() + end local matchtable = self:_MatchKeywords(Eventtext) self:MarkChanged(Eventtext,matchtable,coord,Event.idx,coalition,Event.PlayerName,Event) end diff --git a/Moose Development/Moose/Core/Zone.lua b/Moose Development/Moose/Core/Zone.lua index 0ad088d6d..6664364ed 100644 --- a/Moose Development/Moose/Core/Zone.lua +++ b/Moose Development/Moose/Core/Zone.lua @@ -3204,12 +3204,7 @@ function ZONE_POLYGON:Scan( ObjectCategories, UnitCategories ) local vectors = self:GetBoundingSquare() - local minVec3 = {x=vectors.x1, y=0, z=vectors.y1} - local maxVec3 = {x=vectors.x2, y=0, z=vectors.y2} - - local minmarkcoord = COORDINATE:NewFromVec3(minVec3) - local maxmarkcoord = COORDINATE:NewFromVec3(maxVec3) - local ZoneRadius = minmarkcoord:Get2DDistance(maxmarkcoord)/2 + local ZoneRadius = UTILS.VecDist2D({x=vectors.x1, y=vectors.y1}, {x=vectors.x2, y=vectors.y2})/2 -- self:I("Scan Radius:" ..ZoneRadius) local CenterVec3 = self:GetCoordinate():GetVec3() diff --git a/Moose Development/Moose/Functional/Warehouse.lua b/Moose Development/Moose/Functional/Warehouse.lua index 29682074f..51e9ad1f9 100644 --- a/Moose Development/Moose/Functional/Warehouse.lua +++ b/Moose Development/Moose/Functional/Warehouse.lua @@ -6893,7 +6893,7 @@ function WAREHOUSE:_CheckConquered() for _,_unit in pairs(units) do local unit=_unit --Wrapper.Unit#UNIT - local distance=coord:Get2DDistance(unit:GetCoordinate()) + local distance=coord:Get2DDistance(unit:GetCoord()) -- Filter only alive groud units. Also check distance again, because the scan routine might give some larger distances. if unit:IsGround() and unit:IsAlive() and distance <= radius then From f9257b2b0dcbe9cb5064ebfb200a1002ab39c91a Mon Sep 17 00:00:00 2001 From: smiki Date: Thu, 3 Jul 2025 09:45:21 +0200 Subject: [PATCH 2/3] [FIXED] Memory leaks --- Moose Development/Moose/Functional/Warehouse.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Moose Development/Moose/Functional/Warehouse.lua b/Moose Development/Moose/Functional/Warehouse.lua index 51e9ad1f9..2486e74b6 100644 --- a/Moose Development/Moose/Functional/Warehouse.lua +++ b/Moose Development/Moose/Functional/Warehouse.lua @@ -3153,7 +3153,7 @@ end -- @param #WAREHOUSE self -- @return Core.Point#COORDINATE The coordinate of the warehouse. function WAREHOUSE:GetCoordinate() - return self.warehouse:GetCoordinate() + return self.warehouse:GetCoord() end --- Get 3D vector of warehouse static. From 773461aad95f0defc0c09902bb59771a82f12cd1 Mon Sep 17 00:00:00 2001 From: smiki Date: Thu, 3 Jul 2025 09:54:07 +0200 Subject: [PATCH 3/3] [FIXED] Memory leaks --- Moose Development/Moose/Core/MarkerOps_Base.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Moose Development/Moose/Core/MarkerOps_Base.lua b/Moose Development/Moose/Core/MarkerOps_Base.lua index d249a27cd..6de154d73 100644 --- a/Moose Development/Moose/Core/MarkerOps_Base.lua +++ b/Moose Development/Moose/Core/MarkerOps_Base.lua @@ -155,7 +155,6 @@ function MARKEROPS_BASE:OnEventMark(Event) return true end --position - local vec3={y=Event.pos.y, x=Event.pos.x, z=Event.pos.z} local coalition = Event.MarkCoalition -- decision if Event.id==world.event.S_EVENT_MARK_ADDED then @@ -164,7 +163,7 @@ function MARKEROPS_BASE:OnEventMark(Event) local Eventtext = tostring(Event.text) if Eventtext~=nil then if self:_MatchTag(Eventtext) then - local coord=COORDINATE:NewFromVec3(vec3) + local coord=COORDINATE:NewFromVec3({y=Event.pos.y, x=Event.pos.x, z=Event.pos.z}) if self.debug then local coordtext = coord:ToStringLLDDM() local text = tostring(Event.text) @@ -180,7 +179,7 @@ function MARKEROPS_BASE:OnEventMark(Event) local Eventtext = tostring(Event.text) if Eventtext~=nil then if self:_MatchTag(Eventtext) then - local coord=COORDINATE:NewFromVec3(vec3) + local coord=COORDINATE:NewFromVec3({y=Event.pos.y, x=Event.pos.x, z=Event.pos.z}) if self.debug then local coordtext = coord:ToStringLLDDM() local text = tostring(Event.text)