Back

Developer Network
  File Specs
  Source codes
  Tables
  Mailing lists
  Knowledge Base

Other Games

 

 

Descent Developer Network
Descent 1/2

*.SGx specs

About this document

This document describes the SaveGame format of all versions of Descent 1 and Descent 2. It was written by Heiko Herrmann.

eMail author: Heiko Herrmann
(*1) Table of Selected Primary/Secondary Weapons
(*2) Table of Laser Levels
(*3) Table of Difficulty

 

Definitions

The specs on this page are to be interpreted as this:

  • BYTE 1234 means a signed or unsigned one-byte integer at file offset 1234 in the SaveGame file.
  • SHORT 1234 means a signed or unsigned two-byte integer at file offset 1234 in the SaveGame file.
  • INT 1234 means a signed or unsigned four-byte integer at file offset 1234 in the SaveGame file.
  • FLAG 1234, Bit 3 means Bit 3 of the byte at file offset 1234 reflects the state (1=True, 0=False).
  • Secondary Weapons need both the flag to be true (=1) and the number of actual missiles set in the SHORT.
  • - means this item is not available in the version of Descent (e.g. Descent 1 knows no Phoenix Cannon and Descent 2 Playable Demo knows no Fusion Cannon).
  • - (???) means at this time unknown information. If you have the time to find it out, please write us (eMail above).

 

Specs

Here are the actual specs. First some version notes:

  • Descent 1 Shareware V1.0-V1.2 use an own format, which is very limited. See below for more information.
  • Descent 1 Destination Saturn OEM uses the Descent 1 Full Version format.
  • Descent 2 Destination Quartzon OEM uses the Descent 2 Full Version format.

In all Descent 1/2 versions except Descent 1 Shareware V1.0-V1.2 the SaveGame information is saved in *.SGx (x is the slot number from 0-9) files, which are named like the player the SaveGame is from. E.g. the player HH-SOFT.PLR has HH-SOFT.SG0, HH-SOFT.SG1, ...

Descent 1 Shareware V1.0-V1.2 saves the information at a different place, see below for more information.

Here is the actual offset list for all items:

Descent Versions -> D1 Shareware V1.0-V1.2 D1 Shareware V1.4 D1 Full D2 Demo D2 Full
General:
Internal savegame name STRING O+0 STRING 9 STRING 8 STRING 8 STRING 8
Mission filename - - STRING 5032 STRING 5800 STRING 5800
Current level: BYTE O+166 BYTE 5032 BYTE 5041 BYTE 5041 BYTE 5809
 
Primary Weapons:
Selected Primary Weapon: (*1) BYTE O+146 BYTE 5086 BYTE 5169 BYTE 5963 BYTE 5963
Laser Cannon FLAG O+72, Bit 0 FLAG 5090, Bit 0 FLAG 5099, Bit 0 FLAG 5867, Bit 0 FLAG 5867, Bit 0
Laser Level (*2) BYTE O+68 BYTE 5086 BYTE 5095 BYTE 5863 BYTE 5863
Quad Laser FLAG O+55, Bit 1 FLAG 5073, Bit 2 FLAG 5082, Bit 2 FLAG 5850, Bit 2 FLAG 5850, Bit 2
Vulcan Cannon FLAG O+72, Bit 1 FLAG 5090, Bit 1 FLAG 5099, Bit 1 FLAG 5867, Bit 1 FLAG 5867, Bit 1
Gauss Cannon - - - FLAG 5867, Bit 6 FLAG 5867, Bit 6
Vulcan/Gauss Ammo: SHORT O+76 SHORT 5094 SHORT 5103 SHORT 5873 SHORT 5873
Spreadfire Cannon: FLAG O+72, Bit 2 FLAG 5090, Bit 2 FLAG 5099, Bit 2 FLAG 5867, Bit 2 FLAG 5867, Bit 2
Helix Cannon: - - - FLAG 5867, Bit 7 FLAG 5867, Bit 7
Plasma Cannon: - - FLAG 5099, Bit 3 FLAG 5867, Bit 3 FLAG 5867, Bit 3
Phoenix Cannon: - - - - FLAG 5868, Bit 0
Fusion Cannon: - - FLAG 5099, Bit 4 - FLAG 5867, Bit 4
Omega Cannon: - - - - FLAG 5868, Bit 1
 
Secondary Weapons:
Selected Secondary Weapon: (*1) BYTE O+150 BYTE 5161 BYTE 5170 BYTE 5964 BYTE 5964
Concussion Missiles: FLAG O+73, Bit 0
SHORT O+84
FLAG 5091, Bit 0
SHORT 5102
FLAG 5100, Bit 0
SHORT 5111
FLAG 5869, Bit 0
SHORT 5891
FLAG 5869, Bit 0
SHORT 5891
Flash Missiles: - - - FLAG 5869, Bit 5
SHORT 5901
FLAG 5869, Bit 5
SHORT 5901
Homing Missiles FLAG O+73, Bit 1
SHORT O+86
FLAG 5091, Bit 1
SHORT 5104
FLAG 5100, Bit 1
SHORT 5113
FLAG 5869, Bit 1
SHORT 5893
FLAG 5869, Bit 1
SHORT 5893
Guided Missiles - - - FLAG 5869, Bit 6
SHORT 5903
FLAG 5869, Bit 6
SHORT 5903
Proximity Bombs: FLAG O+73, Bit 2
SHORT O+88
FLAG 5091, Bit 2
SHORT 5106
FLAG 5100, Bit 2
SHORT 5115
FLAG 5869, Bit 2
SHORT 5895
FLAG 5869, Bit 2
SHORT 5895
Smart Mines: - - - FLAG 5869, Bit 7
SHORT 5905
FLAG 5869, Bit 7
SHORT 5905
Smart Missiles: - - FLAG 5100, Bit 3
SHORT 5117
FLAG 5869, Bit 3
SHORT 5897
FLAG 5869, Bit 3
SHORT 5897
Mercury Missiles: - - - - FLAG 5870, Bit 0
SHORT 5907
Mega Missiles - - FLAG 5100, Bit 4
SHORT 5119
- FLAG 5869, Bit 4
SHORT 5899
Earthshaker Missiles: - - - - FLAG 5870, Bit 1
SHORT 5909
 
Accessoires:
Blue Key - FLAG 5072, Bit 1 FLAG 5081, Bit 1 FLAG 5849, Bit 1 FLAG 5849, Bit 1
Yellow Key - FLAG 5072, Bit 3 FLAG 5081, Bit 3 FLAG 5849, Bit 3 FLAG 5849, Bit 3
Red Key - FLAG 5072, Bit 2 FLAG 5081, Bit 2 FLAG 5849, Bit 2 FLAG 5849, Bit 2
Full Map - - - FLAG 5849, Bit 6 FLAG 5849, Bit 6
Ammo Rack - - - FLAG 5849, Bit 7 FLAG 5849, Bit 7
E.-S-Converter - - - FLAG 5850, Bit 0 FLAG 5850, Bit 0
Afterburner - - - FLAG 5850, Bit 4 FLAG 5850, Bit 4
Headlight - - - FLAG 5850, Bit 5 FLAG 5850, Bit 5
 
Game Status:
Score: INT O+98 - (???) - (???) INT 5917 INT 5917
Energy: SHORT O+60 SHORT 5078 SHORT 5087 SHORT 5855 SHORT 5855
Shield: SHORT O+64 SHORT 5082 SHORT 5091 SHORT 5859 SHORT 5859
Lives: BYTE O+66 BYTE 5084 BYTE 5093 BYTE 5861 BYTE 5861
Invulnerability: - FLAG 5072, Bit 0 FLAG 5081, Bit 0 FLAG 5849, Bit 0 FLAG 5849, Bit 0
Cloaked: - FLAG 5073, Bit 3 FLAG 5082, Bit 3 FLAG 5850, Bit 3 FLAG 5850, Bit 3
Headlight is on: - - - FLAG 5850, Bit 5 FLAG 5850, Bit 5
Difficulty: (*3) BYTE O+142 BYTE 5162 BYTE 5171 BYTE 5695 BYTE 5695
Cheater: - - - FLAG 5969, Bit 0 FLAG 5969, Bit 0
 
Time information (all in seconds):
Invulnerability Ends At: - - (???) INT 5933 INT 5933 INT 5933
Cloaking Ends At: - - (???) INT 5929 INT 5929 INT 5929
Total Time: - - (???) INT 5817 INT 5817 INT 5817
Time in Level: - - (???) INT 5921 INT 5921 INT 5921
Time in Game: - - (???) INT 5925 INT 5925 INT 5925

 

Descent 1 Shareware V1.0-V1.2

The first Descent 1 Shareware versions' saved games are very limited in functionality. You can only save after a level is finished. This makes of course the actual SaveGame data quite small, because no level status (which robots are dead, where the other robots are, which items have been taken, etc.) needs to be saved. The player however can for example not save right before the end boss of Level 7 and so always need to play the complete level 7.

You might ask yourself, why Parallax did something "stupid" like this. I *think* it was because the level save routine was just not finished in time and Parallax wanted to release the first Shareware now. D1 Full Version then was the first version to support in-game-saving, and they even released a Shareware Version (V1.4) which finally added the functionality for Shareware users.

Anywhere, lets discuss the SaveGame format on these early Descent versions, to be complete: Unlike any later version the data was not saved in extra *.SGx files, but all in the PLR file themselves. So the PLR looks like this:

int signature; //"RLPD"
int version; //version XX
for (i=0; i<<10; i++)
{
 char savegamedata[174];
}

So the offset of SaveGame slot 0 is 8+0*174=8, slot 1's offset is 8+1*174=182, slot 6 starts at 8+6*174=1052. With this formula the value O in the left column specs above can be calculated.

 

 

All pages (C) 1996-2000 Descent Network Team
Everything taken from the Descent, FreeSpace, Red Faction and Summoner series games are
Copyright Interplay Productions , THQ Inc. , Parallax Software , Volition Inc. and/or Outrage Entertainment