Context:indiafoxtecho t45c and mb339 and possibly other aircraft (installed in the MSFS2024 Community folder)
Bug description: some “legacy” animations that work fine in MSFS2020, do not work in MSFS2024.
NOTE: users reported the issues after the latest update but it may be just a conicidence.
Repro steps:
Load the MB.339 and the T-45 in MSFS2024
in the mb.339 the following custom animations do not work.
ADI reference knob and line (fixed to
Fuel indicator (fixed to zero)
in the t-45 the following custom animations do not work
On further investigation - part of the problem on the T-45C Tacan drums seems to be the usage of the “int” operator in the XML animation code.
While searching for workarounds (remaking the animations from scratch seem to work) it looks like the “int” operator does not work as intended, while “flr” does.
In the past two weeks we have found an number of other animations that do not work anymore.
Most of the F-14 side console controls, for example, do not work anymore.
For the T-45C Goshawk, the problem was limited to the TACAN drums - we have rewritten the code with a different formula and it works. The latest T-45C version on the MSFS2020 marketplace has the fix in place.
F-14 Tomcat - multiple knobs and switches not working, rudder pedals animation not working.
M-346 - rudder pedals animation not working (same code as the Tomcat). This was replaced with different code in the upcoming new version.
Tornado - multiple animations not working
MB.339 - animations above not working
It seems the issue is due to an incorrect parsing of the XML code and/or incorrect result of the operators - animation value is fixed to 0 for the animations that do not work.
At a glance we could not tell what makes those animations not to play - XML code is similar to the ones that do work.
FYI we have found a “workaround” for the problem which is inelegant buit seems to work consistently.
For example, the following animation code (which depends on a L:) variable, does not work in the Tornado cockpit in MSFS2024, but works fine in MSFS2020:
(L:NozzleSet1, number)
However, changing the code as follows seem to work.
1 if{ (L:NozzleSet1, number) }
Note that the animations that do not work are always producing “0” as value.
How bizarre - I wonder if this is due to an issue in an Asobo template rather than an issue with L:vars. Their technique of concatenating strings of RPN code is pretty fragile i.e. <CODE> #ASOBO_CODE# #ANIM_CODE# #MORE_ASOBO_CODE#</CODE>.
No template - these are bespoke legacy animations (which should be perfectly good AFAIK).
Problem is that we have not found the reasons why some (actually most) work fine in both 2020 and 2024, and some are just working on 2020.
It is definitely a bug in the way the “code” section is interpreted (maybe additional spaces or something) but we were unable to figure it out.