summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-22 09:24:28 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-22 09:24:28 +0800
commitdbce686019230c7a1105f5cc4b7b258698201128 (patch)
tree95eb229fad32d862d1093f1a569054fe8cf5e571 /scripts
parent590f3d8d5cc031c0909241b329ad7f7f18035991 (diff)
downloadliving-village-dbce686019230c7a1105f5cc4b7b258698201128.tar.gz
feat(mapgen): P26 512 大图河岸装饰(护岸石垒/芦苇/垂柳)仅视觉层,不挡通行
Diffstat (limited to 'scripts')
-rw-r--r--scripts/make-jiangnan-art.py18
1 files changed, 15 insertions, 3 deletions
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),
]