Aircraft load with 50% fuel no matter what

Bug description: We are getting reports our fuel save state is not working on our 2020 aircraft in the 2024 sim and I tested our 2024 aircraft too. I tested the save state with like standard switches and that works fine. I did notice one thing different the save.cfg is not updated until during the next flight loading. I find this strange that your not storing the save.cfg info as soon as you leave the flight like the 2020 sim. This causes our logic to fail. And we can’t figure out a work around. Is this a bug? We would appreciate if it worked like 2020 because you stated 2020 aircraft would be backwards compatible. But this also effects my 2024 new projects. The reason our logic fails is because we store the fuel amount using the update template so we always have the correct fuel when the user exits the flight. But since you now store this info during the loading of a new flight this update is now taking the default 50% fuel passing it through our <Update_Once>True</Update_Once> logic that loads the stored fuel we need for this flight.

Example of one tank!

			<UseTemplate Name="ASOBO_GT_Update">
				<FREQUENCY>1</FREQUENCY>
					<UPDATE_CODE>
						(A:FUELSYSTEM TANK QUANTITY:1, Gallons) (>L:STORED_LEFT_TIP_FUEL, Gallons)
					</UPDATE_CODE>
			</UseTemplate>
			
			<UseTemplate Name="ASOBO_GT_Update">
				<Update_Once>True</Update_Once>
				<UPDATE_CODE>
					(L:STORED_LEFT_TIP_FUEL, Gallons) (>A:FUELSYSTEM TANK QUANTITY:1, Gallons)
				</UPDATE_CODE>
			</UseTemplate>	

We did manage to code a work around still think this new save state method is not as clean as the 2020. Maybe the cloud is something that was a limitation and is why it has this new method.

			<UseTemplate Name="ASOBO_GT_Update">
				<Update_Once>True</Update_Once>
				<UPDATE_CODE>
					(L:STORED_LEFT_TIP_FUEL, Gallons) (>A:FUELSYSTEM TANK QUANTITY:1, Gallons) 
					1 (>L:START_STORED)
				</UPDATE_CODE>
			</UseTemplate>			

			<UseTemplate Name="ASOBO_GT_Update">
				<FREQUENCY>1</FREQUENCY>
					<UPDATE_CODE>
						(L:START_STORED) if{
						(A:FUELSYSTEM TANK QUANTITY:1, Gallons) (>L:STORED_LEFT_TIP_FUEL, Gallons)					
						}
					</UPDATE_CODE>
			</UseTemplate>	

Hi Asobo,

We found this is worse than we thought. Because our simple fix worked on one product but not another. We spent 2 hours coming up with this new work around. And the work around tells me the actual issue. We had to use a delay timer to update the fuel after the flight starts. Then we run a second timer to store the fuel for the remaining time of the flight for the next time we exit the flight.

By adding the first timer this tells me that the EFB is setting the fuel to 50%. i suspect the 2020 did this as well. But the difference is the 2024 sim is updating the state.cfg at the last second and the <Update_Once> is having trouble with this late update as the default 50% is what we end up with.

We also found if you exit the sim the state.cfg get updated earlier and this we found would load correctly during the flight load.

So conclusion to me is the late state.cfg is an issue and the default EFB is probably also using a <Update_Once> to set the 50% and this means the dev can no longer use our own <Update_Once>.

Here is my work around so at least we can update our products. We would prefer for this to be fixed. Thanks again for all the hard work you guys do!

		<Component ID="SAVE_STATE_FUEL">		
			<UseTemplate Name="ASOBO_GT_Update">
				<Update_Once>True</Update_Once>
				<UPDATE_CODE>
					1 (>L:START_UPDATE)
				</UPDATE_CODE>
			</UseTemplate>
			<UseTemplate Name="ASOBO_GT_Update">
				<FREQUENCY>1</FREQUENCY>
				<UPDATE_CODE>
					(L:START_UPDATE) if{ (L:START_UPDATE_DELAY) ++ 7 min (>L:START_UPDATE_DELAY)  }
								
					(L:START_UPDATE_DELAY) 5 &gt; if{
					(L:STORED_LEFT_FUEL) (>A:FUEL TANK LEFT MAIN QUANTITY, Gallons)
					(L:STORED_RIGHT_FUEL) (>A:FUEL TANK RIGHT MAIN QUANTITY, Gallons)
					0 (>L:START_UPDATE_DELAY) 0 (>L:START_UPDATE) 1 (>L:START_STORED)
					}				

					(L:START_STORED) if{ (L:START_STORED_DELAY) ++ 7 min (>L:START_STORED_DELAY)  }
					
					(L:START_STORED_DELAY) 5 &gt; if{
					(A:FUEL TANK LEFT MAIN QUANTITY, Gallons) (>L:STORED_LEFT_FUEL)
					(A:FUEL TANK RIGHT MAIN QUANTITY, Gallons) (>L:STORED_RIGHT_FUEL)
					0 (>L:START_STORED)
					}
				</UPDATE_CODE>
			</UseTemplate>
		</Component>

Hi Asobo,

It just got worse. We found even when using our timer in the second post this only works when loading on the apron. If you load on the runway it fails and here is why. Loading on the apron and not clicking the start after the timer is up still works. So this means the apron only loads the 50% fuel one time in the beginning. But loading on the runway if you let the timer run out then click the start it resets the fuel again back to 50% and you are stuck with that fuel amount. So we are throwing the towel in for any fix on our end and will have to let our customers know this is an Asobo bug and they will need to fix it.

Looking forward to it working exactly as it did in 2020.

Yeah something changed recently. I also have a timer system. I pause and lock the timer depending on the camera states.

At 0 nothing happens. At 2 the state is being loaded in. Once inside the cockpit or chase cam the timer continues with other items.

Not sure this correlates with my topic. My timer example was just an example to show how the fuel loading is an issue. I have no issues with a timer.

1 Like

Hello @Flysimware

This seems to be the result of changes made to how FLT files are loaded.
taxi.flt and runway.flt are loaded when starting a freeflight on the runway, going through the taxiing RTC and clicking “Ready To Fly”.
This used to not affect fuel levels in MSFS 2020 but now does in 2024.
I’m not sure this is intended and it will be reviewed regardless.

As for workaround, I’m not sure there is one.
The only thing I can think of is tracking the “END_BRIEFING” Coherent event that is triggered when clicking “Ready To Fly”, and restoring your fuel levels after it was received.

Regards,
Sylvain

1 Like

For now I can try using the variables for the pre flight. And once they end then I might try to set our fuel logic.

Not sure how one would track the “END_BRIEFING” Coherent event???

In JS, this would look like:

Coherent.on("END_BRIEFING", () => {
your code
});

What variables are you thinking of?

Regards,
Sylvain

I was thinking of these variable or if there is one for the pre flight mode and when pre flight is finished I could set the fuel. But this would be very late depending on when the user finishes. But it would work for now. I think I will just wait for a fix.

[Covers]
Chock=On
Pitot=On
Engine=On
Static_Port=On

COVER ON:1
COVER ON:2
ECT,

Hello @Flysimware

This issue should now be fixed with SU5 Beta and your persistent fuel system should now behave as it did in MSFS 2020.
Let us know if this is good for you.

Regards,
Sylvain

1 Like

HI @FlyingRaccoon

Just wanted to confirm that the fuel issue is fully resolved on our end — thank you very much for fixing it.

We tested multiple scenarios:
• Returning to the main menu and reloading a flight
• Changing fuel quantities and then restarting the flight
• Loading directly on the apron and on a runway

In all cases, the aircraft now correctly retains and restores the fuel quantity from our save state. Whatever fuel amount we leave with is exactly what we come back with.

It’s behaving just like 2020, exactly as you mentioned.

Really appreciate the fix — thank you again!

2 Likes

Hello @Flysimware

I am reopening this issue as we have identified there are still some race condition between your fuel initialization and the FLT loading.
So your aircraft can still end up being loaded with 50% fuel from time to time.
We are working on a fix that will come with a later SU5 flighting update.

Regards,
Sylvain

1 Like

This is fixed with SU5 Beta 1.7.11.0.

Regards,
Sylvain