Important Message

You are browsing the archived Lancers Reactor forums. You cannot register or login.
The content may be outdated and links may not be functional.


To get the latest in Freelancer news, mods, modding and downloads, go to
The-Starport

Modifying DLL''s

The general place to discuss MOD''ing Freelancer!

Post Thu May 25, 2006 2:51 pm

Modifying DLL''s

OK folks, this is not such a Noob question as title suggests ..... although while typing it up I'm not so sure now .... any how... here's the question ...

Should I be able to modify a .DLL created by my mod via FLMM, by using either FLED-IDS or Flidref ?

The reason I ask is I currently have a mod in two sections ... ships and equipment and stuff added via FLMM and XML scripts to create the .DLL ... and a second part, created manually and using a DLL I created with the excellent tutorials and the blank .DLL download.

What happens is that with both mods loaded I am trying to modify some stuff in the FLMM .DLL to fine tune things and when I select and IDS name for example, change the text and click save, all goes well until I look up the IDS name again ... the text is unchanged. Same thing happens using the DLL explorer in FLidref.

Now if I try the same thing with the .DLL I created manually using the blank .DLL, I am able to make changes with no problem at all ... I save in FLEDIDS and then re-pull the IDS name and text is changed... also works in Flidref ... I click edit, make the changes, click OK and voilla my changes are there. This is as I'd expect given that's how the entires got in there in the first place ;-)

Trouble is I only want to change the FLMM created .DLL ... it's got more stuff in it and I'm a lazy bugger .... don't want to move it all into the manually created one.

Oh and before anyone asks.... none of the files in the .EXE directory are read only... already checked that one ;-)

So ... am I doing something extremely stupid here, or is there something in a DLL which will stop the utils over writing and IDS name ?

TIA.

Post Fri May 26, 2006 7:44 am

There are two reasons for this.

Firstly:-

If FL ID Referrer's editor could not change the original file, then it writes it as a new file named something like RCXnn.txt (I couldn't make it do it now to verify the exact name for you) - but the problem is that it doesn't tell you about this!!

So you need to go look for it (should be in the Freelancer\EXE folder along with the other dll files) and rename it to the correct dll file name, e.g. flmm1.dll or NameResources.dll etc manually or whatever dll file you were trying to change (of course saving the original file somewhere first please!).

Secondly:-

In the dll file itself, each "resource" is written with a language setting, usually 1033 (US English) or 0 (language neutral).

In FL ID Referrer's Editor you have no control over the language selected and it writes changes in language 1033 by default.

But it doesn't tell you so.

You can see this clearly when you open a .dll file with ResHack or Resource Tuner, where a resource will have two language entries under its resource number. They look like folders.

Now - If the original resource entry was in language 1033 then the change overwrites the original and all is well.

But if the original language was 0, then a new additional resource entry is created for the same string or infocard, so it has two language entries, 0 and 1033. When the game (and FL ID Referrer and some others) loads up, it uses the default language entry, language 0, and you will not see the change until you delete the original language 0 entry, and then change the language of the changed 1033 entry to 0.

Now:-

With ResHack you can make the language 0 deletion and change the language of the resource you changed from 1033 to 0.

However, be careful!! ResHack can mess up the dll file when changing the language from within the program itself. The command-line (scripted) method for ResHack works fine, but you have to get used to how to use it to export the 1033 changes, then re-import them as language 0, overwriting the original language 0 entries, and then delete the language 1033 entries.

Unfortunately like so many other near-brilliant FL editing utilities, the authors of FL ID Referrer and ResHack and UTF Editor have lost interest and will not correct the bloopers, so you and I will need to continue to use 2 or 3 utilities to do a job where one should have been capable.

Sad. Boo-hoo.

But then - we're brilliant too, 'cos we worked out how to solve these problems, didn't we?

Post Fri May 26, 2006 4:38 pm

Star Trader ... many thanks ... you were spot on ... dual language entires. Used Res Tuner to straighten things out. Much obliged.... also lgad to see that someone else shares the view that many of the utilities are excellent i.e. we would find it hard to live without 'em ... and yet some of them have rather irritating flaws.

Still as you say ... smart folk (like you) work it out and help dumb folk like me :-)

Post Fri May 26, 2006 5:45 pm

actually UTF editor is not abandonware - Mario 'HCl' Brito has passed the project on to Colin Sandby and he is working on it, although there is no public beta i have tested v3 and it has been improved a lot, not just with new features but apparently some optimizing that has reduced the size from 2mb to .2mb

Edited by - Cold_Void on 5/26/2006 6:46:30 PM

Post Sat May 27, 2006 4:18 am

Ooooh now that is good news ... I use UTFEdit alot.... am looking forward to a new version. Do you fancy listing the new features in the beta you've tested Cold Void ?

Post Sat May 27, 2006 8:34 am

sure -

it can play sounds, has special functions for editing fix/pris/& rev and a new set of exporting options for vmeshdata,vmeshref,and vwiredata to text.also two save buttons, one for saves/overwrites and the other lets you 'save as'

Return to Freelancer General Editing Forum