-
Notifications
You must be signed in to change notification settings - Fork 43
.WSOUND
Liam Mitchell edited this page Dec 29, 2019
·
2 revisions
World ambiance sounds are loaded from
TS1: G03_GDATA/D10_WSOUND/Z%03d/Z%03d/
TS2: G03_GDATA/D09_WSOUND/Z%03d/Z%03d/
The file .WSOUND contains information on the position of enviromental SFX.
Different structure on TS1 and TS2, TS2 uses Ogg TS1 uses Ogg renamed as wav. TS1 has WSOUND_INFO containing other data but it seems inconsistent. If I had to guess its just junk.
OiginalFileName
Sound Bit Rate: XXXkbps
Size: X.XXMB
But the files are named in the folder as specified in the WSOUND file where as in TS2 they are named by index. TS2: Z%03d.WSOUND_%04d.OGG
TS1: Has array of radius and unknown before the list of sounds. TS2: Has separate radius per each sound.
struct WSOUND_INFO {
char Name[100]; // The original file name.
// Probably more data here but it is unknown.
};
struct WSOUND_EMITTER {
int SoundIndex;
float x;
float y;
float z;
// TS1 no radius assuming this is fixed per sound.
// TS2 has radius per emitter.
float radius;
};
int soundCount;
#ifdef ts1
// Maybe Radius and Playback Volume?
float unknownA[soundCount]; // Maybe delay interval? But that doesn't make sense given the values...
int radius[soundCount]; // I assume this is radius of sound.
#endif
WSOUND_INFO SoundList[soundCount];
int numberEmitters;
WSOUND_EMITTER SoundEmitters[numberEmitters];