Skip to content

Releases: HeliosVirtualCockpit/Helios

Helios 1.6.5101.0

13 Nov 23:51
Compare
Choose a tag to compare

Bug Fix replacement for 1.6.5100.0

  • Fixes issue #486 where bindings are reported as bad and ignored / removed from the profile.

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.5100.0

05 Nov 15:44
f0f9e63
Compare
Choose a tag to compare

User Notes

This release contains some minor updates to Helios, DCS, and the Falcon plugin.

Developer Notes

Helios Panels Updates

  • Fix for interactions on template based panels - by linknetx
  • Fixes issue #334 The mouse click crosses the panel images. A control beneath the panel could possibly be invoked even though it was covered by the panel above it. - by linknetx

Helios Viewports Updates

  • Fixed issue #446 where a viewport could be masked by the monitor if it utillized a fill background - by wheelchock

Profile Editor Updates

  • Added Profile Explorer Toolbar with Branch Expand/Collapse and Item Open Buttons - by linknetx
  • Added double mouse click to Add Interface dialog box - by wheelchock
  • Added patches for DCS version 2.7.6.13436 - by Matt Cahill

Falcon BMS Updates

  • Added Falcon HUD Transparency and Texture Refresh Rate Improvement - by linknetx
  • Falcon Interface fix reset behaviour plus add Current Theater update timer. - by linknetx

Added Control Features

  • Added Memory Wire control. This is essentially a piece of wire with memory, simply sends any value on its input side to its output side and on a resend request sends any last values entered on its input side to its output side. - by linknetx

  • ImageTranslucent Control - Added Allow Interaction with underlying controls. This allows a user to click through to a control beneath the ImageTranslucent control. - by linknetx / wheelchock

    Usecase: Since the ImageTranslucent control has an opacity binding it can be tied to a rotary control and the opacity can be dialed up or down to reduce brightness of a monitor during night ops and still allow the user to click through to controls beneath the Image Translucent control

Helios Core Updates

  • Fix for image caching to reload images if changed externally - by linknetx
  • implemented keyboard input via DirectX DirectInput. Adds modifier key usage without having to know or write lua code. - by derammo
  • Interface History is now included in notes - by derammo
  • Added quoting in project files to allow building from paths with spaces. - by Byron Roosa
  • Added HUD viewports for existing modules - by Matt Cahill
  • Moveed template definitions to versioned file - by Matt Cahill

F/A-18 Updates

  • manually fixed F18 HUD patch, had wrong line endings - by derammo
  • fixed up templates generator. Now picks up viewports that only appear in versioned files - by derammo
  • bring FA-18 templates up to date - by Matt Cahill

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.5013.0

27 Sep 14:36
Compare
Choose a tag to compare

Summary

This is a giant release with many upgrades and changes to the core of Helios. These changes allow for the creation of new interface types and controls. As such, there are many changes from 1.6.3xxxx releases, so the version number has been bumped to 1.6.5xxxx to reflect that.

derammo's Notes

This is my final release, after which I am taking an indefinite leave from Helios development.

Thanks to those who helped with testing and other contributions along the way, and thanks to those who tried to get me some Patreon support to keep this effort going. To anyone considering taking over as lead developer: I think there are around 2000 to 3000 users right now, based on github download counts. Many BMS users have been getting their Helios binaries from an unauthorized redistribution, so we have no idea how many of those there are.

Soft Interface Support (derammo)

The biggest user-visible feature in this release is the support for DCS interfaces defined in JSON files. This means savvy profile developers can edit or complete the interfaces themselves, without having to compile Helios. I am also contributing initial versions of DCS interfaces for the following aircraft/devices/vehicles:

A-4E-C
AH-6J
AJS37
Alphajet
Bf-109K-4
C-101CC
ChristenEagleII
Edge540
F-14B
F-16C_50
F-22A
F-5E-3
F-86FSabre
FW-190A8
FW-190D9
Hercules
I-16
JF-17
L-39ZA
M-2000C
MB-339PAN
Mi-24P
Mi-8MT
MiG-15bis
MiG-19P
MiG-21Bis
NS430
P-47D
P-51D
SA342M
SpitfireLFMkIX
SuperCarrier
UH-1H
VNAO_Room
VNAO_T-45
Yak-52

These interfaces are generated from DCS-BIOS interface definitions (thanks WarLord at the DCS FlightPanels / DCS-BIOS projects!). Because of limitations of the import, these interfaces will usually have all the switches, gauges, and buttons defined correctly, but certain "special" exports will not be done yet. This means, contributors will be invited to complete these interfaces as we move forward. Please see https://github.com/HeliosVirtualCockpit/HeliosInterfaces for details.

Demo of adding functionality to a JSON-defined interface

example commit: ec8a7c5
  • implemented navigation light on FW-190D as example

This should serve as an example of what interface/profile developers need to do to add a custom Lua export to an existing JSON-defined interface. I also added example custom Lua files to all JSON-defined interfaces.

Distribution

Customized interface files can be contributed back as mentioned above, or distributed with Profiles that use them. Just include them in the .helios16 archive to place them in Documents\Helios\Interfaces\... and they will override the built in interfaces of the same name.

Other DCS interfaces not defined in JSON

The existing DCS interfaces from previous versions of Helios are still present but are hard coded in C#. This means they generally require a developer for any changes, with the exception of the F/A-18C interface (see below.)

Other Features (all by derammo)

Editable F/A-18C interface

This interface is defined in the Helios code as before, but you can edit its functions by editing a JSON file, just like the purely JSON-defined interfaces. This means you can fix small issues in the interface without coding in C# also. This interface was selected to trial this hybrid mode of configuration, which might be used for all existing DCS interfaces in the future.

implemented image caching

if enabled, image source objects for the same image are shared by all Helios visuals
this improves load times dramatically, since large profiles tend to have hundreds of buttons and switches that only use a few images
enabled by default
ProfileEditor has tools options setting
ControlCenter has preferences panel switch

improved Profile Reset behavior

the first SetValue call after Reset will now trigger updates
to allow any dependent controls to re-synchronize to the
current state (this matters to DCS and BMS interfaces)

this behavior can be turned off in Tools Options

implemented Numeric Text Display

this variant of Text Display shows numeric values without having to use Lua to convert
it has a configurable Unit assigned to it for conversion 
it has a configurable Precision to control how many decimal places to show

implemented raw conversion

binding values can now be converted to their
underlying raw type without Lua, so that Knots
can for example be bound to Numeric.  A message
will be displayed in the bindings UI.

updated to latest avalondock

optimization: not rendering controls during load for load speed improvement

default export frequency of DCS interface set to 30 instead of 15

profile editor can now paste Helios XML from text

this means you can copy to a text file and then
later copy that text back to profile editor, for example
to save off a number of items you frequently want to add
to a profile

UI cleaning: empty documentation strings now collapse in UI

Helios Developer Tools (all by derammo)

This optional install (separate MSI) adds various tools useful to Helios Profile developers (not profile users) to Helios. These include, but are not limited to:

DCS Interface Test

This tool animates all values in a DCS interface for testing of bindings.

Requires:

  • a DCS interface in the profile

Generate DCS Functional Test Profile

This tool creates an entire profile of controls bound to each and every function in a DCS interface, organized as clickable pages by device, placed on the right-most monitor.

Requires:

  • a DCS interface in the profile
  • an empty right-most monitor

BMS Changes

Falcon Interface - Add Flight Start Mode binding value. (#455) (linknetx)

MapControl & MapViewer fix for badly formed navpoint string values. (#454) (linknetx)

Falcon Interface - Synchronize all binding values at start of flight. (#453) (linknetx)

Falcon Interface - Poll flight data for current flight only modification. (#451) (linknetx)

Falcon Interface - Poll flight data for current flight only. (#450) (linknetx)

Bug Fixes and Resolved Issues

exceptions thrown during Add Interface now shown in dialog (#456) (derammo)

Core Upgrades for Helios Developers (all by derammo)

internal: support for selection-aware plugin tools

internal: enum converter filtering

enum converter for XAML can now filter out
undesired values from the enum collection

internal: binding value units by name

Helios binding units can now be looked up by name
so they can be used in a combo box for example

internal: plugin loading improved

Helios now won't load random DLLs from Plugins

internal: visual renderer factored and simplified

internal: native windows controls

Helios visuals can now register for native windows mouse
events for right clicking and other advanced use cases
if they declare themselves aware of that API
  
Helios visual renderers can now be implemented by native
windows controls for display of regular widgets in the
Helios visual tree

Helios visuals can now register for manipulation (touch)
events directly from windows if they declare themselves
aware of that API

internal: helios visuals can be configured from xml model

hidden feature: secondary profile directory

by placing the correct key in settings file, Control Center can be
told to load profiles also from an additional location, such as a
dropbox or similar folder

internal: support for interface hierarchy

interfaces can now be children of other interfaces, and their parent must be added first 
interfaces are now a tree in the UI
this allows for example a single Falcon interface, to which various Falcon feature interfaces could be added
originally developed for a canceled project that had a single interface to DCS with multiple per-aircraft child interfaces

internal: fixed exceptions handling in control center log

status viewer log target was using incorrect async call,
causing exceptions to be ignored instead of becoming fatal

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.5012.0

24 Sep 13:43
Compare
Choose a tag to compare
Helios 1.6.5012.0 Pre-release
Pre-release

Bug fix replacement for 1.6.5011.1

fixed image caching

images were being shared even if loaded at different resolutions
leading to unreadable output

now every resolution and set of image loading options is
considered distinct

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.5011.1

23 Sep 14:36
Compare
Choose a tag to compare
Helios 1.6.5011.1 Pre-release
Pre-release

Summary

This is a giant release with many upgrades and changes to the core of Helios. These changes allow for the creation of new interface types and controls. As such, there are many changes from 1.6.3xxxx releases, so the version number has been bumped to 1.6.5xxxx to reflect that.

derammo's Notes

This is my final release, after which I am taking an indefinite leave from Helios development. There will be multiple builds, so go ahead and file bugs against it, so I can fix some of them, time permitting.

Thanks to those who helped with testing and other contributions along the way, and thanks to those who tried to get me some Patreon support to keep this effort going. To anyone considering taking over as lead developer: I think there are around 2000 to 3000 users right now, based on github download counts. Many BMS users have been getting their Helios binaries from an unauthorized redistribution, so we have no idea how many of those there are.

Soft Interface Support (derammo)

The biggest user-visible feature in this release is the support for DCS interfaces defined in JSON files. This means savvy profile developers can edit or complete the interfaces themselves, without having to compile Helios. I am also contributing initial versions of DCS interfaces for the following aircraft/devices/vehicles:

A-4E-C
AH-6J
AJS37
Alphajet
Bf-109K-4
C-101CC
ChristenEagleII
Edge540
F-14B
F-16C_50
F-22A
F-5E-3
F-86FSabre
FW-190A8
FW-190D9
Hercules
I-16
JF-17
L-39ZA
M-2000C
MB-339PAN
Mi-24P
Mi-8MT
MiG-15bis
MiG-19P
MiG-21Bis
NS430
P-47D
P-51D
SA342M
SpitfireLFMkIX
SuperCarrier
UH-1H
VNAO_Room
VNAO_T-45
Yak-52

These interfaces are generated from DCS-BIOS interface definitions (thanks WarLord at the DCS FlightPanels / DCS-BIOS projects!). Because of limitations of the import, these interfaces will usually have all the switches, gauges, and buttons defined correctly, but certain "special" exports will not be done yet. This means, contributors will be invited to complete these interfaces as we move forward. Please see https://github.com/HeliosVirtualCockpit/HeliosInterfaces for details.

Custom interface files can be distributed with Profiles that use them. Just include them in the .helios16 archive to place them in Documents\Helios\Interfaces\....

The existing DCS interfaces from previous versions of Helios are still present but are hard coded in C#. This means they generally require a developer for any changes, with the exception of the F/A-18C interface (see below.)

Other Features (all by derammo)

Editable F/A-18C interface

This interface is defined in the Helios code as before, but you can edit its functions by editing a JSON file, just like the purely JSON-defined interfaces. This means you can fix small issues in the interface without coding in C# also. This interface was selected to trial this hybrid mode of configuration, which might be used for all existing DCS interfaces in the future.

implemented image caching

if enabled, image source objects for the same image are shared by all Helios visuals
this improves load times dramatically, since large profiles tend to have hundreds of buttons and switches that only use a few images
enabled by default
ProfileEditor has tools options setting
ControlCenter has preferences panel switch

improved Profile Reset behavior

the first SetValue call after Reset will now trigger updates
to allow any dependent controls to re-synchronize to the
current state (this matters to DCS and BMS interfaces)

this behavior can be turned off in Tools Options

implemented Numeric Text Display

this variant of Text Display shows numeric values without having to use Lua to convert
it has a configurable Unit assigned to it for conversion 
it has a configurable Precision to control how many decimal places to show

implemented raw conversion

binding values can now be converted to their
underlying raw type without Lua, so that Knots
can for example be bound to Numeric.  A message
will be displayed in the bindings UI.

updated to latest avalondock

optimization: not rendering controls during load for load speed improvement

default export frequency of DCS interface set to 30 instead of 15

profile editor can now paste Helios XML from text

this means you can copy to a text file and then
later copy that text back to profile editor, for example
to save off a number of items you frequently want to add
to a profile

UI cleaning: empty documentation strings now collapse in UI

Helios Developer Tools (all by derammo)

This optional install (separate MSI) adds various tools useful to Helios Profile developers (not profile users) to Helios. These include, but are not limited to:

DCS Interface Test

This tool animates all values in a DCS interface for testing of bindings.

Requires:

  • a DCS interface in the profile

Generate DCS Functional Test Profile

This tool creates an entire profile of controls bound to each and every function in a DCS interface, organized as clickable pages by device, placed on the right-most monitor.

Requires:

  • a DCS interface in the profile
  • an empty right-most monitor

BMS Changes

Falcon Interface - Add Flight Start Mode binding value. (#455) (linknetx)

MapControl & MapViewer fix for badly formed navpoint string values. (#454) (linknetx)

Falcon Interface - Synchronize all binding values at start of flight. (#453) (linknetx)

Falcon Interface - Poll flight data for current flight only modification. (#451) (linknetx)

Falcon Interface - Poll flight data for current flight only. (#450) (linknetx)

Bug Fixes and Resolved Issues

exceptions thrown during Add Interface now shown in dialog (#456) (derammo)

Core Upgrades for Helios Developers (all by derammo)

internal: support for selection-aware plugin tools

internal: enum converter filtering

enum converter for XAML can now filter out
undesired values from the enum collection

internal: binding value units by name

Helios binding units can now be looked up by name
so they can be used in a combo box for example

internal: plugin loading improved

Helios now won't load random DLLs from Plugins

internal: visual renderer factored and simplified

internal: native windows controls

Helios visuals can now register for native windows mouse
events for right clicking and other advanced use cases
if they declare themselves aware of that API
  
Helios visual renderers can now be implemented by native
windows controls for display of regular widgets in the
Helios visual tree

Helios visuals can now register for manipulation (touch)
events directly from windows if they declare themselves
aware of that API

internal: helios visuals can be configured from xml model

hidden feature: secondary profile directory

by placing the correct key in settings file, Control Center can be
told to load profiles also from an additional location, such as a
dropbox or similar folder

internal: support for interface hierarchy

interfaces can now be children of other interfaces, and their parent must be added first 
interfaces are now a tree in the UI
this allows for example a single Falcon interface, to which various Falcon feature interfaces could be added
originally developed for a canceled project that had a single interface to DCS with multiple per-aircraft child interfaces

internal: fixed exceptions handling in control center log

status viewer log target was using incorrect async call,
causing exceptions to be ignored instead of becoming fatal

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.3605.0

07 Aug 02:20
Compare
Choose a tag to compare

General Features and Changes

  • Added VTB Panel for M-2000C, both as gauge and DCS interface (norsetto)
  • Addded Fuel Detotalizer Switch to the M-2000C Fuel Panel (norsetto)
  • A-10C IAS gauge now has working airspeed limit needle (talbotmcinnis)
  • Tuning of A-10C IAS curves both for native IAS gauge and DCS interface (derammo)
  • Implemented text resizing for RotarySwitch and PushButton (#230) (derammo)
  • Control Router additional bindable status and pulse mode enhancements (derammo)
  • Added support for reloading CustomTape images (wheelchock)

DCS Interface

  • Removed buttons from DCS M-2000C interface that are no longer present in the simulation (norsetto)
  • Added A-10C IAS limiting speed in knots to interface (derammo)

BMS Interface

  • Added RTT Client configuration and control from Helios (wheelchock, derammo)
  • Added MapControl and MapViewer to provide moving maps, waypoints and pre-planned threats (linknet)
  • Added TheaterName (wheelchock)
  • Added NavPoints to Falcon Interface in support of MapControl (wheelchock)

Bug Fixes and Resolved Issues

  • Simulator Viewport was not invalidating the config if the patches flag or viewport name changed [unreported] (derammo)
  • Improve failed patch installation reporting #432 (derammo)
  • "DCS Vehicles" options for F14A #429 (derammo)
  • Helios should handle failure to parse autoupdate.cfg #428 (derammo)
  • Force Falcon BMS to use Helios profile key file #425 (wheelchock)
  • DCS Monitor Setup should check for full screen option #421 (derammo)
  • Resolution is coming up with incorrect values #420 (derammo)
  • A-10C-HSI: red flags for From/To and Course not available #410 (wheelchock)
  • Adding interface location causing crash #409 (derammo)
  • FC2 backward compatibility #378 (derammo)
  • Preflight Check fails to detect viewports for current profile not in monitor setup #344 (derammo)
  • Profile Editor could do a better job at displaying other controls being bound #321 (derammo)
  • Windows scaling tactile control issue #287 (derammo)
  • simulator viewport extents do not work inside panels #283 (derammo)
  • internal: remove Dispatcher from HeliosProfile #258 (derammo)
  • internal: eliminate profile writing thread #252 (derammo)
  • Font sizes not adjusted by reset monitors #230 (derammo)

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.3504.1

15 Mar 01:05
Compare
Choose a tag to compare

General Features and Bug Fixes

  • Added binding to CustomTape gauge to refresh the tape image when set to true. Fixes issue #396 (wheelchock)
  • Fixed startup size issues with dialogs in Control Center (derammo)
  • dev tools: Fixed a bug that caused simulated monitors to retain configuration changes and propagate to other profiles (derammo)
  • dev tools: Simulate monitor layout stored in current profile. This can be used to reset profiles to a reference configrations. (derammo)
  • Fixed conditional bindings no longer mistaken for binding loops (derammo)

BMS Interface

  • Text on trim AddValues were wrong (wheelchock)
  • RWR under Falcon Simulator not displaying all contacts #404 (wheelchock)
  • Added Interface check to report missing Falcon BMS key file callbacks in existing bindings #225 (wheelchock)
  • Changed Falcon Interface Editor - No longer will we set the File Picker Dialog to the Existing KeyFileName.
  • Added function to parse the Falcon Version number in the profile to a proper Version object (for future use)
  • Added support for Multiple BMS Versions in Falcon Interface. Newest Falcon Version should be the first item in the Version selection ComboBox rather than the last. (wheelchock)
  • Removed OpenFalcon and AlliedForces Interfaces

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.3426.4

11 Jan 23:38
Compare
Choose a tag to compare
Helios 1.6.3426.4 Pre-release
Pre-release

Bug Fixes and Resolved Issues

  • Helios Control Center background #392 (derammo)
  • Helios Control Center does not successfully "Start Minimized" #368 (derammo)

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.3425.0

29 Dec 18:47
Compare
Choose a tag to compare

Bug Fixes and Resolved Issues

  • new Layers Panel icons take focus away from editor #387 (derammo)

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log

Helios 1.6.3424.0

25 Dec 21:11
Compare
Choose a tag to compare
Helios 1.6.3424.0 Pre-release
Pre-release

DCS export script using non blocking receive

This will reduce the DCS FPS impact of using Helios, in some cases dramatically. Thanks to Helios user @charlestytler for the code change suggestion.

Various Fixes not filed as Issues:

  • Support for P-51D-30-NA (derammo)
  • Added Inlet Icing BMS 4.35 (wheelchock)
  • Added FLCS channel lamps indicatios BMS 4.35 (wheelchock)
  • Added Gear Handle solenoid status BMS 4.35 (wheelchock)

Bug Fixes and Resolved Issues

  • FPS limiting from processInput() #373 (derammo)
  • Incorrect Glideslope and Localizer Bar Values #380 (wheelchock)

Full change notes from previous releases here: https://github.com/HeliosVirtualCockpit/Helios/wiki/Change-Log