Добавлен , опубликован
Этот архив, будучи помещенным в папку с игрой, автоматически подключается без помощи сторонних лаунчеров.
В отличии от старой версии, имеет настраиваемый приоритет, что позволяет заменять файлы не только основных архивов, но и карт.

Мотивация

Помещение ресурсов карты в отдельный архив полезно, когда их размер начинает достигать больших значений (например, сотни мегабайт, а то и гигабайты).
В таком случае, с выходом новых версий, пользователю не придется заново перекачивать тяжелые файлы и хранение старых версий не будет отбирать много места на диске.
Также не стоит забывать об ограничении на максимальный размер карт, который составляет 8 мегабайт для версии игры 1.26a.
Разумеется, для того, чтобы это работало, каждому игроку потребуется самостоятельно докачивать архивы из интернета, а иначе он не увидит новых моделей, текстур и прочего.
Но, так как mix-архив позволяет заменять файлы карты, есть возможность добавить в неё по-умолчанию модели низкого качества, чтобы можно было играть и без дополнительных архивов.

Использование

Скачайте пустой .mix файл, предлагаемый этим ресурсом, и используйте его как основу для мода. После помещения его в папку с игрой, все добавленые в него файлы, будь то текстуры или модели, будут доступны из карты.

Настройка приоритета

В первую очередь, игра ищет файлы в архивах с более высоким приоритетом.
Он задается в файле "(priority)", в отсутствие которого, считается нулевым.
Если хотите заменить файлы, уже присутствующие в карте, то поставьте приоритет выше 16-ти.
Таблица приоритетов
Файл Приоритет
War3.mpq 0
War3X.mpq 1
War3XLocal.mpq 3
War3Patch.mpq 8
Старый mix 10
Карты 16
Новый mix 42

Возможные проблемы

  • Ladik MPQ Editor может отказаться добавлять файлы, ссылаясь на недостаток места на диске. Это означает, что лимит файлов исчерпан и его нужно увеличить вручную с помощью соответствующей опции редактора.
  • Так как, по сути, это исполняемый файл со встроеным MPQ-архивом, то антивирусы могут начать ругаться на него. И действительно, не кладите в папку с игрой mix и прочие файлы из недовереных источников, так как они могут оказаться вирусами.
  • Работает на версии 1.26a, а что касается более новых версий, то если там будет использоваться новый формат архивов (CASC вместо MPQ), или если игра не будет использовать "Storm.dll" (должен лежать в папке и игрой), то работать mix-архив не будет.

Как это работает

Звуковая система

Звуковая система игры расширяет свой функционал за счет дополнений,
которые подгружает из корневого каталога и специальной директории (Для Warcraft III это будет "redist\miles").
Возможные расширения файлов
Расширение Комментарий
mix MSS mixer services
asi ASI codec
m3d MSS 3D audio services
flt MSS pipeline filter
Все они являются динамически подключаемыми библиотеками (DLL).

MPQ архив

Заголовок архива не обязан находиться в начале файла.
Важно лишь, чтобы он был выровнен по границе 512 байт.
Разработчики использовали это в своих установщиках, к концу которых прикрепляли данные.

Результат

Была создана библиотека, а следом за ней записан пустой архив.
Таким образом, получился файл, являющийся одновременно и DLL и MPQ.
Звуковая система загружает библиотеку, а та открывает себя как архив, расширяя контент игры.
`
ОЖИДАНИЕ РЕКЛАМЫ...
9
nvc123:
перенёс в раздел статьи и опубликовал
Троян тут
9
Мне очень нужна возможность создания своего MPQ, поскольку делаю пак карт. Но есть вопросы:
  1. Как конкретно использовать эту технологию? Из описания непонятно ничего, как простому пользователю. Что нужно пошагово сделать чтобы создать свой MPQ?
  2. Будет ли это работать одинаково как на 1.26, так и на Reforged?
  3. Будут ли антивиры выдавать пользователям бредятину в духе троянов?
  4. Можно ли положить сами карты в этот архив?

  1. Какой путь указывать в редакторе чтобы архив подцепился?

  1. Будет ли это работать по локальной/интернет сети? Если у другого пользователя нет этого архива в корне.
Ответы (8)
23
WilliamBz, если побаиваешься с этим разбираться, сделай пак на старом добром war3patch.mpq, не прогадаешь) только изменения будут на всю игру распространяться. И на рефоржед не будет работать, потому что насколько мне известно, там нет mpq ) Карты внутрь можно положить. И наборы для ландшафтов карт тоже. И никаких троянов
9
EugeAl, я как раз троянов не боюсь. Но нужно сделать максимально комфортно для пользователя. Чтобы он просто положил файлик в корень игры и играл себе спокойно.
Попробовал этот mix архив. Пока что не работает. Тест на 1.29.2. Не знаю как он работает. Есть ли какой-то гайд?
9
EugeAl, а mix архив будет на Reforged и 1.26 работать? Т.е. можно ли сделать общий архив для всех версий?
23
WilliamBz, не знаю насчёт mix, не пользуюсь за ненадобностью )
38
WilliamBz, просто берешь этот файл и работаешь с ним как с mpq, она сам подключится
19
WilliamBz, описание и правда было немногословным. Добавил больше информации в описание.
Я слышал, что в новых версиях варкрафта близарды убрали storm.dll, от которого зависит mix-архив и, как следствие, работать оно врядли будет.
Что на счет вирусов, то просто глянь на коментарий выше с жертвой их паранойи. Надо бы выложить исходники, чтобы он мог указать, где же там троян.
В редакторе ничего указывать не нужно, просто помести mix в папку с игрой и его файлы станут доступны картам.
По сети с ним можно играть, но те, у кого он будет отсутствовать, не смогут увидеть новых моделей/текстур/музыки и всего прочего, что ты туда добавишь.
Варкрафт позволяет скачать карту в лобби, но дополнительные архивы придется качать отдельно.
9
IceFog, спасибо больше за ответ. К сожалению, мне это не подходит. Придётся весь импорт запихивать в каждую карту. Благо лимит на xgm 4Гб, есть куда расти. 😁
19
Последние новости!
Выложил исходники.
Изначально было написано на MASM'е, но сейчас решил переписать на C.
1
I tried using two files: 0.mix and 1.mix, both referencing an audio file named test.mp3 (these are two different files).
0.mix has priority = 42
1.mix has priority = 10
When I tried playing test.mp3, the sound from 1.mix was used instead of 0.mix.
I tested this multiple times, but the priority value seems to have no effect. It always loads files alphabetically (A-Z, top to bottom). I might be making a mistake somewhere. Could you help fix this or explain why the priority isn’t working? I really want to use the priority system correctly.
Ответы (5)
19
I made two archives for the test: one with priority 42, and the other with 41.
In them I placed a footman icon with a number with the priority of the archive they were in.
It didn't matter in what order the archives were loaded - the result was the same: the icon had the number 42.
1
I’m sorry for responding late. Here is the result when I edited advanced41.mix to advanced43.mix. Maybe it’s because I’m using version 1.28.5?
1
I tried changing the scope of SFileOpenFile from 0 to 0xFFFFFFFD, and now it works.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.