Community Event / Creation TradeDangerous GUI front end

Ok thanks for the step-by-step guide. Already a bit clearer (+repped you for). Sadly I can't find a config.xml in my TDHelper zip. Only files I have are:

Changelog.txt
License.txt
README.md
System.Data.SQlite.dll and
TDHelper.exe


Step-by-step guide:
1) Download TradeDangerous https://bitbucket.org/kfsone/tradedangerous/downloads . But its better to clone whole repo in Source Tree app and update it daily, because TD is in active developement.
2) Extract it to any permanent directory, preferable without spaces.
3) Download TDHelper https://bitbucket.org/WombatFromHell/trade-dangerous-helper/downloads . This time download latest release and not whole repo.
4) Extract TDHelper to DIFFERENT permanent location.
5) Edit TDHelper config.xml by hand. Dont open this file in Word or WordPad!!! You need to edit two fields to suite your directories:
Code:
<Path>D:\Games\Frontier\TradeDangerous</Path>
<NetLogPath>D:\Games\Frontier\EDLaunch\Products\FORC-FDEV-D-1002\Logs\</NetLogPath>

- - - - - Additional Content Posted / Auto Merge - - - - -

Nvm, dl'ed the next older version and there it is. Trying your config edits now.
 
I don't get how I get this running. I downloaded and extracted it. I have Python 3.4 and .NET Framework installed. I'm a total python noob so I don't get which file I have to run. All of them seem to be not recognized by the system... Whats the file to open? Do I have to extract it to a specific location? (sorry for all those noob questions, but your instructions are also not very specific.)

I apologize for the difficulty. Designing path finding code that works on every install location without being able to test for them all is difficult to get right on the first try. The next release (v1.04e) shouldn't explode quite so spectacularly when it can't find a path.
 
I just pushed v1.04e, and I'm fairly certain it resolves most of the current issues that I'm aware of. Let me know if you guys have any issues with it.

Note: I would advise deleting your current config.xml with this one. Normally, it shouldn't be completely necessary, but I would do it just to avoid any weird issues. This is especially true if you've had issues with globalization (decimals in particular).
 
This is shaping up really nicely :) May I make a request of 'stay on top' and 'roll up' functionality? By which i mean for the program to be always visible if running in windowed/borderless and hide it to a minimal bar when not needed (maybe also a snap to top center tickbox too?)
 
This is shaping up really nicely :) May I make a request of 'stay on top' and 'roll up' functionality? By which i mean for the program to be always visible if running in windowed/borderless and hide it to a minimal bar when not needed (maybe also a snap to top center tickbox too?)

An excellent suggestion. I'll add it to my to-do list for the next release, as long as no one finds any showstopper bugs in this release.
 
I agree with hitchhiker54 - this is turning out very nicely. I had to update my new Config.xml (old one deleted as suggested) because got an error saying that my net log path couldn't be found at c:\users...etc. That would be because my net logs are in program files (x86)/frontier/edlaunch/products/Forc-Fdev etc. but once I had put the path in, everything works well!
 
I agree with hitchhiker54 - this is turning out very nicely. I had to update my new Config.xml (old one deleted as suggested) because got an error saying that my net log path couldn't be found at c:\users...etc. That would be because my net logs are in program files (x86)/frontier/edlaunch/products/Forc-Fdev etc. but once I had put the path in, everything works well!

Hmm.. TDHelper didn't prompt you to pick the net log path if it couldn't find it with this new version (v1.04e)? That sounds like a bug that should have been fixed.

(Edit: Rather, it should have asked with a file dialog? If it's still exploding then I have some more work to do. I thought I caught all the edge cases for that bug.)
 
Last edited:
Another awesome piece of helpful software by the E:D community!

Rep for you, Oh Illustrious Wombat*

(*)What Wombat isn't from hell, at least sometimes? Unstoppable juggernauts when riled, they are.
 
Last edited:
Hmm.. TDHelper didn't prompt you to pick the net log path if it couldn't find it with this new version (v1.04e)? That sounds like a bug that should have been fixed.

(Edit: Rather, it should have asked with a file dialog? If it's still exploding then I have some more work to do. I thought I caught all the edge cases for that bug.)

So.. it seems there is in fact a lingering bug with finding the NetLogPath if the launcher isn't in AppDataLocal. The intended behavior is to always ask the user if it can't find the path, but it doesn't appear to be doing that for everyone. Based on the info posted to Issue#2 on the issue tracker I believe I know where the problem is, and I should be posting a small update to deal with it in a couple of days.

I've also been considering introducing an experimental release between major versions when I need to gather data to help me debug problems like this one. This should be particularly useful when I'm dealing with parsing TD's output for the TreeView in the upcoming v1.05 release. It's almost certain to come with bugs for some users, so it might take a bit of time to get working without some jankiness. Taking that into account, I won't be making the TreeView the default output until it's acceptably stable and bug-free.
 
Okay, I just pushed v1.04f. This release is mostly to fix the seemingly unsquashable NetLogPath bugs. I need feedback from those of you who were having issues before.

I'm 95% sure I fixed the root cause of the problem (mostly my handling of recursion exceptions), and I tested all the edge cases I could find documented on the forums. So, if you had the bug that made TDHelper fail at finding your launcher path, please wipe your config.xml and try v1.04f.

If this doesn't fix the issue let me know here with a copy/paste of your launcher's full path.

(Edit: Also, let me know if it doesn't ask you (via a file dialog) for your NetLogPath when it exhausts the obvious path choices. I'm fairly certain I fixed that too, but I'd like to be certain.)
 
Last edited:
Okay, I just pushed v1.04f. This release is mostly to fix the seemingly unsquashable NetLogPath bugs. I need feedback from those of you who were having issues before.

I'm 95% sure I fixed the root cause of the problem (mostly my handling of recursion exceptions), and I tested all the edge cases I could find documented on the forums. So, if you had the bug that made TDHelper fail at finding your launcher path, please wipe your config.xml and try v1.04f.

If this doesn't fix the issue let me know here with a copy/paste of your launcher's full path.

(Edit: Also, let me know if it doesn't ask you (via a file dialog) for your NetLogPath when it exhausts the obvious path choices. I'm fairly certain I fixed that too, but I'd like to be certain.)

Well I downloaded 1.04f and extracted it to a new folder. Ran the exe file and was prompted for the trade.py file. Once I had done that, I got the Unhandled Exception error stating that TD Helper could not find file 'C:\users\Geoff\App Data\Local\Frontier_Developments\Products'. I clicked continue and it opened TD Helper (The title bar shows v 1.04e though).

My netlogs path is D:\Program Files (x86)\Frontier\EDLaunch\Products\FORC-FDEV-D-1001\Logs although the launcher for ED is at "D:\Program Files (x86)\Frontier\EDLaunch\EDLaunch.exe".

I saved a copy of the Details in the error message into a notepad file which I can send you if you need it but the main bit is as follows:-

************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'C:\Users\Geoff\AppData\Local\Frontier_Developments\Products'.
File name: 'C:\Users\Geoff\AppData\Local\Frontier_Developments\Products'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.GetAttributes(String path)
at TDHelper.XmlHelper.getDirectories(String path, String pattern)
at TDHelper.XmlHelper.recurseDirectories(String path, String pathPattern1, String pathPattern2)
at TDHelper.Form1.validateNetLogPath()
at TDHelper.Form1.validateSettings()
at TDHelper.Form1.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

As before, it's not too difficult to add the right path in the config file myself so although I suspect this error is annoying for you, its not a game breaker!!

Good luck
 
Well I downloaded 1.04f and extracted it to a new folder. Ran the exe file and was prompted for the trade.py file. Once I had done that, I got the Unhandled Exception error stating that TD Helper could not find file 'C:\users\Geoff\App Data\Local\Frontier_Developments\Products'. I clicked continue and it opened TD Helper (The title bar shows v 1.04e though).

My netlogs path is D:\Program Files (x86)\Frontier\EDLaunch\Products\FORC-FDEV-D-1001\Logs although the launcher for ED is at "D:\Program Files (x86)\Frontier\EDLaunch\EDLaunch.exe".

I saved a copy of the Details in the error message into a notepad file which I can send you if you need it but the main bit is as follows:-

************** Exception Text **************
System.IO.FileNotFoundException: Could not find file 'C:\Users\Geoff\AppData\Local\Frontier_Developments\Products'.
File name: 'C:\Users\Geoff\AppData\Local\Frontier_Developments\Products'
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.GetAttributes(String path)
at TDHelper.XmlHelper.getDirectories(String path, String pattern)
at TDHelper.XmlHelper.recurseDirectories(String path, String pathPattern1, String pathPattern2)
at TDHelper.Form1.validateNetLogPath()
at TDHelper.Form1.validateSettings()
at TDHelper.Form1.Form1_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

As before, it's not too difficult to add the right path in the config file myself so although I suspect this error is annoying for you, its not a game breaker!!

Good luck

Hmm.. it definitely shouldn't be doing that. I'll see what I can do.
 
Perhaps you just need to change the code so it always asks for where the logs file are in a dialog, rather than trying to find them first? If people cancel, then that's the same as setting <DisableNetLogs>.
 
Perhaps you just need to change the code so it always asks for where the logs file are in a dialog, rather than trying to find them first? If people cancel, then that's the same as setting <DisableNetLogs>.

That's actually what I did with v1.04e/f. It's supposed to ask when it exhausts obvious choices, but there seems to be a bug somewhere in that logic. When I tested all the documented install paths it seemed to work fine, so I tested non-obvious install paths, and that seemed to work fine too. Still needs some work I guess..

Addendum: I have another idea on how to approach the problem. The launcher tends to create the Logs directory underneath whichever directory the "AppConfig.xml" is located in on the drive. Most of the time that happens to be under a directory with the pattern "FORC-FDEV-D-" then a string of versioning numbers. I suppose I could just look for that file, and that would give me the potential path to the logs whether they exist or not.
 
Last edited:
Oh crap. I think I just found what the problem is. My compiler didn't pack the release due to some minor file error. That's why it's behaving like v1.04e (because it actually is) even though it should be v1.04f. I can't believe I didn't catch that sooner.

Sorry about that. I'll push the correct release in a little bit.

(Edit: Finally finished, v1.04f is back up with a few more fixes/features and I made sure it was the correct release this time. Enjoy, and let me know if the NetLogPath bug managed to survive or not.)
 
Last edited:
Oh crap. I think I just found what the problem is. My compiler didn't pack the release due to some minor file error. That's why it's behaving like v1.04e (because it actually is) even though it should be v1.04f. I can't believe I didn't catch that sooner.

Sorry about that. I'll push the correct release in a little bit.

(Edit: Finally finished, v1.04f is back up with a few more fixes/features and I made sure it was the correct release this time. Enjoy, and let me know if the NetLogPath bug managed to survive or not.)

OK..... good news and bad news!!

I got the latest v1.04f and started it up. it asked me for trade.py location as normal - so far so good. Then it asked me to select one of my netlogs, so I clicked through to their folder and then I got an error box stating Cannot open AppConfig.xml, attempted path: .

First of all I was a bit bemused by this and wondered if I had misread your instruction to select a net log - perhaps its said select AppConfig.xml.... So I clicked quit on the error message thinking I'll start again.

Here's the good news - when I started TDHelper up again, v1.04f opened straight away - I checked and it is reading my ED location correctly and it all seems to be working! Checked the newly created config.xml and the correct paths were shown, so well done!!

I imagine that the error message is relating to your earlier idea about using the location of AppConfig.xml as a starting point to finding netlogs but has managed to stay active when asking the user to provide the netlog location (just guessing!!)

Thanks again for your speedy work.
 
There might be an issue with the encoding when the program changes the AppConfig.xml with the "VerboseLogging=1" line.


EDIT: Yup there's an encoding issue with the verbose line, also the current button throws up this error:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.


************** Exception Text **************
System.Exception: SQL logic error or missing database
no such column: Stn.rearm
at TDHelper.Form1.grabStationData(String inputSystem, String inputStation)
at TDHelper.Form1.populateStationPanel()
at TDHelper.Form1.srcSystemComboBox_SelectedIndexChanged(Object sender, EventArgs e)
at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
at System.Windows.Forms.ComboBox.set_SelectedIndex(Int32 value)
at TDHelper.Form1.backgroundWorker1_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)




************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34014 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
TDHelper
Assembly Version: 1.0.0.4
Win32 Version: 1.0.0.4
CodeBase: file:///C:/Users/Jordan/Desktop/TD%20UI/TDHelper.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34239 built by: FX452RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34230 built by: FX452RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
Microsoft.CSharp
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.CSharp/v4.0_4.0.0.0__b03f5f7f11d50a3a/Microsoft.CSharp.dll
----------------------------------------
System.Dynamic
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Dynamic/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Dynamic.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.0.30319.34014 built by: FX45W81RTMGDR
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
System.Data.SQLite
Assembly Version: 1.0.96.0
Win32 Version: 1.0.96.0
CodeBase: file:///C:/Users/Jordan/Desktop/TD%20UI/System.Data.SQLite.DLL
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
--------------------------------------
 
Last edited:
Back
Top Bottom