Change log

A while ago I got the feedback that the change log that is included with my tools and can also be viewed here on the site was not really clear. The change log was automatically generated from the commit message in my version control.

Yesterday I have modified the script used to generate the change log, now it will be generated only from the merge requests and no longer from all commits. Also does it list more clear which tools are affected by a certain change. The only downsite is maybe that the layout is less fancy, but I didn’t want to spend too much time on that.

The improved change log is included in the tools from now on and can also still be viewed here on the site of course.

ModelConverterX changes

Over the last months I have been working on improving the FS2004 aircraft MDL export from ModelConverterX. While working on this I have made some changes that affect the general usage of ModelConverterX as well, so I want to give an overview of them in this post.

Attachpoint orientation

While making sure that landing lights and taxi lights of FS2004 aircraft export correctly, I have refactored the way the X file are writen by ModelConverterX. While working on this I have also double check that all attached effects, attached library objects and attached platforms are still working correctly in both FS2004, FSX and P3D. Everything is working consistently now.

But there is one change and that is that for some objects the orientation is now shown differently in MCX. For most attached objects the Z axis is the upward direction. For example an attached smoke stack will flow in the direction of the Z axis. But for landing lights and spot lights the direction of the light is different, they shine along the -Y axis. Before this used to by the +Y axis, so be aware that you need to position your lights differently now inside ModelConverterX.

Representations

FS2004 stores the virtual cockpit representation in the same MDL file as the external representation, while in FSX and P3D these are stored as two separate MDL files. To be able to export these representations to FS2004 correctly I have made a change to the internal representation that ModelConverterX uses for the objects. It is now possible to store different object representations and you can also select which one you want to render in the preview with a dropdown box. ModelConverterX supports the following representations:

  • External.
  • Internal (for virtual cockpit).
  • Shadow (used for custom shadow model, at the moment this representation can only be read from file and not yet exported).

The image below (which comes from the updated ModelConverterX manual btw), shows an example of the external and internal representation for an aircaft model.

When reading FS2004 aircraft MDL files or when reading aircraft using the aircraft.cfg file for FSX (or the sim.cfg file for P3D) ModelConverterX will now read the different representations into one object. If you just load a MDL of a specific FSX representation you only get the representation that you have loaded.

On export the FS2004 aircraft MDL exporter will write both representations to the MDL file when present. For all other exporters it depends on a new setting in the exporter settings. You can set them to either:

  • Give preference to the external representation and only write that one when present (this is the default value).
  • Give preference to the internal representation and only write that one when present.
  • Write separate files for each representation.

Found any bugs?

I have spend quite some time on testing all these changes, but I do also realize that they have a relative big impact on ModelConverterX as well whole. So if you encounter any issues or weird things with the current development release, please let me know by posting it on the forum. And I will make sure to look at them as soon as possible.

FS2004 aircraft mdl export

Some features are on the ModelConverterX wishlist for quite a while already. For example the feature request to export FS2004 aircraft mdl files with working animations and such is on the list for over 10 years already. And given that FS2004 is less popular nowadays I thought I might never come around to implement this feature request.

But sometimes strange things happen. A question from an user on the FSDeveloper forum triggered me to have another look at how MakeMDL handles custom animations and suddenly I realized it is not that different from how XtoMDL does it. Because I thought it might not be too hard to implement therefore, I decided to give it another try.

Of course reality is always different, because it still took me around 2 months to work on this. Once I had the animations exporting correctly, it turned out the reading of visibility conditions was not optimal and this affected the FS2004 aircraft mdl export as well.

But now that is all behind me and the latest development release of ModelConverterX can export a FS2004 aircraft MDL file with working animations and visibility conditions. I’m sure it will not work perfect on any aircraft around, but I think it should be a start for developers still working for FS2004. And if you encounter any issues with a specific model, just let me know via the forum.

Happy 20th anniversary

Today SceneryDesign.org is 20 years old. On 17 August 2003 I started this website as a new community for Flight Simulator scenery designers. I did this because there was a scenery design forum at AvSim.com at the time, but I thought a dedicated community where developers could share experiences would be useful as well.

After a couple of years the community expanded into other addons than scenery design as well and it was renamed to FSDeveloper.com, so in a way this is also the 20th anniversary of the FSDeveloper.com community.

A few years after the community was renamed to FSDeveloper.com I restarted the SceneryDesign.org website, but now the central website for information about my flight simulation tools and for my personal blog out my flight simulator activities. And that is what this website still is today.

64-bit only development releases

With the release of the new stable releases ModelConverterX 1.6 and scenProc 3.1, the development releases have also been updated. The ModelConverterX development release is now version 1.7 and the scenProc development release is now 3.2.

In these new development releases there is a big change directly, they only support 64-bit now. This means you can no longer run them on a 32-bit OS. A recent poll also showed that nobody was using the 32-bit version anymore. Therefore I have decided to simplify the build process and remove the support for the 32-bit version. A factor in that decision was also that I test and develop on 64-bit only, so the 32-bit version of the tools was already tested much less.

With these changes it is recommended that you do a clean install of the new development releases, instead of installing them over an older version.

ModelConverterX 1.6 stable release

I have just released a new stable release of ModelConverterX based on the current development release. This means that all changes made since the ModelConverterX 1.5 stable release are now part of the stable release as well.

The main differences between ModelConverterX 1.5 and 1.6 are:

  • Improvements to reading and writing DDS files
  • Support for factor of 4 texture sizes as used in MSFS
  • Correct rendering of MSFS normal maps in the preview
  • Allowing command line conversions with ModelConverterX
  • Many bug fixes and smaller improvements

You can find the download information for the new stable release on the ModelConverterX page.

scenProc 3.1 stable release

I have just released a new stable release of scenProc based on the current development release. This means that all changes made since the scenProc 3.0 stable release are now part of the stable release as well.

The main differences between scenProc 3.0 and 3.1 are:

  • Ability to export MSFS scenery as well
  • Updates to usability of the texture filter editor
  • New file format for the texture filter configuration and building texture configuration
  • Machine learning based SVM step in the texture filter editor for feature detection

You can find the download information for the new stable release on the scenProc page.

Prepar3D v6 support

Lockheed Martin has released a new version of Prepar3D, version 6. I have now updates my tools to support this version as well. That means you can select it as active FS version, that it will detect the installation location and that the SDK tools are also found from the Prepar3D v6 SDK.

The only disclaimer with this update is that I do not own Prepar3D v6 myself, so I have not been able to test everything. If you encounter any issues, please let me know.

scenProc roadmap

Last month we were on vacation and traditionally that means no computer and no programming on FS tools for a while. But of course you always have your brain with so, so vacation is a good month to think about new features for tools and things like that. During the last vacation most thinking-energy went into scenProc and I would like to share the roadmap I see for the future with you.

Let me start with a caution as well. There is no concrete project that I am working on at the moment that requires the things I want to add. So it is purely out of interest that I try to research these new features. I have no idea when or if I will reach the end state I have in mind. I guess only future will tell, don’t hold your breath for it.

scenProc started as a tool to make the creation of autogen for big areas easier. But I think the limits of what can be done with autogen are kind of reached already. So not too much new features can be added it that anymore. Later on I also added terrain vector and resample scenery output in scenProc and the possibility to create 3D buildings (as MDL objects). The latter is really useful to overcome the limitations of autogen when trying to create realistic buildings in a big area. Autogen is always rectangular and that just does not fit real world buildings that well.

My plan is to improve the 3D building output, by adding more roof types and allowing more complex shapes. For example have mansard roofs as well or allow different heights and different roof types within one building. I have actually started coding some of these features already, I will make a sneak preview video of the results soon. I think this 3D building generation would also be useful to have in ModelConverterX, as it will allow you to make generic buildings areas than modelling them in Blender or 3DS Max. So I think the new features I develop for scenProc will also make it into ModelConverterX as a new wizard later on.

But the whole idea of scenProc is of course to be able to generate scenery in a geo-data driven way. So to be able to feed that 3D building step that can make more realistic buildings, it is needed to somehow get the data that define these buildings. I haven’t seen a lot of GIS data that contains information on roof types and such. So my intend is to derive this information from raster imagery.

That however won’t be possible with the basic texture filter that is available now. Last year I have added the first bit of machine learning to the texture filter with the SVM step and I think more machine learning algorithms are needed to derive such building details as well. I have already found some scientific papers on these subjects as inspiration. But for me all these machine learning algorithms are also quite new, so I guess it will be some learning curve.

Once learning more machine learning methods, I think other features than buildings will also benefit from it. For example the detection of water or vegetation might also benefit from these techniques. I even think that doing water detection with machine learning might be a good way to learn the techniques, before I jump in the more complex problem is detecting roof types.

So to sum this all up, I mainly see new scenProc features in these three areas of the coming period:

  1. Improvements to the 3D building output to generate even more realistic buildings.
  2. More machine learning techniques in the texture filter to detect information from imagery. This will benefit:
    • Water detection
    • Roof type detection

XtoMDL prerequisites

One common issue when trying to compile objects using XtoMDL in ModelConverterX is that XtoMDL can throw very unclear error messages when the XtoMDL tool is missing one of its prerequisites. For example the FSX XtoMDL needs a very specific DirectX version to the installed and different P3D XtoMDL versions depend on different C++ redistributable package versions. For a user it is often not clear that the error throws is related to such a prerequisites.

In the last development release of ModelConverterX I have made a change. The tool will now check if the right prerequisites are installed before you use XtoMDL and it will give a clear error message (including a download link) in case something is missing. That should make it a lot easier to make sure XtoMDL is working fine.

There is one big catch, on my machine I had all the prerequisites installed already of course. So I was not able to test it well in a situation where things are missing. So if you encounter any weird situations where ModelConverterX reports invalid prerequisites where it shouldn’t or where after installing the prerequisites it still does not work, please let me know.