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

OMG. True OpenSP has been achieved.

The general place to discuss MOD''ing Freelancer!

Post Sun Sep 04, 2005 11:47 pm

OMG. True OpenSP has been achieved.

GIANT EDIT

Guess what!

I have found an even better solution to everything involved with OpenSP in general!

1. It allows developers to do things such as make the Factions that currently love/hate one another ... to have different Reps!!! And custom Factions should work perfectly, if they're added to the file!

2. It gets rid of all of the Missions entirely! It doesn't just shove them off to one side, skip through them, or require a DLL hack that tells FL to go straight to Mission 13... it gets rid of the Missions!

3. It allows all Gates to be unlocked, period!

There are other things that can be done with this, but basically... I have solved OpenSP for good with this fix.

There's a catch, though- it requires changing a file that FLMM can't touch.

Therefore, I have sent the file to Matt Lieber and several other people, in the hopes of getting FLMM to allow users to change this file.

That's all I have to say right now, until I've heard back from the FL tool-coding community about this very, very exciting find. But you may be assured that I have tested this myself, and it works.


**************************************************************************************************
THE FOLLOWING IS NOW OBSOLETE

In case you missed the announcement, I just released an alternative to Xerx/Chip's OpenSP Lite. This basically makes use of a modified set of Mission scripts to allow players to explore the FL universe without having to jump through hoops for Juni. This is a very different approach to the problem of opening up the SP game than the mod that everybody's been using for so long- Xerx's DLL hack.

Before I get going in detail, I should stop and credit Chips and Xerx for making the various OpenSP mods in the first place. These are very useful tools for modders and FL players in general. What I'm doing here is a very different animal, but this first version of the concept is based almost entirely on Chip's XML script, with very minor modifications on my part. The rest of the work on the INIs was all done by me, of course.

***** DIFFERENCES BETWEEN THE TWO APPROACHES *****

Xerx's DLL hack basically tells Content.dll that the player is done with the SP campaign. This works just fine, but it has some inherent disadvantages:

1. It seems to cause odd problems with FL in general. I dunno why, but the DLL fix has always caused the occasional strange thing to happen- mainly small errors in Spew and other things that most players don't notice... and, occasionally, larger problems with graphics.

2. I am not sure exactly what Xerx did when he/she modified Content.dll, but it appears that the contents of the Missions folder are still getting loaded into memory with this approach. This means that massive TCs, like Free Worlds, or Warriors of the Sky, have had some really tough challenges divorcing themselves from the vast majority of FL's content.

Alternative OpenSp works entirely differently. Essentially, it consists of a bunch of emptied Mission scripts (which I will probably expand, at some later date, to include all of the Mission-related THNs as well). The very first script that is executed is M01A.ini. Its code has been re-written so that it gives the player the usual starting ship, plants the player on Manhatten (or wherever the XML script included has changed it to), gives the player a boosted initial bank balance, and then ... it ends, boosting the player to Level Two immediately.

Unlike Xerx's approach, no matter how much money you give the player, he/she will not gain another level until they have exceeded their starting net worth by the amount determined by another script! This is a very, very important distinction. Even more importantly, each time a player gains a level, he/she will actually gain two levels until a certain point is reached. This is because, where the other Missions are triggered, they basically complete instantly... which causes the player to gain another level.

************************************************************************************************

I have high hopes for this little project. It took awhile to become comfortable enough with FL modding in general to get my head around this problem, but I've solved the first part... and I'd like help from the FL modding community to develop the rest of this into a full-blown dev. kit. If you're not sure why this might be a big deal, keep reading

Basically, the reason why it's been so very, very hard to get rid of things we don't want to keep from the FL universe is that the Missions are called by the FL EXE at start, and these, in turn, refer to a bunch of Systems, Npcships, THNs, and other stuff.

This is why removing the NY System, for example, causes insta-CTD when you start FL. It's because the NY System is referred to in M01A, which in turn calls up the Mbases entry, etc.

Now, this isn't the only place where Li01 is being called- there are dependencies elsewhere in FL, such as the legal/illegal paths, etc. And things like Shiparch.ini entries are being called in multiple places, too.

But, as I've hopefully shown with the changes I made in the AI files in the XML Toolkit Mod, 1.2, we can remove a great deal of FL's dependencies without causing Horrible Things to happen. There are weird exceptions to this buried here and there, but I'm pretty sure that with some testing, we can get rid of about 95% of the INI code in FL and create a truely minimalist framework that could be used as the basis of new mods, which would be, in some ways, a new SDK.

Edited by - Argh on 9/5/2005 3:44:53 PM

Post Mon Sep 05, 2005 12:30 pm

Hey Argh,

Alt OpenSP seems to work fine. Haven't tested it with new factions yet but I guess they will be actively involved in the game action. If you build on classic (Xerx's) OpenSP, custom faction NPCs will not attack their supposed enemies; all they do is shoot back at the player when he attacks them. I was once told that this was due to how Xerx's OpenSP was setup, so I've good hope Alt OpenSP will solve this.

Some things that might be nice to have improved:

1. {importance level : low; just cosmetic} In the menu, you labelled an option "California" where it should be "Colorado"

2. {importance level : depends} The 'blocked out' factions are not in the Act_SetRep list in M01A.ini. People wanting to use those factions need to put them in here, I guess

2. {importance level : quite high!} Alt OpenSP stops FLScan from working! Not good!!

A question about the XML (feel free not to answer them, as I must confess I didn't try to find any documentation on this - to which thou mayest redirect me): why do the first two options (of question 1) have id="0" and id="1" added, and the other ones don't have id="2", id="3" etc.?

The possibilities of this options script (I guess this is Chips's) are great! It'seems like it's possible to also change one's starting rep according to where one starts, like having the Rheinland Cops and Military like you instead of the Liberty ones, if you start at New Berlin. (Of course most people have already been excited over this when Chips released OpenSP Lite, but I didn't catch that at the time )

Post Mon Sep 05, 2005 2:50 pm

WOOHOO! Thats espiecally good news for my mod team, as we are pretty much scraping everything in FL. We don't even have the normal planets anymore. I'm sure WoTS and Freeworlds will be excited as well. I hope you hear back soon!


FL:CE Mod Team Leader

Post Mon Sep 05, 2005 3:22 pm

This... is simply... beautiful.

However, I never had a problem with factions engaging each other using Xerxes openSP. They blow the snot out of each other, even with capital ships.

Nemo me impune lacessit.

Post Mon Sep 05, 2005 4:07 pm

With the current OpenSP, it is not possible to, say, have the Bounty Hunters attack the Liberty Police. Nor do custom Factions work correctly in SP- they are totally neutral to one another. Such is not the case in MP... which is why most major TC mods are MP-only (among many other things, that this new approach fixes).

What I've done with this new approach is to repair this problem entirely, by going around FL's loading process a bit. I'll talk more about it when/if I have heard more from the FL dev. community.

Post Mon Sep 05, 2005 4:47 pm

*BIG GRIN* Do you mean to tell me that I somehow did not do things the right way and got it to work then? I have my new factions set to the following, fc_c_grp and fc_ou_grp love each other, fc_hip_grp is nuetral to them, and all three hate and will attack on sight the fc_hic_grp. Regardless, your OpenSP is beautiful in how much more it opens the door for all of us! Can't thank you enough!

Nemo me impune lacessit.

Post Mon Sep 05, 2005 10:28 pm

What about FLScan not being able to complete its task? Am I the only one getting the following error?

An unhandled exception has occured in your application

There's a details button leading to a large error log, which is beyond my knowledge.

Maybe this error is triggered by the empty ini-files? (In the SDK the empty ini-files contain a ;blank file line, so these aren't really empty.) There isn't much else in Alt OpenSP that could trigger the error...

EDIT:

It works!! Adding the line

; blank file

to all the empty ini files in Alt OpenSP makes FLScan working again. It seems that FLScan simply cannot handle empty files.

This is not really an error of Alt OpenSP, but I suggest Argh corrects this in the next version (and don't forget that Colorado thing ) because FLScan's just too cool and too useful! We can't do without. (at least, I can't )


Edited by - Moonhead on 9/6/2005 1:45:37 AM

Post Tue Sep 06, 2005 12:54 am

I'll fix it up, no worries

But what I've got going on now ... is better. Basically, I finally found the file that controls most of FL's startup behaviors. More on this when I've gotten done talking to the developer community- FLMM needs to have a new function added to it in order to make this work in a nice, transparent way for players

Post Tue Sep 06, 2005 1:35 am

Sounds interesting Argh, but factions CAN be made to work with OpenSP no problem - Evo has it done for starters... although Open SP can be used to set the rep to show up instantly.

I edited the newplayer.fl file instead - add your faction into there, and then I once played about with this line as well:

[StoryInfo
Mission = Mission_01a
MissionNum = 1
delta_worth = -1

Which removed muchos de story.

I didn't pursue it past a cursory glance though... and sadly, I forget to actually discuss some of my random wanderings with others too - as one person did ask where it states what mission to start off with. AFAIK - this is the only reference that loads up the mission to start with.

Edited by - Chips on 9/6/2005 2:36:10 AM

Post Tue Sep 06, 2005 2:04 am

@Chips:

I tried doing things with Newplayer.fl, but it didn't seem to work quite right. I'm working with Restart.fl, and it's working perfectly- every time I hit New Game, boom! Everything's perfect.

Maybe I was doing something wrong with Newplayer.fl. I'll take another look- it was where I was first messing with this, and I forget why I abandoned it, so I probably was just not doing things right. If I can get this all working right using it instead of Restart.fl, then ... great! I can just re-tool your script yet another time, and have it modify that file...

The only "downside" to deleting the Missions reference in Restart.fl is that players never, ever gain Levels, no matter what. So, with whatever solution I go with here... I'm just going to put players at Level 38. That'll take care of all of the Mods where Level restrictions are still in place.

The reason why I've been messing about with all of this crap again is that I'm still wanting to build a "minimalist FL" implementation for developers to use, that contains just one of everything. Somebody asked for one again the other day, and I told him/her/it that it couldn't be done very easily, which of course tends to mean that if somebody's going to try, it's probably going to have to be me- other mod devs. just don't seem to like building technology projects like this.

It'd be soooo much easier for people to get into FL modding, for example, if new coders could just look at a given INI... and see documentation explaining what this references and dependencies, and how it can be used, instead of having to look at li_gun01_mark01 and somehow realise that THAT is the Liberty Justice (yes, that was my first big "aha" moment with all this modding stuff, like most people here I'm guessing).

People could use it to code TCs from scratch, with much greater efficiency of operation, lower error rates (other than errors they introduced themselves, of course) and greater flexibility. I've been seeking this solution ever since I got working on building Oceania for WOS, because it seems really ... dumb... to have to load up all of FL's default INI values (we're talking dozens of megabytes here) and parse them during the load of the game, if they aren't even being used, and to worry about them causing problems in the background.

Plus... if the Toolkit has taught me anything thus far, it's that even changing the size of ONE of the major INIs by seeking out ways to cut down on un-necessary data loads ... can make a very large difference in total game performance. This is because of the way that FL has to search through the INIs for things- it definately doesn't store all of the INIs in memory, and basically seems to do Nickname searches every time it needs to find something.

If you've never played the Toolkit in MP before, Chips, give 1.2 a try for a couple of minutes, and do a Mission. Just one. And see how the AI performs, compared to anything else out there- I can garantee that it's not the same as every other mod, and not because I made it shoot better than usual or something lame like that

Post Tue Sep 06, 2005 5:56 am

I say, go with Restart.fl, because it works and we know it works very well. Hopefully you will hear back from the dev community soon, and we can all start the construction of whatever dev kit we're gonna call this

Post Tue Sep 06, 2005 7:02 am

I thought restart.fl was actually newplayer.fl + initial_world.ini combined, and plonked into location when someone clicked "start new game".

Unfort FL has taken a rather limited backseat these days - I rarely look into new things anymore, I'll take a peek if I get time - but these days I no longer have that burning desire to work everything out etc.


Edited by - Chips on 9/6/2005 8:03:18 AM

Post Tue Sep 06, 2005 8:43 am

Argh , I don't know what this lastest idea will mean but I'd like to THANK YOU for the OpenSP mod. The Rebalance mod has had SP & OpenSP working partially for about 6 weeks now, but thanks to FLMM not letting us add Xerx's content.dll without replacing the original ( it didn't matter what we renamed the damned thing FLMM kept ignoring it) we always get error messages when we deactivated the mod.
Thanks to you ,Rebalance now has an OpenSp that is contained entirely in Xml script , people now have a choice of playing the story or not all in one mod.

Rebalance 3.5 Dev. Team
rebalance.blue-ion.net

Post Tue Sep 06, 2005 11:00 pm

@Chips:

I've figured out why I abandoned Newplayer.fl.

The reason is simple: Newplayer.fl and Restart.fl are identical, except for one little catch: Restart.fl is what the FL engine actually uses, except when there isn't a copy at the path named in the above posts. So... I could pass this out to people with instructions on how to delete Restart.fl... but I think I'm going to keep pecking at this problem and see if I can't find a better solution.

Maybe an INI tells FL where Restart.fl is located, and I can point it back to the FL data directory. If not... FLMM is going to have to include that directory for modders to tweak with, or I'll (gulp) have to make a BAT script and pass it out with the mod, and hope that doesn't cause problems with computer-illiterate users I haven't heard back from Matt about this yet, but I am hopeful that he'll take me seriously, and has time to add this to his devlist for the next (and probably final) version of FLMM- this fix could be a very big deal, indeed, and better than my current OpenSp, which... while it has some advantages over Xerx's fix, also comes with built-in disadvantages.

At any rate, when I get home today, I'll give some new solutions a look, and go from there. I don't want to release this "raw" until I'm convinced that it's all that can be done- I'd really, very strongly... prefer to have a FLMM-supported solution.

@Bejaymac:

NP... I made this thing mainly because I've decided to restart my hunt for the elusive "FL-less universe" again, which would allow us to totally rebuild the game from the ground up. Since I found this, I wanted to share it, of course. I think that I am getting much closer to that goal than I had previously imagined possible

Post Wed Sep 07, 2005 5:24 pm

And thus we approach a new era of modding...

Modding has become more and more availible to normal people, meanwhile more and more secrets have been unlocked.

Soon, once FLIMDE has been released, we will enter into a new age. An age of mods...

No seriously, we will. This is an exciting moment.

Return to Freelancer General Editing Forum