Difference between revisions of "Cutscene"

From GTAMods Wiki
Jump to navigation Jump to search
 
(SCM (OpCodes))
Line 140: Line 140:
 
==SCM (OpCodes)==
 
==SCM (OpCodes)==
  
* [http://www.gtamodding.com/index.php?title=0244 0244] - SetCutscenePosition
+
* [[http://www.gtamodding.com/index.php?title=0244 0244]] - SetCutscenePosition
* [http://www.gtamodding.com/index.php?title=02E4 02E4] - LoadCutsceneData
+
* [[http://www.gtamodding.com/index.php?title=02E4 02E4]] - LoadCutsceneData
* [http://www.gtamodding.com/index.php?title=02E7 02E7] - StartCutscene
+
* [[http://www.gtamodding.com/index.php?title=02E7 02E7]] - StartCutscene
* [http://www.gtamodding.com/index.php?title=02E8 02E8] - GetCutsceneTime
+
* [[http://www.gtamodding.com/index.php?title=02E8 02E8]] - GetCutsceneTime
* [http://www.gtamodding.com/index.php?title=02E9 02E9] - HasCutsceneReachedEnd
+
* [[http://www.gtamodding.com/index.php?title=02E9 02E9]] - HasCutsceneReachedEnd
* [http://www.gtamodding.com/index.php?title=02EA 02EA] - EndCutscene
+
* [[http://www.gtamodding.com/index.php?title=02EA 02EA]] - EndCutscene
* [http://www.gtamodding.com/index.php?title=03B7 03B7] - ProcessCutsceneOnly
+
* [[http://www.gtamodding.com/index.php?title=03B7 03B7]] - ProcessCutsceneOnly
* [http://www.gtamodding.com/index.php?title=06B9 06B9] - IsCutsceneDataLoaded
+
* [[http://www.gtamodding.com/index.php?title=06B9 06B9]] - IsCutsceneDataLoaded
* [http://www.gtamodding.com/index.php?title=08D0 08D0] - IsCutsceneSkipped
+
* [[http://www.gtamodding.com/index.php?title=08D0 08D0]] - IsCutsceneSkipped
* [http://www.gtamodding.com/index.php?title=08F0 08F0] - SetCutsceneModelTexture
+
* [[http://www.gtamodding.com/index.php?title=08F0 08F0]] - SetCutsceneModelTexture
* [http://www.gtamodding.com/index.php?title=82E9 82E9] - HasNOTCutsceneReachedEnd
+
* [[http://www.gtamodding.com/index.php?title=82E9 82E9]] - HasNOTCutsceneReachedEnd
* [http://www.gtamodding.com/index.php?title=86B9 86B9] - IsNOTCutsceneDataLoaded
+
* [[http://www.gtamodding.com/index.php?title=86B9 86B9]] - IsNOTCutsceneDataLoaded
  
 
=External Links=
 
=External Links=
  
 
* [http://sannybuilder.com/forums/viewtopic.php?id=115 Cutscene decoding Thread in SannyBuilder Forums (SA)]
 
* [http://sannybuilder.com/forums/viewtopic.php?id=115 Cutscene decoding Thread in SannyBuilder Forums (SA)]

Revision as of 11: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 usualy stored externaly in the anim\cuts.img archive. Each cutscene consists of 3 files with the same name and a diffrent 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 it's 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 an cut-file and leave unused * sections empty!

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

info
offset X Y Z
end

The offset parameters can also be set using this opcode: 0244.

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:

model
?, name, animation
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. There is an Limit of 50 entries here!

EXTRACOL

... stands for "Extracolor" and set's the active interior's color. It corresponds to the opcode 04F9.

extracol
Number
end

TEXT

The text section displays an GXT Entry at an certain point of time relative to the cutscene start.

text
starttime, length, gxt
end

Where the numbers are integers and define the time in milliseconds.

UNCOMPRESS

the uncompress-section uncompresses IFP-Animations.

uncompress
Animation
end

PEFFECT

stands for particle effect and sets an particle effect from the effects.fxp somwhere.

peffect
effectname, starttime, endtime, unknown_number, bone, X, Y, Z, ?, ?, ?
end

The bone is an number which descripes a body part the particle effect or object is attached to.

REMOVE

Removes an static (IPL-mapped) object from an coord!

remove
Objectname, X, Y, Z
end

ATTACH

Actually the content and use of this section is unknown. It is rarly used.

attach
Number, Number, Number
end

MOTION

This section is ignored by the game!

The DAT-File

The dat-file contains information about the cameramovements during the cutscene.

It consists of 4 blocks:

  • Block1: Rotation
  • Block2: Zoom
  • Block3: CameraPositions
  • 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. 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:

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

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

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] - SetCutscenePosition
  • [02E4] - LoadCutsceneData
  • [02E7] - StartCutscene
  • [02E8] - GetCutsceneTime
  • [02E9] - HasCutsceneReachedEnd
  • [02EA] - EndCutscene
  • [03B7] - ProcessCutsceneOnly
  • [06B9] - IsCutsceneDataLoaded
  • [08D0] - IsCutsceneSkipped
  • [08F0] - SetCutsceneModelTexture
  • [82E9] - HasNOTCutsceneReachedEnd
  • [86B9] - IsNOTCutsceneDataLoaded

External Links