Prevent lost keybind

It may not be one of their priorities, hadn`t they mentioned fully merging Horizons with Odyssey eventually anyway? I am not sure but others may be able to confirm or say no they didn`t.
 
It may not be one of their priorities, hadn`t they mentioned fully merging Horizons with Odyssey eventually anyway? I am not sure but others may be able to confirm or say no they didn`t.
They will eventually, but not for now.
They did update a few updates though on Horizon, even on interface.

edited 1st post to update with EDO.Materials.Helper
 
I've notice (like everyone I guess) that when switching from Horizon/Odyssey and Odyssey/Horizon, on both ways I would loose my keyboard configuration EACH FREAKING TIME !
so I've been looking what was the issue, and it's only because it was so poorly coded that the controls are set in two different ways.

Let me explain :
First look in this folder : %USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\
you will see your presets.
In my case I've backed up mine with name "Saitek X52.3.0.binds" before Odyssey update.
When Odyssey came in it duplicated the file and named it "Saitek X52.4.0.binds". fine by me, they add some controls so why not.

Then, you get another file in same folder "StartPreset.start" that is used to define what config you are using.
but this file is used by both version AND isn't used in the same way, and as so it overwrites every time you select game.

In Horizon, you have one section of controls
Saitek X52
In Odyssey, you have 4 section of controls
Saitek X52 Saitek X52 Saitek X52 Saitek X52

And who knows why, when Odyssey starts and reads the file with only one line, it assumes there is nothing else configured, and just put empty/default keys (depends on mood I guess as it varies).
And in my case it creates a default profile named "Saitek X52 Pro" for unknown reason (I've tried to create a profile copied from mine with that name and it just ignored it)

how come this is still an issue??

To workaround this issue I've made two files with data in it (StartPreset.3.0.start & StartPreset.4.0.start) and used a batch
Bash:
:GAMODE
ECHO Game played will be HORIZONS / ODYSSEY (default)?
SET /p stupidity=[H/O]
REM ECHO '%stupidity%'
IF '%stupidity%'=='h' GOTO HORIZONS
IF '%stupidity%'=='H' GOTO HORIZONS
IF '%stupidity%'=='o' GOTO ODYSSEY
IF '%stupidity%'=='O' GOTO ODYSSEY

:ODYSSEY
TITLE Elite Dangerous: Odyssey
C:
cd "%USERPROFILE%\AppData\Roaming\EliteG19s\"
xcopy "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.4.0.start" "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.start" /y
GOTO CHKSTART

:HORIZONS
TITLE Elite Dangerous: Horizons
C:
cd "%USERPROFILE%\AppData\Roaming\EliteG19s\"
xcopy "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.3.0.start" "%USERPROFILE%\AppData\Local\Frontier Developments\Elite Dangerous\Options\Bindings\StartPreset.start" /y

:CHKSTART
CD "C:\Steam"
START "" "C:\Steam\Steam.exe" -applaunch 359320 -Steam -novr -nointro

Message to Devs : Please, this is easy to patch, just make Horizon stop overwriting the file or make two files ...

Edit : 06/09/2021 STILL AN ISSUE !
Edit : 02/12/2021 STILL AN ISSUE !
Edit : 15/02/2022 seems patched, but can still bug sometimes !


Asked by @Parduz my full starting script (code cleaned)
I know this is an old post.
Thanks for sharing; especially your full start
however, you also made a stupidity assumption. Not everyone purchased the game(s) through Steam, so your :CHKSTART could be modified to look for the three different game install locations.
 
Top Bottom