Extremator, задача не повредить хеши неидентифицированных файлов и использовать слияние листфайлов, извлечённых другими способами, я уже пишу инжектор, но есть некоторые проблемы которые я ещё не смог решить
т.е. я задаю вопрос - "как залить листфайл", а слышу ответы "как распаковать карту"
Так нет никакой разницы если ты распакуейшь карту и запакуешь с известными и неизвестными файлами - это будет 100% копия карты с засунутым листфайлом, буквально
зачем меня пытаться убеждать, что банальный сканер (либо ингейм парсер, либо любой другой единичный способ) отрабатывает на 100%, когда это не так?
Сканер обрабатывает ту часть которая была задействована в игре, с количеством игр этот процент можно увеличить почти до 100%, так как эффект накопительный. Явно больше 90% можно собрать - остальное любыми иными способами
получается 25% файлов там были лишние да
Теоретически и это возможно, особенно зная как китайцы в своих картах любят ложить болт на вес
была одна китайская онлайн RPG с нетиза на 400 МБ и 6000 файлов
Пришли карту в личку или ее название, у меня уже спортивный интерес проснулся ее вскрыть на досуге и проверить насколько ты прав
так я подключаю как внешний предварительно собранный миксом листфайл при открытии карты через mpqeditor, файлы загружает с нормальными именами - извлекаю с нормальными путями и именами и пакую уже их в архив формата .w3x
Если какие-то файлы за 5 игр не загрузились, то скорее всего я либо что-то упустил во время игры, либо они просто лежат в архиве лишним грузом и не используются
как его вставить вместо пустого старого листфайла?
Видимо я не совсем понял задачу, точнее ее смысл - я просто извлекаю все файлы и пакую в новый архив с тем же именем часто, потому что технически разницу игра не видит между оригиналом и такой копией, если достать все ключевые файлы. Мне кажется это проще чем пихать в оригинал
но не видит фоновую музыку Green Greens.mp3, которая играет со старта, хотя она активируется также как и звук прыжка через CreateSound + StartSound , музыку вкл выкл можно командой -music
не видит звук захода в фонтан (в конце 1го уровня), который вроде формируется этой строкой: call CreateUnit(Player(i-1),'hrif',x,y-60,90)
Могу попробовать добавить отслеживание еще двух функций загрузки файлов LoadFileEx и LoadfileEx2, возможно для загрузки музыки используются они - я на практике не сталкивался c тем,что бы они загружали что-то уникальное
не желаешь создать отдельный ресурс с этим файлом? это пушка
Честно сказать даже не думал, так как делал для конкретной задачи и много недочетов - но в принципе если доработать можно, если есть на это запрос.
Попробую изучить детальнее карты которые ты прислал, может пойму как там музыку догружает и внесу изменения
host_pi, я перехватом функции loadfile из storm.dll выгружаю листфайл (точнее то что будет загружено игрой во время игровой сессии), далее прикрепляю его дополнительным листфайлом в ладик мпку и потом перепаковываю карту. По сути аналог сканера из мпку эдитора, но иногда тянет дополнительные файлы
Прикрепляю свой mix для выгрузки, после запуска игры в корне появится файл LoadFile.txt который будет лист файлом содержащим весь загруженный игрой контент из архивов и карт
Ассеты которые не были загружены во время сессии и те которые лежат в архиве и не используются в лист не попадут
Может потребоваться несколько игровых сессий что бы собрать весь контент задействованный в карте (например увидеть камерой все модельки и т.д), файл не перезаписывается а дополняется при следующих запусках карты или игры
В список попадают все пути к стандартным ассетам из стандартных архивов, которые используются на карте (нужно для считывания импортированных текстур и моделей со стандартными путями)
Так как mix писал для себя и особо не заморачивался - файл забивается задвойками и жирнеет при каждом запуске, по этому нужно не забывать его удалять и убирать микс из папки с игрой
Ресурсы лежащие в карте но не использованные вообще придется доставать руками
Изначально хотел дописать автораспаковку файлов в каталог, но руки не дошли
SNART, проблема связана с динамическими тенями, а именно с способом их создания. Она частично решена, для статических объектов добавлено кеширование, а у движущихся динамические тени будут отключены полностью.
Исправление появится в новом обновлении, но публикации не будет до тех пор, пока я окончательно не решу проблему с загрузкой всех карт для полноценного PBR рендера
CaZaNoVa, еще, кстати, он носил большое количество пистолетов за поясом, так как дульнозарядные пистолеты того времени слишком долго перезаряжать. А так можно было их по очереди доставать и палить по оппонентам. PUVer, можно эту деталь к модели тоже добавить, будет исторично
OVOgenez, ну насчет моделей не встречал, а вот девушек рисующих 18+ арты с женскими персонажами знаю, как мне сказали: на мужика надо натурщика искать, а так зеркало поставила и вуаля)
Smeto, значит надо в течение движения включать флаг, который отдельным таймером будет вызывать клик, а в реакции на клик по флагу движения отключать основное действие и перезаписывать текущие координаты. Таймер с частотой 0.01 выполнять 15 раз обновляя в нем позицию фрейма вызовом клика, пока движение не регистрируется. Флаг движения надо обнулять не по событию прекращения движения, а по отпускания правой кнопки мыши, что бы обработчик клика корректно отрабатывал в интервал пока идёт задержка события.
Smeto, по-возможности сделай версию, которая будет открываться сразу на 2.0, для совместимости и удобства пользователей P.S продолжаю эксперименты в попытках обойти задержку события, может что-то накопаю
Koladik, Координаты по Z можно получить через локацию, посмотри как это реализовано выше в коде или более наглядно в моей карте RPGEngine, в моих ресурсах есть - там через невидимые мосты сделана система запрыгивания на декорации и приближение камеры когда объект за спиной ее загораживает, это под 1.26a. Там мосты по сути заменяют меш коллизии
Работает с РО на которые можно залезть, обычно это мосты
Сетка отъедает много памяти, но может будет меньше если ее напрямую в fdf запихать из каких-то очень простых фреймов - надо ставить эксперементы и замерять потребление ресурсов. Я впервые в жизни редактор рефоржа сегодня открыл вообще)
darkowlom, интересно, но не совсем понимаю каким образом, если смотреть в небо.
С небом могут быть проблемки, надо будет потестировать, но это можно решить невидимым мостом перед камерой - его игра на уровне ядра считает террейном и, кстати, юнитом тоже
Блин сама идея крутая. Токо вот работать это будет только с видом сверху , от третьего лица или от первого так не реализуешь.
Реализуешь - считаешь по матрицам трансформации и все, даже при упрощенном варианте Smeto в горизонтальной камере сейчас всего на сантиметр вверх сносит кнопку, это корректируется без проблем, можно даже костылем. Там другая проблема у нас теперь - задержка в событии регистрации движения мыши
Да однозначно надо рефоржед ставить - уже в процессе. Проверил твою функцию в 1.26а - в старом патче нулевые координаты это левый верхний угол, по твоему коду получается левый нижний и такая же погрешность как и у меня, она скорее всего из-за широкоформатного фикса.
А не, это не погрешность видимо в рефоржед возможны отрицательные координаты мыши типа -0.124 в левой стороне экрана и оси местами поменяли, когда в старом патче меньше 0 числа невозможны
Вообще классический фрозентрон хранит позицию мыши в двух переменных по адресам 6FACE690 для X и 6FACE694 для Y и их можно напрямую дернуть мемхаком, а вот какая архитектура в рефоржеде и можно ли извратиться для получения куска памяти я не знаю - никогда не пробовал его дизассемблировать
P.S множители 0.4 и 0.355, если память не изменяет это для 16/9 на других соотношениях поплывет, если получить разрешение напрямую нельзя, то стоит запрашивать их у игрока принудительно и пока не введет в игру не пускать
Smeto, я сейчас практически переписал код на рабочий вариант, но у меня патч 1.26а с вайдскрин фиксом - поэтому я конвертирую позицию юнита в экранные координаты и пока у меня есть погрешность. Надо качать рефоржед и проверять там, если можно то вышли в личку эту тормозящую версию -я поставлю и попробую ускорить.
На вскидку: можно не получать ротаторы камеры каждую конверсию, а писать их в переменные при изменении камеры, только вопрос: можно ли в рефоржед отловить нажатия клавиш поворота камеры и прокрутку колеса мыши, что бы при этих действиях тоже обновлять?
» WarCraft 3 / ListfileConstructor - автоматическое создание (listfile)
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Как добавить listfile в карту? [депротект]
Пришли карту в личку или ее название, у меня уже спортивный интерес проснулся ее вскрыть на досуге и проверить насколько ты прав
Ред. darkowlom
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Как добавить listfile в карту? [депротект]
Попробую изучить детальнее карты которые ты прислал, может пойму как там музыку догружает и внесу изменения
Ред. darkowlom
» WarCraft 3 / Как добавить listfile в карту? [депротект]
» WarCraft 3 / Как добавить listfile в карту? [депротект]
Ред. darkowlom
» RenderEdge / [RenderEdge] Графическая модификация для WarCraft III
» WarCraft 3 / Чёрная борода (Эдвард Тич)
Ред. darkowlom
» WarCraft 3 / Чёрная борода (Эдвард Тич)
» WarCraft 3 / Чёрная борода (Эдвард Тич)
Ред. darkowlom
» WarCraft 3 / Если Bergi не делает пеонов...
» WarCraft 3 / В World Editor добавлена поддержка 64 тайлов
Ред. darkowlom
» WarCraft 3 / Пак моделей от judash137
» WarCraft 3 / Рогалик + диаблоид, сбор команды Объявляю общий сбор, чтобы…
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
P.S продолжаю эксперименты в попытках обойти задержку события, может что-то накопаю
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой
Ред. darkowlom
» WarCraft 3 / [2.0.3 vJass] UI - Move Able Frame - Перетаскиваем фрейм мышкой