Перейти к содержанию

Шрифты, увеличение разрешения и интерфейса Morrowind


Рекомендуемые сообщения

Возможно ещё, что модель этой панельки содержится в каком-то файле .NIF - и его можно поправить. Если кто-то в курсе, подскажите. В крайнем случае, напишу разрабам Morrowind Code Patch на форум.

Едва ли это можно исправить как-то, кроме MCP. Написать Хрнчамду определённо стоит, так как эта последняя критичная проблема. Но он почти полгода как внезапно исчез, будем надеяться, что скоро появится.

Символы теперь в порядке, спасибо! 16 смотрится хорошо, но есть небольшие проблемы. Очевидно, в игре пора увеличивать размеры всех интерфейсных окошек.

http://pic.fullrest.ru/upl/t/81YhiFml_150x150.jpg http://pic.fullrest.ru/upl/t/Zntf1pvY_150x150.jpg http://pic.fullrest.ru/upl/t/3RHCvAmV_150x150.jpg

Изменено пользователем raddimus
Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 210
  • Создана
  • Последний ответ

Топ авторов темы

Топ авторов темы

Изображения в теме

Интересно, как бы выяснить: кидается ли та панелька на экран в своём собственном размере, или по неким зашитым в программе данным? Потому что я пробовал менять высоту menu_energy_bar.NIF или типа того - на экране без изменений.

Так что, похоже, править NIF-ы без толку.

Сам я далёк от дебаггинга. И вот ещё, какой конструкцией выводятся цифры на полоске (некой текстурой?)?

Похоже, надо искать понимающих людей - буду всё же писать MCP-шникам...

Ссылка на комментарий
Поделиться на другие сайты

Похоже, надо искать понимающих людей - буду всё же писать MCP-шникам...

Конечно! Исправив одно окошко, другие сделать должно быть недолго. Будем ждать новостей. Надеюсь, разработчик MCP вскоре вернётся к работе.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Увеличить разрешение экрана можно с помощью программ MGE XE и FPS Optimizer. Также можно обойтись без них прописав нужные значения в пунктах "Screen Height" и "Screen Width", что в реестре.

 

Например для 32-битной Windows 7 и Windows XP путь выглядит:

HKEY_LOCAL_MACHINE\SOFTWARE\Bethesda Softworks\Morrowind

 

Для 64-bit

HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Bethesda Softworks\Morrowind

 

Vista:

HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Bethesda Softworks\Morrowind"

 

Vista x64

HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\Bethesda Softworks\Morrowind

 

 

Увеличения игрового шрифта:

 

 

Установить бету MGE XE. Нажать на Files, и там два верхних файла = MCP & MGE XE.

На первой вкладке MGE XE (Графика) есть опция "масштабировать UI".

Можно выставить к примеру, двоечку вместо единички - э вуаля! Весь интерфейс вдвое крупнее.

 

 

Теоретически панацея на больших разрешениях (информация от тов. Аdrian Shepard) :

Как сделать более большие и читабельные буквы в Морровинде. Заходим в папку с игрой ищем там Morrowind.ini

потом ищем и вписывает туда вот эти строки:

 

Font 0=century_gothic_big

Font 1=century_gothic_font_regular

Font 2=daedric_font

 

Вот скрины более крупного шрифта.

 

http://i.imgur.com/13tjqd1.jpg

http://i.imgur.com/cm28r0H.jpg

http://i.imgur.com/U3OEzpe.jpg

http://i.imgur.com/NLzh6el.jpg

 

3. Способ от CryoManne:

Ребят, я нашел РЕАЛЬНЫЙ способ увеличить интерфейс и шрифт в старых играх (тестировалось в Unreal, Morrowind, Half-Life 1 и прочих игр страдающих этой проблемой).

Качаем это - ENBSeries for Guilty Gear v0.075 (пусть не смущает Guilty Gear, именно в этом ENB-моде работает эта функция), ставим в папку с игрой (файл d3d8.dll НЕ ЗАМЕНЯТЬ НИ ЗА ЧТО, на случай если у вас стоит MGE или MGEXE). Далее заходим в файл enbseries.ini и меняем следующие строки:

 

[GLOBAL]

UseEffect=0

[ENGINE]

ForceDisplaySize=1

DisplayWidth= макс. ширина вашего экрана (у меня 1366)

DisplayHeight=макс. высота вашего экрана (у меня 768)

 

Сохраняем, заходим в игру\настройки игры\MGE\MGEXE и ставим разрешение 640х480 для 4:3 и 800х480 для 16:9. Запускаем игру и наслаждаемся четкой графикой и растянутым увеличенным интерфейсом. Скрины для Morrowind если кто интересуется могу подробнее объяснить и предоставить скрины из других игр.

 

В чем принцип?

Принцип заключается в том что этот мод ENB позволяет принудительно выставить разрешение экрана. Поэтому выставляя в игре разрешение 800х480 (или 640х480), то изменяется разрешение игры, не изменяется разрешение 3D-объектов а компоновка интерфейса происходит по тому разрешению что мы выставили (например если в Morrowind установить Better Font, а не Bigger то шрифт в меню станет лучше так как текстура более высокого разрешения и она не нуждается в растягивании), в итоге мы получаем хорошую картинку и интерфейс который задумывался разработчиками. Похожий метод применяется в эмуляторах приставок (интерфейс остается стандартным а разрешение влияет на обработку только 3D-графики, чего очень не хватает играм). Если вам нужен интерфейс чуть поменьше - выставляем разрешение больше, все просто. Теперь можно играть без мыла с увеличенным интерфейсом.

 

Скриншоты:

post-16599-0-62594600-1390338629_thumb.pngpost-16599-0-60415600-1390338631_thumb.pngpost-16599-0-68443000-1390338632_thumb.pngpost-16599-0-80700900-1390338633_thumb.pngpost-16599-0-58911500-1390338634_thumb.png

 

P.S.: Для Morrowind надо будет установить это в обязательном порядке Better Dialogue Font

P.P.S: Штука работает не везде, а только для Direct3D 9, на Direct3D 8 заводится через раз. Штука не работает в Serious Sam и в Project IGI

 

 

Изменено пользователем Casval Sylvius
Ссылка на комментарий
Поделиться на другие сайты

Звучит крайне заманчиво! Обязательно опробую все сделать по инструкции, спасибо!
Ссылка на комментарий
Поделиться на другие сайты

Звучит крайне заманчиво! Обязательно опробую все сделать по инструкции, спасибо!

Отпишись, как протестируешь, надо знать у всех ли этот метод работает (на AMD работает точно)

Ссылка на комментарий
Поделиться на другие сайты

Отлично, работает!

NVidia, последний драйвер (332.21).

 

Но графические эффекты какие-то конфликтуют с MGSE 3 - вода отображается неправильно.

Интересно, как можно взять оттуда только растягивание экрана, безо всего остального?

Ссылка на комментарий
Поделиться на другие сайты

Но графические эффекты какие-то конфликтуют с MGSE 3 - вода отображается неправильно.

Эммм, про воду на скрине слегка непонятно, как по мне нормально, ну я еще просто не проверял. Может потому что у меня MGE XE 0.9 ?

 

Интересно, как можно взять оттуда только растягивание экрана, безо всего остального?

Так ведь только растягивание и берется, ENB отключен (UseEffect=0), включено только растягивание.

Ссылка на комментарий
Поделиться на другие сайты

Графические артефакты - это проблема старых ENB (версии до 0.1). Я помню, как у меня грязекраб отражался сотней отражений в водичке - жуть.

upd.Не, это не круто - кукла персонажа становится чёрной. Как решить эту проблему?

Изменено пользователем Tyddyner
Ссылка на комментарий
Поделиться на другие сайты

1. На скрине с водой - там, где чёрно-белая муть, должно быть отражение окрестных деревьев и т.п. Наложенное на то, что под водой (дно и пр.).

 

Может быть, можно как-то поотключать все эффекты, вносимые ENB, через конфиг.

Но у меня не получилось.

 

2. Вдобавок, при загрузке сейва стало часто выдавать ошибку (на этапе Initializing data):

Expression Error Unable to fing sound ID "" in script AA_WulnstaRecall

 

Без ENB этого не происходит. Не знаю, как это объяснить.

(Может, d3d9.dll загружается в память Морровинда и, имея другой размер, сдвигает данные в памяти, что затем конфликтует с хаком от других примочек?)

 

3. В общем, хотелось бы как-то выделить саму фишку растягивания экрана. Без лишних добавок.

Возможно, это делается просто командой

IDirect3DDevice9::SetViewport

 

где Viewport - тот прямоугольник, в размер которого рендерится 3Д сцена.

Что, если сделать программку, которая будет посылать в ДиректИкс такую команду?

D3DVIEWPORT9 vp;

vp.X = 0;

vp.Y = 0;

vp.Width = RenderTarget.Width; - сюда реальную ширину экрана

vp.Height = RenderTarget.Height; - сюда реальную высоту экрана

vp.MinZ = 0.0f;

vp.MaxZ = 1.0f;

(Я сам не разбираюсь, как обращаться к DirectX, но для программиста должно быть несложно).

 

Или попробовать через ArtMoney попробовать изменить нужные числа в программе (типа 720 и 480 на 1366 и 768).

Ссылка на комментарий
Поделиться на другие сайты

1. На скрине с водой - там, где чёрно-белая муть, должно быть отражение окрестных деревьев и т.п. Наложенное на то, что под водой (дно и пр.).

У меня MGE XE 0.9 и с водой проблем нет, вроде бы.

Вдобавок, при загрузке сейва стало часто выдавать ошибку (на этапе Initializing data):

Expression Error Unable to fing sound ID "" in script AA_WulnstaRecall

У меня такого нет тоже, все отлично грузит, возможно используется слишком много хаков, у меня стоит только MGEXE и MCP больше ничего нет, остальное - аддоны

Возможно, это делается просто командой

IDirect3DDevice9::SetViewport

 

где Viewport - тот прямоугольник, в размер которого рендерится 3Д сцена.

Что, если сделать программку, которая будет посылать в ДиректИкс такую команду?

Опять же в игру оно будет подгружаться инжектом, опять же сдвиг в памяти и т.д., или та же DLL-ка. Вдобавок если речь идет о "просто команде", то нужно "просто переписывать код", хотя есть вариант маякнуть разработчикам Code Patch об этом.

Или попробовать через ArtMoney попробовать изменить нужные числа в программе (типа 720 и 480 на 1366 и 768).

Не все так просто. Разрешение экрана игра берет из реестра и загружает эти значения, через ArtMoney не получится поскольку будет сложно найти эти значения в процессе игры, ну и причина в том, что если делать через ArtMoney то поменяется разрешение полностью и растяжения не будет.

 

P.S.: Я узнал почему вода может неправильно рисоваться. Дело в том что Morrowind - Direct3D8 игра, а ENB - Direct3D9-плагин, для нормальной работы необходим "DX8 to DX9 converter" который лежит в файлике d3d8.dll от ENB, но все MGE используют свой d3d8.dll для подгрузки в игру своих шейдеров и конвертации. Можно попробовать переименовать файл d3d8.dll от ENB в другое название а в файле enbseries.ini и enbconvertor.ini прописать его в:

[PROXY]

EnableProxyLibrary=0

InitProxyFunctions=1

ProxyLibrary=<переименованная DLL>

Изменено пользователем CryoManne
Ссылка на комментарий
Поделиться на другие сайты

Спасибо, проверю. (Кроме MGSE, у меня хаков вроде нет).

 

Мысль была ещё такая: нельзя ли на DirectX-овое "устройство", созданное Морровиндом, послать команду из другой программы?

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

Если и с DirectX можно сконтачить, то можно было бы простой маленькой примочкой поменять размер вьюпорта, без мороки с обёрткой dll.

 

PS. Наверное, ещё лучше и проще - взять тот d3d8.dll, который лежит в Морровинде со всеми примочками; найти там место, где устанавливается размер viewport-а - и аккуратно, без затрагивания окружающего, вписать там жёстко нужный размер экрана.

Помочь в этом может DirectX SDK 8.0 или 8.1, наверное. Там должны быть исходники оригинальных dll и файлы .pdb (показывающие, по каким адресам в итоге скомпилировались переменные, функции...).

Для того, кто в этом шарит, должно быть просто.

Изменено пользователем Kamafi
Ссылка на комментарий
Поделиться на другие сайты

Спасибо, проверю. (Кроме MGSE, у меня хаков вроде нет).

Проблема заключается именно в MGE. Где-то в туторах по Distant Land было написано что старый MGE конфликтует с ENB и еще с чем-то, а новый MGE XE работает нормально. У меня лично в MGE XE работает без единого бага и ни с каким конвертером я не возился, я просто поставил и все работает.

 

Upd: кукла не рисуется именно из-за ENB. Проверил на разных разрешениях, в том числе на стандарте и даже в оконном режиме.

Изменено пользователем CryoManne
Ссылка на комментарий
Поделиться на другие сайты

Я уже писал в соседней теме, что нашел РЕАЛЬНЫЙ способ увеличить интерфейс и шрифт в старых играх при максимальном разрешении экрана. Приложенное здесь тестировалось в играх Unreal Engine 1 (Unreal, Unreal Tournament), Morrowind, Half-Life 1 и в прочих играх, страдающих проблемой нечитаемо маленьких букв и маленького интерфейса.

 

В данном случае мы рассматриваем The Elder Scrolls III: Morrowind.

 

Итак, что нам понадобится:

- все установлкенные патчи, дополнения, MCP и прочее. Можно воспользоваться репаками типа FullRest Repack, Morrowind Overhaul и т.д.

- MGE XE (работает также и со старым MGE, но вызывает ошибки в шейдерах, MGE XE таким не страдает)

- ENBSeries for Guilty Gear v0.075

- Better Dialogue Font

- прямые руки и четкое выполнение инструкций

Если же вы не хотите пользоваться MGE или MGE XE и будете устанавливать на чистый Morrowind, то можете сразу переходить к пункту установки ENBSeries

 

Перед тем как приступить, необходимо установить MGE XE. На сайтах есть куча туторов по установке и настройке MGE и MGE XE, пальцем тыкать не буду, ищите сами, благо весь интернет забит интсрукциями как улучшить морр.

Также если вы еще не установили, то необходимо установить это в обязательном порядке Better Dialogue Font, дабы шрифт не растягивался по экрану, а отображался четко.

 

Теперь приступаем:

Качаем это - ENBSeries for Guilty Gear v0.075 (пусть не смущает Guilty Gear, именно в этом ENB-моде работает эта функция), ставим в папку с игрой (файл d3d8.dll НЕ ЗАМЕНЯТЬ НИ ЗА ЧТО, на случай если у вас стоит MGE или MGEXE). Далее заходим в файл enbseries.ini и меняем следующие строки:

 

[GLOBAL]

UseEffect=0

[ENGINE]

ForceDisplaySize=1

DisplayWidth= макс. ширина вашего экрана (у меня 1366)

DisplayHeight=макс. высота вашего экрана (у меня 768)

 

По желанию можете поставить:

 

ForceDisplayRefreshRate=1

DisplayRefreshRateHz=60

 

Будет пытаться вытянуть ваши драгоценные FPS или наоборот понизить, аналог VSync.

 

Сохраняем файл, заходим в игру\настройки игры\MGE\MGEXE и ставим разрешение 640х480 для 4:3 и 800х480 для 16:9. Запускаем игру и наслаждаемся четкой графикой и растянутым увеличенным интерфейсом. Если кто интересуется могу подробнее объяснить и предоставить скрины из других игр.

 

В чем принцип?

Принцип заключается в том что этот мод ENB позволяет принудительно выставить разрешение экрана. Поэтому выставляя в игре разрешение 800х480 (или 640х480), то изменяется разрешение игры, не изменяется разрешение 3D-объектов а компоновка интерфейса происходит по тому разрешению что мы выставили (например если в Morrowind установить Better Font, а не Bigger то шрифт в меню станет лучше так как текстура более высокого разрешения и она не нуждается в растягивании), в итоге мы получаем хорошую картинку и интерфейс который задумывался разработчиками.

Похожий метод применяется в эмуляторах приставок (интерфейс остается стандартным а разрешение влияет на обработку только 3D-графики, чего очень не хватает играм). Если вам нужен интерфейс чуть поменьше - выставляем разрешение больше (800х600 и 1024:600 соответствено 4:3 и 16:9), все просто.

Теперь можно играть без мыла с увеличенным интерфейсом.

 

Скриншоты Morrowind:

post-16599-0-58911500-1390338634_thumb.pngpost-16599-0-80700900-1390338633_thumb.pngpost-16599-0-68443000-1390338632_thumb.pngpost-16599-0-60415600-1390338631_thumb.pngpost-16599-0-62594600-1390338629_thumb.png

 

Известные баги:

- в инвентаре "кукла" персонажа отображается черным цветом, хотя оружие в нормальном цвете

- при смерти персонажа, экран становится темным - не обращайте внимание

- при изменении настроек видимости в игре, экран на долю минуты дергает (глюк с Viewport), не обращайте внимания

- на старом MGE наблюдаются баги с отображением воды, во всем виноват конвертер шейдеров для Direct3D8, DLL-ка которого в ENB имеет то же название что и в MGE, единственное исправление - установка MGE XE, или же смиритесь.

 

Будут вопросы, задвайте в теме.

 

Админы и модеры, я не знаю в какой раздел пихать эту тему - в "Тех. вопросы" или в "Плагины", если что перенесите

Ссылка на комментарий
Поделиться на другие сайты

А что насчет эффектов от самого енб? Они отключены через shift+f12 или просто не срабатывают в Морровинде?

Для Морровинда в своё время было две разных версии енб, в одной не было бага с черным персонажем (и часть функций были старые), а в другой, более новой, подобный эффект был. В старой версии енб для Морровинда не работает эта функция из енб Guilty Gear?

Ссылка на комментарий
Поделиться на другие сайты

А что насчет эффектов от самого енб? Они отключены через shift+f12 или просто не срабатывают в Морровинде?

Они отключены в ини-шнике.

[GLOBAL]

UseEffect=0

Ссылка на комментарий
Поделиться на другие сайты

В старой версии енб для Морровинда не работает эта функция из енб Guilty Gear?

Даже не во всех новых ENB есть эта функция, я могу порыскать в поисках нормальных ENB, но это через пару дней - как только закончится сессия. Если же кто обнаружит новые версии ENB в которых работает ForceDisplaySize - кидайте сюда. Да и вообще кидайте сюда все ENB с ForceDisplaySize

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

есть какие новости? а то на 3840х2160 очень трудно что-то прочитать.

На сайте github есть исходные тексты (на C++) той самой примочки для улучшения графики Морровинда, MGE-XE.

https://github.com/Hrnchamd/MGE-XE

 

Сам Hrnchamd, последний из авторов MGE-XE, пока в сети не проявляется.

Я попробовал сам поковыряться - но простые хаки не сработали.

Если у кого есть время и желание - попробуйте сделать свою версию.

 

Насколько я понял, логика там простая:

- Сам Morrowind рисует, обращаясь к функциям DirectX 8 (файл d3d8.dll)

- MGE вместо оригинального d3d8.dll подставляет свой файл d3d8.dll, с изменёнными функциями.

- В этих функциях изменяют то, что будет изображаться - например, добавляют всякие визуальные эффекты.

- А затем команды на отрисовку и т.п. передаются аналогичным функциям DirectX 9.

 

Таким образом, вместо DirectX 8 изображение рисуется через DirectX 9 и с любыми нужными изменениями.

Чтобы увеличить размер интерфейса, я думаю, нужно добавить в MGE-XE, в функции наложения интерфейса (userHUD), масштабирование - т.е. рисовать его большего размера.

Для программиста, разбирающегося хотя бы в основах DirectX, это должно быть нетрудно.

 

ПС. А пока не вижу другого выхода, как поставить 1280*720.

Изменено пользователем Kamafi
Ссылка на комментарий
Поделиться на другие сайты

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

Для конвертации почти любого шрифта типа TTF, установленного в системе, подходит ObFontGen 1.13.

Только перед нажатием Save поставьте и убедитесь, что Image Size = 512 (или м.б. другая степень двойки), иначе Морр вместо букв покажет сплошную заливку. Вот как сконвертился английский шрифт (думаю на днях добавить русский):

http://static1.nexusmods.com/15/mods/100/images/42934-1-1386547402.jpg

Как обстоят дела с русской версией данного шрифта? Просто я думаю,он оптимальный для разрешения 1920х1080.

Ссылка на комментарий
Поделиться на другие сайты

Как обстоят дела с русской версией данного шрифта? Просто я думаю,он оптимальный для разрешения 1920х1080.

Наверняка, ним будут те же самые проблемы, что и с другими - текст не будет влезать в поля

http://www.fullrest.ru/forum/topic/35429-shrifti-morrowind/page__view__findpost__p__825378

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

http://www.fullrest.ru/forum/topic/35429-shrifti-morrowind/page__view__findpost__p__825325

В любом случае, скрины выкладывал Kamafi, так что дождитесь его ответа или пишите личное сообщение.

Ссылка на комментарий
Поделиться на другие сайты

Я пользуюсь шрифтом Morra английский, размер 16.

В основном, этого хватает и для хорошей читабельности, и интерфейс нормальный.

Только в меню Создания заклинаний, Зачарования и Опций бывают проблемы.

Так как я пользуюсь ими не очень часто, просто выхожу из Морровинда и временно ставлю в ini другой шрифт (всего лишь одну строку закомментировав, другую раскомментировав).

А чтобы вообще без геморроя - это нужно хачить интерфейс.

 

Русского шрифта Morra я пока не сделал, т.к. никто вроде этим не заинтересовался, а мне самому не нужно.

Но, раз это кому-то интересно, постараюсь доделать и выложить завтра-послезавтра, как будет время.

Ссылку здесь дам.

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...