Jump to content

Rosetta Stone - Game Sounds Excel Sheet


Recommended Posts

So, you might have seen my jokey "Phorce Phields" post:

 

That was just a "trial run" to show that with the right knowledge at their fingertips, any idiot (even me!) can modify their client to make it look and sound any way that they want it to. All that most people are missing is the knowledge of what in-game assets they can replace to make those changes happen. So, after I got done making my CoH Modder program and collecting the various pre-existing mods that I found, I realized that a "Modder" program isn't much good without many mods to use! So that got me to thinking what the barriers to entry were for modding the game, to try to make it quicker and easier for any idiot (again, like myself!) to mod the game.

 

So, I downloaded a fresh copy of the original SCoRE release into an empty folder, and created a script to "scrape" the game files of all possible sound references that I could find. After a bit of digging I found all of the Powers-related sounds. Then, after @Oubliette_Red pointed out to me the fact that I was missing a LOT of sounds that weren't directly related to powers, I dug a bit further and worked a bit more and found all of the sounds related to what I'm calling "Entity Sequences" - basically all of the AI's scripted actions.

 

This resulted in discovering 36,469 "Powers-Based Sounds" related sound references - the sounds that any entity (be it player or NPC) makes when they use any of the powers assigned to them, as well as 151,782 "Entity Sequence Based Sounds" which aren't related to powers themselves, but rather the scripted events. AI behaviors, and odds and ends that you can find in-game. The "miscellaneous" section, if you will.

 

Then, I pooled all of this data and shoved it into a single Excel spreadsheet, to release to the public to spur on more custom mods. It is my hopes that with the release of this information, it will inspire other potential mod authors to give it a shot and create more client side mods to make the City of Heroes experience funner, or easier on the eyes or ears, or whatever you want it to be!

 

So, attached to this post, I've placed my "Rosetta Stone", and here's the short "mini-guide" on how to make use of this information to modify you own client files and possibly make game mods for others to enjoy:

 

Powers-Based Sounds:

  1. Choose your PowerSet name using the Auto-Filter in the top row to find either the player or NPC PowerSet that you want to modify the sounds for:

 

image.png.3d9bee2ecff8aeab357ce5e6bb46683a.png

 

2. Narrow that down to the Power Name that you want to replace:

image.png.7426094dce2358ad12166ee73da8cda7.png

 

3. Try replacing all of the sounds listed here by creating a data\sound\Ogg\Powers\ folder and placing a file named "SoundFileName" + ".ogg" in the Ogg Vorbis format in that directory:

image.png.cd945d8eb572f9f0240e8285908ef5b6.png

 

4. If that wasn't the sound that you wanted, try the next one until you find the right one!

 

Entity Sequence Based Sounds - This one's a bit trickier, as these are sorted by generic "entity" types and "Move" names. Your best bet here is to just browse and get yourself used to the data and trial and error. Most of the data should be there, it's just a matter of figuring out which entity on the spreadsheet is related to which entity in the game, and which Move in the spreadsheet is related to which action that happens in the game. Here's a good example. If you have a certain "howl" that's really irritating you in the game, search the SoundFileName via the AutoFilter to find all the howl sounds:

 

image.thumb.png.e0bebeba5556ee15abed6e3e93e1ef66.png

 

Then you can try replacing these each one by one until you figure out which one it is!

 

The rest is up to you. However, whereas before the CoH community was almost completely blind to this information (unless they were a programmer and looked into the code for themselves!) Hopefully this spreadsheet will help the "layperson" to create their own sound mods!

 

Now, a few caveats to this sheet:

  • This is based on the original SCoRE leak, so it won't contain things that have come out since that leak, such as Electrical Affinity, for example. That stuff's still proprietary and hasn't been released to the public yet
  • As such, it also contains stuff that's really NOT in-game (yet), like the Primalist stuff that was never finished!
  • I'm completely sure that this is NOT 100% of the sounds in the game, but it should be a wide swath of most of them
  • If you notice any other issues, or any other "missing" sounds, or sound changes that aren't working, please let me know what you know of the "missing" sounds... there might be a chance that it will spur me on to finding another "code path" to finding a whole new subset of sounds to add to this spreadsheet!

 

Take care, and good luck modding!

 

 

 

 

 

RosettaStone_v5.xlsx

Edited by The Philotic Knight
  • Like 6
  • Thanks 8
Link to post
Share on other sites

Again, PK... outstanding work on your part on digging, trolling and deep-diving into everything and providing an easier way for players to sooth their savaged ears.

 

🎉

 

Dislike certain sounds? Check out PK's Rosetta Stone or my Silence/Modify specific sounds. Looking for modified sounds? Check out Solerverse's thread.

"You keep using that word, I do not think it means what you think it means."

Link to post
Share on other sites

I'm currently processing a "version 2" because I realized that just the filename itself won't help much of the time, as you need to have that file in the correct "relative" path for the game to find it. So, again, from my fresh download of the SCoRE release, I also made a list of all of the sound files in the data\sound\ directory along with their paths, and am cross-referencing it with the names of the files that I find in Powers and Entity Sequences to produce a version where you can get the ENTIRE relative path (from the game installation folder) rather than just the filename itself, wherever possible. When I can't find the file itself on my local copy, you'll still just get the filename itself.

 

Last time it took over 12 hours to process this. I expect around the same timeframe this time as well.

  • Thanks 1
Link to post
Share on other sites

So, it looks like this time, it took about 24 hours to process with the paths included. I think this is because I had to search for the actual files' existence before deciding on what data to report. But either way, V2 is now attached to the original post, which includes pathing information when I find an exact path. When I can't find an exact match, you just get the file name. Now, I did this as a case-sensitive search, because I haven't yet looked far enough into the code to determine whether or not the GAME ITSELF treats these filename as case sensitive or not, so to play it safe, I took them all as case sensitive, hence the lack of paths for many of the files, such as this example of "Nova2" below:

image.thumb.png.3a5bc5e50e3cf9f2d496d48965e0cf52.png

 

Even though I *KNOW* that I have "nova2" in my data folder:

image.png.a9592d967f76a40e40b00ef5d4b3e890.png

 

Note: This application in the second screenshot BTW is called "Everything", and it's friggin' awesome. I highly recommend it for anyone that wants to do FAST file name searching on their PCs. You can get it here, and it's freeware that I've used for years. A THOUSAND times faster than Windows' built in search functionality.

 

I don't want to make the assumption that the game will find that file when it's looking for "Nova2". So, until I have time to dig in and see if the search for the file is case insensitive (or someone knowledgeable can confirm it for me like @Leandro or @Number Six), I'm going to leave this assumption as "case sensitive".

  • Like 1
Link to post
Share on other sites

Once we get a proven list, we should look into "matching" the sounds in such a way that it makes replacement that much easier. IE: The source database for a future Sound Replacement Mod. ;)

 

Also, between your scripts and my "what about..." concepts, neither one of us is gonna get to play anytime soon. :classic_laugh:

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  The City Representative (Info site for all servers)  <||>  Heroica! (by @Shenanigunner)

 

Link to post
Share on other sites
5 hours ago, The Philotic Knight said:

I don't want to make the assumption that the game will find that file when it's looking for "Nova2". So, until I have time to dig in and see if the search for the file is case insensitive (or someone knowledgeable can confirm it for me like @Leandro or @Number Six), I'm going to leave this assumption as "case sensitive".

Well if the game is still using C++ code, then it apparently is for variables at least.

Edited by WanderingAries

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  The City Representative (Info site for all servers)  <||>  Heroica! (by @Shenanigunner)

 

Link to post
Share on other sites

Okay, I think that I've confirmed in code that in at least three places related to "FX" files and animations that they are forcing case-insensitivity by making the values uppercase either by using the toupper() function, or this function that takes all of the characters in a string and automatically uppercases them (not sure why'd they'd need to make this function, since toupper() should work just fine, but whatever):

image.png.85e110db7b3135c2b5d8dd6358c2f338.png

 

Here where they are handling "Spawn FX", which I'm assuming to be the Idle sequences:

image.thumb.png.b1e4e795d5b3dc3ebac8cf8afec0836f.png

 

Here where they are getting an animation file name of some sort:

image.png.85ca7b3c1de7f4e1cc219639dac746e4.png

 

And here where they appear to be loading the "Entity Sequences" from what I can see (I could be wrong of course, I'm a middling level programmer!):

 

image.thumb.png.07251cd6810b4897f157be75791b8a10.png

 

 

But I think that's good enough for me (that and the fact that the Nova2 power was listed capitalized in one place and not in the other), and knowing human nature, wanting things to be easier for people and account for people being lazy and stupid, I think I have enough evidence to support that they have case-insensitivity built into the file names in many if not most cases.

 

I'm going to now modify my script to make the search case insensitive, and then start processing. See you in another day or two!

Edited by The Philotic Knight
Link to post
Share on other sites

Yeah, that looks like someone is trying to force the insensitivity to Avoid an accidental coding error due to "A" vs "a". It could also be that they're doing it to distinguish variables vs methods (etc). If you notice the methods (using right term?) appear to be using both cases (for user readability I'm guessing). Too bad there's no Commenting! damned lazy programmers. :p (standard rant)

  • Like 1

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  The City Representative (Info site for all servers)  <||>  Heroica! (by @Shenanigunner)

 

Link to post
Share on other sites

@Keovar No, music tracks aren't in V2 of the sheet. They won't be in V3 either, because that's already processing and I don't want to interrupt such a long running parsing process!

 

However, it's a great idea to include those sounds, so I'll try to make sure they get into V4, once I have time to figure out a logical process for categorizing them. Most likely I'll categorize them by Zone, but we'll see what the code reveals to me.

 

As far as your DJ idea goes, it's a great idea, but I don't think it's feasible without rewriting a whole lot of CoH code, because at first glance it appears the game pre-loads resources at both game load and zone load to save network traffic and processing time. If the program had to keep checking the local game files to see if they'd been updated every X number of seconds, well that would be a performance nightmare, frankly...

Link to post
Share on other sites
2 hours ago, The Philotic Knight said:

As far as your DJ idea goes, it's a great idea, but I don't think it's feasible without rewriting a whole lot of CoH code, because at first glance it appears the game pre-loads resources at both game load and zone load to save network traffic and processing time. If the program had to keep checking the local game files to see if they'd been updated every X number of seconds, well that would be a performance nightmare, frankly...

This would be my guess as well. It makes sense that the game would preload variables that the creators believed to be constant. That and mods weren't intended to be realtime (likely as a result).

OG Server: Pinnacle  <||>  Current Primary Server: Torchbearer  ||  Also found on the others if desired


Installing CoX:  Windows  ||  MacOS  ||  MacOS for M1  <||>  Migrating Data from an Older Installation


Clubs: Mid's Hero Designer  ||  PC Builders  ||  HC Wiki  ||  Jerk Hackers


Old Forums  <||>  Titan Network  <||>  The City Representative (Info site for all servers)  <||>  Heroica! (by @Shenanigunner)

 

Link to post
Share on other sites

V3 is now attached to the original post. It includes EntitySequences that are case-insensitive, which actually trimmed the list a little, because apparently the last list had some duplicates due to case sensitivity.

 

I didn't re-process the powers, those are just copied from the previous sheet. In V4 I'm going to make those case in-sensitive as well, and see what that does to the list, and I'll also figure out Music...

 

 

...Soon™

Link to post
Share on other sites

V4 is now attached to the original post. This took me WAY less time than I thought it would take to figure out the music. And not only music, in looking for the music, I found all sorts of other "ambient sounds" and "sound scripts", like the random noises you hear walking around on the map (like cars honking, seagulls.... gulling..... etc. 🙂 ).

 

I also standardized the format, and all paths are now relative from the CoH Data\ Directory. All values should be uppercased on all sheets, and all duplicates removed. The new sheet of "Music, Scripts, and Ambient Loops" has been organized as follows:

  • Scene - the "scene" or "event" that the game uses to trigger the sound
  • AudioGroup - The internal programming name that the game gives to this specific sound sequence. This includes "subgroups" for those sound that I found within scripts, denoted by a dot "." between the primary group name, and the subgroup name
  • MapFile - The Map File (or "Include" file) that contained the sound reference
  • SoundFileName - The path and name of the actual sound itself. Again, if I couldn't find the actual file in my local copy of the game files, I'm just giving the direct sound file name reference without the path (such as the elusive and cryptic "TUNNEL" 😮 )

Let me know if there's any other types of sounds that y'all find that appear to be missing from this spreadsheet, and let me know what you think of the latest version!

 

image.thumb.png.3f1ef68c29e06b350bafa1c237709a7f.png

Link to post
Share on other sites
2 hours ago, The Philotic Knight said:

Let me know if there's any other types of sounds that y'all find that appear to be missing from this spreadsheet

I recently helped hunt down the sounds made by the tech base inspiration collector, and out of curiosity I tried to find those in the spreadsheet without any luck. I looked for a couple of others too (like the entrance portal sound) and couldn't find those either. I personally do not currently have a great need for that info, but if you are going for completeness, then someone else wanting to silence/modify the sound of a base item might find it useful.

Link to post
Share on other sites
27 minutes ago, AboveTheChemist said:

I recently helped hunt down the sounds made by the tech base inspiration collector, and out of curiosity I tried to find those in the spreadsheet without any luck. I looked for a couple of others too (like the entrance portal sound) and couldn't find those either. I personally do not currently have a great need for that info, but if you are going for completeness, then someone else wanting to silence/modify the sound of a base item might find it useful.

Thanks for the tip, I'll dig into why it's not showing now.

Link to post
Share on other sites

Okay @AboveTheChemist I did some searching, and found that those sounds are referenced in the TechInspirationStorage FX file, which makes sense. So, my usual process is to go backwards from this reference until I come to the "source reference" and see if there's a ton of other files that flow from the same "code path". However, when I trace that FX file backwards, it only has references in four files that I can find:

image.thumb.png.1ee4744341eec57b9e7bb8ca0611ad6c.png

 

Not really worth an entire spreadsheet to just show the sound files from these four source files. So, here's what I'm going to do. I noticed that the FX file in question exists in the Data\FX\WORLD\ directory, which I'm ASSUMING is filled with all sorts of random FX files for animations/sounds/etc. related to the world at large. So, what I'm going to do to make something that's somewhat valuable, is I'm going to scour for ALL of the FX files within this directory, and make a generic list of FX_FileName > SoundFileName and add that as a new sheet.

 

So when you look at the sheet, what you'll see is this:

 

FX_FILENAME SoundFileName
BASES\TECHINSPIRATIONSTORAGE.FX SOUND\OGG\V_BASE\COMPAMB2_LOOP
BASES\TECHINSPIRATIONSTORAGE.FX SOUND\OGG\POWERS\GLOW7_LOOP
BASES\TECHINSPIRATIONSTORAGE.FX SOUND\OGG\V_BASE\COMPUTERX7_LOOP
BASES\TECHINSPIRATIONSTORAGE.FX SOUND\OGG\V_BASE\ELECTRICITYHUM4_LOOP

 

Does that seem fair enough? Then people will have some idea and context about what these files are associated with by having the descriptive path of the FX FileName and the path of the SoundFileName. That's better than nothing, right?

 

 

Link to post
Share on other sites

V5 is now attached to the original post, and it includes what I'm calling the "FX Sounds Index", which is basically EVERY sound reference in EVERY FX file. These references are all found on the other sheets, just without a direct "context" made. You sort of have to try to make the context with the pathing information. But the good thing about having the index is, when you decide to replace or silence a specific sound, you'll have some idea of what else you might be changing in the game as well. For example, this sound from the inspiration collector that @AboveTheChemist referenced. If you "turn it off" by replacing it with silence, you'll also be affecting the following FX Sound events in the game!

 

image.thumb.png.6790f2cc0693fba06b9d61f8744887ad.png

  • Like 1
Link to post
Share on other sites

Looks good! Being able to see the "unintended consequences" of modifying sounds is a really powerful benefit.

Link to post
Share on other sites
  • 2 months later
  • 5 weeks later

Hmm... apparently attachments cannot be downloaded unless you are a member of the club. @The Philotic Knight I got an error that the Rosetta Stone file was unavailable until I joined the club. Also, my D drive crapped out on me which have everything on it for CoH audio modding.

 

😞

 

Dislike certain sounds? Check out PK's Rosetta Stone or my Silence/Modify specific sounds. Looking for modified sounds? Check out Solerverse's thread.

"You keep using that word, I do not think it means what you think it means."

Link to post
Share on other sites

Yeah @Oubliette_Red I found that out after the thread was moved. Still, I don't think it's necessarily a bad thing, makes it easier to know who's getting and using my stuff 😛

 

Sorry to hear about your drive. What are you missing, anything I can help you restore?

Link to post
Share on other sites

All my custom sfx files and the original files I cut them from. And the whole unpackaged CoH dump. 😞

I'm hoping to connect the drive to my desktop to test it, but I'm in need of an adapter for the drive which requires $ I don't currently have.

It also contained my Steam game library. While I can just re-download all of that... that's a lot of Gigs and I don't want to put all of that on my laptop main drive.

 

Dislike certain sounds? Check out PK's Rosetta Stone or my Silence/Modify specific sounds. Looking for modified sounds? Check out Solerverse's thread.

"You keep using that word, I do not think it means what you think it means."

Link to post
Share on other sites
×
×
  • Create New...