|
|
 |
 |
Welcome, Guest Viewer. Register at edgedatabase.com!
 30,013 Members. 0 Online, 2 Guests.
 |
 |
|
|
 |
 |
|
|
History
=======
30-12-2004 Initial release on internet.
Version 0.9 29-12-2004 Creation by Cascade, preliminary version.
| |
|
|
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.
| |
|
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.
| |
|
This document attempts do describe the file formats used by Deus Ex - Invisible War for its audio.
| |
|
| |
|
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?).
| |
|
- 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.
| |
|
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.
};
| |
|
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.
| |
 |
|
|
|