Skip to content

Commit d0c348c

Browse files
author
tom
committed
feat(godot): plateau tuiles atlas, grilles ancrees QG et sidebar bataille
Rendu runtime des octogones teintes par camp, layout 280 calibré sur les coins QG, Case Info/timer/ordres, et outils generate/export/calibrate.
1 parent 0ca8581 commit d0c348c

20 files changed

Lines changed: 1473 additions & 451 deletions

godot/CHANGELOG.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,47 @@ Format des entrées : `AAAA-MM-JJ HH:MM:SS` (heure locale).
66

77
---
88

9+
## 2026-05-25 12:00:00 — Plateau tuiles atlas, grilles ancrées QG, sidebar
10+
11+
### Réalisé
12+
13+
- **`board_map.gd`** — rendu **tuile par tuile** depuis l’atlas (plus de PNG composé au runtime) ; couches mer → terrain → centre → QG ; teintes camps renforcées ; badge pièces sur QG
14+
- **`board_atlas.gd`**`tile_shapes` (NW…SE, Sp1–Sp12, HQ, CE), `sector_tile_modulate()`, octogone CE pour tout le terrain
15+
- **`sector_layout.json`** — grille 280×280 ; QG aux coins symétriques **(18,18) / (262,18) / (18,262) / (262,262)** ; grilles 3×3 **ancrées sur le QG** de chaque quadrant (NW/NE/SW/SE)
16+
- **`generate_sector_layout.py`** — régénération géométrique (remplace calibration peaks sur PNG noir)
17+
- **`parse_atlas_meta.py`** — mapping `tile_shapes` ContainsPlace Unity
18+
- **`battle_sidebar.gd`** + **`battle.tscn`** — Case Info / Reserve / Orders+timer ; sélection QG au démarrage
19+
- **`export_board_image.py`**, **`calibrate_sector_layout.py`** — outils référence (PNG composé optionnel)
20+
- **`assets/textures/board_reference.png`** — preview export 4 quadrants
21+
22+
### À faire (prochaine étape critique)
23+
24+
- [ ] **Connecteurs mer** (`Space_*`) — sprites Sp1–Sp12 visibles entre quadrants
25+
- [ ] Tuiles directionnelles emboîtées (échelle Unity) si souhaité
26+
- [ ] `Battleground.unity` pour calibration pixel-perfect
27+
- [ ] Bombes H, combats détaillés, animations
28+
29+
---
30+
31+
## 2026-05-25 00:15:00 — Bataille fidèle : calibration, sprites, timer, ordres
32+
33+
### Réalisé
34+
35+
- **`calibrate_sector_layout.py`** — positions secteurs extraites du diagramme `FORCE-AD-13a_13` (57 cases)
36+
- **`board_atlas.gd`** — icônes pièces/UI depuis atlas (`piece_icons` dans `atlas_sprites.json`)
37+
- **`board_map.gd`** — pièces en sprites atlas teintés camp, surbrillance destinations, sélection pointillée
38+
- **`battle_sidebar.gd`** — timer 59:59 (logique Unity), pad ordres `O : HQ > CE`
39+
- **`board_catalog.gd`** — libellés courts secteurs (HQ, CE, NW, Sp3…)
40+
- **`battle.gd`** — timer planification, file d'ordres, clic case → destination
41+
42+
### À faire
43+
44+
- [ ] Récupérer `Battleground.unity` pour calibration pixel-perfect finale
45+
- [ ] Sprites connecteurs mer entre cases
46+
- [ ] Animations fin de manche / combat
47+
48+
---
49+
950
## 2026-05-24 23:48:00 — Plateau graphique fidèle (atlas FORCE-AD-13a)
1051

1152
### Réalisé
6.21 KB
Loading

godot/data/atlas_sprites.json

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,5 +548,52 @@
548548
"connector_v": "FORCE-AD-13a_83",
549549
"sea": "FORCE-AD-13a_4",
550550
"neutral": "FORCE-AD-13a_4"
551+
},
552+
"tile_shapes": {
553+
"HQ": "FORCE-AD-13a_67",
554+
"NW": "FORCE-AD-13a_81",
555+
"N": "FORCE-AD-13a_80",
556+
"NE": "FORCE-AD-13a_79",
557+
"W": "FORCE-AD-13a_76",
558+
"CE": "FORCE-AD-13a_77",
559+
"E": "FORCE-AD-13a_78",
560+
"SW": "FORCE-AD-13a_75",
561+
"S": "FORCE-AD-13a_74",
562+
"SE": "FORCE-AD-13a_73",
563+
"Sp1": "FORCE-AD-13a_100",
564+
"Sp2": "FORCE-AD-13a_101",
565+
"Sp3": "FORCE-AD-13a_102",
566+
"Sp4": "FORCE-AD-13a_107",
567+
"Sp5": "FORCE-AD-13a_106",
568+
"Sp6": "FORCE-AD-13a_112",
569+
"Sp7": "FORCE-AD-13a_113",
570+
"Sp8": "FORCE-AD-13a_118",
571+
"Sp9": "FORCE-AD-13a_115",
572+
"Sp10": "FORCE-AD-13a_116",
573+
"Sp11": "FORCE-AD-13a_106",
574+
"Sp12": "FORCE-AD-13a_107"
575+
},
576+
"piece_icons": {
577+
"circle_outline": "FORCE-AD-13a_14",
578+
"square_outline": "FORCE-AD-13a_16",
579+
"triangle_outline": "FORCE-AD-13a_17",
580+
"diamond_outline": "FORCE-AD-13a_18",
581+
"circle_filled": "FORCE-AD-13a_19",
582+
"square_filled": "FORCE-AD-13a_21",
583+
"triangle_filled": "FORCE-AD-13a_22",
584+
"diamond_filled": "FORCE-AD-13a_23",
585+
"power_f": "FORCE-AD-13a_15",
586+
"hbomb_h": "FORCE-AD-13a_20",
587+
"soldier": "FORCE-AD-13a_11",
588+
"raider": "FORCE-AD-13a_12",
589+
"hunter": "FORCE-AD-13a_27",
590+
"cruiser": "FORCE-AD-13a_24",
591+
"commando": "FORCE-AD-13a_25",
592+
"bomber": "FORCE-AD-13a_24",
593+
"fighter": "FORCE-AD-13a_25",
594+
"destroyer": "FORCE-AD-13a_24",
595+
"hbomb": "FORCE-AD-13a_27",
596+
"hq": "FORCE-AD-13a_67",
597+
"flag": "FORCE-AD-13a_30"
551598
}
552599
}

0 commit comments

Comments
 (0)