From bb70170cf067a08851e99f784cd8e7551d375cb5 Mon Sep 17 00:00:00 2001 From: masterdraco Date: Thu, 24 Sep 2026 00:47:04 +0200 Subject: [PATCH] =?UTF-8?q?fix(flows):=20gamle=20m=C3=A5l=20der=20ikke=20l?= =?UTF-8?q?=C3=A6ngere=20er=20AD-mark=C3=B8rer=20(eller=20dublerer=20en=20?= =?UTF-8?q?valgt=20stald)=20ryddes=20fra=20forsynings-flows=20(v1.13.6.0)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FS25_ADSmartPickup/adRunsController.lua | 6 ++++++ FS25_ADSmartPickup/modDesc.xml | 2 +- tests/test_adRunsController.lua | 7 +++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/FS25_ADSmartPickup/adRunsController.lua b/FS25_ADSmartPickup/adRunsController.lua index a98c950..c58d77d 100644 --- a/FS25_ADSmartPickup/adRunsController.lua +++ b/FS25_ADSmartPickup/adRunsController.lua @@ -328,6 +328,12 @@ function ADRunsController.resolveMarkers(adEnv, run) if role == "load" and ADSources ~= nil and ADSources.identify ~= nil then local source = ADSources.identify(adEnv, wayPointId, farmId) keep = source ~= nil and not (source.placeable ~= nil and chosenPlaceables[source.placeable]) + elseif role == "unload" then + -- mål skal være en AD-MARKØR med aflæsningsstation (et slettet markør-id er kun et waypoint, + -- og AutoDrive kan ikke aflæsse dér); dubletter af valgte bygninger fjernes + local marker = adEnv.ADGraphManager.getMapMarkerByWayPointId ~= nil and adEnv.ADGraphManager:getMapMarkerByWayPointId(wayPointId) or nil + local station = marker ~= nil and ADSmartPickup.getUnloadStationAtWayPointId(adEnv, wayPointId, farmId) or nil + keep = station ~= nil and not (station.owningPlaceable ~= nil and chosenPlaceables[station.owningPlaceable]) end seen[wayPointId] = true if keep then diff --git a/FS25_ADSmartPickup/modDesc.xml b/FS25_ADSmartPickup/modDesc.xml index d804fc4..3fd16d4 100644 --- a/FS25_ADSmartPickup/modDesc.xml +++ b/FS25_ADSmartPickup/modDesc.xml @@ -1,7 +1,7 @@ masterdraco - 1.13.5.0 + 1.13.6.0 <en>AD Smart Pickup</en> diff --git a/tests/test_adRunsController.lua b/tests/test_adRunsController.lua index bd83dfe..261b802 100644 --- a/tests/test_adRunsController.lua +++ b/tests/test_adRunsController.lua @@ -640,6 +640,13 @@ ADRunsController.updateRun(flowIn.id, {targetBuildingIds = {"barn1", "mill"}}) ADRunsController.resolveMarkers(adEnv, ADRuns.getRun(ADRunsController.store, flowIn.id)) check("CF2 målmarkører", table.concat(ADRunsController.getRunTargets(ADRuns.getRun(ADRunsController.store, flowIn.id)), ","), "94,77") check("CF2 primært mål", ADRuns.getRun(ADRunsController.store, flowIn.id).targetWayPointId, 94) +-- CF2b: gamle rå mål der ikke er en markør (slettet i AD) eller hører til en valgt bygning, ryddes +addMarker(78, "Anden stald food", "Cow Food", 3000, 0); unloadAt[78] = {accepts = {[TMR] = 1000}, owningPlaceable = "anden-stald"} +unloadAt[11062] = {accepts = {[TMR] = 1000}, owningPlaceable = "anden-stald"} -- waypoint uden markør +ADRunsController.updateRun(flowIn.id, {targetWayPointIds = {94, 77, 11062, 78}}) +ADRunsController.resolveMarkers(adEnv, ADRuns.getRun(ADRunsController.store, flowIn.id)) +check("CF2b ikke-markør fjernet, rå markør med station beholdt", table.concat(ADRunsController.getRunTargets(ADRuns.getRun(ADRunsController.store, flowIn.id)), ","), "94,77,78") +ADRunsController.updateRun(flowIn.id, {targetWayPointIds = {94, 77}}) -- CF3: migration: gamle markør-runs får bygninger local oldOut = ADRunsController.createRun("Gammel ud", "outbound") ADRunsController.updateRun(oldOut.id, {sourceWayPointIds = {12694, 555}})