Jump to content

Cutscene: Difference between revisions

5,946 bytes removed ,  5 July 2009
m
no edit summary
mNo edit summary
Line 1: Line 1:
'''Cutscenes''' are short, pre-animated sequences before, during or after missions. Their purpose is to advance the plot and give background information about characters, situations and actions.
{{expand|Descriptions of cutscene usage and significance in various games should be described.}}
A '''cutscene''' is a break-away camera shot, often with ensuing dialogue, that depicts events in a [[GTA]] game storyline over which the player has no control.  Cutscenes generally apprear at the beginning of the game, at the beginning of [[missions]], and at important milestones in the game. Cutscenes can also be shown at several points throughout a mission, usually in long mission with many sections.  The purpose of the cutscene is to inform the player as to developments in the plot that are important to gameplay, and to provide a cinematic representation of occurrences throughout the story.


==San Andreas Cutscenes==
==History==
In [[San Andreas]] cutscenes are only loaded using [[main.scm]]. However, camera movement during cutscenes can't be controlled via script. This data is usually stored externally in the <code>anim\cuts.img</code> [[archive]]. Each cutscene consists of 3 files with the same name and a different extension: <code>.cut</code>, <code>.[[IFP|ifp]]</code> and <code>.dat</code>.
The first cutscene appears in [[Grand Theft Auto 3]] and then followed by other Grand Theft Auto 3 and 4 era. To activate a cutscene, the player must step on blips, which, stepping it a cutscene ensues.


Whilst modification of existing cutscenes is possible through the files detailed below, new cutscenes cannot be added to the game unless they have a filename that already exists. This is due to the presence of an internally hardcoded table which links each cutscene (the .cut, .ifp and .dat files) to its [[audio stream]]s and it does so by cutscene filename.
==Overview==
The cut scenes serve multiple purposes: as a visual narration of the storyline, as formal directives of a mission, and as a visual assessment of a scene and objective. During gameplay, mission updates and messages are relayed through text-based instructions given in the form of on-screen subtitles, or on a few occasions, the player character's pager, similar to GTA1. GTA III also includes one-time tutorial directives to familiarize the player with the game's controls and features.


===Cutscene data===
This are the Grand Theft Auto games where cutscene plays a major role:
====The CUT File====
*[[Grand Theft Auto 3]]
The <code>.cut</code> file is loaded first. It contains the important data of the cutscene like its offset and the loaded [[Model_file|models]]. The models of an cutscene are usually stored in the <code>models\cutscene.img</code> archive. It's split up into certain sections. Not every cut-file requires all sections, but it is better to include all sections into a cut-file and leave unused sections empty.
*[[Grand Theft Auto: Vice City]]
 
*[[Grand Theft Auto: San Andreas]]
=====INFO=====
*[[Grand Theft Auto Advance]]
The info section contains information to the offset. It describes the 3D-coords of a point to which all other coords in the rest of the files are relative. Its format is
*[[Grand Theft Auto: Liberty City Stories]]
 
*[[Grand Theft Auto: Vice City Stories]]
info
*[[Grand Theft Auto 4]]
offset X Y Z
*[[The Lost and Damned]]
end
 
The offset parameter can also be set using opcode [[0244]].
 
=====MODEL=====
The model section contains information about models the cutscene uses. The models don't need to be defined in the [[IDE]]s. But the [[texture]] name must be the same as the model's one. The model section also attaches models to animations in the IFP-animation archive. Its format is:
 
model
?, name, animation
end
 
Where the name is without extension, and the animation describes an entry in the IFP file. The unknown value is a number, which is always 1 and actually is ignored by the game.<br/>
'''There is a Limit to 50 entries here!'''
 
=====EXTRACOL=====
Extracol stands for ''"Extracolor"'' and sets the active interior's color. It corresponds to the opcode [[04F9]].
 
extracol
Number
end
 
Extracolours can be edited in the [[timecyc.dat]].
 
=====TEXT=====
The text section displays a [[GXT]] entry at an certain point of time relative to the cutscene start.
 
text
starttime, length, gxt
end
 
Where the numbers are integer and define the time in milliseconds.
 
=====UNCOMPRESS=====
the uncompress-section uncompresses the IFP animations.
 
uncompress
Animation
end
 
=====PEFFECT=====
stands for the particle effect and sets an particle effect from the [[Particle (SA)|effects.fxp]].
 
peffect
effectname, starttime, endtime, unknown_number, bone, X, Y, Z, ?, ?, ?
end
 
The bone is a number of the body part the particle effect is attached to.
 
=====REMOVE=====
Removes an static ([[IPL]]-mapped) object being placed at specified coord.
 
remove
Objectname, X, Y, Z
end
 
=====ATTACH=====
Actually the content and use of this section is unknown. It is rarely used.
 
attach
Number, Number, Number
end
 
=====MOTION=====
''This section is ignored by the game!''
 
====The DAT-File====
The <code>dat</code>-file contains information about the camera movements during the cutscene.
 
It consists of 4 blocks:
 
* Block1: Rotation
* Block2: Zoom
* Block3: CameraPositions
* Block4: CameraTargetPoints
 
Each block starts with an integer number being the number of entries in this block, followed by its content and ended by a semicolon. The whole file is also marked as finished with an additional semicolon. Each line is marked as finished by an simple comma.
The file describes 3 lanes, where the last 2 ones are ignored. So those 3 lines could be set identically by editors. This gives a general format:
 
TimeOffset,Lane1,Lane2,Lane3,
 
The TimeOffset is an floating value which defines the time of the event in seconds. The game interpolates the curve between the 2 points.
 
=====Block1 - Rotation=====
TimeOffset,Rotation(Lane_1),Rotation(Lane_2),Rotation(Lane_3),
 
Describes the rotation around the vector towards the target point in euler angles (degree).
 
=====Block2 - Zoom=====
TimeOffset,Zoom(Lane_1),Zoom(Lane_2),Zoom(Lane_3),
 
Defines the focal of the camera for each lane.
 
=====Block3 - Cameraposition=====
TimeOffset,X(Lane_1),Y(Lane_1),Z(Lane_1),X(Lane_2),Y(Lane_2),Z(Lane_2),X(Lane_3),Y(Lane_3),Z(Lane_3),
 
Defines the position of the camera relative to the offset point.
 
=====Block4 - Target=====
TimeOffset,X(Lane_1),Y(Lane_1),Z(Lane_1),X(Lane_2),Y(Lane_2),Z(Lane_2),X(Lane_3),Y(Lane_3),Z(Lane_3),
 
Defines the position of the target of the camera relative to the offset-point.
 
====The IFP animation archive====
This is an ANPK (Animation Package v1 | GTA III/VC) IFP file including the animations used for the cutscene. For the file specification look here: [[IFP|IFP Animations]]. The positions of the bones and animated objects in the animation are relative to the offset defined in the INFO section of the .cut file.
 
===List of Cutscenes in San Andreas===
{| {{Prettytable}} class="collapsible collapsed"
! Cutscene
! Description
|-
| bcesa4w
|-
| bcesa5w
|-
| bcesar2
|-
| bcesar4
|-
| bcesar5
|-
| bcras1
|-
| bcras2
|-
| bhill1
|-
| 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
|-
| cas_7b
|-
| cas_9a1
|-
| cas_9a2
|-
| cat_1
|-
| cat_2
|-
| cat_3
|-
| cat_4
|-
| cesar1a
|-
| crash1a
|-
| crash3a
|-
| crashv1
|-
| crashv2a
|-
| crashv2b
|-
| cuttest || a simple cutscene test, all you can see is a window moving
|-
| 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 || the game's ending
|-
| 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
|-
| 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 (OpCodes)===
 
* [[0244]] - SetsCutscenePosition
* [[02E4]] - LoadsCutsceneData
* [[02E7]] - StartsCutscene
* [[02E8]] - GetsCutsceneTime
* [[02E9]] - HasCutsceneReachedEnd
* [[02EA]] - EndsCutscene
* [[03B7]] - ProcessCutsceneOnly
* [[06B9]] - IsCutsceneDataLoaded
* [[08D0]] - IsCutsceneSkipped
* [[08F0]] - SetsCutsceneModelTexture


==External Links==
==External Links==
* [http://sannybuilder.com/forums/viewtopic.php?id=115 Cutscene decoding Thread in SannyBuilder Forums (SA)]
A list of cutscenes from the GTA series can be found on the link below.
 
*[http://www.gtamissions.com gtamissions.com]
{{SA-navi}}
[[Category:Terminology]]
[[Category:File Formats]]{{fdl}}
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.