Upper limit for additional Ids_Names and Ids_Infos - is there one / what is it?
-
Does anyone whether (and, if so, what) the game has an upper limit beyond which it will no longer be able to read ids_infos and ids_names?
In my old Mod, I had done some major renaming of Factions, to enable more space. Now that Adoxa released his Names plugin, there’s no need for this anymore. But rather than just re-edit all the stuff back to how it was (I did stuff other than Factions too so I can’t just resort to the unmodded .dll) I figured I might as well use Adoxa’s system for all Factions, including the about 50 vanilla ones. (Not sure about this though)
In addition I hope to add a whole lot of Star Systems, which will require quite a lot of ids_names and ids_infos.
So, if there’s some known limit, please let me know!
Thanks in advance B-)
-
I think the only limit in this case is that imposed by resource files and the way Freelancer reads them (and the amount of memory you have). Resource files are capable of containing 65536 names and 65536 cards. However, Freelancer mostly prefers cards over names, so let’s just say 65536 combined. The DLLs under [Resources] are assigned a 16-bit number, so you can have 65536 of those, less the seven used by FL itself (resources.dll is fixed at 0). So 65529 DLLs times 65536 names/cards per DLL = 4,294,508,544 total. You should be safe.
The way I’ve structured the ids for Names means that an individual DLL is capable of holding 6552 factions (or 6553 if you don’t need v6 or higher).
-
adoxa wrote:
I think the only limit in this case is that imposed by resource files and the way Freelancer reads them (and the amount of memory you have). Resource files are capable of containing 65536 names and 65536 cards. However, Freelancer mostly prefers cards over names, so let’s just say 65536 combined. The DLLs under [Resources] are assigned a 16-bit number, so you can have 65536 of those, less the seven used by FL itself (resources.dll is fixed at 0). So 65529 DLLs times 65536 names/cards per DLL = 4,294,508,544 total. You should be safe.Thanks for the math — and for the good news
adoxa wrote:
The way I’ve structured the ids for Names means that an individual DLL is capable of holding 6552 factions (or 6553 if you don’t need v6 or higher).I was already thinking whether it would be necessary to maintain the interval of 10, as the entire set for one faction would only take up 6 ‘slots’.
Btw: is there some handy ‘xml to dll’ method, so that I can just convert a text document into a dll that Freelancer can read?
-
That’s not good news, Moonie - get busy, you’ve a lot to write! lol
Next you’ll need an auto-dll-naming-and-auto-resource-creation tool
-
StarTrader wrote:
That’s not good news, Moonie - get busy, you’ve a lot to write! lolPreferably some alien intelligence comes visiting me and writes my entire mod in a day, as I envisioned it, but without me knowing the ins and outs, so that I can enjoy as if it were a new game.
StarTrader wrote:
Next you’ll need an auto-dll-naming-and-auto-resource-creation toolUp to this point I create all ids_names and ids_infos with FLMM (I use the, for reasons unknown to me, widely dreaded 1.4 version, which does exactly what I want)
But for the factions I can’t use it, as it won’t create double entries (it uses the same ids_names and ids_infos, which is usually very great — but not in the factions’ and zones’ case.)
-
Moonhead wrote:
Btw: is there some handy ‘xml to dll’ method, so that I can just convert a text document into a dll that Freelancer can read?If you don’t mind the command line, FRC might fit the bill. It can go both ways, so you can convert your existing DLLs to FRC, edit them, then can convert them back. FRC’s format is a lot nicer than raw XML (having FLMM use it was the last thing I was going to do…). As a quick example, the FRC info string Battleship \i{Osiris}. will generate the XML (separate lines only for clarity):
<rdl><push><text>Battleship</text> <tra italic="true"><text>Osiris</text> <tra italic="false"><text>.</text> <para></para></tra></tra></push></rdl>