Difference between revisions of "Cutscene"

From GTAMods Wiki
Jump to navigation Jump to search
m (Added Categories)
m (typos fixing)
Line 3: Line 3:
 
=San Andreas Cutscenes=
 
=San Andreas Cutscenes=
  
In San Andreas cutscenes are only loaded using SCM. You cannot control the camera movement in via SCM. They are usualy stored externaly in the <code>anim\cuts.img</code> archive. Each cutscene consists of 3 files with the same name and a diffrent extension. These extensions are: <code>.cut</code>, <code>.ifp</code> and <code>.dat</code>.
+
In San Andreas cutscenes are only loaded using SCM. You cannot control the camera movement in via SCM. They are 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. These extensions are: <code>.cut</code>, <code>.ifp</code> and <code>.dat</code>.
  
 
==Cutscene data==
 
==Cutscene data==
  
===The CUT-File===
+
===The CUT File===
  
The <code>.cut</code> file is loaded first. It contains the important data of the cutscene like it's offset and the loaded 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 an cut-file and leave unused sections empty!
+
The <code>.cut</code> file is loaded first. It contains the important data of the cutscene like its offset and the loaded 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.
  
 
====INFO====
 
====INFO====
  
The info section contains information to the offset. The offset is an 3d-coord. It descripes an point to which all other coords in the rest of the files are relative. It's format is
+
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
  
 
  info
 
  info
Line 19: Line 19:
 
  end
 
  end
  
The offset parameters can also be set using this opcode: [[0244|0244]].
+
The offset parameter can also be set using opcode [[0244]].
  
 
====MODEL====
 
====MODEL====
  
The model section contains information about the models the cutscene uses. The models needn't be defined in IDEs. But the texturename must be the same as the model's one. The model-section also attaches models to animations in the IFP-Animationarchive. It's format is:
+
The model section contains information about models the cutscene uses. The models don't need to be defined in the IDEs. 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
 
  model
Line 29: Line 29:
 
  end
 
  end
  
Where the name is without extension, and the animation descripes an entry in the IFP File. The unknown value is an number, which is allways 1 and actually is ignored by the game.
+
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 an Limit of 50 entries here!'''
+
'''There is a Limit to 50 entries here!'''
  
 
====EXTRACOL====
 
====EXTRACOL====
  
... stands for ''"Extracolor"'' and set's the active interior's color. It corresponds to the opcode [[04F9|04F9]].
+
Extracol stands for ''"Extracolor"'' and sets the active interior's color. It corresponds to the opcode [[04F9]].
  
 
  extracol
 
  extracol
Line 42: Line 42:
 
====TEXT====
 
====TEXT====
  
The text section displays an GXT Entry at an certain point of time relative to the cutscene start.
+
The text section displays a GXT Entry at an certain point of time relative to the cutscene start.
  
 
  text
 
  text
Line 48: Line 48:
 
  end
 
  end
  
Where the numbers are integers and define the time in milliseconds.
+
Where the numbers are integer and define the time in milliseconds.
  
 
====UNCOMPRESS====
 
====UNCOMPRESS====
  
the uncompress-section uncompresses IFP-Animations.
+
the uncompress-section uncompresses the IFP animations.
  
 
  uncompress
 
  uncompress
Line 60: Line 60:
 
====PEFFECT====
 
====PEFFECT====
  
stands for particle effect and sets an particle effect from the effects.fxp somwhere.
+
stands for the particle effect and sets an particle effect from the [[effects.fxp]].
  
 
  peffect
 
  peffect
Line 66: Line 66:
 
  end
 
  end
  
The bone is an number which descripes a body part the particle effect or object is attached to.
+
The bone is a number of the body part the particle effect is attached to.
  
 
====REMOVE====
 
====REMOVE====
  
Removes an static (IPL-mapped) object from an coord!
+
Removes an static (IPL-mapped) object being placed at specified coord.
  
 
  remove
 
  remove
Line 78: Line 78:
 
====ATTACH====
 
====ATTACH====
  
Actually the content and use of this section is unknown. It is rarly used.
+
Actually the content and use of this section is unknown. It is rarely used.
  
 
  attach
 
  attach
Line 90: Line 90:
 
===The DAT-File===
 
===The DAT-File===
  
The <code>dat</code>-file contains information about the cameramovements during the cutscene.
+
The <code>dat</code>-file contains information about the camera movements during the cutscene.
  
 
It consists of 4 blocks:
 
It consists of 4 blocks:
Line 99: Line 99:
 
* Block4: CameraTargetPoints
 
* Block4: CameraTargetPoints
  
Each block is startet by an integer which defines the number of entries in the block, followed by it's content and at least it is ended by an semicolon. The whole file is also marked as finished with an additional semicolon. Each line is marked as finished by an simple comma.
+
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 descripes 3 lanes, where the last 2 ones are ignored. So those 3 lines could be set identically by editors. This gives a general format:
+
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,
 
  TimeOffset,Lane1,Lane2,Lane3,
Line 110: Line 110:
 
  TimeOffset,Rotation(Lane_1),Rotation(Lane_2),Rotation(Lane_3),
 
  TimeOffset,Rotation(Lane_1),Rotation(Lane_2),Rotation(Lane_3),
  
Descripes the rotation around the vector towards the target point in euler angles (degree).
+
Describes the rotation around the vector towards the target point in euler angles (degree).
  
 
====Block2 - Zoom====
 
====Block2 - Zoom====
Line 122: Line 122:
 
  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),
 
  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.
+
Defines the position of the camera relative to the offset point.
  
 
====Block4 - Target====
 
====Block4 - Target====
Line 130: Line 130:
 
Defines the position of the target of the camera relative to the offset-point.
 
Defines the position of the target of the camera relative to the offset-point.
  
===The IFP-Animationarchive===
+
===The IFP animation archive===
  
This is an ANPK (Animation Package v1 | GTA VC) IFP-File including the animations used for the cutscene. For the file stub look here: [[IFP|IFP-Animations]].
+
This is an ANPK (Animation Package v1 | GTA VC) IFP file including the animations used for the cutscene. For the file stub look here: [[IFP|IFP Animations]].
  
 
==List of Cutscenes in San Andreas==
 
==List of Cutscenes in San Andreas==
Line 140: Line 140:
 
==SCM (OpCodes)==
 
==SCM (OpCodes)==
  
* [[0244|0244]] - SetCutscenePosition
+
* [[0244|0244]] - SetsCutscenePosition
* [[02E4|02E4]] - LoadCutsceneData
+
* [[02E4|02E4]] - LoadsCutsceneData
* [[02E7|02E7]] - StartCutscene
+
* [[02E7|02E7]] - StartsCutscene
* [[02E8|02E8]] - GetCutsceneTime
+
* [[02E8|02E8]] - GetsCutsceneTime
 
* [[02E9|02E9]] - HasCutsceneReachedEnd
 
* [[02E9|02E9]] - HasCutsceneReachedEnd
* [[02EA|02EA]] - EndCutscene
+
* [[02EA|02EA]] - EndsCutscene
 
* [[03B7|03B7]] - ProcessCutsceneOnly
 
* [[03B7|03B7]] - ProcessCutsceneOnly
 
* [[06B9|06B9]] - IsCutsceneDataLoaded
 
* [[06B9|06B9]] - IsCutsceneDataLoaded
 
* [[08D0|08D0]] - IsCutsceneSkipped
 
* [[08D0|08D0]] - IsCutsceneSkipped
* [[08F0|08F0]] - SetCutsceneModelTexture
+
* [[08F0|08F0]] - SetsCutsceneModelTexture
* [[82E9|82E9]] - HasNOTCutsceneReachedEnd
 
* [[86B9|86B9]] - IsNOTCutsceneDataLoaded
 
  
 
=External Links=
 
=External Links=

Revision as of 14:43, 4 December 2007

Cutscenes are short sequences between, after or in front of missions.

San Andreas Cutscenes

In San Andreas cutscenes are only loaded using SCM. You cannot control the camera movement in via SCM. They are usually stored externally in the anim\cuts.img archive. Each cutscene consists of 3 files with the same name and a different extension. These extensions are: .cut, .ifp and .dat.

Cutscene data

The CUT File

The .cut file is loaded first. It contains the important data of the cutscene like its offset and the loaded models. The models of an cutscene are usually stored in the models\cutscene.img 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.

INFO

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

info
offset X Y Z
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 IDEs. 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.
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

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 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 dat-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 VC) IFP file including the animations used for the cutscene. For the file stub look here: IFP Animations.

List of Cutscenes in San Andreas

Comming soon

SCM (OpCodes)

  • 0244 - SetsCutscenePosition
  • 02E4 - LoadsCutsceneData
  • 02E7 - StartsCutscene
  • 02E8 - GetsCutsceneTime
  • 02E9 - HasCutsceneReachedEnd
  • 02EA - EndsCutscene
  • 03B7 - ProcessCutsceneOnly
  • 06B9 - IsCutsceneDataLoaded
  • 08D0 - IsCutsceneSkipped
  • 08F0 - SetsCutsceneModelTexture

External Links