Fixed SODE start-up behaviour concerning object injection in FSX and FSX-SE
Jetway Control System
Fixed undue swapping of static and dynamic jetways in certain situations
Improvements and enhancements to SODE-GSX API regarding the signalling of AI jetway operations
A SimObject depending on weather data (e.g. WindDirection, WindSpeed) which is however not listed in the ClientList of the EnvironmentalDataProbe or the EDP has not been loaded, the SimObject will not be injected anymore by SODE. This is visible in the log file.
Fixed a bug where the 3D sound position was not updated in certain conditions (e.g. resulting in no jetway sound audible)
Automatic reset of parking position objects when aircraft moves away now also supports VDGS-only parking positions (i.e. without a jetway)
Fixed crash during SimBubble update when moving out/in of airport areas
Fixed removal of unwanted objects during a untimely SimBubble update
SimBubble update (reset of all objects) is now better coordinated with the jetway control system: It will wait until all jetway animations are aborted before removing the jetway
Log file output cleaned up and formatting unified
Jetway Control System
Complete re-write of the AI aircraft jetways handling logic, fixing several bugs which have lead to crashes within SimObjectAnimationModule.dll
More aggressive swapping of dynamic back to static jetway model in case of AI aircraft removal/reset
Improved AI detection handling leading to faster jetway assignment
Fixed bug where a linked SimObject’s position was not updated correctly during animation
Enhancements done to SODE-GSX-API to support triggering of jetways to AI for GSX
Added “old” Honeywell VDGS unit support (SODE VDGS Pack 1.1)
VDGS Pack version is now displayed in the SODE menu
Added support for non-standard location of SimConnect.dll on some systems (Detection of SimConnect installation)
Fixed a bug in the object injection loop, preventing jetways to initialize their positions properly in P3Dv5
Added support for slight lateral offsets of the nosewheel definition when reading the aircraft.cfg
Prepar3D v5 support.
Fixed false alerts from Anti-Virus programs by enabling the control flow guard option within Visual Studio’s ‘Code Generation’
Jetway Control System
Enhanced SODE API to allow GSX more possibities to trigger its own injected jetways
Minor changes to support some “non-conform” ICAO aircraft type designators (as used in aircraft.cfg “atc_model”), e.g. CRJ1000, B781 instead of correct CRJX, B78X.
Fixed wrong page number display in the text menu
Fixed application crash when an (illegal) 5-letter ICAO airport designator was detected
Fixed handling of relative SimObject folders in add-on.xml, where the folder is defined just by its raw name and not with ‘.\’
Jetway Control System
Fixed bug where SODE to GSX communication was lost when GSX resets the jetway while it was still moving
Changed the way how the aircraft type is detected. Now only the ICAO type designator in the aircraft.cfg is relevant.
Added support for disabling Primary Hotkey if desired via settings
Added support for developers to use subfolders in their SODE xml project folder
Fixed bug where clicking on a grouped TriggVis item in the menu would crash the application
Fixed bug where objects were missing when using the TargetSim node
Fixed bug where a ‘.’ or empty Path element in the add-on.xml would crash SODE
Jetway Control System
Complete rewrite of AI aircraft to jetway signalling interface. This should eliminate any timing/synchronization issues which have lead to CTDs when using AI traffic detection.
A single jetway will connect to AI aircraft’s door 1L if door 2L is not reachable (if both doors defined in the AI aircraft.cfg)
Fixed bug in the undocking animation sequence for shallow angle situtations (floating wheels)
P3Dv4: SimObjects path in add-on.xml is now dynamically set during install time, fixing missing objects when installed on other drive than C:
Fixed bug in the object injection routine resulting in missing objects
Added “LVar” interface to query variables of add-on aircraft, e.g. FSLabs A32X Parking brake and beacon states
Added support for P3D v4.4+ MDL files
Fixed bug where UTLive aircraft were not added to the SimObjects list
Jetway Control System
Fixed bug where SODE would not recognize the GSX transmitted raw gate name when a custom designator is defined in the xml, resulting in a reset of the jetway
Enhanced API to transmit jetway docking status and served door IDs to GSX
Fixed bug in crossing jetway calculation and detection
Improved automatic multi-jetway assignment logic using the fixed crossing jetway code
Added ‘Shallow Angle’ jetway trajectory. If the final jetway bridge heading and the aircraft heading form a “shallow angle” (smaller than 20 degrees), then jetway will now move in a two-step manner: partially rotating and fully extending, and then rotating to the door. This avoids the “scraping” of the jetway along the fuselage during extension.
Fixed bug where AI Traffic data returned an unexpected user aircraft object ID, resulting in loss of AI detection capability
Fixed bug where sound could not be found due to the case-sensitive SimTitle
Fixed bug where GSX created SODE jetway would not move under certain circumstances
Fixed bug where an environmental data probe would not be reloaded and its associated client objects were lost
Fixed bug where negative AirTemp values were not properly read
Fixed some bugs where sound was not stopped from external app (GSX) for reset or premature removal cases
Jetway Control System
Fixed bug where in certain situations, the jetway is not properly initialized
Fixed bug where AI object placement data was not updated
Added support for VOXATC driven AI aircraft
Improved AI-to-Jetway assignment logic in case of multiple jetways and multiple doors
Improved jetway detection routine for AI aircraft using stand data
Added support for multi-jetway/multi-door operations for AI objects
Added support for automatic docking and undocking of jetways for the user aircraft. Two ways to trigger:
Manually via the SODE text-menu
Automatically using aircraft state variables (Parking brake set, all engines off, beacon off for docking; beacon on for un-docking)
Added check for crossing jetways when using auto-dock feature
Refactored and improved the entire jetway logic code
Added MD-80 series and Concorde to list of supported aircraft
Fixed VDGS activation logic when aircraft is already parked at stand
Fixed bug where xml files using case-insensitive SimTitles caused objects not to appear in the sim. SODE does now compare the simtitles ignoring the case, however developers are reminded to use the exact simtitle as defined in the sim.cfg, including case!
Fixed bug where SODE would not launch when the original Prepar3D.exe was renamed to prepar3d.exe. Again, SODE now checks the exe file name ignoring the case.
Fixed bug where the Platform Manager would warn users of misconfigured P3Dv4 path although P3Dv4 was not installed on the system.
Added Parking brake detection also for FSLabs A32X (actual brake position, not parking brake flag variable)
Fixed bug where certain sim.cfg based SimObjects were marked as “not installed” and thus not showing up in the simulator
Re-added support for aircraft.cfg based SimObject injection
Added process watchdog to reliably determine running/shutdown/crashed state of the simulator, removed former SimConnect pipe watchdog
Added monitoring of user aircraft beacon light and engines RPMs for use in future auto-docking feature
Added Auto-Stand-Selection when parked at the stand with parking brake set and calling SODE menu
Added ‘Reload’ event to use for external applications through the API (GSX)
Changed handling of customized key-combinations (used for calling the SODE menu) to always search for objects, even if wrong key-combination is used
Example: Before, at Drzewiecki Design airport TAB+S was useless as you’d need to use SHIFT+D. Now use can use either key combo at any airport!
Fixed bug where user aircraft got warped to some random position when a density altitude object was in the vicinity (Big Bear Airport L35)
Fixed bug where seasonal data updates were disabled when SimObjects were missing on the harddrive
Fixed issue where the same customized parking was listed multiple times in the menu when parking was defined in different xml files
Fixed bug where day of week Sunday was not properly recognized in FSX
Completely revised the concept of injecting SimObjects!
Injection only takes place when simulator has finished loading after position reset/init. This should solve floating AGL defined objects since the underlying mesh has loaded when injection takes place.
Seasonal updates are now suppressed when injection of all objects is not finished, eliminating possible crash of application.
Injection is now split into chunks of 10 objects to improve load on SimConnect and hence reduce stutters.
Added existance check of SimObject model files on the harddrive! Before, if the model was missing, the simulator would pause noticeably. Now, if no model is found, SODE replaces it with a placeholder model (big red cross) to indicate a missing model file. This also prevents the pause/stutter.
SimulationBubble now has a fixed upper limit of 18’000ft. SODE stops updating/loading object above that altitude. Overflying a SODE airport at cruising altitudes will not load all objects on the ground anymore.
SimulationBubble updating improved from being time-based to event-based. Event does only fire when a certain distance is travelled. Before, the distance was checked at fixed time intervals.
Jetway Control System
Aircraft exits are now sorted from front to back along the fuselage when displayed in the menu
Improved custom designator handling
Fixed incorrect setting of ‘docked’ status flag and double toggling of flag!
Detection of upper doors improved by increasing vertical threshold
Improved automatic jetway detection logic for AI and the new auto-stand-selection function
Improved CustomDesignator handling when incomplete data is passed
If custom number is not specified (only the name), the number will be set to base AFCAD/ADE parking number
More error checking added and logged
Checking of supplied AFCAD/ADE parking data is now very strict! If incorrect format found, the parking position is ignored.
Added support for traffic-light style docking system (as seen in KSFO)
Enhanced stop position assignment supporting single aircraft types and/or groups of aircraft
Added B717 support
Existance of a VDGS at a parking position can be queried through the SODE API
Logs are generated for each platform separately
Fixed checking order of registry entries. Checking 64-bit before 32-bit now. This helps detecting P3Dv4 even in misconfigured registries having a P3dv4 entry in the 32-bit part of the registry.
Added SimConnect check on launch with result displayed in the application title bar.
Added automatic removal of possible AppCompatLayer registry setting of the SimObjectAnimationModule.dll.
Settings file ‘SimObjectDisplayEngine.ini’ is now generated automatically when user runs SODE the first time. For any other case, the Platform Manager leaves the file alone and only updates completely new entries or removes legacy settings. The user’s settings are now untouched when updating SODE in the future.
Removed SimObjectDisplayEngine.ini settings file from being part of the installer. In future, the settings file is managed by the Platform Manager (see above)
Added the replacement SimObject helper model for missing models
add-on.xml now properly encoded in UTF-8-BOM, before it was UTF-8 only
PlatformManager: Fixed Registry key handling when trailing backslash was missing
General: Fixed aircraft.cfg parsing when a comment is present on the same line
General: Main object injection loop is now protected from interrupts from the seasonal data update. This fixes double injections of the same object
DensityAltitudeDisplay: Output is now rounded to the next multiplier of 10
Radio-Controlled Objects: Grouped SimObjects with common radio-controlled visibility are now correctly handled
PlatformManager: Fixed P3Dv3 registration issues
Environmental Data Probe: Fixed an issue where multiple near-by data probes within the SimBubble would not load correctly.
64-bit Support: SODE now supports P3D v4 64-bit! The SimObjectAnimationModule.dll, which is responsible for the jetway animation, was ported to 64-bit. SODE will use the 32-bit or the 64-bit version of the dll depending on the sim that is running.
Platform Manager: Added support for P3D v4
Platform Manager: Using the P3D v3/v4 native add-on.xml mechanism to install SODE. SODE does not touch any of the dll.xml, exe.xml and simobject.cfg files anymore!
Jetway Control System: Fixed the incorrect handling of multi-jetways when created by an external app (GSX)
Jetway Control System: AFCADGateName xml attribute is now converted to the expected format internally
API: Enhanced API for GSX, allowing linked SimObjects
XML: Added possibility to define sim-specific models in the xml
XML: Fixed incorrect sequencing of request IDs
Watchdog: Changed the launch condition to be after SimConnect connection is established iso fixed delay after SODE startup
Folder Manager: Fixed a bug during collection of aircraft.cfg data used for AI detection
Variable Driven Rotation: Removed animated transition between two values!
Conditional Visibility Wind: Fixed a crash when a single wind value was defined in the xml instead of a range
General: Fixed handling of aircraft.cfg with incorrect ref_point data
General: Fixed double injection of SimObjects when a variable update occured during main injection loop.
Internal Build, no public release
Jetway Control System: Added new feature “Linked SimObject”! An other SimObject can be “attached” to the jetway which opens up new possibilities such as dynamic gate number display on top of the jetway
Jetway Control System: Optional AI Traffic Detection now featured in public! While it has been built-in for several versions already, some “showstopper” issues are fixed now (crash at sim exit)
Jetway Control System: Added hybrid jetway type support (mix of A and N jetway)
Jetway Control System: Added stairs handling for T-Type jetways
Jetway Control System: Fixed jetway retraction bug when jetway needed to back up during docking
Jetway Control System: Refined the IK solving computation of the different jetway types
AnimationModule: Fixed crash when exiting simulator while jetway(s) still moving
General: Disabled Secondary Hot-Key SHIFT+VK_MINUS per default (setting the entry to “NONE”). However it is still possible to define a secondary hotkey!
General: Added small delay during injection of SimObjects in order to not overload the SimConnect server with creation calls -> ensures smooth injection of hundreds of jetways
General: SODE warns user via message box in case of a still running SODE module from a previous (crashed) sim session
API: Refinements added for support of the Linked SimObject feature
API: Fixed removal of SODE menu selected jetways when selected by GSX menu again. However, GSX users should always use the GSX menu exclusively for jetway operation!
PlatformManager: Added many exception cases to be reported by a new log file. Also, the error code numbers in the pop-up window are now translated to text for better comprehension
PlatformManager: Added check for numbering sequence for the SimObject paths (especially for the FSX.cfg) and added repair function to automatically fix the number sequence.
PlatformManager: Added new settings window in the “Tools” section to edit the SimObjectDisplayEngine.ini
Installer: Added message box to inform user to close the PlatformManager after registering SODE
Jetway Control System: Fixed bug when Jetway is forced to move to the horizontal position but wasn’t able to do so because of limited range
VDGS: Changed stop position calculation for the N and T type jetways to use the door location and not the nosewheel position
VDGS: Added moving aircraft symbol support
XML: Made XML parser more tolerant when reading AFCADGateName attributes -> Automatically adds missing underscores
Environmental Data Probe: Fixed bug where data was still requested from a removed EDP
SimBubble/XML: Added Protection zone for SimBubble update mechanism. Used for animation states that need to persist from far away distances
Installer: Fixed FSX-SE and FSX detection (once again…)
Logging: Added more messages concerning AI detection
Jetway Control System: Added support for 2 new jetway types (fixed leg and T-shaped bridge)
Jetway Control System: Apron Drive jetways retract the bridge first when needed (if the aircraft is very near to the jetway). Also, the bridge will go level before doing rotations in order to avoid floating/sinking wheels
Jetway Control System: Fixed bug where the jetway head would snap to the rightmost position when rotation angle very small
AI Detection: Changed jetway swapping mechanism to first check if IK problem can be solved, then swapping the models
Modelling: Animation state (TriggAnim) of a master SimObject can be synced with other SimObjects via PartVisibility flags
General: Fixed SODE crash when P3D Avatar was set as default vehicle
General: In-game windows now showing the version number
Logging: More verbosity added to the log and fixed a couple of string conversion errors
PlatformManager: Fixed bug where FSX-SE and FSX dual detection failed during install/uninstall leading to wrong simobjectpath numbering in fsx.cfg
XML: Option added to ignore the 12km trigger radius filter for listing in the text-menu (TriggerableAnimation)
SODE and PlatformManager: FSX-SE is now properly detected both in single and dual installations
GroundPolygonShift: Fixed bug where the ground poly was falling back to ground level when moving far away
Text-Menu: Fixed bug where a SimConnect exception (31) was thrown when trying to remove a menu that was not displayed initially
AI Detection: Fixed bug during swapping of static to dynamic jetway model
XML: Option added to ignore the 12km trigger radius filter for listing in the text-menu (TriggerableVisibility)
XML: Multiple placements of an identical SimObject simplified by creating multiple <Placement/> nodes
XML: New <GroundPolygonShift> node added
Jetway Control System: Jetway wheel animation supported
Text-Menu: When menu is displayed, TAB+S keystroke will close the menu
SoundEngine: Fixed “no-sound” bug after swapping of static to dynamic model
Improvements to the overall SODE installer package to make it more user friendly
Jetway Control System introduces a model swapping technique to increase performance and save memory (VAS)
API implemented to allow GSX to communicate with SODE. With this, GSX users are able to control SODE compliant jetways from within the GSX menu
Own aircraft door database introduced. Users do not need to edit aircraft.cfg files anymore
Major structural changes in the folder organization! SODE is now installed outside of the simulator root folder. The benefit of this is that one SODE install can now drive multiple simulator platforms (FSX, FSX-SE, P3D)
Jetway Control System rewritten to avoid the “pause-command stutters”
SODE is a single-instance executable, meaning it will not allow multiple SODE processes to execute at the same time