Though somewhat inconsistent, here's my latest smorgasboard of (hopefully) valuable information for developers:
The folks at FreeFlightDesign were kind enough to let me know about their site, the tutorials they provide, and even a GMax sample aircraft to help add-on developers who use GMax get a better idea of how to build 3D aircraft models. Lots of great stuff on this site that help to explain how to use the SDK.
Quick tip on building SimConnect applications on a native 64 (x64) bit OS:
Some folks compiling SimConnect Add-ons on a native 64 bit OS have reported the following error when attempting to compile their program:
"BadImageFormatException loading the Microsoft.FlightSimulator.SimConnect library"
This has been determined to be caused by the default compilation configuration settings on Visual Studio products when installed on a x64 OS.
Here is a nice blog entry with a table outlining compatibility between platforms. FSX is configured as a 32 bit application (x86) – so any consumer of SimConnect.dll has to be compiled with x86.
The workaround is to use "x86" in the configuration manager instead of "anycpu" or "x64" when compiling a SimConnect Add-on. The x86 version of Visual Studio Express 2005 should work fine on any 64 bit OS.
Its a bit undiscoverable as by default the configuration manager does not show up in Visual Studio C# Express - here is how to change from "AnyCPU" or "x64" to "x86" configuration (from VS Express Support Site):
1. Open Tools->Options
2. Check “Show all settings”
3. Check “Project and Solution->Show Advanced Build Configurations”
4. Open Build->Configuration Manager
5. Select the combo box under the “Platform” column for the project you want to target x86
6. Choose “NEW…”
7. Under “New Platform” select x86
8. Click OK, then Close
9. Note that the Toolbar combobox for Platform Configuration now lists both "x86" and "AnyCPU" and has x86 selected
10. Building, running and debugging will now build x86-only binaries. You can switch back to the "AnyCPU" configuration to change this if necessary.
This should also work on native applications as well, though I have not confirmed this behavior.
Hope this helps! I welcome any feedback that helps me help the community!