ASSETS UPDATE: Added references folder with 132 PNGs (resized/sharpened) + Created DEMO_FAZA1 folder structure
This commit is contained in:
63
scripts/utils/organize_final_assets.py
Normal file
63
scripts/utils/organize_final_assets.py
Normal file
@@ -0,0 +1,63 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
# Source of Truth
|
||||
SOURCE_DIR = "/Users/davidkotnik/repos/novafarma/assets/references"
|
||||
BASE_ASSETS_DIR = "/Users/davidkotnik/repos/novafarma/assets"
|
||||
|
||||
# Define Categories
|
||||
CATEGORIES = {
|
||||
"zombies": ["zombi", "zombie", "undead"],
|
||||
"characters": ["kai", "ana", "ata", "mama", "gronk", "dr_krnic", "character", "npc"],
|
||||
"animals": ["krava", "svinja", "ovca", "kokos", "pes", "susi", "macka", "netopir", "sova", "volk", "medved", "zival", "insekt", "metulj", "mravlja", "cebela", "polz", "dezevnik", "hrosc", "komar", "muha"],
|
||||
"ui": ["ui_", "gumb", "ikona", "okno", "bar", "status", "dnevnik", "inventar", "kazalec"],
|
||||
"items": ["orodje", "kramp", "lopata", "sekira", "motika", "kosa", "mec", "puska", "stikalo", "sod", "bencin", "kanister", "seme", "rastlina", "pridelki", "marihuana", "konoplja", "hrana", "steklenica", "nacrt", "zvitki"],
|
||||
"environment": ["drevo", "trava", "kamen", "grm", "tile", "tla", "pot", "rudnik", "vhod", "megla", "ozadje", "voda", "resource", "zgradba", "hisa", "koca", "sotor", "skedenj", "objekt", "vodnjak", "ograja", "kip", "postelja", "vreca", "miza", "stol", "klop"]
|
||||
}
|
||||
|
||||
def organize_assets():
|
||||
# 1. Create Directories
|
||||
for category in CATEGORIES:
|
||||
path = os.path.join(BASE_ASSETS_DIR, category)
|
||||
if not os.path.exists(path):
|
||||
os.makedirs(path)
|
||||
print(f"Created directory: {category}")
|
||||
|
||||
# 2. Sort Files
|
||||
files = [f for f in os.listdir(SOURCE_DIR) if f.lower().endswith('.png')]
|
||||
|
||||
print(f"Sorting {len(files)} files from references...")
|
||||
|
||||
count = 0
|
||||
for filename in files:
|
||||
src_path = os.path.join(SOURCE_DIR, filename)
|
||||
fname_lower = filename.lower()
|
||||
|
||||
assigned = False
|
||||
|
||||
# Check categories in specific order (Zombies first as requested!)
|
||||
# Use lists to prioritize: Zombies > Characters > Animals > UI > Items > Environment
|
||||
priority_order = ["zombies", "characters", "animals", "ui", "items", "environment"]
|
||||
|
||||
for category in priority_order:
|
||||
keywords = CATEGORIES[category]
|
||||
if any(k in fname_lower for k in keywords):
|
||||
dst_path = os.path.join(BASE_ASSETS_DIR, category, filename)
|
||||
shutil.copy2(src_path, dst_path) # COPY, don't move (keep references safe)
|
||||
# print(f"-> {category}: {filename}")
|
||||
assigned = True
|
||||
count += 1
|
||||
break
|
||||
|
||||
if not assigned:
|
||||
# Fallback to 'environment' or 'misc' if unsure?
|
||||
# Let's put in 'environment' as catch-all or create 'misc'
|
||||
dst_path = os.path.join(BASE_ASSETS_DIR, "environment", filename)
|
||||
shutil.copy2(src_path, dst_path)
|
||||
print(f"-> environment (fallback): {filename}")
|
||||
count += 1
|
||||
|
||||
print(f"✅ Successfully organized {count} assets into game folders!")
|
||||
|
||||
if __name__ == "__main__":
|
||||
organize_assets()
|
||||
Reference in New Issue
Block a user