====== .CT file ====== The .CT file contains Falcon's class table. It contains an entry for every entity. An entity includes vehicles, features, weapons, units, objectives and other things (basically, everything that can be transferred in multiplayer). ===== .CT File Format ===== ^Field^Data Type^Width (in bytes)^Description^ |numEntities |Signed 16-bit integer|2|Number of entity records that follow| |entities[] |Falcon4Entity[numEntities]| (81 * numEntities) bytes |Array of Falcon4Entity records (containing "numEntities" individual records)| ===== Structures Used ===== ==== Falcon4Entity structure ==== ^Field^Data Type^Width (in bytes)^Description^ |vuClassData|VuEntity|60 | | |visType[]|array of Signed 16-bit integer * 7|7 * 2 bytes = 14 bytes| | |vehicleDataIndex|signed 16-bit integer|2| | |dataType|byte|1| | |dataPtr|unsigned 32-bit integer|4| as a pointer, this field is meaningless when restored from disk| ==== VuEntity structure ==== ^Field^Data Type^Width (in bytes)^Description^ |id |unsigned 16-bit integer|2| | |collisionType |unsigned 16-bit integer|2| | |collisionRadius |single-precision 32-bit floating point|4| | |classInfo[] |byte[8]|8| | |updateRate | unsigned 32-bit integer|4| | |updateTolerance | unsigned 32-bit integer|4| | |fineUpdateRange |single-precision 32-bit floating point|4| | |fineUpdateForceRange |single-precision 32-bit floating point|4| | |fineUpdateMultiplier |single-precision 32-bit floating point|4| | |damageSeed | unsigned 32-bit integer|4| | |hitpoints | Signed 32-bit integer|4| | |majorRevisionNumber | unsigned 16-bit integer|2| | |minorRevisionNumber | unsigned 16-bit integer|2| | |createPriority | unsigned 16-bit integer|2| | |managementDomain | byte |1| | |transferable | byte |1| | |private | byte |1| | |tangible| byte |1| | |collidable| byte |1| | |global| byte |1| | |persistent| byte |1| | |padding| byte[3] |3|Required to align this structure's data on an int32 boundary |