█XlebniDizele4ku 344 #39379 Posted February 25, 2013 Или наоборот? Такие детали оставим до реализации. Спорить что кому лучше толку нет. Вспоминаем концепцию ХВМ-а - много чего настраивается\конфигурится. Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39382 Posted February 25, 2013 @█XlebniDizele4ku, сделал бы гайд/дал почитать, как запилить мод - я бы покопался. Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39384 Posted February 25, 2013 , здравствуйте. http://www.koreanrandom.com/forum/topic/1780-%D0%B3%D0%B0%D0%B9%D0%B4-%D0%BF%D0%BE-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E-%D0%B8-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8-swf/ Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39385 Posted February 25, 2013 @█XlebniDizele4ku, слепой я, извините :) Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39387 Posted February 25, 2013 Вот линк с успешным инжектом в рамках ХВМ-а. Минимум отвлекающего кода. http://code.google.com/p/wot-xvm/source/detail?r=1445 Граждане, в этой теме мы публично попробуем намодить это дело. Дядя MrA согласился потрудиться. , или ладно. Прямо здесь можно. Насколько я понимаю мод будет зависеть от части кода XVM. Балансный вес тут. http://code.google.com/p/wot-xvm/source/browse/trunk/src/xvm/src/wot/utils/VehicleInfoData.as Уровни в каком-то из похожих файлов рядом. Эти файлы делал Сирмакс. Думаю в актуальном состоянии их поддерживать не проблема. Поехали. ) Установить FD, cygwin и какой-нибудь svn. Tortoise, например. ) Выгрузить XVM по svn-у куда-нибудь. Права ридонли есть у всех. 2 Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39404 Posted February 25, 2013 (edited) 1.3) Установить какой-нибудь svn.TortoiseSVN скачан, установлен - check 2) Выгрузить XVM по svn-у куда-нибудь.Новая папка XVM - контекстное меню - SVN Checkout... - Url введен - Нажата OK - репозиторий выгружен - check Edited February 26, 2013 by MrA Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39405 Posted February 25, 2013 Мы начали с пути компиляции ХВМ-а, а не с поиска где мод втыкается, но всё равно необходимо. ) swfmill поставить ещё обязательно. В моём мане, кажется, про него тоже написано. Зачем он нужен понятно? ) запустить make patched swf в проге cygwin. Находится скрипт в папке swf. Он создаёт флешки подготовленные к инжекту. Что делает скрипт понятно? Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39410 Posted February 25, 2013 (edited) 3) swfmill поставить ещё обязательно. Swfmill - скачан, положен в %WINDIR%(папку Windows), проверено, что без библиотеки libiconv-2.dll в той же папке не запускается. Он вытащит нам код, зашитый в swf, в виде удобочитаемого xml. - check, имя скачиваемой библиотеки было libiconv2.dll, а не libiconv-2.dll - пришлось переименовать 4) запустить make patched swf в проге cygwin. Находится скрипт в папке swf. Автоматизирует работу с swfmill, делая повторяющиеся действия(вызов swfmill для каждого из файлов swf) за нас. - uncheck: командная строка windows не подходит? слово patch не нравится, переменная не объявлена, похоже cygwin установлена, как запускать bat-файлы? Напрямую нельзя. Edited February 26, 2013 by MrA Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39413 Posted February 25, 2013 У меня в C:\Windows оба. Quote Share this post Link to post Short link Share on other sites
-zav- 188 #39419 Posted February 25, 2013 Граждане, в этой теме мы публично попробуем намодить это дело. Дядя MrA согласился потрудиться. Ачуметь! Ушел за попкорном.... Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39449 Posted February 25, 2013 - uncheck - командная строка windows не подходит? слово patch не нравится, переменная же не объявлена, похоже cygwin установлена, как запускать bat-файлы? Напрямую нельзя Да. Виндовый терминал не знает патчей\диффов. ) Запустить cygwin. ) В cygwin перейти в директорию что-то вроде /cygdrive/c/xvm. ) ./qwert.bat cygwin умеет bat-ы. cygwin, если не знает кто такой patch или diff, надо устанавливать соответствующий пакетик через установщик cygwin. Про запуск прог в никсявых шеллах: Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39451 Posted February 25, 2013 (edited) если cygwin не знает, "кто такой" patch или diff, надо устанавливать соответствующий пакетик через установщик cygwin Подтвердилось, выдает ошибку на слово patch ушел ставить пакетик. В установщикe cygwin найден пакет patch запущена установка. Перезапустив окно терминала, выполняю те же команды Успех :) В наших руках появились swf. 4) запустить make patched swf в проге cygwin. Находится скрипт в папке swf. - check Edited February 26, 2013 by MrA Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39452 Posted February 25, 2013 1.make-patched-swfs.bat ) Разбирает оригинальные флеш файлики от ВарГейминга посредством swfmill. ) Патчит полученные XML-и *.diff файлами. Вызовы некоторых классов подменяются + мелкие правки для успешной сборки swfmill. ) Собирает патченные XML-и обратно в SWF. В такие файлы остаётся теперь только инжектнуть код посредством FlashDeveloper. Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39626 Posted February 26, 2013 (edited) Изменено: MrA, 6 минут назад Ну здорово, только об изменениях в постах никаких уведомлений не сыпется. Пиши лучше новые сообщения. 4) запустить make patched swf в проге cygwin. Находится скрипт в папке swf. - check ) Теперь можно собирать все файлы проектов XVM-a. Выбрасываются они в директорию bin. Новая ачивка: XVM скомпилен! В теории можно наконец-то начинать заниматься крайне увлекательным занятием - править баги. Не горит, но вот скрипт для деплоя http://code.google.com/p/wot-xvm/source/browse/trunk/utils/deploy.sh Мои переменные окружения на эту тему: Ладно. После всего что было разобраться скомпилить проект не проблема. Акт второй. Найти файл под мод. ) Поставить декомпилер по вкусу. Я пользую Sothink SWF Decompiler 7.2. Экспорт в папочку даёт удобную структуру кода. ) Распаковать файл D:\WoT\res\packages\gui.pkg как zip архив куда-нибудь. ) Найти там файл, отвечающий за окошко взвода. Edited February 26, 2013 by █XlebniDizele4ku Quote Share this post Link to post Short link Share on other sites
Mr A 750 #39638 Posted February 26, 2013 (edited) 5) Теперь можно собирать все файлы проектов XVM-a. Выбрасываются они в директорию bin. вот скрипт для деплоя Посмотрев, что в скрипте используются либо переменные окружения, либо дефолтные значения, перехожу к установке собственных переменных среды. Устанавливаю переменные командой set. set WOT_DIRECTORY=/cygdrive/d/games/World_of_Tanks set GAME_VER="0.8.3" Копирую *.swf из XVM\src\xvm\swf в XVM\bin. Перехожу в папку со скриптом, запускаю. Успешно. Но в папке с игрой их нет - они в дефолтной папке D:\work\games\WoT\res_mods\0.8.3\gui\flash. Неверно задал переменные среды. - check 6) Поставить декомпилер по вкусу. Sothink SWF Decompiler 7.3 скачан, установлен. - check 7) Распаковать файл %папка_с_игрой%\res\packages\gui.pkg как zip архив куда-нибудь. Распакован на D:\. - check 8) Найти файл, отвечающий за окошко взвода. Взвод на английском - squad. Найдено в D:\gui\flash\ два файла, включающее это слово: SquadChannelPage.swf, SquadMemberRenderer.swf. Заглянув с помощью декомпилера в каждый из них, вижу, что первый файл рисует окошко взвода, а второй - строчки с ником и, очевидно, техникой, взятой бойцом. Он нам и нужен: SquadMemberRenderer.swf. - check Edited February 26, 2013 by MrA Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39660 Posted February 26, 2013 SquadMemberRenderer.swf ) Получить примерное представление как он работает. Файл, наверняка, крошечный. не сложно. ) Найти подходящий класс. Какой-нибудь самый главный. Может так и называется SquadMemberRenderer. ) Разобрать SquadMemberRenderer.swf с пом-ю swfmill. ) Подменить вызов класс в разобранном файле. Пример http://code.google.com/p/wot-xvm/source/browse/trunk/src/xvm/swf/lo Вот линк с успешным инжектом в рамках ХВМ-а. Минимум отвлекающего кода. http://code.google.c...e/detail?r=1445 bby_messenger.xml.patch?spec=svn1445&r=1445Или любой другой файл патча смотри. Везде одна метода основная. ) Собрать измененный SquadMemberRenderer.swf с пом-ю swfmill Далее по аналогии с тем что ранее писал как коммит без лишнего кода. Даже не по аналогии, а под копирку натурально. http://code.google.com/p/wot-xvm/source/detail?r=1445 ) Создать файл проекта FlashDeveloper. Мне проще скопировать текущий и, открыв файл проекта, подредачить местами вручную. Формат файла простой. Файлы проектов у нас одни и теже. ) Создать директории как надо под проект, исходя из двух пунктов ниже. ) Создать класс который расширяет тот, что нашли ранее как подходящий. В моём примере это src/wot/LobbyMessenger/LobbyMessenger.as ) Создать файл расширяемого класса. intrinsic. Своеобразная обещалка компилеру, что этот класс в файле инжекта уже есть. В моём примере это classes/net/wargaming/messenger/LobbyMessenger.as ) В основном классе опять под копирку строку логгера для проверки успеха всего, что выше. Utils.TraceXvmModule("MrA was here"); Выбрасывается это, конечно в лог и в терминал xvm-stat.exe Держим в голове Гайд по изменению и добавлению логики swf. http://www.koreanrandom.com/forum/topic/1780-%D0%B3%D0%B0%D0%B9%D0%B4-%D0%BF%D0%BE-%D0%B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D1%8E-%D0%B8-%D0%B4%D0%BE%D0%B1%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8E-%D0%BB%D0%BE%D0%B3%D0%B8%D0%BA%D0%B8-swf/ Да. Если с чем-то разобраться не получается более 15-20 минут, пиши. Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #39671 Posted February 26, 2013 (edited) Новая ачивка: XVM скомпилен! В теории можно наконец-то начинать заниматься крайне увлекательным занятием - править баги. Пора медали вводить. Мои переменные окружения на эту тему: depl.png Все гораздо проще - c:\cygwin\bin в PATH и c:\cygwin\bin\bash.exe на ассоциации к sh. GAME_VER и WOT_DIRECTORY можно в виндовык переменные окружения добавить Я пользую Sothink SWF Decompiler 7.2. Экспорт в папочку даёт удобную структуру кода. Рекомендую Portable ) Создать файл проекта FlashDeveloper. Мне проще скопировать текущий и, открыв файл проекта, подредачить местами вручную. Формат файла простой. Файлы проектов у нас одни и теже. Кстати, я тут обнаружил, что можно выделить в дереве все проекты, ПКМ и собрать все сразу. А то раньше перебирал все по одному, а сейчас их много, так что запаришься перебирать. Вообще надо посмотреть, может можно батником все собирать, будет еще лучше. Edited February 26, 2013 by sirmax Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39672 Posted February 26, 2013 Кстати, я тут обнаружил О-хо-хо! *показывает пальцем Quote Share this post Link to post Short link Share on other sites
sirmax 5,499 #39673 Posted February 26, 2013 О, FD вышел 4.3.0 Quote Share this post Link to post Short link Share on other sites
█XlebniDizele4ku 344 #39674 Posted February 26, 2013 Все гораздо проще Quote Share this post Link to post Short link Share on other sites