Me too.I'm still getting system scan complete twice in 3.3.0.5 in systems where I scan with DS and the autoscan detects only suns.
Not sure if that means I get spammed by it but it is a bit annoying.
Me too.
Here, you can have this for free ..
OnEnterSystem() {bSysScanComplete = CheckIfAlreadyScanned();}
OnScanComplete() {if (!bSysScanComplete) {Say("system scan complete");
bSysScanComplete = 1;}}
I apologise for the use of the global bSysScanComplete.
OnEnterSystem() {bSysScanComplete = CheckIfAlreadyScanned();}
OnScanComplete() {if (!bSysScanComplete) {Say("system scan complete");
bSysScanComplete = 1;}}
There are always notifications before the big updates. The small patches just dont get them because well there small.
Place that check in n separate threads for whatever reason and you get a nice race condition that causes multiple messages to be spammed
I've just released patch 0.01 ...
pthread_mutex_t lock;
OnEnterSystem() {pthread_mutex_lock(&lock);}
bSysScanComplete = CheckIfAlreadyScanned();
pthread_mutex_unlock(&lock);
OnScanComplete() {pthread_mutex_lock(&lock);
if (!bSysScanComplete) {
Say("system scan complete");
bSysScanComplete = 1;
}}
pthread_mutex_unlock(&lock);
Since people continue stating that they still get up to 3 of these messages after FDev declared it as fixed in 3.3.0.4 - it looks like FDev really used code like this, and indeed - across multiple threads.Place that check in n separate threads for whatever reason and you get a nice race condition that causes multiple messages to be spammed
I find that simulating multi-threading on single CPU thread is way more interesting and gives me more control using timers.
^^^
Double vision? or Spot the difference?
Whatever you're doing there, your personal keybindings don't belong into the AppConfig.xml file. You also shouldn't touch the templates (.bind files) in the ControlSchemes Folder. You do no harm but all these files will be overwritten with each next update as you should know by now. There's a plethora of tutorials about how to create your own persistent custom file. Why the game doesn't provide a user friendly way to do this from the client is beyond my scope...
I'm all too aware that I get steamrollered with each update.
Greetings Commanders,
We previously announced that we hoped to release the 3.3.05 patch for consoles on 21 February 2019, however we will be releasing this patch today instead, 20 February 2019!
The Elite Dangerous servers will be offline for Xbox One and PS4 at 17:00 (UTC) today for approximately 5 minutes to apply the patch.
This patch will address the crash that can occurring from dropping out of Supercruise (either by choice, or after an interdiction).
Thank you for your understanding!
The only thing that bugs me is that the key binds refuse to load if my EdTracker doesn't get detected by Windows (which happens randomly, I'm sure it's related to Windows patches, sometimes it breaks for months on end, other times it works for a while). My last-selected binds should always load, and just pop up a dialog saying that one (or more) devices could not be found and would I like to continue or choose a different binds file.
As you well know, keybindings are *not* in that xml file.
I don't mess with the default bind files, either.
I'm all too aware that I get steamrollered with each update.
We should *not* have to create our own persistent files.
I have had about four years and three months experience of Frontier blowing up things with every patch.
Please do not treat me as a child.
LOL - so err yeah, my cunning plan to prove that coding even the seemingly simplest of functions in a complex system is difficult worked perfectly! [yesnod]Better.
But you don't know the complexity of CheckIfAlreadyScanned() nor Say(). Nor the restrictions placed on your event handlers (ie, what the context of the calling code is). Depending on existing locks you could quickly end up in a deadlock situation. You also don't check the return value of lock()/unlock()... so you have no idea whether or not you actually got the lock. Naughty!
Basically, -anything- is trivial to fix in isolation. It rapidly becomes non-trivial in a real software project which has multiple engineers working on it. And multiple includes yourself from a week ago, the details of which you've forgotten as you've moved onto another task in the meantime.