Катсцены — различия между версиями

Материал из GTAModding.ru
Перейти к: навигация, поиск
(VEHICLE_REMOVAL)
(ID:12 - CAMERA)
 
(не показаны 107 промежуточных версий 5 участников)
Строка 1: Строка 1:
{{Перевод}}
 
 
{{Stub}}
 
{{Stub}}
'''Катсцены''' - это небольшие анимированные вставки, которые в основном служат для развития сюжета.
+
'''Катсцены''' - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку <code>cs</code> перед именем.
  
==[[GTA SA]] и [[GTA LCS]]==
+
Используются следующие форматы файлов:
В [[GTA SA]] и [[GTA LCS]] для каждой катсцены используются по 3 файла: <code>.cut</code>, <code>.[[IFP|ifp]]</code> и <code>.dat</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 редактируются в [[timecyc.dat]].
+
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 могут состоять из нескольких секций, для деления на секции используются теги [SECTION_START] и [SECTION_END]
+
 
 +
Катсцены в GTA IV состоят из секций. В одной катсцене может быть от одной до 15 секций.
  
 
=== Описание тегов ===
 
=== Описание тегов ===
  
==== CUTSCENE_HEADER ====
+
===== ID:0 - SECTION_START =====
 +
Тег указывает на начало секции катсцены.
 +
===== ID:0 - SECTION_END =====
 +
Тег указывает на конец секции катсцены.
 +
===== ID:1 - OFFSET =====
 +
Точка, которая определяет начало системы координат катсцены
  
В GTA 4 каждый .CUT файл начинается с этого тега. Предположительно, это переведённое название .cut файла в какое то числовое значение.
+
float X, float Y, float Z
  
Ниже указан пример использования тега (отрывок был взят с файла rpbad1.cut):
+
Пример:
  
  [CUTSCENE_HEADER]
+
  [OFFSET]
  378 1750
+
  -109.416000 -265.023010 14.785000
  [/CUTSCENE_HEADER]
+
  [/OFFSET]
  
==== SECTION_START ====
+
===== ID:2 - CUTSCENE_HEADER =====
Тег указывает на начало секции катсцены.
+
Содержит диапазон кадров, которые используются в анимации
  
==== SECTION_END ====
+
Например:
Тег указывает на конец секции катсцены.
+
  
==== DRAW_DISTANCE ====
+
10 1000 1500 2500
  
{{Шаблон:Заготовка}}
+
Настройки .cut файла будут применены к диапазону кадров анимации с 10 по 1000 и затем от 1500 до 2500
  
==== MISSION_TEXT_NAME ====
+
P.S. Данные заметки могут быть неверны
  
Тег используется для указания категории в [[GXT]] файле, в которой хранится список текстов для определённой миссии (надо проверить).
+
===== ID:3 - DURATION =====
 +
Определяет длительность секции
  
Ниже указан пример:
+
Пример:
  
  [MISSION_TEXT_NAME]
+
  [DURATION]
  MYTEXT_1
+
  45466.667969
  [/MISSION_TEXT_NAME]
+
  [/DURATION]
  
==== TEXT ====
+
===== ID:4 - ANIM =====
 +
Название [[Wad|WAD]] файла, в котором хранятся анимации для секции.
  
==== FLAGS ====
+
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
|-
+
| У автомобиля отсутствует свет
| NO_AMBIENT_LIGHTS
+
| Игнорирование окружающего света
+
|-
+
| FLAG_DONT_FADE_AUDIO_IN
+
| ?
+
 
|-
 
|-
 +
| 4
 
| SHORT_FADE_OUT
 
| SHORT_FADE_OUT
| Короткое затухание экрана
+
|
 
|-
 
|-
 +
| 8
 
| LONG_FADE_OUT
 
| LONG_FADE_OUT
| Долгое затухание экрана
+
|  
 
|-
 
|-
| FLAG_DONT_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
| ?
+
|
 
|-
 
|-
| FLAG_DONT_FADE_IN_FROM_GAME
+
| 512
| Как-то связано с затуханием?
+
| FLAG_DONT_FADE_OUT
 +
|
 +
|-
 +
| 1024
 +
| NO_AMBIENT_LIGHTS
 +
| Отсутствует свет в пространстве
 +
|-
 +
| 2048
 +
| FLAG_DONT_FADE_AUDIO_IN
 +
|
 +
|-
 +
| 4096
 +
| FLAG_DONT_FADE_AUDIO_OUT
 +
|
 
|}
 
|}
  
==== BLOCKING_BOUNDS ====
+
===== ID:18 - LIGHTS =====
 +
===== ID:19 - DRAW_DISTANCE =====
 +
Расстояние рендеринга объектов.
  
==== PLAYER_START ====
+
int Time, int Unused, float DrawDistance, float Unknown
  
==== MODELS ====
+
*Time - Время установки дистанции прорисовки
 +
*DrawDistance - Дальность видимости
  
==== COMPRESSION ====
+
Максимальное количество строк - 100
  
==== VARIATION ====
+
Пример:
 +
 +
[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 - высота зоны
  
==== LIGHTS ====
+
Максимальное количество строк - 24
  
==== EFFECTS ====
+
Пример:
 
   
 
   
==== VEHICLE_DETAILS ====
+
[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]
  
==== VEHICLE_REMOVAL ====
+
===== ID:24 - EXTRA_ROOM =====
  
Возможно используется для того, чтобы убрать автомобиль в определённый участок кадра катсцены.
+
  string Unknown
  unkn1, Frame?
+
  
;unkn1: - Неизвестный параметр.
+
'''Примечание 1:''' Не используется в оригинальных .cut-файлах.
;Frame?: - Предположительно это участок кадра, в котором автомобиль будет удаляться в участке катсцены на данном промежутке.
+
  
==== ORIENT ====
+
'''Примечание 2:''' Полученное значение не используется игрой.
  
==== REMOVE ====
+
===== ID:25 - MAX_PEDS =====
 +
Определяет максимальное количество педов в катсцене (не считая педов, задействованных в катсцене)
  
==== TIME ====
+
Пример:
  
==== OFFSET ====
+
[MAX_PEDS]
 +
5
 +
[/MAX_PEDS]
  
==== DURATION ====
+
===== ID:26 - MAX_CARS =====
 +
Определяет максимальное количество автомобилей в катсцене (не считая автомобилей, задействованных в катсцене)
  
==== AUDIO ====
+
Пример:
Тег отвечает за то, какой аудио файл будет использоваться в катсцене. Тег всего лишь состоит из имени аудио файла. Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf
+
  
Пример использования тега:
+
  [MAX_CARS]
  [AUDIO]
+
  2
  myaudio
+
  [/MAX_CARS]
  [/AUDIO]
+
  
==== ANIM ====
+
===== ID:27 - TIMECYCLE_MODIFIER_NAME =====
Имя анимации, которая используется в данном .cut файле для нанесения различных параметров.
+
Используется для указания модификатора Timecycle, который придает некоторые графические эффекты игры. По умолчанию, используется модификатор e2_int. Список можно посмотреть в файле timecyclemodifiers№.dat.
  
Пример использования тэга:
+
Пример:
  [ANIM]
+
  [TIMECYCLE_MODIFIER_NAME]
  MY_ANIM_0
+
  fau3_a
  [/ANIM]
+
  [/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]]
  
В данном примере, мой .cut файл будет именоваться как my_anim.cut.
+
[[SHAKE_PAD_IN_CUTSCENE]]
  
==== ANIMRANGE ====
+
[[START_CUTSCENE_NOW]]
  
==== CAMERA ====
+
[[START_CUTSCENE]] - не используется (?)
В этом теге указывается название анимации из .[[WAD]] файла сцены которая будет использоваться для камеры в текущей секции.
+
  
==== OFFSET ====
+
[[SET_CUTSCENE_EXTRA_ROOM_POS]]
  
==== EXTRA_ROOM ====
+
[[WAS_CUTSCENE_SKIPPED]]
  
==== TIMECYCLE_MODIFIER_NAME ====
 
  
{{GTA3-navi}}{{VC-navi}}{{SA-navi}}{{GTA4-navi}}
+
{{SA-navi}}{{GTA4-navi}}
[[Категория:GTA 3]][[Категория:GTA VC]][[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]]
+
[[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]]

Текущая версия на 16:32, 14 сентября 2014

Катсцены - анимационные заставки к миссиям, воспроизводимые движком игры. Служат для подачи сюжета игроку. Хранятся в архиве CUTS.IMG (MOCAPPS2.IMG в GTA VCS). Модели, использующиеся в катсценах, имеют специфическую иерархию и обычно содержат приставку cs перед именем.

Используются следующие форматы файлов:

Gta3.png Vc.png Sa.png Lcs.png Имя_сцены.ifp - пакет со списками кадров для каждого анимируемого объекта внутри сцены.
Gta3.png Vc.png Sa.png Lcs.png Имя_сцены.dat - данные для движения камеры внутри сцены.
Gta3.png Имя_сцены_имя_объекта.anm - список кадров для лицевой анимации персонажей.
Sa.png Lcs.png Vcs.png Имя_сцены.cut - данные, необходимые для загрузки катсцены.
Vcs.png Имя_сцены.cam - бинарная версия .dat-файла, структура полностью совпадает.
Vcs.png Имя_сцены.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

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 функции) для катсцен

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


п · о · р
San Andreas Grand Theft Auto: San Andreas
Форматы файлов.col.cfg.cut.dff.dat.fxp.gxt.ide.ifp.img.ipl.rep.rrr.scm.txd.set
Документацияcarcols.datCarrecPed EventsPed TypeАдреса Памяти Функций (SA)Анимация моделей в SAВизуальные эффекты в скриптинге
Загруженные звукиКатсценыНомера оружияРисование на экранеТрюки с меткамиСтатистикаСтруктура аудио в SABeta версия
ИнструментыCLEOCollision File Editor IIENBSeriesG-ToolsGXT EditorIMG ToolPS2 TXD ModPS2 TXD ViewerLimit AdjusterMap EditorPathViewer
San Andreas Audio ToolkitSan Andreas Texture PlacerSanny BuilderTXD WorkshopTXDFuckerXBOX TXD PowerTool
ТуториалыРедактирование аудио в SAИзменение cutsceneDecision MakerПропуск роликовКонвертация автомобилей в SA
Основы маппинга GTA:SAДелаем ломающиеся объектыКонвертирование персонажа в SA2dfx в SanAndreasМоддинг San Andreas v2.0
Новая анимация персонажейУниверсальный солдат (GTA SA)
МодыAlien CityDesign Your Own MissionGTA: UnitedGTA StoriesGTA Berlin
МультиплеерgtaTournamentMulti Theft AutoSan Andreas Multiplayer
п · о · р
GTA 4 Grand Theft Auto IV
Форматы файлов.dat.gxt.ide.img.ipl.nod.sco.rpf.rrr.wdd.wdr.wft.wbd/wbn.whm.wad.wnv.wpl.wtd
Документация Handling.datgta.datОружиеКатсценыПутиСкриптовые функцииШифрованиеФормат CFG файла настроек
Скриптинг в GTA 4
ИнструментыAPE IVASI LoaderIV NeedleGIMSOpenIVPathViewerSparkIVXLiveLessRaCon
Скриптовые программыAliceC++ Script HookScocl.NET Script HookDelphi Hook
ТуториалыИмпортирование текстур с помощью OpenIVИмпортирование текстур с помощью SparkIV
МодификацииGTA Vice City RageIV:SAGostown Paradise IV