Автор |
Сообщение |
†T$†
Охотник
Пришел: 15.10.2003
Сообщения: 77
|
Добавлено: 07 марта 2008, 11:32 |
|
|
Работая над новой версией интерфейса аля "Бета" (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
|
Там где вопросики - я не засек, что они меняли. Но навскидку - поменялся цвет имени говорящего в диалогах и мерцающие палочки ввода ( | )
Пример использования - имейте ввиду, что некоторые значения используются в нескольких надписях. Например, цвет надписи "обновление списка серверов" и "введите пароль" имеют одно и то же значиние.
Пример использования можете посмотреть в приложенном скриншоте. Слева направо - вариант Бета, моя переделка, оригинал.
|
|
|
EviL|Alpha
Смерть гоблинов
Пришел: 27.03.2007
Сообщения: 258
Откуда: НСО г.Бердск
|
Добавлено: 07 марта 2008, 19:23 |
|
|
Интересная тема ...
Надо добыть где-нить хекс и попробовать . _________________ Делай уже то сегодня,о чём другие будут думать завтра(с).
EIMax-мой фан-сайт о Проклятых Землях и Затерянных в Астрале.
|
|
|
Sagrer
Убийца троллей
Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
|
Добавлено: 08 марта 2008, 02:17 |
|
|
учитывай, что изменив game.exe ты не сможешь использовать стартёр, ибо ему нужен чистый, неизменный game.exe.
С другой стороны, если ты сделаешь патчик к game.exe - скорее всего в виде инструкции о том какие байты как надо изменить, и пришлешь это Джету - вполне возможно он включит этот патч в следующую версию стартера, и её можно будет активировать как опцию в config.reg мода. _________________ Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
|
|
|
†T$†
Охотник
Пришел: 15.10.2003
Сообщения: 77
|
Добавлено: 08 марта 2008, 06:14 |
|
|
Да, я уже думал об этом. Однако надо заметить, что хоть стартер и жмется при новом экзешнике, как девушка на первом свидании, но тем не менее работает исправно. Он отказывается настраиваться, но настройки, которые я сделал до изменения экзешника, например, включение второй скорости в мультиплеере, вполне так себе работают, хотя галка "дополнение" и не думает отмечаться.
С подключением ресурсных файлов вообще никаких проблем нет, можно свободно их переключать.
Хотя конечно было бы лучше, если б .exe подцеплялся стартером как ресурсы. Проблем и волнений было бы меньше.
Кстати, на строке №00393030 указано, какой шрифт использует в игре. По желанию можно сменить Times New Roman на что-нибудь другое.
Примечательно, что по методу из моей первой мессаги нельзя найти все цвета 0_о. Например, цвет заголовка всплывающей подсказки. Граф.редактор показывает, что у него цвет такой же как и у большинства заголовков - FFB331, но хекс-редактор говорит, что в файле таких значений больше не осталось. Хз в чём тут дело.
|
|
|
Sagrer
Убийца троллей
Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
|
Добавлено: 08 марта 2008, 08:07 |
|
|
хых, как он тебе его как ресурсы читать то будет? ))) Стартёр фактически патчит экзешник, сам ). И если там в экзешнике чего-то не совпадет с тем что стартёр от экзешника ожидает - то в результате накладывания стартёровских патчей может случиться чего угодно. _________________ Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
|
|
|
†T$†
Охотник
Пришел: 15.10.2003
Сообщения: 77
|
Добавлено: 08 марта 2008, 08:59 |
|
|
Ну в смысле что сначала из мода берется .exe, а потом стартер уже над ним начинает работать.
|
|
|
Sagrer
Убийца троллей
Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
|
Добавлено: 08 марта 2008, 21:28 |
|
|
объясняю еще раз. Непринципиально откуда берется exe. Если этот exe будет отличаться от оригинального до такой степени чтобы стартёр не смог внести в него _свои_ патчи - то ничего не будет работать _вообще_ т.к. для того чтобы игра увидела ресурсы мода - в экзешник вносятся патчи, перехватывающие обращение к этим самым ресурсам. Т.е. если эти патчи не наложатся - ресурсы мода банально будут недоступны из игры и собсно гря это будет просто оригинальная игра, к тому же с глючно пропатченным движком, вот и все.
Теоретически единственная возможность сделать так чтобы авторы мода могли вносить свои патчи в движок - научить стартёр подключать "пользовательскую" dll-ку написанную автором мода и содержащую функции, накладывающие нужные автору мода патчи. Но во-первых это надо много геммориться с написанием SDK и API для мододелов (учитывая количество геммора а также по-видимому отсутствие у Джета лишнего времени - имхо никто этим заниматься не будет), во-вторых имхо на самом деле это мало кем будет востребовано, в третьих чисто технически гораздо проще внести патч в саму addon.dll - поэтому имхо тебе стоит просто отправить Jet-у инструкцию по патчению экзешника с просьбой чтобы он это дело включил в стартёр и сделал возможность активировать это как опцию в конфиге мода. _________________ Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
|
|
|
†T$†
Охотник
Пришел: 15.10.2003
Сообщения: 77
|
Добавлено: 09 марта 2008, 00:13 |
|
|
Так хз что править в экзешнике, цветов всяких много, в инструкцию все не уложишь...
Походу гиблое дело.
|
|
|
slayerboxer
Дозорный
Пришел: 06.02.2007
Сообщения: 38
Откуда: Пенза
|
Добавлено: 09 марта 2008, 01:09 |
|
|
жалко _________________ чеб придумать....
|
|
|
Sagrer
Убийца троллей
Пришел: 24.12.2001
Сообщения: 3548
Откуда: Курск
|
Добавлено: 09 марта 2008, 02:54 |
|
|
Цитата: |
Так хз что править в экзешнике, цветов всяких много, в инструкцию все не уложишь...
|
Объясняю еще раз. Исправляешь свой экзешник так как тебе нужно. Потом любой программкой генерящей дифы (например HexWorkshop умеет, да и вообще любой правильный HEX-редактор) сравниваешь твой измененный экзешник с оригинальным game.exe от 1.06 - получаешь список байтов которые изменились, ну и собсно то как они изменились. Отправляешь этот список изменений Джету с просьбой включить патч в стартер. Если он примет патч - то в config.reg появится возможность написать что-то вроде Enable†T$†Patch=1 чтобы активировались твои изменения, вот и все. _________________ Мы уйдем без следа, ни имен ни примет.
Этот мир простоит еще тысячи лет.
Нас и раньше здесь не было - после не будет.
Ни ущерба, ни пользы от этого нет. (с) Омар Хайям
|
|
|
†T$†
Охотник
Пришел: 15.10.2003
Сообщения: 77
|
Добавлено: 09 марта 2008, 06:42 |
|
|
Да я понял. Из-за каждого вшивого мода дергать Джета не годится, нужны изменения универсальные, а не какого-либо отдельного модмейкера. А если я сейчас вот сделаю цвета в сплывающих подсказках, описании предметов и заклинаний, а потом решу покрасить хар-ки персонажа? Тогда что делать?
Лучше уж экзешник в архив с модом кину.
|
|
|
Cheater
Привратник
Пришел: 08.01.2002
Сообщения: 378
Откуда: Russia
|
Добавлено: 09 марта 2008, 07:32 |
|
|
А разве содержимое этой темы не является достаточной инструкцией для Джета?
Было бы прикольно менять шрифты игры в настройках стартёра. Не в config.reg, а в насторйках, по кнопке "дополнительно".
Вместо Times New Roman. Только там глюки могут возникнуть, что с другими шрифтами тексты не поместятся в отведённые им экраны.
Джет сам выберет, чего там ещё можно настраивать, а хоть и всё сразу можно.
|
|
|
Снайпер
Зеленый гипатский зануда
Пришел: 18.01.2004
Сообщения: 3420
Откуда: Кызыл
|
Добавлено: 09 марта 2008, 16:41 |
|
|
Цитата (Cheater): | Вместо Times New Roman. Только там глюки могут возникнуть, что с другими шрифтами тексты не поместятся в отведённые им экраны. |
Ничего подобного Никаких глюков, если мы будем мониторить находящиеся в системе шрифты, и каждый раз при выборе копировать и сохранять нужный шрифт в папке Windows\Fonts\ под именем "Current EI Font.ttf", и в экзешнеге пропишем ессно эту же строку (длина равна длине строки "Таймс Нью Роман") _________________ Я желаю всем счастья!
|
|
|
Cheater
Привратник
Пришел: 08.01.2002
Сообщения: 378
Откуда: Russia
|
Добавлено: 09 марта 2008, 17:09 |
|
|
Цитата (Снайпер): | ... мы будем мониторить находящиеся в системе шрифты, и каждый раз при выборе копировать и сохранять нужный шрифт в папке Windows\Fonts\ под именем "Current EI Font.ttf", и в экзешнеге пропишем ессно эту же строку (длина равна длине строки "Таймс Нью Роман") | Насколько я понял, имеется ввиду, что название шрифта не совпадёт с длиной строки названия Times New Roman.
Я же говорю о том, что в самой игре с другими шрифтами надписи станут длиннее, и не влезут, куда им полагается влезать. Они там местами уже не влезают.
Кроме того, стартёр можно научить понимать название шрифта любой длины. Хотя тут Джет реально разбирается.
|
|
|
Снайпер
Зеленый гипатский зануда
Пришел: 18.01.2004
Сообщения: 3420
Откуда: Кызыл
|
Добавлено: 09 марта 2008, 17:16 |
|
|
А... Ну уж невлезшие надписи будут на совести мододелов _________________ Я желаю всем счастья!
|
|
|
|
Вы не можете создавать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете прикреплять файлы Вы можете скачивать выложенные файлы
|
Часовой пояс: GMT +4:00
|
|