Table of Contents

Falcon 4 .TEA file

Falcon 4.0 Forum, Falcon 4 Home, Falcon 4 Campaign, Falcon 4 Cockpits, Falcon 4 Database, Falcon 4 File Formats, Falcon 4 SRTM Terrain, Falcon 4 Terrain, Falcon 4 Textures, Falcon 4 Tools

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

FieldData TypeWidth (in bytes)DescriptionVersions
numTeamsSigned 16-bit integer2if numTeams >8, set it to 8 All
teamRecord[]TeamRecord[numTeams] All

Structures used

TeamRecord structure

FieldData TypeWidth (in bytes)DescriptionVersions
teamTeam All
atmAirTaskingManager All
gtmGroundTaskingManager All
ntmNavalTaskingManager All

Team structure

FieldData TypeWidth (in bytes)DescriptionVersions
idVU_ID8 All
entityTypeunsigned 16-bit integer2 All
whobyte1 All
cteambyte1 All
flagsSigned 16-bit integer2 All
member[]byte[8]8 > 2
member[]byte[7]7 < = 2
stance[]array of Signed 16-bit integer * 82 * 8= 16 bytes > 2
stance[]array of Signed 16-bit integer * 72 * 7= 14 bytes < = 2
firstColonelSigned 16-bit integer2 All
firstCommanderSigned 16-bit integer2 All
firstWingmanSigned 16-bit integer2 All
lastWingmanSigned 16-bit integer2 All
airExperiencebyte1 set to 80 for earlier versions (not present in the file) > 11
airDefenseExperiencebyte1 set to 80 for earlier versions (not present in the file)> 11
groundExperiencebyte1 set to 80 for earlier versions (not present in the file)> 11
navalExperiencebyte1 set to 80 for earlier versions (not present in the file)> 11
junkbyte[4]4 covers ignoring the airExperience, airDefenseExperience, groundExperience, and navalExperience fields in earlier versions < = 11
initiativeSigned 16-bit integer2 All
supplyAvailunsigned 16-bit integer2 All
fuelAvailunsigned 16-bit integer2 All
replacementsAvailunsigned 16-bit integer2 >53
playerRatingsingle-precision 32-bit floating point4 >53
lastPlayerMissionunsigned 32-bit integer4 >53
junk2byte[4]4 < 40
currentStatsTeamStatus All
startStatsTeamStatus All
reinforcementSigned 16-bit integer2 All
bonusObjs[]VU_ID[20]20 * 8 = 160 bytes All
bonusTime[]array of unsigned 32-bit integer * 2020 * 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
attackTimeunsigned 32-bit integer4 < 34
offensiveLossbyte1 < 34
max_vehicle[]byte[4]4 All
teamFlagbyte1 > 4
teamColorbyte1 > 32
equipmentbyte1 > 4
name_TCHAR[20]20 > 4
teamMotto_TCHAR[200]200 > 32
groundActionTeamGndAction > 50
junk[]byte[27]27 42 thru 50 (inclusive)
junk[]byte[23]23 34 thru 41 (inclusive)
defensiveAirActionTeamAirAction > 33
offensiveAirActionTeamAirAction > 33

TeamAirAction structure

FieldData TypeWidth (in bytes)DescriptionVersions
actionStartTimeunsigned 32-bit integer4 All
actionStopTimeunsigned 32-bit integer4 All
actionObjectiveVU_ID8 All
lastActionObjectiveVU_ID8 All
actionTypebyte1 All
padding[]byte[3]3 necessary for aligning on int32 boundary All

TeamGndAction structure

FieldData TypeWidth (in bytes)DescriptionVersions
actionTimeunsigned 32-bit integer4 All
actionTimeoutunsigned 32-bit integer4 All
actionObjectiveVU_ID8 All
actionTypebyte1 All
actionTempobyte1 All
actionPointsbyte1 All

TeamStatus structure

FieldData TypeWidth (in bytes)DescriptionVersions
airDefenseVehsunsigned 16-bit integer2 All
aircraftunsigned 16-bit integer2 All
groundVehsunsigned 16-bit integer2 All
shipsunsigned 16-bit integer2 All
supplyunsigned 16-bit integer2 All
fuelunsigned 16-bit integer2 All
airbasesunsigned 16-bit integer2 All
supplyLevelbyte1 All
fuelLevelbyte1 All

AirTaskingManager structure

FieldData TypeWidth (in bytes)DescriptionVersions
idVU_ID8 All
entityTypeunsigned 16-bit integer2 All
managerFlagsSigned 16-bit integer2 All
ownerbyte1 All
flagsSigned 16-bit integer2 All
averageCAStrengthSigned 16-bit integer2 if version < 63 set this to 500, not present in file > = 63
averageCAMissionsSigned 16-bit integer2 if version <63 set this to 500, not present in file > = 28
sampleCyclesbyte1 if version <63 set this to 10, not present in file > = 28
numAirbasesbyte1 All
airbase[]ATMAirbase[numAirbases] All
cyclebyte1 All
numMissionRequestsSigned 16-bit integer2 All
junk[][]byte[numMissionRequests][64] (64 * numMissionRequests) bytes < 35
missionRequests[]MissionRequest[numMissionRequests] > = 35

MissionRequest structure

FieldData TypeWidth (in bytes)DescriptionVersions
requesterIDVU_ID8 All
targetIDVU_ID8 All
secondaryIDVU_ID8 All
pakIDVU_ID8 All
whobyte1 All
vsbyte1 All
padding[]byte[2]2 necessary so data lands on an Int32 boundary All
totunsigned 32-bit integer4 All
txSigned 16-bit integer2 All
tySigned 16-bit integer2 All
flagsunsigned 32-bit integer4 All
capsSigned 16-bit integer2 All
target_numSigned 16-bit integer2 All
speedSigned 16-bit integer2 All
match_strengthSigned 16-bit integer2 All
prioritySigned 16-bit integer2 All
tot_typebyte1 All
action_typebyte1 All
missionbyte1 All
aircraftbyte1 All
contextbyte1 All
roe_checkbyte1 All
delayedbyte1 > = 35
start_blockbyte1 > = 35
final_blockbyte1 > = 35
slots[]byte[4]4 > = 35
min_tobyte1 > = 35
max_tobyte1 > = 35
morepadding[]byte[3]3 necessary so data lands on an Int32 boundary> = 35

ATMAirbase structure

FieldData TypeWidth (in bytes)DescriptionVersions
idVU_ID8 All
schedule[]byte[32]32 All

GroundTaskingManager structure

FieldData TypeWidth (in bytes)DescriptionVersions
idVU_ID8 All
entityTypeunsigned 16-bit integer2 All
managerFlagsSigned 16-bit integer2 All
ownerbyte1 All
flagsSigned 16-bit integer2 All
FieldData TypeWidth (in bytes)DescriptionVersions
idVU_ID8 All
entityTypeunsigned 16-bit integer2 All
managerFlagsSigned 16-bit integer2 All
ownerbyte1 All
flagsSigned 16-bit integer2 All

VU_ID structure

FieldData TypeWidth (in bytes)Description
num_unsigned 32-bit integer4
creator_unsigned 32-bit integer4