NoX World - форум об игре NoX

 
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  
Сейчас онлайн стрима нет!
Сейчас на сервере никого нет!

Обязательно все ознакомьтесь с новыми Правилами Портала!

Актуальные новости:
IP сервера изменён! Новый IP: 45.144.64.229. Сервер также доступен через Westwood Online (XWIS, игру через сервер)


Важные темы:
Как играть по сети? Понятное руководство!
Правила Сервера NoxWorld.
Как помочь форуму финансово?

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.

Сообщения - .45 caliber

Страниц: [1]
1
Господа, хотел бы поделиться некоторыми наработками по адаптации Нокса под высокие разрешения.

Начну с того, что интерфейс игры великолепно масштабируется. А вот с основным игровым экраном пришлось повозиться. Все тесты проводились на моем ноутбуке со встройкой и разрешением 1280х800. Отлично работает на трёх экзешниках (оригинал, mix'a и unimod'a). Но обо всем по порядку.

1. Касательно вышеуказанного лимита (5000) на выводимые объекты. Neo hex напрочь отказывался дизассемблировать участок кода, который, как мне казалось, отвечает именно за него. Прозанимавшись сексом с экзешником пару часов, я это дело бросил. И не зря. В конце концов выяснилось, что до лимита, даже на повышенных разрешениях, очень далеко.

2. В экзешнике есть место отвечающее за проверку разрешения в конфиге и сбросе на default.cfg, если разрешение не соответствует стандартным (640-800-1024). Это место было послано подальше безусловным переходом на ветку соответствия.

3. Также был найден aspect ratio (4:3 по стандарту), который может принимать нужное вам значение (у меня 16:10, можно 16:9, ffff:ffff и т. д.). Выставляем разрешение в конфиге, запускаем ии.......

4. Вроде бы все отлично, загрузились. Пуляемся заклинаниями, смотрим симпатишные модельки, но как только персонаж делает шаг - memory access violation или вылет без всяких объяснений. Ладно..

5. Добрался до конфига. Тогда я еще думал, что мешает лимит. Выставил VideoSize = 60. Завелось. Интерфейс в моем разрешении, а игровой экран меньше. Все супер, пробуем дальше. 80 - полет нормальный. 95 - вылет. Минимальное рабочее значение у меня было 93.

6. Заметил странность: если я нахожусь, например в Иксе, и ставлю из ком. строки window 100, то вылетаю сразу же. А если выставляешь максимум в Manamines(я решил прогуляться по синглу пока размышлял, заодно протестировать), то все окей. Стабильно можно играть на протяжении пары минут, хотя потом, при смене локации, всё равно вылет.

7. Дальше я проводил тесты в debug mode на количество оъектов при смене разрешения. В Иксе при 1024х768 было 1750 объектов. Там же при 1280х800 - 1800. До 5000 в обоих случаях как до луны. Собирался кидать дурное, шёл уже 2 час ночи, но черт меня дернул снова поковырять конфиг. Отключил все эффекты, выставил VideoSize 100, запускаю. Работает))
Включаю по одному эффекту за раз... виновник найден - строка "TexturedFloors = 1", всё остальное отключать не нужно. Широкоэкранка, никакого стретчинга, красота-ляпота. Только пол галимый.

P.S. Прошу прощения за многабукаф и ни одной картинки)). Могу скриншотов настрелять, если уж очень нужно). Понимаю, до завершения ещё далеко, и ещё понимаю, что не знаю, в какую сторону копать. У меня просьба к активным моддерам, авторам и пользователям Unimod'a. Ребята, вы знаете больше меня о том, как в Ноксе натягиваются текстуры, взаимодействуют объекты. Помогите найти, каким образом TexturedFloors приводит к вылетам?

К сожалению, прикрепить экзешники не получится из-за размера. Посему напишу смещения в hex редакторе для редактирования:
Оригинальный Game.exe:
0x00033150 - 3col - значение 75 поменять на eb
0x00198f50 - оба значения 0004 и 0003 поменять на ffff.
В остальных двух экзешниках разница только в оффсетах: 0x000317e0 и 0x0019abd4 соответственно.
Вышеописанный способ увеличения разрешения работает пока только в сингле и на мультиплеер и главное меню пока не распространяется.

Спасибо за внимание.

2
Касательно лимита: да, лимит прописан в Exe файле. Если вы программист на Assembler, то вы сможете изменить число объектов. Вот только играть по сети после этого может не получиться.
P.S>Некоторый интересный код можно посмотреть здесь

Благодарю! Очень уж много интересного скрывает в себе экзешник.
самое интересное, что я все-таки запилил широкоэкранку под любое разрешение в сингле.... почти.
Осталось только протрейсить несколько... десятков... memory access violation.
И за все отвечает вышеупомянутый ограничитель.
Главная проблема с основным граф. окном игры.
Интерфейс нативно подстраивается под желаемое разрешение безо всяких проблем.

И да, итемы, персонажи нокса на высоких разрешениях выглядят мелковато, но всё-таки очень няшно)

3
В Nox'е есть лимит рисуемых объектов в пределах Вашего экрана. Этот лимит равен 5000. Следовательно при увеличении разрешения, Вы увеличите число рисуемых объектов. А значит быстро достигнете лимита. А значит начнёте переставать видеть некоторые объекты. Особенно это касается карт, в которых идёт огромное число спецэффектов и\или объектов, генерируемых самой картой. Плюс возникнут проблемы с collide областями объектов, так как они зависят от разрешения.

Господа Xandros и Dio, подскажите, что за консольная команда для генерации объектов? И ещё, за лимит объектов отвечает exe-шник? То есть убрать (или увеличить) его не так уж сложно?

4
Играю на 1280х800
сделал все, как в обсуждении https://www.wsgf.org/node/10548
да, экран немного стретчится, но практически незаметно
заодно и менюшка стала под мой экран
что говорить, красота..

Большое разрешение -> больший обзор -> раньше замечаешь угрозу -> дольше живешь

5
NoX / Вопросы-Ответы по Nox
« : 12/07/2011 19:21:38 »
Но все-таки, если будет время/желание, поковыряйте экзешник на эту тему, очень уж хочется широкоэкранку.  :'( А то сам я далековат от всего, что решается не скриптами.

6
NoX / Вопросы-Ответы по Nox
« : 12/07/2011 16:20:12 »
PS: кинь плз ссылку на место где ты видел  1152х864
http://www.widescreengamingforum.com/forum/10548/anyone-got-hack-nox
скрин в самом низу. там же, кстати, и инструкция для снятия блокировки на установку "неправильного" разрешения экрана в конфиге.


Если будет считаться читерством, так хотя бы для сингла сделать, или на серваке уже ограничение вводить.

7
NoX / Вопросы-Ответы по Nox
« : 12/07/2011 14:24:20 »
Итак, народ, во-первых здрасьте. 8 лет в nox не играл, и вот снова подсел. Готовлюсь к онлайну, так что скоро ждите.

Собссна, сабж. Знаю про всякие ковыряния в экзешнике, нашел как снять запрет на установку в конфиге широкоэкранного разрешения, на дефолт конфиг не скидывает, уже хорошо. НО! Широкоэранка так и не становится, а точнее становится, запускается, выглядит нормально, без растягивания интерфейса, но лишь на пару секунд. потом вылет с memory read error.  :diablo: А очень уж хочется 1280х800.
Для всего остального, старого-любимого, fallout 1-2, planescape: torment, diabl'ы, red alert'ов вайдскрины есть, а для нокса нету.

Думаю дело в экзешнике, потому как на англ форуме видел скрин игры 1152х864, без вылетов и багов, по словам автора поста, он всего лишь расковырял экзешник. Но узнать что и как менял не удалось, тема уже мертва давным-давно. Просто просмотрел я моды и турнамент, и респавнд, и думаю, что уж можно порыться для народа, чтобы играть в норм разрешении.
С уважением, .45

Страниц: [1]

Страница сгенерирована за 0.096 секунд. Запросов: 18.