Fixed issues reading MSFS 2024 MDL files
Fixed a number of issues in reading MSFS 2024 MDL file.
Affected tools/features: ModelConverterX, Severity::bug, reader
Resolve "Read MSFS 2024 MDL file"
Made sure that MSFS 2024 MDL files, which contain compressed glTF binary data are also read correctly.
Closes #6708
Closes #6710
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Resolve "Light simmetry vs symmetry"
Made sure that glTF files write the has_symmetry attribute correctly for lights. When reading the has_simmetry attribute is still supported for backwards compatibility.
Closes #6742
Affected tools/features: ModelConverterX, Severity::bug, reader, writer
Resolve "System.ArgumentException: Requested value 'Always' was not found."
Made X reader more robust for invalid enuneration values, when encountered the default value of that attribute is used instead.
Closes #6741
Affected tools/features: ModelConverterX, Severity::crash, reader
Quadratic error LOD Creator improvements
Improvements to the quadratic error LOD creator algotihm. Not only consider the average vertex for collapsing edges, but also the start, end and optimal vertex. The one with the smallest error is selected for the collapse.
Added additional weight factors for open edges and texture mapping discontinuities to take these aspects into account in the simplification as well.
Closes #416
Affected tools/features: ModelConverterX, editor
Scenery Object Editor merge action
Renamed "Add object" to "Merge scenery" in the Scenery Object Editor to make clear that this function can be used to merge two sceneries.
Affected tools/features: ModelConverterX, editor
Performance optimization reading X file
Improved performance while reading (large) X files by improving the vertex optimization of the mesh.
Affected tools/features: ModelConverterX, reader
Resolve "System.IndexOutOfRangeException: L'index se trouve en dehors des limites du tableau."
Made sure that glTF reader can read color information from both 3 and 4 component vectors.
Closes #6738
Affected tools/features: ModelConverterX, Severity::crash, reader
Resolve "System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index"
Fixed crash when reading X-Plane OBJ file that only specifies one value for ATTR_LOD. In this case a near value of 0 is now assumed.
Closes #6737
Affected tools/features: ModelConverterX, Severity::crash, reader
Resolve "Add option to export glTF file without model XML file"
Changed option to specify if model XML file should be written so that 3 possible values can be configured now: Yes, No, WhenNotExists.
Closes #6735
Affected tools/features: ModelConverterX, Severity::feature-request, writer
Resolve "Add batch operator to change attached light parameters"
Added new batch operator "Emissivity multiplication" to allow batch multiplication of material emissive factor and attached light strength parameters. This is useful when converting models between MSFS 2020 and MSFS 2024.
Closes #6736
Affected tools/features: ModelConverterX, Severity::feature-request, editor
LOD Creator performance optimizations
Performance optimalizations to let the vertex clustering and quadratic based error LOD creators work much faster.
Closes #236
Affected tools/features: ModelConverterX, Severity::bug, editor
Resolve: "Colors in MSFS 2020 darker"
Fixed bug after recent MSFS 2024 changes that resulted in textures not showing correctly in MSFS anymore. The UV tiling options had a wrong default value.
Closes #6733
Affected tools/features: ModelConverterX, Severity::bug, writer
Resolve "MSFS light not shown in MCX"
Support MSFS 2024 ASOBO_street_light extenion while reading and writing glTF files.
Closes #6703
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Code cleanup Utils
Code cleanup of Utils assembly.
Resolve "X file MeshVertexColors"
Made sure that the X reader can process both the P3D and the Standard MeshVertexColors template.
Closes #6732
Affected tools/features: ModelConverterX, Severity::crash, reader
Restructure test cases
Restructured test cases and added code coverage to more tests. Also show coverage results in Gitlab now.
Removed code smells
Removed code smells based on code quality analysis.
Code cleanup
Performed code cleanup to reduce dependencies and to remove old code that was no longer relevant. Also renamed some DLL files to have more consistent names.
Deployment script typo
Fixed another type in deployment script
Fixed deployment script
Fixed another type on the deployment script
Fixed mistake in deployment script
Fixed mistake in deployment script
Replace Ionic.Zip
Replaced 3rd party library used to handle ZIP files by build in .NET functionality
Affected tools/features: ModelConverterX, scenProc
Error reporting model.cfg
Include the model.cfg file in error reports that are uploaded when it exists. Some reported issues happen while parsing this file and can't be reproduced now.
Affected tools/features: ModelConverterX
Test dependencies
Modified the test cases so that they depend on less projects to speed up building and testing.
Affected tools/features: ModelConverterX, scenProc
Resolve "Write texture XML from material editor"
Added option to the material editor to write the MSFS 2024 texture XML files when saving textures.
Closes #6725
Affected tools/features: ModelConverterX, Severity::feature-request, editor
.NET SDK projects
Updated the projects to the .NET SDK format and get more 3rd party libraries using NuGet.
This change does not any new functionality, but it allows the usage of more recent .NET/C# code in the future.
Affected tools/features: ModelConverterX, scenProc
Resolve "Crash DetectFsFolder"
Fixed crash when generating footprint from special tools menu.
Closes #6730
Affected tools/features: ModelConverterX, Severity::crash
Resolve "Problem with MCX reading some BGL file contains Gltf and Bin files"
Do not show warning about null buffer anymore for a MSFS MDL file that only contains glTF JSON data.
Closes #6727
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Resolve "Check MSFS 2024 material options"
Added new MSFS 2024 material options to the data model and to the glTF reader and writer. You can now select to export as a MSFS 2020 glTF file or a MSFS 2024 glTF file.
Closes #6717
Affected tools/features: ModelConverterX, Severity::feature-request, editor, reader, writer
Resolve "Use last version of Assimp.dll (5.4.3.0)"
Updated assimp version that is used for reading and writing formats like COLLADA and FBX to the latest version 5.4.3. Also changed the .NET framework version that the tool target from 4.7.2 to 4.8.
Closes #6729
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Resolve "Use new version of Pfim"
Updated to the latest version of pfim which contains performance improvements.
Closes #6728
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Resolve "System.NullReferenceException
Fixed crash when loading X file that has materials without a name.
Closes #6726
Affected tools/features: ModelConverterX, Severity::crash, reader
Resolve "Error generating footprint in placement editor"
When generating detailed footprint polygon in the object placement editor fails, the fallback is now to create a rectangle based on the bounding box of the object (like was the behavior before the detailed footprint was added).
Closes #6722
Affected tools/features: ModelConverterX, Severity::crash, editor
Resolve "Export MSFS 2024 package"
Allow MSFS version to be specified in the ExportMSFS step.
Closes #6721
Affected tools/features: scenProc, writer
Resolve "scenProcBatchRunner not registering workers"
Fixed bug that scenProc workers and batch runner did not communicate with each other due to a conflict with a DLL file used for the error reporting. The scenProcBatchRunner is now provided as a separate tool from scenProc to prevent this issue.
Closes #6720
Affected tools/features: Severity::bug, scenProc Batch Runner
MRS performance test case
Added test case to be able to measure multi resolution segmentation (MRS) performance.
Affected tools/features: scenProc
Resolve "Export MSFS 2024 scenery package"
Allow exporting and compiling of MSFS 2024 scenery package as well. Main difference with MSFS 2020 is that the 2024 FSPackageTool is used and that XML files are written for the textures.
Since MSFS (2020 and 2024) do not allow the FSPackageTool output to be capture by other programs anymore, the default compilation is now to show a separate console window with the results and wait for pause after the compilation is done. This behaviour change be changed in the options if you want.
Closes #6716
Affected tools/features: ModelConverterX, Severity::feature-request, writer
Resolve "MSFS 2024 as supported version"
Added MSFS 2024 to the options so that the path and tools can be specified. Also added automatic detection from registry and environment variables. This is the basis to update other functionality to support MSFS 2024 as well.
Closes #6715
Affected tools/features: ModelConverterX, Severity::feature-request, scenProc
Resolve "Support KTX2 texture format"
Added support to read the MSFS 2024 KTX2 format. The Texture Converter tool can be used to convert KTX2 files to other formats if needed.
Closes #6707
Affected tools/features: ModelConverterX, Severity::feature-request, reader
Resolve "Export/import texture channels"
Added functionality to the texture convert to export and import channels to allow editing in external tools. And to invert texture channels.
Closes #6692
Affected tools/features: ModelConverterX, Severity::feature-request
New development release versions
Set the versions for the development release to ModelConverterX 1.8 and scenProc 3.3.
Affected tools/features: ModelConverterX, scenProc
Resolve "System.IndexOutOfRangeException: Index was outside the bounds of the array."
Prevent crash when reading glTF file that contains parts that have zero length arrays.
Closes #6718
Affected tools/features: ModelConverterX, Severity::crash, reader
Resolve: "Make reading TF2 file more robust"
Made reading of scenProc TF2 file more robust when for example the file with sample images is missing.
Affected tools/features: scenProc
Resolve "attachpoints from empty glTF nodes"
Added option in the glTF reader to turn empty nodes in the glTF file into attachpoints in MCX.
Affected tools/features: ModelConverterX, Severity::bug
Resolve: glTF bin error reporting
Made sure that glTF file is also uploaded when reporting an error with a bin file.
Affected tools/features: ModelConverterX
Resolve "Not all parts read from MDL with visibility conditions"
Fixed issue with scaling when reading FS2004 aircraft MDL files.
Closes #6169
Affected tools/features: ModelConverterX, Severity::bug, reader
Resolve "VC missing many gauges on export"
Fixed issue that VC parts on exported FS2004 aircraft could be shown as fully transparent in the preview.
Closes #6468
Affected tools/features: ModelConverterX, Severity::bug, writer
Resolve "Incorrect warnings about file that does not exist"
Fixed issue that CreateAGNVegPoly step could get into an endless loop. Harmonized warning text over different file argument types.
Closes #6701
Affected tools/features: Severity::bug, reader, scenProc
Resolve "Bug in effect controller placement"
Fixed issue that incorrect controller FX file was written and that the X file did not reference the controller correctly. Also made sure that a controller FX can be parsed back into lights.
Closes #6705
Affected tools/features: ModelConverterX, Severity::bug, writer
Extra test cases
Added extra test case to cover the issue with creating untextured buildings with the Create3DBuilding step.
Closes #6704
Affected tools/features: Severity::crash, scenProc
Resolve "Create3DBuilding error with 6 arguments"
Fixed crashes when running Create3DBuilding step without texture arguments (only 9 arguments passed).
Closes #6704
Affected tools/features: Severity::crash, scenProc