Пофиксил проблему с выбором разрешения для больших мониторов:
https://i.ibb.co/TKtnHm3/resolution.png
Для этого понадобилось залезть в gfx.dll и поправить пару байтов, отвечающих за максимальное разрешение. Был лимит 1600×1200, стал теперь 7680×4320 (для 8K мониторов хватит ).
Ссылка на поправленный dll: https://disk.yandex.by/d/q0zgKk0Y3gwcFg
Файл положить в корневую папку игры, заменив старый. Думаю этот фикс можно будет добавить в грядущий патч
Я взглянул на файл dll и сравнил его с исходным файлом, используя HxD в качестве шестнадцатеричного сравнения. Изменения, которые я обнаружил, были следующими:
В 0C 40 становится 00 по смещению 00006290
В 0D 06 становится 1E по смещению 00006290
В 0A B0 становится E0 в смещении 000062CO.
В 0B 04 становится 10 в смещении 000062CO
Однако, поскольку я не понимаю язык ассемблера (это очень низкий уровень и практически машинный уровень), я хотел бы знать, как вы смогли это выяснить, если вы не против поделиться? Из изменений сборки я вижу следующие изменения:
add становится inc ax/eax
push ds становится push es
mov al становится loopne $00000002
добавить al,$00000000 становится adc
Я пытался даже использовать обозреватель процессов, чтобы проверить и увидеть, но там не было ссылки на gfx.dll (хотя обозреватель процессов полезен в других отношениях, особенно с фильтром)