Freelancer Path Generator
-
Not quite sure I follow you there Op. Do you mean you’re manually going to the next system via nav map, plonking down an “add waypoint” and it’s basically not plotting it? or is it doing it wrong somehow? Or does it put down the waypoint but no other waypoints? Or it plots multiple waypoints but no connection / continuation with them?
just a single waypoint (in the other system)
but no path leading to that waypointAny chance you could say which system this was between please?
Plotting paths just fine and dandy between systems for me (1 hop included) so I’m unable to re-create this issue.
To solve it I need to re-create it to work out what is wrong. Right now there’s no details which are helping me,so anything related to it (starting/ending systems, mod etc) would be beneficial at this point.Cheers.
-
As I said earlier my trial worked fine, plotted paths to next system & back and also from a previously unvisited system far away back to where I was prior (moved my character using Ioncross Server Op & plotted my way back to charted systems) without problems.
So it’s unlikely that it would work in this simple one-system hop for one person and not another.
Could it be you have the first version Op?
-
It would suggest the issue lies in the legal path? Any chance you could check the file generated to see if there is a legal path generated between the two systems you try this on please?
Is it not possible to get Crossfire as an flmm mod? I dislike installers whereby I don’t actually know what’s being installed and that Avira gives me trojan key logger warnings on many of the files that are being installed by the installer ::)
-
will try the path generation again as soon ive a bit more time
the CF installer does only install the mod (into FLMM)
the warnings you get are because of that stupid antivir which considers everything encrypted as a virus
the ppl which did the somewhat more than 150.000 downloads didnt get any problems with troyans yet -
will try the path generation again as soon ive a bit more time
the CF installer does only install the mod (into FLMM)
the warnings you get are because of that stupid antivir which considers everything encrypted as a virus
the ppl which did the somewhat more than 150.000 downloads didnt get any problems with troyans yeti 2nd that - there are only warnings that can be switched off by reducing the WIN32 heuristic detection level.
-
It’s obvious they’re “false positives” as they call it, after all… who’d install a dozen trojans?
I don’t know if it’d still have this issue using FLMM though, but since you simply activate it in FLMM afterwards - what’s the point of an installer (in my opinion).
I know it’s slightly hypocritical simply because we once had our own installer too - Accushot made it, but that was because every time you played - it checked a site to see if you had the latest version, and did an update before launching if you didn’t.
-
reasons for installers:
1. they are looking better
2. they are able to create folders with info and links to the website under “my programs”
3. they are able have a licence agreement for the usage of the mod
4. they can contain addition mod information
5. they can run neccessary scripts for the installation of the mod
6. they can activate a swf guide (cf1.8 feature) after installation
7. they can use better compressions than normal zip
8. they contain a md5 check to make sure the download was done correctly (to avoid problems/crashes of the mod)
9. and about 1000 other reasons…. -
Hey Op…
Just to save you heartache…
You didn’t reply if the next system you tried is only connected by jumphole and not by a jumpgate?
I know you know that paths only plot through jumpgates and not holes, but thought you might have overlooked this.
And Hoy!! Stop hijacking threads to discuss other stuff - like the merits of installers!
My path generator still works just fine, and I’m very happy and grateful to Chips!
So it should also work for you too.
Hmm… thoughts: What other clandestine engineering works have you done in your mod that might be causing this? lol
Like - have you replaced your jumpgates with some other fancy new SWAT technologies that make it unrecognisable as a gate?
Just thinking out loud to try to give you a pointer.
-
reasons for installers:
1. they are looking better
2. they are able to create folders with info and links to the website under “my programs”
3. they are able have a licence agreement for the usage of the mod
4. they can contain addition mod information
5. they can run neccessary scripts for the installation of the mod
6. they can activate a swf guide (cf1.8 feature) after installation
7. they can use better compressions than normal zip
8. they contain a md5 check to make sure the download was done correctly (to avoid problems/crashes of the mod)
9. and about 1000 other reasons….I 2nd that too and if well made you can use un-installers instead that in FLMM
Is there a way to have a look to the source code for this path generator? something like open source? -
Is anyone else finding a problem plotting from one system to another as Op describes?
As for source code, you can have a look at it if you like - but I will warn it’s neither pretty nor probably well coded. Never learnt specifically whether what I’ve done is right or wrong, some of it is (in my opinion) abusing features… but enables me to make it do what I want it to do (so using observer pattern to not only alert the GUI something has changed, but pass back different strings etc to display different messages etc). I can’t remember if I made a message object with an enumerated type to define what the message is, as well as a string for the message itself… or whether I just did it via strings, or a combination of the two
Some of it was designed, and other bits were cobbled onto it in a hurry… and are therefore not well done at all.
So with a long list of bad habits and poor style, yeah - if you would wish to see source code then I’ll upload it - just be warned that when it started I tried to do it right… and then abandoned that part in order to just do it.
Back to troubleshooting.
If it’s generated the paths between the two systems (a question I asked) then the path should plot.
If it hasn’t generated the path correctly, then we can track down what is wrong with it - including whether it’s managed to read (for example) the solararch.ini file correctly.It’s 8pm at the moment, got back from work a short while ago - I got to bed in about two hours, got some work to do as well as work upon my CV - which is why things are kinda slow at the moment Up at 6.30am tomorrow, out by 7.30am and back at 7.30-8pm
-
its written in java i guess - i have learned it somewhen in the past so at least i can read it^^
have you ever thought to add some debug output strings to your version - would make it better for people to tell you what happens…
And even you could have a look to what functions are working how with other files as well as other environments.
So if you dont mind to open your source code i would gladly have a look into it. Either i can use and understand it or its just to understand the workflow^^ -
@Chips: You know, I’ve always thought… “Better to make a program that works than a strict program that doesn’t.” Doesn’t really matter whichever way you do it, it doesn’t need to be in realtime and it does what it’s been programmed for. What else would you ask?
-
I can only assume I somehow compiled a wrong version
Path = br04, rh05, br04, br01, br03, bw02, bw04, rh05
That’s the shortest illegal path generated. The bug causing it was one I’ve already solved, that being that the numbers were truncated and therefore using them as a key when read in caused problems.
No idea how that occurred, it was one of the issues last time and was sure I fixed it :-[
Sorry, just read your reply. Did you reupload your version which generated this path?
-
Yep - fixed it, re-uploaded the fixed version finally (he says… praying)
However, it was checked with that path - time is a lil short at the minute so I didn’t go overboard with checking them all which is poor form, but logically speaking the bug causing the issue is fixed so they should all work fine (typical famous last words there)
@Chips: You know, I’ve always thought… “Better to make a program that works than a strict program that doesn’t.” Doesn’t really matter whichever way you do it, it doesn’t need to be in realtime and it does what it’s been programmed for. What else would you ask?
True, but there’s a certain amount of pride to be had in a well constructed and maintained program It started out with what I think was a good starter, but since I’m no pro at algorithms and data structures per say, I’ve done the best that I could think of. Undoubtedly there may be optimisations or more suitable collections to do the job - that I’ll accept as being something I can’t realistically solve without help from more experienced or knowledgeable people So that’s fine.
However, as time progressed, to fix certain issues and make things work - I got sloppy and just “did what it needed” with quick fixes - which kinda breaks my own personal pride factor in trying to make it the best it could be… but I was limited by time and willpower
For instance I read system files twice… Why? Because it was the quick and easy fix. Read the files, get all the nicknames - then read the files and check that the jumps “goto=” line is actual referencing an existing jump object in the target system. I could parse the files just once instead - it required altering the jump objects to hold target object instead of just a link to the system. Then it’d be a simple matter of iterating through the collection of jump objects after reading all the files and checking that referenced target object is contained within the collection of jump objects.
The reason I read it twice? I point out the line number of the file containing the mistake, couldn’t be arsed to start altering objects - how the reader originally read it and amending etc. Just re-reading the files again (loop already existed) and checking the reference exists was a much quicker solution and allowed the ability to highlight the line number easily too so that error reports could pinpoint the location. It could still all be done in one single reading of files, but to save a second or two and make it more “correct” I couldn’t be bothered
There are other similar lazy short cuts that are what I consider poor programming. There will be far more style or structure issues I’m sure
-
ok - just to be sure ive downloaded the latest path generator (again) and tried it
I made some screenshots to explain it betterThis pic shows how a path should look like (waypoint… path leading from the ship to the waypoint… and next waypoint shown on the target box on the lower left side)
I simply switched from the custodian system to the new york system which is just one jump away … both systems connected via ordinary vanilla jumpgates
In new york i placed a waypoint… now FL originally should generate a path to that waypoint… but as you can see this is not the case… the destination waypoint is there… but no path leading to the gate in custodian (like it should be) and no path to the waypoint in new york
In normal case there should be 2-3 waypoints (i cant remember if waypoint 1+2 are the same)
waypoint 1 should be in custodian at the gate to new york
waypoint 2 should be in new york at the custodian gate
waypoint 3 should be the destination
systems_shortest_path.ini contains following for this path relevant code:
Path = li01, cf02, li01, cf02
Path = cf02, li01, cf02, li01shortest_legal_path.ini:
Path = li01, cf02, li01, cf02
Path = cf02, li01, cf02, li01shortest_illegal_path.ini naturally doesnt contain any paths for those systems since there are no jumpholes
-
ah now I understand what you mean, i’ll try that again in a bit and see what I can get.
Here’s the source-code - the src folder with all the packages and the classes.
I use netbeans as my ide of choice, so the “form” files within the gui package are from netbeans as I hate making GUI’s due to layout issues within Java being hard work (gridbags), so used the guibuilder to do the leg work.
It means the GUI code is NOT pretty. I could have used some fairly standard layouts, but it was easy to use a gui builder.
Fraid the comments are NOT as full as they should be, far from it and typically I never filled in method headers (stupid oversight, but right now I’m not inclined to go through it due to personal issues).I’ll clear the code up at some point in the next day or two, comment methods, remove excessive rubbish etc.
The main class is FLScanner inside the GUI package, or should I say the “view” anyway.
However, the controller is the Main.java class inside the pathscanner package and therein you find the amalgamated mess of code which does everything (kinda). The lockedgateparser, solararchparser,systemparser and uniparser do what their name implies (uni for universe.ini, system for all systems files).Tis free for anyone to look at, fiddle, critique, comment etc (please if you critique, make it constructive by telling me what it should be!) or amend (likewise, if you amend/alter something - please let me know what you’ve done/why - or just fire me a changed version over).
Erm, guess you could say it’s open source under gpl (can’t be arsed to look up which one is preferential at the mo) or whatever it is. Basically do what you want with it, but NO commercial gain may be made from it’s use or inclusion into anything etc - and don’t pass it off as own work either.