Mixaill 1,699 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 Thursday at 11:25 PM by Mixaill 14 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,699 #536891 Posted September 12 (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 by Mixaill 3 Quote Share this post Link to post Short link Share on other sites
Mixaill 1,699 #537031 Posted Tuesday at 01:51 PM (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 Tuesday at 01:54 PM by Mixaill Quote Share this post Link to post Short link Share on other sites
Mixaill 1,699 #537107 Posted Thursday at 11:23 PM (edited) v2023.09.21.1 * добавлены конвертеры лицензий в виде exe-файлов (достаточно перетянуть банки на ехешку) * wwise_convert_to_unlicensed - конвертирует банки в Леста-совместимые * wwise_convert_to_wg - конвертирует банки в ВГ-совместимые OpenWG.Utils_v2023.09.21.1.zip Edited Thursday at 11:25 PM by Mixaill 7 Quote Share this post Link to post Short link Share on other sites