Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Mission SPB/XML files incompatible (at importing stock missions from FSX)

Featured Replies

Hi,

 

I want to import the FSX stock missions into Prepar3D v2.2 and ran into a big problem.

I imported the stock aircraft from FSX before that (with gauges, effects, ...) and they work fine.

It seems that many SPB files from the stock missions are not compatible with Prepar3D. I used this tool to convert the SPB files to mission XML files to edit and compare them easier.

There are two missions that won't work as FSX stock, but that are already present in P3D (e.g. emergency\CAP). So I compared the XML and one thing the FSX stock was missing was the entry

<WorldBase.ObjectReference InstanceId="{1CCF6D89-BA36-445F-B5C8-47571ABC0773}" />

in an "SimMission.AdjustPayloadAction" block. Adding this to the mission XML auf FSX stock was enough to make it compatible wit P3D.

 

Unfortunately other Missions are more complex and I have nothing to compare them with. I tried adding that ObjectReference to every "AdjustPayloadAction" block that is missing one in other mission XMLs as well, but it won't work.

The only other thing I noticed worth trying in the XML was changing the category references to category ids that are known to P3D, but no look with that, too.

 

If Prepar3D does not except a mission SPB/XML the only message I get is:

 

"Mission [Kwazulu_Mission] from Flight [Kwazulu Rhino Rescue.FLT] failed to load. Flights stored in the Missions directory are expected to be missions. Please verify your flight is linked to a mission, that your mission has scenario metadata, and that your scenario metadata has its scenario type set to mission."

 

Then the mission is loaded not as mission but as a normal flight.

 

I know the error is really about some kind of error parsing the mission file from the cases I could fix (the scenario metadata block in the XML is fine).

 

Is there some kind of debug log, where I can see what is the exact error at reading the mission file?

How can I validate a mission file and see what is wrong? They work in FSX after all.

 

----

 

I have another smaller issue with the missions, which is not so urgent: Where is it defined in which subdirectories under "missions" Prepar3D looks for missions? E.g. the directory "Backcountry" that is used in FSX. Missions there are not found, but when I copy them to "Emergency" they are. It has nothing to to with the category definition XMLs, I tried that...

 

Thanks it advance,

Jan

Windows 11 Pro - Ryzen 3 5900X - nVidia RTX 4090 - 32GB DDR4-3600 === Microsoft Flight Simulator

SimDirector is Prepar3D's v2.x new mission creation tool, so it's not surprising there are changes, especially the Mission Creation SDK from the FSX SDK doesn't exist in P3D.

Gerry Howard

  • Author

It seems that the SimDirector is a helpful tool for fixing the mission files.

While it can not fix a mission by itself, when loaded it shows validation messages for the mission. Errors have to be fixed, warnings can be ignored.

It tells me which object has the error and then I can search that objects node in the XML and compare it with other nodes of the same type that have no error. Then I can fix the XML and reload in SimDirector to see if the error is gone.

So far I found the following list of what seems to not be valid now:

 

FLT-file

  • set path to ".\" (as in the missions included in P3D)

 

Mission-XML (from SPB, no need to recompile to SPB, just leave the XML there and delete the SPB)

  • "SimMission.AdjustPayloadAction" must have a "WorldBase.ObjectReference" (see first post)
    In FSX a missing reference was fallback to the player, so I can just set a direct reference to the player there ({1CCF6D89-BA36-445F-B5C8-47571ABC0773}).
  • A node "GroundVehicleAI" must not contain a node "WaypointList".
    I could just delete them, in my case there were seperate waypoint list objects that were referencing the AI object. Those lists already contained the settings that were additionally nested in the AI object.
  • There was a model missing in "scenery\Global\scenery\Vehicles_Aircraft.bgl". I extracted the missing MDL from the FSX BGL and packed the file in a new BGL that I put in "scenery\Global\scenery".

I'll just fix the mission one by one when I need them.

 

For the mission sub-directory issue:

The category XML were the solution after all, but the "title" node has to have exactly the folder name as value. That was different in FSX. There the folder names were the default English ones while the title in the category XML were German display names. So either FSX has an additional mapping or just reads all sub-directories.

But is is working with folder names as title.

 

Only thing left is a wrong encoding of German special characters from the texts in the FLT file (texts from other files are ok).

 

Jan

 

P.S.: The flying school lessons from FSX seem to not be working nonetheless. Those are using FLT together with the old ABL script format and resources scattered through the whole installation directory. My try to enable them in P3D messed up the installation completely and I had to reinstall...

Windows 11 Pro - Ryzen 3 5900X - nVidia RTX 4090 - 32GB DDR4-3600 === Microsoft Flight Simulator

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.