Skip to content

v1.3.0 - Custom Key Events and Setting String Values

Latest
Compare
Choose a tag to compare
@mpaperno mpaperno released this 15 Nov 18:15
e710865

Changes since v1.2.0

WASimModule

  • The server will now handle connection, ping, and custom calculator events initiated with SimConnect_TransmitClientEvent_EX1() (as well as the older TransmitClientEvent() version). (8f42b51d)
  • Updated reference list of KEY event names for MSFS SDK v0.23.1.0 (b115d8b6) and v0.24.3.0 (495274d5).

WASimClient (C++) and WASimClient_CLI (managed .NET)

  • Added ability to use "custom named simulator events" (such as "Custom.Event") directly from WASimClient, w/out needing a separate SimConnect session (61912e66):
    • Added registerCustomKeyEvent() method for mapping event names to numeric IDs (similar in purpose to SimConnect_MapClientEventToSimEvent() function). See documentation for details.
    • sendKeyEvent() can now be used to trigger registered custom events (similar to SimConnect_TransmitClientEvent[_EX1]() functions), by ID or name. See documentation for details.
    • Note: This is a client-side feature, not involving the server-side WASimModule at all, provided for convenience.
    • Added basic test/example of usage in CPP_BasicConsole and CS_BasicConsole project code.
    • Many thanks to Hans Billiet for the motivation and original code!
  • Added ability to set Sim Vars using string values using the new setVariable(var, stringValue) overload or setSimVarVariable() methods (see below). (9603c9f4)
    This is also a client-only side feature since the only way to set string values is with SimConnect (or the in-game JS API).
  • Added convenience methods for setting Sim Vars ('A' type) specifically. There are 4 overloads of setSimVarVariable() for setting numeric or string values, with or w/out an index. (62991392)
  • Fixed that the key event name lookup cache used with sendKeyEvent(eventName) string overload wasn't entirely thread-safe. Thanks to Hans Billiet for reporting! (03753d8b)
  • Added new DataRequest() constructor overloads for calculated result type w/out valueSize argument where the size is determined based on the desired calculation result type. (9f7aa9c5)

WASimClient_CLI (managed .NET)

  • Fixed possible null String references in RegisteredEvent and VariableRequest structs when created with some constructor overloads (for example when attempting to send a new VariableRequest(localVariableId)). Thanks to Hans Billiet for reporting! (1632ed18)
  • Added .NET8 builds to SDK distribution. This is also now the default .NET version for the VS solution's Release & Debug build configurations.

WASimUI

  • Can now set Sim Var string type values in the "Variables" section. The "string" unit type must be selected to show the text value entry box. (8616c608)
  • Updated database of imported Event IDs and Simulator Variables from published online SDK docs as of Mar-1-2024. (35a495c6)

Documentation

  • Split WASimClient's "high level API" methods overview into more specific groups.
  • Added/improved some details about WASimClient's event callbacks and possible concurrency issues. (e474c7fd)

Other

  • All distributed pre-built libraries and module are built against MSFS SDK v0.24.3.0.

Full Changelog: 1.2.0.0...1.3.0.0


The release contains several download options (the actual file names have version numbers appended):

  • WASimCommander_SDK - All header files, pre-built static, dynamic, and managed (.NET) libs, packaged WASM module, pre-build GUI, reference documentation, and other tools/examples.
  • WASimModule - Just the WASM module component, ready to be dropped into a MSFS Community folder (so that the folder wasimcommander-module is inside the Community folder). MSFS would need to be restarted after adding the module for the first time.
  • WASimUI - Just the GUI application, which is very handy in combination with the WASM module for exploring the system. No installer, simply unzip and run the WASimUI.exe file from either Explorer or a command line.