fix: brakmarker (groundType NONE) med i marklisten når punkterne viser markjord (v1.62.10)
This commit is contained in:
@@ -253,10 +253,16 @@ end
|
||||
|
||||
-- Kan marken dyrkes? Nej hvis spillet siger "ingen markjord" (groundType NONE: bygget over — gårdsplads,
|
||||
-- stald, biogasanlæg), eller hvis intet prøvepunkt ligger på markjord. En markensilo i et hjørne ændrer
|
||||
-- intet: resten af marken er stadig markjord.
|
||||
function ADFields.isCultivable(state, onFieldPoints)
|
||||
if state ~= nil and state.noFieldGround then return false end
|
||||
return (onFieldPoints or 0) > 0
|
||||
-- intet: resten af marken er stadig markjord. groundPoints = prøvepunkter hvor jorden selv er markjord: en
|
||||
-- brakmark (FALLOW) har også groundType NONE i marktilstanden (Chipping Norton in-game 3/10), men markjord i
|
||||
-- punkterne — viser mindst halvdelen markjord, er marken med.
|
||||
function ADFields.isCultivable(state, onFieldPoints, groundPoints)
|
||||
local points = onFieldPoints or 0
|
||||
if points <= 0 then return false end
|
||||
if state ~= nil and state.noFieldGround then
|
||||
return groundPoints ~= nil and groundPoints * 2 >= points
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
-- Markens omrids som {{x, z}, ...}. FS25: field:getDensityMapPolygon():getVerticesList() (flad liste
|
||||
@@ -551,13 +557,15 @@ local function finishScan(adEnv, scan)
|
||||
-- markens form: ændret mark (anden signatur end kursus-registret) -> gemte kurser til marken glemmes
|
||||
info.shapeSig = ADFields.shapeSignature(info.verts)
|
||||
if ADCourseCache ~= nil and ADCourseCache.checkField ~= nil then pcall(ADCourseCache.checkField, info.id, info.shapeSig) end
|
||||
-- jorden i punkterne er nu læst: afgør "kan dyrkes" igen (brakmark vs. bygget over)
|
||||
info.cultivable = ADFields.isCultivable(ADFields.readFieldState(info.field), #scan.points, scan.soil.prepared[2])
|
||||
ADFields.cache[info.id] = info
|
||||
ADFields.listCache = nil
|
||||
-- diagnose: første scanning af hver mark (og når den skifter til/fra "kan ikke dyrkes") i loggen
|
||||
local state = ADFields.readFieldState(info.field)
|
||||
local summary = string.format("F%s scannet: %d af %d punkter på mark, polygon %d hjørner, markjord %s, afgrøde %s, med i listen %s",
|
||||
tostring(info.id), #scan.points, scan.candidates or 0, #(info.verts or {}),
|
||||
state == nil and "ukendt" or (state.noFieldGround and "NEJ (groundType NONE)" or "ja"),
|
||||
local summary = string.format("F%s scannet: %d af %d punkter på mark (%d med markjord), polygon %d hjørner, marktilstand %s, afgrøde %s, med i listen %s",
|
||||
tostring(info.id), #scan.points, scan.candidates or 0, scan.soil.prepared[2], #(info.verts or {}),
|
||||
state == nil and "ukendt" or (state.noFieldGround and "groundType NONE" or "markjord"),
|
||||
tostring(info.fruitName or "-"), info.cultivable == false and "NEJ" or "ja")
|
||||
ADFields.scanLog = ADFields.scanLog or {}
|
||||
local key = tostring(info.cultivable ~= false)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<modDesc descVersion="107">
|
||||
<author>masterdraco</author>
|
||||
<version>1.62.9.0</version>
|
||||
<version>1.62.10.0</version>
|
||||
<title>
|
||||
<en>AD Smart Pickup</en>
|
||||
</title>
|
||||
|
||||
Reference in New Issue
Block a user