EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::General Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=586)
-   -   EQ Music: Reimagined (https://www.eqemulator.org/forums/showthread.php?t=39719)

Grimluck 06-01-2015 05:06 PM

EQ Music: Reimagined
 
Hey everyone. Been playing EQ since 1999, and have always, always loved its music. If anything can bring back the nostalgia, it would be the music. I'm sure some of you feel the same way. One of my main hobbies is music production and post-production. A few weeks ago, I began a project I call "EQ Music: Reimagined" with the idea of "reimagining" the classic Everquest MIDI music with new renditions made with high quality instrumentation. The idea is to give the old music a modern makeover while staying in the spirit of the old themes. I have completed several themes to date with several more on the way.

https://soundcloud.com/everquest-music-reimagined

Currently, I'm looking for developers that are willing to work with the source code to be able to implement the .mp3 files I'm making to be used in-game with the Titanium client. If you're interested in working with me, send me a message and we can discuss it.

demonstar55 06-01-2015 05:13 PM

Try deleting the xmi and adding the mp3.

There might be a few that are hardcoded to the xmi but most just try to load xmi then mp3 then wav. (newer clients also have ogg in that chain)

Grimluck 06-01-2015 05:16 PM

The problem with the XMI files is that several themes can be coded into one file. For instance, Greater Faydark. If I remember correctly, the kelethin, felwithe, and crushbone themes are all rolled into one. Maybe I'm wrong. Regardless, if I were to delete the XMI files and replace with .mp3's, the client would play only those songs for the entire zone, and would not necessarily be area-specific. It's only a bandaid to what I'm looking for.

Shendare 06-01-2015 05:27 PM

Each zone also has a *.emt file that specifies sounds to play at different X/Y/Z coords. You can specify the exact filename. I'm not sure whether they have to be in the /sounds folder or whether they can be in other places, too, but /sounds would be simple enough, I think.

If the field configuration could be figured out, I'll bet they'd do nicely without any client .exe hacks.

For example, here is tutoriala.emt:

Code:

2,fire_torch01_lp.wav,0,0,1.00,0,0,1,-46.59,-14.58,-9.09,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,-48.24,48.45,-11.14,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,27.94,94.72,-7.33,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,25.81,-60.13,-15.43,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,93.37,41.44,-16.38,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,91.30,-12.29,-19.80,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,224.89,17.35,-40.47,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,229.44,118.48,-25.13,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,222.21,-86.19,-25.02,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,157.68,-132.46,-28.23,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,334.62,19.29,-26.65,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,fire_torch01_lp.wav,0,0,1.00,0,0,1,387.13,77.60,-29.40,10.00,60.00,0.00,0.00,0,0,0,1.00,1
2,wind_caverns_lp.wav,0,0,1.00,0,0,1,-20.33,18.82,-15.04,10.00,300.00,0.00,0.00,0,0,0,1.00,1
2,wind_corr_lp.wav,0,0,1.00,0,0,1,101.14,16.23,-27.17,10.00,200.00,0.00,0.00,0,0,0,1.00,0
2,wind_caverns_lp.wav,0,0,1.00,0,0,1,302.12,19.69,-28.79,10.00,300.00,0.00,0.00,0,0,0,1.00,1


Grimluck 06-01-2015 05:37 PM

That's it! I'm no developer though, so I would have no clue what to do.

Shendare 06-01-2015 05:42 PM

Looks to me like you'd simply decide where the centerpoint is for the area you'd want the music to play at, and the distance from that centerpoint at which a character will start to hear the sound/music. I'm not sure what the other fields are, but it -looks- like you'd then add a line similar to:

Code:

2,your_music_file.mp3,0,0,1.00,0,0,1,X-Coord,Y-Coord,Z-Coord,Z-Radius?,XY-Radius,0.00,0.00,0,0,0,1.00,1

Shendare 06-01-2015 05:57 PM

For an entire zone, you'd probably just set the X/Y/Z coords to 0,0,0 and set the XY-Radius to 10000.0 or something.

Grimluck 06-01-2015 06:00 PM

That's excellent. However, I do not see any .emt files for the classic zones besides lavastorm, nek forest, and plane of hate.

Shendare 06-01-2015 06:02 PM

The majority of the time, the client looks for such files and simply ignores any nonexisting ones, so creating gfaydark.emt for example would cause it to start being processed the next time you zoned in.

Grimluck 06-01-2015 06:41 PM

So by creating the files in the directory, i would have to log in and zone in, and the server would populate the file?

Shendare 06-01-2015 06:45 PM

Sound emitters are entirely client-side, so you would provide, say, a .zip download for anyone who wanted to use your custom background music.

This .zip file would contain the .emt files for each customized sone, and your custom .mp3 files from the /sounds subfolder.

A player who wanted to take advantage of the custom music would download this .zip file and unzip it into their EverQuest directory, and it would take effect for any server they connect to.

Grimluck 06-01-2015 06:50 PM

Quote:

Originally Posted by Shendare (Post 240568)
The majority of the time, the client looks for such files and simply ignores any nonexisting ones, so creating gfaydark.emt for example would cause it to start being processed the next time you zoned in.

This is what I was referring to. I can create the .emt file, but how would I know what needs to be in the .emt file? Would i have to log in and zone into the zone for the server to populate the .emt file? Not sure what you mean.

Shendare 06-01-2015 06:52 PM

You would create the file and add a line for your custom music, following the pattern mentioned above.

For example, if you created Kelethin.mp3 and, if Kelethin's coords were something like 50,500,100 (I'm not sure what they actually are and can't check at the moment), and you wanted the music to be heard within a radius of, say, 1000 units, you'd put the following line into gfaydark.emt:

Code:

2,Kelethin.mp3,0,0,1.00,0,0,1,50,500,100,50,1000,0.00,0.00,0,0,0,1.00,1

Grimluck 06-01-2015 07:00 PM

That clears it up. Thanks so much for the help! I will get cracking and see what happens in game. One last thing, would I need to delete the xmi files for the mp3 to play?

Shendare 06-01-2015 07:02 PM

Doesn't look like it. The zonenick.emt file references sound files by full filename, including the extension, so specify Kelethin.mp3, and it'll know to look specifically for Kelethin.mp3 in the Sounds folder. Caps won't matter, either.

Grimluck 06-01-2015 07:22 PM

You're a lifesaver. Thanks.

Grimluck 06-01-2015 07:24 PM

Maybe you can provide some insight on this: Secrets told me that there is a bug in the Titanium client that doesn't play the pickchar.mp3 during character selection. You know a way around this?

Shendare 06-01-2015 07:26 PM

I'll take a look in a couple hours. Maybe it's not being referenced in the correct character picker zone .emt file.

Titanium had a few glitches like that where they rushed unfinished/buggy things out for disc shipment, with the understanding that they could fix the problems later with the patcher.

Grimluck 06-01-2015 08:02 PM

Quote:

Originally Posted by Shendare (Post 240578)
I'll take a look in a couple hours. Maybe it's not being referenced in the correct character picker zone .emt file.

Titanium had a few glitches like that where they rushed unfinished/buggy things out for disc shipment, with the understanding that they could fix the problems later with the patcher.

Appreciate it!

Grimluck 06-01-2015 08:57 PM

It works!!!!! I did a test for the kelethin theme, and everything you said was spot-on. However, after I leave the specified area in which I want the files to play, the music just cuts out with no fade out. Would you possibly have any idea of how to make the music fade out so the themes are seemless?

Shendare 06-01-2015 09:19 PM

If that's supported by the client, then it may be one of the 0 / 0.0 / 1 / 1.0 options that it isn't clear what they do. One of them may be a fade level or speed. Would take some trial and error experimentation to see.

Grimluck 06-01-2015 09:27 PM

Quote:

Originally Posted by Shendare (Post 240582)
If that's supported by the client, then it may be one of the 0 / 0.0 / 1 / 1.0 options that it isn't clear what they do. One of them may be a fade level or speed. Would take some trial and error experimentation to see.

Testing those parameters now to see what they do. I'll report back. Do you know which emi file governs the death theme?

Shendare 06-01-2015 09:45 PM

It appears that the files are referenced in soundassets.txt. What ties an individual race and event to a particular sound file (how the client knows to play sound 1157, or gbl_dth.wav, when a goblin dies, for example), isn't clear right off-hand.

Shendare 06-01-2015 09:49 PM

Aha, and right after I said that, I found it.

The game has such data recorded in racedata.txt.

Race # 369 is the new goblins, and the goblin sounds from soundassets.txt (3457, 1155-1158) are included in the many unnamed fields in racedata.txt for that race.

Parsing racedata.txt might be very interesting, when one can find some spare time for experimentation.

If you're wanting a reference of races, I have a race inventory available online:

http://shendare.com/eq/emu/eqri/

Grimluck 06-01-2015 09:50 PM

Good stuff, thank you. I'm not really concerned with replacing those sounds. I'm just concerned with the music themes. When the player dies is what I meant. It plays that MIDI death theme that I would like to replace as well.

Shendare 06-01-2015 09:52 PM

Hmm... looks like that's deaththeme.mp3. :)

Grimluck 06-01-2015 09:57 PM

Haha, that's it! I had forgotten I deleted the file to play the XMI version. I'll just replace that file with the redone classic theme! Thank you :)

Did you ever get around to looking into the pickchar.mp3 bug?

Shendare 06-01-2015 09:58 PM

Once I got home from work I had to deal with some paperwork stuff with the new owner of the place I'm renting. Boring, boring, yadda yadda. Should have time to look at it here pretty soon.

Grimluck 06-01-2015 10:03 PM

Seriously, thank you so much for helping me.

Shendare 06-01-2015 10:45 PM

Alright, I fired up Titanium, SoF, and RoF2 clients and connected to my local eqemu server, and all three behaved exactly the same music-wise for character select. They all played the short main EverQuest theme.

However, I had to turn music on for SoF and RoF2. I don't know whether I turned the music volume down to 0% myself at some point, or whether they default to 0% and you have to turn the music volume up in order to hear music.

Grimluck 06-01-2015 11:13 PM

Secrets told me she fixed the bug. I will get in contact with her and see if she can send me the file necessary. Will report back.

Grimluck 06-02-2015 12:38 AM

Her fix didn't work.

Quote:

Maybe it's not being referenced in the correct character picker zone .emt file.
Which file were you specificly referring to? Maybe i can poke around and look at why the pickchar.mp3 isn't working.

Grimluck 06-02-2015 12:51 AM

Also, i've noticed that when I create a .emt file for a zone, no more ambient sounds play like (forest wildlife sounds, swamp wildlife sounds, rain, etc.) Is it possible to reference the files that play those sounds the same way I would reference the mp3's?

Shendare 06-02-2015 01:52 AM

Quote:

Originally Posted by Grimluck (Post 240600)
Her fix didn't work.

Which file were you specificly referring to? Maybe i can poke around and look at why the pickchar.mp3 isn't working.

If music was playing in some clients but not others, I was guessing that there was an issue with the sound emitter settings for the character selection/creation zone file (clz.eqg) for the broken client(s), but there don't appear to be any emitter files for clz, so that doesn't appear to be the issue.

I don't know what the issue you're reporting is, exactly. All three clients appear to play eqtheme.mp3 during character selection and creation. Verified by renaming elddar.mp3 to eqtheme.mp3 and firing up the client. pickchar.xmi appears to be completely ignored. Not referenced anywhere. May be an orphan file from old versions of the client, and is no longer used.

Quote:

Originally Posted by Grimluck (Post 240600)
Also, i've noticed that when I create a .emt file for a zone, no more ambient sounds play like (forest wildlife sounds, swamp wildlife sounds, rain, etc.) Is it possible to reference the files that play those sounds the same way I would reference the mp3's?

All ambient sounds get disabled? It would be really irritating to learn that the .emt file completely replaces the built-in sound effects for a zone instead of complementing them with new ones. What zones are you seeing that in?

Shendare 06-02-2015 08:45 AM

Looks like eqtheme.mp3 is hard-coded, too, as is deaththeme.mp3, combattheme2.mp3, combattheme1.mp3, opener4.xmi, and gl.xmi. Not sure when the last two play.

http://i.imgur.com/KOWo8Ua.png

chrsschb 06-02-2015 09:51 AM

So you should just be able to overwrite those files? Or are you saying the mp3's are actually part of the client?

Shendare 06-02-2015 10:31 AM

Yeah, overwrite the files and you've got custom death, combat, and character picker music.

Grimluck 06-02-2015 11:26 AM

Quote:

Originally Posted by Shendare (Post 240602)
If music was playing in some clients but not others, I was guessing that there was an issue with the sound emitter settings for the character selection/creation zone file (clz.eqg) for the broken client(s), but there don't appear to be any emitter files for clz, so that doesn't appear to be the issue.

I don't know what the issue you're reporting is, exactly. All three clients appear to play eqtheme.mp3 during character selection and creation. Verified by renaming elddar.mp3 to eqtheme.mp3 and firing up the client. pickchar.xmi appears to be completely ignored. Not referenced anywhere. May be an orphan file from old versions of the client, and is no longer used.

The eqtheme.mp3 plays just fine, but the pickchar.mp3 (character selection theme) doesn't play. However, when you delete the eqtheme.mp3, the XMI files take over and play the classic MIDI sounds for both the main theme (eqtheme.mp3) AND character selection (pickchar.xmi). I'm looking to get the new theme I made for character selection (pickchar.mp3) to work. I just don't understand why the old themes work together, but not the mp3 themes.

Quote:

Originally Posted by Shendare (Post 240602)
All ambient sounds get disabled? It would be really irritating to learn that the .emt file completely replaces the built-in sound effects for a zone instead of complementing them with new ones. What zones are you seeing that in?

I've been testing in Greater Faydark. So far, I've gotten all of the themes to play at their correct points within the zone. All sound effects work (bags opening/closing, footsteps, mob sound effects, battle noises) except for the ambient noises like rain, forest wildlife, etc. When I zone into Felwithe, however, all of the MIDI tracks play, ambient sounds play, everything's normal.

Grimluck 06-02-2015 11:35 AM

The only bandaid I can think of to fix the atmospheric/ambients sounds within the zone is to add another mp3 into the sounds folder, and make the emt file trigger it within the entire zone. However, temporary atmosphere effects like rain won't be triggered.

Shendare 06-02-2015 01:11 PM

I'm onto something. The old ambient sounds were stored in ZoneNick_sounds.eff, referencing the sound files listed in ZoneNick_soundbank.eff.

It looks like ZoneNick.emt is simply a plain text version of the combination of these two files. If ZoneNick.emt is found, the game ignores the old ZoneNick_soundbank.eff and ZoneNick_sounds.eff.

My next step is to reverse engineer ZoneNick_sounds.eff and make a quick little program that'll create any ZoneNick.emt from ZoneNick_sounds.eff.

It looks like at least Lavastorm and Nektulos are zones that have both the old .eff files and the new .emt file, so that should be very helpful in reverse engineering the _sounds.eff file format.

Gonna be a fun project when I get home from work today.


All times are GMT -4. The time now is 12:03 PM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.