Creater: MBDYProductions FileExtention: Sfx File Type: Sound effect file. ----------------------------------------------------------------------- The Sfx file can be used in two ways. One, a holder for wav files. Two, a compressed speech file format. Both are explained in this document. Firstly you'll need to create the needed object. It's listed below: struct SfxFile { public: LPCSTR Type; LPCSTR Author; LPCSTR SoundName[1000000]; CWave Sound[1000000]; private: LPCSTR GameCode; char LetterStart[26]; }; Secondly you'll need to know what type it is. Simple open the file and get out the integer (LPCSTR) Sfx.Type. e.g ofstream file("Speech.sfx", ios::in, filebif::openprot); file.setmode(filebuf::binary); file >> Sfx.Type; It has this little, thing that prevents most programs from using it. The GameCode. As you can't access a private member, you'll need to create a friend function and get it through that. The Author is pretty self explanitory. Give up? The name of the Author of the file. Now, I'll do the first approach first. This is the one where it holds a few waves. A maximum of 1,000,000 to be exact. Each wave has a name and a data integer. So to get a specified wave you could do the following: CWave GetWave(LPCSTR Name) { for(int i = 0;i < 1000000;i++) { if(SoundName[i] = Name) return Sound[i]; } } They made it simple for a reason. Easy to use. Then just go along with the usual CWave creation methods. Sound.Create(), Sound.Play(), Sound.Stop() and Sound.Clear(). The second approach is a bit harder. It's for speech. The waves instead of having a heap of explosions, metal collision or other effects, it has all the letter sounds. For instance, A would take up the first 2 waves. The first one would be the a from Cat. the second is from Car. So, to say "Cat", you could write a function as so: CWave GetLetter(char Letter, char Number) { if(Letter = 'A') return Sound[LetterStart[0] + Number]; if(Letter = 'B') return Sound[LetterStart[1] + Number]; } The LetterStart specify where the letter sounds related to that letter start. A is the first letter hance A startes at 0. b is the second hence starts at 3 (3 sounds in A) Each one would have at least 2 or 3. Here is a list of how many sounds are for each letter and what word uses the sound: A - 3 // A, Cat, Car B - 2 // B, Box C - 3 // C, Cat, Chair. D - 2 // D, Dog E - 2 // E, Every F - 2 // F, Fever G - 2 // G, Go H - 2 // H, Hollow I - 3 // I, Kid, Kite J - 2 // J, Joke K - 2 // K, Kid L - 2 // L, Light M - 2 // M, Man N - 2 // N, No O - 3 // O, Old, Other P - 2 // P, Paper Q - 1 // Q// Doesn't have to be used with Q. Your play fuction should leave out all u's after Q R - 2 // R, Right S - 3 // S, Special, Shoot T - 3 // T, Train, There U - 3 // U, Underground, Murder V - 2 // V, Fever W - 2 // W, Will X - 2 // X, Xylophone Y - 2 // Y, Yellow Z - 3 // Z<-American Style, Z<-Australian style, Buzz