Катсцены — различия между версиями
Материал из GTAModding.ru
Solom (обсуждение | вклад) (→VEHICLE_REMOVAL) |
Solom (обсуждение | вклад) (→ID:12 - CAMERA) |
||
(не показаны 106 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
− | |||
{{Stub}} | {{Stub}} | ||
− | '''Катсцены''' - | + | '''Катсцены''' - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку <code>cs</code> перед именем. |
− | + | Используются следующие форматы файлов: | |
− | + | ||
+ | [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] Имя_сцены[[IFP|.ifp]] - пакет со списками кадров для каждого анимируемого объекта внутри сцены. | ||
+ | |||
+ | [[Изображение:Gta3.png|16px]] [[Изображение:Vc.png|16px]] [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] Имя_сцены<code>.dat</code> - данные для движения камеры внутри сцены. | ||
+ | |||
+ | [[Изображение:Gta3.png|16px]] Имя_сцены_имя_объекта[[ANM|.anm]] - список кадров для лицевой анимации персонажей. | ||
+ | |||
+ | [[Изображение:Sa.png|16px]] [[Изображение:Lcs.png|16px]] [[Изображение:Vcs.png|16px]] Имя_сцены<code>.cut</code> - данные, необходимые для загрузки катсцены. | ||
+ | |||
+ | [[Изображение:Vcs.png|16px]] Имя_сцены<code>.cam</code> - бинарная версия <code>.dat</code>-файла, структура полностью совпадает. | ||
+ | |||
+ | [[Изображение:Vcs.png|16px]] Имя_сцены<code>.anim</code> - новая версия пакетов анимаций, поддерживаемая исключительно [[GTA LCS]] и [[GTA VCS]]. | ||
===Описание форматов=== | ===Описание форматов=== | ||
Строка 39: | Строка 49: | ||
''Number'' - число.<br/> | ''Number'' - число.<br/> | ||
− | Extracolours редактируются в [[ | + | Extracolours редактируются в [[TimeCyc.DAT]]. |
=====TEXT===== | =====TEXT===== | ||
Строка 124: | Строка 134: | ||
Определяет позицию камеры. | Определяет позицию камеры. | ||
− | =====Блок 4 - | + | =====Блок 4 - Направление камеры===== |
TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3), | TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3), | ||
− | Определяет точку, в которую | + | Определяет точку, в которую будет направлена камера. |
====IFP==== | ====IFP==== | ||
− | + | Блок, который содержит в себе анимации. | |
===Список катсцен в San Andreas=== | ===Список катсцен в San Andreas=== | ||
Строка 448: | Строка 458: | ||
== GTA IV == | == GTA IV == | ||
− | В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже | + | В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже. |
− | + | ||
+ | Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций. | ||
=== Описание тегов === | === Описание тегов === | ||
− | ==== | + | ===== ID:0 - SECTION_START ===== |
+ | Тег указывает на начало секции катсцены. | ||
+ | ===== ID:0 - SECTION_END ===== | ||
+ | Тег указывает на конец секции катсцены. | ||
+ | ===== ID:1 - OFFSET ===== | ||
+ | Точка, которая определяет начало системы координат катсцены | ||
− | + | float X, float Y, float Z | |
− | + | Пример: | |
− | [ | + | [OFFSET] |
− | + | -109.416000 -265.023010 14.785000 | |
− | [/ | + | [/OFFSET] |
− | ==== | + | ===== ID:2 - CUTSCENE_HEADER ===== |
− | + | Содержит диапазон кадров, которые используются в анимации | |
− | + | Например: | |
− | + | ||
− | + | 10 1000 1500 2500 | |
− | + | Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500 | |
− | + | P.S. Данные заметки могут быть неверны | |
− | + | ===== ID:3 - DURATION ===== | |
+ | Определяет длительность секции | ||
− | + | Пример: | |
− | [ | + | [DURATION] |
− | + | 45466.667969 | |
− | [/ | + | [/DURATION] |
− | ==== | + | ===== ID:4 - ANIM ===== |
+ | Название [[Wad|WAD]] файла, в котором хранятся анимации для секции. | ||
− | ==== | + | string WADName |
− | + | ||
+ | Обычно, это <имя катсцены>_<ID секции> | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | [ANIM] | ||
+ | RB_1_1 | ||
+ | [/ANIM] | ||
+ | |||
+ | ===== ID:5 - MODELS ===== | ||
+ | Содержит информацию о субьектах, которые присутсвуют в катсцене, а именно - их модели и анимации. | ||
+ | |||
+ | int ID, string ModelName, string AnimName, string HeadAnimName, int Unknown | ||
+ | * ID - идентификатор субьекта, который может использоваться в других тегах (в этой секций используется как порядковый номер) | ||
+ | * ModelName - название модели (модели для катсцен находятся в архиве [[cutsprops.img]]) | ||
+ | * AnimName - название анимации для субьекта из [[Wad|WAD]] файла | ||
+ | * HeadAnimName - название анимации лица для персонажа из [[Wad|WAD]] файла | ||
+ | |||
+ | В одной секции катсцены может быть использовано до 570 субьектов. | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | [MODELS] | ||
+ | 0 CS_Davethemate CS_Davethemate_0 Davethemate_head_0 | ||
+ | 1 player player_0 player_head_0 | ||
+ | 2 CS_Hossan CS_Hossan_0 cs_hossan_head_0 0 | ||
+ | 3 CS_WhippingGirl CS_WhippingGirl_0 | ||
+ | 4 csWhip csWhip_0 | ||
+ | 5 csToolBox csToolBox_0 | ||
+ | [/MODELS] | ||
+ | |||
+ | ===== ID:6 - VEHICLE_DETAILS ===== | ||
+ | Присваивает некоторые характеристики транспорту. | ||
+ | |||
+ | int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery | ||
+ | |||
+ | *ID - идентификатор субьекта (определён в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS]) | ||
+ | *color1...4 - ID цвета (из [http://gtamodding.ru/wiki/Carcols.dat#GTA_4 carcols.dat]) | ||
+ | *dirtLevel - уровень загрязнённости (0-15, по стандарту - 0) | ||
+ | *livery - тип используемого логотипа (по стандарту - -1) (например - Enforcer) | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | [VEHICLE_DETAILS] | ||
+ | 2 0 127 133 133 0 | ||
+ | [/VEHICLE_DETAILS] | ||
+ | |||
+ | Максимальное количество строк - 10 | ||
+ | |||
+ | ===== ID:7 - VEHICLE_REMOVAL ===== | ||
+ | Используется для того, чтобы убрать деталь автомобиля из катсцены. | ||
+ | |||
+ | int ModelID, int BoneID | ||
+ | |||
+ | * ModelID - Порядковый номер модели, который записан в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS] | ||
+ | * BoneID - Идентификатор кости | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | [VEHICLE_REMOVAL] | ||
+ | 0 15301 | ||
+ | [/VEHICLE_REMOVAL] | ||
+ | |||
+ | Как можно заметить, ModelID параметр используется из тега ''MODELS'', по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE). | ||
+ | Максимальное количество строк - 100, для одного автомобиля - 10. | ||
+ | |||
+ | ===== ID:8 - CAMCORDER ===== | ||
+ | Определяет время включения/выключения "режима сьёмки". | ||
+ | |||
+ | int StartTime, int EndTime | ||
+ | |||
+ | * StartTime - время начала "режима сьёмки" | ||
+ | * EndTime - время окончания действия "режима сьёмки" | ||
+ | Максимальное количество строк - 30 | ||
+ | |||
+ | Пример: | ||
+ | |||
+ | [CAMCORDER] | ||
+ | 14900 19666 | ||
+ | 24199 27833 | ||
+ | 31633 37600 | ||
+ | 64766 67533 | ||
+ | 72466 100233 | ||
+ | [/CAMCORDER] | ||
+ | |||
+ | '''Примечание:''' [http://gtamodding.ru/wiki/Изображение:Camcorder_example.jpg Скриншот из катсцены с включенным "режимом сьёмки"] | ||
+ | |||
+ | ===== ID:9 - VARIATION ===== | ||
+ | Устанавливает варианты моделей и текстур педов в катсцене. Информация в теге является общей для всех секций. | ||
+ | |||
+ | int ID, int component, int drawableVariation, int textureVariation, int time | ||
+ | |||
+ | *ID - идентификатор субьекта (определён в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS]) | ||
+ | *component - ID компонента педа | ||
+ | |||
+ | 0 head | ||
+ | 1 uppr | ||
+ | 2 lowr | ||
+ | 3 suse | ||
+ | 4 hand | ||
+ | 5 feet | ||
+ | 6 jack | ||
+ | 7 hair | ||
+ | 8 sus2 | ||
+ | 9 teef | ||
+ | 10 face | ||
+ | |||
+ | *drawableVariation - номер варианта модели | ||
+ | *textureVariation - номер варианта текстуры | ||
+ | *time - время применения этой вариации | ||
+ | |||
+ | ===== ID:10 - REMOVE ===== | ||
+ | ===== ID:11 - FIXUP ===== | ||
+ | Секция в процессе разбора. Ниже приведена не разобранная структура: | ||
+ | float1, float2, float3, string, float4 | ||
+ | |||
+ | ===== ID:12 - CAMERA ===== | ||
+ | Имя камеры в .WAD. | ||
+ | Пример: | ||
+ | [CAMERA] | ||
+ | camera_0 | ||
+ | [/CAMERA] | ||
+ | |||
+ | ===== ID:13 - AUDIO ===== | ||
+ | Тег отвечает за использование аудио файла в катсцене. | ||
+ | |||
+ | Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf | ||
+ | |||
+ | Пример: | ||
+ | [AUDIO] | ||
+ | myaudio | ||
+ | [/AUDIO] | ||
+ | ===== ID:14 - TEXT ===== | ||
+ | Отображает текст внизу экрана. | ||
+ | |||
+ | int starttime, int length, string gxt | ||
+ | |||
+ | *starttime - время начала (в миллисекундах)<br/> | ||
+ | *length - продолжительность (в миллисекундах)<br/> | ||
+ | *gxt - имя строки в gxt. | ||
+ | |||
+ | Например: | ||
+ | [TEXT] | ||
+ | 10817 683 MY_TEXT_1 | ||
+ | 12250 1033 MY_TEXT_2 | ||
+ | 15017 2033 MY_TEXT_3 | ||
+ | [/TEXT] | ||
+ | |||
+ | Максмальное кол-во текстов - 500. | ||
+ | |||
+ | ===== ID:15 - ATTACHMENT ===== | ||
+ | Отвечает за крепление субьекта к субьекту. | ||
+ | |||
+ | int ID1, int ID2, int Unknown | ||
+ | * ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS | ||
+ | |||
+ | '''Примечание''': Тег не использовался в оригинальных .cut-файлах. | ||
+ | |||
+ | ===== ID:16 - PROPS ===== | ||
+ | int ModelID, int index, int prop | ||
+ | |||
+ | * ModelID - Порядковый номер модели, который записан в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS] | ||
+ | |||
+ | Максимальное количество строк - 50. | ||
+ | |||
+ | ===== ID:17 - FLAGS ===== | ||
+ | Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены. | ||
+ | |||
+ | Пример: | ||
[FLAG] | [FLAG] | ||
SHORT_FADE_OUT | SHORT_FADE_OUT | ||
[/FLAG] | [/FLAG] | ||
+ | ===== Список флагов: ===== | ||
{| {{Таблица}} | {| {{Таблица}} | ||
− | !| | + | !| Число |
+ | !| Флаг | ||
!| Описание | !| Описание | ||
|- | |- | ||
− | | FADE_BETWEEN_SECTION | + | | 1 |
− | | | + | | FADE_BETWEEN_SECTION |
+ | | Эффект затемнения между секциями .CUT | ||
|- | |- | ||
− | | NO_VEHICLE_LIGHTS | + | | 2 |
− | | | + | | NO_VEHICLE_LIGHTS |
− | + | | У автомобиля отсутствует свет | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|- | |- | ||
+ | | 4 | ||
| SHORT_FADE_OUT | | SHORT_FADE_OUT | ||
− | | | + | | |
|- | |- | ||
+ | | 8 | ||
| LONG_FADE_OUT | | LONG_FADE_OUT | ||
− | | | + | | |
|- | |- | ||
− | | | + | | 16 |
− | | | + | | |
+ | | | ||
+ | |- | ||
+ | | 32 | ||
+ | | FLAG_DONT_FADE_IN_FROM_GAME | ||
+ | | | ||
|- | |- | ||
+ | | 64 | ||
| FLAG_USE_ONE_AUDIO | | FLAG_USE_ONE_AUDIO | ||
− | | | + | | |
|- | |- | ||
+ | | 128 | ||
| FLAG_MUTE_MUSIC_PLAYER | | FLAG_MUTE_MUSIC_PLAYER | ||
− | | | + | | |
|- | |- | ||
+ | | 256 | ||
| FLAG_LEAK_RADIO | | FLAG_LEAK_RADIO | ||
− | | | + | | |
|- | |- | ||
− | | | + | | 512 |
− | | | + | | FLAG_DONT_FADE_OUT |
+ | | | ||
+ | |- | ||
+ | | 1024 | ||
+ | | NO_AMBIENT_LIGHTS | ||
+ | | Отсутствует свет в пространстве | ||
+ | |- | ||
+ | | 2048 | ||
+ | | FLAG_DONT_FADE_AUDIO_IN | ||
+ | | | ||
+ | |- | ||
+ | | 4096 | ||
+ | | FLAG_DONT_FADE_AUDIO_OUT | ||
+ | | | ||
|} | |} | ||
− | ==== | + | ===== ID:18 - LIGHTS ===== |
+ | ===== ID:19 - DRAW_DISTANCE ===== | ||
+ | Расстояние рендеринга объектов. | ||
− | + | int Time, int Unused, float DrawDistance, float Unknown | |
− | + | *Time - Время установки дистанции прорисовки | |
+ | *DrawDistance - Дальность видимости | ||
− | + | Максимальное количество строк - 100 | |
− | ==== | + | Пример: |
+ | |||
+ | [DRAW_DISTANCE] | ||
+ | 0 0 60.00000 | ||
+ | 5550 1 200.00000 | ||
+ | 8177 2 20.00000 | ||
+ | [/DRAW_DISTANCE] | ||
+ | |||
+ | '''Примечание 1:''' Второй параметр игнорируется игрой, но он должен обязательно присутствовать (это может быть любое целое число) | ||
+ | |||
+ | '''Примечание 2:''' При отсутсвии в .cut-файле последнего параметра, он приравнивается к 0.05. | ||
+ | |||
+ | ===== ID:20 - EFFECTS ===== | ||
+ | ===== ID:21 - BLOCKING_BOUNDS ===== | ||
+ | Определяет зоны блокировки (для педов/автомобилей). Используется для игнорирования Spawn (появления) педов/автомобилей в данной зоне. | ||
+ | |||
+ | float CornerAA_x, float CornerAA_y, float CornerAA_z, float CornerAB_x, float CornerAB_y, float CornerAB_z, float CornerBA_x, float CornerBA_y, float CornerBA_z, float CornerBB_x, float CornerBB_y, float CornerBB_z, float Height | ||
+ | |||
+ | *CornerAA, CornerAB, CornerBA, CornerBB - точки четырёхугольника | ||
+ | *Height - высота зоны | ||
− | + | Максимальное количество строк - 24 | |
− | + | Пример: | |
− | + | [BLOCKING_BOUNDS] | |
+ | -6.656193 3.182460 -1.100477 -3.160525 -2.872214 -1.100477 -0.601519 6.678128 -1.100477 2.894149 0.623454 -1.100477 6.991335 | ||
+ | -9.463666 8.045147 -1.100477 -5.967999 1.990473 -1.100477 -3.408992 11.540814 -1.100477 0.086675 5.486141 -1.100477 6.991335 | ||
+ | -12.252039 12.874750 -1.100477 -8.756371 6.820076 -1.100477 -6.197365 16.370419 -1.100477 -2.701697 10.315743 -1.100477 6.991335 | ||
+ | -15.035851 17.696455 -1.100477 -11.540183 11.641781 -1.100477 -8.981177 21.192123 -1.100477 -5.485509 15.137448 -1.100477 6.991335 | ||
+ | -17.831411 22.538509 -1.100477 -14.335744 16.483833 -1.100477 -11.776738 26.034176 -1.100477 -8.281070 19.979500 -1.100477 6.991335 | ||
+ | -20.628733 27.383612 -1.100477 -17.133064 21.328936 -1.100477 -14.574059 30.879278 -1.100477 -11.078391 24.824604 -1.100477 6.991335 | ||
+ | -3.858371 -1.663509 -1.100477 -0.362703 -7.718184 -1.100477 2.196303 1.832158 -1.100477 5.691970 -4.222516 -1.100477 6.991335 | ||
+ | [/BLOCKING_BOUNDS] | ||
− | ==== | + | ===== ID:24 - EXTRA_ROOM ===== |
− | + | string Unknown | |
− | + | ||
− | + | '''Примечание 1:''' Не используется в оригинальных .cut-файлах. | |
− | + | ||
− | + | '''Примечание 2:''' Полученное значение не используется игрой. | |
− | ==== | + | ===== ID:25 - MAX_PEDS ===== |
+ | Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене) | ||
− | + | Пример: | |
− | + | [MAX_PEDS] | |
+ | 5 | ||
+ | [/MAX_PEDS] | ||
− | ==== | + | ===== ID:26 - MAX_CARS ===== |
+ | Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене) | ||
− | + | Пример: | |
− | + | ||
− | + | [MAX_CARS] | |
− | [ | + | 2 |
− | + | [/MAX_CARS] | |
− | [/ | + | |
− | ==== | + | ===== ID:27 - TIMECYCLE_MODIFIER_NAME ===== |
− | + | Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat. | |
− | Пример | + | Пример: |
− | [ | + | [TIMECYCLE_MODIFIER_NAME] |
− | + | fau3_a | |
− | [/ | + | [/TIMECYCLE_MODIFIER_NAME] |
+ | |||
+ | '''Примечание:''' Не используется в оригинальных .cut-файлах. | ||
+ | |||
+ | === Секции, игнорируемые игрой === | ||
+ | |||
+ | ''ID:22 - PLAYER_START'' | ||
+ | |||
+ | ''ID:23 - MISSION_TEXT_NAME'' | ||
+ | |||
+ | '''Примечание:''' Эти два параметра используются только в [[SCO|.SCO]], поэтому данные секции игнорируются. | ||
+ | |||
+ | ''ORIENT'' | ||
+ | |||
+ | ''TIME'' | ||
+ | |||
+ | ''ANIMRANGE'' | ||
+ | |||
+ | ''COMPRESSION'' | ||
+ | |||
+ | === SCO (Native функции) для катсцен === | ||
+ | |||
+ | [[CLEAR_CUTSCENE]] | ||
+ | |||
+ | [[CLEAR_NAMED_CUTSCENE]] | ||
+ | |||
+ | [[EXPLODE_CAR_IN_CUTSCENE]] | ||
+ | |||
+ | [[EXPLODE_CAR_IN_CUTSCENE_SHAKE_AND_BIT]] | ||
+ | |||
+ | [[GET_CUTSCENE_TIME]] | ||
+ | |||
+ | [[GET_CUTSCENE_AUDIO_TIME_MS]] | ||
+ | |||
+ | [[GET_CUTSCENE_PED_POSITION]] | ||
+ | |||
+ | [[GET_CUTSCENE_SECTION_PLAYING]] | ||
+ | |||
+ | [[HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE]] | ||
+ | |||
+ | [[HAS_CUTSCENE_FINISHED]] | ||
+ | |||
+ | [[HAS_CUTSCENE_LOADED]] | ||
+ | |||
+ | [[INIT_CUTSCENE]] | ||
+ | |||
+ | [[IS_PED_IN_CUTSCENE_BLOCKING_BOUNDS]] | ||
+ | |||
+ | [[IS_PLAYER_READY_FOR_CUTSCENE]] | ||
+ | |||
+ | [[IS_POS_IN_CUTSCENE_BLOCKING_BOUNDS]] | ||
+ | |||
+ | [[MAKE_PLAYER_SAFE_FOR_CUTSCENE]] | ||
+ | |||
+ | [[SET_CAR_IN_CUTSCENE]] | ||
+ | |||
+ | [[SET_CHAR_IN_CUTSCENE]] | ||
+ | |||
+ | [[SET_CUTSCENE_EXTRA_ROOM_POS]] | ||
− | + | [[SHAKE_PAD_IN_CUTSCENE]] | |
− | + | [[START_CUTSCENE_NOW]] | |
− | + | [[START_CUTSCENE]] - не используется (?) | |
− | + | ||
− | + | [[SET_CUTSCENE_EXTRA_ROOM_POS]] | |
− | + | [[WAS_CUTSCENE_SKIPPED]] | |
− | |||
− | + | {{SA-navi}}{{GTA4-navi}} | |
− | + | [[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]] |
Текущая версия на 16:32, 14 сентября 2014
Катсцены - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку cs
перед именем.
Используются следующие форматы файлов:
Имя_сцены.ifp - пакет со списками кадров для каждого анимируемого объекта внутри сцены.
Имя_сцены.dat
- данные для движения камеры внутри сцены.
Имя_сцены_имя_объекта.anm - список кадров для лицевой анимации персонажей.
Имя_сцены.cut
- данные, необходимые для загрузки катсцены.
Имя_сцены.cam
- бинарная версия.dat
-файла, структура полностью совпадает.
Имя_сцены.anim
- новая версия пакетов анимаций, поддерживаемая исключительно GTA LCS и GTA VCS.
Описание форматов
CUT
Файл .cut
загружается первым. Он содержит важную информацию, например о загружаемых моделях или субтитрах. Он поделён на несколько секций. Не каждый cut-файл требует все секции, однако рекомендуется включать все, а неиспользуемые оставить пустыми.
INFO
Эта секция содержит информацию об оффсете. Она описывает 3D-координаты точки начала проигрывания катсцены.
info offset X Y Z end
Также этот параметр можно вызвать опкодом 0244.
MODEL
Эта секция содержит информацию о том, какая модель, какую анимацию будет использовать
model UnknInt, name, animation end
UnknInt - неизвестное число (зачастую просто 1)
name - название модели
animation - название анимации в IFP
Может содержать не более 50 значений!
EXTRACOL
Секция EXTRACOL выставлят цвет интерьера. Она аналогична опкоду 04F9.
extracol Number end
Number - число.
Extracolours редактируются в TimeCyc.DAT.
TEXT
Отображает текст внизу экрана.
text starttime, length, gxt end
starttime - время начала (в миллисекундах)
length - продолжительность (в миллисекундах)
gxt - текстовая строка в gxt
UNCOMPRESS
Декомпрессирует анимацию IFP.
uncompress Animation end
PEFFECT
Добавляет эффект из effects.fxp.
peffect effectname, starttime, endtime, unknown_number, bone, X, Y, Z, ?, ?, ? end
effectname - название эффекта
starttime - время начала (в миллисекундах)
endtime - время окончания
unknown_number - неизвестное число
bone - числовое значение (ID) части тела (кости) к которому прикрепляется эффект
X, Y, Z - координаты
?, ?, ? - неизвестно (возможно, поворот)
REMOVE
Убирает статический объект (записанный в IPL) по специфическим координатам.
remove Objectname, X, Y, Z end
Objectname - имя объекта
X, Y, Z - координаты
ATTACH
Предназначение этой секции неизвестно. Используется редко.
attach Number, Number, Number end
MOTION
Игра игнорирует эту секцию!
DAT
Файл dat
содержит в себе информацию о камерах.
Состоит из 4-х блоков:
- Блок 1: Поворот
- Блок 2: Увеличение (зум)
- Блок 3: Позиция камеры
- Блок 4: Цель камеры
Каждый блок начинается с целого числа, которое обозначает сколько далее проследует строк в блоке, а заканчивается символом ";" (без кавычек). В конце файла тоже должен стоять этот символ. Конец строки определяется запятой в конце. В строке следует три значения (кроме TimeOffset - оффсета начала времени), где последние 2 игнорируются. Поэтому 3 значения можно ставить одинаковыми.
TimeOffset,Значение1,Значение2,Значение3,
Блок 1 - Поворот
TimeOffset,Поворот(Значение_1),Поворот(Значение_2),Поворот(Значение_3),
Описывает поворот камеры под углом (в градусах) относительно целевой точки.
Блок 2 - Увеличение
TimeOffset,Увеличение(Значение_1),Увеличение(Значение_2),Увеличение(Значение_3),
Определяет фокусировку камеры.
Блок 3 - Позиция камеры
TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
Определяет позицию камеры.
Блок 4 - Направление камеры
TimeOffset,X(Значение_1),Y(Значение_1),Z(Значение_1),X(Значение_2),Y(Значение_2),Z(Значение_2),X(Значение_3),Y(Значение_3),Z(Значение_3),
Определяет точку, в которую будет направлена камера.
IFP
Блок, который содержит в себе анимации.
Список катсцен в San Andreas
Катсцена | Описание |
---|---|
bcesa4w | Финальная катсцена миссии "Wu Zi Mu" |
bcesa5w | Финальная катсцена миссии "Farewell, my love..." |
bcesar2 | Катсцена "King in Exile" |
bcesar4 | Вступительная катсцена миссии "Wu Zi Mu" |
bcesar5 | Вступительная катсцена миссии "Farewell, my love..." |
bcras1 | Катсцена миссии "Green Sabre" (3) |
bcras2 | Катсцена миссии "Green Sabre" (4) |
bhill1 | Катсцена миссии "Vertical Bird" |
bhill2 | |
bhill3a | |
bhill3b | |
bhill3c | |
bhill5a | |
bhill5b | |
cas6b_1 | |
cas6b_2 | |
cas_11a | |
cas_1a | |
cas_2 | |
cas_3 | |
cas_4a | |
cas_4b | |
cas_4c | |
cas_5a | |
cas_6a | Катсцена миссии "The Meat Business" |
cas_7b | Катсцена миссии "Fish in a barrel" |
cas_9a1 | |
cas_9a2 | |
cat_1 | |
cat_2 | |
cat_3 | |
cat_4 | |
cesar1a | |
crash1a | |
crash3a | |
crashv1 | |
crashv2a | |
crashv2b | |
cuttest | Тестовая катсцена, в нем показана двигающаяся вверх-вниз награда Мэдд Догга. В самом ifp-файле еще есть и двигающийся пистолет, который двигается так же |
d10_alt | |
d8_alt | |
date1a | |
date1b | |
date2a | |
date2b | |
date3a | |
date3b | |
date4a | |
date4b | |
date5a | |
date5b | |
date6a | |
date6b | |
desert1 | |
desert2 | |
desert3 | |
desert4 | |
desert6 | |
desert8 | |
desert9 | |
des_10a | |
des_10b | |
doc_2 | |
epilog | Окончание игры |
farl_2a | |
farl_3a | |
farl_3b | |
farl_4a | |
farl_5a | |
final1a | |
final2a | |
final2b | |
garag1b | |
garag1c | |
garag3a | |
grove1a | |
grove1b | |
grove1c | |
grove2 | |
heist1a | |
heist2a | |
heist4a | |
heist5a | |
heist6a | |
heist8a | |
intro1a | |
intro1b | |
intro2a | |
prolog1 | |
prolog3 | |
riot4e1 | |
riot4e2 | |
riot_1a | |
riot_1b | |
riot_2 | |
riot_4a | |
riot_4b | |
riot_4c | |
riot_4d | |
ryder1a | |
ryder2a | |
ryder3a | |
scrash1 | |
scrash2 | |
smoke1a | |
smoke1b | |
smoke2a | |
smoke2b | |
smoke3a | |
smoke4a | Катсцена миссии "Just Business" |
steal_1 | |
steal_2 | |
steal_4 | |
steal_5 | |
strap1a | |
strap2a | |
strap3a | |
strap4a | |
strp4b1 | |
strp4b2 | |
sweet1a | |
sweet1b | |
sweet1c | |
sweet2a | |
sweet2b | |
sweet3a | |
sweet3b | |
sweet4a | |
sweet5a | |
sweet6a | |
sweet6b | |
sweet7a | |
synd_2a | |
synd_2b | |
synd_3a | |
synd_4a | |
synd_4b | |
synd_7 | |
truth_1 | |
truth_2 | |
w2_alt | |
woozi1a | |
woozi1b | |
woozie2 | |
woozie4 | |
zero_1 | |
zero_2 | |
zero_4 |
SCM (Опкоды)
- 0244 - SetsCutscenePosition
- 02E4 - LoadsCutsceneData
- 02E7 - StartsCutscene
- 02E8 - GetsCutsceneTime
- 02E9 - HasCutsceneReachedEnd
- 02EA - EndsCutscene
- 03B7 - ProcessCutsceneOnly
- 06B9 - IsCutsceneDataLoaded
- 08D0 - IsCutsceneSkipped
- 08F0 - SetsCutsceneModelTexture
GTA IV
В GTA IV для каждой катсцены используются .WAD, .CUT и файлы моделей, которые принадлежат этой катсцене. .CUT файл этой игры использует теги. Список и описание этих тегов рассмотрены ниже.
Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций.
Описание тегов
ID:0 - SECTION_START
Тег указывает на начало секции катсцены.
ID:0 - SECTION_END
Тег указывает на конец секции катсцены.
ID:1 - OFFSET
Точка, которая определяет начало системы координат катсцены
float X, float Y, float Z
Пример:
[OFFSET] -109.416000 -265.023010 14.785000 [/OFFSET]
ID:2 - CUTSCENE_HEADER
Содержит диапазон кадров, которые используются в анимации
Например:
10 1000 1500 2500
Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500
P.S. Данные заметки могут быть неверны
ID:3 - DURATION
Определяет длительность секции
Пример:
[DURATION] 45466.667969 [/DURATION]
ID:4 - ANIM
Название WAD файла, в котором хранятся анимации для секции.
string WADName
Обычно, это <имя катсцены>_<ID секции>
Пример:
[ANIM] RB_1_1 [/ANIM]
ID:5 - MODELS
Содержит информацию о субьектах, которые присутсвуют в катсцене, а именно - их модели и анимации.
int ID, string ModelName, string AnimName, string HeadAnimName, int Unknown
- ID - идентификатор субьекта, который может использоваться в других тегах (в этой секций используется как порядковый номер)
- ModelName - название модели (модели для катсцен находятся в архиве cutsprops.img)
- AnimName - название анимации для субьекта из WAD файла
- HeadAnimName - название анимации лица для персонажа из WAD файла
В одной секции катсцены может быть использовано до 570 субьектов.
Пример:
[MODELS] 0 CS_Davethemate CS_Davethemate_0 Davethemate_head_0 1 player player_0 player_head_0 2 CS_Hossan CS_Hossan_0 cs_hossan_head_0 0 3 CS_WhippingGirl CS_WhippingGirl_0 4 csWhip csWhip_0 5 csToolBox csToolBox_0 [/MODELS]
ID:6 - VEHICLE_DETAILS
Присваивает некоторые характеристики транспорту.
int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery
- ID - идентификатор субьекта (определён в теге MODELS)
- color1...4 - ID цвета (из carcols.dat)
- dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)
- livery - тип используемого логотипа (по стандарту - -1) (например - Enforcer)
Пример:
[VEHICLE_DETAILS] 2 0 127 133 133 0 [/VEHICLE_DETAILS]
Максимальное количество строк - 10
ID:7 - VEHICLE_REMOVAL
Используется для того, чтобы убрать деталь автомобиля из катсцены.
int ModelID, int BoneID
- ModelID - Порядковый номер модели, который записан в теге MODELS
- BoneID - Идентификатор кости
Пример:
[VEHICLE_REMOVAL] 0 15301 [/VEHICLE_REMOVAL]
Как можно заметить, ModelID параметр используется из тега MODELS, по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE). Максимальное количество строк - 100, для одного автомобиля - 10.
ID:8 - CAMCORDER
Определяет время включения/выключения "режима сьёмки".
int StartTime, int EndTime
- StartTime - время начала "режима сьёмки"
- EndTime - время окончания действия "режима сьёмки"
Максимальное количество строк - 30
Пример:
[CAMCORDER] 14900 19666 24199 27833 31633 37600 64766 67533 72466 100233 [/CAMCORDER]
Примечание: Скриншот из катсцены с включенным "режимом сьёмки"
ID:9 - VARIATION
Устанавливает варианты моделей и текстур педов в катсцене. Информация в теге является общей для всех секций.
int ID, int component, int drawableVariation, int textureVariation, int time
- ID - идентификатор субьекта (определён в теге MODELS)
- component - ID компонента педа
0 head 1 uppr 2 lowr 3 suse 4 hand 5 feet 6 jack 7 hair 8 sus2 9 teef 10 face
- drawableVariation - номер варианта модели
- textureVariation - номер варианта текстуры
- time - время применения этой вариации
ID:10 - REMOVE
ID:11 - FIXUP
Секция в процессе разбора. Ниже приведена не разобранная структура:
float1, float2, float3, string, float4
ID:12 - CAMERA
Имя камеры в .WAD.
Пример: [CAMERA] camera_0 [/CAMERA]
ID:13 - AUDIO
Тег отвечает за использование аудио файла в катсцене.
Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf
Пример:
[AUDIO] myaudio [/AUDIO]
ID:14 - TEXT
Отображает текст внизу экрана.
int starttime, int length, string gxt
- starttime - время начала (в миллисекундах)
- length - продолжительность (в миллисекундах)
- gxt - имя строки в gxt.
Например:
[TEXT] 10817 683 MY_TEXT_1 12250 1033 MY_TEXT_2 15017 2033 MY_TEXT_3 [/TEXT]
Максмальное кол-во текстов - 500.
ID:15 - ATTACHMENT
Отвечает за крепление субьекта к субьекту.
int ID1, int ID2, int Unknown
- ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS
Примечание: Тег не использовался в оригинальных .cut-файлах.
ID:16 - PROPS
int ModelID, int index, int prop
- ModelID - Порядковый номер модели, который записан в теге MODELS
Максимальное количество строк - 50.
ID:17 - FLAGS
Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены.
Пример:
[FLAG] SHORT_FADE_OUT [/FLAG]
Список флагов:
Число | Флаг | Описание |
---|---|---|
1 | FADE_BETWEEN_SECTION | Эффект затемнения между секциями .CUT |
2 | NO_VEHICLE_LIGHTS | У автомобиля отсутствует свет |
4 | SHORT_FADE_OUT | |
8 | LONG_FADE_OUT | |
16 | ||
32 | FLAG_DONT_FADE_IN_FROM_GAME | |
64 | FLAG_USE_ONE_AUDIO | |
128 | FLAG_MUTE_MUSIC_PLAYER | |
256 | FLAG_LEAK_RADIO | |
512 | FLAG_DONT_FADE_OUT | |
1024 | NO_AMBIENT_LIGHTS | Отсутствует свет в пространстве |
2048 | FLAG_DONT_FADE_AUDIO_IN | |
4096 | FLAG_DONT_FADE_AUDIO_OUT |
ID:18 - LIGHTS
ID:19 - DRAW_DISTANCE
Расстояние рендеринга объектов.
int Time, int Unused, float DrawDistance, float Unknown
- Time - Время установки дистанции прорисовки
- DrawDistance - Дальность видимости
Максимальное количество строк - 100
Пример:
[DRAW_DISTANCE] 0 0 60.00000 5550 1 200.00000 8177 2 20.00000 [/DRAW_DISTANCE]
Примечание 1: Второй параметр игнорируется игрой, но он должен обязательно присутствовать (это может быть любое целое число)
Примечание 2: При отсутсвии в .cut-файле последнего параметра, он приравнивается к 0.05.
ID:20 - EFFECTS
ID:21 - BLOCKING_BOUNDS
Определяет зоны блокировки (для педов/автомобилей). Используется для игнорирования Spawn (появления) педов/автомобилей в данной зоне.
float CornerAA_x, float CornerAA_y, float CornerAA_z, float CornerAB_x, float CornerAB_y, float CornerAB_z, float CornerBA_x, float CornerBA_y, float CornerBA_z, float CornerBB_x, float CornerBB_y, float CornerBB_z, float Height
- CornerAA, CornerAB, CornerBA, CornerBB - точки четырёхугольника
- Height - высота зоны
Максимальное количество строк - 24
Пример:
[BLOCKING_BOUNDS] -6.656193 3.182460 -1.100477 -3.160525 -2.872214 -1.100477 -0.601519 6.678128 -1.100477 2.894149 0.623454 -1.100477 6.991335 -9.463666 8.045147 -1.100477 -5.967999 1.990473 -1.100477 -3.408992 11.540814 -1.100477 0.086675 5.486141 -1.100477 6.991335 -12.252039 12.874750 -1.100477 -8.756371 6.820076 -1.100477 -6.197365 16.370419 -1.100477 -2.701697 10.315743 -1.100477 6.991335 -15.035851 17.696455 -1.100477 -11.540183 11.641781 -1.100477 -8.981177 21.192123 -1.100477 -5.485509 15.137448 -1.100477 6.991335 -17.831411 22.538509 -1.100477 -14.335744 16.483833 -1.100477 -11.776738 26.034176 -1.100477 -8.281070 19.979500 -1.100477 6.991335 -20.628733 27.383612 -1.100477 -17.133064 21.328936 -1.100477 -14.574059 30.879278 -1.100477 -11.078391 24.824604 -1.100477 6.991335 -3.858371 -1.663509 -1.100477 -0.362703 -7.718184 -1.100477 2.196303 1.832158 -1.100477 5.691970 -4.222516 -1.100477 6.991335 [/BLOCKING_BOUNDS]
ID:24 - EXTRA_ROOM
string Unknown
Примечание 1: Не используется в оригинальных .cut-файлах.
Примечание 2: Полученное значение не используется игрой.
ID:25 - MAX_PEDS
Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене)
Пример:
[MAX_PEDS] 5 [/MAX_PEDS]
ID:26 - MAX_CARS
Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене)
Пример:
[MAX_CARS] 2 [/MAX_CARS]
ID:27 - TIMECYCLE_MODIFIER_NAME
Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat.
Пример:
[TIMECYCLE_MODIFIER_NAME] fau3_a [/TIMECYCLE_MODIFIER_NAME]
Примечание: Не используется в оригинальных .cut-файлах.
Секции, игнорируемые игрой
ID:22 - PLAYER_START
ID:23 - MISSION_TEXT_NAME
Примечание: Эти два параметра используются только в .SCO, поэтому данные секции игнорируются.
ORIENT
TIME
ANIMRANGE
COMPRESSION
SCO (Native функции) для катсцен
EXPLODE_CAR_IN_CUTSCENE_SHAKE_AND_BIT
HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE
IS_PED_IN_CUTSCENE_BLOCKING_BOUNDS
IS_POS_IN_CUTSCENE_BLOCKING_BOUNDS
START_CUTSCENE - не используется (?)