💾 Archived View for skyjake.fi › gemlog › mission.txt captured on 2024-05-10 at 11:00:54.

View Raw

More Information

⬅️ Previous capture (2021-12-03)

-=-=-=-=-=-=-

    
    TIE FIGHTER MISSION FILE FORMAT
    ================================
    Version 1.0.0895
    by Jaakko Keränen <jk@jaakkok.pp.fi>
    Copyright (c) 1995 Jaakko Keränen.
    All rights reserved.
    --------------------------------


    Overall format of the mission file:
                        
        +-----------+     
        | Beginning |   Header and other stuff, like # flight groups
        |           |   and # radio messages, briefing personnel and
        |           |   radio messages sent when primary or secondary
        |           |   goals completed/failed.
        +-----------+
        | IFF Codes |   The IFF codes defined by the mission designer.
        +-----------+
        | Flight    |   The data for all of the flight groups. This
        | Groups    |   will be # flight groups times 291 bytes long.
        |           |   Starts always from offset 1CA.
        +-----------+
        | Radio     |   Immediately after the flight groups there are
        | Messages  |   the radio messages. This will be # radio
        |           |   messages times 89 bytes long.
        +-----------+
        | Global    |   The primary, secondary and bonus global goals
        | Goals     |   of the mission.
        +-----------+
        | Briefing  |   The briefing data, including the briefing map
        |           |   and the personnel. I haven't figured out how this
        |           |   one works yet.
        +-----------+
        | End       |   The file ends immediately after the briefing data.
        +-----------+



    Mission file format:

        This map is for B1M1FM.TIE (Battle 1, Mission 1). This format
        applies onto the other missions also, but it needs a bit of
        editing. All values are BYTEs, unless it says otherwise. Keep
        in mind that all of the offsets are hexadecimal. The offsets
        in parentheses are from the beginning of the current sector.
        This kind of offsets will appear in the radio messages part of
        the mission file.


Offset (hex)    Description
--------------  ------------------------------------------------------

0               Two FFs. Some kind of header. It doesn't seem affect
                anything.
2               # flight groups in this mission.
4               # radio messages in this mission.
A               Briefing personnel.
                    0   None                  2   Flight Officer
                    1   Both                  3   Secret Order


    MISSION COMPLETE/FAILED RADIO MESSAGES

18-55           [62 chars+NULL] Radio message sent when all primary
                    goals completed.
58-95           Other radio message sent when all primary goals completed.
98-D5           Radio message sent when all secondary goal completed.
D8-115          Other radio message sent when all secondary goals
                    completed.
118-155         Radio message sent when primary goals failed.
158-195         Other radio message sent when primary goals failed.


    IFF CODE DEFINITIONS

19A-1A5         [11 chars+NULL] IFF 3: If the first char is 1, this IFF
                    code is hostile. If the whole name is NULLs, the IFF
                    is not active.
1A6-1B1         [11 chars+NULL] IFF 4.
1B2-1BD         [11 chars+NULL] IFF 5.
1BE-1C9         [11 chars+NULL] IFF 6.


    FIRST FLIGHT GROUP (ALWAYS AT OFFSET 1CA)

1CA             [10 chars+NULL] (always the first FG offset) Name of
                    the first FG.
1D6-1DF         [10 chars+NULL] Name of the pilot of this FG.
1E2-1EB         [10 chars+NULL] Cargo of this FG.
1EE-1F7         [10 chars+NULL] Special cargo of the FG, carried by the
                    ship specified in 1FA.
1FA             FG1: Special ship that carries special cargo. Value is
                    the ship's number-1 in this FG. When no special ship
                    is chosen, the value will the number of ships in
                    this FG. For instance, to set the ship 3 to carry
                    the special cargo in a FG of 5 ships, this value
                    will be 2. When no special ship is wanted, the value
                    will be 5 (or higher?).
1FB             FG1: Set 1 when the special ship is random. If 0, the
                    special ship is defined by 1FA.
1FC             FG1: Ship type. See the ship type table.
1FD             FG1: # ships in this FG (range 1-9, maybe).
1FE             FG1: Status of this FG.
                    0   Normal                5   Lasers Damaged
                    1   2x Missiles           6   Hyperdrive out
                    2   Half Missiles         7   Shields off/Recharging
                    3   Shields off/Damaged   8   Shields added
                    4   Shields half/Damaged
1FF             FG1: Missile type of this FG.
                    0   None                  4   Torpedoes
                    1   Heavy Bomb            5   Adv. Concussion
                    2   Heavy Rocket          6   Adv. Torpedoes
                    3   Concussion            7   Mag Pulse Torpedoes
200             FG1: Beam weapon type of this FG.
                    0   None                  2   Jammer Beam
                    1   Tractor Beam          3   Decoy Beam
201             FG1: IFF code.
                    0   Rebel                 3   IFF 4
                    1   Imperial              4   IFF 5
                    2   IFF 3                 5   IFF 6
202             FG1: Artificial intelligence level of this FG.
                    0   Rookie                3   Ace
                    1   Officer               4   Top Ace
                    2   Veteran               5   Super Ace
203             FG1: Color of this FG.
                    0   Red                   2   Blue
                    1   Gold                  3   Black
204             FG1: Radio on/off. When set to 1, radio is on. This means
                    that this FG can take orders.
206             FG1: Formation of this FG.
                    0   Vic                   11  High Vic
                    1   Finger Four           12  Rev High Vic
                    2   Line Astern           13  Close Parade
                    3   Line Abreast          14  Spread Stacked
                    4   Echelon Right         15  High S
                    5   Echelon Left          16  High ?
                    6   Double Astern         17  ?
                    7   Diamond               18  Cross
                    8   Stacked               19  Double Top
                    9   High X                20  Double Bottom
                    10  Vic Abreast
20A             FG1: # waves. How many times the FG can be destroyed.
                    For example, if this is set to 5, after you have
                    destroyed this FG 5 times it won't reappear.
20C             FG1: The number of the ship that player controls. This
                    value is only set != 0 in ONE FG.
213             FG1: The difficulty level that this FG appears in.
                    0   All                   3   Hard
                    1   Easy                  4   > Easy
                    2   Medium                5   < Hard
214             FG1: This FG's first start condition action.
                    0   Always                12  Mission Complete
                    1   Created               13  Win1 Success
                    2   Destroyed             14  Win1 Failed
                    3   Attacked              15  Win2 Success
                    4   Captured              16  Win2 Failed
                    5   Identified            17  Bonus Success
                    6   Boarded               18  Bonus Failed
                    7   Docked                19  Dropped off
                    8   Disabled              20  Reinforced
                    9   Survived              21  Capture Begun
                    10  None                  22  Identified
                    11  ---                   23  Out of Missiles
215             FG1: This FG's first start condition second part.
                    0   Unknown0              5   IFF Code
                    1   Flight Group          6   Unknown6
                    2   Ship Type             7   Global
                    3   Unknown3              8   Unknown8
                    4   Unknown4
216             FG1: This FG's first start condition third part. This
                    specifies the FG, the ship type, the IFF code,...
                    that the action is performed on.
218-21A         FG1: This FG's second start condition. See 214-216.
21C             FG1: Logical operator for the start conditions.
                    0   And
                    1   Or
21E             FG1: Time waited after the start conditions are met. This
                    one controls the minutes.
21F             FG1: Time waited after the start conditions are met. This
                    one controls the seconds, so it goes like this: time
                    waited is min:sec i.e. 21E:21F.
220-222         FG1: FG's departure condition. See 214-216 for details.
226             FG1: FG's stop action condition. When this condition is
                    met, the FG will stop the course of action and head
                    home.
                    0   None                  3   Missiles depleted
                    1   Shields depleted      4   Hull 50%
                    2   Unknown               5   If attacked
22A             FG1: If this FG is arriving in a mothership, this value
                    controls the FG this FG will arrive with. I.e. if
                    this FG should arrive with a platform A (that is in
                    the FG 5), this value would be set to 4. Remember
                    that almost in every situation the FG is expressed as
                    FG-1.
22B             FG1: Is this FG arriving in a mothership or from
                    hyperspace. The mothership is defined in 22A-
                    0   Hyperspace
                    1   Mothership
22C             FG1: If this FG is departuring to a mothership, this
                    value controls the FG this FG will departure to.
                    Again, the FG is FG-1.
22D             FG1: Is this FG departuring to a mothership or to
                    hyperspace. The mothership is defined in 22C. For the
                    values, see 22B.
22E             FG1: Alternate (arriving?) FG. Like 22A.
22F             FG1: Alternate (arriving?) method. Like 22B.
230             FG1: Alternate (departuring?) FG. Like 22C.
231             FG1: Altername (departuring?) method. Like 22D.
232             FG1: Flight order 1. See the flight orders' format.
244             FG1: Flight order 2. See the flight orders' format.
256             FG1: Flight order 3. See the flight orders' format.
268             FG1: FG's primary win condition. This will be added to
                    the mission's primary gols list. These win conditions
                    have only to parts, so they differ a bit from the
                    other conditions. This byte controls the actual
                    action of the condition. For details, see 214.
269             FG1: FG's primary win condition's other part.
                    0   100%                  3   All but 1
                    1   50%                   4   Special
                    2   At least 1
                    An example: if you want a primary goal that says:
                    "50% of flight group Gamma must survive", set the
                    FG Gamma's win condition like this: 268 to 9 and
                    269 to 1.
26A-26B         FG1: FG's secondary win condition. This will be added
                    to the mission's secondary goals list. For details,
                    see 268-269.
26C-26D         FG1: FG's secret win condition. This is not visible in
                    the mission goals list. It's, well, secret. For
                    details, see 268-269.
26E-26F         FG1: FG's bonus win condition. This will be added to the
                    mission's bonus goals list. For details, see 268-269.
270             FG1: Bonus awarded when the bonus condition is met. Can
                    be also negative. The value of this byte will be
                    multiplied by 50, so 0=0,1=50,2=100,FF=-50,FE=-100...
272-278         [unsigned ints] FG1: X coords of the arrival points 1-4.
27A-288         [unsigned ints] FG1: X coords of the waypoints 1-8.
28A             [unsigned int] FG1: X coord of the rendezvous point.
28C             [unsigned int] FG1: X coord of the departure point.
290-296         [unsigned ints] FG1: Y coords of the arrival points 1-4.
298-2A6         [unsigned ints] FG1: Y coords of the waypoints 1-8.
2A8             [unsigned int] FG1: Y coord of the rendezvous point.
2AA             [unsigned int] FG1: Y coord of the departure point.
2AE-2B4         [unsigned ints] FG1: Z coords of the arrival points 1-4.
2B6-2C4         [unsigned ints] FG1: Z coords of the waypoints 1-8.
2C6             [unsigned int] FG1: Z coord of the rendezvous point.
2C8             [unsigned int] FG1: Z coord of the departure point.
2CC             FG1: Is the first arrival point of this FG on.
                    0   Off
                    1   On
2CE             FG1: Is the second arrival point of this FG on.
2D0             FG1: Is the third arrival point of this FG on.
2D2             FG1: Is the fourth arrival point of this FG on.
2D4             FG1: Is the 1st waypoint of this FG on.
2D6             FG1: Is the 2nd waypoint of this FG on.
2D8             FG1: Is the 3rd waypoint of this FG on.
2DA             FG1: Is the 4th waypoint of this FG on.
2DC             FG1: Is the 5th waypoint of this FG on.
2DE             FG1: Is the 6th waypoint of this FG on.
2E0             FG1: Is the 7th waypoint of this FG on.
2E2             FG1: Is the 8th waypoint of this FG on.
2E4             FG1: Is the rendezvous point of this FG on.
2E6             FG1: Is the departure point of this FG on.
2E8             FG1: Is this FG visible in the briefing.
2EE             Flight Group 2: The name of the second FG. This is like
                    the first FG, see 1CA.
  
  
                    Other flight groups...
  


    MISSION RADIO MESSAGES

1AE2            Radio Message 1 (in this mission that offset is correct,
    (0)             in other missions the offset depends on the # FGs):
                    All radio messages are 62 characters + NULL long.
1B22-1B24       RM1: Condition 1 for this message. If condition 1 <logical
    (40-42)         operator> condition 2 is met, the message will be
                    sent. Like the all other 3 part conditions, for
                    details see 214-216.
1B25            RM1: Logical operator for the conditions.
    (43)            0   And                   6    Unknown6
                    1   Or                    7    Unknown7
                    2   Unknown2              8    Unknown8
                    3   Unknown3              9    Unknown9
                    4   Unknown4              10   Unknwon10
                    5   Unknown5
1B26-1B28       RM1: Condition 2 for this message.
    (44-46)
1B2A            [14 chars+NULL] RM1: Short ID for the message. Not used
    (48)            in the game (?).
1B3A            RM1: Delay. This is the amount of time waited when the
    (58)            conditions are met. When the wait is over, the message
                    will be sent. For example, if this offset has a value
                    of 4, then the delay will be 4 * 5 + 1 = 21 seconds.
                    I.e. the value of this offset will be multiplied by
                    5 and increased by 1. The minimum amount of time waited
                    is 6 seconds (1*5+1).
  
  
                    Other radio messages...
  
  

    GLOBAL GOALS

1F74-1F77       Global goal 1 (Primary): A global goal consists of four
                    bytes. It's identical to the other conditions except
                    it has that fourth byte. The fourth byte can be one
                    of the following.
                    0   100%                  5   All but one
                    1   75%                   6   ---
                    2   50%                   7   ---
                    3   25%                   8   All but you
                    4   At least one          9   You
                    For example, to get a global goal "75% of all A-Wings
                    must be must be attacked", you set the bytes like
                    this: 03 02 02 01 (attacked, ship type, A/W, 75%).
                    If there is no global goal, the bytes are set like
                    this: 0A 00 00 00 0A 00 00 00 (the 0A means no action,
                    see 214). The logical operator is set to 01 (Or).
1F78-1F7A       GG2 (Primary): The second primary global goal. This is
                    optional, i.e. you don't have to define this. If you
                    don't use this, set it like instructed above.
1F8D            Logical operator for the primary global goals. This is only
                    needed when both primary global goals are defined.
                    0   And
                    1   Or
1F90-1F93       GG1 (Secondary): The first secondary global goal.
1F94-1F97       GG2 (Secondary): The second secondary global goal.
1FA9            Logical operator for the secondary global goals.
1FAC-1FAF       GG1 (Bonus): The first bonus global goal.
1FB0-1FB3       GG2 (Bonus): The second bonus global goal.
1FC5            Logical operator for the bonus global goals.
 :
 :
 :                  The briefing data is next. I am figuring out
 :                  how the briefing works.
 :
\;/



    Flight orders' format:

        At this moment, there are a lot of unknown values in the
        flight orders. I'm trying my best to figure them out. The
        offset is from the beginning of the flight order.


Offset (hex)    Description
--------------  ------------------------------------------------------

0               The actual order of this FO (flight order).
                    0   Stationary: Flight group does nothing
                    1   Fly home: FG goes to hyperjump point or mothership
                    2   Fly loop: FG circles through waypoints
                    3   Fly loop & evade: Circle waypoints and evade ships
                    4   Rendezvous: Fly to waypoint and wait to be boarded
                    5   Awaiting boarding
                    6   Holding station
                    7   Attack target
                    8   Attack any escort FG in area
                    9   Respond to target FGs: Awaits orders from target FGs
                    10  Escort: Escort sub ships
                    11  Disable target FG
                    12  Board to give cargo
                    13  Board to take cargo
                    14  Board to exchange cargo
                    15  Board to capture ship
                    16  Board to destroy ship
                    17  Board to contact (talk)
                    18  Board to pick up passenger
                    19  Board to drop off passenger
                    20  Wait for further orders
                    21  [Starship] Fly loop
                    22  [Starship] Return: Wait for all Dships to return
                    23  [Starship] Create: Create (drop) all Daughterships
                    24  [Starship] Protect: Protects designated FGs
                    25  [Starship] Protect: Protects designated FGs
                    26  [Starship] Attact: Attacks designated FGs
                    27  [Starship] Disable: Disables designated FGs
                    28  [Starship] Wait: Holds steady and waits
                    29  [Starship] Fly home
                    30  [Starship] Wait: Holds steady and waits
                    31  [Starship] Board: Performs docking operation
                    32  [Starship] Board: Performs docking operation
                    33  [Starship] Hold station: Does nothing
                    34  [Starship] Hold steady: Does nothing
                    35  [Starship] Fly home: Hypes out
                    36  [Starship] Evade waypoint: FG evades waypoint
                    37  [Starship] Evade waypoint2
                    38  [Starship] Rendezvous: Flies to rendezvous point
                    39  [Starship] Disabled: Craft#1 disabled,others continue
1               Speed of the FG. 0 for 0%, 1 for 10%, 5 for 50%, A for
                    100% and so on. Values must be in range 0-A.
2               # repeats or time to wait divided by 5 (+actions).
                    This holds lots of information, other than just repeats.
                    For some orders, it holds the amount of repeats to
                    complete before going to the next set of orders. For
                    other actions, it holds a specific amount of time to
                    wait for something to happen, and even more, it can
                    hold the number of a waypoint to go to.
3               How many times this FG will try to complete the special
                    mission. If a ship tries to board another ship that
                    has not yet been disabled, it will fail a special
                    repeat.
4               Unknown value 1.1. Normally set to 0. I think these
                    unknown values have something to do with the global
                    setting in the subs, see C.
5               Unknown value 1.2. Normally set to 0.
6,8             Sub3. See C and D for details.
7,9             Sub4. See C and D for details.
A               Unknown value 2.1. Normally set to 1.
B               Unknown value 2.2. Normally set to 0.
C               Sub1/First part of this sub.
                    0   None                  5   IFF code
                    1   Flight group          6   Unknown6
                    2   Ship type             7   Global
                    3   Unknown3              8   Unknown8
                    4   Unknown4
D               Sub1/Second part of this sub. This value is the FG-1,
                    the ship type, the IFF code,... of the sub.
E-F             Sub2. See C and D for details.
10              Unknown value 3.1. Normally set to 1.
11              Unknown value 3.2. Normally set to 0.


                                                                  
    Ship type table:

        All of these ships aren't in the original TIE Fighter; they
        appear in different expansions of the game. Ships that aren't
        surely in the original TIE Fighter are marked with an asterisk
        (*).
        Most of the ships marked with an asterisk come with the
        "Defender of the Empire" campaign disk.
            

    Value   Description                 Value   Description
    ------  -----------------------     ------  -----------------------
    0       X-Wing                      43      *C-3 Passenger Liner
    1       Y-Wing                      44      Carrack Cruiser
    2       A-Wing                      45      Strike Cruiser
    3       B-Wing                      46      Escort Carrier
    4       TIE Fighter                 47      *Dreadnaught
    5       TIE Interceptor             48      Calamari
    6       TIE Bomber                  49      Light Calamari
    7       TIE Advanced                50      Interdictor
    8       TIE Defender                51      Victory Class Star D
    9       *TIE New1                   52      Star Destroyer
    10      *TIE New2                   53      *Super Destroyer
    11      *Missile Boat               54      Container E
    12      *T-Wing                     55      Container F
    13      Z-95 Headhunter             56      Container G
    14      *R-41 Starchaser            57      Container H
    15      Assault Gunboat             58      Container I
    16      Tyredian Shuttle            59      Platform Class A
    17      Escort Shuttle              60      Platform Class B
    18      Patrol Craft                61      Platform Class C
    19      Scout Craft                 62      Platform Class D
    20      Transport                   63      Platform Class E
    21      Assault Transport           64      Platform Class F
    22      Escort Transport            65      *Platform 7
    23      Tug                         66      *Platform 8
    24      *Combat Utility Vehicle     67      *Platform 9
    25      Container A                 68      *X/7 Factory Station
    26      Container B                 69      Satellite 1
    27      Container C                 70      Satellite 2
    28      Container D                 71      *Sat3
    29      Heavy Lifter                72      *Sat4 
    30      *Bulk Barge                 73      *Sat5
    31      Freighter                   74      Mine Type A
    32      Cargo Ferry                 75      Mine Type B
    33      Modular Conveyor            76      Mine Type C
    34      Con Transport               77      *Mine4
    35      *New Freighter 3            78      *Mine5
    36      Muurian Transport           79      Probe Type A
    37      Corellian Transport         80      Probe Type B
    38      *Millenium                  81      *Probe3
    39      Corvette                    82      Buoy1
    40      Modified Corvette           83      Buoy2
    41      Nebulon-B Frigate           :        
    42      Modified Frigate            87      A planet (see planet types)
                                                    


    Planet Types:

        A planet is a normal FG with the ship type of 87 (0x57).
        The 'status of this FG' defines the planet type.


    Value   Description
    ------  --------------------------------------------------------------    
    0       Grey planet
    1       Grey planet with a grey moon
    2       Top-lit red-brown not-too-big planet
    3       Large yellow-brown planet
    4       Large brown half-lit planet
    5       Large white-light green (almost cyan) planet
    6       Half-lit cyanish grey planet with small moon of same color
    7       White-blue (black center) with top-lit small moon