diff options
| author | Valentin Popov <valentin@popov.link> | 2026-02-10 01:39:12 +0300 |
|---|---|---|
| committer | Valentin Popov <valentin@popov.link> | 2026-02-10 01:39:12 +0300 |
| commit | 828106ba810063801b14ea3d5b0d33802fcf0d2b (patch) | |
| tree | fb03981ae853d20655db4e383406c2c19525388d /tools/README.md | |
| parent | a7dd18fa1d82ef6a561797afb2dd6dcb3f298e4a (diff) | |
| download | fparkan-828106ba810063801b14ea3d5b0d33802fcf0d2b.tar.xz fparkan-828106ba810063801b14ea3d5b0d33802fcf0d2b.zip | |
feat: добавить скрипты для инициализации тестовых данных и настройки окружения
Diffstat (limited to 'tools/README.md')
| -rw-r--r-- | tools/README.md | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/README.md b/tools/README.md index 6059090..19de2e5 100644 --- a/tools/README.md +++ b/tools/README.md @@ -69,3 +69,39 @@ python3 tools/archive_roundtrip_validator.py validate \ - `entries/*.bin` — payload-файлы. Имена файлов в `entries` включают индекс записи, поэтому коллизии одинаковых имён внутри архива обрабатываются корректно. + +## `init_testdata.py` + +Скрипт инициализирует тестовые данные по сигнатурам архивов из спецификации: + +- `NRes` (`4E 52 65 73`); +- `RsLi` (`NL 00 01`). + +Что делает утилита: + +- рекурсивно сканирует все файлы в `--input`; +- копирует найденные `NRes` в `--output/nres/`; +- копирует найденные `RsLi` в `--output/rsli/`; +- сохраняет относительный путь исходного файла внутри целевого каталога; +- создаёт целевые каталоги автоматически, если их нет. + +Базовый запуск: + +```bash +python3 tools/init_testdata.py --input tmp/gamedata --output testdata +``` + +Если целевой файл уже существует, скрипт спрашивает подтверждение перезаписи (`yes/no/all/quit`). + +Для перезаписи без вопросов используйте `--force`: + +```bash +python3 tools/init_testdata.py --input tmp/gamedata --output testdata --force +``` + +Проверки надёжности: + +- `--input` должен существовать и быть каталогом; +- если `--output` указывает на существующий файл, скрипт завершится с ошибкой; +- если `--output` расположен внутри `--input`, каталог вывода исключается из сканирования; +- если `stdin` неинтерактивный и требуется перезапись, нужно явно указать `--force`. |
