TIE Pilot File Author: Jagged Fel (jaggedfel621@gmail.com) Site: http://idmr.empirereborn.net Updated: 2010.07.31 ===== TFR Overview The Pilot Files for TIE95 use the .TFR extension and have a fixed filesize of 0xF10. TIE has the capability to auto-save the pilot file before each mission should something happen or if the pilot wishes to retry a mission after leaving the debrief corridor. Being an early platform, there are few anti-cheating measures that can be employed to ensure the validity of the file. ===== TFR Structure The following values are used through this and all of my file definitions unless otherwise specified: NAME LENGTH DESC ---- ------ ---- BOOL 1 0=false, 1=true BYTE 1 unsigned 8-bit SHORT 2 signed Int16 INT 4 signed Int32 NOTE: Any byte locations that are between defined values and are not explicitly defined are deemed as Reserved(0), and have only been found to have zero values. Unknown bytes that have non-zero values have been called out in the structure. -- 0x000 FileHeader 0x02A Training 0x088 CombatChamber 0x269 Battles 0x65A Stats 0x788 Backup -- struct FileHeader (size 0xB) { 0x1 BYTE PilotStatus (enum) 0x2 BYTE PilotRank (enum) 0x3 BYTE Difficulty (enum) 0x4 INT TotalScore 0x8 SHORT SkillScore 0xA BYTE SecretOrder (enum) } struct Training (size 0x3C) { 0x00 INT[12] Score 0x30 BYTE[12] Level } struct CombatChamber (size 0x1E1) { 0x000 INT[12][8] MissionScores 0x180 BOOL[12][8] MissionComplete } struct Battles (size 0x3F1) { 0x000 BYTE[20] BattleStatus (enum) 0x014 BYTE[20] LastMission 0x128 BYTE[20] SecondaryObjectives 0x13C BYTE[20] BonusObjectives 0x171 INT[20][8] Score } struct Stats (size 0x12E) { 0x000 SHORT TotalKills 0x002 SHORT TotalCaptures 0x006 SHORT[69] CraftKills 0x11A INT LasersFired 0x11E INT LasersHit 0x126 SHORT WarheadsFired 0x128 SHORT WarheadsHit 0x12C SHORT CraftLost } ===== TFR Details The format itself is fairly simple, only a couple things really need to be talked about. -- FileHeader -- The first few values are nothing more than current status values for the pilot profile. The full listing of values is displayed in the Listings section. The TotalScore value is the total score for the pilot, the SkillScore that follows depends on difficulty settings, bonus goal completions, etc. This value is more or less for reference, it is already factored into TotalScore. The SecretOrder value is another pilot variable and determines which tatoo is displayed on your arm. -- Training -- The Score values should be self-explanatory, really just the array size needs note. TIE95 has the capability to host 12 player craft types, but only makes use of seven. Mods can add craft to these slots, in which case these values will be of importance. See the Craft enum listing for the correct order. Level defaults to 02, and determines how much crap is in the training loop when flown, or rather how much crap you put up with until you ran out of time. -- Combat Chamber -- The next section similarly is regarding the Combat Simulator. Eight missions for each of the 12 craft slots, Score and a boolean MissionComplete section following. -- Battles -- Alright, the Battle section. BattleStatus controls how it is displayed (if at all) in the Battle Selection Concourse and the Combat Chamber. LastMission is simply that, the mission number of the last mission flown. Both Objective fields are actually bit-fields. Completing the secondary/bonus goals in mission one is 01 (b00000001), in both M1 and M3 is 05 (b00000101), every mission except M6 is DF (b11011111), etc. After that is the individual mission scores, eight missions for 20 battles. -- Stats -- After that we get to some statistics. Total kill count of all craft types, not sure how it scores TotalCaptures, but that's what it is. Craft kills, but only up the Factory. Note, this means that TotalKills will *not* match the total of the kill stats, since mines and whatnot are not included in this section. Lasers/warheads fired and missed, that gets you accuracy figures, craft lost is how many times you were shot down or decided you wanted to inspect someone's paint job up close. -- Backup -- The Backup section is a save-state of the entire file before the last mission flown. So after flying M1, the stats will still read zero. After M3, the backup stats will show up to M2, etc. There you have it, a TIE95 pilot file. ===== TFR Listings PilotStatus 00 Alive 01 Captured 02 Killed PilotRank 00 Flight Cadet 01 Flight Officer 02 Lieutenant 03 Captain 04 Ccommander 05 General Difficulty 00 Easy 01 Medium 02 Hard SecretOrder 00 None 01 1st Initiate 02 2nd Circle 03 3rd Circle 04 4th Circle 05 Inner Circle 06 Emperor's Hand BattleStatus 00 Not Displayed 01 In Progress 02 Incomplete 03 Completed Craft 00 TIE Fighter 01 TIE Interceptor 02 TIE Bomber 03 TIE Advanced 04 Assault Gunboat 05 TIE Defender 06 Missile Boat 07 Unused1 08 Unused2 09 Unused3 0A Unused4 0B Unused5