OMG. True OpenSP has been achieved.
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