55 lines
5.8 KiB
Markdown
55 lines
5.8 KiB
Markdown
# Codebase-Audit · 09.09.2026
|
|||
|
|
|
||
|
|
## Ziel und Ausgangspunkt
|
||
|
|
|
||
|
|
Den vorhandenen Stand einschließlich der gestrigen Erweiterungen prüfen, Lücken schließen und die Anleitung dem Code anpassen. Grundlage: Commit `5b15d4f`. Kein vollständiger Neuaufbau und kein automatisches Veröffentlichen.
|
||
|
|
|
||
|
|
## Korrekturen
|
||
|
|
|
||
|
|
- **Mantling:** Die Figur bewegt sich zuerst hoch, dann über die Kante. Die vorherige diagonale Bewegung kollidierte mit der Deckung, obwohl die Vorprüfung den Weg freigab.
|
||
|
|
- **Respawn:** Kollisionsform wird wie beim Tod verzögert umgeschaltet. Ein noch ausstehendes Abschalten konnte sonst die frisch respawnte Figur ohne aktive Trefferkollision hinterlassen.
|
||
|
|
- **Spielziele:** Domination berücksichtigt Etage und Sichtlinie; Marken können nicht durch Wände eingesammelt werden. A/B/C besitzen Weltbeschriftungen und HUD-Status mit Eroberungsfortschritt. KC zeigt den Sammelauftrag.
|
||
|
|
- **Granaten:** Bestehenden erweiterten Schaden und Nachbrennen mit Feuertextur, Boden-Glut, Feuerball, Druckwelle, aufsteigender Rauchkrone, kurzem Licht und kräftigerem Explosionssound vervollständigt. Flashbang erhält kurzen sichtbaren und hörbaren Effekt; F und Anzahl werden erklärt und angezeigt.
|
||
|
|
- **Runden/Verlassen:** Kurzlebige Kampfeffekte und historischer Figurenpuffer werden aufgeräumt.
|
||
|
|
- **Lokaler Start:** `Start-Local.cmd` und `Start-Game.exe --local` umgehen den Auto-Updater. Die EXE wurde neu gebaut und mit `--local --verify` erfolgreich gestartet. `--offline` ist kein Ersatz: Es bevorzugt eine installierte Update-Version.
|
||
|
|
- **Tests:** 31 gezielte Gameplay-Prüfungen ergänzt. Server-Abbruchtest benötigt keine gesperrte WMI/CIM-Abfrage mehr, sondern ermittelt den einzigen neu gestarteten Engineprozess.
|
||
|
|
- **Dokumentation:** Tatsächlich vorhandene Flashbangs, Projektil-Sniper, Mantling, Treppen-Bots, zusätzliche Modi, Rewind, Ping, zuverlässige Einzelaktionen und gespeicherte Einstellungen beschrieben.
|
||
|
|
|
||
|
|
## Dateien und Klassen
|
||
|
|
|
||
|
|
Vollständiger ausführbarer Code liegt direkt in den genannten Dateien; keine manuell einzubauenden Fragmente:
|
||
|
|
|
||
|
|
| Bereich | Dateien / Klassen |
|
||
|
|
|---|---|
|
||
|
|
| Bewegung und Respawn | `scripts/fighter.gd` · Fighter |
|
||
|
|
| Effekte und Audio | `scripts/combat_visuals.gd`, `scripts/audio.gd` · CombatVisuals / Audio |
|
||
|
|
| Spielablauf und Bereinigung | `scripts/game.gd` |
|
||
|
|
| Ziele und Oberfläche | `scripts/round_objectives.gd`, `scripts/hud.gd`, `scripts/ui.gd` |
|
||
|
|
| Lokaler Starter | `launcher/Launcher.cs`, `Start-Game.exe`, `Start-Local.cmd` |
|
||
|
|
| Prüfungen | `tests/features.gd`, `tests/audit_visual.gd`, `tests/Run-Tests.ps1`, `tests/Run-ServerLauncherTests.ps1` |
|
||
|
|
|
||
|
|
## Einbau und Start
|
||
|
|
|
||
|
|
Die Änderungen sind bereits im Projekt eingebaut. `Start-Local.cmd` doppelklicken. Für andere Rechner den gleichen vollständigen Projektstand verwenden. Ein bereits laufender Server muss neu gestartet werden, um geänderte Skripte zu laden. Es wurde kein laufender fremder Server beendet und kein Update auf GitHub veröffentlicht.
|
||
|
|
|
||
|
|
## Automatisch geprüft
|
||
|
|
|
||
|
|
- `tests/Run-Tests.ps1`: **205 Prüfungen bestanden** (34 Integration, 22 Killcam, 27 Redesign, 38 Grafik, 53 Kartenerweiterung, 31 neue Funktionen), zusätzlich Operator-Metriken und Host/Client-Killcam über getrennte ENet-Prozesse.
|
||
|
|
- Neue Funktionen: Explosionsgrenzen, Branddauer/Schaden, Team- und Spawnschutz, Wände/Etagen, Feuer-Snapshotübernahme, Flash-Blickrichtung, DOM/KC, tatsächliche Projektilkollision, Mantling mit realer Kapsel, historischer Treffer/Respawn-Abgrenzung, gespeicherte Einstellungen und ein Bot auf der Außentreppe bis zum Dach.
|
||
|
|
- `tests/Run-Dedicated.ps1`: **21 Prüfungen**, danach acht echte Clientprozesse; Bot-Ersatz und Auffüllung nach Verlassen erfolgreich.
|
||
|
|
- `tests/Run-DedicatedRounds.ps1`: Rundenende und Folgerunde auf zwei verbundenen Clients erkannt.
|
||
|
|
- `tests/Run-UpdaterTests.ps1`: **14 Prüfungen bestanden**, einschließlich beschädigtem Download, Offline-Fallback und Archiv-Pfadsicherheit; kein echtes Update geladen.
|
||
|
|
- `tests/Run-ServerLauncherTests.ps1`: **4 Prüfungen bestanden**: ungültige Konfiguration, belegter Port, regulärer Stop und Engine-Ende beim Launcher-Abbruch.
|
||
|
|
- `Start-Game.exe --local --verify`: Exitcode 0.
|
||
|
|
- Grafiklauf mit Forward+ auf GTX 1080: Bilder unter `docs/audit-*.png`; Zielanzeigen und Menüs visuell kontrolliert. Der erste Testaufruf hatte eine unvollständige Test-Konfiguration; nach Korrektur keine Skriptfehler im Grafikprotokoll. Die Testfenster meldeten Abschluss, blieben beim Vulkan-Abbau jedoch hängen und mussten gezielt beendet werden. Dies ist noch keine Bestätigung eines fehlerfreien grafischen Programmendes.
|
||
|
|
|
||
|
|
## Manuell nachprüfen und Grenzen
|
||
|
|
|
||
|
|
1. Lokal starten, DOM hosten: neutralen Punkt betreten, A/B/C-Fortschritt beobachten; auf dem Dach darüber darf kein Erobern beginnen.
|
||
|
|
2. An niedriger Deckung SPACE drücken, anschließend sterben und respawnen; Bewegung und Treffer müssen weiter funktionieren.
|
||
|
|
3. G werfen: großer kurzer Explosionsimpuls, anschließend sechs Sekunden Brandfläche. Wände und andere Stockwerke sollen schützen. F separat ausprobieren und Blickrichtung vergleichen.
|
||
|
|
4. KC hosten: erst die gegnerische Marke gibt den Punkt; eigene Marke verweigert ihn.
|
||
|
|
5. Zwei reale LAN-PCs verbinden und gemeinsam Etagen, Waffen, Modi und Rundenwechsel spielen. Dieser Hardware-LAN-Test steht aus.
|
||
|
|
|
||
|
|
Die 31 neuen Gameplay-Prüfungen ersetzen keinen gesonderten Mehrprozess-Test jeder neuen Funktion unter Paketverlust. Der Bildlauf ist kein FPS-Benchmark; konstante 60 FPS sind nicht nachgewiesen. In dieser Umgebung meldet Godot Einschränkungen beim Zertifikatsspeicher und Shadercache. Ein Check ohne explizite Logdatei stürzte beim Zugriff auf user://logs ab; derselbe HUD-Check mit Logdatei unter tests/ bestand. Der grafische Programmabbau muss außerhalb dieser Testumgebung weiter geprüft werden. Historische Dokumente zu früheren Ausbaustufen sind Momentaufnahmen; für die aktuellen Funktionen gilt dieser Bericht zusammen mit README.md.
|