-
Posts
2,827 -
Joined
-
Last visited
-
Days Won
62
Everything posted by GPCracker
-
Улучшенная система прицеливания / Advanced Aiming System
GPCracker replied to GPCracker's topic in Mods and Software
Походу они со своим AS3 и туда добрались... -
Инструменты для работы с текстами в WoT
GPCracker replied to Polyacov_Yury's topic in Mods and Software
Ну так в JSON подобное сделать тоже никто не мешает. Единственно придется мозг поднапрячь чуток. Там код открытый. Для себя впиливаешь подобное в дебаггер и вуаля. Тут вообще все проще пареной репы, тем более что сам фикс я уже запилил, там и думать особо не надо. Ну там тоже мозг иногда напрягать приходится. Но можно решить достаточно сложные вопросы. Ну это и ежу понятно. Ну так ясен хрен. Ты почитай доки по питону, там много чего написано. По сути, хукая функцию ты заменяешь в значении переменной указатель на нее указателем на свою функцию. А если кто-то уже импортнул эту функцию, он скопировал к себе в локалспейс указатель на оригинал, и ему уже глубоко до фонаря что ты там его поменял - у него своя персональная копия. В результате ты имеешь дырку от баранки. Отсюда простой вывод: НУЖНО ПАТЧИТЬ ТО, ЧТО НЕ ИМПОРТИРУЕТСЯ НИКЕМ, а используется только внутри изменяемого модуля. Например можно грамотно запилить чтобы кеш переводчиков возвращал не сам переводчик, а враппер. Переводчики никто не кэширует, точнее их кеширует кеш-класс, который ты патчишь. И они никому не нужны вне модуля, всем нужна служба - спросил-ответили. Но опять же это ничем не поможет против тех, кто спросил и засейвил раньше чем ты хукнул - прикол тот же - у них своя персональная копия. Так что если патчить нормально с полным покрытием - нужно грузиться раньше всех. Самый надежный способ - оверлоад файла, который тебе нужно поправить. Есть конечно вариант с хуком на импортах (в инете по этому приколу есть статейки даже), но чтобы поставить хук на импорт, нужно бутнуться до импорта, и возвращаемся туда, откуда пришли. Так что если тебе реально нужно бутнуться в самом начале - придется оверлоадить какой-то файл, который импортится в самом начале. В идеале до импорта i18n, либо дописать свой код к загрузке i18n, чтобы он выполнялся в основном ___, короче при непосредственном импорте модуля. Другого решения на питоне не может быть в принципе. Вот тебе до кучи толковая ссылка. Надеюсь, сообразишь, что я имел ввиду пот патчем кеша. -
Инструменты для работы с текстами в WoT
GPCracker replied to Polyacov_Yury's topic in Mods and Software
Картоха его считай уже ввела, разложив ресурсы по папкам. Нужно только мозги включить и по папкам пошариться - место найдется. Оба варианта имеют свои плюсы и минусы. Хотя идея вынести все конфиги в отдельную папку - очень даже неплохая. Если читаешь иногда мою темку, я там рассматривал способ переноса конфига - ремап XML секции. Как раз таки оптимальное решение и для меня, и для юзеров. Можно и конфиг разбить на мелкие как угодно, и сам по себе конфиг положить куда хочется (правда на оригинальном месте придется таки оставить файлик с редиректом). Оверлоад - это перегрузка. Когда ты кидаешь файлик в папку res_mods, который будет читаться заместо оригинала. А то :) Регулярка. Модуль re, в питоне есть такой :) "text" - это типа язык, а "LC_MESSAGES" - это подкатегория типа данных, или что-то такое. Тут почитай, если с инглишем норм. :) Если честно, не совсем понял, что ты имеешь ввиду. -
@Wanket, as файл про форматирование вообще видно не слышал... едва глаза не вытекли от таких отступов.
-
Инструменты для работы с текстами в WoT
GPCracker replied to Polyacov_Yury's topic in Mods and Software
Лично мое мнение - ресурсы нужно хранить в правильном месте, в специально для них отведенном. Либо допустимо рядом с модом, если это конфиг (тут речь о путях поиска конфига при старте мода), если что-то другое - туда где оно должно лежать, потому что путь к этому можно прописать в конфиге. Путь к конфигу в конфиге не пропишешь :) В текущей итерации можно сделать фикс отдельным файлом, запилю как освобожусь. Если у тебя мод не оверлоадит i18n, то на работу игры и твоего мода это никак не скажется. Просто разрешение путей будет работать правильно. Еще очередная доработка :) Рекурсия, она самая :) Только жаль что картоха трейлера не предусмотрела. Не совсем понял. Создать свою папку локализации ничто не мешает, коллизий с картохой не будет, но и двойной уровень вложенности (требоание gettext'а) никуда не денется. А создавать папку в папке с одним файлом внутри - ну не круто. Уж проще рядом с картохиными положить (+читай выше про правильное укладывание ресурсов), только решить проблему с копированием для начала. В том то и дело, что попытка влезть в локализации тянет за собой это тупое и ненужное копирование. Потому что у программистов катохи не хватило соображаловки написать 4 простые как пареная репа строчки кода в свое время. Но судя по масштабности того, что сейчас выкатывается (речь о коде, а не о юзер-фичах), они таки начали исправляться :) Как обещал. Сорц в комплекте. i18n_patch.zip За основу взят файл, который я запостил тут и загрузчики, которые постил тут. -
Значит где-то накосячил.
-
Не понял, поясни.
-
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ждем подтверждения со скринами от @AtotIK что все ОК и идем отдыхать. Нелегкий выдался денек :) Ну если запилить свой слой и его засвопать - то дело. Доберусь - раскурю, что там и куда, и что из этого можно отжать. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну это на флешке делать надо... А не на питоне. Тем более, что кроме хендла маркера (ну считай его айдишника) у тебя ничего нет. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну так что, делать 6 дубль? В общем, надеюсь последний тест. Перенес CONTAINER_NAME из PERSONAL в ICONS. Надеюсь, это решит проблему с перекрыванием. Эта тестовая версия [пока] финальная. MinimapGunMarkers_0.9.15.1CT_alpha_#6.zip -
А если JS onClick заюзать? Или еще каким-то таким методом?
-
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну вот я тоже так подумал, просто как-то они странно расположены в "правильном порядке". М.б. потом еще гляну, может найду чего. Кстати, м.б. прокатит переместить маркеры в другой контейнер, в какой посоветуете, чтобы порядок нормальный был (чтобы ничего не перекрывалось, и убрать галочки мод маркеры)? -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну и само собой спасибо всем, кто помогал поднять систему на ноги. Надеюсь, так жестко падать больше не будет :) )))))))) xD) Не, ну ежу понятно, контейнеры тут вяляются net.wg.gui.battle.views.minimap.containers.MinimapEntriesContainer Походу нужные маркеры просто добавляются на спрайты... А ордер самих спрайтов где зарыт, непонятно... -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
А порядок отрисовки где задается? Ну всмысле что стрелочка игрока должна быть поверх всего? -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Короч, еще одна попытка таки заставить эту систему работать при помощи прибивания костылей болтами. Эта тестовая версия, в принципе работает, но ниже есть лучше :) MinimapGunMarkers_0.9.15.1CT_alpha_#5.zip Раньше был zIndex, что сейчас - не знаю. Наверное контейнеры рулят. До конца еще не разобрался. Короч, поправил там посты с ранними файлами, дописал дисклеймеры. Чтобы тут не бомбили, а то мы и так уже 2 страницы нафлудили. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Это потому что поменяли порядок деструкции. Могу впилить try/except, если тебе от этого станет легче. Это исключение все равно игнорится, там же написано. А вот это называется защита от утечки памяти. Я заюзал слабую ссылку, чтобы объект нормально уничтожался при выходе из боя. И он уничтожается. Потому (я так полагаю, ты поймал это во втором бою) и вылетает такая ошибка. Если его оттуда не прибрать - будет двойная обработка и утечка памяти. Надо будет добавить удаление колобка из ивента. В принципе проксю можно и у класса сохранить. Потому что ивент будет удерживать жексткую ссылку на объект, а __del__ (почитай доки) срабатывает когда ссылок на объект не осталось, т.е. объект просто никогда не будет уничтожен, каждый бой будет создаваться новый, будет утечка памяти и возможно умножение нагрузки. Но начет удаления колобка - я уже написал (точнее писал пока ты свой пост писал). Нужно больше костылей, посоны! -
Инструменты для работы с текстами в WoT
GPCracker replied to Polyacov_Yury's topic in Mods and Software
Думаю. все-таки тут более подходящее место для дискуссии. Началось все тут, с перерывами на основной топик, если кому интересно, можете почитать. Оно всегда и везде есть, чего допилить :) Если хорошо поискать. Для простых задач, да. Есть некоторое усложнение. Но в некоторых случаях (в особенности когда дело касается переводов мода, где правится только содержимое), редактировать отдельный *.mo проще, тем более что для этого есть даже специальный софт) А возможность в подстроку забить ключ вместо самой строки - это очень даже неплохо. Например, когда хочешь использовать какую-то картошкину строку, которая уже есть в файлах локализации. Если ты просто короткие строки реплейсишь, то все норм. Как только дело касается чего покрупнее - вот тут начинается самое веселое. Огромные строки просто делают конфиг нечитаемым, либо приходится прилично скриллить вбок. Если в таком раскладе просто делать ремап, а не реплейс - конфиг выглядит чисто и аккуратно, а в файлах локализации ты можешь форматировать как хочешь, или вообще софтину юзать. Опять же, если картоха решит вопрос с копированием текстов, или если просто накатить тот патч, который я им на багтрекер залил путем оверлоада i18n с добавлением кода загрузки оригинала (то, что я в загрузчиках кидал, оттуда фрагмент взять), то можно вполне спокойно с таким играться и в некоторых случаях оно будет очень даже эффективно. Мы немного о разных вещах. Ты про замену текстов, я про использование gettext для локализации своих модов, чтобы строки в конфиге не хранить. Просто ремапнул в файл локализации, как картоха делает, и все. Можно юзать строки любого размера, и конфиг при этом остается читаемым, точнее в нем вообще при изменении строки ничего не меняется. Проблема с копированием возникает если ты пытаешься перегрузить или создать свой файл в папке текстов. То есть вынести строки из конфига в тексты. Ну для мода, который не работает с движком игры оно и не требуется. XML хорошо работает если ты сохраняешь туда вектора или матрицы. Движок (ResMgr по сути является частью BigWorld) умеет их парсить, и тебе не нужно на эту тему напрягаться. Плюс движок еще разруливает вопрос с локацией ресурсов, и не нужно резолвить папку с патчем. Хотя по сути есть функция для этого у того же ResMgr. Да я тут тоже маркеры орудий на миникарте поднять пытаюсь. Картоха с переходом на AS3 перепилила полностью миникарту. В том числе даже Scaleform класс, который ее обслуживал. Поменяли логику zIndex'a, теперь за эту штуку походу контейнер отвечает. Короче, то еще веселье. Начиная с того, что логику мода нужно наполовину вывернуть наизнанку. Хотя в общем-то изменения положительные. Новых возможностей нормально так завезли. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну тоже вариант. Только там утечка будет. Нада пофиксить. Ща запилю :) Надеюсь, на этот раз взлетит нормально, а то я чет уже устал это фиксить. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#4.zip Заюзал немного подсказок от @Polar Fox -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ну понятно Как вариант можно мягко пропустить, а потом просто релоад сделать. Или просто отключить для союзников, тогда проблема как-бы решается. Вобщем, тут как ни городи, получается костыль. Чтобы запилить по-нормальному - нужно переделывать логику. Тогда уже проще сделать это при нормальном обновлении. Пока предлагаю просто реально не использовать маркеры для союзников, либо включать их после прогрузки миникарты хоткеем. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
На выходе из реплея он и так выходит... А то что исключение в __del__ - они игнорятся, и это прям написано. Забей, главное чтобы реальных вылетов не было. Короч, поправил вроде указки, сейчас их быть не должно. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#3.zip Уже вкурил :) @Polar Fox, вы там наверное уже этот мод вдоль и поперек выучили :) Там по-нормальному фиксить надо, и переделывать половину (давно уже собираюсь, только руки не доходят), пока пытаемся пофиксить как-нибудь. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Всмысле? Показывается только для арты, совзводных и противников. Первых двух на скрине нет. Ну точнее показывает для кого настроишь... Если ты про "будет ли работать для..." - будет для кого сделаешь. Там пофигу вообще. Матрих провайдер правильный покажи и работать будет :) Как убрать маркеры под иконки - нужно создавать свой контейнер скорее всего, тут уже не для хотфикса дело. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Скрин в студию можно? Ооо, уже годно) Ща будем копать как указки отключить. Не, точнее я знаю, что нужно вызвать, теперь нужно понять как. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Возможно у картохи хоткей на миникарту срабатывает. Хоткеи это все побочка. Просто включи все фильтры в конфиге, поставь enable activate True. Чтобы сразу по логике работало. Нужно маркеры отдебажить, остальное потом. -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
Ошибки есть кроме этих? Вобщем, залатал что ты сказал, версию поправил, сообщение закомментил просто. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#2.zip -
Маркеры направления орудий на миникарте / Minimap Gun Markers
GPCracker replied to GPCracker's topic in Mods and Software
, да хрен с ним. Это побочка. Пока руки не дошли. Маркеры-то работают?