Этот мод позволяет играть по сети в карты, размер которых превышает ограничение в 8 МБ.
При использовании других модов, игра может вылететь при показе лобби, загрузке игры и открытии меню заданий с таким вот окном:
При использовании других модов, игра может вылететь при показе лобби, загрузке игры и открытии меню заданий с таким вот окном:
Также, бывает такое, что несмотря на наличие уже скачаного экземпляра карты, при заходе в лобби напротив никнейма отображает число с прогресом скачивания, которое не меняется сколько не жди.
Исходники прилагаются.
Почему это происходит?
Краш
Карта может содержать цифровую подпись, для проверки которой варкрафт расчитывает хэш-сумму всего файла карты. Обычно, при таких операциях считывают блоки по несколько мегабайт и хешируют их, но разработчики решили не мудрить, а просто загрузить файл карты в память одним куском, независимо от её веса — хоть гигабайты готовы занять на это действие, что и приводит к аварийному завершению программы из-за нехватки памяти.
Этот мод решает проблему: он запрещает проверять подпись у карт, размер которых превышает ограничение в 8 МБ. Конечно, если найдется карта от разработчиков, имеющая такой размер, то её подпись будет проигнорирована, но я таких не видел.
Бесконечное скачивание
Разработчики допустили ошибку в коде игры, из-за чего при расчетах происходит переполнение и результат получается неверный. Данный мод использует 64-битную арифметику, что исправляет положение.
Применение
Достаточно лишь извлечь MIX-файл в папку с игрой, после чего можно безопасно играть.
Ред. makkad
Ред. IceFog
Варик был чистый, никаких модов или модифицированых game.dll. При попытке создать игру в локалке, игра отказала с сообщением: "Слишком большой размер файла. Выберите другую карту.".
Ред. makkad
Ред. IceFog
Ред. IceFog
Ред. IceFog
Теперь в архиве снова .mix файл, так что можешь перекачать его или самостоятельно поменять расширение.
Ред. makkad
Ред. IceFog