EDProfiler - A New Display Switcher/Robust Settings Profiler/Switcher/Detector!

running the beta gives another unhandled exception on startup as follows -

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

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at EDProfiler.StoredProfileReader.xmlSettingReader(String setting)
at EDProfiler.EDPMainForm.DetectCurrent()
at EDProfiler.EDPMainForm.Button_DetectCurrent_Click(Object sender, EventArgs e)
at EDProfiler.EDPMainForm.EDPMainForm_Load(Object sender, EventArgs e)
at System.EventHandler.Invoke(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)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
EDProfiler
Assembly Version: 1.0.5.0
Win32 Version: 1.0.5.0
CodeBase: file:///C:/Users/PegasusCrusader11/Desktop/EDProfiler%201.0.5%20BETA/EDProfiler%201.0.5%20BETA.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Deployment
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml.Linq/3.5.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Do you have The Guardians beta?

If so, please email me all the files found in C:\Users\[username]\AppData\Local\Frontier Developments\Elite Dangerous\Options\Graphics

kaii@dr.com
 
Thanks to atomic, we have learned that the settings files of the game are identical to pre-Guardians until you make a change and hit apply in game.

Basically, if you want to beta test the new EDProfiler, it won't load up until you've done that ^

See the linked post about the EDProfiler beta (i.e. to get it working with the new settings)
 
Thanks drkaii for the temporary fix and thanks to atomic for helping out too. The beta is working nicely. Switching manually between 2D and VR the last couple of days has reminded me how invaluable this tool is.

Just FYI for anyone else using the ED Profiler beta with the live game, leave Jet Cones set to Low otherwise the game will hang when you click on the Options menu (or just play without touching Options). No issues playing the 2.2 beta (you can set Jet Cones to whatever you want).
 
Last edited:
Thanks drkaii for the temporary fix and thanks to atomic for helping out too. The beta is working nicely. Switching manually between 2D and VR the last couple of days has reminded me how invaluable this tool is.

Just FYI for anyone else using the ED Profiler beta with the live game, leave Jet Cones set to Low otherwise the game will hang when you click on the Options menu (or just play without touching Options). No issues playing the 2.2 beta (you can set Jet Cones to whatever you want).

Thanks for that tip! Hopefully won't be needed much longer :)

Here's a teaser of some of the new settings and layout changes coming with EDProfiler 2.2 (I will switch to versioning to align with Elite, for simplicity):

t1K3crN.png
 
Just used the program to setup a profile for non vr, saved the profile no problems.

Went to apply the profile bottom left, got the message about remembering to delete the beta version once full release is out and got the following message error details after clicking the ok -

unhandled exception

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

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at EDProfiler.EDPMainForm.Apply()
at EDProfiler.EDPMainForm.Button_Apply_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.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)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
EDProfiler
Assembly Version: 1.0.5.0
Win32 Version: 1.0.5.0
CodeBase: file:///C:/Users/PegasusCrusader11/Desktop/EDProfiler%201.0.5%20BETA/EDProfiler%201.0.5%20BETA.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Deployment
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml.Linq/3.5.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
 
Last edited:
Just used the program to setup a profile for non vr, saved the profile no problems.

Went to apply the profile bottom left, got the message about remembering to delete the beta version once full release is out and got the following message error details after clicking the ok -

unhandled exception

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

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at EDProfiler.EDPMainForm.Apply()
at EDProfiler.EDPMainForm.Button_Apply_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.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)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
EDProfiler
Assembly Version: 1.0.5.0
Win32 Version: 1.0.5.0
CodeBase: file:///C:/Users/PegasusCrusader11/Desktop/EDProfiler%201.0.5%20BETA/EDProfiler%201.0.5%20BETA.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Deployment
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.8745 (WinRel.050727-8700)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Deployment/2.0.0.0__b03f5f7f11d50a3a/System.Deployment.dll
----------------------------------------
System.Xml.Linq
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml.Linq/3.5.0.0__b77a5c561934e089/System.Xml.Linq.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.8763 built by: WinRel
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
send me the profile and your graphics folder plz
 
sent hope its nothing ive done wrong...

Yeah we resolved it. The problem is down to the game still being in Beta. Won't happen when the game goes live!

Question to anyone and everyone: Should I add a whole new section to the profiler that deals with all the settings found in the Player\custom.misc file? That includes all the little settings like how the galaxy map filters are set, what the "Functions" are set to in the status panel etc.
 
Alec, can you APPLY your profile you mentioned in the last post, then tell me what is written in your C:\Users\[username]\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\startpreset.start file? Open it with notepad?

Hey there drkaii, sorry for not getting back sooner, been away all weekend.

So, I think I can see what's going wrong the control bindings. Basically you're setting startpreset.start to the name of the relevant .binds file (this is also what you display within EDProfiler) but this is not the same as the PresetName as defined within that file because the MajorVersion and MinorVersion also get included in the filename. So, for example, I have a .binds file called "alec-oculus.1.8.binds" whose first two lines are as follows:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<Root PresetName="Alec-Oculus" MajorVersion="1" MinorVersion="8">

In order to select this control binding on startup EDProfiler would need to write "Alec-Oculus" into startpreset.start and NOT "Alec-Oculus.1.8" (which is what it's currently doing).

Note: I can't rename my .binds file to just "Alec-Oculus.binds" because the minute I change something in game and re-save the bindings it will save it to "Alec-Oculus.1.8.binds" again (i.e. it's ED that's adding the major and minor version onto the end of the filename, not me). Also, if I simply remove the MajorVersion and MinorVersion attributes from the <Root> node then ED just puts them back in again.
 
Last edited:
Great utility :)

Could I ask you to add the ability to select a fourth monitor? This is shown as "Quaternary" in the ED Display Settings.

Many thanks
 
Hey there drkaii, sorry for not getting back sooner, been away all weekend.

So, I think I can see what's going wrong the control bindings. Basically you're setting startpreset.start to the name of the relevant .binds file (this is also what you display within EDProfiler) but this is not the same as the PresetName as defined within that file because the MajorVersion and MinorVersion also get included in the filename. So, for example, I have a .binds file called "alec-oculus.1.8.binds" whose first two lines are as follows:

Code:
<?xml version="1.0" encoding="UTF-8" ?>
<Root PresetName="Alec-Oculus" MajorVersion="1" MinorVersion="8">

In order to select this control binding on startup EDProfiler would need to write "Alec-Oculus" into startpreset.start and NOT "Alec-Oculus.1.8" (which is what it's currently doing).

Note: I can't rename my .binds file to just "Alec-Oculus.binds" because the minute I change something in game and re-save the bindings it will save it to "Alec-Oculus.1.8.binds" again (i.e. it's ED that's adding the major and minor version onto the end of the filename, not me). Also, if I simply remove the MajorVersion and MinorVersion attributes from the <Root> node then ED just puts them back in again.
Thanks, that's very useful. It will need a complete overhaul and I'll try to sort it out in a future update as it's a lot of coding to read the PresetName from the xml. I don't think 99% of people change the file name, so it's not a huge problem or priority but I will do it for perfection's sake
Great utility :)

Could I ask you to add the ability to select a fourth monitor? This is shown as "Quaternary" in the ED Display Settings.

Many thanks
Yeah sure! Will be in the next update (which goes live on the 22nd or so when 2.2 is released)
 
Great utility thank you for your work on this.

You are welcome :)

Update 2.2 changelog (released Sunday 23rd)

n.b. I've updated the versioning to reflect the version of the game that it is compatible with! Skipping straight to EDProfiler 2.2 :)


  • Added controls for HUD brightness, jet cones camera shake, camera blackout, vehicle camera stick to horizon and two additional VR default profiles
  • Updated options for graphics settings that have new options, such as super sampling and HMD quality
  • Added code to include all these changes and additions to existing profiles
  • Changed gamma, terrain work and model draw distance to sliders
  • Changed values for above to match game values exactly
  • Added "check for updates" button
  • Improved code for control bindings, now using PresetName in the .binds file rather than the file name itself, in case the user changed it. Added code to support very old bindings files that don't use the PresetName attribute
  • Fixed some bugs
  • Adjusted the layout
  • Clicking the VR default profiles now automatically sets the 3D control to HMD
  • Added more NO2O GUI profiles (GUI profiles that are compatible with avatars)

Note, I am going to have to release this a day or two early as I am going away on succot, and if you update to it before The Guardians is out, it might crash during use.

You have to wait for The Guardians to come out and then you have to go into the game, change a graphics setting and hit apply! Then start EDProfiler and it should all be hunky dory.
 
FAIR WARNING!

I am updating EDProfiler to work with 2.2 in 1 hour! Don't update it yet! It isn't going to be a mandatory update as for some people it might be a bit incompatible with 2.1

I will make it mandatory tuesday night as soon as I get in (I am leaving in 2 hours until tuesday night).

Dr. Kaii /out
 
Back
Top Bottom