From 40114c14b3a98d446b33dd4d95969c371fea1b5b Mon Sep 17 00:00:00 2001 From: Opuszek Date: Sun, 9 Nov 2025 00:28:23 +0100 Subject: [PATCH 1/2] Mapeditor fix terrain patterns m4, s1 and s4 --- config/terrainViewPatterns.json | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/config/terrainViewPatterns.json b/config/terrainViewPatterns.json index 783edd3c2..1a9c1d51e 100644 --- a/config/terrainViewPatterns.json +++ b/config/terrainViewPatterns.json @@ -124,7 +124,7 @@ "data" : [ "N", "N", "S", - "N", "N", "D", + "N", "N", "D,N", "D,N", "D", "D,N" ], "mapping" : { "normal" : "44", "hota" : "72" } @@ -197,8 +197,8 @@ "data" : [ "N", "N", "N", - "N", "N", "s3-1,m7-1,m8-1", - "N", "s2-1,m7-1,m8-1", "T" + "N", "N", "s3-1,m7-1,m8-1,s1-1", + "N", "s2-1,m7-1,m8-1,s1-1", "T" ], "minPoints" : 2, "mapping" : { "normal" : "12-15, 32-35", "dirt" : "12-15", "water" : "12-15", "rock": "4D:24-31", "hota" : "22-27,56-61" } @@ -229,11 +229,23 @@ "id" : "s1", "data" : [ - "?", "?", "?", - "?", "N", "N", - "T", "N", "N" + "?", "S-1,?", "?", + "S-1,?", "N", "N", + "?", "N", "N" ], - "mapping" : { "normal" : "0-3, 20-23", "dirt" : "0-3", "water" : "0-3", "rock": "4D:8-15", "hota" : "0-5,34-39" } + "minPoints" : 1, + "mapping" : { "normal" : "20-23", "dirt" : "0-3", "water" : "0-3", "rock": "4D:8-15", "hota" : "34-39" } + }, + { + "id" : "s7", + "data" : + [ + "?", "D-1,?", "?", + "D-1,?", "N", "N", + "?", "N", "N" + ], + "minPoints" : 1, + "mapping" : { "normal" : "0-3", "rock": "4D:8-15", "hota" : "0-5" } } ], "terrainType" : From 7358e40aca41abf8075314b947786184b4406e48 Mon Sep 17 00:00:00 2001 From: Opuszek Date: Sun, 9 Nov 2025 00:28:48 +0100 Subject: [PATCH 2/2] MapEditor fixes non-standard terrain rules for dirt terrain patterns --- lib/mapping/CMapOperation.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/mapping/CMapOperation.cpp b/lib/mapping/CMapOperation.cpp index d161f750d..5f8a07644 100644 --- a/lib/mapping/CMapOperation.cpp +++ b/lib/mapping/CMapOperation.cpp @@ -421,9 +421,9 @@ CDrawTerrainOperation::ValidationResult CDrawTerrainOperation::validateTerrainVi { if(recDepth == 0 && map->isInTheMap(currentPos)) { - if(terType->getId() == centerTerType->getId()) + if(centerTerType->getId() == terType->getId() || (centerTerType->getId() == ETerrainId::DIRT && !terType->isTransitionRequired())) { - const auto patternForRule = LIBRARY->terviewh->getTerrainViewPatternsById(centerTerType->getId(), rule.name); + const auto patternForRule = LIBRARY->terviewh->getTerrainViewPatternsById(terType->getId(), rule.name); if(auto p = patternForRule) { auto rslt = validateTerrainView(currentPos, &(p->get()), 1);