Список форумов
Гипат.org
Найдется место всем!


:: В чате сейчас никого нет
Шрифты в ПЗ: раскрась их все!
   Список форумов -> MODный форум
Автор
Сообщение
†T$†
Охотник


Пришел: 15.10.2003
Сообщения: 77
Добавлено: 07 марта 2008, 11:32 [?] [PM]   [«»]

Работая над новой версией интерфейса аля "Бета" (http://gipatgroup.org/forum/viewtopic.php?t=6139 - предыдущие версии), столкнулся со следующей проблемой - в демке с диска демиургов (моем идейном вдохновителе) шрифты сильно отличаются от теперешних, поэтому интерфейс с новыми текстурами и старыми шрифтами выглядит ну абсолютно непохоже. До этого я не слышал, чтобы этой проблемой кто-то занимался, в ресурсных файлах ничего про это нет, так что тем модмейкерам, которые захотят повторить мой смертельный номер: вот что я откопал.
Глава 1. Раскраска.
Метод жесткий и доисторический, ощущаю себя неандертальцем с каменным топориком.
Мне понадобился хекс редактор (я пользуюсь hiew), game.exe игры, пропатченной до версии 1.6 официальным патчем и графический редактор (Paint.NET). Сначала я зашел в игру, открыл сумку ака обоз, навел на какую-то кнопку мышь чтоб появилась подсказка и сделал скрин. Вставил в пайнт, пипеткой зачерпнул краску фона подсказки и записал её шестнадцетиричное значение. Хекс-редактором открыл game.exe и поиском нашел это значение. Записано оно было как 68 2B 1C 00. Что такое 68 хз, 2B 1C 00 заменил на 00 00 00 и запустил игру. Фон подсказки стал прозрачным (0_о). Поменял на 01 01 00 - фон стал черным, как мне и нужно было. Так и менял. Перед всеми значениями цвета стоит значение 68, так что не перепутаете (менять его не стоит, игра тогда вылетает). Пока что нарыл следующие значения (Строка - переход по goto в хекс-редакторе, значение - исходное значение, пример - где может использоваться):
Код:

Строка      Значение   Пример
0025E8C0   2B1C00      Фон подсказки
002151B0   FFB331      ?
00215260   FFB331      ?
0021BC00   FFB331      ?
0021DC10   FFB331      Список серверов      
0022C780   FFB331      ?
00233910   FFB331      Сложность игры, заголовок   
002348E0   FFB331      Обновляется сп. серв.   
00234990   FFB331      Хотите прервать игру?      
0024D7A0   FFB331      Описание зоны, заголовок   
002569A0   FFB331      ?            
0025E8D0   FFB331      Рамка на подсказке   
00393490   FFB331      Подзадания      
001EE970   FFFFFF    Заголовок Оружия и доспехов   
001EEA00   E4D7A7   "Тип" Оружия и доспехов      
001EEB30   E4D7A7   "Материал" Оружия и доспехов   
001EEB80   E4D7A7   "Вес" Оружия и доспехов      
001EEС10   E4D7A7   "Энергия" Оружия и доспехов      
001EEС50   E4D7A7   "Сложность" Оружия и доспехов   
001EEСE0   E4D7A7   "Надежность" Оружия и доспехов   
001EEDA0   E4D7A7   "Урон" Оружия   
001EEDF0   E4D7A7   "Действия" Оружия
001EEE50   E4D7A7   "Атака" Оружия
001EEEE0   E4D7A7   "Защита" Оружия
001EEFA0   E4D7A7   "Броня" Доспехов
001EF050   E4D7A7   "Уязвимость" Доспехов
001EF0С0   E4D7A7   ?
001EF0E0   E4D7A7   "Заклинание"
001EF230   E4D7A7   Описание оружия и доспехов
001EF250   E4D7A7   Нажмите CTRL

Там где вопросики - я не засек, что они меняли. Но навскидку - поменялся цвет имени говорящего в диалогах и мерцающие палочки ввода ( | )
Пример использования - имейте ввиду, что некоторые значения используются в нескольких надписях. Например, цвет надписи "обновление списка серверов" и "введите пароль" имеют одно и то же значиние.


Пример использования можете посмотреть в приложенном скриншоте. Слева направо - вариант Бета, моя переделка, оригинал.



fonts.jpg  
62.58 KB, Скачано 217 раз(а).
 
EviL|Alpha
Смерть гоблинов


Пришел: 27.03.2007
Сообщения: 258
Откуда: НСО г.Бердск
Добавлено: 07 марта 2008, 19:23 [?] [PM] [w] [a] [y] [m] [i]   [«»]

Интересная тема :up: ...
Надо добыть где-нить хекс и попробовать :) .
_________________
Делай уже то сегодня,о чём другие будут думать завтра(с).
EIMax-мой фан-сайт о Проклятых Землях и Затерянных в Астрале.
Sagrer
Убийца троллей


Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
Добавлено: 08 марта 2008, 02:17 [?] [PM] [M] [w] [m] [i]   [«»]

учитывай, что изменив game.exe ты не сможешь использовать стартёр, ибо ему нужен чистый, неизменный game.exe.

С другой стороны, если ты сделаешь патчик к game.exe - скорее всего в виде инструкции о том какие байты как надо изменить, и пришлешь это Джету - вполне возможно он включит этот патч в следующую версию стартера, и её можно будет активировать как опцию в config.reg мода.
_________________
Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
†T$†
Охотник


Пришел: 15.10.2003
Сообщения: 77
Добавлено: 08 марта 2008, 06:14 [?] [PM]   [«»]

Да, я уже думал об этом. Однако надо заметить, что хоть стартер и жмется при новом экзешнике, как девушка на первом свидании, но тем не менее работает исправно. Он отказывается настраиваться, но настройки, которые я сделал до изменения экзешника, например, включение второй скорости в мультиплеере, вполне так себе работают, хотя галка "дополнение" и не думает отмечаться.
С подключением ресурсных файлов вообще никаких проблем нет, можно свободно их переключать.

Хотя конечно было бы лучше, если б .exe подцеплялся стартером как ресурсы. Проблем и волнений было бы меньше.

Кстати, на строке №00393030 указано, какой шрифт использует в игре. По желанию можно сменить Times New Roman на что-нибудь другое.

Примечательно, что по методу из моей первой мессаги нельзя найти все цвета 0_о. Например, цвет заголовка всплывающей подсказки. Граф.редактор показывает, что у него цвет такой же как и у большинства заголовков - FFB331, но хекс-редактор говорит, что в файле таких значений больше не осталось. Хз в чём тут дело.
Sagrer
Убийца троллей


Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
Добавлено: 08 марта 2008, 08:07 [?] [PM] [M] [w] [m] [i]   [«»]

хых, как он тебе его как ресурсы читать то будет? ))) Стартёр фактически патчит экзешник, сам ). И если там в экзешнике чего-то не совпадет с тем что стартёр от экзешника ожидает - то в результате накладывания стартёровских патчей может случиться чего угодно.
_________________
Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
†T$†
Охотник


Пришел: 15.10.2003
Сообщения: 77
Добавлено: 08 марта 2008, 08:59 [?] [PM]   [«»]

Ну в смысле что сначала из мода берется .exe, а потом стартер уже над ним начинает работать.
Sagrer
Убийца троллей


Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
Добавлено: 08 марта 2008, 21:28 [?] [PM] [M] [w] [m] [i]   [«»]

объясняю еще раз. Непринципиально откуда берется exe. Если этот exe будет отличаться от оригинального до такой степени чтобы стартёр не смог внести в него _свои_ патчи - то ничего не будет работать _вообще_ т.к. для того чтобы игра увидела ресурсы мода - в экзешник вносятся патчи, перехватывающие обращение к этим самым ресурсам. Т.е. если эти патчи не наложатся - ресурсы мода банально будут недоступны из игры и собсно гря это будет просто оригинальная игра, к тому же с глючно пропатченным движком, вот и все.

Теоретически единственная возможность сделать так чтобы авторы мода могли вносить свои патчи в движок - научить стартёр подключать "пользовательскую" dll-ку написанную автором мода и содержащую функции, накладывающие нужные автору мода патчи. Но во-первых это надо много геммориться с написанием SDK и API для мододелов (учитывая количество геммора а также по-видимому отсутствие у Джета лишнего времени - имхо никто этим заниматься не будет), во-вторых имхо на самом деле это мало кем будет востребовано, в третьих чисто технически гораздо проще внести патч в саму addon.dll - поэтому имхо тебе стоит просто отправить Jet-у инструкцию по патчению экзешника с просьбой чтобы он это дело включил в стартёр и сделал возможность активировать это как опцию в конфиге мода.
_________________
Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
†T$†
Охотник


Пришел: 15.10.2003
Сообщения: 77
Добавлено: 09 марта 2008, 00:13 [?] [PM]   [«»]

Так хз что править в экзешнике, цветов всяких много, в инструкцию все не уложишь...

Походу гиблое дело.
slayerboxer
Дозорный


Пришел: 06.02.2007
Сообщения: 38
Откуда: Пенза
Добавлено: 09 марта 2008, 01:09 [?] [PM] [M] [w] [i]   [«»]

жалко :(
_________________
чеб придумать....
Sagrer
Убийца троллей


Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
Добавлено: 09 марта 2008, 02:54 [?] [PM] [M] [w] [m] [i]   [«»]

Цитата:


Так хз что править в экзешнике, цветов всяких много, в инструкцию все не уложишь...



Объясняю еще раз. Исправляешь свой экзешник так как тебе нужно. Потом любой программкой генерящей дифы (например HexWorkshop умеет, да и вообще любой правильный HEX-редактор) сравниваешь твой измененный экзешник с оригинальным game.exe от 1.06 - получаешь список байтов которые изменились, ну и собсно то как они изменились. Отправляешь этот список изменений Джету с просьбой включить патч в стартер. Если он примет патч - то в config.reg появится возможность написать что-то вроде Enable†T$†Patch=1 чтобы активировались твои изменения, вот и все.
_________________
Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
†T$†
Охотник


Пришел: 15.10.2003
Сообщения: 77
Добавлено: 09 марта 2008, 06:42 [?] [PM]   [«»]

Да я понял. Из-за каждого вшивого мода дергать Джета не годится, нужны изменения универсальные, а не какого-либо отдельного модмейкера. А если я сейчас вот сделаю цвета в сплывающих подсказках, описании предметов и заклинаний, а потом решу покрасить хар-ки персонажа? Тогда что делать?

Лучше уж экзешник в архив с модом кину.
Cheater
Привратник


Пришел: 08.01.2002
Сообщения: 378
Откуда: Russia
Добавлено: 09 марта 2008, 07:32 [?] [PM] [M]   [«»]

А разве содержимое этой темы не является достаточной инструкцией для Джета?
Было бы прикольно менять шрифты игры в настройках стартёра. Не в config.reg, а в насторйках, по кнопке "дополнительно".
Вместо Times New Roman. Только там глюки могут возникнуть, что с другими шрифтами тексты не поместятся в отведённые им экраны.
Джет сам выберет, чего там ещё можно настраивать, а хоть и всё сразу можно.
Снайпер
Зеленый гипатский зануда


Пришел: 18.01.2004
Сообщения: 3420
Откуда: Кызыл
Добавлено: 09 марта 2008, 16:41 [?] [PM] [w] [m] [i]   [«»]

Цитата (Cheater):
Вместо Times New Roman. Только там глюки могут возникнуть, что с другими шрифтами тексты не поместятся в отведённые им экраны.

Ничего подобного :D Никаких глюков, если мы будем мониторить находящиеся в системе шрифты, и каждый раз при выборе копировать и сохранять нужный шрифт в папке Windows\Fonts\ под именем "Current EI Font.ttf", и в экзешнеге пропишем ессно эту же строку (длина равна длине строки "Таймс Нью Роман")
_________________
Я желаю всем счастья!
Cheater
Привратник


Пришел: 08.01.2002
Сообщения: 378
Откуда: Russia
Добавлено: 09 марта 2008, 17:09 [?] [PM] [M]   [«»]

Цитата (Снайпер):
... мы будем мониторить находящиеся в системе шрифты, и каждый раз при выборе копировать и сохранять нужный шрифт в папке Windows\Fonts\ под именем "Current EI Font.ttf", и в экзешнеге пропишем ессно эту же строку (длина равна длине строки "Таймс Нью Роман")
Насколько я понял, имеется ввиду, что название шрифта не совпадёт с длиной строки названия Times New Roman.
Я же говорю о том, что в самой игре с другими шрифтами надписи станут длиннее, и не влезут, куда им полагается влезать. Они там местами уже не влезают.
Кроме того, стартёр можно научить понимать название шрифта любой длины. Хотя тут Джет реально разбирается.
Снайпер
Зеленый гипатский зануда


Пришел: 18.01.2004
Сообщения: 3420
Откуда: Кызыл
Добавлено: 09 марта 2008, 17:16 [?] [PM] [w] [m] [i]   [«»]

А... Ну уж невлезшие надписи будут на совести мододелов :D
_________________
Я желаю всем счастья!
Показать сообщения:   
   Список форумов -> MODный форум
Версия для печати
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы
Вы можете скачивать выложенные файлы
Перейти:  
Часовой пояс: GMT +4:00