fix: brakmarker (groundType NONE) med i marklisten når punkterne viser markjord (v1.62.10)

This commit is contained in:
2026-10-03 12:02:26 +02:00
parent 82eb12fb17
commit 7a2bb58493
3 changed files with 17 additions and 8 deletions
+1
View File
@@ -8,6 +8,7 @@ står i [docs/BRUGERMANUAL.md](docs/BRUGERMANUAL.md) (dansk) og [docs/USER_MANUA
## 1.62 — Kæder slås selv til
- **1.62.10** Rettet: brakmarker (FALLOW) forsvandt fra fanen Marker. Spillets marktilstand siger "ingen markjord" (groundType NONE) for brak, ligesom for bygget-over marker; nu afgør jorden i prøvepunkterne det: viser mindst halvdelen markjord, er marken med (Chipping Norton: alle 8 ejede marker manglede).
- **1.62.9** Diagnose: loggen skriver for hver mark, hvor mange prøvepunkter der lå på markjord, polygonens hjørner, markjord og afgrøde, og om marken kommer med i listen (fejlfinding af tom Marker-fane på Chipping Norton).
- **1.62.8** Reserve: marker uden jordstykke-kobling får ejeren via jordstykket under markens midtpunkt. Loggen skriver én linje med antal marker, ejede og ukoblede.
- **1.62.7** Nyt: konsolkommandoen `spuSellBlock` slår salgssteder fra og til (pr. savegame). Et salgssted, der er slået fra, bruges hverken til udkørsel eller i priserne. Til stationer, hvor aflæsningen går i stå, fx "Market Price Liquid Fill Station".
+15 -7
View File
@@ -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 -1
View File
@@ -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>