Quote:
Originally Posted by PixelEngineer
Is anyone here experienced in reverse engineering files? I have been going through and documenting every type of file the client uses. There is one file however, which seems to stump me.
The file is denoted by:
<shortname>_sounds.eff
|
I had a look a this, since it piqued my interest.
First of all, since you suggested it may be ZLIB compressed, I wrote a quick program to read one of the files and then move through it byte by byte and attempt a ZLIB decompress.
That failed, so it wasn't zlib compressed.
The next thing I did was open up eqgame.exe in IDA and found where the string %s_sounds.eff was referenced and looked at the dissasembly.
I could see that it reads the file 84 bytes at a time, and indeed, the few files that I looked at were all multiples of 84 bytes.
Next thing I did was write a quick program to read one of the files, 84 bytes at a time, and print out each group of 4 bytes as both an int and a float.
I could see from my output some floats that looked very like groups of co-ordinates to me, so I went in game and did a #goto to some of them to verify
there appeared to be a sound emitted in that location (some were obvious, like camp fires or steam geysers).
Anyway, this is what I figured out:
Code:
Offset
00 int8 Unknown[12]
12 int32 Sequence Number ? // Increments by one for each entry in the file
16 float Y
20 float X
24 float Z
28 float Radius? // Radius from position that sound can be heard ?
32 int8 Unknown[52]