19

» WarCraft 3 / Последний приют 2

Drakemor_888, я играл около 3 часов и не словил ни единого краша. Потребление памяти игрой составляло 1.2 ГБ, из которых чуть менее половины занимал сам игровой движок.
В прошлой части тоже были игроки, которые жаловались на краши из-за нехватки памяти.
Так как некоторым помогает переключение на OpenGL отрисовщик, могу предположить, что виноваты во всём драйвера для видеокарт, которые не умеют экономить память в условиях её дефицита (2 ГБ).
19

» WarCraft 3 / Некорректная компиляции карты через консольный jasshelper на линуксе

Я использовал параметр --scriptonly и передавал jasshelper'у только файлы со скриптом, а извлекать/добавлять файлы можно через Ladik MPQ Editor.
19

» WarCraft 3 / Функция RemoveItem() не удаляет предмет

При создании предмета, игра добавляет его в список CWorldFrameWar3::m_enumeratedItems, но при уничтожении тот не удаляется из него, да и вообще этот список не используется.
Эта утечка не так страшна, как в случае с неудаляемыми подобраными книгами, так как предмет "мёртв".
При желании, эту утечку можно исправить, затерев код добавления предмета в список из этой функции:
код
// Game.dll + 0x39A3C0
void __thiscall CWorldFrameWar3::AddNewItem(CWorldFrameWar3 *this, CItem *pItem)
{
    CItem **slot;

    slot = TSGrowableArray<CAgentPtr<CItem>>::New(&this->m_enumeratedItems);
    CAgentPtr<CItem>::operator=(slot, pItem);
    CWorldFrameWar3::UpdateItem(this, pItem);
}
19

» Администрация XGM / Прокрутить к ресурсу кидает на главную

Пользуюсь браузером LibreWolf (основан на Firefox). Если включено дополнение uBlock Origin, то нажатие на кнопку перенаправляет на главную, а без него всё в порядке.
19

» WarCraft 3 / Неограниченое описание

Вышла новая версия! Прокрутить к ресурсу
  • Исправил ошибку, из-за которой описания пасивных предметов отображались неверно.
  • Исправил описание, всплывающее при наведении курсора на иконку героя.
19

» WarCraft 3 / Краши игры спустя примерно 5 минут Reforged

Если сможешь воспроизвести краш на утекшей 2.0.1 версии без обфускации, то сможешь посмотреть название функций, в которых произошел краш.
Подключи отладчик к игре и воспользуйся отладочной информацией.
19

» WarCraft 3 / Неограниченое описание

Вышла новая версия! Прокрутить к ресурсу
  • Исправил ошибку, из-за которой у способностей не отображалась цена в мане.
19

» WarCraft 3 / Супер хоткей

makkad, если мешают измененные позиции кнопок, то можно вернуть их обратно при помощи "супер" режима. Хоткеи зависят от положения кнопок и эти самые положения настраиваемы.
19

» WarCraft 3 / Супер хоткей

makkad, сам я редко играю в варкрафт, так что и мотивации полировать хоткей до идеального состояния нет. Но так как я выложил исходники, у страждущих всё же есть шанс исправить положение.
Добавить клавишу на переключение раскладки на стандартную/кастомную прямо во время игры;
Могу даже подсказать что делать: добавить переменную enabled и, если её значение false, отменить действия в функции on_command_bar_hotkey вернув false, чтобы событие попало к игре. Дальше можно добавить хоткей для переключения состояния по аналогии с другими из config.json.
Это позволит отключать хоткей во время игры и использовать стандартные средства.
19

» WarCraft 3 / Неограниченый размер карт без багов

EugeAl, не понимаю, при чем здесь мод на снятие лимита?
А сделать можно что угодно, если готов потратить на это достаточно сил.
Вероятно, игра загружает эти файлы до запуска карты, так что импорт не работает.
Нужно перезагрузить базу данных после открытия карты.
Можешь воспользоваться инструментами для реверсинга (IDA, Hydra) для изучения устройства этой области игры и модифицировать её соответствующим образом.
19

» WarCraft 3 / Журналирование вызовов JASS

Вышла новая версия! Прокрутить к ресурсу
  • Исправил краш при выводе больших значений переменных (Форматирование строк во FreePascal в очередной раз отстрелило колено).
19

» WarCraft 3 / World Editor FileImport FIX

SсRealm, если я правильно помню, то JNGP использует исполняемый файл редактора (worldedit.exe) от версии игры 1.21, а в требованиях этого мода указано 1.26 или 1.27, так что вполне ожидаемо, что он там не работает.
19

» WarCraft 3 / Краш 0x35800000 при закрытии игры

EugeAl, игра сообщает адрес инструкции, которая крашнулась. Если ты не знаешь назначение кода, который там находится, то и понять причину краша не сможешь.
Вот пример разбора отчета об ошибке, вызваной передачей нативке Player параметра -1.
19

» WarCraft 3 / Краш 0x35800000 при закрытии игры

Если программа написана таким образом, что она крашится при выходе, то да.
19

» WarCraft 3 / Краш 0x35800000 при закрытии игры

EugeAl, когда игра использовала уже уничтоженый объект нулевой строки, то пыталась вызвать у него виртуальный метод. Указатель на таблицу методов находится в начале структуры объектов. Так как для объекта уже был вызван деструктор, то таблица методов ссылалась на таблицу самого базового класса (в данном случае TRefCnt), у которого было лишь два метода, а нужно было вызвать метод класса наследника (CStringRep), у которого нужный метод шел третим.
Индекс 2 (отсчёт идёт с нуля) выходит за границы таблицы методов TRefCnt и указывает на случайную память за ним, а в данном случае ею оказалось число 0x35800000, или 1.0f.
Дальше управление передается по этому адресу, но обычно там нет инструкций для исполнения и игра крашится.
Игра неправильно пишет сообщение об ошибке, когда происходит ошибка исполнения, а не чтения/записи. В таком случае она пишет "written", но не стоит обманываться. Адрес инструкции, которая "читала" и памяти, в которую "писали", указывается один и тот же.
Инструкция по адресу 0x35800000 пыталась перзаписать память по адресу 0x35800000 — на самом деле означает, что было передано управление по адресу 0x35800000, на целевой адрес не содержит исполняемой памяти.
19

» WarCraft 3 / SLK оптимизация при помощи w3x2lni

Подумал, что если убрать удаление неиспользуемых объектов, то может тогда не пропадет лишнее. Изменил настройку: slk.remove_unuse_object = false.
Но теперь карта крашится на стадии загрузки.
Стектрейс следующий:
CacheAbilityData
CAbilityData::GetInt
CAbilityData::GetInt
DatabaseInt
Была попытка получить поле "version" для нестандартной способности 'ACcv', родитель которой имел ИД 0, из-за чего и произошел краш.
Вот только, это стандартная способность "Девятый вал", незнаю, почему её вдруг начали считать нестандартной и полезли искать её несуществующую основу.
В карте есть одна нестандартная способность на её основе с ИД 'A093'.
Возможно, программа сгенерировала некорректный "war3map.w3a" файл.
19

» WarCraft 3 / SLK оптимизация при помощи w3x2lni

А проблема только в иконке? или что-то не работает?
Кнопка нажимается, цель выбирается, так что всё работает.
Проблема в том, что в текстовых файлах отсутствует информация о пути к иконке, описание и координаты кнопки.
19

» WarCraft 3 / SLK оптимизация при помощи w3x2lni

ИД способности Anei — это стандартная скрытая способность.
Поиск в редакторе не находит её.
Если что, вот ссылка на исходную карту irinabot.com/maps/54301.
Загруженные файлы
19

» WarCraft 3 / Неограниченое описание

EugeAl, для хранения текста с требованиями используется короткое описание, которое обычно вмещает до 256 байт, но даже это пространство не используется полностью, так как игра обрезает строку до 128 байт.
Пускай мод и расширил лимит — это не помогло, ведь игра даже старый не задевала.
Загруженные файлы
19

» WarCraft 3 / Добавление кастомных способностей в war3patch.mpq

EugeAl, насколько я помню, варкрафт проверяет начало SLK файла на соответствие строке ID;PWXL;N;E и, если она отличается, то бракует входной файл.
В ней содержится информация о программе, которая сохранила файл и какие-то дополнительные флаги. Если работа велась в другой программе или не той версии, то игра может отказаться работать с таблицей.
19

» WarCraft 3 / Неограниченое описание

EugeAl, какой бы длины не была строка, которую игра помещает в кнопку — она поместится.
Вопрос лишь в том, не обрежет ли её кто-нибудь на ранних стадиях. Если до кнопки дойдет только обрывок текста, то этот мод не поможет.
19

» WarCraft 3 / Какая версия карты земли бога не вылетает?

Tredor46, это баг варкрафта, а не конкретной карты. Если есть триггеры, реагирующие на приказ, то создается объект с данными о событии, но затем не уничтожается.