Remember form states

For scenProc I already implemented a function a while ago that it would remember the position and size of the different forms when using the application. For ModelConverterX such a feature was on the wishlist for quite a while already as well.

Today I finally implemented it and compared to the way I did it in scenProc a while ago I now made a very generic implementation, so that I can use it on any form in any application. So that way I hopefully don’t forget to enable it in the future when I add new forms to ModelConverterX.

If you grab the latest development release it will remember where you put all the different forms. So that means that you can nicely organize the main windows, the material editor and the other editors side by side. And next time ModelConverterX will have remembered your layout.

ModelDef viewer improvements

I have made two improvements to the ModelDef viewer in ModelConverterX lately.

The first one is that you can now search in the ModelDef file. At the top you find a toolbar with a text box for the search string and a previous and next button to search backwards or forward for the entered search string.

The second improvement is that you can now only show the part of the ModelDef file that is being used by your model. This is selected with the checkbox in the toolbar. If you select it (which is the default value now), only the animations and part info’s that are used in your model are shown. This will greatly reduce the list in many cases.

Which Visual C++ runtime files does XtoMDL use?

A problem often reported for ModelConverterX is that XtoMDL throws some kind of error when trying to compile. These are often the result of missing dependencies on the system of the end user. For example DirectX 9.0c not being installed. But XtoMDL (and its DLL files) also depend on the Visual C++ runtime files. Unfortunately which version you need differs between the different version of FSX and Prepar3D. In the table below I have tried to create some overview:

FS version Visual C++ version
FSX Visual C++ 2005
P3D v1 Visual C++ 2010
P3D v2 Visual C++ 2010
P3D v3 Visual C++ 2010
P3D v4 Visual C++ 2013 and Visual C++ 2015
FSW Visual C++ 2010 and Visual C++ 2013

Dynamic lighting

I have finished a new feature for ModelConverterX, so just in time as a big Christmas present to all ModelConverterX users. Since my summer vacation in July I had an idea how I wanted to support the new dynamic lighting feature of Prepar3D v4 and now I have finally implemented it. This means that you can use ModelConverterX to preview the dynamic lighting and to generate the effect files that place the dynamic lights. You will find this new feature in the latest development release. I’ll explain how it works in this blog post.

If you are loading an object that includes special effects with dynamic lighting, make sure you have the rendering of the spot lights enabled in ModelConverterX. That’s the button I encircled in red in the image on the right. If this button is off, ModelConverterX will not render the spot lights for you.

If you want to add a new spot light to your object, you can do this from the Attached Object Editor. In the Add drop down menu you will find a new object for Spot light. This will add a spot light object to your model. Using the Attached Object Editor you can now tweak and position the spot light.

In the image below you see the different properties that you can set for a spot light. Setting the position and orientation works like any other attached object.

In the Light category you can specify the color of the spot light and if it should be blinking or not. In that case you need to enter a duration value for the blinking.

The Spot light category contains all settings that are unique for the spot light. This includes the inner and the outer cone, the range up to which the light is effective and the strength of the light. All these values have affect on the rendering in the preview. The special effect file is generated based on these values you enter.

If you have the rendering of attached objects enabled in the ModelConverterX preview, you will see the cone rendered visually as shown in the picture below. The brighter cone is the inner cone and the more darker one is the outer cone. If you change the values in the properties the cone rendering will change. The length of the cone is linked to the range that is specified for the spot light.

There is one other new feature I would like to mention. In the importer options you will find a new setting called “Replace effects by lights”. By default this is set to false, but if you set it to true ModelConverterX will try to replace the (spot) light effects in your model with (spot) light objects. This means that you can tweak all the properties like when you are creating them new. With the default value ModelConverterX will just load and show the special effect files. But then it is harder to change how the light looks.

I hope you will enjoy this new feature!

FSW MDL support & Material editor filtering

Last week Dovetail (finally) released a SDK for Flight Sim World (FSW). I have now updated ModelConverterX to support the FSW MDL format as well. This means you can read and write the FSW MDL files. To write them (or the FSW BGL files) you need to have the SDK installed.

I can’t garantuee that all new PBR material attributes are read correctly from the MDL file. I tried to locate most of them, but some I can’t find yet (when I change them in the X file, nothing changes in the MDL file). So let me know if there are specific issues.

With the new FSW material attributes the amount of attributes in the material editor has grown even more. So I have also added a filter to the material editor now, so that you can show the variables that are relevant for the FS version you are working with. For example if you select FS2004, you will only see those that are exported to FS2004.

X-Plane OBJ exporter

I have added an exporter for a new format to ModelConverterX, you can now also export to the X-Plane OBJ format. Importing this format was supported for quite a while already and now I have finally added the export as well. The following aspects are supported by the exporter:

  • Textures (diffuse and nightmap)
  • Levels of detail

Because the X-Plane format only allows one texture per object, MCX will output multiple files if your object uses multiple textures. I’ll try to add support for additional material related attributes soon. I think there are some settings that can be mapped from the FS material settings.

Animations are not yet supported, with the options available in the OBJ file it is hard to express all aspects of the animation that MCX knows. The X-Plane OBJ format does not support transformation matrices.

Autogen Configuration Merger 1.1 released

I have just released a new stable version of Autogen Configuration Merger, you can download it via the ACM page. This version adds support for Prepar3D v4. This has been in the beta release for a while and is stable enough now for the stable release. Another change that was recently added is that sceneries added via add-on.xml files are now also read by the tool. So please use this version from now on in your sceneries.

ModelConverterX command line arguments

Related imageModelConverterX supports a number of command line arguments, for example to load a file at startup or to start a batch convert. I have now added a few extra command line arguments to give more flexibility. Below example usages are given.

Loading object

To load an object at startup of ModelConverterX you can just specify the filename you want to load.

modelconverterx.exe your_object.mdl

Loading object with specific livery

If you are loading an aircraft object and want to specify which livery to show initially, you can add the livery option to specify the name of the livery to select.

modelconverterx.exe your_object.mdl -livery selected_livery

Batch process file

In the batch convert wizard you can save the batch settings to file. You can then call this file from the command prompt to apply it to the object you specify.

modelconverterx.exe -batch batch_settings.mbc your_object.mdl

You can convert multiple objects at once by specifying them all.

modelconverterx.exe -batch batch_settings.mbc your_object.mdl your_object2.mdl your_object3.mdl

 

Mouse rectangle mess

Image result for mouse cord knotModelConverterX can read and write the mouse rectangles of virtual cockpit MDL files for quite a while already. But this week I fixed some annoying bug in that code. These bugs must have been there for quite a long time already. Now and then some issues with mouse rectangles were reported on the forum, but it was always hard to reproduce them since they typically show up in complex virtual cockpit models that are hard to debug. But with some good tips for forum users I was able to reproduce the problem in a simple object this week and that made solving the bugs a lot easier. So if you grab the latest development release now, you will not have problems with mouse rectangles suddenly getting other tooltips or that kind of bugs. This should make it more safe to edit virtual cockpit files with ModelConverterX.

What kind of bugs did I fix? First there was an issue that the mouse rectangle definitions were not always found correctly in the modeldef.xml file, so unnecessary extra definitions were made for that. This was caused by a bug in the implementation of the Copy tag in the modeldef.xml file.

Secondly the tooltips got mixed up on export sometimes. This was only the case for the custom mouse rectangle definitions that ModelConverterX made, so with the first bug solved this is less common already. But I found out that I wrote some elements wrong to the XML file, so that is also fixed now.

Just let me know if you find any more issues, as I’m not an aircraft development by origin, I’m less familiar with these aspects of MDL files.