Jagged Aliance
Jagged Alliance 2: Агония Власти и Цена СвободыAIM - Alliance of International Mercenaries. Jagged Alliance 2, Jagged Alliance 3D, Wildfire
• Новости • Модификации • Файлы • Руководства • Ссылки • Творчество  • Прочее • Форум

Создание лиц персонажей. Часть 2

В первой части статьи уже упоминалось о том, что координаты глаз и губ тактических портретов рпц-персонажей и чаров жестко «зашиты» в движке игры и говорилось о том, что если вы хотите их корректного отображения в интерфейсе, то необходимо создавать портреты своих персонажей с учетом приведенных таблиц смещений. Однако, это не всегда бывает возможно, в тех случаях, когда координаты глаз и губ получаются меньше табличных, такой способ непригоден. Есть еще два способа:
  1. прямая правка таблиц координат в HEX-коде экзешника;
  2. внесение координатных поправок в Sti-файл портрета.

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

Правка координат портретов RPC и чаров в HEX-коде движка

Раз координаты смещений глаз и губ персов прописаны в сорцах, соответственно их значения «прошиваются» в исполняемый файл движка, надо только найти смещения, по которым они там находятся, и поправить их в hex-редакторе на нужные. В разных версиях игры эти смещения различны, поэтому имеет смысл искать их по значению в той конкретной версии, на которой делается мод. Например, вы сделали новый портрет RPC-57 — 57.sti (бывший Мигель), у которого значения координат глаз и губ получились соответственно: 10, 5, 7, 20. Далее делаете следующее:

  • В таблице рпц-персонажей находите исходные значения координат глаз и губ Мигеля:
    9, 8, 8, 24
  • переводите их в шестнадцатиричный вид:
    09 08 08 18
  • грузите в hex-редактор файл ja2.exe и ищите в нем эту подстроку
  • заменяете найденые значения на те, которые вам нужны, естественно в шестнадцатеричном виде:
    0A 05 07 14

Так поступаете со всеми вновь созданными реписями.

С чарами сложнее, порядок поиска исходных зачений координат для них иной. Координаты их глаз и губ в исходниках прописаны не в одной, а в четырех (полный дурдом!) таблицах, поэтому их hex-последовательность в экзешнике другая, а имено:

  • X-координаты глаз
  • Y-координаты глаз
  • X-координаты губ
  • Y-координаты губ

На каждый тип координат отводится 32 байта (по два на одно значение). Именно в такой последовательности их и надо искать в движке и, прежде всего, локализовать смещение, по которому находятся начало значений координат для портретов чаров. Для этого ищется следующая подстрока, соответствующая началу таблицы X-координаты глаз:

08 00 09 00 08 00 06 00 0D 00 0B

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

Внесение координатных поправок в sti-файл портрета

Давно собирался проверить, понимает ли движок координаты глаз и губ, прописанные непосредственно в sti-файле портрета. Наконец сподобился и проверил, оказалось — понимает, что дает возможность прописывать нужные координаты прямо в стишку, без правки экзешника. Этот способ менее радикальный, чем прямая правка hex-кода или сорцов, но зато более гибкий и быстрый.

В sti-файл прописываются не реальные координаты, определенные при создании портрета, а разница между новыми координатами (XYsti) и теми, которые «зашиты» в движок (XYexe).

В качестве примера рассмотрим приведенные выше координаты RPC-57:

XYsti = 10, 5, 7, 20
XYexe = 9, 8, 8, 24

Вычитая из верхней строки нижнюю, получаем значения, которые следует записать в стишку 57.sti:

  • для глаз: X = 1, Y = -3
  • для губ: X = -1, Y = -4

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

Удачи,
VM aka «Генеральный застройщик пустоши» 8)

Прохождение
Silent war
Super Speed
Super Speed II
Super Speed III
Описание квестов. Альма
Описание квестов. Балайм
Описание квестов. Драссен
Описание квестов. Другие
Описание квестов. Камбрия
Описание квестов. Омерта
Описание квестов. Орта, Грамм
Описание квестов. Сан — Мона
Описание квестов. Тикса
Описание квестов. Эстони
Редактирование
Добавление новых секторов в моде Shady Job
Создание лиц персонажей. Часть 1
Создание лиц персонажей. Часть 2
Создание новой анимации
Тайлобилдинг
Хитрости
"Фундаментальный" труд по Jagged Alliance V1.12 (с)
IMP тест
Боевые действия
Воровство
Медицина
Навыки и особенности характера в оригинальной игре и модах.
Наёмники и NPC
О critical hit'e
О скрытности
Обидные баги
Ополчение
Оружие и снаряжение
Прикольные баги
Сапёрное дело в Арулько - для чайников
Транспорт
О прокачке параметров
Прокачка взрывных работ
Прокачка здоровья
Прокачка лидерства
Прокачка ловкости
Прокачка медицины
Прокачка меткости
Прокачка механики
Прокачка мудрости
Прокачка подвижности
Прокачка силы
Экспресс-прокачка, или 10-й уровень в Омерте
Таблицы TTX
Бронежилеты Shady Job
Оружие Shady Job
Оружие и бронежилеты мода "Night Ops" v1.11
Оружие оригинальной Ja2

Голосуем…
Вы уже скачали НО 1.30?
Да, два раза - себе и другу.
Да.
Ещё нет.
Нет и не собираюсь.
А что это?

Результаты опроса
Все новости из мира ja2 — настоящий джайский флуд! Хотите подписаться?


Copyright В© 2002—2006 A.I.M. Team
агония власти