Mixaill 1,740 Posted December 4, 2022 (edited) Описание Библиотека предзназначенная для облегчения написания установщиков модификаций для WoT. Основная функция -- поиск клиентов игры и получение информации о них (версия, локаль, реалм и прочее) а также помощь в разграничении контента для Wargaming/Lesta клиентов. Однако, есть и другие фишки, такие как: распаковка BigWorld XML работа с JSON конвертация PNG -> BMP поиск запущенных процессов в каталоге и их завершение отображение сплэшскрина замена в строке по регулярному выражению детектирование Wine поиск клиентов WGC / Steam / 360 / LGC Получение предпочительного клиента (текущий выбранный в WGC) работа с клиентом получение версии клиента и ее сверка по регулярному выражению получение версии исполняемого файла клиента получение реалма (EU/NA/ASIA/CN/RU) получение типа по контенту (SD/HD) получение типа лаунчера (WGC/Steam/360/LGC) получение типа релиза (Release/Common Test/Super Test/Sandbox) получение пути до активного в клиенте mods/res_mods получение языка клиента детектирование запуска и завершение клиента Как пользоваться 1) скачиваем 2) из комплекта поставки утягиваем два файла bin/openwg.utils.x86_32.dll innosetup/openwg.utils.iss 3) в своем корневом .iss файле прописываете #define OPENWGUTILS_DIR_SRC "bin" #define OPENWGUTILS_DIR_UNINST APP_DIR_UNINST #include "openwg.utils.iss" где OPENWGUTILS_DIR_SRC -- путь к каталогу куда вы положили .dll OPENWGUTILS_DIR_UNINST -- путь к каталогу файла деинсталляции относительно {app}, в подавляющем большинстве случаев должен совпадать с UninstallFilesDir 4) изучаем пример в innosetup_demo/openwg_utils_demo.iss и вызываем нужные вещи, подробности вызова можно подсмотреть в openwg.utils.iss и в *.h файлах в каталоге include Пользователи Название Сопровождающий Ссылка XVM.Installer v1 @Mixaill https://gitlab.com/xvm/xvm/-/tree/master/src/installer XVM.Installer v2 @ktulho https://gitlab.com/xvm/xvm.installer Protanki @Yusha https://protanki.tv/ Jove's @phantasm https://joves-modpack.ru/ KorbenTeam @phantasm https://korbenteam.org/modpack Amway921 @AtotIK https://wgmods.net/95/ Vspishka @AtotIK https://wgmods.net/131/ WGMods @AtotIK https://wgmods.net/16/ , RIP начиная с WoT 1.19.0 🥲 LeBwa team @POLIROID https://lebwa.tv/hub/modpack-lebwa-team Tomato.gg @POLIROID https://wgmods.net/6391/ напишите в комментариях если про вас забыл/не знал Скачать OpenWG.Utils_v2023.09.21.1.zip Исходный код https://gitlab.com/openwg/openwg.utils История версий v2022.12.04.1 первая для широкой публики v2023.03.17.1 переработано API для взаимодействия с JSON v2023.03.18.1 добавлены функции `JSON_SetDouble()`, `JSON_SetInteger()`, `JSON_SetString()` v2023.03.18.2 исправлена потеря комментариев в JSON-файлах v2023.08.01.1 исправлено дублирование клиентов WoT/МТ в случае если регистр имени каталога в файловой системе отличался от такового в конфигурационных файлах WGC/LGC v2023.09.01.1 добавлены фукнции `JSON_ContainsKey()`, `JSON_GetString()` v2023.09.17.1 добавлены функции WWISE_OpenFile(), WWISE_CloseFile(), WWISE_Close(), WWISE_LicenseGet(), WWISE_LicenseSet() v2023.09.21.1 добавлены конвертеры лицензий WWISE-файлов в виде exe-файлов: wwise_convert_to_unlicensed, wwise_convert_to_wg Edited September 21, 2023 by Mixaill 14 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #536891 Posted September 12, 2023 (edited) Немного обновлений: v2023.03.17.1 переработано API для взаимодействия с JSON v2023.03.18.1 добавлены функции `JSON_SetDouble()`, `JSON_SetInteger()`, `JSON_SetString()` v2023.03.18.2 исправлена потеря комментариев в JSON-файлах v2023.08.01.1 исправлено дублирование клиентов WoT/МТ в случае если регистр имени каталога в файловой системе отличался от такового в конфигурационных файлах WGC/LGC v2023.09.01.1 добавлены фукнции `JSON_ContainsKey()`, `JSON_GetString()` Планы на будущее: * распаковка BWXML в буфер * смена лицензии банка WWise Edited September 12, 2023 by Mixaill 3 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #537031 Posted September 19, 2023 (edited) Немного обновлений: v2023.09.17.1 * добавлены функции * WWISE_OpenFile() * WWISE_CloseFile() * WWISE_Close() * WWISE_LicenseGet() //0 - хз/битая банка, 1 - нет лицензии, 2 - лицензия ВГ * WWISE_LicenseSet() примерный сценарий использования procedure unlicense_bank(path:String); var Handle: Integer; begin Handle := WWISE_OpenFile(path); if WWISE_LicenseGet(Handle) = 2 then begin WWISE_LicenseSet(Handle, 1) WWISE_SaveFile(Handle, path) end; WWISE_Close(Handle); end; лицензию можно менять как в сторону нет -> WG, так и WG -> нет Планы на будущее: * распаковка BWXML в буфер * смена лицензии на банки внутри вотмода без ручной распаковки и запаковки * вынос менялки лицензии в консольную утилиту Edited September 19, 2023 by Mixaill 1 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,740 #537107 Posted September 21, 2023 (edited) v2023.09.21.1 * добавлены конвертеры лицензий в виде exe-файлов (достаточно перетянуть банки на ехешку) * wwise_convert_to_unlicensed - конвертирует банки в Леста-совместимые * wwise_convert_to_wg - конвертирует банки в ВГ-совместимые OpenWG.Utils_v2023.09.21.1.zip Edited September 21, 2023 by Mixaill 12 Quote Share this post Link to post Short link Share on other sites
P.S.Enot 416 #540551 Posted March 14 12.09.2023 в 15:52, Mixaill сказал: Немного обновлений: v2023.03.17.1 переработано API для взаимодействия с JSON v2023.03.18.1 добавлены функции `JSON_SetDouble()`, `JSON_SetInteger()`, `JSON_SetString()` v2023.03.18.2 исправлена потеря комментариев в JSON-файлах v2023.08.01.1 исправлено дублирование клиентов WoT/МТ в случае если регистр имени каталога в файловой системе отличался от такового в конфигурационных файлах WGC/LGC v2023.09.01.1 добавлены фукнции `JSON_ContainsKey()`, `JSON_GetString()` Планы на будущее: * распаковка BWXML в буфер * смена лицензии банка WWise Подскажите пожалуйста как сделать так что бы всегда определялся и подставлялся клиент Лесты а не WG . Просто у меня два клиента леста и евро стоят и всегда первым делом в автоматическом поиске игры подставляется Евро клиент. А мне нужно что бы Леста была. Что мне сделать нужно. Не как самостоятельно разобраться не получается. Подскажите пожалуйста. нужно что бы всегда выбиралось первым делом так как на скреншоте Quote Share this post Link to post Short link Share on other sites