diff --git a/assets/slike/cutscenes/story_.DS_Store b/assets/slike/cutscenes/story_.DS_Store deleted file mode 100644 index 575f1f9cd..000000000 Binary files a/assets/slike/cutscenes/story_.DS_Store and /dev/null differ diff --git a/scripts/setup_map_structure.py b/scripts/setup_map_structure.py new file mode 100644 index 000000000..8b6c1061d --- /dev/null +++ b/scripts/setup_map_structure.py @@ -0,0 +1,129 @@ +#!/usr/bin/env python3 +""" +šŸ—ŗļø COMPLETE GAME MAP STRUCTURE SETUP +Creates all map folders for DolinaSmrti locations +""" + +from pathlib import Path + +REPO = Path("/Users/davidkotnik/repos/novafarma") +MAPS = REPO / "maps" + +# All game locations +GAME_MAPS = { + # Core locations + "01_base_farm": "Main farm base - player's home", + "02_town_square": "Central town area - NPCs, shops", + "03_dark_forest": "Starting exploration zone", + + # Seasonal farms + "farms": { + "farm_spring": "Spring seasonal farm", + "farm_summer": "Summer seasonal farm", + "farm_autumn": "Autumn seasonal farm", + "farm_winter": "Winter seasonal farm" + }, + + # Resource zones + "resources": { + "mine_copper": "Copper mine - early game", + "mine_iron": "Iron mine - mid game", + "mine_gold": "Gold mine - late game", + "mine_crystal": "Crystal cavern - special resources", + "quarry": "Stone quarry", + "lumber_camp": "Logging area" + }, + + # Story locations + "story": { + "abandoned_factory": "Main story location", + "nuclear_zone": "Hazmat area", + "underground_lab": "Secret research facility", + "military_base": "Abandoned military outpost" + }, + + # Special zones + "special": { + "greenhouse": "Year-round farming", + "barn": "Animal housing", + "workshop": "Crafting station", + "storage": "Item storage building" + }, + + # Anomalous zones (already have assets in biomi/) + "anomalous": { + "dino_valley": "Dinosaur zone", + "mythical_highlands": "Mythical creatures", + "atlantis_depths": "Underwater ruins", + "chernobyl_wasteland": "Radioactive zone", + "egyptian_tombs": "Ancient pyramids", + "endless_forest": "Magical forest", + "catacombs": "Undead crypts", + "volcanic_wastes": "Lava fields" + } +} + +print("="*70) +print("šŸ—ŗļø COMPLETE GAME MAP STRUCTURE SETUP") +print("="*70) + +# Create base maps directory +MAPS.mkdir(exist_ok=True) +print(f"\nāœ… Base maps/ directory ready\n") + +total_created = 0 + +# Core maps +print("šŸ“ CORE LOCATIONS:") +for map_id, description in [(k, v) for k, v in GAME_MAPS.items() if isinstance(v, str)]: + map_dir = MAPS / map_id + if not map_dir.exists(): + map_dir.mkdir(parents=True) + print(f" āœ… Created {map_id}/ - {description}") + total_created += 1 + else: + print(f" āœ“ {map_id}/ - {description}") + +# Category maps (farms, resources, etc.) +for category, maps_dict in [(k, v) for k, v in GAME_MAPS.items() if isinstance(v, dict)]: + print(f"\nšŸ“‚ {category.upper()}:") + category_dir = MAPS / category + category_dir.mkdir(exist_ok=True) + + for map_id, description in maps_dict.items(): + map_dir = category_dir / map_id + if not map_dir.exists(): + map_dir.mkdir(parents=True) + print(f" āœ… Created {category}/{map_id}/ - {description}") + total_created += 1 + else: + print(f" āœ“ {category}/{map_id}/ - {description}") + +print("\n" + "="*70) +print("āœ… MAP STRUCTURE COMPLETE!") +print("="*70) + +# Count total +all_maps = [] +for item in MAPS.glob("**/"): + if item != MAPS and not item.name.startswith('.'): + all_maps.append(item) + +print(f"\nšŸ“Š Total map folders: {len(all_maps)}") +print(f"šŸ†• Newly created: {total_created}") + +print("\nšŸ—‚ļø STRUCTURE:") +print(f" maps/") +print(f" ā”œā”€ā”€ demo_project/ (Kickstarter demo)") +print(f" ā”œā”€ā”€ demo_whitebg/ (Demo assets)") +print(f" ā”œā”€ā”€ 01_base_farm/ (Core)") +print(f" ā”œā”€ā”€ 02_town_square/ (Core)") +print(f" ā”œā”€ā”€ 03_dark_forest/ (Core)") +print(f" ā”œā”€ā”€ farms/ (4 seasonal farms)") +print(f" ā”œā”€ā”€ resources/ (6 resource zones)") +print(f" ā”œā”€ā”€ story/ (4 story locations)") +print(f" ā”œā”€ā”€ special/ (4 special buildings)") +print(f" └── anomalous/ (8 anomalous zones)") + +print("\nšŸŽ® READY FOR MAP CREATION!") +print(" Each folder is ready for .tmx Tiled map files")