Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
trs:cutseq [2017/02/04 17:34]
stohrendorf ↷ Page moved from trs:savegame:trs:cutseq to trs:cutseq
trs:cutseq [2017/03/25 20:31]
zdimension
Line 8: Line 8:
  
 <code cpp> <code cpp>
-struct cutseq+struct Cutseq
 { {
-            uint8_t DEL[8]; // "(C) DEL!", for Derek Leigh-Gilchrist +    uint8_t header[8]; // "(C) DEL!", for Derek Leigh-Gilchrist 
-    cutscene_header Cutscenes[N]; // N = 30 for TR4, 44 for TR5, 4 for Times Demo +    CutsceneHeader cutscenes[N]; // N = 30 for TR4, 44 for TR5, 4 for Times Demo 
-            uint8_t Padding[]; // Empty space between header and data +    uint8_t padding[]; // Empty space between header and data 
-            uint8_t CutsceneData[]; +    uint8_t cutsceneData[]; 
-     +
-    struct cutscene_header // 8 bytes + 
-    +struct CutsceneHeader // 8 bytes 
-        uint32_t Offset; // Offset relative to start of file +
-        uint32_t Size; // Size in bytes +    uint32_t offset; // Offset relative to start of file 
-    +    uint32_t size; // Size in bytes 
-     +
-    struct cutscene_data + 
-    +struct CutsceneData 
-                 uint16_t NumActors; // Actor 1 is always Lara (slot ID 0) +
-                 uint16_t NumFrames+    uint16_t numActors; // Actor 1 is always Lara (slot ID 0) 
-                  int32_t OriginX; // Origin coordinates are in TR world coordinates +    uint16_t numFrames
-                  int32_t OriginY; // Negative Y is up +    int32_t originX; // Origin coordinates are in TR world coordinates 
-                  int32_t OriginZ+    int32_t originY; // Negative Y is up 
-                  int32_t AudioTrackIndex; // -1 means no audio track +    int32_t originZ
-                 uint32_t CameraDataOffset+    int32_t audioTrackIndex; // -1 means no audio track 
-        actor_slot_header Actors[NumActors]; +    uint32_t cameraDataOffset
-              camera_data CameraData; +    ActorSlotHeader actors[numActors]; 
-                  uint8_t Padding[]; +    CameraData cameraData
-                  uint8_t ActorData[]; +    uint8_t padding[]; 
-                  uint8_t Padding[]; +    uint8_t actorData[]; 
-    +    uint8_t padding[]; 
-     +
-    struct actor_slot_header // 8 bytes + 
-    +struct ActorSlotHeader // 8 bytes 
-        uint32_t DataOffset+
-        uint16_t SlotNumber; // TR model slot ID number +    uint32_t dataOffset
-        uint16_t NumNodes; // Same as number of meshes in model +    uint16_t slotNumber; // TR model slot ID number 
-    +    uint16_t numNodes; // Same as number of meshes in model 
-     +
-    struct camera_data + 
-    +struct CameraData 
-        position_header TargetHeader+
-        position_header CameraHeader+    PositionHeader targetHeader
-           packed_coord TargetPosition+    PositionHeader cameraHeader
-           packed_coord CameraPosition+    PackedCoord targetPosition
-    +    PackedCoord cameraPosition
-     +
-    struct actor_data + 
-    +struct ActorData 
-        mesh_header Meshes[NumNodes]; +
-          mesh_data MeshData[NumNodes]; +    MeshHeader meshes[NumNodes]; 
-    +    MeshData meshData[NumNodes]; 
-     +
-    struct mesh_data + 
-    +struct MeshData 
-        packed_coord PositionData+
-        packed_coord RotationData+    PackedCoord positionData
-    +    PackedCoord rotationData
-     +
-    struct position_header // 14 bytes + 
-    +struct PositionHeader // 14 bytes 
-         int16_t StartX+
-         int16_t StartY+     int16_t startX
-         int16_t StartZ+     int16_t startY
-        uint16_t AxisBitsizes; // X = bits 14-11, Y = 9-6, Z = 4-1 +     int16_t startZ
-        uint16_t NumValuesX+    uint16_t axisBitsizes; // X = bits 14-11, Y = 9-6, Z = 4-1 
-        uint16_t NumValuesY+    uint16_t numValuesX
-        uint16_t NumValuesZ+    uint16_t numValuesY
-    +    uint16_t numValuesZ
-     +
-    struct rotation_header // 14 bytes + 
-    +struct RotationHeader // 14 bytes 
-         // 1024 = 360 degrees +
-         int16_t StartX+    // 1024 = 360 degrees 
-         int16_t StartY+    int16_t startX
-         int16_t StartZ+    int16_t startY
-        uint16_t AxisBitsizes; // X = bits 14-11, Y = 9-6, Z = 4-1 +    int16_t startZ
-        uint16_t NumValuesX+    uint16_t axisBitsizes; // X = bits 14-11, Y = 9-6, Z = 4-1 
-        uint16_t NumValuesY+    uint16_t numValuesX
-        uint16_t NumValuesZ+    uint16_t numValuesY
-    +    uint16_t numValuesZ
-     +
-    struct packed_coord // (variable length) + 
-    +struct PackedCoord // (variable length) 
-        dynamic Xaxis; // todo: explain better +
-        dynamic Yaxis; // core design, why did you make this +    dynamic xAxis; // todo: explain better 
-        dynamic Zaxis; +    dynamic yAxis; // core design, why did you make this 
-    }+    dynamic zAxis;
 } }
 </code> </code>
trs/cutseq.txt · Last modified: 2017/11/17 12:21 (external edit)
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0