the cutting room mirror

Syndicate Wars (DOS)

This article has a talk page!
view on tcrf.net

This page contains notes for the game Syndicate Wars (DOS).

To do:
Rewrite loads of below now symbols show the exact data structures and start positions

Level Files#

Level File Naming Convention#

Levels in the game are stored with the following key to their filenames:

c0mml0LL.dat

Where:
m = Map number and
L = unique level number for this map

e.g. c030l001.dat, which would be the first level defined for map 30 (London).

Level numbers do not correspond to the index of missions defined in the ALL000.MIS files, they're just arbitrary numbers to make each level file unique. Where it gets complicated is that many levels are defined with the same level number but a different file extension, e.g:

c030l001.d1
c030l001.d2

These are often in addition to a corresponding level with a .dat file extension. Confusingly it seems the game started with all levels featuring only a .d1, .d2, etc extension, seemingly to represent different versions of the same level. However, once the game reached the alpha stage for some some reason .dat was added as an extension too. Generally finished levels are saved as .dat, with older versions as .d1, etc, but this is not always the case.

The game does not store the level file it is looking for directly in the above format (i.e. as a string). Instead it uses a different format in e.g. the ALL000.MIS file to know what file to load, based simply on two numbers (map and level no).

e.g. 10 16

These can be converted back into the full filename with the following formula:

CL<LevelNo%15>.D<LevelNo/15>

so the above example would have the filename C010L001.D1.

If LevelNo/15 is zero, then the extension is just .DAT.

To convert the filename into the two number format used in the game files, the following can be used to find the levelNo:

LevelNo = Number from file extension * 15 + Level number from file name

While not without exception (there is one campaign map with this number), overwhelmingly levels ending in l005.dat are multiplayer levels.

(Source: Mefistotelis])

Level File Format Versions#

Game levels self-report the file format version via the first byte of the level file. The following different level file versions have been observed. If levels are examined based on their filestamp, there is clear pattern where new versions of the level format appear and superceded old versions are no longer used over time.

Version 4 appears to the earliest known version of the data structure, as this is what is used by the pre-alpha demo and is present if a level is saved from the editor. However, it's not clear if this version is actually complete/working as very little seems to actually be saved in the files. Experimentation shows that the only thing definitely saved in these files are the level's group names if defined. Everything else is saved in the map file, like the PlayStation version.

Version 9 onwards is used by files included with the final game, but this is still from an early pre-alpha version of the game and won't work with the final executable. The final game is only compatible with level files from version 15 onwards. Versions 9, 11, and 12 can be loaded but have totally different data structures so will either be horribly broken, or will outright crash the game.

Versions 9 - 12 have lot more (empty) fields for data, including an extra 48 bytes that oddly store parts of the NPC health and vehicle position data, despite other vehicle-only structures that are used as dedicated extra bytes for vehicles already existing at this point.

Version 15 is the first of the final game formats. As well as drastically slimming the number of (mostly unused) variables down, it also introduces the Flag2 field, meaning Things can now be hidden in-game.

Version 16 introduces the ability to pre-set the camera angle on level start.

Version 17 differs from versions 15 and 16 in how it stores vehicle health.

Version

Start Date

4

October 1995?

9

January 1996

11

Early February 1996

12

Late February 1996

15

Late March 1996

16

April 1996

17

Late May 1996

Most levels present in the game files use the final version 17 file structure.

Level File Data Structures#

The recent work to reverse engineer data structures from the debug code left in the early demos and PlayStation symbols reveals the structure for characters stored in the levels.

Level files have several different blocks of data one after another, as follows:

  • File version header (1 byte data, 3 more bytes blank)
  • Character data header (2 bytes) - lists how many characters are defined below.
  • Character data - who and what is found where in the level. These use the "Thing" data structure, and its sub-structures "ThingUnion", "TngUVehicle", and "TngUPerson", etc, as defined here. Each entry is 168 bytes in length, but vehicles have another extra 36 bytes of data in their definition.
  • Command data header (2 bytes) - lists how many commands are defined following.
  • Command data - behaviour for all NPCs in a level, where they should walk, who they should be killing or defending, what vehicles to get in, etc. This uses the "Command" data structure, as defined here. This is the bulk of the file. Each entry is 32 bytes long.
  • Groups header (7 bytes). There are at least two known variants of this, but some files don't seem to have any obvious header to show the start of group info, it's simply straight after the command data.
  • Group names - ASCII text names for each group used in the level in order of the group numbers from 0. Each entry is 40 bytes long. It seems there are 32 entries, although most will be blank.
  • Group relationships - these are a corresponding block of 32 entries for the above, again each 40 bytes long. In fact there is a 33rd dummy entry at the start, then the entry for the player group, which is always just blank.
  • Small header (19 bytes) - this comes after groups and just consists of the value 1 and 18 zero bytes. If there are items, the item header is the immediate next value, otherwise it goes to game misc.
  • Items header (2 bytes) - lists how many item entries follow. Found 2619 bytes from the very first character of the first group name above. This is optional - if there are no items in the level it simply gets ommitted.
  • Items data - a list of all items found on the ground in the level. Each entry is 60 bytes long and uses the "SimpleThing" data structure.
  • Game Misc (4400 bytes) - this follows immediately after items (or the small header if no items in level) and is used to define any mounted guns in a level. Even if there are none it always starts with a 4 byte header that must be present.
  • Padding (116 bytes) - zero byte padding
  • Level camera start angle (4 bytes) - The final 4 bytes of any level file. This is always found 4516 bytes from the last item defined, or the end of the small header. The starting camera angle of the level is derived from this. In practice only the second byte needs altering, examples are 00 = starting camera angle, 40 = camera 90 degrees right from start, 80 = 180 degrees from start, C0 = 270 degress right, FF = back to start

The character data is as follows, based around the Thing structure, with extended sets of data depending on the Thing Subtype:

Thing Structure#

The game names objects in it as "Things". Most notably, all vehicles and people are Things. Starting common structure for all Things:

Variable

Offset (hex)

Length hex)

Notes

Parent

0x0

0x2

This seems to be used as a relationship between vehicles and their occupants - the parent listed here is the occupant of the vehicle

Next

0x2

0x2

Links to the vehicle this character starts in

LinkParent

0x4

0x2

All objects link to the next in a kind of daisy chain. It's not clear the effect of the order of this, or if it's arbitrary

LinkChild

0x6

0x2

As above, the same link in reverse

SubType

0x8

0x1

The Thing subtype - what kind of NPC, what kind of vehicle, see table below

Type

0x9

0x1

What is this Thing - 2 = Vehicle, 3 = Person

State

0xA

0x2

Various unknown purposes. Vehicles have these set, seemingly to define ground vehicle, flying vehicle, ship, tank, and mech. However, people rarely have different states set as well.

Flag

0xC

0x4

This seems to always be 67108868 for characters and 67108864 for vehicles. Not clear what it does. There is also the rarely seen state 67108870 for people, this is used for characters that start the level dead, used for corpses. The latter aso have State set to 13.

LinkSame

0x10

0x2

Daisy chains all same Thing Types together, so all characters and separate chain for all vehicles

LinkSameGroup

0x12

0x2

Daisy chain links together other things in same group

Radius

0x14

0x2

This seems to be the detection radius for the unit, for detecting enemy groups and responding as based on group allegiance

ThingOffset

0x16

0x2

Confusingly THIS seems to be a thing's effcetive unique identity in the file. This corresponds with what commands are set for a specific NPC in the commands list, for example

X

0x18

0x4

X position of thing on map

Y

0x1C

0x4

Y position of thing on map

Z

0x20

0x4

Z position of thing on map

Frame

0x24

0x2

In conjuction with StartFrame seems to determine the NPC graphics to use, all NPC types use the same value for their type. Not used for vehicles

StartFrame

0x26

0x2

This is how the 3D model for a vehicle is determined. NPCs also use this, but it's not clear if this value is as important for them, as the pre version 12 levels use slightly different values to later levels with no ill effect

Timer1

0x28

0x2

Unsure, usually the same as StartTimer1. Time to follow first command for?

StartTimer1

0x2A

0x2

As above, usually identical values to Timer1

VX

0x2C

0x4

This is position data for flying vehicles and people in flying vehicles. passengers/drivers of vehicles who start the level in them have their coordinates set here as well as regular X/Y/Z. Should be set to zero for the actual vehicles, as if not it causes weird glitches as vehicles are simultaneously forced to the location set here but also at the location actually travelled to, so are invisible and cannot be shot

VY

0x30

0x4

Ditto

VZ

0x34

0x4

Ditto

Speed

0x38

0x2

Speed of thing

Health

0x3A

0x2

Starting health of thing - can be lower than max health

Owner

0x3C

0x2

Seems to be used to set the target for protection/follow commands

PathOffset

0x3E

0x1

Unknown, doesn't seem to be used

SubState

0x3F

0x1

Unknown, doesn't seem to be used

PTarget

0x40

0x4

Unknown, doesn't seem to be used

Flag2

0x44

0x4

Used for a few special operations on a character, the most obvious one being to make some NPCs invisible if set to 16777216 (decimal)

GotoThingIndex

0x48

0x2

Unknown, doesn't seem to be used

OldTarget

0x4A

0x2

Unknown, doesn't seem to be used

TNGPerson Structure#

Extended Thing structure just for characters (i.e. not vehicles), continues from above

Variable

Offset (hex)

Length hex)

Notes

PathIndex

0x4C

0x2

Unknown, doesn't seem to be used

UniqueID

0x4E

0x2

The thing's unique id number. Unlike Thingoffset (which is the de facto unique id), this is oddly less important but still used.

Group

0x50

0x1

Group membership. Very important for determining relations between NPCs. Group 0 always indicates a player character. Vehicles often use group 0 as well, but groups don't seem to have any impact for vehicles

EffectiveGroup

0x51

0x1

The currently acting group membership. Not important in level files, used in-game to map what group a character is NOW, after e.g. persuasion or using a clone shield

ComHead

0x52

0x2

What command number the NPC starts the level doing

ComCur

0x54

0x2

Current command. Not used by the level file, only in-game

SpecialTimer

0x56

0x1

Unknown, doesn't seem to be used

Angle

0x57

0x1

The angled sprite to use on this character's start. This is 1-8 for the 8 compass directions

WeaponTurn

0x58

0x2

Unknown, doesn't seem to be used

Brightness

0x5A

0x1

ComRange

0x5B

0x1

BumpMode

0x5C

0x1

BumpCount

0x5D

0x1

Vehicle

0x5E

0x2

Seems to be unused

LinkPassenger

0x60

0x2

Within

0x62

0x2

LastDist

0x64

0x2

ComTimer

0x66

0x2

Timer2

0x68

0x2

StartTimer2

0x6A

0x2

AnimMode

0x6C

0x1

OldAnimMode

0x6D

0x1

OnFace

0x6E

0x2

UMod

0x70

0x2

Works like WeaponsCarried does, only for body mods.

Mood

0x72

0x2

This could be set in the pre-alpha demo editor, but seems to have been superceded for the final game by commands and group relations, and seems to be unused

FrameId

0x74

0x5

This selects alternate frames of animation for parts of an NPC's body. Only a few character types can use this, and it is overridden for player characters to always be default. Female Unguided: 0 = default, 1 = blonde hair, 2 = blue hair. Syndicate Agent: 0 = Default, 1 = Blond, 2 = Red with ponytail, 3 = Red no ponytail. Leather Jacket man 0 = Default, 1 = Red jacket. There are also some F unguided using 16777216, but this doesn't visibly do anything.

Shadows

0x79

0x4

RecoilTimer

0x7D

0x1

MaxHealth

0x7E

0x2

Maximum Health of character

Flag3

0x80

0x1

Unknown, doesn't seem to be used

OldSubType

0x81

0x1

Seems to always be 17 for NPCs (subtype 3) and 0 for vehicles (subtype 2)

ShieldEnergy

0x82

0x2

Starting shield enery for Thing

ShieldGlowTimer

0x84

0x1

WeaponDir

0x85

0x1

SpecialOwner

0x86

0x2

WorkPlace

0x88

0x2

Seems to be unused. Based on pre-release articles it seems this would be used for NPC routines, but in the final game these are all set via specific commands

LeisurePlace

0x8A

0x2

Seems to be unused. Based on pre-release articles it seems this would be used for NPC routines, but in the final game these are all set via specific commands

WeaponTimer

0x8C

0x2

Target2

0x8E

0x2

MaxShieldEnergy

0x90

0x2

Maximum shield energy of Thing

PersuadePower

0x92

0x2

Seems to be unused. Presumably this would allow special NPCs to grant greater persuasion power for the Persuadertron.

MaxEnergy

0x94

0x2

Maximum weapon energy of Thing

Energy

0x96

0x2

Starting weapon energy of Thing

RecoilDir

0x98

0x1

CurrentWeapon

0x99

0x1

GotoX

0x9A

0x2

GotoZ

0x9C

0x2

TempWeapon

0x9E

0x2

Stamina

0xA0

0x2

Starting stamina of Thing

MaxStamina

0xA2

0x2

Maximum stamina of Thing

WeaponsCarried

0xA4

0x4

Weapon inventory of character as explained above. Used for NPCs. Only used for player characters if level is loaded via /m command

A

Groups: Most level files (but not all) have a series of ASCII text entries that name all the groups in the level. Naturally this doesn't have a fixed location as it depends on how many characters are defined, but it found is towards the end of the file and can usually be identified by the preceeding header of 01020304050607. Another observed header format for groups is 090A0B0C0D0E1F - there doesn't seem to be any real rhyme or reason as to which are used (files across all versions have or do not have headers of different types, or none at all but still contain group data). There is then a space of 36 empty bytes and the group names begin. Each definition is fixed at 40 characters long. There doesn't seem to be a end marker after these. The first group listed corresponds to group 0 set on NPCs, with the second one corresponding to group 1, and so on.

Most levels have a unique set of groups just for that level, but some use what were clearly a template used by some of the designers as they reuse an identical wide selection of both common but also rarer enemy types not necessarily present in the level (e.g. The Nine and Lucy De Saxo).

TngUVehicle Structure#

Extended Thing structure just for vehicles, continues from Thing. Note these have different starting offsets to characters, so can't be correctly represented in the same export

Variable

Offset (hex)

Length hex)

Notes

PathIndex

0x4C

0x2

UniqueID

0x4E

0x2

The thing's uniqueid. Unlike Thingoffset, this doesn't seem very important

Group

0x50

0x1

Group membership. Very important for determining relations between NPCs

EffectiveGroup

0x51

0x1

Unclear - usually the same as the Group number, but sometimes different, especially for vehicles who are often set to group 99 here

Object

0x52

0x2

MatrixIndex

0x54

0x2

NumbObjects

0x56

0x1

Dummy2

0x57

0x1

WeaponTurn

0x58

0x2

ReqdSpeed

0x5A

0x2

MaxSpeed

0x5C

0x2

PassengerHead

0x5E

0x2

TNode

0x60

0x2

AngleDY

0x62

0x2

AngleX

0x64

0x2

AngleY

0x66

0x2

AngleZ

0x68

0x2

GotoX

0x6A

0x2

GotoY

0x6C

0x2

GotoZ

0x6E

0x2

VehicleAcceleration

0x70

0x2

LeisurePlace

0x72

0x2

TargetDX

0x74

0x2

TargetDY

0x76

0x2

TargetDZ

0x78

0x2

OnFace

0x7A

0x2

WorkPlace

0x7C

0x2

ComHead

0x7E

0x2

ComCur

0x80

0x2

Timer2

0x82

0x2

RecoilTimer

0x84

0x2

MaxHealth

0x86

0x2

Presumably vehicle max health, but not understood how it works. Version 17 files use the Armour attribute for vehicle health instead

Dummy

0x88

0xC

SubThing

0x94

0x2

Agok

0x96

0x2

WobbleZP

0x98

0x4

WobbleZV

0x9C

0x4

Armour

0xA0

0x1

This determines vehicle health for version 17 files only. Values typically vary from 1-9. Set to zero in pre V17 files.

PissedOffWithWaiting

0xA1

0x1

ZebraOldHealth

0xA2

0x2

destx

0xA4

0x2

destz

0xA6

0x2

Vehicle Data#

The extra 36 Bytes of vehicle data that follows the Thing data only for vehicle entries. The official names are not known so below are based on observation. These are used to initially place a vehicle in a level to set its facing, and are ignored after that point (aside from the size fields). Default for size fields seems to be 0x0040, but some vehicles have higher/lower than this set.

Variable

Offset (hex)

Length hex)

Notes

ObjectWidth

0x0

0x4

Objectskewleft

0x4

0x4

Objectskewright

0x8

0x4

ObjectRoll

0xC

0x4

ObjectHeight

0x10

0x4

ObjectPitch

0x14

0x4

ObjectSkew2

0x18

0x4

ObjectStretch

0x1C

0x4

ObjectLength

0x20

0x4

Thing Subtypes#

The Subtype value of a Thing when it's a person (and actually even if it's a vehicle) has the following known values:

Value

Character

1

Agent

2

Zealot

3

Unguided woman

4

Civil. suitcase man

5

Civil. White dress woman

6

Soldier

7

Mechanic spider

8

Police

9

Unguided man

10

Scientist

11

Shady Guy

12

Elite Zealot

13

Civ - Blonde Woman 1

14

Civ - Leather Jacket Man

15

Civ - Blonde Woman 2

40

Ground Car

50

Flying Vehicle

51

Tank

54

Ship

59

Mech

The Type value determines the type of the Thing. The only ones that seem to be defined here are 2 - Vehicle, and 3 - Person.

The vehicles above (thing types 40 - 59) also have the corresponding Thing type set to 2. Note that the subtype value only seems to determine the type of vehicle (ground only, flying, ship, etc), not which specific model it uses (APC, motorbike, taxi, etc). This is determined by the StartFrame as per the table below.

Oddly trains don't seem to have a Thing value, they presumably must be pre-set via the map editor once a train track is setup. The same seems to be the case for gun emplacements.

It's also worth noting that Thing subtype 15 - Civilian Blonde Woman 2 does not actually seem to be used by any levels. In the debug strings she is called "fast blonde". Adding her into a mission she does not seem to behave any different from other civilians. She looks identical to subtype 13, the first blonde woman.

Vehicle Types#

While the base type of a vehicle is determined by the Thing Type (e.g. flying, ground car, ship, etc), the actual appearance of the vehicle is determined by the StartFrame value. These are as follows:

Value

Vehicle Type

0

Civilian car (grey)

1

Delorean (grey)

2

Bike

3

Brown flyer

4

Train engine

5

Train carriage

6

APC

7

Large APC

8

Police car

9

Police Truck

10

Small industrial vehicle

11

Bullfrog truck

12

Fire truck

13

Ambulance

14

Taxi (Yellow)

15

Barge

16

Missile Frigate

17

Luxury Yacht

18

Tank

19

Tank missile battery

20

Missile (small)

21

Civilian car (Red)

22

Delorean (Yellow)

23

Zealot Imperial Shuttle

24

Taxi (Red)

25

Missile (Large)

26

Head of moon Mech

27

Chest of mech?

28

Bike (Metallic)

29

Claw Mech (black)

30

Claw Mech (Red)

31

2000AD/Manga Truck

32

Moon Mech leg

33

Moon Mech leg

34

Moon Mech leg

35

Moon Mech leg

36

Moon Mech Arm

37

Moon Mech Arm

38

Moon Mech Gun

39

Moon Mech Gun

Note these are not needed for the Moon Mech, it's placed in the game by its specific Thing Subtype value. If it's called by the values here on StartFrame, only parts of its body will be rendered (the actual Moon mech uses a startframe of 0).

WeaponsCarried DWORD#

The weapon loadouts for each character (including the preset ones for player characters, used only for debugging when the level is loaded from commandline) are stored as follows in the WeaponsCarried DWORD for that character:

Weapon

Hex

Uzi

1

Minigun

2

Pulse Laser

4

Electron Mace

8

Launcher

10

Nuclear Grenade

20

Persuadertron

40

Flamer

80

Disrupter

100

Psychogas

200

Knockout Gas

400

Ion Mine

800

High Explosive

1000

Napalm Mine

2000

LR Rifle

4000

Satellite Rain

8000

Plasma Lance

10000

Razor Wire

20000

Sonic Blast

40000

Graviton Gun

80000

Persuadertron 2

100000

Stasis Field

200000

Nothing (Energy Shield)

400000

Chromotap

800000

Displacertron

1000000

Cerberus IFF

2000000

Medikit

4000000

Automedikit

8000000

Trigger Wire

10000000

Clone Shield

20000000

Nothing/Uzi

40000000

Nothing/Minigun

80000000

Essentially the game loads the value set for the character, and divides the number by the highest of those in the table above until it finds a number that it is divisible by. This then adds that weapon to the character's inventory, and repeats the process going down the list to the next highest with the remainder. This continues until zero is hit or no weapons are left to add. Therefore if this is edited by hand to FFFFFFFF, that character will have all weapons in the game, including cut ones.

Group Relationships#

Relationships between groups are stored in a series of 40 byte entries in group order, with a blank dummy entry first. The first real entry for the player is usually blank as well (as the player naturally responds how they wish to other groups), and then the 31 other groups follow. These are stored as 4 byte bitfields of 32 bits to represent each of the relationship types. There is then a series of 8 single bytes that each represent a single other group the group can be tasked with protecting.

Variable

Offset (hex)

Length hex)

Notes

KillOnSight

0x0

0x4

Bitfield that represents which groups this group should kill on sight

KillIfWeaponOut

0x4

0x4

Bitfield that represents which groups this group should kill if they have their weapons drawn. Commonly used for the police against the player

KillIfArmed

0x8

0x4

Bitfield that represents which groups this group should kill if they have a weapon in their inventory at all

Truce

0xC

0x4

Bitfield that represents which groups this group should never attack. Commonly used to ally multiple groups of the same enemy type e.g. all zealots in a level

Guardian1

0x10

0x1

Integer representing the first of 8 possible groups that will protect this group. This needs testing to confirm exactly how it works, but it seems to be that if another groups engages the current group, the group set as a guardian here will actively become hostile to the attacking group as if they themselves had been attacked

Guardian2

0x11

0x1

Guardian3

0x12

0x1

Guardian4

0x13

0x1

Guardian5

0x14

0x1

Guardian6

0x15

0x1

Guardian7

0x16

0x1

Guardian8

0x17

0x1

Blank

0x18

0x10

Unused padding

Item Data Structure#

Used for all collectible items starting on the floor in a level.

Variable

Offset

Size

Notes

Parent

0x0

0x2

Next

0x2

0x2

Seems to link to ThingOffset of character Thing that is linked to do something with this item, e.g. units set to pick up a gun off the floor as a command

LinkParent

0x4

0x2

LinkChild

0x6

0x2

SubType

0x8

0x1

0 for weapons, 1 for Epidermises.

Type

0x9

0x1

Seems to always be 25 for items

State

0xA

0x2

If a weapon, uses same numbers as table here

Flag

0xC

0x4

Always seems to be 67108868

LinkSame

0x10

0x2

Object

0x12

0x2

Radius

0x14

0x2

ThingOffset

0x16

0x2

Unique number of item. Always negative for items it seems

X

0x18

0x4

X coordinate of item on map

Y

0x1C

0x4

Y coordinate of item on map

Z

0x20

0x4

Z coordinate of item on map

Frame

0x24

0x2

Used in conjunction with startframe for item floor icon. 3915 = high explosive, 3531 = briefcase,

StartFrame

0x26

0x2

Used for icon graphic type. 1003 = Mostly weapons, 1056 = epidermis,

Timer1

0x28

0x2

StartTimer1

0x2A

0x2

WeaponType

0x2C

0x2

If a weapon, uses same numbers as table here, but with base 1 (so all items bumped up one number). Weapon Type 31 is an Epidermis - type is set by Ammo field. 0 is Money briefcase, amount of cash is set by Ammo field

LastFired

0x2E

0x2

Ammo

0x30

0x2

Amount of money for money briefcases, type of epidermis if epidermis: 1 - Hard Skin, 2 - Flame Skin, 3 - Energy Skin, 4 - Stealth Skin

Owner

0x32

0x2

OnFace

0x34

0x2

field_38

0x38

0x4

Unknown

Level File Versions#

The below is a table listing each level file in the game, when it was last written to, and what level file format version it uses. Files using pre-version 15 formats will not work with the final game, but can be converted to be playable.

File

Version

Timestamp

C010L001.D1

9

01/25/1996 15:14:10

C003L001.D1

9

01/25/1996 16:53:30

C006L001.D1

9

01/26/1996 12:06:24

C006L001.D2

9

01/31/1996 10:42:54

C047L001.D1

9

02/01/1996 16:36:16

C000L001.D3

9

02/01/1996 17:14:36

C010L001.D3

9

02/02/1996 11:13:38

C044L001.D2

11

02/07/1996 14:59:32

C044L001.D1

11

02/07/1996 17:18:04

C044L001.D3

11

02/07/1996 17:30:20

C010L001.D2

11

02/07/1996 17:37:08

C032L002.D1

11

02/09/1996 12:37:34

C050L001.D1

11

02/12/1996 12:27:20

C050L001.D2

11

02/12/1996 16:04:14

C050L001.D3

11

02/12/1996 17:55:04

C001L001.D3

11

02/13/1996 11:28:26

C001L001.D1

11

02/13/1996 11:28:34

C050L002.D1

11

02/14/1996 11:52:30

C041L001.D2

11

02/14/1996 15:48:04

C002L001.D1

11

02/15/1996 16:43:20

C002L001.D2

11

02/15/1996 16:58:40

C002L001.D3

11

02/16/1996 14:47:16

C007L003.D2

11

02/16/1996 17:00:24

C007L003.D3

11

02/16/1996 17:01:36

C046L001.DAT

11

02/17/1996 14:19:24

C046L001.D1

11

02/17/1996 14:27:34

C046L001.D2

11

02/17/1996 14:44:36

C002L003.D1

11

02/17/1996 16:12:50

C002L003.DAT

11

02/17/1996 16:38:30

C041L002.D1

11

02/17/1996 17:05:58

C041L002.D2

11

02/17/1996 17:58:58

C008L003.D1

11

02/18/1996 14:15:48

C046L001.D3

11

02/18/1996 15:24:28

C044L002.D1

11

02/18/1996 19:48:50

C046L015.D1

11

02/18/1996 23:47:10

C046L015.D3

11

02/19/1996 13:54:24

C009L001.D1

12

02/19/1996 14:14:40

C009L001.D2

12

02/19/1996 14:43:54

C005L001.D1

12

02/20/1996 10:59:52

C047L001.D3

11

02/20/1996 11:02:44

C005L001.D2

12

02/20/1996 17:15:02

C046L014.DAT

12

02/21/1996 10:19:40

C040L001.D1

12

02/22/1996 12:03:42

C007L001.D1

12

02/27/1996 12:16:06

C007L001.D2

12

02/27/1996 12:21:16

C001L003.D2

12

02/27/1996 15:05:46

C020L002.DAT

12

02/28/1996 16:51:50

C007L003.D1

12

02/29/1996 11:48:38

C040L015.D1

12

02/29/1996 12:32:08

C002L007.D1

12

02/29/1996 15:36:44

C040L015.D2

12

03/01/1996 11:15:02

C044L015.DAT

12

03/01/1996 12:03:42

C004L007.D1

12

03/01/1996 12:06:28

C004L007.DAT

12

03/01/1996 12:34:54

C006L015.D3

12

03/01/1996 14:56:18

C044L015.D1

12

03/01/1996 15:52:26

C026L004.DAT

12

03/04/1996 10:24:08

C035L004.DAT

12

03/04/1996 17:33:08

C001L003.D1

12

03/05/1996 11:48:08

C008L003.D2

12

03/06/1996 15:48:32

C006L007.DAT

12

03/06/1996 16:43:58

C036L004.DAT

12

03/06/1996 17:43:26

C006L003.D1

12

03/08/1996 11:16:48

C006L003.D2

12

03/08/1996 14:31:08

C003L007.D2

12

03/08/1996 15:28:04

C003L007.DAT

12

03/08/1996 15:51:26

C045L015.D3

12

03/12/1996 10:04:16

C001L007.DAT

12

03/14/1996 13:52:48

C052L001.DAT

12

03/20/1996 14:58:54

C047L015.D1

12

03/20/1996 17:08:08

C041L001.D3

12

03/20/1996 17:42:22

C041L001.D1

12

03/21/1996 15:48:20

C044L002.D2

15

03/27/1996 12:35:52

C040L001.D3

15

03/28/1996 14:10:04

C030L008.D2

15

03/28/1996 15:07:42

C040L015.DAT

15

03/28/1996 15:11:42

C007L007.D1

15

03/29/1996 10:21:52

C003L007.D1

15

03/29/1996 14:31:44

C052L007.DAT

16

04/04/1996 13:46:46

C035L007.DAT

16

04/09/1996 15:16:24

C030L008.D1

16

04/11/1996 11:17:44

C027L003.DAT

16

04/11/1996 12:20:46

C009L007.DAT

16

04/11/1996 16:23:22

C020L007.DAT

16

04/12/1996 10:28:40

C002L007.DAT

16

04/12/1996 15:28:24

C028L002.DAT

16

04/13/1996 23:31:56

C000L001.DAT

16

04/16/1996 12:36:32

C008L003.DAT

16

04/22/1996 18:20:32

C036L001.D3

16

04/24/1996 17:24:08

C046L008.DAT

16

04/25/1996 21:01:44

C003L015.DAT

16

04/26/1996 13:36:10

C046L009.DAT

16

04/27/1996 05:46:54

C046L010.DAT

16

04/29/1996 13:33:26

C004L015.DAT

16

05/02/1996 01:02:38

C002L015.DAT

16

05/02/1996 12:28:00

C041L002.DAT

16

05/08/1996 15:39:22

C050L002.DAT

16

05/08/1996 17:21:14

C044L007.D1

16

05/10/1996 01:33:52

C044L007.DAT

16

05/14/1996 12:52:44

C036L003.D2

16

05/16/1996 12:18:50

C036L003.DAT

16

05/16/1996 18:22:24

C012L001.DAT

17

05/20/1996 16:37:42

C025L015.D3

17

05/21/1996 15:17:04

C065L001.DAT

17

05/25/1996 18:44:28

C041L001.DAT

17

05/30/1996 01:26:10

C047L015.DAT

17

05/31/1996 16:32:50

C047L001.D2

17

06/01/1996 20:33:10

C049L009.DAT

17

06/10/1996 17:10:28

C027L015.D3

17

06/16/1996 22:51:22

C050L002.D2

17

06/25/1996 16:31:50

C044L002.DAT

17

06/28/1996 10:57:06

C035L001.D1

17

06/28/1996 16:06:06

C079L015.D3

17

07/07/1996 18:02:26

C044L003.DAT

17

07/14/1996 15:04:22

C047L011.DAT

17

07/19/1996 16:54:36

C030L001.D2

17

07/19/1996 17:35:56

C002L002.DAT

17

07/22/1996 15:29:42

C046L015.DAT

17

07/25/1996 11:16:44

C060L015.DAT

17

07/25/1996 12:15:08

C044L001.DAT

17

07/29/1996 11:13:56

C070L011.DAT

17

07/29/1996 13:28:58

C070L011.D1

17

07/29/1996 13:29:44

C005L005.DAT

17

08/02/1996 11:18:38

C040L005.DAT

17

08/02/1996 14:24:22

C065L005.DAT

17

08/02/1996 14:26:54

C041L005.DAT

17

08/04/1996 21:19:16

C009L001.DAT

17

08/05/1996 04:04:28

C004L013.DAT

17

08/05/1996 04:05:20

C022L013.DAT

17

08/05/1996 04:09:34

C040L013.DAT

17

08/05/1996 04:29:40

C022L001.D2

17

08/05/1996 04:37:26

C004L001.D2

17

08/05/1996 04:45:44

C046L015.D2

17

08/05/1996 04:51:50

C046L002.D2

17

08/05/1996 05:11:58

C046L002.DAT

17

08/05/1996 05:13:22

C022L003.DAT

17

08/05/1996 06:27:02

C022L003.D2

17

08/05/1996 06:28:26

C021L001.D3

17

08/05/1996 06:30:00

C001L002.DAT

17

08/05/1996 06:31:16

C022L002.DAT

17

08/05/1996 06:34:10

C022L004.DAT

17

08/05/1996 06:38:54

C009L003.DAT

17

08/05/1996 06:39:34

C027L001.DAT

17

08/05/1996 06:45:28

C004L003.DAT

17

08/05/1996 06:48:44

C001L003.DAT

17

08/05/1996 13:44:48

C003L010.DAT

17

08/08/1996 18:01:52

C035L001.DAT

17

08/09/1996 13:03:48

C008L001.DAT

17

08/11/1996 16:28:30

C027L002.DAT

17

08/11/1996 16:35:02

C005L001.DAT

17

08/11/1996 16:35:46

C011L001.DAT

17

08/11/1996 16:37:34

C050L002.D3

17

08/11/1996 16:50:38

C007L005.DAT

17

08/11/1996 17:03:20

C025L001.D3

17

08/11/1996 17:04:06

C030L002.DAT

17

08/11/1996 17:08:06

C020L001.D1

17

08/11/1996 17:09:14

C079L002.DAT

17

08/11/1996 17:09:36

C006L003.DAT

17

08/11/1996 17:10:00

C050L001.DAT

17

08/12/1996 12:38:12

C001L010.DAT

17

08/12/1996 22:37:52

C065L002.DAT

17

08/13/1996 17:13:22

C065L003.DAT

17

08/13/1996 17:13:52

C003L001.DAT

17

08/13/1996 17:45:28

C001L005.DAT

17

08/13/1996 22:30:10

C002L005.DAT

17

08/13/1996 22:34:12

C003L003.DAT

17

08/13/1996 22:42:04

C004L004.DAT

17

08/13/1996 22:45:04

C005L015.DAT

17

08/13/1996 22:51:24

C050L003.DAT

17

08/13/1996 23:20:10

C047L002.DAT

17

08/13/1996 23:23:18

C026L003.DAT

17

08/14/1996 13:17:00

C036L002.DAT

17

08/14/1996 13:21:02

C041L002.D3

17

08/14/1996 13:23:24

C026L002.DAT

17

08/14/1996 13:28:38

C035L005.DAT

17

08/14/1996 17:13:48

C041L003.DAT

17

08/14/1996 17:26:04

C021L001.D2

17

08/14/1996 17:28:04

C028L001.D3

17

08/14/1996 17:33:20

C010L001.DAT

17

08/14/1996 18:05:20

C001L001.DAT

17

08/14/1996 18:06:44

C079L001.D2

17

08/14/1996 18:11:12

C032L005.DAT

17

08/14/1996 18:21:06

C006L005.DAT

17

08/15/1996 17:05:48

C036L005.DAT

17

08/15/1996 17:11:30

C001L015.DAT

17

08/16/1996 11:35:22

C010L015.DAT

17

08/16/1996 12:30:12

C004L001.DAT

17

08/16/1996 13:08:08

C008L005.DAT

17

08/16/1996 13:17:30

C025L001.D1

17

08/16/1996 13:24:46

C007L003.DAT

17

08/16/1996 13:26:02

C047L001.DAT

17

08/16/1996 13:34:30

C035L015.D3

17

08/18/1996 01:41:32

C007L001.DAT

17

08/18/1996 17:18:36

C036L001.DAT

17

08/18/1996 18:49:12

C002L001.DAT

17

08/19/1996 01:53:30

C032L015.DAT

17

08/19/1996 01:56:00

C026L001.DAT

17

08/19/1996 01:58:52

C045L001.DAT

17

08/19/1996 02:11:46

C003L002.DAT

17

08/19/1996 11:13:10

C060L005.DAT

17

08/19/1996 14:49:00

C030L001.D1

17

08/19/1996 15:11:54

C030L001.D3

17

08/19/1996 16:19:42

C028L001.D2

17

08/20/1996 13:37:22

C032L001.D1

17

08/20/1996 17:12:36

C044L005.DAT

17

08/20/1996 18:22:58

C046L005.DAT

17

08/20/1996 18:24:46

C006L001.DAT

17

08/22/1996 00:28:20

C044L003.D1

17

08/22/1996 15:57:32

C040L001.DAT

17

08/22/1996 16:52:20

C040L001.D2

17

08/22/1996 16:53:16

C035L002.DAT

17

08/22/1996 17:33:10

C022L001.D1

17

08/23/1996 02:10:22

C032L002.DAT

17

08/28/1996 11:39:06

C045L002.DAT

17

08/28/1996 18:03:34

C028L015.DAT

17

09/04/1996 12:20:22

ALL000.MIS File Format#

The various ALLXXX.MIS files are basically large WAD style binaries that contain all the information for the game to put a level together with a map to make an actual mission to play. Oddly, the data needed to know what the mission objective (e.g. blow up building, kill enemy) is as well as who (e.g. Syndicate Agents, or a civilian) and where that objective is, is stored here. That data is not kept in the levels themselves, which can be freely interchanged between maps and mission objectives, at the cost of the level then no longer making any sense...

The file is structured into what appears to be 3 main parts:

Mission information#

The top of the file has a series of brief notes in ASCII outlining what each level in the file is, usually with the mission name (these are clearly working titles, some are simple descriptions of the kind of level it is, e.g. "Head Hunt"), what campaign the level is for (EuroCorp levels are usually called "Syn" or "Agent", Church of the New Epoch called "CH" or "Zealot", and the abandoned Unguided campaign, generally called "Pu", "punk", or "Ung"), and the map number of the mission. The campaign numbers are not consistent, some seem to use the numbering of the final game (where there are multiple levels with the same number showing branching paths), others give each level a unique number. Also many have simply changed over the course of the development, and even in the file itself there are contradicting numbers. The end of each entry here is delimited by zero bytes in hex. The fourth and fifth bytes of the file just before this text chunk is a two byte header that lists the length of the text block in bytes.

Directly after the last entry of the above is a number in hex that reports how many mission entries are in the file. In practice it seems there is one fewer actual entry than the number, because the file includes a blank entry at the start. For e.g. the main ALL000.MIS file the value is 6E or 110 in decimal. In practice there are 109 missions defined in the file. After this value is the first blank entry.

Mission Definitions#

This is how the game knows what level/map files to load, and what the mission objective is. Each entry is 76 bytes long. Note that experimentation and analysis of the dissassembled source code shows there is a hard limit of 120 (from a base of 0) entries that can be defined here. The demo executable actually has a higher possible limit.

Data structure:

Name

Offset

Size

Notes

TextName

0x0

0x4

Unknown, unused

TextId

0x4

0x2

Unknown, unused

StartHead

0x6

0x2

Unknown, unused

SpecialEffectID

0x8

0x2

Unknown, unused. This is visible in the pre-alpha level editor as a configurable field.

SuccessHead

0xA

0x2

The start number of the objectives that result in successful completion of this mission (see objectives data below).

FailHead

0xC

0x2

The start number of the objectives that result in failure of this mission.

SourceID

0xE

0x2

The campaign ID of this mission (not to be confused with the mission index, this is the unique ID used for campaign mission order)

SuccessID

0x10

0x2

Unknown, unused - presumably an early version of successmap/level. This is visible in the pre-alpha level editor as a configurable field.

FailID

0x12

0x2

Unknown, unused - presumably an early version of failmap/level. This is visible in the pre-alpha level editor as a configurable field.

SpecialTrigger

0x14

0x3

Used to unlock other missions when THIS mission is unlocked. Used for multiple choice stages of the game. Example: Beating EC mission 2 only unlocks one new mission (index 22). However, that mission then unlocks another mission (index 3) as well to give the player two choices. Up to 3 mission index numbers can be set. Multiple missions linked in this way appear as one combined choice/email tab, whereas ones unlocked via SuccessTrigger appear as discrete emails.

SuccessTrigger

0x17

0x3

Used to set which new missions are unlocked once this mission is complete (based on mission index). Up to 3 mission index numbers can be set.

FailTrigger

0x1A

0x3

Unknown, unused. This is visible in the pre-alpha level editor as a configurable field. Presumably this was for a failing branch through the game's levels.

BankTest

0x1D

0x1

Unknown, unused.

SpecialEffectFailID

0x1E

0x2

Unknown, unused.

SpecialEffectSuccessID

0x20

0x2

Unknown, unused.

StringIndex

0x22

0x2

This seems to be a leftover from an earlier way of storing where the text for a briefing is found. These roughly coincide with the starting line numbers of briefings in ALLTEXT.WAD, but quickly drift away. Source code shows SourceID is used in the final to look for the matching MISSXX.TXT file for that number instead.

StartMap

0x24

0x3

Unknown, unused.

StartLevel

0x27

0x3

Unknown, unused.

SuccessMap

0x2A

0x3

A deprecated way of recording the map number of the next mission on completion of the level. This isn't actually be used, and only 12 levels have entries here (which are usually NOT the actual next map/level number). The leftover data shows an early path through the game.

SuccessLevel

0x2D

0x3

See above.

FailMap

0x30

0x3

Unused but presumably the map number of the next mission on failure of this level. This would mean there could be branching campaigns with losing and winning routes.

FailLevel

0x33

0x3

Unused but presumably the level number of the next mission on failure of this level. This would mean there could be branching campaigns with losing and winning routes.

MapNo

0x36

0x1

The map number of this mission.

LevelNo

0x37

0x1

The level number of this mission.

BankTestFail

0x38

0x1

Unknown, unused.

Complete

0x39

0x1

Unknown, unused.

MissionCond

0x3A

0x5

This seems to be another way of listing which missions need to be completed to unlock this mission. Not clear if it is actually used at all.

ReLevelNo

0x3F

0x1

Retry/replay Level No. Some levels have two versions of the level present on disk. The reason for this is that it's not possible to skip cutscenes in Syndicate Wars as they use the actual game characters so must run to completion. Therefore a second version of the finished level was saved without the intro cutscene, and this value tells the game the one to load if the player retries the level with the R key

CashReward

0x40

0x2

How much money (if any) given for completion of the mission.

PANStart

0x42

0x1

A cut attribute, presumably for what items would be unlocked in the Public Access Network.

PANEnd

0x43

0x1

A cut attribute, presumably for what items would be unlocked in the Public Access Network.

WaitToFade

0x44

0x2

Used to set the number of game turns it takes to fade to black on end of the mission (if a fade is used).

field_46

0x46

0x5

Unknown, unused.

field_4B

0x4B

0x1

Unknown, unused.

Each mission briefing was originally stored as a separate MISSXXX.TXT file (this is still the case in the PS1 version of the game), and the file ALLTEXT.IDX contains the index bytes for where to find these in ALLTEXT.WAD. The first Eurocorp mission is MISS001.TXT, the Church missions start at MISS019.TXT (value of 13 in hex).

Mission Objective Data#

The final block of data consists of a series of 32 byte long entries, each of which is an individual objective for each mission defined above. Note they are numbered from 0 onwards, but this implicit, not explicitly defined in the data below. Immediately before this (and immediately after the mission definitions) is a two byte header that lists the number of objectives defined below. In ALL000.MIS this is BB01 or 443 in decimal - and there are 443 mission objectives that follow.

Data structure:

Name

Offset

Size

Notes

Next

0x0

0x2

The next objective that makes up the block of objectives for this mission. They are typically daisy-chained together, and then the Pri[ority] field is used to determine order and logic (i.e. X AND Y) of objectives

Map

0x2

0x1

The map number of the mission this objective is for. Note this is not enforced/checked, any mission can run any objective if it is pointed here by wrong Success/failhead values

Level

0x3

0x1

The level number of the mission this objective is for. Note this is not enforced/checked, any mission can run any objective if it is pointed here by wrong Success/failhead values

Status

0x4

0x2

Unknown/Unused

Type

0x6

0x2

Objective type, as per table below

Flags

0x8

0x2

Used to create "fake" objectives in missions and conceal actual objectives so as to surprise the player. A value of 1 means this objective will not be shown to the player (but can be completed). A value of 2 means an objective will be shown to the player, but cannot actually be completed. Together they are used to misdirect and create twists in a level. Examples: Mission 8 - The player is given multiple Protect objectives with Flag 2 to keep the scientists safe. The real objective is for Professor Drennon to reach the end point and get abducted (flag 1). Mission 9 - The player is given the objective to persuade Mirabelle Lucy De Saxo. This is a fake Flag 2 objective and can never be completed. The real objective with Flag 1 is for her to get to the end of the map and escape. If a flag 1 objective is the same priority as a flag 2 objective, the flag 2 objective will be "completed" (skipped really) by completing the flag 1 objective. If a flag 2 objective is a lower priority than a flag 1 objective, the flag 2 objective will be completed/skipped by completing the flag 1 objective.

Thing

0xA

0x2

The specific Thing (i.e. character) to run the objective against. This specifically means the ThingOffset value for the character in the level file. If the objective is group based, then this contains the group number instead

X

0xC

0x2

X coordinates for area based objectives (e.g. Go to)

Y

0xE

0x2

Y coordinates for area based objectives

Z

0x10

0x2

Z coordinates for area based objectives

Radius

0x12

0x2

Radius size for area based objectives

Pri

0x14

0x1

Priority of objectives. Lowest number (from 0) is first. If two or more objectives have the same number, this works as an AND for success objectives (e.g. Kill group X AND Group Y), and OR for failure objectives (e.g. mission fails if NPC Y dies OR NPC Z).

Arg2

0x15

0x1

This allows fine tuning of some objectives. For example, PERSUADE_MEM_G uses this to store how many members of the group need to be persuaded before the objective is completed. P_PERS_G uses it to store the Thing index number of the actual person in a group as in this case the main Thing value is used to store the target group

StringIndex

0x16

0x2

Unknown/Unused

UniqueID

0x18

0x2

This seems to refer to the UniqueID of the Thing in question. Unclear how important this is compared to ThingOffset, which is confirmed to be essential for objectives to work

ObjText

0x1A

0x1

The unique text string number for the mission objective text as per the line number in OBJ.TXT in ALLTEXT.WAD. If this is not set, then the game falls back to the default text for that objective (Eliminate Group, All go to location, etc)

field_1B

0x1B

0x4

Unknown/Unused

field_1F

0x1F

0x1

Unknown. This value seems to grow in size as the objectives continue down

At the very end of the file there is some kind of dense final entry of around 32 bytes that is different and not part of the mission objectives, but it's not clear what this is for.

(Source: Mefistotelis])

Mission Objective Types#

The mission objective types are as follows:

Objective No.

Game Code Objective Function Name

Default In-Game Text

Notes

1

GAME_OBJ_P_DEAD

ASSASSINATE

Can be used as a fail state, then mission fails if unit dies

2

GAME_OBJ_ALL_G_DEAD

ELIMINATE GROUP

As Above

3

GAME_OBJ_MEM_G_DEAD

KILL GROUP MEM

As Above

4

GAME_OBJ_P_NEAR

RENDEZVOUS

5

GAME_OBJ_MEM_G_NEAR

RENDEZVOUS2

6

GAME_OBJ_P_ARRIVES

GOTO LOCATION

Often reliant on other conditions such as having an item first

7

GAME_OBJ_MEM_G_ARRIVES

GOTO LOCATION

As Above

8

GAME_OBJ_ALL_G_ARRIVES

ALL GOTO LOCATION

As Above. Often used to end missions

9

GAME_OBJ_PERSUADE_P

PERSUADE

Persuade single target

10

GAME_OBJ_PERSUADE_MEM_G

PERSUADE GANG MEM

Persuage Group (only used once, seems to work based on coordinates)

11

GAME_OBJ_PERSUADE_ALL_G

PERSUADE ALL GANG

Persuade Group (based on target type)

12

GAME_OBJ_TIME

TIMER

Wait until X time has passed

13

GAME_OBJ_GET_ITEM

COLLECT ITEM

14

GAME_OBJ_USE_ITEM

USE ITEM

15

GAME_OBJ_FUNDS

GET BULLION

16

GAME_OBJ_DESTROY_OBJECT

DESTROY BUILDING

17

GAME_OBJ_PKILL P

NEUTRALISE

Kill specific agent (only used by 3 missions)

18

GAME_OBJ_PKILL G

NEUTRALISE MEM

19

GAME_OBJ_PKILL ALL G

NEUTRALISE G

20

GAME_OBJ_USE_PANET

USE P.A.NET

Use the cut Public Access Network

21

Unknown

22

GAME_OBJ_PROTECT_G

PROTECT GROUP

23

GAME_OBJ_P_PERS_G

PEEP PERSUADE ALL

24

GAME_OBJ_ALL_G_USE_V

USE VEHICLE

As explained in the notes column above, many of these can have very different functionality depending on how they are setup by the mission objectives in the ALLXXX.MIS file. They can be simple objectives for the player to achieve, pre-requisites for another objective (e.g. go to X but bring item Y with you), fail states (an enemy NPC achieved X), and probably more.

ALLTEXT.WAD#

This file contains all the text resources for the game, including the mission briefings, mission names (as visible on the pause screen), City data, mission objectives, etc. There is a corresponding file ALLTEXT.IDX that serves as an index file for this document, showing the offset of where the original constituent text files begin and end. From experiment it's clear that two mechanisms are at work for briefing information - briefings start/end data is stored in the index file against each briefing's original MISSXXX.TXT filename, but the "netscan" data (the small clickable mission objectives at the bottom left of the briefing screen) are picked from the file based on the number code in brackets before them. This scheme corresponds with the level file code, but in decimal rather than hex. An example is [0103].

ALL000.MIS Files#

Below are the actual contents of the Allxxx.mis files, using tooling to extract details and make them human readable. "Mission Index" is the unique number used to load the mission from the command line. "Text Summary" is the summary text Bullfrog put into these files to summarise what each level was going to be used for. These contain WIP names and early information on campaign orders. "Briefing Number" is the number of the text file used for this mission (missions without briefing numbers are cut from the game, but there are some cut levels with briefing numbers set).

It's worth noting that overall the actual levels contained here rarely changed from the start until end of development, mostly only new levels were added to end of the file. However, mission objective data does change between files.

As with level files, these files self-report their version number as the first byte. There only seem to be two formats, the final game version 2 (used by the final ALL000.MIS, ALL001.MIS, and the PlayStation CALL000.MIS) and the older version 1 (used by all other files).

ALL000.MIS#

The actual final game Mission file

Mission Index

Text Summary

Level file

Briefing Number

1

SYN1 M30 EXECUTIVE ALERT

c030l001.d1

1

2

CH2 M25 UNGUIDED

c025l001.d1

25

3

SYN3 M32 FUSION

c032l001.d1

3

4

SYN4 M21 KNOWLEDGE

c021l001.d2

4

5

SYN7 M28 SACK OF ROME

c028l001.d3

7

6

CH7 M28 SACK OF ROME

c028l001.d2

31

7

SYN13 M79 OUT OF THIS WORLD

c079l001.d2

13

8

SYN14 M30 DUPLICITY

c030l001.d3

14

9

SYN17 M22 SPECIAL AGENT

c022l001.d1

17

10

CH5 M21 LEARNING P1

c021l001.d3

29

11

CH8 M22 SPIES LIKE US

c022l002.dat

32

12

CH8 M25 P4 SPIES LIKE US

c025l001.d3

32

13

CH12 M30 AUDACITY

c030l002.dat

36

14

CH13 M20 SEVERE BLOW

c020l001.d1

38

15

CH15 M32 SPLATTERPUNKS P2

c032l002.dat

40

16

CH15 M27 SPLATTERPUNKS P4

c027l001.dat

41

17

CH5 M22 DONATION

c022l003.dat

28

18

CH16 M79 FREE PASSAGE P2

c079l002.dat

44

19

CH18 M22 VISSICK HUNT

c022l004.dat

46

20

SYN18 M27 ANARCHIC SUBCONT

c027l002.dat

19

21

SYN6 M10 PHOENIX IN FLAMES

c010l001.dat

6

22

SYN - MISSION 3 - MAP 1

c001l001.dat

3

23

SYN - MISSION 15 - MAP 3

c003l001.dat

15

24

SYN - MISSION 18 - MAP 5

c005l001.dat

19

25

SYN - MISSION 11 - MAP 6

c006l001.dat

11

26

SYN - MISSION 11 - MAP 7

c007l001.dat

11

27

CH4 M7 TEST OF FAITH

c007l003.dat

27

28

SYN - MISSION 13 - MAP 8

c008l001.dat

13

29

SYN - MISSION 4 - MAP 2

c002l001.dat

4

30

CHURCH - MISS 5 - MAP 2

c002l003.dat

0

31

CHURCH - MISS 6 - MAP 1

c001l003.dat

30

32

CHURCH - MISS 15 - MAP 8

c008l003.dat

35

33

CHURCH - MISS 8 MAP 7

c007l005.dat

32

34

SYN - MISS 5 - MAP 9

c009l001.dat

5

35

SYN10 M4 TAKEN TO TAKS

c004l001.dat

10

36

SYN15A M47 BRING HIM BACK..

c047l001.dat

15

37

SYN4B FRIENDLY PERSUASION

c050l001.dat

4

38

SYN11C M44 SCIENCE MAJOR

c044l001.dat

11

39

CH 5B M50 THE LEARNING

c050l002.d3

29

40

ZEALOT 12. AUDACITY-BAHRAIN

c041l001.dat

32

41

AGENT 16. RE-ALIGNMENT HAWAI

c040l001.d3

16

42

AGENT 19. SPIDERS..COLUMBO.

c046l001.dat

0

43

CH10 M41 DEADLY HARVEST

c041l002.d3

34

44

CH9 M45 POWERMONGER

c045l001.dat

33

45

CH17 M44 FRIENDLY FIRE

c044l002.dat

45

46

AGENT 19. ELEVATOR TEST.

c046l015.d3

19

47

ZEALOT 19. ELEVATOR TEST.

c046l014.dat

39

48

CH1 M35 HARBINGER

c035l002.dat

24

49

SYN2 M35 THE UNGUIDED

c035l001.dat

2

50

SYN11B M26 TRAIL OF PROPHET

c026l001.dat

11

51

CH3 M26 THE KNOWLEDGE

c026l002.dat

26

52

CH8B M26 SPIES LIKE US

c026l003.dat

32

53

CH16A M36 FREE PASSAGE

c036l002.dat

43

54

CH16C M36 FREE PASSAGE

c036l003.dat

0

55

SYN8A M1 HEAD HUNT

c001l015.dat

8

56

SYN8B M10 HEAD HUNT

c010l015.dat

8

57

SYN8C M28 HEAD HUNT

c028l015.dat

9

58

SYN8D M32 HEAD HUNT

c032l015.dat

8

59

SYN12 M36 WORD OF GOD

c036l001.dat

12

60

PU3 M20 GUNS GUNS GUNS

c020l002.dat

0

61

PU4 M52 COMMUNICATIONS

c052l001.dat

0

62

PU8 M28 RESCUE

c028l002.dat

0

63

PU10 M27

c027l003.dat

0

64

UNGUIDED-MISS 3- MAP 3

c003l007.dat

0

65

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

0

66

PUNK 6-CAPETOWN-MAP 44

c044l015.d1

0

67

UNG 16 M26 TALKS AMBUSH

c026l004.dat

0

68

UNG2 M35 ZEALOT ATTACK

c035l004.dat

0

69

UNG19 M36 TRASH CHURCH

c036l004.dat

0

70

UNGUIDED - MISS 5 - MAP1

c001l007.dat

0

71

CH - MISS 19 -MAP6

c006l003.dat

47

72

CH14 M4 DIVINE LIGHT

c004l003.dat

37

73

CH - MISS 11 - MAP 9

c009l003.dat

35

74

SYN16 M40 RE-ALIGNMENT

c040l001.dat

16

75

PU15 M30 FEROCITY

c030l008.D1

0

76

AGENT 17-THE SPECIAL..MAP 45

c047l001.dat

0

77

PU3 M20 GUNS GUNS GUNS

c020l007.dat

0

78

PU4 M52 COMMUNICATIONS

c052l007.dat

0

79

PUNK 6-CAPETOWN-MAP 44

c044l007.dat

0

80

UNG2 M7 CLEAN-UP

c035l007.dat

0

81

UNG 7 - MAP 9 - GODFATHER

c009l007.dat

0

82

UNG 9 - MAP 2 - DUMPED

c002l007.dat

0

83

SYN17B M45 SLOWDIVE

c045l002.dat

18

84

SYN19A M46 COLOMBO CONFRONT.

c046l015.dat

21

85

CH15 M3 SPLATTERPUKS

c003l002.dat

42

86

CH 13 M4 SEVERE BLOW

c004l015.dat

0

87

CH14 M44 FALL AMONG THIEVES

c044l003.dat

39

88

SHUTTLE DIPLOMACY -ORBITAL

c011l001.dat

22

89

TEST

c012l001.dat

0

90

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

0

91

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

0

92

SYN9 M41 ARAB AGENDA

c041l003.dat

20

93

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

0

94

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

0

95

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

0

96

SYN15 M47 TURN JAP

c047l001.d2

0

97

SYN15 M47 TURN JAP

c047l015.dat

0

98

ZEALOT 5. THE LEARNING GENEV

c050l002.dat

0

99

CH17 M44 FRIENDLY FIRE

c000l000.dat

0

100

CH20 M46 DELIVER THE NINTH

c046l002.dat

48

101

CHURCH OF THE POISONED MIND

c065l002.dat

23

102

THE END...

c065l003.dat

49

103

TALE OF TWO CITIES

c060l015.dat

1

104

DEMO MISSION

c070l011.dat

1

105

DEMO MISSION

c047l011.dat

0

106

MULTI16

c036l005.dat

0

107

AD'S LEVEL

c005l005.dat

0

108

DEMO2 M3 L10 OVERRUN

c003l010.dat

2

109

c035l015.d3

2

ALL000.OLD#

An older version from the 7th July 1996

Mission Index

Text Summary

Level file

1

SYN1 EXECUTIVE ALERT

c030l001.d1

2

CH2 M25 UNGUIDED

c025l001.d1

3

SYN3 M32 FUSION

c032l001.d1

4

SYN4 FRIENDLY PERSUASION

c021l001.d2

5

SYN7 M28 SACK OF ROME

c028l001.d3

6

CH7 M28 SACK OF ROME

c028l001.d2

7

SYN13 M79 OUT OF THIS WORLD

c079l001.d2

8

SYN14 M30 DUPLICITY

c030l001.d3

9

SYN17 M22 SPECIAL AGENT

c022l001.d1

10

CH5 M21 LEARNING P1

c021l001.d3

11

CH8 M22 SPIES LIKE US

c022l002.dat

12

CH8 M25 P4 SPIES LIKE US

c025l001.d3

13

CH12 M30 AUDACITY

c030l002.dat

14

CH13 M20 SEVERE BLOW

c020l001.d1

15

CH15 M32 SPLATTERPUNKS P2

c032l002.dat

16

CH15 M27 SPLATTERPUNKS P4

c027l001.dat

17

CH 4 M22 DONATION

c022l003.dat

18

CH16 M79 FREE PASSAGE P2

c079l002.dat

19

CH18 M22 VISSICK HUNT

c022l004.dat

20

SYN18 M27 ANARCHIC SUBCONT

c027l002.dat

21

SYN - MISS 6 - MAP 10

c010l001.dat

22

SYN - MISSION 3 - MAP 1

c001l001.dat

23

SYN - MISSION 15 - MAP 3

c003l001.dat

24

SYN - MISSION 18 - MAP 5

c005l001.dat

25

SYN - MISSION 11 - MAP 6

c006l001.dat

26

SYN - MISSION 11 - MAP 7

c007l001.dat

27

CH3B CATASTROPHIC CONVERTER

c007l003.dat

28

SYN - MISSION 13 - MAP 8

c008l001.dat

29

SYN - MISSION 4 - MAP 2

c002l001.dat

30

CHURCH - MISS 5 - MAP 2

c002l003.dat

31

CHURCH - MISS 6 - MAP 1

c001l003.dat

32

CHURCH - MISS 15 - MAP 8

c008l003.dat

33

CHURCH - MISS 8 MAP 7

c007l005.dat

34

SYN - MISS 5 - MAP 9

c009l001.dat

35

SYN10 TAKEN TO MARS

c004l001.dat

36

SYN15A M47 BRING HIM BACK..

c047l001.dat

37

SYN4B FRIENDLY PERSUASION

c050l001.dat

38

SYN11C M44 SCIENCE MAJOR

c044l001.dat

39

CH 5B M50 THE LEARNING

c050l002.d3

40

ZEALOT 12. AUDACITY-BAHRAIN

c041l001.dat

41

AGENT 16. RE-ALIGNMENT HAWAI

c040l001.d3

42

AGENT 19. SPIDERS..COLUMBO.

c046l001.dat

43

CH10 M41 DEADLY HARVEST

c041l002.d3

44

CH9 M45 POWERMONGER

c045l001.dat

45

CH17 M44 FRIENDLY FIRE

c044l002.dat

46

AGENT 19. ELEVATOR TEST.

c046l015.d3

47

ZEALOT 19. ELEVATOR TEST.

c046l014.dat

48

CH1 M35 ATTACK BASE

c035l002.dat

49

SYN2 M35 THE UNGUIDED

c035l001.dat

50

SYN11B M26 TRAIL OF PROPHET

c026l001.dat

51

CH3 M26 THE KNOWLEDGE

c026l002.dat

52

CH8B M26 SPIES LIKE US

c026l003.dat

53

CH16A M36 FREE PASSAGE

c036l002.dat

54

CH16C M36 FREE PASSAGE

c036l003.dat

55

SYN8A M1 HEAD HUNT

c001l015.dat

56

SYN8B M10 HEAD HUNT

c010l015.dat

57

SYN8C M28 HEAD HUNT

c028l015.dat

58

SYN8D M32 HEAD HUNT

c032l015.dat

59

SYN12 M36 WORD OF GOD

c036l001.dat

60

PU3 M20 GUNS GUNS GUNS

c020l002.dat

61

PU4 M52 COMMUNICATIONS

c052l001.dat

62

PU8 M28 RESCUE

c028l002.dat

63

PU10 M27

c027l003.dat

64

UNGUIDED-MISS 3- MAP 3

c003l007.dat

65

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

66

PUNK 6-CAPETOWN-MAP 44

c044l015.d1

67

UNG 16 M26 TALKS AMBUSH

c026l004.dat

68

UNG2 M35 ZEALOT ATTACK

c035l004.dat

69

UNG19 M36 TRASH CHURCH

c036l004.dat

70

UNGUIDED - MISS 5 - MAP1

c001l007.dat

71

CH - MISS 19 -MAP6

c006l003.dat

72

CH13A ATOMIC WAIT

c004l003.dat

73

CH - MISS 11 - MAP 9

c009l003.dat

74

SYN16 M40 RE-ALIGNMENT

c040l001.dat

75

PU15 M30 FEROCITY

c030l008.D1

76

AGENT 17-THE SPECIAL..MAP 45

c047l001.dat

77

PU3 M20 GUNS GUNS GUNS

c020l007.dat

78

PU4 M52 COMMUNICATIONS

c052l007.dat

79

PUNK 6-CAPETOWN-MAP 44

c044l007.dat

80

UNG2 M7 CLEAN-UP

c035l007.dat

81

UNG 7 - MAP 9 - GODFATHER

c009l007.dat

82

UNG 9 - MAP 2 - DUMPED

c002l007.dat

83

SYN17B M45 SLOWDIVE

c045l002.dat

84

SYN19A M46 COLOMBO CONFRONT.

c046l015.dat

85

CH15 M3 SPLATTERPUKS

c003l002.dat

86

CH 13 M4 SEVERE BLOW

c004l015.dat

87

CH14 M44 FALL AMONG THIEVES

c044l003.dat

88

SYN 19B - MAP 11

c011l001.dat

89

TEST

c012l001.dat

90

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

91

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

92

SYN9 M41 ARAB AGENDA

c041l003.dat

93

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

94

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

95

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

96

SYN15 M47 TURN JAP

c047l001.d2

97

SYN15 M47 TURN JAP

c047l015.dat

98

ZEALOT 5. THE LEARNING GENEV

c050l002.dat

99

CH17 M44 FRIENDLY FIRE

c000l000.dat

100

CH20 M46 DELIVER THE NINE

c046l002.dat

101

CHURCH OF THE POISONED MIND

c065l002.dat

102

THE END...

ALL000.BEN#

The oldest known version of the file, from the 1st of May 1996

Mission Index

Text Summary

Level file

Briefing Number

1

SYN1 M30 FIRST BASE

c030l001.d1

1

2

CH2 M25 UNGUIDED

c025l001.d1

22

3

SYN3 M32 FRAGMENTATION

c032l001.d1

0

4

SYN4 M21 KNOWLEDGE

c021l001.d2

4

5

SYN7 M28 SACK OF ROME

c028l001.d3

7

6

CH7 M28 SACK OF ROME

c028l001.d2

27

7

SYN13 M79 OUT OF THIS WORLD

c079l001.d2

13

8

SYN14 M30 DUPLICITY

c030l001.d3

14

9

SYN17 M22 SPECIAL AGENT

c022l001.d1

17

10

CH5 M21 LEARNING P1

c021l001.d3

25

11

CH8 M22 SPIES LIKE US

c022l002.dat

0

12

CH8 M25 P4 SPIES LIKE US

c025l001.d3

0

13

CH12 M30 AUDACITY

c030l002.dat

0

14

CH13 M20 SEVERE BLOW

c020l001.d1

0

15

CH15 M32 SPLATTERPUNKS P2

c032l002.dat

0

16

CH15 M27 SPLATTERPUNKS P4

c027l001.dat

0

17

CH4 M22 MONEY

c022l003.dat

24

18

CH16 M79 FREE PASSAGE P2

c079l002.dat

0

19

CH18 M22 VISSICK HUNT

c022l004.dat

38

20

SYN18 M27 ANARCHIC SUBCONT

c027l002.dat

18

21

SYN - MISS 6 - MAP 10

c010l001.dat

6

22

SYN - MISSION 3 - MAP 1

c001l001.dat

3

23

SYN - MISSION 15 - MAP 3

c003l001.dat

0

24

SYN - MISSION 18 - MAP 5

c005l001.dat

0

25

SYN - MISSION 11 - MAP 6

c006l001.dat

0

26

SYN - MISSION 11 - MAP 7

c007l001.dat

11

27

CHURCH - MISS 3 - MAP 7

c007l003.dat

0

28

SYN - MISSION 13 - MAP 8

c008l001.dat

0

29

SYN - MISSION 4 - MAP 2

c002l001.dat

0

30

CHURCH - MISS 5 - MAP 2

c002l003.dat

0

31

CHURCH - MISS 6 - MAP 1

c001l003.dat

26

32

CHURCH - MISS 15 - MAP 8

c008l003.dat

35

33

CHURCH - MISS 8 MAP 7

c007l005.dat

0

34

SYN - MISS 5 - MAP 9

c009l001.dat

5

35

SYN - MISS 10 - MAP 4

c004l001.dat

10

36

AGENT 15. MOUTH OF..TOKYO 47

c047l001.dat

15

37

AGENT 4B. TE KNOW..M50 GENEV

c050l001.dat

0

38

AGENT 11. TRAIL OF..CAPETOWN

c044l001.dat

0

39

ZEALOT 5. THE LEARNING GENEV

c050l002.d3

0

40

ZEALOT 12. AUDACITY-BAHRAIN

c041l001.dat

32

41

AGENT 16. RE-ALIGNMENT HAWAI

c040l001.d3

16

42

AGENT 19. SPIDERS..COLUMBO.

c046l001.dat

0

43

ZEALOT 10. ASSASSINATION-M41

c041l002.d3

30

44

ZEALOT 9.CRIUSER-MAP 45

c045l001.dat

29

45

ZEALOT 17. FRIENDLY FIRE M44

c044l002.dat

37

46

AGENT 19. ELEVATOR TEST.

c046l015.d3

19

47

ZEALOT 19. ELEVATOR TEST.

c046l014.dat

39

48

CH1 M35 ATTACK BASE

c035l002.dat

21

49

SYN2 M35 THE UNGUIDED

c035l001.dat

2

50

SYN11B M26 TRAIL OF PROPHET

c026l001.dat

0

51

CH3 M26 THE KNOWLEDGE

c026l002.dat

23

52

CH8B M26 SPIES LIKE US

c026l003.dat

0

53

CH16A M36 FREE PASSAGE

c036l002.dat

36

54

CH16C M36 FREE PASSAGE

c036l003.dat

0

55

SYN8A M1 HEAD HUNT

c001l015.dat

8

56

SYN8B M10 HEAD HUNT

c010l015.dat

0

57

SYN8C M28 HEAD HUNT

c028l015.dat

0

58

SYN8D M32 HEAD HUNT

c032l015.dat

0

59

SYN12 M36 WORD OF GOD

c036l001.dat

12

60

PU3 M20 GUNS GUNS GUNS

c020l002.dat

0

61

PU4 M52 COMMUNICATIONS

c052l001.dat

0

62

PU8 M28 RESCUE

c028l002.dat

0

63

PU10 M27

c027l003.dat

0

64

UNGUIDED-MISS 3- MAP 3

c003l007.dat

0

65

PUNK 1

c040l015.dat

0

66

PUNK 6-CAPETOWN-MAP 44

c044l015.d1

0

67

UNG 16 M26 TALKS AMBUSH

c026l004.dat

0

68

UNG2 M7 CLEAN-UP

c035l004.dat

0

69

UNG19 M36 TRASH CHURCH

c036l004.dat

0

70

UNGUIDED - MISS 5 - MAP1

c001l007.dat

0

71

CH - MISS 15 - MAP 6

c006l003.dat

0

72

CHURCH - MISS 13 - MAP 4

c004l003.dat

33

73

CH - MISS 11 - MAP 9

c009l003.dat

0

74

AGENT 16. RE-ALIGNMENT HAWAI

c040l001.dat

0

75

PU15 M30 FEROCITY

c030l008.D1

0

76

BOLLOX

c000l000.dat

0

77

PU3 M20 GUNS GUNS GUNS

c020l007.dat

0

78

PU4 M52 COMMUNICATIONS

c052l007.dat

0

79

PUNK 6-CAPETOWN-MAP 44

c044l007.dat

0

80

UNG2 M7 CLEAN-UP

c035l007.dat

0

81

UNG 7 - MAP 9 - GODFATHER

c009l007.dat

0

82

UNG 9 - MAP 2 - DUMPED

c002l007.dat

0

83

AGENT 17-PT.2 THESPECIALAGEN

c045l002.dat

0

84

AGENT 19. ELEVATOR TEST.

c046l015.dat

0

85

CH15 M3 SPLATTERPUKS

c003l002.dat

0

ALL099.MIS#

This is exactly the same as ALL000.MIS in terms of text and level files, so not reproduced here.

All001.MIS#

These are the multiplayer levels used by the final game. I'ts not clear if there is any way to directly load these using the Mission Index.

Mission

Text Summary

Level

1

SALZBURG

c002l005.dat

2

BANGKOK

c003l003.dat

3

NEW YORK

c004l004.dat

4

SEVASTOPOL

c005l015.dat

5

GENEVA

c050l003.dat

6

TOKYO

c047l002.dat

7

COLOMBO

c046l005.dat

8

CAPE TOWN

c044l005.dat

9

ANCHORAGE

c060l005.dat

10

DETROIT

c035l005.dat

11

ADELAIDE

c006l005.dat

12

CHRISTCHURCH

c036l005.dat

13

BEIJING

c032l005.dat

14

NUUK

c008l005.dat

15

HONG KONG

c001l005.dat

ALL098.MIS#

These are more multiplayer levels. They are cut from the final game.

Mission

Text Summary

Level

1

MULTI 1

c001l002.dat

2

MULTI 2

c002l002.dat

3

MULTI 3

c003l003.dat

4

MULTI 4

c004l004.dat

5

MULTI 5

c005l015.dat

6

MULTI 6

c050l003.dat

7

MULTI 7

c047l002.dat

8

MULTI 8

c046l005.dat

9

MULTI 9

c044l005.dat

10

MULTI 10

c041l005.dat

11

MULTI 11

c040l005.dat

12

MULTI 12

c060l005.dat

13

MULTI 13

c065l005.dat

14

MULTI 14

c035l005.dat

15

MULTI 15

c006l005.dat

PlayStation version#

CALL000.MIS from the PS1 version of the game. The PlayStation version has a slightly different file format; level entries are now 72 bytes instead of 76. There also seems to be less data in each level definition, but the mission briefing and associated bytes are the same format. While mission objectives are still present here, levels also now seem to store the mission objective in them as well or have some other kind of unique way of matching as renaming a file to another still preserves the renamed files' objectives, something not possible in the PC version (the initial objective listed on screen is still wrong, however).

Mission Index

Text Summary

PC level

PS1 Filename

Briefing Number

1

SYN1 M30 EXECUTIVE ALERT

c050l001.dat

MAP50L01.MUL

1

2

CH2 M25 UNGUIDED

c025l001.d1

MAP25L16.MUL

25

3

CH2 M10 UNREST

c010l002.dat

MAP10L02.MUL

21

4

SYN4 M21 KNOWLEDGE

c021l001.d2

MAP21L31.MUL

4

5

SYN7 M28 SACK OF ROME

c028l001.d3

MAP28L46.MUL

7

6

CH7 M28 SACK OF ROME

c028l001.d2

MAP28L31.MUL

25

7

SYN13 M79 OUT OF THIS WORLD

c079l001.d2

MAP79L31.MUL

13

8

SYN14 M30 DUPLICITY

c030l001.d3

MAP30L46.MUL

14

9

SYN17 M22 SPECIAL AGENT

c022l001.d1

MAP22L16.MUL

16

10

CH5 M21 LEARNING P1

c021l001.d3

MAP21L46.MUL

29

11

CH8 M22 SPIES LIKE US

c022l002.dat

MAP22L02.MUL

32

12

CH8 M25 P4 SPIES LIKE US

c025l001.d3

MAP25L46.MUL

32

13

CH12 M30 AUDACITY

c030l002.dat

MAP30L02.MUL

36

14

CH13 M20 SEVERE BLOW

c020l001.d1

MAP20L16.MUL

38

15

CH15 M32 SPLATTERPUNKS P2

c032l002.dat

MAP32L02.MUL

40

16

CH15 M27 SPLATTERPUNKS P4

c027l001.dat

MAP27L01.MUL

41

17

CH5 M22 DONATION

c022l003.dat

MAP22L03.MUL

23

18

CH16 M79 FREE PASSAGE P2

c079l002.dat

MAP79L02.MUL

44

19

CH18 M22 VISSICK HUNT

c022l004.dat

MAP22L04.MUL

34

20

SYN18 M27 ANARCHIC SUBCONT

c027l002.dat

MAP27L02.MUL

19

21

SYN6 M10 PHOENIX IN FLAMES

c010l001.dat

MAP10L01.MUL

6

22

SYN - MISSION 3 - MAP 1

c001l001.dat

MAP01L01.MUL

3

23

SYN - MISSION 15 - MAP 3

c003l001.dat

MAP03L01.MUL

14

24

SYN - MISSION 18 - MAP 5

c005l001.dat

MAP05L01.MUL

19

25

SYN - MISSION 11 - MAP 6

c006l001.dat

MAP06L01.MUL

11

26

SYN - MISSION 11 - MAP 7

c007l001.dat

MAP07L01.MUL

11

27

CH4 M7 TEST OF FAITH

c007l003.dat

MAP07L03.MUL

22

28

SYN - MISSION 13 - MAP 8

c008l001.dat

MAP08L01.MUL

12

29

SYN - MISSION 4 - MAP 2

c002l001.dat

MAP02L01.MUL

4

30

CHURCH - MISS 5 - MAP 2

c002l003.dat

MAP02L03.MUL

0

31

CHURCH - MISS 6 - MAP 1

c001l002.dat

MAP01L02.MUL

24

32

CHURCH - MISS 15 - MAP 8

c008l003.dat

MAP08L03.MUL

35

33

CHURCH - MISS 8 MAP 7

c007l005.dat

MAP07L05.MUL

27

34

SYN - MISS 5 - MAP 9

c009l001.dat

MAP09L01.MUL

5

35

SYN10 M4 TAKEN TO TAKS

c004l001.dat

MAP04L01.MUL

9

36

SYN15A M47 BRING HIM BACK..

c047l001.dat

MAP47L01.MUL

13

37

SYN4B FRIENDLY PERSUASION

c050l001.dat

MAP50L01.MUL

4

38

SYN11C M44 SCIENCE MAJOR

c044l001.dat

MAP44L01.MUL

10

39

CH 5B M50 THE LEARNING

c050l002.d3

MAP50L47.MUL

29

40

ZEALOT 12. AUDACITY-BAHRAIN

c041l001.dat

MAP41L01.MUL

32

41

AGENT 16. RE-ALIGNMENT HAWAI

c040l001.d3

MAP40L46.MUL

16

42

AGENT 19. SPIDERS..COLUMBO.

c046l001.dat

MAP46L01.MUL

0

43

CH10 M41 DEADLY HARVEST

c041l002.d3

MAP41L47.MUL

29

44

CH9 M45 POWERMONGER

c045l001.dat

MAP45L01.MUL

28

45

CH17 M44 FRIENDLY FIRE

c044l002.dat

MAP44L02.MUL

33

46

AGENT 19. ELEVATOR TEST.

c046l015.d3

MAP46L60.MUL

19

47

ZEALOT 19. ELEVATOR TEST.

c046l014.dat

MAP46L14.MUL

39

48

CH1 M35 HARBINGER

c035l002.dat

MAP35L02.MUL

20

49

SYN2 M35 THE UNGUIDED

c035l001.dat

MAP35L01.MUL

2

50

SYN11B M26 TRAIL OF PROPHET

c026l001.dat

MAP26L01.MUL

11

51

CH3 M26 THE KNOWLEDGE

c026l002.dat

MAP26L02.MUL

26

52

CH8B M26 SPIES LIKE US

c026l003.dat

MAP26L03.MUL

26

53

CH16A M36 FREE PASSAGE

c036l002.dat

MAP36L02.MUL

43

54

CH16C M36 FREE PASSAGE

c036l003.dat

MAP36L03.MUL

0

55

SYN8A M1 HEAD HUNT

c001l015.dat

MAP01L15.MUL

8

56

SYN8B M10 HEAD HUNT

c010l015.dat

MAP10L15.MUL

8

57

SYN8C M28 HEAD HUNT

c028l015.dat

MAP28L15.MUL

9

58

SYN8D M32 HEAD HUNT

c032l015.dat

MAP32L15.MUL

8

59

SYN12 M36 WORD OF GOD

c036l001.dat

MAP36L01.MUL

12

60

PU3 M20 GUNS GUNS GUNS

c020l002.dat

MAP20L02.MUL

0

61

PU4 M52 COMMUNICATIONS

c052l001.dat

MAP52L01.MUL

0

62

PU8 M28 RESCUE

c028l002.dat

MAP28L02.MUL

0

63

PU10 M27

c027l003.dat

MAP27L03.MUL

0

64

UNGUIDED-MISS 3- MAP 3

c003l007.dat

MAP03L07.MUL

0

65

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

MAP40L15.MUL

0

66

PUNK 6-CAPETOWN-MAP 44

c044l015.d1

MAP44L30.MUL

0

67

UNG 16 M26 TALKS AMBUSH

c026l004.dat

MAP26L04.MUL

0

68

UNG2 M35 ZEALOT ATTACK

c035l004.dat

MAP35L04.MUL

0

69

UNG19 M36 TRASH CHURCH

c036l004.dat

MAP36L04.MUL

0

70

UNGUIDED - MISS 5 - MAP1

c001l007.dat

MAP01L07.MUL

0

71

CH - MISS 19 -MAP6

c006l003.dat

MAP06L03.MUL

35

72

CH14 M4 DIVINE LIGHT

c004l003.dat

MAP04L03.MUL

30

73

CH - MISS 11 - MAP 9

c009l003.dat

MAP09L03.MUL

35

74

SYN16 M40 RE-ALIGNMENT

c040l001.dat

MAP40L01.MUL

15

75

PU15 M30 FEROCITY

c030l008.D1

MAP30L23.MUL

0

76

AGENT 17-THE SPECIAL..MAP 45

c047l001.dat

MAP47L01.MUL

0

77

PU3 M20 GUNS GUNS GUNS

c020l007.dat

MAP20L07.MUL

0

78

PU4 M52 COMMUNICATIONS

c052l007.dat

MAP52L07.MUL

0

79

PUNK 6-CAPETOWN-MAP 44

c044l007.dat

MAP44L07.MUL

0

80

UNG2 M7 CLEAN-UP

c035l007.dat

MAP35L07.MUL

0

81

UNG 7 - MAP 9 - GODFATHER

c009l007.dat

MAP09L07.MUL

0

82

UNG 9 - MAP 2 - DUMPED

c002l007.dat

MAP02L07.MUL

0

83

SYN17B M45 SLOWDIVE

c045l002.dat

MAP45L02.MUL

17

84

SYN19A M46 COLOMBO CONFRONT.

c046l015.dat

MAP46L15.MUL

19

85

CH15 M3 SPLATTERPUKS

c003l002.dat

MAP03L02.MUL

32

86

CH 13 M4 SEVERE BLOW

c004l015.dat

MAP04L15.MUL

0

87

CH14 M44 FALL AMONG THIEVES

c044l003.dat

MAP44L03.MUL

31

88

SHUTTLE DIPLOMACY -ORBITAL

c011l001.dat

MAP11L01.MUL

22

89

TEST

c012l001.dat

MAP12L01.MUL

0

90

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

MAP20L15.MUL

0

91

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

MAP35L05.MUL

0

92

SYN9 M41 ARAB AGENDA

c041l003.dat

MAP41L03.MUL

18

93

UNG14A M40 MASSIVE ASSAULT

c040l015.dat

MAP40L15.MUL

0

94

UNG14C M20 MASSIVE ASSAULT

c020l015.dat

MAP20L15.MUL

0

95

UNG14B M35 MASSIVE ASSAULT

c035l005.dat

MAP35L05.MUL

0

96

SYN15 M47 TURN JAP

c047l001.d2

MAP47L31.MUL

0

97

SYN15 M47 TURN JAP

c047l015.dat

MAP47L15.MUL

0

98

ZEALOT 5. THE LEARNING GENEV

c050l002.dat

MAP50L02.MUL

0

99

CH17 M44 FRIENDLY FIRE

c000l000.dat

MAP00L00.MUL

0

100

CH20 M46 DELIVER THE NINTH

c046l002.dat

MAP46L02.MUL

36

101

CHURCH OF THE POISONED MIND

c065l002.dat

MAP65L02.MUL

23

102

THE END...

c065l003.dat

MAP65L03.MUL

49

103

TALE OF TWO CITIES

c060l015.dat

MAP60L15.MUL

1

104

DEMO MISSION

c070l011.dat

MAP70L11.MUL

1

105

DEMO MISSION

c047l011.dat

MAP47L11.MUL

0

106

MULTI16

c036l005.dat

MAP36L05.MUL

0

107

AD'S LEVEL

c005l005.dat

MAP05L05.MUL

0

108

DEMO2 M3 L10 OVERRUN

c003l010.dat

MAP03L10.MUL

2

109

c035l015.d3

MAP35L60.MUL

2

110

TEST1

c040l008.d3

MAP40L53.MUL

0

111

CH2 M10 UNREST

c010l002.dat

MAP10L02.MUL

25