Новости В Heroes of Might and Magic 3 теперь можно поиграть в веб-браузере
  • 175
  • 0
Совсем недавно энтузиасты из России смогли портировать игру HoMM3 в браузер. Причем веб-версия позволяет пройти все сюжетные компании и даже поиграть по сети. Чтобы сыграть в классику необходимо...
Новости Зал Славы российского геймдева - кто вошел в этом году?
  • 451
  • 7
Зал Славы - проект, который был создан в прошлом году для увековечивания достижений российских разработчиков, киберспортсменов, а также ключевых фигур российского геймдева. Инициатором проекта...
Новости Of Ash and Steel - Ответы на вопросы №4 от 20 декабря 2024 года
  • 330
  • 0
Ответы на вопросы №4 от 20 декабря 2024 года Приветствую вас, искатели приключений! Спасибо за все вопросы, которые вы оставили нам в Steam и Discord по игре Of Ash and Steel. Сегодня мы...
Новости Of Ash and Steel - Ответы на вопросы №3 от 13 декабря 2024 года
  • 263
  • 0
Ответы на вопросы №3 от 13 декабря 2024 года Приветствую вас, искатели приключений!. Спасибо за все вопросы, которые вы оставили нам в Steam и Discord об игре Of Ash and Steel. Добро пожаловать...
Иконка ресурса

Патч Gothic 1/2 mem fix v.06

Нет прав доступа на загрузку
Патч памяти в Готика 1 и G2:НВ
Мелкие фиксы и настройки:
  • Уменьшено требование к резервированию памяти при включенном MessageBox
  • Добавлена опция bUseNewHandler в ini-файл, позволяющая выбирать способ отлова OutOfMemory как в версиях v03a или v04+.
  • Исходники удалены из архива.
Устранение ошибок и дополнительные настройки:
Теперь после запуска библиотека дописывает в SystemPack.ini следующие настройки:
Код:
[SHW32] ; комментарии мои, программа их не выписывает
reserveInMb=50 ; (v05+) Сколько резервировать (в Мб)
bShowGothicError=1 ; (v05+) Использовать обработчик ошибок Готики (показывать окно фатала со стеком)
bShowMsgBox=0 ; (v05+) показывать MessageBox
Подробнее об настройках:
  • reserveInMb - сколько памяти будет зарезервировано на случай OutOfMemory (в Мб). Значение по умолчанию: 50.
    • 5 - минимальное значение, оптимально если отключать bShowGothicError или если у вас не установлен 4gb_patch и часты вылеты по OutOfMemory
    • 30-60 - хороший выбор, если не включать bShowMsgBox, с большой вероятностью правильно сохраняет стек.
    • 120-150 - применять только с 4gp_patch, хороший выбор, если включать bShowMsgBox и bShowGothicError или если важно что программа по возможности более корректно завершится при включенном bShowGothicError.
    • 300 - максимальное значение
  • bShowGothicError - показывать ли ошибку готики (1 - да, по умолчанию), (0 - нет) в случае возникновения OutOfMemory.
    Если выключено, то в этом случае вы можете резервировать минимальное количество памяти, однако не будет сообщение о фатале и игра не сможет обработать эту ошибку. Это похоже на то, как если бы при OutOfMemory готика автоматически завершалась через диспетчер задач, не оставляя никакого сообщения об ошибке, что не рекомендуется. Если выключен также и bShowMsgBox, то игра просто закрывается при OutOfMemory, без каких-либо уведомлений.
    В v05 отключение срабатывает не всегда и иногда игра все-таки окно Готики даже при bShowGothicError = 1.
  • bShowMsgBox - показывать стандартную для виндовс сообщение об ошибке с текстом OutOfMemory. Теперь-то вы точно будете знать, что произошел именно OutOfMemory, а не какой-то другой фатал. Правда при включенном bShowGothicError в v05 требует резервирования большого количества памяти.

Исправлена возможное появление окна OutOfMemory дважды.
Устранение ошибок:
  • Изменён способ отлова OutOfMemory, теперь он должен корректно обрабатывать ситуации, даже когда какая-нибудь другая библиотека, например прокси ddraw.dll от DX11 сходит с ума, правда из-за этого пришлось избавиться от Retry в окне ошибки. Кроме того, надеюсь что все-таки обнаружил и исправил причину по которой не выводился колстек, во всяком случае у меня именно в этих версиях скомпилированной dll OutOfMemory выдает нормальный колстек без каких-либо pdb файлов.
  • Есть надежда что в коде больше ничего править не придется и этот билд финальный, так что без серьезных замечаний и багов, перекомпилировать dll не буду, единственное только вероятно позже поменяю readme.
  • Старые pdb файлы от предыдущей версии можете удалить.
Устранение ошибок:
  • Функционально практически ничего не было должно измениться, но было перекомпилировано Hoard 3.10 под C++ Redist 2015 (что нужно было сделать давно, просто я пытался компилировать последнюю версию 3.12, в которой что-то поломали для 32-битных версий, поэтому с ней игра крэшилась при старте, а я искал проблему у себя, думая что что-то не так делаю, 3.11 также не заработала).
  • Также теперь отключено сообщение об ошибке после OutOfMemory, так как смысла в нем не вижу. Теперь в случае OutOfMemory диалоговое окно, в котором при выборе Abort происходит молчаливый выход из программы, без окна ошибки готики.
  • Фикс распространяется в двух вариантах, простом, это своего рода лайт-версия, для тех, у кого Интернет лимитирован, и с файлами pdb с отладочной информацией, которые нужно скопировать в каталог с игрой. Если в папке с игрой присутствуют pdb файлы и в библиотеке произойдет фатал, то есть шанс (я так и не разобрался от чего зависит), что игра покажет корректную ошибку, что поможет ее устранить. Без этих файлов невозможно точно определить, что именно случилось и устранить ошибку не смогу.
Устранение ошибок:
  • Создана возможность повторной попытки аллокации памяти после OutOfMemory (может быть полезно на 32-битных системах, если физической памяти не очень много, тогда можно попробовать закрыть лишние программы и нажать Повтор в окне ошибки).
  • Возвращена возможность продолжать игру после OutOfMemory, хотя и настоятельно не рекомендуется, лучше сразу Abort.
  • Исправлена ошибка в realloc, когда мог ложно срабатывать OutOfMemory (сомневаюсь, что ошибка проявлялась в игре, но раз уж заметил...).
  • Readme обновлён.
Устранение ошибок:
  • Теперь при ошибке движок готики будет корректно получать стек вызовов, что позволит проще отлаживать программу и видеть где возникла ошибка.
  • Убрана возможность продолжать игру после OutOfMemory
Сверху Снизу