-
Notifications
You must be signed in to change notification settings - Fork 86
File System ru RU
Движком поддерживаются два вида архивов:
- X-Ray Legacy (*.db, *.xdb).
- SquashFS (*.sq).
Из особенностей X-Ray Legacy можно лишь выделить только наличие собственного шифрования. Можно поменять значения с помощью сборки движка с файлом trivial_encryptor_ovr.h
, и таким образом движок будет читать только архивы, которые были собраны с помощью вашего xrCompress.
В остальном, SquashFS будет лучше: лучше сжатие, быстрее распаковка/упаковка файлов, нет лимита по размеру архива.
Для упаковки: https://github.com/pmq20/squashfuse/files/691217/sqfs43-win32.zip
sqfs43-win32\mksquashfs.exe gamedata gamedata.sq_01 -comp lz4 -Xhc
pause
Для распаковки подойдёт https://github.com/mcmilk/7-Zip-zstd/releases/download/v24.09-v1.5.7-R1/7z24.09-zstd-x64.exe
У архивов отсутствует ограничение по названию (gamedata.db*
), а также сами архивы можно занести в подкаталог. Каталог для архивов указывается в fsgame.ltx
:
$app_arch_root$ = true| false| $fs_root$ | game_archs\
В движок было добавлено два условных вида чистки мусорных файлов:
- Референсное копирование
- Неиспользуемые референсы
В референсном копировании все нужные файлы дублируются в отдельную папку. Файлы копируются в тот момент, когда они непосредственно нужны игре, т.е. если загрузило какую-то текстуру, которая используется на какой-то модели, то в этот момент они и будут продублированы.
Из плюсов можно выделить то, что при идеальной отработке не потребуется больше каких-либо махинаций: запаковали отдельно папку в архив и пользуйтесь. Из минусов - занимает дополнительное место на диске.
Для включения референсного копирования, нужно запустить игру с ключом -dev_reference_copy
. Также нужно добавить пути в fsgame.ltx
:
$game_sounds_reference$ = true| false| $fs_root$| gamedata_ref\sounds\
$game_textures_reference$ = true| false| $fs_root$| gamedata_ref\textures\
$game_meshes_reference$ = true| false| $fs_root$| gamedata_ref\meshes\
В неиспользуемых референсах создаётся текстовый файл со всеми возможными путями до файлов игры, и когда какой-либо файл требуется игре, путь удаляется из текстового файла.
Из плюсов можно выделить отсутствие требования к свободному месту на диске, а также возможность дополнительно сверить то, что нужно удалять или нет. Из минусов - удалять файлы придётся самостоятельно.
Для включения режима неиспользуемых референсов, нужно запустить игру с ключом -dev_gamedata_unused
. После этого появится файл gamedata_unused.ltx
в app_data_root
.
Для обеих режимов потребуется до конца пройти игру (в идеале, несколько раз), чтобы быть уверенным, что все файлы будут обработаны.