Freelancer Path Generator
-
Just out of curiosity, I was under the impression that FL could generate the path files all by itself? What exactly would be the advantage/additional features that your software gives, Chips?
-
I know that. I was just surprised to see a release of this tool now that the knowledge of FL being able to regenerate paths by itself being relatively widespread. I felt like it obsoleted the program, regardless of how purposeful it has been.
-
Igiss wrote:
We will try this tool too, I had to use one from FLScan before and it has drawbacks (most importantly, cannot create shortest_legal_path correctly).Is there a limit for systems and paths that it can process?
Nope, never tested it to the “extreme” - but with the algorithm it shouldn’t take much memory - and seeing as it is Java, there won’t be “leaks” either as it’ll “Garbage collect” anything de-referenced.
However, if you don’t get errors with this tool - then feel free to delete all the path files and just start FLServer - it’ll generate them for you as well
Just that this tool does a lil bit of error checking as it goes.
edit I didn’t see the subsequent posts - thank you for the kind words Opr8r
FriendlyFire wrote:
I know that. I was just surprised to see a release of this tool now that the knowledge of FL being able to regenerate paths by itself being relatively widespread. I felt like it obsoleted the program, regardless of how purposeful it has been.The only advantage it offers is error checking - FL doesn’t check whether the referenced jump object (or system afaik) exists. So this generates the paths - but also does a lil bit of error checking along the way.
Why have I bothered to update it? That’s very simple but difficult to explain. Think of it as “personal pride”, but without “pride” being forefront. Simply put, I didn’t want to leave a tool around that isn’t 100% functional and correct. If it would take a few days to fix, then I may have just removed it. As it is, it took a few minutes
p.s Just been looking at Evo once more. By christ, some of the stuff I did was plain ugly and un-necessary. So much “excess” code, could have been far neater
-
Well Chips, I believe it was at my request that you started this project, and so I reserve the right to say:-
-
We had nothing else to go on at the time except manual editing.
-
I was pulling my hair out.
-
I will continue to use it in preference to the auto-rebuild.
-
I think you’ve done a fab job of it.
-
I respect you for keeping the urge to complete it.
-
I admire you for finding the nooks and crannies and digging them into the light!
And my full apprecation and thanks.
Now - how do you feel about taking on my other request for a utility to dig out and check the material hashes in .mat files and compare them to what the .cmp file wants to find, looking for missing materials and duplicate material names so that we reduce problems of several ships using the same name accidentally?
That would be a great one too.
-
-
StarTrader wrote:
Well Chips, I believe it was at my request that you started this project, and so I reserve the right to say:--
We had nothing else to go on at the time except manual editing.
-
I was pulling my hair out.
-
I will continue to use it in preference to the auto-rebuild.
-
I think you’ve done a fab job of it.
-
I respect you for keeping the urge to complete it.
-
I admire you for finding the nooks and crannies and digging them into the light!
And my full apprecation and thanks.
Now - how do you feel about taking on my other request for a utility to dig out and check the material hashes in .mat files and compare them to what the .cmp file wants to find, looking for missing materials and duplicate material names so that we reduce problems of several ships using the same name accidentally?
That would be a great one too.
You’re too kind
I replied on that question though All I need to know is the encoding those files utilise. If I know how to “read” the file, I can then make the program
-
-
Thanks Chips, didn’t see you had replied on my other post.
I’ll take this up on that post then.
-
Ahh cool! Looking forward to seeing you on there! Hopefully you’ll enjoy it.
If you like what you see and wanna join the team, just let me or FriendlyFire know. I don’t know if you’ll have time for all that jazz, but I figured I toss the offer out there.
-
Just a small addition to say source code is back in (see first post).
Whilst the tool is entirely obsolete as FLServer will generate these files for you, the rudimentary source code will just show how I achieved what I did.
I am no pro programmer, this was cobbled together in how my mind designed and saw the thing. I am always open to comments about how I could improve aspects of coding, so please feel free to say what is not optimal, or just plain bad if you do look through and feel the urge to correct me (I honestly welcome it!).
I used Netbeans as my IDE, so if you also use netbeans, you’ll be able to see the GUI builder
-
It’s not at all obsolete Chips, yours considers locked jumpgates too and bypasses them.
And I’ve forgotten but there was something else too?
-
When you say FLServer does this for you, does that mean path files are not necessary in multiplayer but are necessary for single player?
-
Timmy51m wrote:
When you say FLServer does this for you, does that mean path files are not necessary in multiplayer but are necessary for single player?What i mean is that if you have no path files (i.e. delete them) and start FLServer…they are created.
I do not know whether FLServer generated path files obey locked gates, or generates paths for impossible jumps (i.e. the jumpgate in one system that is missing the corresponding jump object in the supposedly connected system) as I haven’t investigated.
-
So you do need accurate path files for singleplayer? Your tool is hardly obsolete if that’s a true statement.
-
Timmy51m wrote:
So you do need accurate path files for singleplayer? Your tool is hardly obsolete if that’s a true statement.Well, you do, yes. However, if you make a mod - then you would distribute the files with the mod - so players don’t need it. It’s a mod making tool basically.
If someone makes a mod and they’ve added systems though - they don’t need to download this and Java (although most PC’s have it installed anyway now), instead they can just run FLServer and let it generate the files for them and then copy them into their mod (i.e. Activate mod in FLMM, delete the shortest path files in the Freelancer Directory, then run FLServer, copy the files generated to desktop, deactivate mod, and then copy/paste the files over their mod files in FLMM).
Actually, that almost sounds like more work I’m happy if people do use it, and hope it is perfect in how it functions.
However, although path files were a major headache and I was lazy (to not want to create them by hand) - I made it after I finished modding - so it was simply because I enjoyed programming
It is actually very simple, you could remove 95% of the code as only a few lines really do the work… the rest is just to reassure users and make a nice usable interface
So the program itself is a little bloated, but meh -
Timmy51m wrote:
When you say FLServer does this for you, does that mean path files are not necessary in multiplayer but are necessary for single player?No, what it means is that if one or more of the path files are missing, FL Server will rebuild the missing one(s) when it starts up.
Chips and I didn’t know this, and my mod’s FL Server was crashing on startup so I couldn’t prove this, it was because I had more than 10 jumps in one system while it was trying to regenerate the path files.
Once I found the cause and reduced the jumps to 10, FL Server regenerated the path files. I tested by deleting them one by one and all at once and it regenerated all or just the missing ones.
It was yet another case where someone knew this but didn’t document or divulge it, and then someone else pointed us to it after I had gone through such a long troubleshooting episode.
Chips wrote this super utility, which takes into consideration locked jumpgates and badly-made jumps and lists them out and avoids them. Much better.
He was my contractor programmer at the time! rofl
-
I think Flak is protected!