Перейти к контенту

Редактирование движка X-Ray


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

Кто знает, как сделать, чтобы игра не запускалась в полном экране со старта игры?

Выводы модмейкера:

1)Вылетает - это хорошо. Значит, работает :)

2) Если хочешь сделать что-то хорошо, делай сам!

3) Если падёшь духом, падёт и мод.

4) Он живой... :o

Ссылка на комментарий
SDK 0.6 совместим с ЗП и без правки библиотек. Ищи инфу на форуме. <_<

xrAI совместим с ЗП, да? Классы ЗП прописаны в *.dll? Охота полностью совместимый с ЗП SDK, чтобы вручную скрипты и конфиги не подгонять :rolleyes:

Ссылка на комментарий

Недавно начал копать движок (екзешник) и увидел функцию скрывания/показывания худа.

.rdata:004A5710 aHud_draw1      db 'hud_draw 1',0
.rdata:004A571B                 align 4

Объясните пожалуйста,что такое align 4.

Я пытался искать различные консольные команды и нашел hud_draw 0/1 и demo_record. Где можно найти остальные? В гейме.длл?

Ссылка на комментарий

SkyLoader,

то, что ты нашёл, - это не функция, а строка с завершающим нулём (очевидно, имя консольной команды). IDA даёт им имя, комбинируя его из собственно строки и добавляя в начале "a" от ASCII.

Чтобы найти остальные, надо реверсить функцию регистрации консольных команд. Ну или на wiki посмотреть =)

 

align = выравнивание. Всякие данные обычно начинаются как минимум на границе двойного слова (4 байта). Ида распознаёт (чаще всего верно) все такие микропустоты перед началом переменных и пытается изобразить при этом корректный ассемблерный текст.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

malandrinus, спасибо :)

Я только сегодня начал распознавать код и все остальное.

У меня в планах добавить консольную команду или вернуть билдовскую бинд-команду (kCAM_4). Но сначала я что-нибудь правлю.

Есть вопрос: можно ли взять кусок кода из одной длл-ки и кинуть в другую?

Ссылка на комментарий

SkyLoader,

можно ли взять кусок кода из одной длл-ки и кинуть в другую?

 

=) Можно взять хвост от одной собаки и кинуть к другой, да чтоб она потом им махала? "Кинуть" - неподходящее слово.

 

А вообще можно, вот же в шапке лежит проект "пришивания второго хвоста".

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Большинство консольных команд находятся в хргейм,длл. Но если ты хочешь попытаться встановить консольную команду - тебе придется пройти пусть колмогора - страницу назад, он выкладывал исхоники своих правок, где была правка по созданию команды на фов

Freedom

Ссылка на комментарий

malandrinus, сенкс

_Призрак_, а разве команда в билдах была такая?

________________

Мне удалось изменить demo_record->demo_recorc. Работает :)

Еще удалось убрать красные надписи при демо рекорде

________________

Кто может сказать, как сделать перенос строки? Просто места не хватает.

Изменено пользователем SkyLoader
Ссылка на комментарий

А кто может объяснить, что означают [ebp+var_80] и 11h:

.text:10167CDC                 mov     [ebp+var_84], offset aKcam_2; "kCAM_2"
.text:10167CE6                 mov     [ebp+var_80], 11h

А то тут же должны быть какие-то настройки что-ли. Например, куда камеру поворачивать и тд.

Ссылка на комментарий

SkyLoader,

Это фрагмент функции добавления констант к классу-перечислению key_bindings. Там сериями вызовов добавляются пары ключ/значение. То, что ты конкретно привёл - это фрагмент добавления константы key_bindings.kCAM_2 со значением 17.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
malandrinus, вот я что-то не могу увидеть настройки этих команд. Не в скриптах, не в движке. Где ж они лежат? Настройки камеры, координаты, дистанция. Изменено пользователем SkyLoader
Ссылка на комментарий

SkyLoader,

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

 

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий
malandrinus, так, имею ввиду настройка этой бинд команды. Ведь есть отличия между cam_2 и cam_3: в первом случае вместе с камерой двигается ГГ (только модель ГГ), а во втором случае только камера. Вот где написано это, что надо поворачивать ГГ при этой бинд-команде или только управлять камерой. Также команды cam_zoom_in и cam_zoom_out уменьшают/увеличивают расстояние между камерой и ГГ (если включена cam_2 или cam_3). Вот где написаны настройки, на какое расстояние надо увеличить/уменьшить дистанцию между ГГ и камерой?
Ссылка на комментарий

SkyLoader,

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

CActor::IR_OnKeyboardHold

CActor::IR_OnKeyboardPress

CActor::IR_OnKeyboardRelease

Берёшь билд с отладочными дампами (mp 2947), находишь там эти функции (а может и не эти) и грызёшь их с помощью иды, пока не поймёшь, как это всё работает =)

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

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

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

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

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

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