From 0c2628a1a6234a38f48a1fa413433344a2a14618 Mon Sep 17 00:00:00 2001 From: Edwin Eames Date: Fri, 10 Jul 2026 20:28:15 -0400 Subject: [PATCH] Reorganize project into autoload/, menu/, ships/, world/, assets/ Move flat top-level files into topic folders and rewrite every res:// path reference (scenes, scripts, project.godot) accordingly. Rename node_2d.tscn -> ships/ship.tscn and lowercase images/ships/Example_ships -> assets/images/ships/example_ships for naming consistency. Update overview/structure.md to match. Co-Authored-By: Claude Sonnet 5 --- overview/structure.md | 48 +++++++++++------- spacewar/{ => assets}/icon.svg | 0 spacewar/{ => assets}/icon.svg.import | 6 +-- .../images/background/skybox/1.png | Bin .../images/background/skybox/1.png.import | 6 +-- .../images/background/skybox/2.png | Bin .../images/background/skybox/2.png.import | 6 +-- .../images/background/skybox/3.png | Bin .../images/background/skybox/3.png.import | 6 +-- .../images/background/skybox/4.png | Bin .../images/background/skybox/4.png.import | 6 +-- .../images/background/skybox/5.png | Bin .../images/background/skybox/5.png.import | 6 +-- .../images/background/skybox/6.png | Bin .../images/background/skybox/6.png.import | 6 +-- .../images/background/skybox/WTFPL.txt | 0 .../images/effects/explosion1.png | Bin .../images/effects/explosion1.png.import | 6 +-- .../images/ships/example_ships}/1.png | Bin .../images/ships/example_ships}/1.png.import | 6 +-- .../images/ships/example_ships}/1B.png | Bin .../images/ships/example_ships}/1B.png.import | 6 +-- .../images/ships/example_ships}/2a.png | Bin .../images/ships/example_ships}/2a.png.import | 6 +-- .../images/ships/example_ships}/3b.png | Bin .../images/ships/example_ships}/3b.png.import | 6 +-- spacewar/{ => assets/images/tiles}/bwQ7rQ.png | Bin .../images/tiles}/bwQ7rQ.png.import | 6 +-- spacewar/{ => autoload}/game_config.gd | 0 spacewar/{ => autoload}/game_config.gd.uid | 0 spacewar/{ => menu}/main_menu.gd | 6 +-- spacewar/{ => menu}/main_menu.gd.uid | 0 spacewar/{ => menu}/main_menu.tscn | 2 +- spacewar/{ => menu}/pause_menu.gd | 2 +- spacewar/{ => menu}/pause_menu.gd.uid | 0 spacewar/{ => menu}/pause_menu.tscn | 2 +- spacewar/{ => menu}/server_browser.gd | 4 +- spacewar/{ => menu}/server_browser.gd.uid | 0 spacewar/{ => menu}/server_browser.tscn | 2 +- spacewar/{ => menu}/team_select.gd | 8 +-- spacewar/{ => menu}/team_select.gd.uid | 0 spacewar/{ => menu}/team_select.tscn | 2 +- spacewar/project.godot | 6 +-- spacewar/{ => ships}/bullet.gd | 0 spacewar/{ => ships}/bullet.gd.uid | 0 spacewar/{ => ships}/bullet.tscn | 2 +- spacewar/{node_2d.tscn => ships/ship.tscn} | 4 +- spacewar/{ => ships}/ship_movement.gd | 2 +- spacewar/{ => ships}/ship_movement.gd.uid | 0 spacewar/{ => world}/tile_map.tscn | 2 +- spacewar/{ => world}/world.tscn | 8 +-- 51 files changed, 94 insertions(+), 84 deletions(-) rename spacewar/{ => assets}/icon.svg (100%) rename spacewar/{ => assets}/icon.svg.import (80%) rename spacewar/{ => assets}/images/background/skybox/1.png (100%) rename spacewar/{ => assets}/images/background/skybox/1.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/2.png (100%) rename spacewar/{ => assets}/images/background/skybox/2.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/3.png (100%) rename spacewar/{ => assets}/images/background/skybox/3.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/4.png (100%) rename spacewar/{ => assets}/images/background/skybox/4.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/5.png (100%) rename spacewar/{ => assets}/images/background/skybox/5.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/6.png (100%) rename spacewar/{ => assets}/images/background/skybox/6.png.import (77%) rename spacewar/{ => assets}/images/background/skybox/WTFPL.txt (100%) rename spacewar/{ => assets}/images/effects/explosion1.png (100%) rename spacewar/{ => assets}/images/effects/explosion1.png.import (76%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/1.png (100%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/1.png.import (77%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/1B.png (100%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/1B.png.import (77%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/2a.png (100%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/2a.png.import (76%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/3b.png (100%) rename spacewar/{images/ships/Example_ships => assets/images/ships/example_ships}/3b.png.import (77%) rename spacewar/{ => assets/images/tiles}/bwQ7rQ.png (100%) rename spacewar/{ => assets/images/tiles}/bwQ7rQ.png.import (77%) rename spacewar/{ => autoload}/game_config.gd (100%) rename spacewar/{ => autoload}/game_config.gd.uid (100%) rename spacewar/{ => menu}/main_menu.gd (98%) rename spacewar/{ => menu}/main_menu.gd.uid (100%) rename spacewar/{ => menu}/main_menu.tscn (67%) rename spacewar/{ => menu}/pause_menu.gd (98%) rename spacewar/{ => menu}/pause_menu.gd.uid (100%) rename spacewar/{ => menu}/pause_menu.tscn (62%) rename spacewar/{ => menu}/server_browser.gd (98%) rename spacewar/{ => menu}/server_browser.gd.uid (100%) rename spacewar/{ => menu}/server_browser.tscn (67%) rename spacewar/{ => menu}/team_select.gd (97%) rename spacewar/{ => menu}/team_select.gd.uid (100%) rename spacewar/{ => menu}/team_select.tscn (62%) rename spacewar/{ => ships}/bullet.gd (100%) rename spacewar/{ => ships}/bullet.gd.uid (100%) rename spacewar/{ => ships}/bullet.tscn (88%) rename spacewar/{node_2d.tscn => ships/ship.tscn} (87%) rename spacewar/{ => ships}/ship_movement.gd (98%) rename spacewar/{ => ships}/ship_movement.gd.uid (100%) rename spacewar/{ => world}/tile_map.tscn (99%) rename spacewar/{ => world}/world.tscn (84%) diff --git a/overview/structure.md b/overview/structure.md index 2900836..ce5cc57 100644 --- a/overview/structure.md +++ b/overview/structure.md @@ -6,40 +6,50 @@ spacewar/ ← repo root └── spacewar/ ← Godot project root (open this in Godot editor) ├── project.godot - ├── game_config.gd ← autoload singleton (tuning values, player state, signals) - ├── main_menu.tscn/gd ← entry point / main scene - ├── server_browser.tscn/gd ← server browser UI (built, not in active flow yet) - ├── world.tscn ← game world - ├── node_2d.tscn ← player ship scene - ├── ship_movement.gd ← player ship logic - ├── bullet.tscn/gd ← projectile - ├── pause_menu.tscn/gd ← in-game pause overlay (ESC / Start button) - ├── team_select.tscn/gd ← race + ship selection overlay (shown on world load) - ├── asteroid_movement.gd ← stub - └── images/ - ├── background/skybox/ ← 6 space background PNGs (1.png – 6.png) - └── ships/Example_ships/ ← 4 placeholder ship sprites (1.png, 1B.png, 2a.png, 3b.png) + ├── autoload/ + │ └── game_config.gd ← autoload singleton (tuning values, player state, signals) + ├── menu/ + │ ├── main_menu.tscn/gd ← entry point / main scene + │ ├── server_browser.tscn/gd ← server browser UI (built, not in active flow yet) + │ ├── pause_menu.tscn/gd ← in-game pause overlay (ESC / Start button) + │ └── team_select.tscn/gd ← race + ship selection overlay (shown on world load) + ├── ships/ + │ ├── ship.tscn ← player ship scene (formerly node_2d.tscn) + │ ├── ship_movement.gd ← player ship logic + │ └── bullet.tscn/gd ← projectile + ├── world/ + │ ├── world.tscn ← game world + │ └── tile_map.tscn ← unused prototype tilemap + └── assets/ + ├── icon.svg + └── images/ + ├── background/skybox/ ← 6 space background PNGs (1.png – 6.png) + ├── effects/ ← explosion1.png + ├── ships/example_ships/ ← 4 placeholder ship sprites (1.png, 1B.png, 2a.png, 3b.png) + └── tiles/ ← bwQ7rQ.png, used by tile_map.tscn ``` +> **Note:** `asteroid_movement.gd` referenced in an earlier version of this doc does not exist yet — it's still an open task (see `CLAUDE.md`). + ## Scene Graph -### `main_menu.tscn` — entry point +### `menu/main_menu.tscn` — entry point ``` MainMenu (Control) ← main_menu.gd builds all UI in _ready() ``` -### `world.tscn` — game world +### `world/world.tscn` — game world ``` World (Node2D) ├── TextureRect ← static space background (skybox/1.png) -├── Player ← instance of node_2d.tscn +├── Player ← instance of ships/ship.tscn ├── HUD (CanvasLayer) │ └── HealthLabel -├── PauseMenu (CanvasLayer, layer=10) ← pause_menu.tscn -└── TeamSelect (CanvasLayer, layer=20) ← team_select.tscn; queue_free()s after selection +├── PauseMenu (CanvasLayer, layer=10) ← menu/pause_menu.tscn +└── TeamSelect (CanvasLayer, layer=20) ← menu/team_select.tscn; queue_free()s after selection ``` -### `node_2d.tscn` — player ship +### `ships/ship.tscn` — player ship ``` Player (CharacterBody2D) ← ship_movement.gd ├── CollisionShape2D ← CircleShape2D diff --git a/spacewar/icon.svg b/spacewar/assets/icon.svg similarity index 100% rename from spacewar/icon.svg rename to spacewar/assets/icon.svg diff --git a/spacewar/icon.svg.import b/spacewar/assets/icon.svg.import similarity index 80% rename from spacewar/icon.svg.import rename to spacewar/assets/icon.svg.import index 1d6c261..533dafc 100644 --- a/spacewar/icon.svg.import +++ b/spacewar/assets/icon.svg.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b527hu5te2484" -path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex" +path="res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://icon.svg" -dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"] +source_file="res://assets/icon.svg" +dest_files=["res://.godot/imported/icon.svg-56083ea2a1f1a4f1e49773bdc6d7826c.ctex"] [params] diff --git a/spacewar/images/background/skybox/1.png b/spacewar/assets/images/background/skybox/1.png similarity index 100% rename from spacewar/images/background/skybox/1.png rename to spacewar/assets/images/background/skybox/1.png diff --git a/spacewar/images/background/skybox/1.png.import b/spacewar/assets/images/background/skybox/1.png.import similarity index 77% rename from spacewar/images/background/skybox/1.png.import rename to spacewar/assets/images/background/skybox/1.png.import index c376faf..cad4e81 100644 --- a/spacewar/images/background/skybox/1.png.import +++ b/spacewar/assets/images/background/skybox/1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://d0i6jwqh131b1" -path="res://.godot/imported/1.png-97f1111764d7d26127f844f9bb99447f.ctex" +path="res://.godot/imported/1.png-9043d9fbf9e2bf7867a65a014ac1bb5c.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/1.png" -dest_files=["res://.godot/imported/1.png-97f1111764d7d26127f844f9bb99447f.ctex"] +source_file="res://assets/images/background/skybox/1.png" +dest_files=["res://.godot/imported/1.png-9043d9fbf9e2bf7867a65a014ac1bb5c.ctex"] [params] diff --git a/spacewar/images/background/skybox/2.png b/spacewar/assets/images/background/skybox/2.png similarity index 100% rename from spacewar/images/background/skybox/2.png rename to spacewar/assets/images/background/skybox/2.png diff --git a/spacewar/images/background/skybox/2.png.import b/spacewar/assets/images/background/skybox/2.png.import similarity index 77% rename from spacewar/images/background/skybox/2.png.import rename to spacewar/assets/images/background/skybox/2.png.import index 1ac43cb..89eebb9 100644 --- a/spacewar/images/background/skybox/2.png.import +++ b/spacewar/assets/images/background/skybox/2.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://uchnddsvimku" -path="res://.godot/imported/2.png-535b6f5f8c8d79f538e82478a5ae919b.ctex" +path="res://.godot/imported/2.png-f325333b4ac2c9d640327b741b5bdd96.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/2.png" -dest_files=["res://.godot/imported/2.png-535b6f5f8c8d79f538e82478a5ae919b.ctex"] +source_file="res://assets/images/background/skybox/2.png" +dest_files=["res://.godot/imported/2.png-f325333b4ac2c9d640327b741b5bdd96.ctex"] [params] diff --git a/spacewar/images/background/skybox/3.png b/spacewar/assets/images/background/skybox/3.png similarity index 100% rename from spacewar/images/background/skybox/3.png rename to spacewar/assets/images/background/skybox/3.png diff --git a/spacewar/images/background/skybox/3.png.import b/spacewar/assets/images/background/skybox/3.png.import similarity index 77% rename from spacewar/images/background/skybox/3.png.import rename to spacewar/assets/images/background/skybox/3.png.import index d2272eb..f38015f 100644 --- a/spacewar/images/background/skybox/3.png.import +++ b/spacewar/assets/images/background/skybox/3.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://tcs117dqynbv" -path="res://.godot/imported/3.png-1ad36fe04660abf5feafa71bee86d926.ctex" +path="res://.godot/imported/3.png-aac58c86024c147faa7f0fe9c98e0813.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/3.png" -dest_files=["res://.godot/imported/3.png-1ad36fe04660abf5feafa71bee86d926.ctex"] +source_file="res://assets/images/background/skybox/3.png" +dest_files=["res://.godot/imported/3.png-aac58c86024c147faa7f0fe9c98e0813.ctex"] [params] diff --git a/spacewar/images/background/skybox/4.png b/spacewar/assets/images/background/skybox/4.png similarity index 100% rename from spacewar/images/background/skybox/4.png rename to spacewar/assets/images/background/skybox/4.png diff --git a/spacewar/images/background/skybox/4.png.import b/spacewar/assets/images/background/skybox/4.png.import similarity index 77% rename from spacewar/images/background/skybox/4.png.import rename to spacewar/assets/images/background/skybox/4.png.import index 96a4701..72af063 100644 --- a/spacewar/images/background/skybox/4.png.import +++ b/spacewar/assets/images/background/skybox/4.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://65mjcpw5rk06" -path="res://.godot/imported/4.png-f0201325d495db0494d2b1f7bbeec9a9.ctex" +path="res://.godot/imported/4.png-ac50d45c0235068a7d62ac864015b30b.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/4.png" -dest_files=["res://.godot/imported/4.png-f0201325d495db0494d2b1f7bbeec9a9.ctex"] +source_file="res://assets/images/background/skybox/4.png" +dest_files=["res://.godot/imported/4.png-ac50d45c0235068a7d62ac864015b30b.ctex"] [params] diff --git a/spacewar/images/background/skybox/5.png b/spacewar/assets/images/background/skybox/5.png similarity index 100% rename from spacewar/images/background/skybox/5.png rename to spacewar/assets/images/background/skybox/5.png diff --git a/spacewar/images/background/skybox/5.png.import b/spacewar/assets/images/background/skybox/5.png.import similarity index 77% rename from spacewar/images/background/skybox/5.png.import rename to spacewar/assets/images/background/skybox/5.png.import index c8a731f..cd93b75 100644 --- a/spacewar/images/background/skybox/5.png.import +++ b/spacewar/assets/images/background/skybox/5.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bc1onqc7d21w7" -path="res://.godot/imported/5.png-08cd6a64e2f902af1b1785a272d9c50f.ctex" +path="res://.godot/imported/5.png-9e39fa14a4d23423b7e41a120c0fc72a.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/5.png" -dest_files=["res://.godot/imported/5.png-08cd6a64e2f902af1b1785a272d9c50f.ctex"] +source_file="res://assets/images/background/skybox/5.png" +dest_files=["res://.godot/imported/5.png-9e39fa14a4d23423b7e41a120c0fc72a.ctex"] [params] diff --git a/spacewar/images/background/skybox/6.png b/spacewar/assets/images/background/skybox/6.png similarity index 100% rename from spacewar/images/background/skybox/6.png rename to spacewar/assets/images/background/skybox/6.png diff --git a/spacewar/images/background/skybox/6.png.import b/spacewar/assets/images/background/skybox/6.png.import similarity index 77% rename from spacewar/images/background/skybox/6.png.import rename to spacewar/assets/images/background/skybox/6.png.import index 23256b7..5f44ed9 100644 --- a/spacewar/images/background/skybox/6.png.import +++ b/spacewar/assets/images/background/skybox/6.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cvyfcu03jdqas" -path="res://.godot/imported/6.png-21d9e30a24ce4c43ebcbe0ea36daa029.ctex" +path="res://.godot/imported/6.png-291acaf620f540245af50c3d50814b61.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/background/skybox/6.png" -dest_files=["res://.godot/imported/6.png-21d9e30a24ce4c43ebcbe0ea36daa029.ctex"] +source_file="res://assets/images/background/skybox/6.png" +dest_files=["res://.godot/imported/6.png-291acaf620f540245af50c3d50814b61.ctex"] [params] diff --git a/spacewar/images/background/skybox/WTFPL.txt b/spacewar/assets/images/background/skybox/WTFPL.txt similarity index 100% rename from spacewar/images/background/skybox/WTFPL.txt rename to spacewar/assets/images/background/skybox/WTFPL.txt diff --git a/spacewar/images/effects/explosion1.png b/spacewar/assets/images/effects/explosion1.png similarity index 100% rename from spacewar/images/effects/explosion1.png rename to spacewar/assets/images/effects/explosion1.png diff --git a/spacewar/images/effects/explosion1.png.import b/spacewar/assets/images/effects/explosion1.png.import similarity index 76% rename from spacewar/images/effects/explosion1.png.import rename to spacewar/assets/images/effects/explosion1.png.import index 52bc3b3..45b1dec 100644 --- a/spacewar/images/effects/explosion1.png.import +++ b/spacewar/assets/images/effects/explosion1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://ded6ek6l7n8gb" -path="res://.godot/imported/explosion1.png-ebaaa46c76a7bf39885ed36c21d9704d.ctex" +path="res://.godot/imported/explosion1.png-dbaabd892c7c9e8bfd179ebbad20e6c6.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/effects/explosion1.png" -dest_files=["res://.godot/imported/explosion1.png-ebaaa46c76a7bf39885ed36c21d9704d.ctex"] +source_file="res://assets/images/effects/explosion1.png" +dest_files=["res://.godot/imported/explosion1.png-dbaabd892c7c9e8bfd179ebbad20e6c6.ctex"] [params] diff --git a/spacewar/images/ships/Example_ships/1.png b/spacewar/assets/images/ships/example_ships/1.png similarity index 100% rename from spacewar/images/ships/Example_ships/1.png rename to spacewar/assets/images/ships/example_ships/1.png diff --git a/spacewar/images/ships/Example_ships/1.png.import b/spacewar/assets/images/ships/example_ships/1.png.import similarity index 77% rename from spacewar/images/ships/Example_ships/1.png.import rename to spacewar/assets/images/ships/example_ships/1.png.import index 0615cdb..7657a9f 100644 --- a/spacewar/images/ships/Example_ships/1.png.import +++ b/spacewar/assets/images/ships/example_ships/1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://td2tbmkm3r6u" -path="res://.godot/imported/1.png-6cd3243048854fb354d682a18817356e.ctex" +path="res://.godot/imported/1.png-362339079d92758f46be17d4e359799c.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/ships/Example_ships/1.png" -dest_files=["res://.godot/imported/1.png-6cd3243048854fb354d682a18817356e.ctex"] +source_file="res://assets/images/ships/example_ships/1.png" +dest_files=["res://.godot/imported/1.png-362339079d92758f46be17d4e359799c.ctex"] [params] diff --git a/spacewar/images/ships/Example_ships/1B.png b/spacewar/assets/images/ships/example_ships/1B.png similarity index 100% rename from spacewar/images/ships/Example_ships/1B.png rename to spacewar/assets/images/ships/example_ships/1B.png diff --git a/spacewar/images/ships/Example_ships/1B.png.import b/spacewar/assets/images/ships/example_ships/1B.png.import similarity index 77% rename from spacewar/images/ships/Example_ships/1B.png.import rename to spacewar/assets/images/ships/example_ships/1B.png.import index 5542afb..da9f0e0 100644 --- a/spacewar/images/ships/Example_ships/1B.png.import +++ b/spacewar/assets/images/ships/example_ships/1B.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cgfd5fboa45dn" -path="res://.godot/imported/1B.png-991b0890a43069731cad413022099b02.ctex" +path="res://.godot/imported/1B.png-4ca6f2d74cf902792fc79e84bac00b83.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/ships/Example_ships/1B.png" -dest_files=["res://.godot/imported/1B.png-991b0890a43069731cad413022099b02.ctex"] +source_file="res://assets/images/ships/example_ships/1B.png" +dest_files=["res://.godot/imported/1B.png-4ca6f2d74cf902792fc79e84bac00b83.ctex"] [params] diff --git a/spacewar/images/ships/Example_ships/2a.png b/spacewar/assets/images/ships/example_ships/2a.png similarity index 100% rename from spacewar/images/ships/Example_ships/2a.png rename to spacewar/assets/images/ships/example_ships/2a.png diff --git a/spacewar/images/ships/Example_ships/2a.png.import b/spacewar/assets/images/ships/example_ships/2a.png.import similarity index 76% rename from spacewar/images/ships/Example_ships/2a.png.import rename to spacewar/assets/images/ships/example_ships/2a.png.import index 33fc09b..cb8ace5 100644 --- a/spacewar/images/ships/Example_ships/2a.png.import +++ b/spacewar/assets/images/ships/example_ships/2a.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://wnrdhn33ce50" -path="res://.godot/imported/2a.png-9bfe77c7bec5a2e8a116acfd3eb6380a.ctex" +path="res://.godot/imported/2a.png-9fa51336ca7f78060a7eadc36c632e13.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/ships/Example_ships/2a.png" -dest_files=["res://.godot/imported/2a.png-9bfe77c7bec5a2e8a116acfd3eb6380a.ctex"] +source_file="res://assets/images/ships/example_ships/2a.png" +dest_files=["res://.godot/imported/2a.png-9fa51336ca7f78060a7eadc36c632e13.ctex"] [params] diff --git a/spacewar/images/ships/Example_ships/3b.png b/spacewar/assets/images/ships/example_ships/3b.png similarity index 100% rename from spacewar/images/ships/Example_ships/3b.png rename to spacewar/assets/images/ships/example_ships/3b.png diff --git a/spacewar/images/ships/Example_ships/3b.png.import b/spacewar/assets/images/ships/example_ships/3b.png.import similarity index 77% rename from spacewar/images/ships/Example_ships/3b.png.import rename to spacewar/assets/images/ships/example_ships/3b.png.import index 77b32ec..f191cc8 100644 --- a/spacewar/images/ships/Example_ships/3b.png.import +++ b/spacewar/assets/images/ships/example_ships/3b.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://b6xkpyy1rg74v" -path="res://.godot/imported/3b.png-d95c52be2bb572cb2c8ffd7d62d1118b.ctex" +path="res://.godot/imported/3b.png-272e2c2803a6a3a9dfb46c9672f6a0fe.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://images/ships/Example_ships/3b.png" -dest_files=["res://.godot/imported/3b.png-d95c52be2bb572cb2c8ffd7d62d1118b.ctex"] +source_file="res://assets/images/ships/example_ships/3b.png" +dest_files=["res://.godot/imported/3b.png-272e2c2803a6a3a9dfb46c9672f6a0fe.ctex"] [params] diff --git a/spacewar/bwQ7rQ.png b/spacewar/assets/images/tiles/bwQ7rQ.png similarity index 100% rename from spacewar/bwQ7rQ.png rename to spacewar/assets/images/tiles/bwQ7rQ.png diff --git a/spacewar/bwQ7rQ.png.import b/spacewar/assets/images/tiles/bwQ7rQ.png.import similarity index 77% rename from spacewar/bwQ7rQ.png.import rename to spacewar/assets/images/tiles/bwQ7rQ.png.import index 762e14d..e58a999 100644 --- a/spacewar/bwQ7rQ.png.import +++ b/spacewar/assets/images/tiles/bwQ7rQ.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dglp131j5tga6" -path="res://.godot/imported/bwQ7rQ.png-13ccf92d28893d68bca8cee95abb7d20.ctex" +path="res://.godot/imported/bwQ7rQ.png-f54459e0d6bfa1fb00ae56276884677f.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://bwQ7rQ.png" -dest_files=["res://.godot/imported/bwQ7rQ.png-13ccf92d28893d68bca8cee95abb7d20.ctex"] +source_file="res://assets/images/tiles/bwQ7rQ.png" +dest_files=["res://.godot/imported/bwQ7rQ.png-f54459e0d6bfa1fb00ae56276884677f.ctex"] [params] diff --git a/spacewar/game_config.gd b/spacewar/autoload/game_config.gd similarity index 100% rename from spacewar/game_config.gd rename to spacewar/autoload/game_config.gd diff --git a/spacewar/game_config.gd.uid b/spacewar/autoload/game_config.gd.uid similarity index 100% rename from spacewar/game_config.gd.uid rename to spacewar/autoload/game_config.gd.uid diff --git a/spacewar/main_menu.gd b/spacewar/menu/main_menu.gd similarity index 98% rename from spacewar/main_menu.gd rename to spacewar/menu/main_menu.gd index 27bb52f..41333e7 100644 --- a/spacewar/main_menu.gd +++ b/spacewar/menu/main_menu.gd @@ -32,7 +32,7 @@ func _build_ui() -> void: func _add_bg() -> void: var bg := TextureRect.new() - bg.texture = load("res://images/background/skybox/2.png") + bg.texture = load("res://assets/images/background/skybox/2.png") bg.expand_mode = TextureRect.EXPAND_FIT_WIDTH_PROPORTIONAL bg.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_COVERED bg.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) @@ -329,10 +329,10 @@ func _update_play_buttons() -> void: func _on_play_casual() -> void: GameConfig.player_name = _name_input.text.strip_edges() - get_tree().change_scene_to_file("res://world.tscn") + get_tree().change_scene_to_file("res://world/world.tscn") func _on_play_ranked() -> void: GameConfig.player_name = _name_input.text.strip_edges() GameConfig.player_race = 1 # TODO: race selection screen - get_tree().change_scene_to_file("res://world.tscn") + get_tree().change_scene_to_file("res://world/world.tscn") diff --git a/spacewar/main_menu.gd.uid b/spacewar/menu/main_menu.gd.uid similarity index 100% rename from spacewar/main_menu.gd.uid rename to spacewar/menu/main_menu.gd.uid diff --git a/spacewar/main_menu.tscn b/spacewar/menu/main_menu.tscn similarity index 67% rename from spacewar/main_menu.tscn rename to spacewar/menu/main_menu.tscn index 5e87808..77261e0 100644 --- a/spacewar/main_menu.tscn +++ b/spacewar/menu/main_menu.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://bmainmenu001"] -[ext_resource type="Script" path="res://main_menu.gd" id="1_script"] +[ext_resource type="Script" path="res://menu/main_menu.gd" id="1_script"] [node name="MainMenu" type="Control"] anchor_right = 1.0 diff --git a/spacewar/pause_menu.gd b/spacewar/menu/pause_menu.gd similarity index 98% rename from spacewar/pause_menu.gd rename to spacewar/menu/pause_menu.gd index f399697..b8c118e 100644 --- a/spacewar/pause_menu.gd +++ b/spacewar/menu/pause_menu.gd @@ -117,7 +117,7 @@ func _flat(col: Color, radius: int = 0) -> StyleBoxFlat: func _on_quit_to_menu() -> void: - get_tree().change_scene_to_file("res://main_menu.tscn") + get_tree().change_scene_to_file("res://menu/main_menu.tscn") func _on_quit_to_desktop() -> void: diff --git a/spacewar/pause_menu.gd.uid b/spacewar/menu/pause_menu.gd.uid similarity index 100% rename from spacewar/pause_menu.gd.uid rename to spacewar/menu/pause_menu.gd.uid diff --git a/spacewar/pause_menu.tscn b/spacewar/menu/pause_menu.tscn similarity index 62% rename from spacewar/pause_menu.tscn rename to spacewar/menu/pause_menu.tscn index 83d59db..8e1a283 100644 --- a/spacewar/pause_menu.tscn +++ b/spacewar/menu/pause_menu.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://cpausemenu01a"] -[ext_resource type="Script" path="res://pause_menu.gd" id="1_script"] +[ext_resource type="Script" path="res://menu/pause_menu.gd" id="1_script"] [node name="PauseMenu" type="CanvasLayer"] script = ExtResource("1_script") diff --git a/spacewar/server_browser.gd b/spacewar/menu/server_browser.gd similarity index 98% rename from spacewar/server_browser.gd rename to spacewar/menu/server_browser.gd index d24591a..a1817ca 100644 --- a/spacewar/server_browser.gd +++ b/spacewar/menu/server_browser.gd @@ -15,7 +15,7 @@ func _ready() -> void: func _build_ui() -> void: var bg := TextureRect.new() - bg.texture = load("res://images/background/skybox/1.png") + bg.texture = load("res://assets/images/background/skybox/1.png") bg.expand_mode = TextureRect.EXPAND_FIT_WIDTH_PROPORTIONAL bg.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_COVERED bg.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) @@ -280,4 +280,4 @@ func _update_join() -> void: func _on_join_pressed() -> void: GameConfig.player_name = _name_input.text.strip_edges() GameConfig.player_race = _selected_race - get_tree().change_scene_to_file("res://world.tscn") + get_tree().change_scene_to_file("res://world/world.tscn") diff --git a/spacewar/server_browser.gd.uid b/spacewar/menu/server_browser.gd.uid similarity index 100% rename from spacewar/server_browser.gd.uid rename to spacewar/menu/server_browser.gd.uid diff --git a/spacewar/server_browser.tscn b/spacewar/menu/server_browser.tscn similarity index 67% rename from spacewar/server_browser.tscn rename to spacewar/menu/server_browser.tscn index e1dbc5d..32fe1ea 100644 --- a/spacewar/server_browser.tscn +++ b/spacewar/menu/server_browser.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://doolmlvruun6o"] -[ext_resource type="Script" path="res://server_browser.gd" id="1_script"] +[ext_resource type="Script" path="res://menu/server_browser.gd" id="1_script"] [node name="ServerBrowser" type="Control"] anchor_right = 1.0 diff --git a/spacewar/team_select.gd b/spacewar/menu/team_select.gd similarity index 97% rename from spacewar/team_select.gd rename to spacewar/menu/team_select.gd index e66fe1f..6904154 100644 --- a/spacewar/team_select.gd +++ b/spacewar/menu/team_select.gd @@ -11,25 +11,25 @@ const SHIPS := [ "name": "WARBIRD", "role": "All-Round Fighter", "desc": "The most versatile ship in the fleet. Solid speed, reliable firepower, and enough armor to stay in the fight. Forgiving to fly and effective in any situation — the go-to choice when you're not sure what you're up against.", - "path": "res://images/ships/Example_ships/1.png", + "path": "res://assets/images/ships/example_ships/1.png", }, { "name": "JAVELIN", "role": "Fast Interceptor", "desc": "Built for speed above everything else. Light armor means you have to pick your fights carefully, but nothing can outrun you. Best used for hit-and-run strikes, hunting weakened targets, and escaping when things go wrong.", - "path": "res://images/ships/Example_ships/1B.png", + "path": "res://assets/images/ships/example_ships/1B.png", }, { "name": "SPIDER", "role": "Heavy Support", "desc": "Slow but extremely durable. High-volume fire makes it devastating in sustained engagements. Anchors a team by holding zones and suppressing enemy movements. Stay near allies — alone you're a target, together you're a wall.", - "path": "res://images/ships/Example_ships/2a.png", + "path": "res://assets/images/ships/example_ships/2a.png", }, { "name": "LANCASTER", "role": "Stealth Bomber", "desc": "Medium speed with high burst damage potential. Built for patience — get into position, strike hard, and fade before the enemy can respond. Excels at flanking and ambushes. Requires discipline to play but punishes mistakes severely.", - "path": "res://images/ships/Example_ships/3b.png", + "path": "res://assets/images/ships/example_ships/3b.png", }, ] diff --git a/spacewar/team_select.gd.uid b/spacewar/menu/team_select.gd.uid similarity index 100% rename from spacewar/team_select.gd.uid rename to spacewar/menu/team_select.gd.uid diff --git a/spacewar/team_select.tscn b/spacewar/menu/team_select.tscn similarity index 62% rename from spacewar/team_select.tscn rename to spacewar/menu/team_select.tscn index 7b61506..1db0dbe 100644 --- a/spacewar/team_select.tscn +++ b/spacewar/menu/team_select.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://dteamselect01"] -[ext_resource type="Script" path="res://team_select.gd" id="1_script"] +[ext_resource type="Script" path="res://menu/team_select.gd" id="1_script"] [node name="TeamSelect" type="CanvasLayer"] script = ExtResource("1_script") diff --git a/spacewar/project.godot b/spacewar/project.godot index 378000c..1bbf9a4 100644 --- a/spacewar/project.godot +++ b/spacewar/project.godot @@ -11,13 +11,13 @@ config_version=5 [application] config/name="spacewar" -run/main_scene="res://main_menu.tscn" +run/main_scene="res://menu/main_menu.tscn" config/features=PackedStringArray("4.7", "Forward Plus") -config/icon="res://icon.svg" +config/icon="res://assets/icon.svg" [autoload] -GameConfig="*res://game_config.gd" +GameConfig="*res://autoload/game_config.gd" [display] diff --git a/spacewar/bullet.gd b/spacewar/ships/bullet.gd similarity index 100% rename from spacewar/bullet.gd rename to spacewar/ships/bullet.gd diff --git a/spacewar/bullet.gd.uid b/spacewar/ships/bullet.gd.uid similarity index 100% rename from spacewar/bullet.gd.uid rename to spacewar/ships/bullet.gd.uid diff --git a/spacewar/bullet.tscn b/spacewar/ships/bullet.tscn similarity index 88% rename from spacewar/bullet.tscn rename to spacewar/ships/bullet.tscn index 0a87dfe..5e2671a 100644 --- a/spacewar/bullet.tscn +++ b/spacewar/ships/bullet.tscn @@ -1,6 +1,6 @@ [gd_scene format=3] -[ext_resource type="Script" path="res://bullet.gd" id="1"] +[ext_resource type="Script" path="res://ships/bullet.gd" id="1"] [sub_resource type="CircleShape2D" id="CircleShape2D_1"] radius = 4.0 diff --git a/spacewar/node_2d.tscn b/spacewar/ships/ship.tscn similarity index 87% rename from spacewar/node_2d.tscn rename to spacewar/ships/ship.tscn index 8f59c11..4a39352 100644 --- a/spacewar/node_2d.tscn +++ b/spacewar/ships/ship.tscn @@ -1,7 +1,7 @@ [gd_scene format=3 uid="uid://dygtdlkvo6ofl"] -[ext_resource type="Script" uid="uid://c4kj3i73wjdcj" path="res://ship_movement.gd" id="1_0e48y"] -[ext_resource type="Texture2D" uid="uid://td2tbmkm3r6u" path="res://images/ships/Example_ships/1.png" id="2_epypp"] +[ext_resource type="Script" uid="uid://c4kj3i73wjdcj" path="res://ships/ship_movement.gd" id="1_0e48y"] +[ext_resource type="Texture2D" uid="uid://td2tbmkm3r6u" path="res://assets/images/ships/example_ships/1.png" id="2_epypp"] [sub_resource type="CircleShape2D" id="CircleShape2D_2uxl3"] diff --git a/spacewar/ship_movement.gd b/spacewar/ships/ship_movement.gd similarity index 98% rename from spacewar/ship_movement.gd rename to spacewar/ships/ship_movement.gd index 986da43..8a731e3 100644 --- a/spacewar/ship_movement.gd +++ b/spacewar/ships/ship_movement.gd @@ -1,6 +1,6 @@ extends CharacterBody2D -const BULLET_SCENE = preload("res://bullet.tscn") +const BULLET_SCENE = preload("res://ships/bullet.tscn") var _fire_cooldown: float = 0.0 var health: int = 0 diff --git a/spacewar/ship_movement.gd.uid b/spacewar/ships/ship_movement.gd.uid similarity index 100% rename from spacewar/ship_movement.gd.uid rename to spacewar/ships/ship_movement.gd.uid diff --git a/spacewar/tile_map.tscn b/spacewar/world/tile_map.tscn similarity index 99% rename from spacewar/tile_map.tscn rename to spacewar/world/tile_map.tscn index a0a74fb..1d4e2da 100644 --- a/spacewar/tile_map.tscn +++ b/spacewar/world/tile_map.tscn @@ -1,6 +1,6 @@ [gd_scene format=3 uid="uid://cxarety0nbcme"] -[ext_resource type="Texture2D" uid="uid://dglp131j5tga6" path="res://bwQ7rQ.png" id="1_7yhko"] +[ext_resource type="Texture2D" uid="uid://dglp131j5tga6" path="res://assets/images/tiles/bwQ7rQ.png" id="1_7yhko"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_1n30v"] texture = ExtResource("1_7yhko") diff --git a/spacewar/world.tscn b/spacewar/world/world.tscn similarity index 84% rename from spacewar/world.tscn rename to spacewar/world/world.tscn index 5433a45..bb10b85 100644 --- a/spacewar/world.tscn +++ b/spacewar/world/world.tscn @@ -1,9 +1,9 @@ [gd_scene format=3 uid="uid://c77s15ns13p6y"] -[ext_resource type="PackedScene" uid="uid://dygtdlkvo6ofl" path="res://node_2d.tscn" id="1_f3sb7"] -[ext_resource type="Texture2D" uid="uid://d0i6jwqh131b1" path="res://images/background/skybox/1.png" id="1_fj7yv"] -[ext_resource type="PackedScene" uid="uid://cpausemenu01a" path="res://pause_menu.tscn" id="2_pm"] -[ext_resource type="PackedScene" uid="uid://dteamselect01" path="res://team_select.tscn" id="3_ts"] +[ext_resource type="PackedScene" uid="uid://dygtdlkvo6ofl" path="res://ships/ship.tscn" id="1_f3sb7"] +[ext_resource type="Texture2D" uid="uid://d0i6jwqh131b1" path="res://assets/images/background/skybox/1.png" id="1_fj7yv"] +[ext_resource type="PackedScene" uid="uid://cpausemenu01a" path="res://menu/pause_menu.tscn" id="2_pm"] +[ext_resource type="PackedScene" uid="uid://dteamselect01" path="res://menu/team_select.tscn" id="3_ts"] [node name="World" type="Node2D" unique_id=1962020789]