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

Материал из GTAModding.ru
Перейти к: навигация, поиск
(SCO (Native функций) для катсцен)
Строка 767: Строка 767:
  
 
== SCO (Native функций) для катсцен ==
 
== SCO (Native функций) для катсцен ==
 +
 +
[[CLEAR_NAMED_CUTSCENE]]
 +
 +
[[CLEAR_NAMED_CUTSCENE]]
 +
 +
[[HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE]]
 +
 +
[[IS_PLAYER_READY_FOR_CUTSCENE]]
 +
 +
[[NOT HAS_CUTSCENE_LOADED]]
 +
 
 +
[[NOT HAS_CUTSCENE_FINISHED]]
 +
 
[[START_CUTSCENE_NOW]] - Запустить катсцену
 
[[START_CUTSCENE_NOW]] - Запустить катсцену
  
[[CLEAR_NAMED_CUTSCENE]] - Завершить катсцену (?)
+
[[START_CUTSCENE]] - Не используется (?)
 +
 
 +
[[SET_CUTSCENE_EXTRA_ROOM_POS]]
 +
 
 +
 
  
 
{{SA-navi}}{{GTA4-navi}}
 
{{SA-navi}}{{GTA4-navi}}
 
[[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]]
 
[[Категория:GTA SA]][[Категория:GTA LCS]][[Категория:GTA VCS]][[Категория:GTA 4]] [[Категория:Форматы файлов]]

Версия 12:22, 17 апреля 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, как обычно, не используются внутри секций.

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

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
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

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

[TEXT]
starttime, length, gxt
[/TEXT]
  • starttime - время начала (в миллисекундах)
  • length - продолжительность (в миллисекундах)
  • gxt - имя строки в gxt.
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_NAMED_CUTSCENE

CLEAR_NAMED_CUTSCENE

HIDE_CHAR_WEAPON_FOR_SCRIPTED_CUTSCENE

IS_PLAYER_READY_FOR_CUTSCENE

NOT HAS_CUTSCENE_LOADED

NOT HAS_CUTSCENE_FINISHED

START_CUTSCENE_NOW - Запустить катсцену

START_CUTSCENE - Не используется (?)

SET_CUTSCENE_EXTRA_ROOM_POS


п · о · р
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