Difference between revisions of "Automata Subfiles"

From SC4D Encyclopaedia
Jump to navigation Jump to search
(create automata subfiles page)
 
(→‎Vehicle Automata Subfile (0x896e714a): add structure of vehicle subfile)
Line 5: Line 5:
 
List of records of the form:
 
List of records of the form:
 
<pre>
 
<pre>
DWORD   Record Size
+
DWORD       Record Size
DWORD   CRC
+
DWORD       CRC
DWORD   Memory address
+
DWORD       Memory address
...
+
WORD×3      Version (always 2, 2, 8)
 +
BYTE        Zot (always 0x04)
 +
DWORD      Unknown (always 0)
 +
BYTE        Appearance flag (e.g. 0x10, 0x11, 0x14 or 0x15)
 +
DWORD      Record type identifier (always 0xc7cc75f1)
 +
BYTE×4      (Min Tract X, Min Tract Z, Max Tract X, Max Tract Z) coordinate
 +
WORD×2      Tract size (X, Z)
 +
DWORD      Count of properties
 +
    SGPROP      SaveGame Properties, repeated Count times (e.g. Occupant Group property 0xAA1DD396)
 +
DWORD×3    (Group=0x096E6739, Type=0x6534284A, Instance)-ID of Exemplar
 +
FLOAT32×3  (x, y, z)-coordinate
 +
FLOAT32×3  (x, y, z)-coordinate or (-1, -2, -3)
 +
FLOAT32×3  Direction (a unit vector)
 +
BYTES×4    Unknown (might be a FLOAT32 representing an angle)
 +
FLOAT32    Speed in km/s (in range 80..110 km/h defined in Automata Controller)
 +
DWORD      Unknown bitset
 +
DWORD      Unknown (always 0)
 +
DWORD      Address
 +
    DWORD      Subfile (Automata Attractor subfile) when Address is not 0
 +
FLOAT32×5  Unknown (the last three are 0.0 if the attractor is absent, so might be related parameters)
 +
DWORD      Address
 +
    DWORD      Subfile (e.g. Trailer Vehicle, Ambulance, Bus, Patrol Car) when Address is not 0
 +
DWORD      Count of blocks to follow
 +
    DWORD      Unknown (seen 0, 7, 13)
 +
    WORD        Unknown (always 0x03)
 +
    DWORD      Address
 +
        DWORD      Subfile (Automata Generator or Attractor subfile) when Address is not 0
 +
    DWORD      Index of block starting at 0, 1,...
 +
    FLOAT32    Unknown (-1.0 or large numerical values)
 +
    DWORD      Unknown (0 or 1)
 +
    BYTES×5    Unknown (always 0)
 +
    DWORD      Unknown bitset
 +
DWORD      Count of auxiliary models
 +
    DWORD×3    TGI of auxiliary S3D-model (e.g. head lights, rear lights)
 +
DWORD×3    TGI of S3D-model
 +
DWORD      Instance ID
 +
DWORD      Count of manager addresses
 +
    DWORD      Address
 +
    DWORD      Subfile (e.g. City Situation Manager or Automata Controller Manager)
 +
FLOAT32        Speed in km/s (can differ from other speeds)
 +
FLOAT32        Speed in km/s (can differ from other speeds)
 +
FLOAT32×6      Unknown (often 0 or 1, but numerical values are possible)
 +
BYTE            Unknown (seen 0, 25, 50, 254)
 +
DWORD          Occupant Group
 +
DWORD          Address
 +
    DWORD          Subfile (e.g. Trailer Vehicle, Ambulance, Bus, Patrol Car) when Address is not 0
 +
DWORD          Unknown (seen 1, 3, 7)
 +
BYTE            Unknown (in range 0...47 -- maybe vehicle lifespan?)
 +
DWORD          Address of network tile
 +
    DWORD          Subfile (e.g. Network Subfile 1, Prebuilt Network Subfile, Bridge Subfile) when Address is not 0
 +
BYTE×4          Unknown (between 0x00 and 0x04)
 +
DWORD          Unknown (seen 0...40 -- smaller values are much more frequent)
 +
DWORD          Count of blocks to follow
 +
    BYTE×3          Unknown (seen for Occupant Group Moving Van)
 +
DWORD×2        Unknown (always 0)
 +
FLOAT32×3      (x, y, z)-coordinate or (-1, -2, -3)
 +
FLOAT32×3      (-1, -2, -3)
 +
FLOAT32        Unknown (often 0.0)
 
</pre>
 
</pre>
 +
 +
For the format of the properties, see [[Network Subfiles#Appendix 2.1 - Structure of SGPROP (SaveGame Properties)|SaveGame Properties]].
  
 
{{Navbox/SUBFILE}}
 
{{Navbox/SUBFILE}}
 
[[Category:Savegame/Subfiles]]
 
[[Category:Savegame/Subfiles]]

Revision as of 12:32, 11 February 2023

This page pertains to the format of the Automata Subfiles within the Savegame files.

Vehicle Automata Subfile (0x896e714a)

Structure

List of records of the form:

DWORD       Record Size
DWORD       CRC
DWORD       Memory address
WORD×3      Version (always 2, 2, 8)
BYTE        Zot (always 0x04)
DWORD       Unknown (always 0)
BYTE        Appearance flag (e.g. 0x10, 0x11, 0x14 or 0x15)
DWORD       Record type identifier (always 0xc7cc75f1)
BYTE×4      (Min Tract X, Min Tract Z, Max Tract X, Max Tract Z) coordinate
WORD×2      Tract size (X, Z)
DWORD       Count of properties
    SGPROP      SaveGame Properties, repeated Count times (e.g. Occupant Group property 0xAA1DD396)
DWORD×3     (Group=0x096E6739, Type=0x6534284A, Instance)-ID of Exemplar
FLOAT32×3   (x, y, z)-coordinate
FLOAT32×3   (x, y, z)-coordinate or (-1, -2, -3)
FLOAT32×3   Direction (a unit vector)
BYTES×4     Unknown (might be a FLOAT32 representing an angle)
FLOAT32     Speed in km/s (in range 80..110 km/h defined in Automata Controller)
DWORD       Unknown bitset
DWORD       Unknown (always 0)
DWORD       Address
    DWORD       Subfile (Automata Attractor subfile) when Address is not 0
FLOAT32×5   Unknown (the last three are 0.0 if the attractor is absent, so might be related parameters)
DWORD       Address
    DWORD       Subfile (e.g. Trailer Vehicle, Ambulance, Bus, Patrol Car) when Address is not 0
DWORD       Count of blocks to follow
    DWORD       Unknown (seen 0, 7, 13)
    WORD        Unknown (always 0x03)
    DWORD       Address
        DWORD       Subfile (Automata Generator or Attractor subfile) when Address is not 0
    DWORD       Index of block starting at 0, 1,...
    FLOAT32     Unknown (-1.0 or large numerical values)
    DWORD       Unknown (0 or 1)
    BYTES×5     Unknown (always 0)
    DWORD       Unknown bitset
DWORD       Count of auxiliary models
    DWORD×3     TGI of auxiliary S3D-model (e.g. head lights, rear lights)
DWORD×3     TGI of S3D-model
DWORD       Instance ID
DWORD       Count of manager addresses
    DWORD       Address
    DWORD       Subfile (e.g. City Situation Manager or Automata Controller Manager)
FLOAT32         Speed in km/s (can differ from other speeds)
FLOAT32         Speed in km/s (can differ from other speeds)
FLOAT32×6       Unknown (often 0 or 1, but numerical values are possible)
BYTE            Unknown (seen 0, 25, 50, 254)
DWORD           Occupant Group
DWORD           Address
    DWORD           Subfile (e.g. Trailer Vehicle, Ambulance, Bus, Patrol Car) when Address is not 0
DWORD           Unknown (seen 1, 3, 7)
BYTE            Unknown (in range 0...47 -- maybe vehicle lifespan?)
DWORD           Address of network tile
    DWORD           Subfile (e.g. Network Subfile 1, Prebuilt Network Subfile, Bridge Subfile) when Address is not 0
BYTE×4          Unknown (between 0x00 and 0x04)
DWORD           Unknown (seen 0...40 -- smaller values are much more frequent)
DWORD           Count of blocks to follow
    BYTE×3          Unknown (seen for Occupant Group Moving Van)
DWORD×2         Unknown (always 0)
FLOAT32×3       (x, y, z)-coordinate or (-1, -2, -3)
FLOAT32×3       (-1, -2, -3)
FLOAT32         Unknown (often 0.0)

For the format of the properties, see SaveGame Properties.