MSFS2024 compatibility?
-
Hi, All. I haven't made a comprehensive statement about compatibility since MSFS 2024 released, but I thought I would address these particular issues, since they are all related.
All three of these bugs in MSFS 2024, as unrelated as they may seem, are the result of an incorrectly implemented mathematical operator in the Reverse Polish programming language called "integer divide". In MSFS 2020, the integer divide operator correctly divided two numbers, and then rounded down to the nearest integer. This rounding does not happen in MSFS 2024, resulting in the wrong output.
As you might imagine, this is roughly equivalent to changing how a button on a calculator functions without telling your accountant. This operator is used over 1,000 times across all my aircraft, so replacing it would be no small effort. We have notified Asobo of this issue, but have not heard any acknowledgement of the issue as of this writing.
I hope this explains some of what you are seeing, and might also give you a glimpse into what kind of issues my fellow MSFS developers and I are facing in MSFS 2024.
-
@Black-Square Having working RPN is 2020 and somehow then breaking parts of it for 2024 was not on my bingo card!
-
@Black-Square Thanks a lot for the update. I really appreciate it. Yes apparently breaking a mathematical calculation means a lot of trouble. I hope Asobo gets back to you as soon as possible.
-
@Black-Square For me everything works fine. The 2 things I saw was the altitude indicator flips a bit weird, and the InHg is showing +1000 3992 instead of 2992 for std pressure.
-
@Avionic I'm not savvy on this, just thinking out loud. Do they not use a standard RPN library? If so, did the library update and change something? It seems strange unless they somehow manually coded their own RPN implementation that such a fundamental operation would change. Not doubting anyone here, just really trying to grasp how it would happen. Edit: From what I can tell, they do have their own implementation. Interestingly, RPN doesn't even seem to have a
floor
operation, the closest isnear
which rounds up or down on either side of 0.5 to return an int. MS's own SDK showsdiv
returning a rounded number though. What an annoying little bug to have to deal with. -
@SwissairMD11 These are all due to the integer division operator, believe it or not.
@LostPilot I actually doubt it's a standard library, or at least one anyone would recognize, because I believe the MSFS RPN implementation has been virtually unchanged since 1995. If I had to guess, I believe this change was probably the result of experiments with compiled RPN, which is a new option for developers seeking a little performance boost to their animation code. You can imagine how this might entail porting the RPN interpreter to a new language in the process. Hopefully you can all understand how this affects us developers, and why I'm not rushing to update my code in twelve aircraft across two simulators for such a fundamental oversight.
-
@Black-Square said in MSFS2024 compatibility?:
Hopefully you can all understand how this affects us developers, and why I'm not rushing to update my code in twelve aircraft across two simulators for such a fundamental oversight.
Very understandable. Having to update all of those uses of the operation when they'll likely fix it would be a waste of valuable time. Good luck!
-
@Black-Square I understand it's quite the job to change it. And am willing to pay for it. Not sure for others but I surely will if the time is very consuming. I love the dynamic engine parts of it so that is worth a lot in my books.
-
If the problem is with the host application and one of the libraries. I belive BKSQ probably has more interesting stuff to do (that we will enjoy more too), than spending a vast amount of resources on a workaround that may not be needed in a week or two.
-
@SwissairMD11 Asobo wrote on their developer forum less than 24 hours ago, that the bug has been logged and that a fix is being implemented. Let's hope the correction can make it in one of the first patches that are coming.
-
Doesn't look like it's made it into 1.1.10.0 :-(