This shows you the differences between two versions of the page.
falcon4:file_formats:cam_trn_tac:tea_file [2009-02-15 02:21] lightning created |
falcon4:file_formats:cam_trn_tac:tea_file [2009-02-15 02:23] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== .TEA file ====== | ||
- | The .TEA file is one of the files embedded within a .CAM/.TRN/.TAC file. The TEA file holds information about the teams. | ||
- | Unlike some other embedded files, it is not compressed. | ||
- | |||
- | ===== .TEA file format ===== | ||
- | |||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |numTeams|Signed 16-bit integer|2|if numTeams >8, set it to 8 |All| | ||
- | |teamRecord[]|TeamRecord[numTeams]| | |All| | ||
- | |||
- | ===== Structures used ===== | ||
- | |||
- | ==== TeamRecord structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |team|Team| | |All| | ||
- | |atm|AirTaskingManager| | |All| | ||
- | |gtm|GroundTaskingManager| | |All| | ||
- | |ntm|NavalTaskingManager| | |All| | ||
- | |||
- | ==== Team structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |id|VU_ID|8 | |All| | ||
- | |entityType|unsigned 16-bit integer|2 | |All| | ||
- | |who|byte|1 | |All| | ||
- | |cteam|byte|1 | |All| | ||
- | |flags|Signed 16-bit integer|2 | |All| | ||
- | |member[]|byte[8]|8 | |> 2| | ||
- | |member[]|byte[7]|7 | |< = 2| | ||
- | |stance[]|array of Signed 16-bit integer * 8|2 * 8= 16 bytes| |> 2| | ||
- | |stance[]|array of Signed 16-bit integer * 7|2 * 7= 14 bytes| |< = 2| | ||
- | |firstColonel|Signed 16-bit integer|2 | |All| | ||
- | |firstCommander|Signed 16-bit integer|2 | |All| | ||
- | |firstWingman|Signed 16-bit integer|2 | |All| | ||
- | |lastWingman|Signed 16-bit integer|2 | |All| | ||
- | |airExperience|byte|1 |set to 80 for earlier versions |> 11| | ||
- | |airDefenseExperience|byte|1 | set to 80 for earlier versions|> 11| | ||
- | |groundExperience|byte|1 |set to 80 for earlier versions |> 11| | ||
- | |navalExperience|byte|1 |set to 80 for earlier versions |> 11| | ||
- | |junk|byte[4]|4 | covers ignoring the airExperience, airDefenseExperience, groundExperience, and navalExperience fields in earlier versions |< = 11| | ||
- | |initiative|Signed 16-bit integer|2 | |All| | ||
- | |supplyAvail|unsigned 16-bit integer|2 | |All| | ||
- | |fuelAvail|unsigned 16-bit integer|2 | |All| | ||
- | |replacementsAvail|unsigned 16-bit integer|2 | |>53| | ||
- | |playerRating|single-precision 32-bit floating point|4 | |>53| | ||
- | |lastPlayerMission|unsigned 32-bit integer|4 | |>53| | ||
- | |junk2|byte[4]|4 | |< 40| | ||
- | |currentStats|TeamStatus| | |All| | ||
- | |startStats|TeamStatus| | |All| | ||
- | |reinforcement|Signed 16-bit integer|2 | |All| | ||
- | |bonusObjs[]|VU_ID[20]|20 * 8 = 160 bytes | |All| | ||
- | |bonusTime[]|array of unsigned 32-bit integer * 20|20 * 4 = 80 bytes | |All| | ||
- | |objtype_priority[]|byte[36]|36| |All| | ||
- | |unittype_priority[]|byte[20]|20| |All| | ||
- | |mission_priority[]|byte[40]|40| |< 30| | ||
- | |mission_priority[]|byte[41]|41| |> = 30| | ||
- | |attackTime|unsigned 32-bit integer|4| |< 34| | ||
- | |offensiveLoss|byte|1| |< 34| | ||
- | |max_vehicle[]|byte[4]|4| |All| | ||
- | |teamFlag|byte|1| |> 4| | ||
- | |teamColor|byte|1| |> 32| | ||
- | |equipment|byte|1| |> 4| | ||
- | |name|_TCHAR[20]|20| |> 4| | ||
- | |teamMotto|_TCHAR[200]|200| |> 32| | ||
- | |groundAction|TeamGndAction| | |> 50| | ||
- | |junk[]|byte[27]|27 | | 42 thru 50 (inclusive)| | ||
- | |junk[]|byte[23]|23 | | 34 thru 41 (inclusive)| | ||
- | |defensiveAirAction|TeamAirAction| | |> 33| | ||
- | |offensiveAirAction|TeamAirAction| | |> 33| | ||
- | |||
- | |||
- | ==== TeamAirAction structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |actionStartTime|unsigned 32-bit integer|4 | |All| | ||
- | |actionStopTime|unsigned 32-bit integer|4 | |All| | ||
- | |actionObjective|VU_ID|8 | |All| | ||
- | |lastActionObjective|VU_ID|8 | |All| | ||
- | |actionType|byte|1 | |All| | ||
- | |padding[]|byte[3]|3 |necessary for aligning on int32 boundary |All| | ||
- | |||
- | |||
- | ==== TeamGndAction structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |actionTime|unsigned 32-bit integer|4 | |All| | ||
- | |actionTimeout|unsigned 32-bit integer|4 | |All| | ||
- | |actionObjective|VU_ID|8 | |All| | ||
- | |actionType|byte|1 | |All| | ||
- | |actionTempo|byte|1 | |All| | ||
- | |actionPoints|byte|1 | |All| | ||
- | |||
- | |||
- | ==== TeamStatus structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |airDefenseVehs|unsigned 16-bit integer|2 | |All| | ||
- | |aircraft|unsigned 16-bit integer|2 | |All| | ||
- | |groundVehs|unsigned 16-bit integer|2 | |All| | ||
- | |ships|unsigned 16-bit integer|2 | |All| | ||
- | |supply|unsigned 16-bit integer|2 | |All| | ||
- | |fuel|unsigned 16-bit integer|2 | |All| | ||
- | |airbases|unsigned 16-bit integer|2 | |All| | ||
- | |supplyLevel|byte|1 | |All| | ||
- | |fuelLevel|byte|1 | |All| | ||
- | |||
- | |||
- | ==== AirTaskingManager structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |id|VU_ID|8 | |All| | ||
- | |entityType|unsigned 16-bit integer|2 | |All| | ||
- | |managerFlags|Signed 16-bit integer|2 | |All| | ||
- | |owner|byte|1 | |All| | ||
- | |flags|Signed 16-bit integer|2 | |All| | ||
- | |averageCAStrength|Signed 16-bit integer|2 | if version < 63 set this to 500, not present in file |> = 63| | ||
- | |averageCAMissions|Signed 16-bit integer|2 | if version <63 set this to 500, not present in file |> = 28| | ||
- | |sampleCycles|byte|1 |if version <63 set this to 10, not present in file |> = 28| | ||
- | |numAirbases|byte|1 | |All| | ||
- | |airbase[]|ATMAirbase[numAirbases]| | |All| | ||
- | |cycle|byte|1 | |All| | ||
- | |numMissionRequests|Signed 16-bit integer|2 | |All| | ||
- | |junk[][]|byte[numMissionRequests][64] | (64 * numMissionRequests) bytes | |< 35| | ||
- | |missionRequests[]|MissionRequest[numMissionRequests]| | |> = 35| | ||
- | |||
- | |||
- | ==== MissionRequest structure ==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |requesterID|VU_ID|8 | |All| | ||
- | |targetID|VU_ID|8 | |All| | ||
- | |secondaryID|VU_ID|8 | |All| | ||
- | |pakID|VU_ID|8 | |All| | ||
- | |who|byte|1 | |All| | ||
- | |vs|byte|1 | |All| | ||
- | |padding[]|byte[2]|2 |necessary so data lands on an Int32 boundary |All| | ||
- | |tot|unsigned 32-bit integer|4 | |All| | ||
- | |tx|Signed 16-bit integer|2 | |All| | ||
- | |ty|Signed 16-bit integer|2 | |All| | ||
- | |flags|unsigned 32-bit integer|4 | |All| | ||
- | |caps|Signed 16-bit integer|2 | |All| | ||
- | |target_num|Signed 16-bit integer|2 | |All| | ||
- | |speed|Signed 16-bit integer|2 | |All| | ||
- | |match_strength|Signed 16-bit integer|2 | |All| | ||
- | |priority|Signed 16-bit integer|2 | |All| | ||
- | |tot_type|byte|1 | |All| | ||
- | |action_type|byte|1 | |All| | ||
- | |mission|byte|1 | |All| | ||
- | |aircraft|byte|1 | |All| | ||
- | |context|byte|1 | |All| | ||
- | |roe_check|byte|1 | |All| | ||
- | |delayed|byte|1 | |> = 35| | ||
- | |start_block|byte|1 | |> = 35| | ||
- | |final_block|byte|1 | |> = 35| | ||
- | |slots[]|byte[4]|4 | |> = 35| | ||
- | |min_to|byte|1 | |> = 35| | ||
- | |max_to|byte|1 | |> = 35| | ||
- | |morepadding[]|byte[3]|3 | necessary so data lands on an Int32 boundary|> = 35| | ||
- | |||
- | |||
- | ==== ATMAirbase structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |id|VU_ID|8 | |All| | ||
- | |schedule[]|byte[32]|32 | |All| | ||
- | |||
- | |||
- | ==== GroundTaskingManager structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |id|VU_ID|8 | |All| | ||
- | |entityType|unsigned 16-bit integer|2 | |All| | ||
- | |managerFlags|Signed 16-bit integer|2 | |All| | ||
- | |owner|byte|1 | |All| | ||
- | |flags|Signed 16-bit integer|2 | |All| | ||
- | |||
- | ==== NavalTaskingManager structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^Versions^ | ||
- | |id|VU_ID|8 | |All| | ||
- | |entityType|unsigned 16-bit integer|2 | |All| | ||
- | |managerFlags|Signed 16-bit integer|2 | |All| | ||
- | |owner|byte|1 | |All| | ||
- | |flags|Signed 16-bit integer|2 | |All| | ||
- | |||
- | ==== VU_ID structure==== | ||
- | ^Field^Data Type^Width (in bytes)^Description^ | ||
- | |num_|unsigned 32-bit integer|4| | | ||
- | |creator_|unsigned 32-bit integer|4| | | ||
- | |||