Commit graph

269 commits

Author SHA1 Message Date
Paul Gofman
bd8d7e374e lsteamclient: Reimplement callback_message_utow() in manual code using table.
CW-Bug-Id: #23550
2024-03-20 19:52:21 -06:00
Paul Gofman
7e98577a74 lsteamclient: Reimplement alloc_callback_wtou(), convert_callback_utow() in manual code using generated table.
And try to handle the case of non-matching Windows callback length
similar to  before commit 6a5d5757ca.

CW-Bug-Id: #23550
2024-03-20 19:52:21 -06:00
Paul Gofman
ce08f3ca53 lsteamclient: Generate C conversion functions.
CW-Bug-Id: #23550
2024-03-20 19:52:21 -06:00
Rémi Bernon
121cdab5fc lsteamclient: Copy the ServerResponded parameter for delayed callbacks.
CW-Bug-Id: #23272
2024-02-15 15:53:29 +02:00
Rémi Bernon
457407ffd5 lsteamclient: Copy the m_hSteamUser member in callback_message_utow. 2024-02-15 15:53:29 +02:00
Rémi Bernon
faf681cd9c lsteamclient: Execute any pending callback before ReleaseRequest.
CW-Bug-Id: #22729
2024-02-15 15:53:29 +02:00
Paul Gofman
22672c5b0a lsteamclient: Clear last error in create_win_interface().
CW-Bug-Id: #23178
2024-02-15 15:53:29 +02:00
Paul Gofman
051cb009df lsteamclient: Fix g_tmppath buffer length.
CW-Bug-Id: #23197
2024-02-15 15:53:29 +02:00
Paul Gofman
5d374bdc2c lsteamclient: Use GetEnvironmentVariableW() in load_steamclient().
CW-Bug-Id: #23142
2024-02-15 15:53:29 +02:00
Paul Gofman
f2fa9ed325 Revert "lsteamclient: Use getenv() in load_steamclient()."
This reverts commit df4821f3612b8876bcbd2e0803f9c57f72b209d4.

CW-Bug-Id: #23170
2024-02-15 15:53:29 +02:00
Rémi Bernon
37dc6df5eb lsteamclient: Avoid accessing entry->callback.size after free.
Fixes a crash in Space Engineers.

CW-Bug-Id: #23145
2024-02-15 15:53:29 +02:00
Paul Gofman
b86aa755d9 lsteamclient: Use getenv() in load_steamclient().
CW-Bug-Id: #23142
2024-02-15 15:53:29 +02:00
Paul Gofman
c8669fbcbd steamclient: Read access input strings on the PE side. 2024-02-15 15:53:29 +02:00
Rémi Bernon
eb45ddf6f8 lsteamclient: Add warnings and asserts to unixlib calls.
CW-Bug-Id: #22729
2024-02-15 15:53:29 +02:00
Rémi Bernon
838d14d66e lsteamclient: Split unixlib and build with msvcrt.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
99bdd62d6c lsteamclient: Get rid of unused functions declarations. 2024-02-15 15:53:28 +02:00
Rémi Bernon
60d50a11e6 lsteamclient: Get rid of DECLSPEC_HIDDEN. 2024-02-15 15:53:28 +02:00
Rémi Bernon
726879ea78 lsteamclient: Add missing break in ISteamNetworkingUtils_SetConfigValue switch.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
5e70a92e17 lsteamclient: Default calling convention is cdecl.
CW-Bug-Id: #22729
CW-Bug-Id: #23085
2024-02-15 15:53:28 +02:00
Rémi Bernon
1bf0e86507 lsteamclient: Make sure the param structs are consistently aligned.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
cd4a31f4e0 lsteamclient: Use int8_t instead of ambiguous sized bool.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
98a90a1458 lsteamclient: Queue callback for input EnableActionEventCallbacks functions.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
6a7dbe6160 lsteamclient: Queue callback for networking SetConfigValue functions.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
5a552fbe77 lsteamclient: Use unix callbacks for custom client classes.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
bc000612cd lsteamclient: Move callback function handling to unixlib.cpp.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
38573d2875 lsteamclient: Add traces to path conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
c95536019c lsteamclient: Move unix to dos path conversions to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:28 +02:00
Rémi Bernon
049342a555 lsteamclient: Move dos to unix path conversion to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
cf89fdf018 lsteamclient: Use unixlib interface for C API functions.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
b22627053d lsteamclient: Generate unixlib interface in unixlib_generated.h.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
bd51335a8c lsteamclient: Generate C++ interfaces in unix_private_generated.h.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
1071c99388 lsteamclient: Move manual_convert_nNativeKeyCode to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
6741a504f0 lsteamclient: Update cxx.h to latest msvcp90 version.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
e0b2b50fb1 lsteamclient: Move unix library loading to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
3e2dde20de lsteamclient: Generate iface constructor lookup function.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
0564207f84 lsteamclient: Use the new converters for Steam_BGetCallback.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
2170b64142 lsteamclient: Generate callback wrappers with the new structs.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
77e83d193a lsteamclient: Execute debug callbacks from within Steam_BGetCallback.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
1b4cd4fc7a lsteamclient: Remove now unused steamclient_manual_common.cpp.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
05f84c8595 lsteamclient: Rewrite SteamNetworkingMessage_t_153a unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
fa9ded4baf lsteamclient: Rewrite SteamNetworkingMessage_t_147 unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
b56d6aa766 lsteamclient: Rewrite SteamNetworkingMessage_t_144 unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
0e4fab2dff lsteamclient: Use manual methods for glyphs path return.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
4d5d6322b0 lsteamclient: Move ISteamInput and ISteamController manual thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
96a26ea211 lsteamclient: Move ISteamNetworkingFakeUDPPort creation / destroy to the PE side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
537b4096a5 lsteamclient: Use manual methods instead of codegen for callbacks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
9183543836 lsteamclient: Use manual method wrapper instead of post-exec.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
15c5ad5242 lsteamclient: Simplify manual method description.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
9ea65fe0d0 lsteamclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
9b1a3cb349 lsteamclient: Move the client wrapper creation to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00