Drakemor_888, нет, дело не в "такой себе" видеокарте (крашиться может и на RTX 4090), а в потреблении видеопамяти видеодрайвером. Видимо, у многих он ест слишком много, а игре доступно лишь 2 ГБ (хотя у меня есть идеи, как расширить лимит до 4 ГБ) и это приводит к крашу из-за нехватки памяти.
Но, при игре в режиме отрисовки через OpenGL (а не через DirectX, как это происходит по умолчанию), потребление памяти обычно значительно снижается, что позволяет играть дольше или вообще без крашей.
Если и это не поможет, то я делал мод с текстурами пониженого качества, который выкладывал в дискорде карты, который указан в её игровом описании.
Но, думаю что в нём не будет нужды, так как OpenGL и так помогает.
Пускай и был один игрок, которому не помог, но в итоге выяснилось, что он заблуждался, считая что играет на нём, а на самом деле был включен отрисовщик DirectX.
Дело оказалось в виртуальной машине VMWare, в которой я играл в WarCraft 3.
Когда гостевая система меняла позицию курсора, то в хост системе та оставалась прежней и, когда я снова двигал мышь, та возвращалась в старую позицию.
Быть может где-то есть настройка, которая поможет избежать этой проблемы или придется посмотреть другую виртуалку.
Но стоит отметить, что другие подобные игры работают правильно.
Наверно, они не двигают курсор в центр экрана, чтобы потом посчитать смещение относительно него, а просто получают смещение из события от операционной системы.
Но, как я понял, в UjAPI такого функционала нет.
Из-за ошибки в коде игры, если размер карты превышает определенное значение, то происходит арифметическое переполнение и процент загрузки расчитывается неправильно.
Существует мод, который убирает лимит на размер карт и заодно решает эту проблему.
Мне кажется, что система игнорирует твои попытки сместить курсор обратно в центр.
Когда я его после этого двигаю, то он смещается относительно старой позиции, а не центра, из-за чего дельта получается совсем не той.
Дело не в высокой чуствительности, а в том, что камера движется по какой-то странной траектории. Я снизил значение cameraSpeed со 100.0 до 5.0 и медленно двигаю мышь вниз:
На видео оконный режим, но до этого я запускался в полноэкранном режиме.
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.
Drakemor_888, я играл около 3 часов и не словил ни единого краша. Потребление памяти игрой составляло 1.2 ГБ, из которых чуть менее половины занимал сам игровой движок.
В прошлой части тоже были игроки, которые жаловались на краши из-за нехватки памяти.
Так как некоторым помогает переключение на OpenGL отрисовщик, могу предположить, что виноваты во всём драйвера для видеокарт, которые не умеют экономить память в условиях её дефицита (2 ГБ).
При создании предмета, игра добавляет его в список CWorldFrameWar3::m_enumeratedItems, но при уничтожении тот не удаляется из него, да и вообще этот список не используется.
Эта утечка не так страшна, как в случае с неудаляемыми подобраными книгами, так как предмет "мёртв".
При желании, эту утечку можно исправить, затерев код добавления предмета в список из этой функции:
Пользуюсь браузером LibreWolf (основан на Firefox). Если включено дополнение uBlock Origin, то нажатие на кнопку перенаправляет на главную, а без него всё в порядке.
Если сможешь воспроизвести краш на утекшей 2.0.1 версии без обфускации, то сможешь посмотреть название функций, в которых произошел краш.
Подключи отладчик к игре и воспользуйся отладочной информацией.
makkad, если мешают измененные позиции кнопок, то можно вернуть их обратно при помощи "супер" режима. Хоткеи зависят от положения кнопок и эти самые положения настраиваемы.
makkad, сам я редко играю в варкрафт, так что и мотивации полировать хоткей до идеального состояния нет. Но так как я выложил исходники, у страждущих всё же есть шанс исправить положение.
Добавить клавишу на переключение раскладки на стандартную/кастомную прямо во время игры;
Могу даже подсказать что делать: добавить переменную enabled и, если её значение false, отменить действия в функции on_command_bar_hotkey вернув false, чтобы событие попало к игре. Дальше можно добавить хоткей для переключения состояния по аналогии с другими из config.json.
Это позволит отключать хоткей во время игры и использовать стандартные средства.
EugeAl, не понимаю, при чем здесь мод на снятие лимита?
А сделать можно что угодно, если готов потратить на это достаточно сил.
Вероятно, игра загружает эти файлы до запуска карты, так что импорт не работает.
Нужно перезагрузить базу данных после открытия карты.
Можешь воспользоваться инструментами для реверсинга (IDA, Hydra) для изучения устройства этой области игры и модифицировать её соответствующим образом.
SсRealm, если я правильно помню, то JNGP использует исполняемый файл редактора (worldedit.exe) от версии игры 1.21, а в требованиях этого мода указано 1.26 или 1.27, так что вполне ожидаемо, что он там не работает.
» WarCraft 3 / Последний приют 2
Пускай и был один игрок, которому не помог, но в итоге выяснилось, что он заблуждался, считая что играет на нём, а на самом деле был включен отрисовщик DirectX.
» WarCraft 3 / Warcraft Cavegame
Быть может где-то есть настройка, которая поможет избежать этой проблемы или придется посмотреть другую виртуалку.
Наверно, они не двигают курсор в центр экрана, чтобы потом посчитать смещение относительно него, а просто получают смещение из события от операционной системы.
Но, как я понял, в UjAPI такого функционала нет.
» WarCraft 3 / Последний приют 2
Прокрутить к ресурсу
» WarCraft 3 / Не запускает карты свыше 8мб. по локальной сети.
» WarCraft 3 / Самоподключающийся архив
Ред. IceFog
» WarCraft 3 / Warcraft Cavegame
Когда я его после этого двигаю, то он смещается относительно старой позиции, а не центра, из-за чего дельта получается совсем не той.
Ред. IceFog
» WarCraft 3 / Warcraft Cavegame
Ред. IceFog
» WarCraft 3 / Warcraft Cavegame
» WarCraft 3 / Симулятор электромагнитного взаимодействия элементарных частиц в warcraft 3
» WarCraft 3 / Самоподключающийся архив
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.
» WarCraft 3 / Исправление крашей на больших картах
Впрочем, публиковать это нет нужды, ведь всё и так работает.
Теперь же всё работает правильно.
» WarCraft 3 / Неограниченое описание
Прокрутить к ресурсу
Ред. IceFog
» WarCraft 3 / Последний приют 2
Так как некоторым помогает переключение на OpenGL отрисовщик, могу предположить, что виноваты во всём драйвера для видеокарт, которые не умеют экономить память в условиях её дефицита (2 ГБ).
Ред. IceFog
» WarCraft 3 / Некорректная компиляции карты через консольный jasshelper на линуксе
Ред. IceFog
» WarCraft 3 / Функция RemoveItem() не удаляет предмет
Ред. IceFog
» Администрация XGM / Прокрутить к ресурсу кидает на главную
Ред. IceFog
» WarCraft 3 / Неограниченое описание
Прокрутить к ресурсу
Ред. IceFog
» WarCraft 3 / Краши игры спустя примерно 5 минут Reforged
Подключи отладчик к игре и воспользуйся отладочной информацией.
» WarCraft 3 / Неограниченое описание
Прокрутить к ресурсу
» WarCraft 3 / Супер хоткей
» WarCraft 3 / Супер хоткей
Это позволит отключать хоткей во время игры и использовать стандартные средства.
» WarCraft 3 / Супер хоткей
» WarCraft 3 / Неограниченый размер карт без багов
А сделать можно что угодно, если готов потратить на это достаточно сил.
Вероятно, игра загружает эти файлы до запуска карты, так что импорт не работает.
Нужно перезагрузить базу данных после открытия карты.
» WarCraft 3 / Журналирование вызовов JASS
Прокрутить к ресурсу
» WarCraft 3 / World Editor FileImport FIX