Log in

View Full Version : Everquest and the case of the missing wav files


pfyon
01-01-2019, 01:02 PM
Tldr; eqgame.exe is looking for wav files that are defined in <zone>_sndbnk.eff and <zone>.emt, but they don't seem to exist anywhere.

I was having some issues getting midi output working on my main desktop through a software midi synthesizer (TiMidity) and came across this reddit thread about the old music: https://www.reddit.com/r/everquest/comments/842k57/whats_the_story_with_getting_eqs_music_to_sound/.

One of the ideas suggested in that thread was maybe everquest would load an identically named mp3 file and play it if it exists. I thought I'd test it out because I figure it'd be easier to extract and convert the midi tracks to mp3 than figure out what was wrong with my midi output.

Did I mention I'm running everquest on ubuntu? I ran wine with strace to see what files it was trying to access:


scorpio@linux-laptop:~/games/everquest_rof2/$ strace -e trace=file -o ~/eqgame_strace wine eqgame.exe patchme


Pastebin won't let me upload anything greater than 500k in size and the full strace is about 5mb, but here's an excerpt:


...
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/darkwds2.wav", 0x18cbc80) = -1 ENOENT (No such file or directory)
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2", {st_mode=S_IFDIR|0775, st_size=163840, ...}) = 0
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/darkwds2.wav", 0x18cb990) = -1 ENOENT (No such file or directory)
open("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2", O_RDONLY|O_LARGEFILE|O_DIRECTORY) = 83
openat(AT_FDCWD, "/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOE XEC) = 83
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/snd6.pfs", {st_mode=S_IFREG|0664, st_size=3862125, ...}) = 0
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/sounds/night.wav", 0x18cbea0) = -1 ENOENT (No such file or directory)
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2", {st_mode=S_IFDIR|0775, st_size=163840, ...}) = 0
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/sounds", {st_mode=S_IFDIR|0775, st_size=61440, ...}) = 0
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/sounds/night.wav", 0x18cbbb0) = -1 ENOENT (No such file or directory)
open("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/sounds", O_RDONLY|O_LARGEFILE|O_DIRECTORY) = 83
openat(AT_FDCWD, "/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/sounds", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOE XEC) = 83
stat64("/home/scorpio/.wine/dosdevices/z:/home/scorpio/games/everquest_rof2/voice/default/night.wav", 0x18cbea0) = -1 ENOENT (No such file or directory)
...


It's possible some of those stat calls are duplicates caused by wine checking for different capitalizations to deal with the case sensitivity of linux.

I looked for anything named night.wav in the everquest_rof2 directory. Nothing. So I found all my old everquest CDs (kunark, velious, and luclin), extracted the cab files and checked for any wav files there. One luclin CD and the kunark one were corrupted (this is why I don't trust optical storage), but I couldn't find a single wav file on those either.

So where do these come from? I found https://github.com/Shendare/Eff2Emt written by our own Shendare, which suggests these files are embedded in the .eff files. Has anyone tried extracting all the wav files from the .eff and putting them in sounds/ ? Does it make a difference, or is everquest loading them out of the .eff file directly?

demonstar55
01-01-2019, 02:07 PM
Download live, if the missing files are there, copy them :P If not, oh well.

prestanneth
01-29-2019, 02:52 AM
They are pulled out of the .pfs files which the strace is eluding to in a around about way.

In the case above the screenshot here shows snd6.pfs contains some files from above after extraction :

https://drive.google.com/open?id=1XZfVssxbFI-1_1bjqOpR0HpiN7O2hEIa


KentaiVZ