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

Ship DLL Library - how to instal more ships to the game - pr

The general place to discuss MOD''ing Freelancer!

Post Fri Jun 27, 2003 1:27 pm

Ship DLL Library - how to instal more ships to the game - pr

To all people posting ships for FL.

This is about resource dll file with ship names and info cards, programers call it "library", not a ship collection !!!

Since there is a problem with adding mod on mod due to dll indexing, how about building a common DLL for all ships and shippacks posted here? Then, any ship mod can be installed over another, unless they add more then 3 ships to a same base.

Idea:
1) Every ship developer reserves dll range for his own use - could even here.
2) There is a dll source code at LR to download, so one gets it from LR, adds his ship names and infocards and repost it back.
3) He releases ship mod with this DLL.

Then every one can use this mod with already "Library compatible" ships, just copying new dll over old one in exe dir and instlling ship without a dll through FLMM.
Idea is taken from Creature Developer Network, where modders have to have unique ids for their objects and reserve them first on the forum.

Implementation:
1) Lets call it shiplib.dll Someone from LR stuff should handle changes in it.
2) every ship takes 5 continous numbers
x - IDS_name
x+1 - IDS_Info
x+2 - IDS_Info1
x+3 - IDS_Info2, not really needed, could use 66608
x+4 - IDS_Info3
------
x+5 - name of the next ship.
3) We start with DLL range 30000-60000, to allow easy dll integration with other mods, that usually uses very low or very high numbers from namespace.
4) Each ship begins at /5 boundary, so engines and other possible additions, ie 30000, 30005, 30010 and so.
5) Use 'sectionadd ' and not 'sectionreplace' methods to add a ship to the base to avoid FLMM conflicts.

For already released ships and ship packs, if authors contribute to the project and chose their range, they will have to renumber xml scripts only and 5) if applies, and posts "ship library compatible" updates to LR.
This way every one can combine different ship mods in one game for his own.
No more Massive Addons needed to have more ships.

If you think this idea is good, ask your most liked ship author to contribute.

Idea applies to all mods, but lets start with something simple.

Current project status -Range 30000-60000 free to use.

Tygrys

Edited by - Tygrys on 28-06-2003 02:18:35

Edited by - Tygrys on 28-06-2003 02:29:08

Post Fri Jun 27, 2003 2:45 pm

Very good idea - there's no sense in every modder reinventing the wheel when they don't have to. In fact, there are probably several files which could become modding templates.

Post Fri Jun 27, 2003 5:16 pm

Sounds good on paper but in practice its not so good.

In practice it sounds like yet another ship mod. A reinvention of a very old wheel. Actually the idea reminds me of your own mod. Same principle behind behind.

Im not against helping mod makers as many people here know from the pages upon pages of info ive given out in these forums and via email. However I feel its important that mod makers make the effort early on to learn the basics. This idea would provide them with the basics and so the would not learn anything.

It would be death of a great modding scene if it takes off.

Once a mod maker knows the basics, then giving the code and the other stuff is simply a time saving excerise and im fine with that. But Noobs must learn that there is no substitute for doing the research them selves.

Giskard

Post Fri Jun 27, 2003 10:32 pm

Giscard,

With full respect I don't agree with you. This one is not for modders, it is for people using mods. What is bad in the Idea of having DLL with all single released ship names in one? I'm not suggesting sharing textures or code. Just names. Many today ship dll's are "Early Porsche" or SW compatible. But every one is different.
That way you can Instal ie. Porshe ships and then Voyager, and then Kurgan's and all will work with no problem. Otherwise you have to uninstall one to try another, or reindex mods, or build your own DLL like I do with FMA. Since I had many trouble with that, just thought: why user cannot have that all by himself. He choose ships he want to play, install them through FLMM and have fun. Today this is not that simple.
The idea behind behind - yes, I've made FMA because I wanted rich universe for me to play. I found trouble using mod on mod when making that. I thought that people can have this (at least with ships) if only names are unique and authors will spent their 5 minutes to do that. And player can make his own choice what to get to his game. This means the FREEDOM OF CHOICE what to play and how. Tell me how this could be bad? And I don't mean derivative works on ships made by anyone. Just player can have them together with minimum effort.
FMA (and HU also) is only a half step in this - people HAVE to play what you put in HU or I glued in FMA. Why not give them a choice to build their own configuration? For modders to make 100GB mods? You are affraid then they'll don't need modders no more? I think not.
The only thought I have here is that you will loose controll a bit on how people will compose their game. But since I'd like this idea for ships only, there should be no problem with general mods like HU and other big complete works. I don't want to constantly update FMA with new works, I have no place for ships in bases, have to add some new sytems for it .
Just want people to do this by themselves. With your and other authors little help.
Tell me where I am wrong. I think like a player I am, not a modder. Oh, maybe a I'm a gluer sometimes

Tygrys

Post Sat Jun 28, 2003 6:36 pm

Tygrys

I know your hearts in the place here and I know you mean well by this but there are other considerations too.

For example.

Take Porches Ships, he designs them with near battleship stats and these stats have to be put into the info card. Then you add my ships to it which are more in line with existing ships and suddenly you have 2 Heavy fighters that should be an equal match but they are not. In short you have a very unballanced game.

Now in porches mods the ships are all ballanced against each other so they work in his mod, as are mine in HU but mine are not ballanced against porches. I only have 1 fighter in my mod that comes anywhere near a lot of porches ships stats and thats the Thunderbolt.

Now porches way is the right way for him and his fans and my way is the right way for me and my fans. Personal choices we both make, but the two could not be in the same universe and keep the game ballanced without forcing both sides to meet somewhere in the middle. Im sure you had to do some editing to ballance out my ships against others in your mod Tygrys so you should understand my point here.

Sorry Tygrys, I know what your trying to do and its a Noble idea but I just dont see how it can be anything but yet another new ship mod only this time thousands of mod makers will have to try and work together to make it.

Its a nightmare waiting to happen for mod makers. Your brave to even consider it.

BTW, feel free to add my models to your project if you want, I may not agree but i wont do anything to prevent you from trying to make it happen. I wont the have the time to submit info cards though but i can make sure you your notified of changes and additions.

On another note.
Whilst you here, here is a new ship that will appear in HUv7.
http://www.respawn.co.uk/invboard/index ... =797&st=90

Im seriously considering reskinning the Soulstealer too. So be sure to check if the textures have changed on that ship in Version 7 or ask me when i release it.

Actually I think i had better announce the chances for the other mod makers that use my ships. Keep forgetting to do that.

Giskard

Post Sat Jun 28, 2003 8:04 pm

I like this idea. But i have concerns about how to implement it.

Giskard, you have said to Tygris his is welcome to use your ships in FMA which will take about 2 minutes to do apart from the messing around with .dlls. Most FL players can probably patch in the code for a ship to the .inis but could be stumped by the infocards. If its was simpy a case of downloading the latest .dll from here and replacing it things would be much simpler.

Extending this idea to shiparch and possibly even goods.ini would be the logical conclusion, so to add any ship to any mod you would just make sure you had the latest goods, shiparchand .dlls, dl the mod (in FLMM format minus the script for adding shiparch, goods and market entries) install then manually add it to a base. A utility that would scan in the ships from goods.ini and offer a pull down ship and base menu to add any ship to any base would be ideal .

I understand what you mean about different ships having to be tweaked for different mods but i think this project would mainly benefit players rather than mod makers. You (Giskard) could still add Porsches star wars ships, tweak them and update the infocards. You would then reserves ids_ names for the HU versions in the same way you would a new ship. You could even stick the modified ships on TLR as Porshes Star Wars Ship Pack (remixed by GIskard ). That way HU would still use the public .dlls. If there was a common shiparch.ini file you could even add the HU version to that and people could decide for themselves what version they wanted to see in any mod. I know some mods are adding other things to goods.ini so people would either have to be willing to add these things to the public version or a separate .ini could be set up exclusively for public ships.

To get around the practicalities of common .dlls a web page would probably be needed. It would accept ids_names as text and ids_infos as XML (copied and pasted or uploaded as a file), add them to the common .dll and give you your ids_ numbers. That way no gaps would happen or fights over who reserved what numbers, everything would be automatic and the page would always contain the latest .dll. Actually extending this to shiparch and goods.ini would be sensible to ensure these files are up to date.

Basically i think the situation at the moment, where if people like a particular mod they are stuck with the ships that are in it, is stupid considering there is theoreticall nothing to stop a FLShipManager program running alongside FLMM. People are also starting to complain about there being too many new ships in some mods now and this situation will only get worse as more ships are designed. While i could code something to add bits to the .inis my knowledge of .dll editing is limited to ResHacker, but if someone will write/modify a prog to accept command line arguments to add ids_name/info entries to specific table numbers i would happily write and host a webpage to do the rest. The latest .dll and shiparch from FMA would be an ideal starting point for this as it already contains most ships

Hats of to Tygrs for getting the ball rolling on this one, hopefully in a few weeks we will all be able to use any ship in any mod.

Post Sat Jun 28, 2003 10:08 pm

I think there is a simple idea, but looks like only few people like it.

What it requires people to do:
For ship maker:
1)Reserve ids, lets say, 200 for the start, its worth 40 ships.
2)Renumber the script. (5 mins for Porsche's pack 4 if do by hand)
3)Take DLL, add your data, post dll back.
Every new ship: Number in your own range, do the 3).

For player:
Porsche can release ship pack 5 (waiting for it), but he can also release new ship with compatible DLL and you just install over pack 4. Less downolad size, time and used HD space.

That will be no "next ship mod", like Giskard says, just ship install compatibility. Sure, they will be not balanced (you have Rebalance for this ). Sure, it can go to the same base, and ship as 4-th will not be visible. But will not hang the game. And give you more ships to try, you will not have to uninstall your loved ones to test a new one. This will do good for the players AND to the authors, their work can be longer in the game that way.

The other aspect of balancing ships: Many players can use a text editor to rebalance a ship. Few players can compile a DLL. Let's do it for them

If I'm wrong or you think different, tell me that. If this idea is bad or somehow hard to implement, I'll no longer argue for it. Just thought we can do here what was done elsewere (in Creatures Developers Network) for our own good.

You want no good - your choice.

Tygrys, confused a little.

Post Sat Jun 28, 2003 10:27 pm

Redeye,

I'll not extend that idea to the shiparch and further. I vote for scripted mods, not file replacing ones. And (what I think Giskard is little affraid of) don't build another big ship mod. I do not mean it either. There are enough 20 GB downloads on LR and will be more . Let every author have its own, exclusive or shareabe shipyard. Let us players have a possibility to use them together with no problem. By our choice.

Tygrys

Post Sat Jun 28, 2003 10:46 pm

the idea isn't that bad, but i think to make it work you would need a person (or a handfull that coordinate themselves) that make the dll (wich would introduce a point giskard brought up: the shipmakers/modders wouldn't do the .dlls anymore, and new guys wouldn't learn it anymore (though i personally don't see this as a problem)).
Every modder would send the infocard texts to the dll-person, who would then put it into the .dll, and return the infocard numbers to the modeller. then the dll-person uploads the common dll.

the problem with the original idea is, that a) the poor staff of TLR would have to update the file on the server nearly every minute, or else i would download the file, and Porsche would, and we then submit our dlls to TLR, each without the others entry. And the TLR staff would have to either send one of us a note to redo the dll based on the other persons version, or they'd have to fix it themselves.

but those are just my 2 cents

Post Sun Jun 29, 2003 1:12 am

I would understand if people didnt want to extend things to shiparch and goods.ini but at the moment FLMM wont coinstall two mods that edit the same files anyway. So even having a shared .dll would still mean people had to carry out the scripts on their own. Although a siple utility to add/remove bits of script exclusively for ship wouldnt be much of a problem.

I do feel the only sensible way to get around the practical issue (TLR having to update the file constantly, conflicts over numbers etc) would be a dedicated webpage to automatically add ids_ bits and update the file. That way zero delay between the adding of ids_'s and availability for download. You add your ids_ to the common .dll download and test. If it was done manually at all it is only a matter of time before two people d/l the common .dll at the same time, both add bits and upload. Someones entries are gonna get missed out. Then it will be flaming on the forums 'you overwrote my entries!!' 'your ship has no info!!'... Automatic is the way to go.

While i think finding a way of setting up such a website and writing the utility to add the entries would be a problem, it could easily be overcome. Your main problem is getting everyone on board. I wouldnt worry too much about the low number of replies to this, posts are easily overlook especially if you are absorbed in making a mod . I have already said i would agree to this if i think it is practical. Unfortunately i am merely a pawn in the game () so you have got work ahead to convince the big boys. If it happens i've got the webspace for it.

Post Sun Jun 29, 2003 2:04 am

Well i know for a fact theres a demand for something like this. My email box tells me that. However, the sort of user who would need it is the worst type of user get a request for help from. No detail at all just "this doesnt work" and thats it usually.

See my "ARGH Some Noobs" thread for an example of what im talking about.

Drives me nuts.

Personally, id not want to deal with more of that.

HU could never be compitable with this idea anyway if TY was thinking of all modders using these dlls. My mods already using 3 dlls and i found adding a forth just creates problems. My dlls have a mix of stuff added them, misc stuff gets added to what ever dll i think best matches it though the rest of the data is better organised. Removing the ships and moving the other stuff would be a HUGE job. Where talking a complete rebuild of HU from the ground up. Its ok if your only making a ship mod my HU is not just a ship mod. Ships are easy to do and easy to add, systems, news, bases and other things are much much harder.

Giskard

Post Sun Jun 29, 2003 5:04 am

I appreciate it would be alot of trouble to rip out your ship entries to contribute to a common .dll and i know from other posts that you have been burned by people stealing your work before so i understand your coolness to this idea.

However you have said Tygrys is free to use your models, so he will have to sort out the .dlls anyway. If this project was to go ahead the FMA .dll would have the infocards for your ships it would be a simple find and replace job to sort out the .inis after that.

While this might contribute to clueless noobs having an easier time (no one wants that ) it would also help out mod makers in general. Your emphasis with HU has always been new content and you have said you dont mind people using your ships but not the things you consider to made HU unique. There are probably plenty of people that like the content of HU but would love to fly their favourite ship in it. Even if you did include every ship made in HU (which i feel would ruin the feel of it anyway) people would start complaining there were too many ships in it. If this got implemented there is nothing to stop the common .dll having entries for your ships (entered by Tygrys or anyone willing to help) to allow them to be added to other mods but your HU ones staying the same. Even if it involved one of the original .dlls bcoming 'sacred' for ship adding content surely it would be worth the trouble of moving entries out of that .dll for a modular ship system.

It is possible this idea has come too late tho, you are maybe right, it could involve to much rewriting of old code. It would be a shame tho 'cause with the ship choices remobed it would really put more emphasis on modding content.

Post Sun Jun 29, 2003 11:54 am

The FLMM, especially 1.2 allows scripted mods to install one on another, despite warnings it gives.

About common DLL upgrading:
This is a copy-paste job. I decomplile dll to RC, paste text contents to it,
compile again. Takes up to 5 minutes if have source in text.
And there is something like "Version info" resource, which tells what version dll is. Since everyone uses his own reserved area in it, there will be no problem with overlaping content. The case thet 2 pepole do upgrade at the same time is very likely not happen, (look at the frequency of new models posting and that 5 mins to upgrade DLL) and every author sends a DLL with his ships, so his pack will always work good with erlier ones. And if developers will have ftp site with download/upload access to the DLL, this one will be of no problem at all.

And Giskard, you are right with problems with renumbering HU, with this 3 DLL's you have made trouble to yourself with this idea. And, as I mentioned before, this one is not for big mods like HU, they are to be used as a whole, they have an idea to be as they are, and adding something to them can ruin authors balance and fun from gaming. I mean ships ONLY.
I do have all ships used in FMA renumbered, but not with this rule, so I'll have to do it again. And I don't want to tell anybody: Now your ships are from 34500 to 34700, please CHANGE YOUR OWN MOD to be compatible with me! Never!
But, if one reserves a range, I can do the job for himself, since already has that in my script. But, on the other hand, I think that author should do this by himself it is HIS mod and no one should mess with it, even for such a noble, excelent, fantastic, outstanding, brilant, genius idea like the Ship DLL Library Project is.

Tygrys


Edited by - Tygrys on 29-06-2003 12:57:54

Post Sun Jun 29, 2003 8:42 pm

Edited so not to offend Tygrys any further.

After hearing Tygrys side of the story I accept the presence of the files I have not given permission to use was an over sight on his part and not a delibrate attempt to rip me off.

The files where disabled and what he had to say is backed up by my own records concerning release dates.

I the hope others read this, I have given mod makers a nearly a month to remove any old work they may have taken that I didnt want used. I am now looking for mod makers who continue to rip off HU. Everything in HU except for the new systems can be used by others, how ever the systems are for HU and HU alone. You can use own judgement as to how suitable some material is without those systems. I think the parts that become useless will make them selves known as a result of this. If i find the HU systems in anybodys mod I will kick off as i have here.

Anybody taking the HU files from Tygrys mod or anybody elses mod will find I make no distinction between whos mod you ripped them from. HU systems are off limits. Period.

Tygrys made a mistake and I overreacted but even redundunant HU systems in mods can be copied by others and they wont have the benefit of reading the HU doc explaining what they can or cannot take. So I ask all mod makers to remove Newmars, Hyperspace and Battleshiprow from their mods now. The rest I dont care about.

Giskard

Edited by - giskard on 30-06-2003 18:57:31

Post Mon Jun 30, 2003 12:27 am

Giskard, with full respect.

Your systems have been cut of from FMA before first release, after we talked about it. Since I used FMA to play before by my own (and have HU there for private use only), some files might have been left in the release data. It is hard to find what to delete from release, after month of playing it. There is ABSOLUTLY NO WAY to access any of your systems from FMA.
I've respected what you've told me about it and agreed with that.
I'm sorry and sad, because the man I respect think so low of me. You haven't even try to ask me in private about that issue . I understand you got angry thinking I betreyed our agreement. No more to say, sad.

T.

Return to Freelancer General Editing Forum