From dbce686019230c7a1105f5cc4b7b258698201128 Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 09:24:28 +0800 Subject: feat(mapgen): P26 512 大图河岸装饰(护岸石垒/芦苇/垂柳)仅视觉层,不挡通行 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/make-jiangnan-art.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'scripts/make-jiangnan-art.py') diff --git a/scripts/make-jiangnan-art.py b/scripts/make-jiangnan-art.py index 54805ab..f537942 100644 --- a/scripts/make-jiangnan-art.py +++ b/scripts/make-jiangnan-art.py @@ -2,7 +2,7 @@ """Deterministic pixel-art atlases for LivingVillage.Desktop. Generates three RGBA PNGs into src/LivingVillage.Desktop/Assets: - jiangnan-world.png 992x32 (31 ground/prop tiles, 32px each) + jiangnan-world.png 1024x32 (32 ground/prop tiles, 32px each) jiangnan-characters.png 3840x48 (5 variants x 4 directions x 6 frames, 32x48 cells) jiangnan-interior.png 392x96 (variable-size bottom-aligned interior cells) @@ -99,7 +99,7 @@ def verify_png(path, expected_w, expected_h): def build_world_atlas(): - c = Canvas(992, 32) + c = Canvas(1024, 32) tile = 32 def slot(index): @@ -606,6 +606,18 @@ def build_world_atlas(): c.rect(x0 + 17, 20, 2, 2, (196, 158, 74, 255)) c.rect(x0 + 6, 28, 20, 3, (83, 52, 39, 255)) + # slot(31) 护岸石垒 (revetment): edge-laid cobbles shoring up the riverbank. + x0 = slot(31) + c.rect(x0 + 1, 10, 30, 20, (96, 96, 92, 255)) + revetment = [(2, 11, 8, 5), (11, 10, 9, 6), (21, 11, 8, 5), + (4, 17, 9, 6), (14, 17, 9, 6), (24, 18, 7, 5), + (2, 24, 8, 5), (11, 24, 9, 5), (21, 24, 8, 5)] + for sx, sy, sw, sh in revetment: + c.rect(x0 + sx, sy, sw, sh, stone) + c.rect(x0 + sx, sy, sw, 1, stone_light) + c.rect(x0 + sx, sy + sh - 1, sw, 1, stone_dark) + c.rect(x0 + 1, 29, 30, 2, (96, 96, 92, 255)) + return c @@ -943,7 +955,7 @@ def build_interior_atlas(): def main(): ASSET_DIR.mkdir(parents=True, exist_ok=True) targets = [ - ("jiangnan-world.png", build_world_atlas(), 992, 32), + ("jiangnan-world.png", build_world_atlas(), 1024, 32), ("jiangnan-characters.png", build_character_atlas(), 3840, 48), ("jiangnan-interior.png", build_interior_atlas(), 392, 96), ] -- cgit v1.2.3