Fix/Hack Request: Let Bases use the msg_id_prefix for Factions
-
adoxa wrote:
I take it you’re referring to mbases.ini? The prefix there has a dash appended, which is why the faction isn’t working. Here’s a patch to remove the dash, thus providing you with factions (or whatever), but requiring you to add it to all the bases.content.dll 04B101 9090909090909090909090->5B31C05E8304E411C20800 = don't append dash to msg_id_prefix in mbases.ini PART 1 ~adoxa content.dll 04B183 5B33C05EC3->E979FFFFFF = don't append dash to msg_id_prefix in mbases.ini PART 2 ~adoxa
Thanks, you’re fast!!
Unfortunately my version of my favorite Hex editor stopped working yesterday So I cannot try it out right away. Working on that though
-
Got my fav Hex tool working again just tested the hack.
Unfortunately, it doesn’t do what I want.
Indeed I was talking about mBases.ini. The soundbyte I referred to, is the name of the base that is announced when e.g. the player leaves a base:
“Freelancer alpha one dash one, this is Freeport 2.”
For custom bases, that don’t have their own name in a sound file, I thought it would be nice if the would have the name of the owning faction instead:
“Freelancer alpha one dash one, this is Zoners.”
Which I’d hoped to achieve by adding (if it’s a Zoners’ base)
msg_id_prefix = gcs_refer_faction_gd_z
But, both with or without the hack, I just here
“Freelancer alpha one dash one, this is { }.”
Did I not apply the hack correctly? Or did I misunderstand what it does?
(Btw, I did not replace all the gcs_refer_base_(XX00_00)_Base entires in mBases.ini with gcs_refer_faction_(xx_xx) ones… Is that necessary to test it properly??)
-
Hmm, this reminds me, back in early 2004, it was Quickshot14 I think (yikes, memory failing) who wrote a tutorial hosted only upon his site for actually adding new sounds to Freelancer (unless someone downloaded and copied it!).
By new sounds, I mean new base names, faction messages, names etc etc - how to encode, how to open and edit/add entries into the sort of db of sound files…
Essentially it meant you could record voices for your faction - their name, bases, places, commodities, and include it into Freelancer.
I can’t find his old tutorial - but here is his blog. You could email him or try anyway:
http://quicks14blog.blogspot.com/Then you could actually add the real names in. Of course, it may not sound like the original FL voices (so may be weird when other factions say it) but meh
-
Chips - Thanks! Might be an idea to email the guy.
But from what I recall myself, it was considered a long, painful exercise, considered not-worth-it by many… My memories are vague though, and I never tried it.
I’m quite handy with Adobe Audition, and know a noce text-to-speech website, so getting the voices to sound like the FL ones wouldn’t be the worst. Rather that there are several voices. And it did involve the dreaded CRC language, iirc… (or some other codified stuff )
Nonetheless - cool to investigate a bit into.
-
Sorry, I should also have mentioned that factions have _short appended. To summarize, you will need:
msg_id_prefix = gcs_refer_base_iw01_02_base**-**
msg_id_prefix = gcs_refer_faction_gd_z**_short**Using the XML Project should help in adding new sounds - the nicknames are automatically converted. If you generate a strings list first, the proper names are also extracted.
-
adoxa wrote:
Sorry, I should also have mentioned that factions have _short appended. To summarize, you will need:
msg_id_prefix = gcs_refer_base_iw01_02_base**-**
msg_id_prefix = gcs_refer_faction_gd_z**_short**It works! At least, the lower one does. Haven’t tried out the upper one, but have no reason to doubt it’l work too.
Thanks man!! It is far beyond me to even imagine how you can do al this stuff…
adoxa wrote:
Using the XML Project should help in adding new sounds - the nicknames are automatically converted. If you generate a strings list first, the proper names are also extracted.
Worthwhile to look into that than, I suppose. It was a bit above my head when I looked at that, years ago, but I’ve grown
Other stuff to do first though. Your hack works fine for the moment (until I start working with new factions)
-
Btw, does someone know a nice bulk instruction to change all the **msg_id_prefix = gcs_refer_base_**Xx00_00_Base with **msg_id_prefix = gcs_refer_base_**Xx00_00_Base- (the Xx00_00 being a placeholder here) ? I am too lazy to do it manually, and if simply change every occurence of _Base into _Base-. all the base names will have a dash added as well.
Are there any free text editors that allow wild cards in search-and-replace strings?
-
You can use Notepad++.
Use the search function to mark all msg_prefix lines with Bookmarks.
After that you click on the first line.
Then you start macro recording.After that you klick step by step to “Search” and “Go to next Bookmark”.
Then you press for each letter once your arrow right button (macro cant work with selection via mouse) until you reach the end of the line (*_base)
Now you create a -
Go to “Search” again and tell the macro to remove the bookmark on this line (or the macro will not go to the next)
Then you stop recording.You can use now the macro for getting at the end of every msg_prefix line a -.
Be careful: lines with AstMiners are 1 letter longer, so it will get to “*_bas-e”
Just replace that at the end.Oh and thanks adoxa for that hack, was exactly what I needed now!
My base doesn’t say “Here is Zoners” but it says “Here is Rheinland battleship”. Works great with shipnames too!
-
Any editor with regex search & replace should do it (I use TDE, but I expect that’s not for you). Search for gcs_refer_base.base, replace with &- (assuming & represents what was matched). Notepad2 (possibly any Scintilla-based editor) doesn’t seem to have a whole-of-match operator, so search for (…)* and replace with \1-.
-
adoxa wrote:
Any editor with regex search & replace should do it (I use TDE, but I expect that’s not for you). Search for gcs_refer_base.base, replace with &- (assuming & represents what was matched). Notepad2 (possibly any Scintilla-based editor) doesn’t seem to have a whole-of-match operator, so search for (…)* and replace with \1-.Thanks, but I decided to take my laptop to my work, and do it there ‘manually’ (meaning base-by-base). So sort efficient anyway
Very nice hack again, Adoxa!
And this XML project sounds worthwhile! Too bad my employers ICT dept disabled all gaming sites, including this one and the EOA site (I mean Louva-Deus site, which hosts the project, according to Google). They claim it costs too much bandwidth, A bit silly, as I simply can’t imagine there’s anybody else in the organization browsing The Starport.They’d do a better job blocking MySpace, Hyves and all those ‘social sites’, imho. But they don´t :-?
Anyway, now I’m home, but I gotta check out patch 4.0 of WoW, which only completed this afternoon (took me 3 or 4 days to download it, fail after fail, so I’m kinda curious) So FL has to wait for the moment.
-
I’ve updated the XML Project.
-
adoxa wrote:
Sorry, I should also have mentioned that factions have _short appended. To summarize, you will need:msg_id_prefix = gcs_refer_base_iw01_02_base**-**
msg_id_prefix = gcs_refer_faction_gd_z**_short**Using the XML Project should help in adding new sounds - the nicknames are automatically converted. If you generate a strings list first, the proper names are also extracted.
It just occured to me, that the System msg_id_prefixes in Universe.ini probably also need a - attached to them, when this hack is applied. At least, the XML project shows filenames like gcs_refer_system_Li01**-**.wav, and similar for all the systems. Am I right?
-
Btw, there are a few systems with no msg_id_prefix; a.o. the purple nomad system and the Primus & Gammu system.
Does that mean the msg_id_prefix is optional and can be simply left out without the game engine bothering?
Or is it just that no traffic is going to and/or coming from those systems, so that the NPCs simply do not need to mention them, but actually would produce a voice error if they would be set up to try (by, e.g. equipping the purple nomad system with a base, a tradelane, a jump gate and accompanying traffic zones)?
My guess would be the second option.