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

Материал из GTAModding.ru
Перейти к: навигация, поиск
(ID:6 - VEHICLE_DETAILS)
м (ID:6 - VEHICLE_DETAILS)
Строка 520: Строка 520:
 
Присваивает некоторые характеристики транспорту.
 
Присваивает некоторые характеристики транспорту.
 
  int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery
 
  int ID, int color1, int color2, int color3, int color4, int dirtLevel, int livery
ID - идентификатор субьекта (определён в теге MODELS)
+
ID - идентификатор субьекта (определён в теге [http://gtamodding.ru/wiki/Катсцены#ID:5_-_MODELS MODELS])  
color1...4 - ID цвета (carcols.dat)
+
color1...4 - ID цвета (из [http://gtamodding.ru/wiki/Carcols.dat#GTA_4 carcols.dat])  
dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)
+
dirtLevel - уровень загрязнённости (0-15, по стандарту - 0)  
 
livery - тип используемого логотипа (по стандарту - -1)
 
livery - тип используемого логотипа (по стандарту - -1)
  

Версия 11:08, 24 мая 2012

Катсцены - это небольшие анимированные вставки, которые в основном служат для развития сюжета.

Содержание

GTA SA и GTA LCS

В GTA SA и GTA LCS для каждой катсцены используются по 3 файла: .cut, .ifp и .dat.

Описание форматов

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 секций. Теги DRAW_DISTANCE, FLAGS, BLOCKING_BOUNDS, CAMCORDER, TEXT, как обычно, не используются внутри секций. Секций .cut файла разобрали - DK22PAC и Solom.

Описание тегов

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

Неизвестная секция. Вызывает ли она вылет игры при удалений данной секций из .cut файла - пока непонятно.

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

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)

ID:7 - VEHICLE_REMOVAL

Используется для того, чтобы убрать деталь автомобиля из катсцены.

Number, BoneID

Number - Порядковый номер модели, который записан в теге [MODELS].

BoneID - Идентификатор кости.

Пример:

[MODELS]
0 Banshee Banshee_0
[/MODELS]
[VEHICLE_REMOVAL]
0 15301
[/VEHICLE_REMOVAL]

Как можно заметить, Number параметр используется из тега MODELS, по которому игра определяет, какая модель используется для удаления детали автомобиля. Движок определяет по идентификатору кости, который записан в .wft файле модели (в данном случае - автомобиль BANSHEE).

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
ID:10 - REMOVE
ID:11 - FIXUP

Секция в процессе разбора. Ниже приведена не разобранная структура:

float1, float2, float3, string, float4
ID:12 - CAMERA

В этом теге указывается название анимации из .WAD файла сцены которая будет использоваться для камеры в текущей секции. Обычно, это camera_<ID секции>

Пример:
[CAMERA]
camera_0
[/CAMERA]
ID:13 - AUDIO

Тег отвечает за использование аудио файла в катсцене.

Все аудио файлы для катсцены расположены в директории pc/audio/sfx/cutscenes.rpf

Пример:

[AUDIO]
myaudio
[/AUDIO]
ID:14 - TEXT

Отображает текст внизу экрана.

starttime, length, gxt
  • starttime - время начала (в миллисекундах)
  • length - продолжительность (в миллисекундах)
  • gxt - имя строки в gxt.

Например:

[TEXT]
10817	683	MY_TEXT_1
12250	1033	MY_TEXT_2
15017	2033	MY_TEXT_3
[/TEXT]
ID:15 - ATTACHMENT

Отвечает за крепление субьекта к субьекту.

int ID1, int ID2, int Unknown
  • ID1, ID2 - идентификаторы субьектов, присваиваются в секции MODELS

Примечание: Тег не использовался в оригинальных .cut-файлах.

ID:16 - PROPS
ID:17 - FLAGS

Секция для флагов. Флаги назначают некоторые дополнительные параметры или эффекты во время катсцены.

Пример:

[FLAG]
SHORT_FADE_OUT
[/FLAG]


Число Флаг Описание
1 FADE_BETWEEN_SECTION
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