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

Making Path ini files?

The general place to discuss MOD''ing Freelancer!

Post Tue Sep 18, 2007 6:14 am

I've used FL scan quite a few times to regenerate and replace old path files.
It appears to generate all the necessary path files for a mod where all the paths have been either opened, unlocked or replaced.
However, here's the glitch: Even after regenerating all new path files (which replaced old ones) I still cannot map to another system without getting a CTD.
Prior to this (in the vanilla version) you could map to any opened/unexplored system, set a waypoint to some radom spot, and the path generator would work fine)

So, my first question:
Is the FLScan finicky as to which SDK is being used?
Second Question:
Any ideas why I'm getting a CTD after installing new path files generated by the FLScan?

Post Tue Sep 18, 2007 7:28 am

It's probably something like a missing "identity" path (Path = li01, li01, li01) or something like that. You might be able to tell by examining the systems_shortest_path.ini file. It could be that systems_shortest_path.ini, shortest_legal_path.ini, and shortest_illegal_path.ini are not in proper agreement. Maybe the order of the information is important. You could run a diff on the vanilla vs. FLScan-generated ini files, and analyze the differences.

It doesn't sound like a problem with SDK. Are you having the problem when you add a new system, or is it simply when you overwrite Vanilla's systems_shortest_path.ini with the information generated by FLScan from an otherwise unmodified universe?

Just to clarify: there's a couple search procedures going on at once.

First, there's the intra-system search, which finds the shortest path between two points within a single system. The systems_shortest_path.ini doesn't have anything to do with this.

Then there's the inter-system search, which finds the shortest path between two different star-systems. This is what the systems_shortest_path.ini describes.

I'd need to look into what exactly the legal/illegal path files do, but here's my theory what's going on there: in vanilla, the path chosen by the game is often longer than strictly necessary because it's using the shortest *legal* path (legal by Ageira's definition: jump-holes are illegal), and sometimes it says "no best path" for the same reason. But if you're in one of the SP missions, it never fails: it will allow illegal paths (that is, traversing jump-holes) when necessary.

Post Tue Sep 18, 2007 10:16 am

That's the quandry. The FLScan is generating all the path files for me..which it seems to work fine. In my mod, I've used this tool to re-generate all the path files, and as such it seems to work fine. That's where I'm stumped and wondering what could FLScan be possibly missing.

I've used it to create/generate all the paths, including shortest, legal and illegal paths which I've used to replace the existing "old path files" .
I can easily map from one place to another within any system. It's just from one system to any other (including neighboring systems) where I'm getting this CTD.

Post Tue Sep 18, 2007 12:55 pm

Yes this is the same problem as I am having. I have only about 10 additional systems only in my mod so it's not a big digression.

Since other modders don't have the crashes it must be our system ini files.

I don't know, is FL Scan considering all jumpholes as illegal and all jumpgates as legal? I hope it is reading the "reputation = " line for each but that is not clear.

It is most likely some problems in our system ini files that's causing FL Scan to produce incorrect pathing. I would like to know what is parsed from the system ini files, is this info available anywhere? Accushot is still not responding to my emails.

Hmmmm.... I've just taken a quick look at a couple of my system files and I think I see a problem - the jumpholes have no "reputation =" line, which is OK, but - there is no "msg_id_prefix = " line in my new ones! Thank you yet again FL Explorer! I wish I hadn't used it at all, I'm spending so much time fixing problems caused by it and it didnt produce one complete working system so far, just the bones and then I need to fix every one of them manually.

(Louva, can you fix some of these "known" problems please? When it does add a prefix it usually puts in the new system or base name, which does not exist in the voices, and causes reams of error messages - it's becoming painful fixing so much by hand, which is a shame as it is such a useful utility if it worked properly. And allowing it to generate new IDS names results in duplicate entries in my dll files for each time I edit a system. Yet sometimes it CAN find existing dll entries and uses them. Also it crashes when I try to edit or place any multi-module stations. I had no response by emailing you 3-4 times.)

Back to our subject - This may not be THE problem for FL Scan, but it won't be helping matters! I need to go fix those now.

Keep it up guys, we will get there between us. I need to scrutinise all of my system ini files and jumpholes and jumpgates again, I think you should do the same.

Roleplay: - the art of self-deceipt!

Post Tue Sep 18, 2007 1:45 pm

Thanks Breslin, after checking out that djin... yeah, that one - I thought "screw that, BFS" instead.

Can refine it later on to be honest.

Thing that's come back to me - without systems_shortest_path.ini file, you can't get anywhere... but you don't have to have the others ammended to work from what I remember.
Furthermore, what defines illegal? If it's reputation, who's? Pirate factions (as defined by fc in the game?). If you make jumpgates reputation to pirate, does this mean normal factions don't take it anymore? Do pirates suddenly use them? Does reputation have that much impact?

Spend so little time, only just started to look at fixing up my current attempts... and still working on the bug. Not even hitting search yet As i said, could take a while - but i'll get back to you

(no, no real experience with searches at all tbh, not anything non-trivial anyway - seems like a good time to get some learning in I have got a good book on algorithms though, will break it out in due course).

Edited by - Chips on 9/18/2007 2:47:16 PM

*edit 2* Yay, fixed up bug I had and it appears to read all the paths for jumpholes / jumpgates correctly. Each system is an object, each system has a collection of illegal/legal links to other system objects. At first glance, references seem to match jumpholes/jumpgates, although the code is very messy as I cobbled it together the other night in around 30 minutes! May clean it up and refine it eventually, but on with the search part... tomorrow, if there's time around Heroes

Edited by - Chips on 9/18/2007 3:43:28 PM

Edited by - Chips on 9/18/2007 4:22:39 PM

Post Tue Sep 18, 2007 4:19 pm

Chips,
if you can get this "fix" ... all I can possibly say is;
If you lived in Egypt a couple thousand years ago..you would have been raised
to living-god status.

Post Tue Sep 18, 2007 5:10 pm

Ok I analyzed the three path.ini files, and I can explain what they do. It's slightly different than I thought:

"Legal" means "using jump-gates only, and not using jump-holes."

"Illegal" means "using jump-holes only, and not using jump-gates."

As for systems_shortest_path.ini: this chart allows both jump-gates and jump-holes. It will require some further analysis to determine whether and how it favors one over the other. A sample of questions to ask: does it favor legality over shortness, using jump-holes only as a final measure; if it finds no "legal" path does it first revert to an available illegal path, and failing that perform a new unrestricted search; or does it perform a new fewest-jumpholes search?

The "legal" version is used when you're setting waypoints in free play. The "system shortest path" version is used when you're receiving mission-waypoints. The "illegal" version is probably only used by wandering NPC pirates, so they can avoid jump-gates.

==

Rankor and StarTrader:

These path charts don't have anything to do with "within the system" travel. They just figure out paths between systems. (Yes, two entirely separate processes.)

Shortest-path within a system is figured out internally by the engine: there's no data chart to process ahead of time; there's no .ini file for that.

Legal/illegal has nothing to do with reputation of course: these charts represent static compile-time data, and player-reputation varies at runtime. The reputation assignment for jump-gates is simply to indicate whether the jump-gate turns red and its turrets fire at you. (In this, it's just like the reputation assignment for trade-lane rings.)

==

Chips:

Sounds like you got a handle on it. I think we need some further analysis to see what Vanilla does in odd cases, where there are competing shortest paths. For instance: 1) does the shortest-path compiler consider intra-system distance? If so, is this based on complex tradelane-connection or mere distance? 2) how does the intra-system mechanism deal with odd cases. (This assumes that Vanilla presents enough odd cases to make a study of it.) And a 3rd: figure out what odd cases (if any) make the engine barf, so we can advise about system design.


Edited by - breslin on 9/18/2007 6:46:13 PM

Post Tue Sep 18, 2007 5:58 pm


Since other modders don't have the crashes it must be our system ini files.


Well, I probably have one thing different than most of you. When you add a new system with FL Explorer, it leaves out a whole slew of stuff as you progress to a finished system. But the initial thing it leaves out is this line (which I added in manually to all 108 of my custom systems). Could this be part of the search engine that might be causing your crashes?

[SystemInfo
name = OR01 <----------------------this line
space_color = 0, 0, 0
local_faction = li_p_grp

Post Tue Sep 18, 2007 7:09 pm

Darn!!!

Louva, you're in DEEP SH*T with me, pal!!

hehehheh. Well done DwnUnder, many thanks.

I hadn't looked at the system headers at all. At least it's not too many in my mod.

When I make scratch systems I copy an existing original system so I didn't notice this problem with FL Explorer - which I will NOT be using again unless Lova and his team can fix the bl***y thing.

Cheers pal, I'll include that in my scrutinise routine!

Roleplay: - the art of self-deceipt!

Post Tue Sep 18, 2007 8:09 pm

DwnUndr;
I'll take a look at that and get back when I find out.

Post Tue Sep 18, 2007 11:34 pm

Hey now, heh. Don't rag on FL Explorer! I can't imagine doing everything without it. It just has a few things that need to be tweaked afterwards. I will gladly do a few tweaks to let it place my tradelanes at all angles and rapidly re-arrange 5 bases and a few suns in a system, lol.

Hopefully my suggestion helps, but it may be a deeper problem as Chips and others have found out. That name= line may just be a placeholder for humans, not a search engine. Just trying to help solve the mystery.

Post Wed Sep 19, 2007 5:33 am

You''re probably right on both counts. I found that Br02 in plain FL doesn't have a name = line too.

Still, we'll keep on hunting, I need to get the paths working.

Post Wed Sep 19, 2007 10:55 am

Two more things...you mentioned in a previous post that you had removed the ST systems. My testing says they must exist, even in a TC.

Also, have you tried all the popular scanners to hunt for connection errors? Try using FL INI Analyzer, FL Error Checker and a full FL Scan. Your console and flspew/spit could potentially reveal something too, but only if you spawned in a system near an error.

Standby and I will post a cute little jpg from my forums...
Here ya go..




Edited by - DwnUndr on 9/19/2007 12:23:25 PM

Edited by - DwnUndr on 9/19/2007 12:25:15 PM

Post Wed Sep 19, 2007 11:21 am

Here some things, what I tested beside the tools, named by DwnUndr:
- As mentioned before, I checked the top line of every system-file for the name
e.g. name = Bw07 and additional I changed the spelling to first char uppercase, next lower case.
(Dont know, if this helps, but the original files follow this rule )
- I checked every connection in the system-files, if it leads to a correct destination
and checked the spelling, that every reference is absolut equal. Made an excel-routine for that.
- Perhaps interesting:
We made a new system and this had a connection to New York.
After adding it, we got crashes, when you wanted to map a way from Colorado to somewhere else, e.g. Cambridge.
I tried a lot, but the only solution was to delete this new connection.

Ok, without the knowledge of the FL-code, its often a search in the darkness, hm ?

Post Wed Sep 19, 2007 3:03 pm

It's an old old... erm, rumour, that you cannot actually add anymore connections to new york, as it causes crashes. Others say it's to do with a finite amount of objects that the system could hold (that was Giskard circa July 2003 from what I remember) - have to admit, never tried.

Return to Freelancer General Editing Forum