Randoloot/artifacts/named_saves_validation.md
2026-10-27 22:20:01 +01:00

36 lines
2.1 KiB
Markdown

# Nazwane zapisy i wygląd menu — 27.10.2026
- Zapis ręczny i F6 otwierają okno z nazwą zapisu (do 48 znaków).
- Nowy zapis tworzy osobny slot. Wybór karty pozwala nadpisać zapis lub zmienić
jego nazwę; poprzednia wersja zostaje w kopii zapasowej tego slotu.
- Nazwy gracza nie są tłumaczone ani używane jako nazwy plików.
- Wczytywanie w menu głównym i pauzie pokazuje nazwę, datę, statek,
poziom układu i kapitana oraz szczegóły wybranej wyprawy.
- Autosave nie zastępuje zapisów ręcznych. Kontynuuj wybiera najnowszy
poprawny zapis. Obsługiwane są również dotychczasowe pliki last_game.res.
- Wczytanie nadal rozpoczyna bieżący poziom od początku, bez cooldownów.
- Zapis i wyjście do menu/z gry wymagają zatwierdzenia nazwanego zapisu;
anulowanie wraca do pauzy i nie wykonuje akcji wyjścia.
- Wspólna warstwa menu obejmuje opcje, zapis, wczytywanie, pauzę i komunikaty.
Instrukcja i hangar używają tej samej palety, ramek oraz przycisków.
## Walidacja
- `tests/named_save_test.tscn`: PASS, 0 niepowodzeń, kod zakończenia 0.
Osobne sloty, Unicode i ukośniki w nazwie, sortowanie, wybór starszego zapisu,
nadpisanie i zmiana nazwy, kopia slotu, izolacja autosave, pusta nazwa,
odrzucanie ścieżek spoza katalogu, formularz UI, sygnał wyboru,
zachowanie nazw w obcym języku, anulowanie i wykonanie akcji po zapisie.
- `tests/save_settings_test.tscn`: PASS, 0 niepowodzeń, kod zakończenia 0.
- `tests/menu_options_preview.tscn`: PASS, kod zakończenia 0.
Podglądy pięciu języków, sprawdzenie wyśrodkowania listy, pauza, zapis,
opcje podczas gry, instrukcja i wybór statku.
- `tools/build_localization.py`: 1079 wpisów, zgodne parametry formatowania.
- `git diff --check`: bez błędów.
Zrzuty: `load_pl.png`, `load_en.png`, `options_pl.png`, `options_en.png`,
`named_save_en.png`, `menu_guide_pl.png`, `menu_hangar_pl.png` w artifacts/.
Testy używały osobnego katalogu danych; nie zmieniały zapisów użytkownika.
Nie przebudowywano pliku EXE. Ostrzeżenie Camera2D pochodzi z interpolacji
fizyki; starszy test zapisu może przy kończeniu zgłosić 4 obiekty ObjectDB.