Структура файла .ide

Инструкции по созданию дополнений для GTA Criminal Russia
Ответить
Аватара пользователя
danilasar
Сообщения: 202
Зарегистрирован: 17 июл 2018, 09:55
Откуда: Саратов, Россия
Контактная информация:

Структура файла .ide

Сообщение danilasar » 29 июл 2018, 12:52

Доброго времени суток. В этой статье я Вам расскажу о том, как же устроен .ide-файл в GTA San Andreas (Криминальная Россия) и для чего он предназначен.
Предназначение
.ide (Item DEfinition) - файл, в котором каждому объекту .dff даётся свой уникальный номер - идентификатор (ID), а также текстуры (изображения, накладываемые на объект). Встречается в GTA 3, GTA VC, GTA SA, GTA CR, GTA LCS (iOS/Android), GTA VCS (iOS/Android) и GTA4 в текстовом виде, а в PS2/PSP-версиях GTA LCS и GTA VCS - это бинарные (двоичные) файлы.
Структура
Файл .ide разделён на секции - objs, tobjs, anim, peds, cars, hier и txdp и выглядит так:

Код: Выделить всё

objs
...
end
tobjs
...
end
...
Здесь мы поговорим о objs, tobjs, anim и cars.
Секция objs
Objs отвечает за самые обычные объекты на карте. Запись выглядит так:

Код: Выделить всё

objs
id, name, txdname, drawdistance, flags
end
  • id - присваиваемый ID объекта (исключительно Integer)
  • name - название .dff-файла в .img-архиве (String, 24 символа)
  • txdname - название .txd-файла (текстуры) в .img-архиве (String, 24 символа)
  • drawdistance - дальность прорисовки (на каком расстоянии от игрока появляется объект) (Float)
  • flags - флаги объекта. По умолчанию - 0. (DWORD)
В итоге мы получим такой код:

Код: Выделить всё

objs
1, dom, dom, 100.0, 0
end
Объект ID1. Файл объекта - dom.dff. Файл текстуры - dom.txd. Дальность прорисовки - 100.0. Флаги - 0
Секция tobj
Tobj отвечает за объекты, появляющиеся и исчезающие на карте в определённое время. Запись выглядит так:

Код: Выделить всё

tobj
id, name, txdname, ObjectCount, drawdistance1, [drawdistance2, ...], flags, enable, disable
end
  • id - присваиваемый ID объекта (исключительно Integer)
  • name - название .dff-файла в .img-архиве (String, 24 символа)
  • txdname - название .txd-файла (текстуры) в .img-архиве (String, 24 символа)
  • ObjectCount - количество объектов в .dff, отображающихся отдельно друг от друга (DWORD)
  • drawdistance - дальность прорисовки (на каком расстоянии от игрока появляется объект) (Float)
  • flags - флаги объекта. По умолчанию - 0. (DWORD)
  • enable - время, в которое появляется объект (Integer)
  • disable - время, в которое исчезает объект (Integer)
Секция anim
Anim отвечает за анимированные объекты на карте.

Код: Выделить всё

objs
id, name, txdname, animname, drawdistance, flags
end
  • id - присваиваемый ID объекта (исключительно Integer)
  • name - название .dff-файла в .img-архиве (String, 24 символа)
  • txdname - название .txd-файла (текстуры) в .img-архиве (String, 24 символа)
  • animname - название .ifp-файла (архива анимации) (String, 24 символа)
  • drawdistance - дальность прорисовки (на каком расстоянии от игрока появляется объект) (Float)
  • flags - флаги объекта. По умолчанию - 0. (DWORD)
Секция cars
cars отвечает за автомобили. Запись выглядит так:

Код: Выделить всё

tobj
id, name, txdname, type, HandlingID, GameName, AnimGroup, Class, Frequency, Level, Comprules, WheelModelId, WheelScale_Front, WheelScale_Rear, WheelUpgradeClass
end
  • id - присваиваемый ID объекта (исключительно Integer)
  • name - название .dff-файла в .img-архиве (String, 24 символа)
  • txdname - название .txd-файла (текстуры) в .img-архиве (String, 24 символа)
  • type - тип транспорта: car, boat, train, heli, plane, bike, trailer, bmx, quad, mtruck. Можно добавить свой, но действовать будем через пятую точку - редактируя gta_sa.exe.
  • HandlingID - имя настроек из handling.cfg
  • GameName - название машины из языкового (.gxt) файла
  • AnimGroup - имя .ifp файла анимации
  • Class - определяет класс ТС
  • Frequency - насколько часто появляется в трафике
  • Level - неизвестно
  • Comprules - особенности машины:
    • 0 - у авто нет особенностей
    • 0x1f10- на авто в игре всегда присутствует одна из двух экстра-деталей (такое значение имеется у Taxi, Cabbie, Hoods Rumpo XL, Borgnine, Zebra Cab и Kaufman Cab)
    • 0x2ff0 - на авто в дождливую погоду всегда присутствует одна экстра-деталь (у Stinger, Stallion, Sabre, Sabre Turbo, Comet, Deluxo)
    • 0x4fff встречается у Flatbed, Hotring A, Hotring B, Bloodring Banger A, Bloodring Banger B
    • 0x30123345 только у Caddy
  • WheelModelId - указатель масштабирования модели (-1 - колесо не масштабируется, 0 - масштабируется, коллизия колеса масштабируется всегда).
  • WheelScale - Множитель масштаба колеса. Недоступен для типов boat, train и plane. Если быть точнее, то параметр состоит из двух множителей - для передних и задних колёс
  • WheelUpgradeClass - идентификаторы из carmods.dat

Ответить