Jump to content
Korean Random

GPCracker

User
  • Posts

    2,827
  • Joined

  • Last visited

  • Days Won

    62

Everything posted by GPCracker

  1. Ну так не напоминал бы, наверное тут этого диалога не было :) Просто ты спросил - я ответил. Как я решение такого вопроса примерно вижу. По крайней мере наши мнения и подходы по большей части совпадают :) Хотя так-то есть чего в том модике и допилить :) Хотя лично мне интересно не столько патчинг существующих файлов, сколько создание своих для хранения тестовых значений. Некоторые вещи в моде очень неудобно хранить в XML, если их оттуда убрать, то в принципе ОК. Просто рассматриваю gettext как самый логичный вариант. А у такого подхода есть та самая проблема с копированием, которую я как раз и хотел бы видеть разруленной. Вообще не люблю я всякие костыли и недоработки обруливать. Предпочитаю залатать дыру подручными средствами и делать спокойно что мне там нужно. Потому и создал задачу на трекере. Ибо если они этот вопрос решат, так будет интереснее всем :)
  2. МатрихПровайдер точки, где воспроизводится звук, насколько я понимаю. Попробуй сделать import BigWorld, Math pMatrix = BigWorld.entity(BigWorld.player().playerVehicleID).matrix mMatrix = Math.Matrix() mMatrix.setTranslate(Math.Vector3(0, 0, 50)) mMatrix.postMultiply(pMatrix) -->mMatrixИ mMatrix скормить туда. Если я все правильно понимаю и нигде не накосячил, звук должен быть спереди в 50м по курсу танка.Или просто скормить ему BigWorld.entity(BigWorld.player().playerVehicleID).matrix, тогда звук в технике игрока будет. Опять же, если я ничего не путаю.
  3. Этому билду уже несколько патчей. Как основная, даже в наложении на нормальную, оно не очень, а менять карту в бою без пересборки UI раньше было нельзя. Потому на тему и подзабили на некоторое время. Первый тестовый заход для всех желающих потестить. Можно запускать на реплее, по логике, тоже должно нормально работать, если я нигде не накосячил. Билд тестовый, за пределы темы не выносим, пока не отдебажим. Оптимизация, понятное дело нулевая, основная цель - хотфикс. Эта тестовая версия, и работает некорректно, нужна рабочая - ищите ниже. MinimapGunMarkers_0.9.15.1CT_alpha_#1.zip З.Ы. Я это вообще не запускал, ибо у меня просто нет тестового клиента. Так что не бомбим :) Да, забыл сказать - конфиг не забудьте! В дефолте для противников отключено.
  4. Я не особо шарю в структуре ресурсов игры, но как пример могу привести
  5. , а флешку они тоже весело запилили... Кстати, тут попутно еще некоторые моменты проглядываются. С этой обновой возможно таки получится запилить смену заднего фона миникарты в реалтайме (ну я имею ввиду саму карту). Ну скажем запилить по хоткею тепловую карту высот, тепловую карту разьездов и т.д. Была раньше такая идея, но раньше менять карту после создания миникарты было нельзя. М.б. сейчас можно будет... Надо будет как-нить затестить, как разберусь что к чему. def as_setBackgroundS(self, path): """ :param path: :return : """ if self._isDAAPIInited(): return self.flashObject.as_setBackground(path) self.as_setBackgroundS(_IMAGE_PATH_FORMATTER.format(arenaVisitor.type.getMinimapTexture())) public function as_setBackground(param1:String) : void { this.background.source = param1; } public var background:UILoaderAlt = null;тут так-то флеш-объект вызывается, а не Scaleform компонент как раньше.Обнова однозначно положительная, но чтобы с ней разобраться нужно время. У ХВМщиков там везде TODO стоит, тоже, видно "раскуривают" еще... Из системы вызовов кое-чего таки проглядывается... Часть вызовов идет напрямую на флешку, но подвижные элементы создаются через Scaleform компонент. Раскурить логику не так-то просто...
  6. А они там у себя ничего не постили? А то может кто ссылочкой поделится?
  7. Интересное предложение. Однако вопрос с тем, что там за новые параметры передаются, остается открытым.Никто случаем в этом еще не копался? У меня тестового нет, а выкачивать тут инет не позволяет, да и некуда пока. Кстати, может кто скинуть флешку тестовой миникарты?
  8. Ну они там и намутили. Уже думаю, а не сходить ли до магаза за пивом...Пока только понял, что они перенесли все новые классы в DAAPI секцию, и запилили судя во всему какое-то наследование. Пытаюсь разобраться в структуре ихнего кода. Они миникарту раздолбали на дофига классов... В общем и целом, написано довольно неплохо, но раскурить быстро не получится. Изменились сильно сами алгоритмы. Плюс потребуется время разобраться в структуре, как найти конструктора и что ему сказать. В общем, посмотрел я классы. Даже без углубленного анализа и поиска хвостов понятно, что если делать без костылей (а коих я делать не хочу), то только для адекватной обработки всего этого дела на питоне (чтобы без конфликтов на уровне IDшников и т.д.) потребуется как минимум создать пару классов. Это не говоря уже о том, что я еще даже не докопался до непосредственно вызовов миникарты и не разбирался в синтаксисе обращений. Походу дела придется еще и карту декомпилить, чтобы понять что с той стороны происходит. Одно могу сказать точно - это не один патч пилили втихую, просто "очень неожиданно выкатили". Объем работы очень большой, и чтобы в этом всем разобраться придется достаточно приличное количество времени в этом порыться. "Запилить обнову по-быстрому" однозначно не получится. Upd 1. Докопался таки до вызовов флешки (ну насколько я понимаю, это оно) def _addEntry(self, symbol, container, matrix = None, active = False, transformProps = settings.TRANSFORM_FLAG.FULL): return self._parentObj.addEntry(symbol, container, matrix=matrix, active=active, transformProps=transformProps) def _delEntry(self, entryID): self._parentObj.delEntry(entryID) def _invoke(self, entryID, name, *args): self._parentObj.invoke(entryID, name, *args) def _move(self, entryID, container): self._parentObj.move(entryID, container) def _setMatrix(self, entryID, matrix): self._parentObj.setMatrix(entryID, matrix) def _setActive(self, entryID, active): self._parentObj.setActive(entryID, active)Аргументы совсем другие. Из старого осталось только МПшка, но без нее никак. Все остальное пока не ясно. Upd 2. Нашел один "быстрый хвост" но он привел, как и в ангаре, на блок сеттингов UI. В текущей организации мод просто вызывает миникарту, в новой придется работать с поднятием класса и подпиской на ивенты. Напрямую получить адрес вьюшки - это тот еще костыль. Одно время дебажил что-то в ангаре, делал так - на WST/Орионе такое норм делать, но не в продакшне. Так что быстрой обновы не получится, а нормальную делать - порядке очереди. Планов много - времени мало.
  9. Открываешь тему с ангарным браузером и внимательно читаешь. Там все подробно расписано, каким кодом его можно вызвать.
  10. Каждый мододел создает себе отдельный персональный *.mo файл. Пишет туда что ему вздумается. Поскольку файл персональный, конфликты могут быть разве если мододелы один файлнейм не поделят. А дальше т.н. ремап. Ну да, тут нужен скрипт толковый и конфиг. К примеру: #A:B заменить на #C:D #A:E Заменить на Random(#F:G, #H:I, #J:K) #L:M заменить на Seq(#F:G, #H:I, #J:K) Если очень хочется, можно и по разной вероятности выборку впилить, чтобы какие-то варианты попадались чаще. И в том же духе. Систему с распределенным конфигом, т.е. для каждого мода свой файл замен + плюс бут-файл - порядок загрузки, либо просто в алфавитном грузить (как вариант такой файл может создавать сам пользователь для решения конфликтов между модами). Как-то так. А насчет патча gettext... Если я скажем захочу для нужд своего мода создать себе свой персональный файлик, то трабла с копированием никуда не девается, хотя я вообще нихрена не патчу.
  11. @Polyacov_Yury, создал задачу на багтрекере картохи.
  12. Экспериментирую, что из этой механики отжать можно. Если ты про макросы gettext - захардкодены частично, часть в XML-ках прописана. А это и не нужно. Основная идея моего предложения - сделать так, чтобы файлы переводов брались не оттуда, где папка text лежит, а оттуда, где лежит реальный файл, причем у res_mods приоритет. Как происходит, например, со скриптами или XML, недавно с переходом на новое двигло впилили и для звуков. Лично меня напрягает копировать сначала все файлы из res, потом пойми, где моды, а где оригиналы...
  13. Нее, если я таким образом буду с хламом бороться... тогда обнова точно не выйдет :) Впилил парочку простеньких батничков для обвеса GnuWin32 и gettext. Парочка ярлыков в SendTo или твик в реестре, и в пару кликов можно разбирать и собирать текстовые файлы. Возможно, в упрощенном виде такое можно заюзать через реестр без самих батничков. Ну или по-простому можно таскать файлики на батники drag&drop'ом. Для обычных пользователей тут нет ничего интересного GetText.zip P.S. Подробно прочитать, как это в принципе работает, можно здесь
  14. [Если я опять не совсем вылетел из потока; В связи с предстоящим патчем; Разбирал тут файлопомойку; Когда-то давным-давно;] Блин, сколько же всякого хлама накопилось на винте... Почти половину диска на ровном месте освободил. Восстанавливаю потихоньку настройки в связи с чистым переходом с 7ки на 10ку. Кстати, на тесте никто не пробовал катать файлик с графическим тестом коробочки? Не пофиксили случаем?
  15. Поэтому все правильные пацаны стараются собирать на SMD компонентах на двухстороннем FR4, так, чтобы одну сторону распаивать, а вторая как экран будет. Если сможешь без отверстий - это вообще эпик вин. Ну пару-тройку можно аккуратно по краям зачистить экран, чтобы на выводы не замыкало. Считай разом нескольких зайцев убиваешь - экран, стабильность (ничего не плавает, все жестко закреплено) и минимальное расстояние между узлами (если конечно умеешь правильно разводить платы). Минусы технологии - это затарить компоненты. Поштучно купить не так-то просто, я имею ввиду резисторы и конденсаторы SMD. Я с ним почти не работал, аналог по привычке уже на DesignLab (короч, софтина дохрена раз меняла название, всех не вспомнишь), там хоть и интерфейс довольно древний и впилено под хрюшу, но работает вполне ОК. Но не думаю, что там будет значительная разница с Proteus. Блин, все никак не могу привыкнуть переключать раскладку левой рукой... Синдром перехода с 7 на 10.
  16. Может. Настраивать надо. И паразитные емкости можно проставить руками. Если знаешь (или умеешь гуглить) эквивалентные схемы замены.
  17. А насчет точности - есть специальные САПРы для симулирования схем. Proteus, PSpice и производные. Только советую ставить на виртуалку, и для начала прочитать что где и как стабильнее работает. У них у большинства с адаптацией полный П.
  18. Индикатор уровня освещенности. Там сзади фоторезистор припаян. Единственная деталь КМО, КМП увы найти не удалось. Да и плюс от этого есть - светодиоды его не засвечивают. Микросхемка LM339D, 4 компаратора на борту. Ну как оно работает - думаю сам догадаешься, принципиалку влом искать. Подражать в этом плане китайцам плохая примета...
  19. Какой-то не инженерный подход... В кармане помнешь случайно, и все частоты полетят :(
  20. Ну мне вот что-то тоже, кроме этого кондера, ничего не приходится по вкусу. Все остальное смахивает таки больше на отрицательную ОС. Кстати, а что так не по ГОСТу собрал? P.S. Я тут тоже, не так давно, курсач пилил...
  21. Чет смотрю на твою схему, но не могу с ходу увидеть, где там положительная обратная связь...
  22. НЯЗ, они там ничего прям так сильно не перепиливали, внешний интерфейс, судя по именам функций и модулей не особо изменился, основа поменялась, да, хотя в твоем случае это может быть значительно. ЕЯПП, интерфейсом служит класс из файла scripts/client/SoundGroups.py, куда он монтируется - пока не разбирался особо, но это не раз на этом форуме писали. Давненько я со звуками не работал, уже подзабыл все... :) P.S. Нашел вот тут немного...
  23. Ну как говорится - доберемся - пошуршим. З.Ы. Кажется самое время поставить на закачку клиент...
  24. @AtotIK, спасибо, гляну на досуге. С мобилы не очень удобно :(
  25. Расчеты уже давно лежат в теме AAS. Проблема в том, что лично я не знаю методов быстрого решения уравнений 4 степени лоб. Такая штука уже обсуждалась и достаточно давно, что тянет на громкий такой баян. Прикол весь в том, что решать задачу в лоб бессмысленно. Нужен обход проблемы, и расчеты тут не причем, они уже есть и тут уже почти не нужны. Нужны алгоритмы. Причем именно алгоритмы, а не код. Людей, которые смогут такое написать (я опять же имею ввиду разработать алгоритм, а не код), тут весьма немного. И сделать это без тяжелых просадок фпс та еще задача. И тут никто не флудит, а просто объясняют тебе какого эта задача уровня. И подсказали простые альтернативы. Тем более, что артиллерию в нашей игре мало кто любит, особенно когда она накидывает тебе на фул-хп. А тут еще будет видеть, куда надо стрелять. Основная сложность и задача геймплея на ней в текущей реализации (если не брать в расчет песок) - это умение стрелять по движущимся целям. С таким модом это реально нахрен не нужный в игре однокнопочный класс, на котором ты тупо стреляешь по точке на экране, и все твои усилия по получению кредитов и опыта, достижению победы сводятся к простому кликанью мышкой по крестику. Тот факт что это совсем убивает и без того практически отсутствующий геймплей на арте и создает всем остальным игрокам адский баттхерт, очень сильно демотивирует грамотных разработчиков писать для тебя такую фигню. Опять же, для разработки алгоритмов нужны мозги, а все, у кого они есть понимают, что такое в игре нафиг не надо, если они конечно собираются в нее играть и уважают честных игроков.
×
×
  • Create New...