Hack request - bypassing exclusion zone exception
-
When entering a system, Freelancer looks at the system’s ini to determine which nebula/asteroid ini file belongs to which zone. These nebula/asteroid field ini files also define the exclusion zones within that particular field. Now, if no such exclusion zones exist in the system, FL will crash, being unable to find it. Technically, this pretty much disallows reusing any asteroid field/nebula ini with exclusion zones on the inside.
Of course, removing the exclusion zones entry from the ini file manually, then saving as a new file and using that solves the problem, but as I am working on something different, I can’t really do this. My alternative is going through every file manually, removing these entries.
My question is if it is possible to evade this crash somehow, making so that if the exclusion zones mentioned in the field ini exist in the system, they will be used just normally, but if they are not found in the system, just bypass this exception, render the systems without the exclusion zones, and most importantly, not crash to desktop?
-
Did you ever hear about Freelancer Explorer? Look for it in the downloads here.
This is a tool to make systems. when you create with it a zone (asteroids/nebula) it copies the files of the nebula you reuse and automatically deletes the exclusion entry. -
but such a hack would make lots of mods less hard disc space consuming. ofc it would be best, if the hack did not only prevent game crash but also prevent any issue recognition. lots of field files we see in mods could either be combined or even just deleted while systems would refer to original files and exclusion fields with equal names were in the system wherever needed. unfortunately this is useless, if you have more exclusions to a zone in your mod system field than in the analogous vanilla field file.
-
No, the best would be an optional parameter at the end of the exclusion definition in the nebula or asteroid file that defines the system the zone is defined in; these exclusions would therefore be ignored outside of that system.
Of course, I’d say that since this isn’t a new feature, merely a streamlining from the modder’s side, it’s not as important as other things.
-
Actually, I have done some experimental work on a tool that would become something like a random systems generator. So far I have had good success, systems (and their connections) are built automatically, and their entities, like planets, suns, asteroids, asteroid fields and nebulae rely on a list of the vanilla archetypes.
This is where my problem came in with exclusion zones. I either go for generating unique ini files for every single nebula/astfield zone, refurbish every single vanilla file so that they can be used, or I request for a hack and go for what requires the least post-processing from the future user: just referencing and linking to the original ini files. And of course I know FLExplorer, I still find use of it to check how the generated systems look.
-
Unfortunately, it does not work. The crash still happens at the same point, exactly inbetween the two hyperspace sequences when jumping systems.
I have verified that it is the nebula exclusion zone causing it by removing/re-adding the nebula and the exclusion entry in the corresponding ini file as well.
Thanks for giving it a shot, though. I understand this is probably far more complicated than the other feature requests; and I tend to agree with FF, it is also less useful than turret view turns. -
Okay, give these a try. If it still doesn’t work, I’m afraid you’re out of luck (these patches fix where it reads “excludes_billboards” and “exclude_dynamic_asteroids”).
common.dll, v1.1 044F27 85 C0 74 CB FE 40 08 EB C6 044F99 85 C0 74 4C 8B F0 8B 0E 8B 11 FF 52 18 48 74 03 48 05BE63 85 C0 74 03 8B 40 FC C3
-
BBalazs wrote:
Actually, I have done some experimental work on a tool that would become something like a random systems generator. So far I have had good success, systems (and their connections) are built automatically, and their entities, like planets, suns, asteroids, asteroid fields and nebulae rely on a list of the vanilla archetypes.That sounds interesting? Does it generate full systems? Do they look good?
–
Why dont you just use the exclusion zone nicknames from the nebula file? If they are not enought, thats of course bad, but this hack wouldn’t change that. But if the nebula file has more zones then you could either create some very small, not really visible exclusion zones somewhere in the nebula, or you create some larger, visible zones without anything inside, since every nebula could have some less dense places.
-
The thing works, it generates the systems (1-12 at a time) and builds jumphole connections between them. The systems use all vanilla FL entries for planets, music, starsphere, nebulas/asteroids/etc.
However, there is still a lot to be done and the systems themselves don’t really look too nice at the moment. But it’s more just a question of calibration.
I don’t think I will be going for creating exclusion zones with existing nicknames, that will just mess things up. I guess I’ll just refurbish all the vanilla files.
Don’t really expect anything this summer, but as I have some other small utilities as well, I will be giving all of them away in one go. These have already been released to the public, but they were lost here and there as they aren’t really anything special, they more like just help you do specific tasks. For example, the only real use I can see for this generator is the possibility for regular “exploration” events on servers - after all, exploration is one of the most important things in FL.
-
I told you adoxa was working for DA! Wouldn’t believe me though, would you!
He’s just waiting for you to ask, looks it up on his Psion Organiser (that’s all they had in those days)! and confounds you by putting the answer up within seconds, pretending he’s been up all night working on it!
ROFL!
Nice one again, Jason!
-
Just add an asteroid field or nebula to a system with an exclusion zone that doesn’t exist in the system’s ini. You should get random or continuous crashes when in the system, depends on the computer…