feat: Complete Terrain Setup & Camping Mechanics - Devlog 2026-01-27 08:46

This commit is contained in:
2026-01-27 08:46:54 +01:00
parent 51b3b67423
commit 82c992a94b
164 changed files with 596 additions and 9262 deletions

View File

@@ -0,0 +1,33 @@
import os
from PIL import Image, ImageDraw
def create_directory(path):
if not os.path.exists(path):
os.makedirs(path)
create_directory("assets/items")
def create_placeholder(path, color, size=(64, 64), type='circle'):
img = Image.new('RGBA', size, (0, 0, 0, 0))
draw = ImageDraw.Draw(img)
if type == 'circle':
draw.ellipse([5, 5, size[0]-5, size[1]-5], fill=color)
# Add some "fire" details
draw.ellipse([15, 15, size[0]-15, size[1]-15], fill=(255, 100, 0, 255))
draw.ellipse([25, 25, size[0]-25, size[1]-25], fill=(255, 255, 0, 255))
elif type == 'rect':
draw.rectangle([10, 5, size[0]-10, size[1]-5], fill=color)
# Pillow
draw.rectangle([12, 7, size[0]-12, 20], fill=(200, 200, 200, 255))
img.save(path)
print(f"Generated {path}")
# Campfire (Orange/Red)
create_placeholder("assets/items/campfire.png", (139, 69, 19, 255), size=(64, 64), type='circle')
# Sleeping Bag (Blue)
create_placeholder("assets/items/sleeping_bag.png", (0, 0, 150, 255), size=(64, 100), type='rect')
print("Camp assets created.")

View File

@@ -0,0 +1,66 @@
import os
import shutil
from PIL import Image, ImageDraw
def create_directory(path):
if not os.path.exists(path):
os.makedirs(path)
# Paths
base_assets = "assets"
demo_path = "assets/DEMO_FAZA1"
dirs = ["tiles", "environment", "vegetation"]
for d in dirs:
create_directory(os.path.join(base_assets, d))
# 1. Copy/Rename existing
mappings = [
(f"{demo_path}/Ground/tla_trava_tekstura.png", f"{base_assets}/tiles/trava_osnova.png"),
(f"{demo_path}/Environment/mud_puddle.png", f"{base_assets}/environment/blato.png"),
(f"{demo_path}/Vegetation/trava_sop.png", f"{base_assets}/vegetation/trava_rob.png"),
(f"{demo_path}/Vegetation/drevo_veliko.png", f"{base_assets}/vegetation/drevo_navadno.png"),
(f"{demo_path}/Characters/Kai_Dreads.png", f"{base_assets}/kai.png") # Simplification for retrieval if needed, but not strictly asked to move Kai. User said "Kai (Igralec)". I'll keep Kai in DEMO for now but maybe copy for consistency if needed. Actually user code request implies loading 'kai' from 'assets/kai_character.png' in the example? No, they just said "assets/kai_character.png" in their *example code*, but "1. Organizacija in generiranje slik... Preveri obstoj naslednjih slik" list didn't include Kai. I will load Kai from the original location or copy it to root assets for simplicity. Let's copy it to `assets/characters/kai.png` (create folder first) to be clean.
]
create_directory(f"{base_assets}/characters")
mappings.append((f"{demo_path}/Characters/Kai_Dreads.png", f"{base_assets}/characters/kai.png"))
for src, dst in mappings:
if os.path.exists(src):
shutil.copy(src, dst)
print(f"Copied {src} to {dst}")
else:
print(f"Source missing: {src}")
# 2. Generate placeholders
def create_placeholder(path, color, size=(256, 256), alpha=255):
img = Image.new('RGBA', size, (0, 0, 0, 0))
draw = ImageDraw.Draw(img)
# Draw simple shape (Circle or Rect)
r, g, b = color
fill_color = (r, g, b, alpha)
# Irregular shape for fluids/roads? Just a circle for now for "blato" logic (already copied),
# but for road/water placeholders let's do soft shapes or rects.
# Road: Rect? Water: Circle?
if "cesta" in path:
draw.rectangle([0, 0, size[0], size[1]], fill=fill_color)
else:
draw.ellipse([10, 10, size[0]-10, size[1]-10], fill=fill_color)
img.save(path)
print(f"Generated {path}")
# environment/cesta_svetla.png (Svetlo rjava/peščena)
create_placeholder(f"{base_assets}/environment/cesta_svetla.png", (210, 180, 140), size=(256, 256))
# environment/voda_cista.png (Modra, 80 % prosojna -> alpha ~204)
create_placeholder(f"{base_assets}/environment/voda_cista.png", (0, 150, 255), size=(256, 256), alpha=204)
# environment/voda_umazana.png (Rjavkasto-zelena voda)
create_placeholder(f"{base_assets}/environment/voda_umazana.png", (100, 120, 50), size=(256, 256), alpha=230)
print("Assets organized.")

View File

@@ -0,0 +1,32 @@
import os
import shutil
src_base = "assets/DEMO_FAZA1/Vegetation"
dst_base = "assets/vegetation"
mapping = {
"trava_sop.png": "trava_zelena.png",
"visoka_trava.png": "trava_suha.png",
"grass_cluster_dense.png": "trava_divja.png"
}
for src_name, dst_name in mapping.items():
src = os.path.join(src_base, src_name)
dst = os.path.join(dst_base, dst_name)
if os.path.exists(src):
shutil.copy(src, dst)
print(f"Copied {src_name} -> {dst_name}")
else:
# Fallback: Generate if missing
print(f"Missing {src_name}, generating placeholder for {dst_name}")
from PIL import Image, ImageDraw
img = Image.new('RGBA', (64, 64), (0,0,0,0))
draw = ImageDraw.Draw(img)
color = (0, 255, 0)
if "suha" in dst_name: color = (200, 200, 100)
if "divja" in dst_name: color = (0, 100, 0)
draw.ellipse([10, 10, 54, 54], fill=color + (200,))
img.save(dst)
print("Vegetation variation ready.")