aboutsummaryrefslogtreecommitdiff
path: root/tools/README.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2026-02-10 01:39:12 +0300
committerValentin Popov <valentin@popov.link>2026-02-10 01:39:12 +0300
commit828106ba810063801b14ea3d5b0d33802fcf0d2b (patch)
treefb03981ae853d20655db4e383406c2c19525388d /tools/README.md
parenta7dd18fa1d82ef6a561797afb2dd6dcb3f298e4a (diff)
downloadfparkan-828106ba810063801b14ea3d5b0d33802fcf0d2b.tar.xz
fparkan-828106ba810063801b14ea3d5b0d33802fcf0d2b.zip
feat: добавить скрипты для инициализации тестовых данных и настройки окружения
Diffstat (limited to 'tools/README.md')
-rw-r--r--tools/README.md36
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`.