Так как там работает xrCompress.exe |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Так как там работает xrCompress.exe |
10.04.2019, 19:12
Сообщение
#1
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Давняя тема.
Моды есть, чаще с открытыми ресурсами. Почему так? Наверное одна из причин - непонимание, как пользоваться GSC'шным запаковщиком ресурсов xrCompress.exe В комплекте с X-Ray SDK 0.4 его не было (есть в версии YURSHAT'а), есть в 0.5 и 0.7 Собственно вопрос, кто-нибудь разобрался как правильно сией утилитой пользоваться? Оф. мануал вроде как не существует. Сообщение отредактировал aka_sektor - 10.04.2019, 19:13 -------------------- |
 
|
|
|
|
10.04.2019, 20:10
Сообщение
#2
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Провёл тут опрос, данные такие по xrCompress.exe из состава SDK 0.7:
- Не пакует файлы в формате .xr, даже если прописать: Код [include_files] gamemtl.xr = true lanims.xr = true particles.xr = true senvironment.xr = true shaders.xr = true shaders_xrlc.xr = true stalkergame.inf = true Цитата В логе даже ничего не писало. Если распаковать полученный архив, файлов .xr нету Далее, наткнулся на пост по xrCompress.exe из SDK от YURSHAT, который изменил macron: Там сказано следующее: Цитата hex-правки Macron (не брал *.avi, *.txt и *.tga-файлы, хотя в datapack.ltx их убрали из списка исключений. Пришлось в самом xrCompress.exe хексом переименовать .txt в .txz и т.д. Тогда стал брать) По всей видимости, компрессор багованный, и не только в SDK 0.7 Сообщение отредактировал aka_sektor - 10.04.2019, 20:13 -------------------- |
 
|
|
10.04.2019, 20:28
Сообщение
#3
|
|
Ветеран Репутация: 11 Группа: Участник Сообщений: 84 Награды: 3 Регистрация: 13.09.2011 |
aka_sektor, я паковал мод "Последний сталкер" компрессором из SDK от YURSHAT. Всё оставлял по умолчанию, ничего не правил.
Игровые архивы не читались (точнее не читалась папка levels, как писал уже когда-то). Упаковал первый архив gamedata.db0 из всех пустых каталогов геймдаты простым конвертером. После этого остальные архивы стали читаться. Сначала использовал батник: Код @start xrCompress.exe c:\gamedata -ltx datapack.ltx -fast -max_size 1900 Все работало. Но, рандомно могла генерироваться ошибка и вылетало с логомКод FATAL ERROR Опять виновата была папка levels. В результате убрал из батника параметр -fast, и релиз запаковывал без него. Все работает без проблем.
[error]expression : current_level.guid() == level_graph().header().guid() [error]Function : CAI_Space::load [error]File : E:\stalker\sources\trunk\xr_3da\xrGame\ai_space.cpp [error]Line : 129 [error]Description : graph doesn't correspond to the AI-map Сообщение отредактировал Marafonec - 10.04.2019, 20:30 |
 
|
|
10.04.2019, 20:46
Сообщение
#4
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Касаемо запаковки, наткнулся на пост:
Чел проверил xrCompress.exe из SDK 0.7 пакует с таким .ltx: Код [options] exclude_exts = *.ncb,*.sln,*.vcproj,*.old,*.rc,*.scc,*.vssscc,*.bmp,*.smf,*.uvm,*.prj,*.tga,*.t xt,*.log [include_folders] anims = true configs= true levels = true meshes = true scripts = true sounds = true spawns = true textures = true [exclude_folders] [header] auto_load = true level_name = mp_test; level name level_ver = 1.0 ; level version entry_point = $fs_root$\gamedata\; do not change ! creator = "www.stalker-game.com"; creator or link link = "www.stalker-game.com" И такой командой: Код @start /wait xrCompress.exe my_mod -ltx build_map.ltx -store Цитата мод был в папке my_mod , но там были только папки, которые я указал.... Далее переименовал в xpatch_03.db и сунул в папку patches виновата была папка levels. В результате убрал из батника параметр -fast, и релиз запаковывал без него. Все работает без проблем. Судя по посту: https://www.gameru.net/forum/index.php?s=&a...t&p=1642326 Виновата не папка, а файлы:
Точнее даже, компрессор, который по какой-то причине не способен их сжать. А вылет: graph doesn't correspond to the AI-map Вроде как в другом, см. 3 вариант: А именно, из-за файлов:
Сообщение отредактировал aka_sektor - 10.04.2019, 20:47 -------------------- |
 
|
|
10.04.2019, 21:23
Сообщение
#5
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Вот ещё пост, тут некоторое пояснение по .ltx файлу и командам:
Код xrCompress.exe gamedata -ltx datapack.ltx Цитата - команда start и ключик /wait не требуются при запуске непосредственно из операционки; - gamedata - это папка с упаковываемыми ресурсами; - -ltx datapack.ltx - ключик и имя конфиг-файла для упаковки. и папка и имя конфиг-файла могут быть иными, важно чтобы именно они были указаны в батнике. Использование ключиков для типа сжатия (-fast|-story), т.е. быстрого сжатия или без сжатия - по вкусу, хотя очевидно, что для модов они врядли востребованы. Цитата Конфиг-файл состоит из 4-х секций: [options], [include_folders], [exclude_folders], [header]
[options] ;-- собственно тут можно указать расширения для файлов, которые не следует паковать exclude_exts = *.old, *txt,*.bak,*.log [include_folders] ;-- перечисляем папки/подпапки которые требуется включить в пак-файл scripts = true configs = true [exclude_folders] ;-- с точностью до наоборот, перечисляем папки которые НЕ включать в архив (хотя их проще не иметь в упаковываемой gamedata) [header] ;-- собственно основная секция, которая задает формат/заголовок пак-файлу auto_load = true level_name = single level_ver = 1.0 ;-- version entry_point = $fs_root$\gamedata\ ; do not change! ;creator = "www.stalker-game.com" ;-- creator or link (для любителей все метить "своим") link = "www.stalker-game.com" Т.о. копируя в 'gamedata' нужный для упаковки контент и, указывая в конфиге нужные папки для упаковки, на выходе будут получаться файлы gamedata.pack_#0. Остается переименовать типа в xpatch_03.db и положить в папку 'patches' установленной игры (CoP). Сообщение отредактировал aka_sektor - 10.04.2019, 21:24 -------------------- |
 
|
|
10.04.2019, 21:27
Сообщение
#6
|
|
Ветеран Репутация: 11 Группа: Участник Сообщений: 84 Награды: 3 Регистрация: 13.09.2011 |
|
 
|
|
10.04.2019, 21:58
Сообщение
#7
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Ну вот я разобрался, короче для ТЧ пакуешь без ключа -ltx, а для ЧН и ЗП с ключом, но убираешь инклуды и экслуды и пакуешь папки отдельно. Зато не будет ошибок. Рекомендую xrCompress от av661194, благо там всё вместе, а не зоопарк глючных компрессоров от непонятно кого.
Сообщение отредактировал xrModder - 10.04.2019, 22:01 |
 
|
|
11.04.2019, 00:09
Сообщение
#8
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
xrModder, вообще, так если посмотреть, чистые xrCompress из SDK - никто не юзает.
Вот к примеру, давно проверенный паковщик для ТЧ от HIGHLANDER: https://www.gameru.net/forum/index.php?s=&a...t&p=1640206 А вот для ЧН/ЗП от Kontro-zzz: https://www.gameru.net/forum/index.php?s=&a...t&p=1411458 Поди разберись какой лучше, наверное только тестить. Сообщение отредактировал aka_sektor - 11.04.2019, 00:09 -------------------- |
 
|
|
11.04.2019, 01:39
Сообщение
#9
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
OGSR Engine x64 Compressor Код OGSR Engine x64 Compressor Запуск упаковки через батник вида: xrCompress "gamedata" -ltx xrCompress_Cfg.ltx -unique_logs Первый параметр - имя папки, содержимое которой надо упаковать. Команды: -ltx : путь до файла конфигурации. Он важен, без него не запустится. -xdb : упаковка архивов в .xdb формат. -fast : быстрая упаковка, небольшое сжатие. -store : упаковка всех файлов без сжатия. Самый быстрый режим. -max_size 50 : максимальный размер создаваемого архива в МБ. В данном примере - 50 мб. По умолчанию в компрессоре установлено ограничение ~1900 МБ. Большие объёмы данных, естественно, разбиваются автоматически. Настройки игнорируемых файлов и тд. находятся в xrCompress_Cfg.ltx Отключено сжатие файлов *.geom, *.geomx, *.ogm и прочие нюансы учтены. Архивы gamedata.db_pack_#0, gamedata.db_pack_#1, ... и тд. создадутся в папке "!Ready\" Логи компрессора создадутся в папке "logs\" -------------------- |
 
|
|
11.04.2019, 07:06
Сообщение
#10
|
|
Опытный Геймер Репутация: 50 Группа: Участник Сообщений: 157 Награды: 2 Регистрация: 20.03.2014 |
Автор перенёс в xrCompress.exe обработку всех файлов с именем "build" (пропускаются, в т.ч build.lights). Начиная с чн, он присутствует в каждой папке с уровнем (наверное нужен, раз его разработчики оставили). Чистые xrCompress из SDK, а также с этого поста пропускают файлы, что в shaders\r3\objects\r3 и r4 (они без расширения, пр. 2048__1__0_____0__________________0_10_0000_00), которые, тоже, наверное нужны. |
 
|
|
11.04.2019, 11:42
Сообщение
#11
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
|
 
|
|
15.05.2019, 11:19
Сообщение
#12
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Как по мне: xrCompressor довольно неудобный в чистом виде.
* Не имеет доступный интерфейс * Постоянная регистрация левых каталогов по $working_folder$/$target_folder$ в fsgame * В целом имеет ряд проблем Я потратил на него n-нное число времени и понял, что проще будет с ноля написать аналог, чем довести его до ума. ИМХО, конечно -------------------- В армии по 01.07.2020. |
 
|
|
06.06.2019, 01:58
Сообщение
#13
|
|
Грандмастер Репутация: 118 Группа: Участник Сообщений: 1788 Награды: 4 Регистрация: 04.04.2013 |
Наткнулся на такой пост:
Цитата Урок 23 (автор tracker) Задача: Упаковка файлов мода для ЧН или ЗП в db-архив. -> Как вы наверное знаете, для ТЧ, эту операцию можно проделать с помощью конвертера от товарища Бардака, используемую также для распаковки игровых ресурсов, или с помощью программы DB Packer 1.0. А вот для ЧН и ЗП, как оказалось, по данному вопросу в сети информации нет, или я плохо искал. Но, вспомнив про map_compressor, который идет в составе SDK, и немного поэксперементировав, я написал данный урок. Постарался описать все как можно подробнее, если возникнут вопросы, обращайтесь в личку. Итак, мы делаем мод, следовательно в директории игры у нас есть папка gamedata, со всеми нашими правленными файлами. Кидаем в корень игры, рядом с папкой gamedata файлы map_compressor'а (BugTrap.dll, build_map.ltx, compress_map.cmd, xrCompress.exe, xrCore.dll). Откроем файл build_map.ltx. Что нам в нем необходимо подправить: Секция: options. Параметр exclude_exts - это расширения файлов которые игнорируются при упаковке. Например, если у вас в gamedata'е есть txt-файлы, с вашими заметками, то при упаковке они не попадут в архив (так сказать в чужие руки). Так же это очень удобно для разделения по нескольким архивам файлов одного типа. Следующие секции: include_folders и exclude_folders. Это перечень всех папок, которые будут включенны в состав архива, и проигнорированны соответственно. Например, запишем в первой из них textures = true, во второй textures\act = true. И в нашем архиве окажутся все текстуры из папки textures, кроме подпапки act, расположенной в ней. Секция-загололовок: header - содержит служебную инфомацию. Параметр entry_point желательно не изменять. * Параметр auto_load, должен равняться true, иначе архив не будет читаться движком. В ходе экпериментов оказалось, что файлы, расположенные непосредственно в папке gamedata (например particles.xr, shaders.xr и др.), незапаковываются. Решение таково - создадим в build_map.ltx, между секциями exclude_folders и header новую секцию include_files, и по аналогии пропишем в неё наши файлы: Код [include_files] particles.xr = true shaders.xr = true Теперь откроем файл compress_map.cmd и так же немного изменим его. Поменяем название папки for_levels на gamedata. С приготовлениями все. Запускаем compress_map.cmd и ждем окончания процесса упаковки. Посмотреть результаты работы упаковщика можно в файле engine.log. Файлы компрессора нам более не нужны, и их можно удалить. Переименовываем полученный архив (он появится здесь же в корне игры), как нам понравится, например в mod.db, и... А куда же его лучше положить? В результате экпериментов, я узнал что, чтение архивов происходит в том порядке, в каком это указанно в файле fsgame.ltx: Код $arch_dir_levels$ = false| false| $fs_root$| levels\ $arch_dir_resources$ = false| false| $fs_root$| resources\ $arch_dir_localization$ = false| false| $fs_root$| localization\ $arch_dir_patches$ = false| true| $fs_root$| patches\ Поэтому, если мы в этот файл добавим еще одну строку, то создадим все условия для правильного порядка загрузки файлов мода. Вот эта строка: Код $arch_dir_mods$ = false| true| $fs_root$| mods\ Теперь осталось создать в корне игры папку mods, и поместить туда наш архив. Вот собственно и все, можно запускать игру. P.S. Все эксперименты делались на ЗП. Экспериментальный мод содержал: дополнительную локацию, новые текстуры, скрипты, модели, файлы анимации камеры, all.spawn, правленный gamemtl.xr. Ни каких проблемм обнаруженно не было. Распаковка с помощью конвертера от Бардака показала полную идентичность исходной, подготовленной к упаковке gamedata'ы и распакованной. Так же проведенна проверка на ЧН. -------------------- |
 
|
|
06.06.2019, 18:58
Сообщение
#14
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Автор перенёс в xrCompress.exe обработку всех файлов с именем "build" (пропускаются, в т.ч build.lights). Начиная с чн, он присутствует в каждой папке с уровнем (наверное нужен, раз его разработчики оставили). Кстати, да. Насчет build.lights. Ранее читал, что в нем освещение для травы записано (вроде где-то на вики). Но судя по коду оттуда читаются статичные источники света на локации. Если r2_allow_r1_lights в юзере активировать, эти источники как раз будут светить (бестеневые). Поправьте меня, если я не прав. |
 
|
|
Текстовая версия | Сейчас: 05.05.2024, 10:40 |