Mixaill Posted December 4, 2022 Share Posted December 4, 2022 (edited) Описание Библиотека предзназначенная для облегчения написания установщиков модификаций для WoT. Основная функция -- поиск клиентов игры и получение информации о них (версия, локаль, реалм и прочее) а также помощь в разграничении контента для Wargaming/Lesta клиентов. Однако, есть и другие фишки, такие как: BWXML распаковка BigWorld XML FS Поиск файлов в каталоге IMAGE загрузка файлов форматов BMP, JPG, PNG, TGA масштабирование изображений алгоритмом Ланцоша смешение полупрозрачных изображений умножение цветовых компонент на константу INNO Получение идентификатора компонента по индексу JSON загрузка, изменение и сохранение JSON-файлов с сохранением форматирования NETWORK пинг хостов разрешение доменного имени в IP-адрес PROCESS получение списка запущенных процессов в каталоге завершение процессов по имени или по их полному пути SPLASHSCREEN отображение сплэшскрина c закрытием по таймеру или по команде STRING выполнение замены в строке по регулярному выражению WINE детектирование запуска под Wine/Proton WOT поиск клиентов WGC / Steam / 360 / LGC Получение предпочительного клиента (текущий выбранный в WGC) работа с клиентом получение версии клиента и ее сверка по регулярному выражению получение имени исполняемого файла клиента получение версии исполняемого файла клиента получение реалма (EU/NA/ASIA/CN/RU) получение типа по контенту (SD/HD) получение типа лаунчера (WGC/Steam/360/LGC) получение типа вендора (Wargaming/Lesta) получение типа релиза (Release/Common Test/Super Test/Sandbox) получение пути до активного в клиенте mods/res_mods получение языка клиента детектирование запуска и завершение клиента контроль состояния PDC-кэша (Wargaming) WWISE детектирование версии WWISE у банка (v2019 / v2023 ) детектирование лицензии WWISE у банка (без лицензии / Wargaming) смена лицензии у банка (без лицензии / Wargaming) XML загрузка и сохранение XML файла добавление и измение записей XML файла Как пользоваться 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/ , RIP начиная с WoT 1.26.0 🥲 Vspishka @AtotIK https://wgmods.net/131/ , RIP начиная с WoT 1.25.1 🥲 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/ ModPacker @Polyacov_Yury https://github.com/PolyacovYury/ModPacker Aslain @Aslain https://aslain.com/ напишите в комментариях если про вас забыл/не знал Скачать Исходный код 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 v2023.11.01.1 добавлена функция NETWORK_Ping добавлена функция NETWORK_Resolve v2023.12.10.1 добавлена функция FS_FileEqual добавлена функция FS_FileExists добавлена функция XML_AddKey добавлена функция XML_Close добавлена функция XML_ContainsKey добавлена функция XML_ContainsKeyEx добавлена функция XML_OpenFile добавлена функция XML_SaveFile v2023.12.11.1 порефакторено внутри v2023.12.12.1 добавлена функция FS_Search_QueryFolder (поиск каталога по регекспу) добавлена функция FS_Search_Close добавлена функция FS_Search_GetCount добавлена функция FS_Search_GetPath v2023.12.13.1 оптимизирован FS_Search_QueryFolder добавлена функция SPLASHSCREEN_Show добавлена функция SPLASHSCREEN_Close v2024.02.02.1 добавлена функция WOT_GetClientVendor исправлен вывод WOT_GetClientType для MT PublicTest исправлена работы функции CHECK_IsLesta если клиент был добавлен вручную в функцию CLIENT_FormatString добавлен вывод типа (WoT/MT) v2024.02.10.1 добавлена функция SPLASHSCREEN_CloseAfter добавлен фильтр по вендору в WOT_LauncherSetDefault (только ВГ, только Леста, все вместе) v2024.03.27.1 SPLASHCREEN_*: устранена проблема с перепутанными R и B каналами в .png в поставку добавлена демка owg_bwxml_unpack (анпакер XML, можно перетаскивать на exe) в поставку возвращена демка owg_wot_detect (поиск клиентов) в поставку возвращены демки owg_wwise_convert_to (смена лицензии WWISE банок) v2024.12.12.1 bin: добавлена утилита owg_wwise_info iss: добавлены дефайны OPENWGUTILS_LANG_EN, OPENWGUTILS_LANG_RU SPLASHSCREEN_*: множественные исправления добавлена функция IMAGE_BitmapAlphaPremultiply добавлена функция IMAGE_BitmapBlend добавлена функция IMAGE_BitmapClone добавлена функция IMAGE_BitmapFree добавлена функция IMAGE_BitmapGetHeight добавлена функция IMAGE_BitmapGetHeight добавлена функция IMAGE_BitmapLoad добавлена функция IMAGE_BitmapResize добавлена функция IMAGE_BrushCreate добавлена функция IMAGE_BrushCreate удалена функция IMAGE_PngToBmp v2024.12.17.1 добавлена функция INNO_ComponentEntryGetName добавлена функция INNO_ComponentEntryGetDescription добавлена функция INNO_ChecklistGetItemName добавлена функция INNO_ChecklistGetItemDescription добавлена функция INNO_ChecklistGetItemIndex readme: добавлены примеры использования INNO_ функций v2024.12.18.1 INNO_ChecklistGetItemIndex: реализована нормализация слэшей добавлена функция IMAGE_BitmapLoadTBitmap v2024.12.18.2 IMAGE_BitmapLoadTBitmap: исправлено искажение пропорций изображения IMAGE_BitmapResize: переведена на использование алгоритма Ланцоша вместо ближайшего соседа v2024.12.18.3 добавлена функция IMAGE_BitmapLoadTBitmapEx v2024.12.18.4 добавлена функция IMAGE_TBitmapResize добавлена функция IMAGE_TBitmapScale переименована функция IMAGE_BitmapLoadTBitmap -> IMAGE_TBitmapLoad переименована функция IMAGE_BitmapLoadTBitmapEx -> IMAGE_TBitmapLoadScaled v2024.12.22.1 добавлена функция IMAGE_BitmapMultiplyColor добавлена функция IMAGE_TBitmapMultiplyColor PROCESS_TerminateProcess, WOT_ClientTerminate: теперь убиваются все процессы с указанным путём, а не последний запущенный v2025.01.04.1 добавлена поддержка Mir Tankov Alpha (>= 1.32.0.0, имя файла клиента Tanki.exe) добавлена функция WOT_GetClientExeName v2025.01.09.1 owg_wot_detect: добавлен вывод информации о состоянии PDC кэша (World of Tanks >= 1.27.1) demo: добавлен пример очистки кэша для установке и деинсталляции добавлена функция WOT_GetClientCachePresent добавлена функция WOT_GetClientCacheSupported добавлена функция WOT_ClearClientCache OpenWG.Utils_v2025.01.09.1.zip Edited January 9 by Mixaill 14 @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted September 12, 2023 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Mixaill Posted September 19, 2023 Author Share 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 Link to comment Short link Share on other sites More sharing options...
Mixaill Posted September 21, 2023 Author Share 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 Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted March 14, 2024 Share Posted March 14, 2024 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 Link to comment Short link Share on other sites More sharing options...
_McClayn_EU Posted August 7, 2024 Share Posted August 7, 2024 14.03.2024 в 10:43, P.S.Enot сказал: Подскажите пожалуйста как сделать так что бы всегда определялся и подставлялся клиент Лесты а не WG . Просто у меня два клиента леста и евро стоят и всегда первым делом в автоматическом поиске игры подставляется Евро клиент. А мне нужно что бы Леста была. Что мне сделать нужно. Не как самостоятельно разобраться не получается. Подскажите пожалуйста. нужно что бы всегда выбиралось первым делом так как на скреншоте В данной библиотеке есть прекрасная функция - WOT_LauncherSetDefault(LauncherFlavour) -> Устанавливает дефолтным указанный "Launcher Flavour", и возвращает количество найденных клиентов на ПК @ Quote Link to comment Short link Share on other sites More sharing options...
P.S.Enot Posted August 7, 2024 Share Posted August 7, 2024 (edited) 1 час назад, _McClayn_EU сказал: В данной библиотеке есть прекрасная функция - WOT_LauncherSetDefault(LauncherFlavour) -> Устанавливает дефолтным указанный "Launcher Flavour", и возвращает количество найденных клиентов на ПК Спасибо за ответ. но уже давным давно все решено и сделанно вот Правда пришлось немного скрипт библиотекиOpenWG.Utils переписывать для полной совместимости с библиотекой FMXInno.dll Edited August 7, 2024 by P.S.Enot @ Quote Link to comment Short link Share on other sites More sharing options...
Polyacov_Yury Posted August 11, 2024 Share Posted August 11, 2024 04.12.2022 в 22:33, Mixaill сказал: Пользователи > напишите в комментариях если про вас забыл/не знал Второй вариант, пожалуйста :) https://github.com/PolyacovYury/ModPacker Буквально только что домигрировал код со старых костылей на утилиты в топике. Coбираю им свои Тёмные Подвалы в кучку. Буду обновлять только пак, архивы останутся в лимбе. (да, я собираюсь обновить свои поделия на 1.28/1.25. Зря отпуск брал, что ли?) 5 @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted August 23, 2024 Author Share Posted August 23, 2024 Немного обновлений v2023.11.01.1 добавлена функция NETWORK_Ping добавлена функция NETWORK_Resolve v2023.12.10.1 добавлена функция FS_FileEqual добавлена функция FS_FileExists добавлена функция XML_AddKey добавлена функция XML_Close добавлена функция XML_ContainsKey добавлена функция XML_ContainsKeyEx добавлена функция XML_OpenFile добавлена функция XML_SaveFile v2023.12.11.1 порефакторено внутри v2023.12.12.1 добавлена функция FS_Search_QueryFolder (поиск каталога по регекспу) добавлена функция FS_Search_Close добавлена функция FS_Search_GetCount добавлена функция FS_Search_GetPath v2023.12.13.1 оптимизирован FS_Search_QueryFolder добавлена функция SPLASHSCREEN_Show добавлена функция SPLASHSCREEN_Close v2024.02.02.1 добавлена функция WOT_GetClientVendor исправлен вывод WOT_GetClientType для MT PublicTest исправлена работы функции CHECK_IsLesta если клиент был добавлен вручную в функцию CLIENT_FormatString добавлен вывод типа (WoT/MT) v2024.02.10.1 добавлена функция SPLASHSCREEN_CloseAfter добавлен фильтр по вендору в WOT_LauncherSetDefault (только ВГ, только Леста, все вместе) v2024.03.27.1 SPLASHCREEN_*: устранена проблема с перепутанными R и B каналами в .png в поставку добавлена демка owg_bwxml_unpack (анпакер XML, можно перетаскивать на exe) в поставку возвращена демка owg_wot_detect (поиск клиентов) в поставку возвращены демки owg_wwise_convert_to (смена лицензии WWISE банок) OpenWG.Utils_v2024.03.27.1.zip 2 @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted January 4 Author Share Posted January 4 OpenWG.Utils_v2025.01.04.1.zip Немного обновлений v2024.12.12.1 bin: добавлена утилита owg_wwise_info iss: добавлены дефайны OPENWGUTILS_LANG_EN, OPENWGUTILS_LANG_RU SPLASHSCREEN_*: множественные исправления добавлена функция IMAGE_BitmapAlphaPremultiply добавлена функция IMAGE_BitmapBlend добавлена функция IMAGE_BitmapClone добавлена функция IMAGE_BitmapFree добавлена функция IMAGE_BitmapGetHeight добавлена функция IMAGE_BitmapGetHeight добавлена функция IMAGE_BitmapLoad добавлена функция IMAGE_BitmapResize добавлена функция IMAGE_BrushCreate добавлена функция IMAGE_BrushCreate удалена функция IMAGE_PngToBmp v2024.12.17.1 добавлена функция INNO_ComponentEntryGetName добавлена функция INNO_ComponentEntryGetDescription добавлена функция INNO_ChecklistGetItemName добавлена функция INNO_ChecklistGetItemDescription добавлена функция INNO_ChecklistGetItemIndex readme: добавлены примеры использования INNO_ функций v2024.12.18.1 INNO_ChecklistGetItemIndex: реализована нормализация слэшей добавлена функция IMAGE_BitmapLoadTBitmap v2024.12.18.2 IMAGE_BitmapLoadTBitmap: исправлено искажение пропорций изображения IMAGE_BitmapResize: переведена на использование алгоритма Ланцоша вместо ближайшего соседа v2024.12.18.3 добавлена функция IMAGE_BitmapLoadTBitmapEx v2024.12.18.4 добавлена функция IMAGE_TBitmapResize добавлена функция IMAGE_TBitmapScale переименована функция IMAGE_BitmapLoadTBitmap -> IMAGE_TBitmapLoad переименована функция IMAGE_BitmapLoadTBitmapEx -> IMAGE_TBitmapLoadScaled v2024.12.22.1 добавлена функция IMAGE_BitmapMultiplyColor добавлена функция IMAGE_TBitmapMultiplyColor PROCESS_TerminateProcess, WOT_ClientTerminate: теперь убиваются все процессы с указанным путём, а не последний запущенный v2025.01.04.1 добавлена поддержка Mir Tankov Alpha (>= 1.32.0.0, имя файла клиента Tanki.exe) добавлена функция WOT_GetClientExeName 3 @ Quote Link to comment Short link Share on other sites More sharing options...
Mixaill Posted January 8 Author Share Posted January 8 v2025.01.09.1 owg_wot_detect: добавлен вывод информации о состоянии PDC кэша (World of Tanks >= 1.27.1) demo: добавлен пример очистки кэша для установке и деинсталляции добавлена функция WOT_GetClientCachePresent добавлена функция WOT_GetClientCacheSupported добавлена функция WOT_ClearClientCache OpenWG.Utils_v2025.01.09.1.zip 1 @ Quote Link to comment Short link Share on other sites More sharing options...
Lom Posted January 9 Share Posted January 9 04.12.2022 в 22:33, Mixaill сказал: получение типа вендора (Wargaming/Lesta) добрый. пожалуйста если не трудно подскажите плиз, как/что и где именно в openwg.utils.iss изменять чтобы установщик находил именно один клиент. например если у человека установлены и РУ и ЕУ клиенты + оба тестовые, как сделать так чтобы установщик находил именно основу РУ клиента если модпак именно под него и сделан. чтобы он находил только РУ или ЕУ, догнал (но он находит как основу так и тестсервер а мне нужно чтобы ТОЛЬКО основу если под него сделан модпак или ТОЛКЬО тестсервер если модпак сделан для тестсервера) @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.