Patch Notes Update Update 3.3.05

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.
 
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.

:p
 
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.

:p

no can´t do this alone you need 100 to work on it and investigate it and look into it, why a hotfix is called update who knows
 
OnEnterSystem() {
bSysScanComplete = CheckIfAlreadyScanned();​
}

OnScanComplete() {
if (!bSysScanComplete) {​
Say("system scan complete");
bSysScanComplete = 1;​
}​
}

Place that check in n separate threads for whatever reason and you get a nice race condition that causes multiple messages to be spammed :p
 
Last edited:
Place that check in n separate threads for whatever reason and you get a nice race condition that causes multiple messages to be spammed :p

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);
}

:p
 
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);
}

:p

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.
 
It may be more safe to divide the code on single CPU structure using time restriction on processes, rather than doing multi-threading.

By simulating multi-threading this way, you have good control.

The only situations when you should use (real)multi-threading is when you have lots of CPU's ready for multi-threading AND the code is ported from a (pseudo)code platform, such as script or python or whatever limiting high level platform you use.

I find that simulating multi-threading on single CPU thread is way more interesting and gives me more control using timers.
 
Last edited:
Place that check in n separate threads for whatever reason and you get a nice race condition that causes multiple messages to be spammed :p
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.

Actually, despite all of this fun conversation, the fact that EDH source code is being developed (now) by people, who cannot handle properly the simplest concurrency situation already after two tries (and which is even not related to time-critical data like spatial positioning in multiplayer), makes me sad.
 
Last edited:
I find that simulating multi-threading on single CPU thread is way more interesting and gives me more control using timers.

While that is true, it is also incredibly limiting on modern multi-core CPUs. We're getting pretty close to speed limits with available tech and miniaturisation levels which is why we're going more and more parallel.
 
^^^
Double vision? or Spot the difference?

LOL - those posts were meant to (or should have been) in reply to several people posting on this particular thread about "What about BGS".... it seems with every little minor patch there are a lot of people who keep asking the same thing - I thought I would dig through the forums and find that (very) recent post by one of the designers.

It seems my 'reply' to post didn't really match up with those particular "Is BGS fixed" entries. :)
 
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...

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.
 
I'm all too aware that I get steamrollered with each update.

Not sure how you've set up your system, but it's been ages since I've lost my binds (on both laptop and PC).

I still back them up after making changes just in case, but haven't had to restore them in a long time.

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.
 

Paige Harvey

P
Hello Commanders,

We have an update to the console patch release here:

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!
 

Ozric

Volunteer Moderator
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.

I believe that was actually related to a fix they put in, in order to make various control setups work correctly. https://forums.frontier.co.uk/showt...the-launcher?p=6854966&viewfull=1#post6854966
 
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.

This just highlights the problem for FDev here you are on a PC and having this persistent and annoying problem with every update, then there are people like Micha and myself also on PCs who never see this issue in my case I have never yet lost my bindings in almost as long a time playing as yourself.

What surprises me more is that the bugs on consoles aren't more universal as I assumed that they were all pretty much identical.
 
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.
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] :p
 
Back
Top Bottom