Skip to content

Commit 3bd8e52

Browse files
committed
Update CHANGELOG and README.
1 parent 495274d commit 3bd8e52

2 files changed

Lines changed: 47 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# WASimCommander - Change Log
22

3-
## 1.3.0.0 (next)
3+
## 1.3.0.0 (15-Nov-2024)
44

55
### WASimModule
66
* The server will now handle connection, ping, and custom calculator events initiated with `SimConnect_TransmitClientEvent_EX1()` (as well as the older `TransmitClientEvent()` version). ([8f42b51d])
7-
* Updated reference list of KEY event names for MSFS SDK v0.23.1.0. ([b115d8b6])
7+
* Updated reference list of KEY event names for MSFS SDK v0.23.1.0 ([b115d8b6]) and v0.24.3.0 ([495274d5]).
88

99
### WASimClient (C++) and WASimClient_CLI (managed .NET)
1010
* Added ability to use "custom named simulator events" (such as "Custom.Event") directly from `WASimClient`, w/out needing a separate `SimConnect` session ([61912e66]):
@@ -13,19 +13,28 @@
1313
* Note: This is a client-side feature, not involving the server-side `WASimModule` at all, provided for convenience.
1414
* Added basic test/example of usage in `CPP_BasicConsole` and `CS_BasicConsole` project code.
1515
* Many thanks to [Hans Billiet] for the motivation and [original code][hb-custom-events]!
16+
* Added ability to set Sim Vars using `string` values using the new [setVariable(var, stringValue)] overload or `setSimVarVariable()` methods (see below). ([9603c9f4])
17+
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).
18+
* 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])
1619
* 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])
20+
* Added new [`DataRequest()` constructor][DataRequest_5] overloads for calculated result type w/out `valueSize` argument where the size is determined based on the desired calculation result type. ([9f7aa9c5])
1721

1822
### WASimClient_CLI (managed .NET)
1923
* 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])
24+
* Added .NET8 builds to SDK distribution. This is also now the default .NET version for the VS solution's Release & Debug build configurations.
2025

2126
### WASimUI
27+
* 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])
2228
* Updated database of imported Event IDs and Simulator Variables from published online SDK docs as of Mar-1-2024. ([35a495c6])
2329

2430
### Documentation
2531
* Split [WASimClient's][WASimClient_docs] "high level API" methods overview into more specific groups.
2632
* Added/improved some details about `WASimClient`'s event callbacks and possible concurrency issues. ([e474c7fd])
2733

28-
**[Full Change Log](https://github.com/mpaperno/WASimCommander/compare/v1.2.0.0...next)**
34+
### Other
35+
* All distributed pre-built libraries and module are built against MSFS SDK v0.24.3.0.
36+
37+
**[Full Change Log](https://github.com/mpaperno/WASimCommander/compare/v1.2.0.0...v1.3.0.0)**
2938

3039
[8f42b51d]: https://github.com/mpaperno/WASimCommander/commit/8f42b51d1d94f704e001940abe2ff3f1434a9481
3140
[b115d8b6]: https://github.com/mpaperno/WASimCommander/commit/b115d8b64e77eaf8112de7a15c9d0dfc2fa29904
@@ -34,10 +43,18 @@
3443
[35a495c6]: https://github.com/mpaperno/WASimCommander/commit/35a495c6a3dc9beb13ffc05bdeab105f3b7a9fae
3544
[61912e66]: https://github.com/mpaperno/WASimCommander/commit/61912e66f5e51791d51fce42bb96de38f7d5b6a0
3645
[e474c7fd]: https://github.com/mpaperno/WASimCommander/commit/e474c7fdb9074d29064392354e2829c3d2267dee
46+
[9603c9f4]: https://github.com/mpaperno/WASimCommander/commit/9603c9f4fffed62be94a44a42a0ae8fda7c218c6
47+
[62991392]: https://github.com/mpaperno/WASimCommander/commit/62991392226c05a972b4db7b3f8aaaf5329a60e8
48+
[8616c608]: https://github.com/mpaperno/WASimCommander/commit/8616c6080308f4dbb1963ce6787ab0221babab20
49+
[9f7aa9c5]: https://github.com/mpaperno/WASimCommander/commit/9f7aa9c588fb5976363692c3ca160cfe4bbd97fd
50+
[495274d5]: https://github.com/mpaperno/WASimCommander/commit/495274d5ca509d6663f7575f8888360ccd6907f8
3751
[custom-key-events]: https://github.com/mpaperno/WASimCommander/compare/dbd4c469611750a8a9e7222740428fd4851b516f..e98fbd42b8e6aea34e0e013d261c8a48ebd47fcf
3852
[hb-custom-events]: https://github.com/HansBilliet/WASimCommander/compare/b1519c988bf44ce43af8a50880092391566af48a...83adc91fb73fa29dcc07f1461435dafe41f7d366
3953
[registerCustomKeyEvent]: https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html#a6e7bf0b7c6b741081bc2ce43d937ba11
4054
[sendKeyEvent]: https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html#adf5b8df4cb657fefaa97f97b0ebea42c
55+
[setVariable(var, stringValue)]: https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html#a725be5c00b1d6861826c898d095db118
56+
[setSimVarVariable()]: https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html#a5f0f7e3575c605a44516a407251567fe
57+
[DataRequest_5]: https://wasimcommander.max.paperno.us/struct_w_a_sim_commander_1_1_data_request.html#a5d2d8f43b6e0aeb0de5771af73a995da
4158
[WASimClient_docs]: https://wasimcommander.max.paperno.us/class_w_a_sim_commander_1_1_client_1_1_w_a_sim_client.html
4259
[Hans Billiet]: https://github.com/HansBilliet
4360

README.md

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ On a more practical note, I am using it with the [MSFS Touch Portal Plugin](http
4646
- With or without a returned result; Result returned as numeric and string types.
4747
- Formatted results from `format_calculator_string()` using
4848
[RPN String Formatting](https://docs.flightsimulator.com/html/Additional_Information/Reverse_Polish_Notation.htm#strings)
49-
- **Get Variable**: Return numeric result from any type of variable accessible to a standalone WASM module
49+
- **Get Variable**: Return value result from any type of variable accessible to a standalone WASM module
5050
(basically everything but Gauge and Instrument types, but also including Token vars).
5151
- With optional Unit specifier for variable types which support it.
52-
- **Set Variable**: Set the numeric value of any settable variable type, with optional Unit specifier for variable types which support it.
52+
- **Set Variable**: Set the value of any settable variable type, with optional Unit specifier for variable types which support it.
5353
- **Create Variable**: Create (and get/set) a new Local variable if it doesn't already exist.
5454
- **List Local Variables**: Get a list of all available 'L' variables with their names and current IDs.
5555
- **Lookup**: Return a numeric ID for a SimVar/Local/Token variable, Unit, or Key Event name.
@@ -69,6 +69,7 @@ On a more practical note, I am using it with the [MSFS Touch Portal Plugin](http
6969
- Event names can be completely custom (including a `.` (period) as per SimConnect convention), or derive from the connected Client's name (to ensure uniqueness).
7070
- **Send Simulator "Key Events"** directly by ID or name (instead of going through the SimConnect mapping process or executing calculator code). Much more efficient than the other methods.
7171
- **New in v1.1.0:** Send Key Events with up to 5 values (like the new `SimConnect_TransmitClientEvent_EX1()`).
72+
- **New in v1.3.0:** Send Custom Key Events (the ones with a "." in the name that are defined by particular models) by name or ID with up to 5 values.
7273
- **Remote Logging**: Log messages (errors, warnings, debug, etc) can optionally be sent to the Client, with specific minimum level (eg. only warnings and errors).
7374
- **Ping** the Server to check that the WASM module is installed and running before trying to connect or use its features.
7475

@@ -131,6 +132,30 @@ API features. The main `WASimClient` interactions all happen in the `MainWindow:
131132

132133
More to come... or [Just Read The Source](https://github.com/mpaperno/WASimCommander/tree/main/src) :-)
133134

135+
#### Using .NET Libraries
136+
137+
Please note that when using the .NET builds in your project, it is **vital to include the `Ijwhost.dll`** in your runtime directory along with `WASimCommander.WASimClient.dll`.
138+
139+
While the latter will get copied to your build output automatically as a dependency, the `Ijwhost.dll` will *not*. This will result in a runtime error that says
140+
`Could not load file or assembly 'WASimCommander.WASimClient.dll'. The specified module could not be found.` even though it is clearly there in the runtime directory.
141+
142+
Likewise you will probably want to copy the default `client_conf.ini` configuration file to your build output/runtime as well (this file defines some default options like logging).
143+
144+
Both files should be included in the build as "content" files. This can be done via the VS UI or by editing the project file directly.
145+
As an example, assuming you copied the WASimCommander managed libraries to a `./lib` folder of your source, the following two entries
146+
from a .csproj file illustrate the settings:
147+
148+
```xml
149+
<ContentWithTargetPath Include=".\lib\WASimCommander\Ijwhost.dll">
150+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
151+
<TargetPath>Ijwhost.dll</TargetPath>
152+
</ContentWithTargetPath>
153+
<ContentWithTargetPath Include=".\lib\WASimCommander\client_conf.ini">
154+
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
155+
<TargetPath>client_conf.ini</TargetPath>
156+
</ContentWithTargetPath>
157+
```
158+
134159
-------------
135160
### Troubleshooting
136161

0 commit comments

Comments
 (0)