Freelancer Path Generator *Alpha*
-
Chips, do you look for archetypes or goto lines in the file?
I’m asking this, because I have jump-objects with custom archetypes; and yes, I’m too lazy to test it out at the momentIn systems_shortest it does take into account my jump-object, but in shortest_legal and shortest_illegal, it is in neither. This might be the cause of some of my ‘no best path’ issues. If relevant, can you create an external list, like a txt file of what archetypes are being looked for, and are treated as legal/illegal? The app could then parse for those archetypes, and this problem would be universally solved.
Edit: Just corrected some early morning typos and horrid grammar mistakes.
-
Chips, do you look for archetypes or goto lines in the file?
I’m asking this, because I have jump-objects with custom archetypes; and yes, I’m too lazy to test it out at the momentIn systems_shortest it does take into account my jump-object, but in shortest_legal and shortest_illegal, it is in neither. This might be the cause of some of my ‘no best path’ issues. If relevant, can you create an external list, like a txt file of what archetypes are being looked for, and are treated as legal/illegal? The app could then parse for those archetypes, and this problem would be universally solved.
Edit: Just corrected some early morning typos and horrid grammar mistakes.
Can you attach an example of your jump objects from the systems file please mate?
It does work on the principle of a goto = line, but it checks teh archetype of the jump object against the solararch.ini file first… if it’s not there already (defined by type = JUMP or something!), then it’ll log as an error.Sadly uni removed my emailed code as having a virus attached (bini.exe was included, whattamistakatomaka) so haven’t worked on it today during the day, and I got home a short while ago… it’s 9.10pm, and I have to get up at 6am… yet to eat dinner.
Fraid it may be either tomorrow or Friday before I can have a butchers hook at what’s going wrong with various aspects.
Quick question, are the things in order as they appear in the universe.ini file? The systems should appear as they do in that (so first entry in systems_shortest_path should be the paths for the first system listed in universe.ini file).If anyone wants to zip up their files, all i need are the system files in their systems folder, the initial_world.ini, solararch.ini and universe.ini files Just zip them up, use something like yousendit.com or rapidshare.de or something (file hosting sites) and post a link up here.
I’ll try my best to look over, but this is kinda the worst time due to starting work, and for June my weekends are packed with being away each weekend or a majority of the time.
I’ll see whether I can fit it in around working at uni, or free evenings (if there are any) at weekends.
-
Here is the info you requested:
SOLARARCH
[Solar]
nickname = hypergate_jumppoint
ids_name = 60211
ids_info = 66146
type = JUMP_HOLE
DA_archetype = solar\dockable\jump_hole.3db
material_library = solar\Solar_mat_misc02.mat
mass = 10000.000000
jump_out_hp = Hporient
solar_radius = 600
shape_name = NAV_jumphole
docking_sphere = jump, HpDockMountA, 150
hit_pts = 999999961690316250000000000000000000.000000
phantom_physics = trueST03B
[Object]
nickname = St03b_to_Io01_hyper
ids_name = 261383
pos = -18412, 9500, 18955
rotate = 0, 140, 0
archetype = hypergate_jumppoint
msg_id_prefix = gcs_refer_system_St03b
jump_effect = jump_effect_hyper
ids_info = 130311
visit = 0
goto = Io01, Io01_to_St03b_hyper, gate_tunnel_hyperIO01
[Object]
nickname = Io01_to_St03b_hyper
ids_name = 261383
pos = -35000, 9500, 40000
rotate = 0, 140, 0
archetype = hypergate_jumppoint
msg_id_prefix = gcs_refer_system_St03b
jump_effect = jump_effect_hyper
ids_info = 130311
visit = 0
goto = St03b, St03b_to_Io01_hyper, gate_tunnel_hyperexample from SHORTEST_ILLEGAL
[SystemConnections]
Path = io01, io01, io01
Path = io01, st03b, io01, st03b
Path = io01, io03, io01, io03
Path = io01, io02, io01, io02(as you can see io01 does connect to st03b, but NOT to the rest of the world - it seems that nomad gates are “legal” entries)
example from SHORTEST_LEGAL
[SystemConnections]
Path = io02, io02, io02
Path = io02, io04, io02, io04
Path = io02, io05, io02, io04, io05
Path = io02, io06, io02, io04, io05, io06(seems to be ok, tho it still doesn’t connect to the rest of the world. Makes sense tho, jump holes are not “legal”. The hypergate jumppoint has a jump_hole type, so it is righfully treated as “illegal”. Btw, there is a jump hole connection between Io01 and Io02 - also, Io01 does not appear in the shortest_legal file at all.)
in SYSTEMS_SHORTEST all these systems DO connect to the rest of the world.
It appears that the “hypergate_jumppoint” is automatically treated as an “illegal” way of travelling. Whereas I have no clue exactly how FL chooses the file to base its path calculations on, I get a no best path when trying to plot a route from, for example, Io01 to Li01. (makes sense for the fact that there is no “legal” jump possibility - it appears that shortest_legal is used.)CONCLUSION: The primary problem with this is that some systems, like Omega-41, even in 1.0, have path information, whereas the only way to travel through them is via “illegal” means. In case of the files generated by the app, Omega-41 gives a “no best path” error too, and everything “beyond” it, which is “unreachable via legal means”. This is not a fault of the path generator, the 1.0 shortest_legal, for example, does not contain Ew03 at all - but then, why does it work there, and why doesn’t it work here? ???
(My question on jump objects has been answered:p it is the solararch entry for them that determines legality. Nice touch ;))
Edit: Oh, you said you lost your bini.exe - well, I do have a bini.exe and an unbini.exe; if you are interested. They work perfect, except for probaly the only thing that unbini.exe decodes the files in a way that strings are marked with " " and paths use \ as delimeter - and bini.exe expects that format as well.
-
Thanks for the bini, but it’s going to be shelved No point working on decrypting stuff when it’s not working ordinarily, so that can be left on the shelf whilst other issues sorted.
Sadly this isn’t the only thing going wrong, had bugs appear in 3rd party software I use as part of my work - so until I solve that, this may be on the burner for a while
-
I am surprised that my first run worked and seemed very good, so I don’t think you are very far away Chips.
The second run with unencrypted ST03b may have incurred errors after the first path that included St03b perhaps?
I’ll zip up my files and post them somewhere and give you the link here, but need some time as my upload is very slow.
thanks pal.
-
I didn’t want to drive you down either, was just trying to help spot a possible cause for no-best-path…
No driving down mate, tis all good.
Managed to find the bug that was causing me loads of trouble at uni, so that’s nearly solved there… but am away all day tomorrow, so hopefully Sunday I shall get around to sorting out any issues with this program insteadALL is welcome, whether it’s criticism, feedback or attempts to help troubleshoot/solve what may be the issue
I would post up the source code if parts of it weren’t so… hacked together in a brutally ugly fashion -
Sorry, not even had a chance to glance at this yet, and not sure when i will. If I haven’t by this weekend, then I’ll probably release the source code incase someone else can program with Java, is familiar with OOP and wants to take it over
its not pretty though
-
Chips,
I sincerely hope you will continue with this, bud, I’m waiting on your success.
It’s nearly there, as I said the first run, with St03b still accidentally encrypted, gave me good paths from a totally remote system that I had not visited back to the systems I had visited, and it was generating good paths from anywhere to anywhere. And I’m running it on my mod, with many new systems.
The second run after I decrypted St03b gave me always “No Best Path” even to the next system, and even between adjacent systems that I had already visited.
I spent a couple of days writing a sort macro (in Excel, its the only way I am capable) and sorted the path files from both runs to look for differences - but there are hundreds!! So I can’t see the wood for the trees!
Even from the first system, Br07, to Br01, the first (good paths) run took the following path (valid):
Path = br07, br01, br07, bw05, rh04, rh01, rh03, bw03, bw01, br03, br01The second run took the following route (also valid):
Path = br07, br01, br07, bw05, ku04, ku01, ku03, bw09, bw10, br04, br01and other paths to other systems showed the same bias, good paths went via Rh04 and faulty paths via Ku04.
What mechanism decides which of two equally valid paths will be followed? Both paths have the same number of system jumps in each case.
I really hope you will continue, but I do understand RL gets in the way, I’m a prime case! lol
Whereas I could and am very willing to spend time to pick up some of the pieces, I doubt if I will understand enough to design the method to continue it to a conclusion any time soon.
-
-
Chips,
I sincerely hope you will continue with this, bud, I’m waiting on your success.
It’s nearly there, as I said the first run, with St03b still accidentally encrypted, gave me good paths from a totally remote system that I had not visited back to the systems I had visited, and it was generating good paths from anywhere to anywhere. And I’m running it on my mod, with many new systems.
The second run after I decrypted St03b gave me always “No Best Path” even to the next system, and even between adjacent systems that I had already visited.
I spent a couple of days writing a sort macro (in Excel, its the only way I am capable) and sorted the path files from both runs to look for differences - but there are hundreds!! So I can’t see the wood for the trees!
Even from the first system, Br07, to Br01, the first (good paths) run took the following path (valid):
Path = br07, br01, br07, bw05, rh04, rh01, rh03, bw03, bw01, br03, br01The second run took the following route (also valid):
Path = br07, br01, br07, bw05, ku04, ku01, ku03, bw09, bw10, br04, br01and other paths to other systems showed the same bias, good paths went via Rh04 and faulty paths via Ku04.
What mechanism decides which of two equally valid paths will be followed? Both paths have the same number of system jumps in each case.
I really hope you will continue, but I do understand RL gets in the way, I’m a prime case! lol
Whereas I could and am very willing to spend time to pick up some of the pieces, I doubt if I will understand enough to design the method to continue it to a conclusion any time soon.
Sounds like I must have used a set somewhere, as therefore it can’t garuntee the order from which it’s elements are returned (simplest explanation for it to be honest).
If I manage to sneak any opportunity at all, i’ll take a look. -
Just a note here that Chips has released a Beta version of this path generator with fixes for some of my problems.
So please follow that thread from now.