Spotlight: GTAGaming.com - Latest on GTA IV! | Forums | Files | Cheats | Hosting | Shop | Members | Gaming | Network 
 Welcome, Guest Viewer.
 Register at edgedatabase.com!

 30,013 Members. 0 Online, 2 Guests.
Deus Ex 2 :: Information :: Audio File Format Specifications
History
=======
               30-12-2004 Initial release on internet.
Version 0.9    29-12-2004 Creation by Cascade, preliminary version.
 

Copyright and Disclaimer

The file specifications in this document are meant to stimulate the modding community of the game "Deus Ex - Invisible War" made by Ionstorm. The author of this document has absolutely no connection with Ionstorm and does not represent Ionstorm in any way or form.

IMPORTANT Everything you extract from the Deus Ex 2 resource files is still copyrighted by its maker Ionstorm. DO NOT DISTRIBUTE RESOURCES on the net without Ionstorms permission.

The author of this document does not claim ANY responsibility regarding ANY illegal activity concerning, or indirectly related to this file. Additionally, the author of this document does not claim ANY responsibility regarding damages caused directly or indirectly by this file.

The information in this document is provided as is. There is no guarantee whatsoever that anything in this document will make any sense or will even work.

You are free to:
- add to and improve this document. Please expand the History section when you do and give credit where credit is due.
- distribute this document freely for the Deus Ex 2 community.
- comment on this document. Please do so using the Ionstorm Deus Ex 2 forum.

 

Contents

1. Introduction *)
2. Data Structures 
   2.1 Files
   2.2 Basic Types And Conventions
   2.3 String Type
   2.4 Offset Type
   2.5 SchemaMetafile_Harddrive.csc File Format
         2.5.1 File Format
         2.5.2 Sound Tags
         2.5.3 Tagged Sounds
         2.5.4 Mission Sounds
         2.5.5 Sound Information
   2.6 SchemaMetafile.csc File Format *)
3. Extracting/Inserting Sounds

Appendix A. Microsoft WAV File Format
Appendix B. DVI4/IMA ADPCM Audio Format
   B.1 The Deus Ex 2 Audio Format
   B.2 Decoding DVI4/IMA ADPCM
   B.3 Encoding DVI4/IMA ADPCM *)
Appendix C. Acknowledgements
*) Work in progress. Expect this to appear/improve in later revisions.

 

1. Introduction
This document attempts do describe the file formats used by Deus Ex - Invisible War for its audio.  

2. Data structures
 

2.1 Files
In the "Deus Ex - Invisible War\Content\Dx2\Sounds\" folder you will find the following files:
- SchemaMetafile_Harddrive.csc - Contains sounds and information such as filename, where to find the data, subtitles.
- SchemaMetafile_DVD1.csc - Contains sounds.
- SchemaMetafile_DVD2.csc - Contains sounds.
- SchemaMetafile_DVD3.csc - Contains sounds.
- SchemaMetafile.csc - Unknown. Contains information about sounds but not where to find them.
- SchemaMetafile_Memory.csc - Empty file. This might be XBox related (XBox version of Harddrive?).
 

2.2 Basic Types And Conventions
- The following basic types are used to describe the data structures:

      char     8 bit signed integer
      short    8 bit signed integer
      int      16 bit signed integer
      long     32 bit signed integer
      NIBBLE   4 bit unsigned integer
      BYTE     8 bit unsigned integer
      WORD     16 bit unsigned integer
      DWORD    32 bit unsigned integer
- All structures and members are little-endian and byte aligned unless stated otherwise.
- Hexadecimal numbers are shown using the '0x' prefix (example: 0x2F).
- Binary numbers use the 'b' suffix (example: 0101b).
- Data structures and code are presented in (pseudo) C.
 

2.3 String Type
A string is stored starting with its length:

   struct SM_String
   {
      DWORD dwLen;            // Length of the string, 0 is allowed.
      char  acData[dwLen];    // The string itself. The string is NOT zero terminated,
                              // and only exists when dwLen > 0. 
   };
 

2.4 Offset Type
The offset indicates both an identification for the file the offset is for and the actual file offset into that file.

   struct SM_Offset
   {
      DWORD dwFileAndOffset;
   };
- (dwFileAndOffset & 0x1FFFFFFF) or the 29 least significant bits gives the offset into the file.
- (dwFileAndOffset & 0xE0000000) or the 3 most significant bits gives the identification of the file:
      000b = SchemaMetafile.csc
      001b = ??? (not used, possibly SchemaMetafile_Memory.csc)
      010b = SchemaMetafile_Hardrive.csc
      011b = SchemaMetafile_DVD1.csc
      100b = SchemaMetafile_DVD2.csc
      101b = SchemaMetafile_DVD3.csc
      110b = ??? (not used)
      111b = ??? (not used)

At this point it is not clear whether a 4:28 or a 3:29 scheme was used for file id and offset. The 3:29 is more intuitive because it makes the file ids consecutive. However, both scheme's will work since the current audio resource files of Deus Ex 2 are 'only' 150 MB in size. Once the files approach 256 MB, the 4:28 scheme will cause some trouble and 3:29 will be ok. Not an issue at the moment, but keep it in mind.

 

DEVELOPED ON ALIENWARE Proudly Sponsored by UGO Networks and Alienware Inc.
Copyright © 2000-2008 edgenetwork.org.  All Rights Reserved.
Generated in 0.19338s, 10 (98.88KB) Scripts, 5 SQL Queries (0.42%)