Commit Graph

78 Commits

Author SHA1 Message Date
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
Paul Gofman
b86aa755d9 lsteamclient: Use getenv() in load_steamclient().
CW-Bug-Id: #23142
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
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
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
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
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
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
9ea65fe0d0 lsteamclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
4dfab8d8b6 lsteamclient: Remove unnecessary typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
a5fe4d774b lsteamclient: Get rid of the remaining steam typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
560fc53226 lsteamclient: Use standard fixed size integer types.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
b83f5fe79e lsteamclient: Use integer types instead of enums.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
1e11264606 lsteamclient: Allocate memory for every path conversion.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
7e5eed6c71 lsteamclient: Use a generic interface wrapper struct.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
7b11b2a3a6 lsteamclient: Replace do_cb_wrap with (alloc|convert)_callback.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
31e7035f64 lsteamclient: Split do_cb_wrap into conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
ece68edb6a lsteamclient: Fix some compilation warnings.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
40f210f20c lsteamclient: Build using makedep rules.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
c9dda0d5b7 lsteamclient: Reorder do_cb_wrap first parameters.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
435b67aaf7 lsteamclient: Add some missing exports for SDK 1.58. 2023-10-19 13:42:29 +03:00
Paul Gofman
516f76e446 lsteamclient: Terminate callback thread on Steam interface shutdown.
CW-Bug-Id: #22649
2023-09-12 14:44:08 +03:00
Paul Gofman
8a109013b4 lsteamclient: Handle calls to SteamNetworkingMessage_t.m_pfnFreeData from native threads.
CW-Bug-Id: #22649
2023-09-12 14:44:08 +03:00
Paul Gofman
f5da6b1c22 lsteamclient: Allocate SteamClient interface from native steamclient.dll data.
CW-Bug-Id: #22137
2023-05-19 18:05:06 +03:00
Paul Gofman
b59a3040d9 lsteamclient: Fix _GetAppInstallDir() return value.
CW-Bug-Id: #21864
2023-02-14 16:07:44 +02:00
Paul Gofman
bcd3d5218f lsteamclient: Wrap SteamAPIWarningMessageHook_t callback.
CW-Bug-Id: #20813
2022-08-10 19:29:30 +03:00
Paul Gofman
18195c558d lsteamclient: Also don't cache interfaces with vtable allocated from steamclient.dll.
CW-Bug-Id: #20909
2022-08-03 14:24:42 +03:00
Paul Gofman
ba3d473ec1 lsteamclient: Place vtables for some interfaces in native steamclient.dll data.
CW-Bug-Id: #20869
2022-08-03 14:24:42 +03:00
Paul Gofman
47ae0819ae lsteamclient: Execute SteamNetworkingSocketsDebugOutput callback from a Wine thread.
CW-Bug-Id: #20684

The callback is called from a native Unix thread which is not initialized with Wine,
meaning it, e. g., has a leftover TEB from another thread. Only native Unix functions
may be called from such a thread.
2022-06-03 14:26:11 +03:00
Paul Gofman
8d7d5bb129 lsteamclient: HACK: Skip spurious overlay deactivation event.
CW-Bug-Id: #20169
2022-06-03 14:26:11 +03:00
Rémi Bernon
7fd1f62249 lsteamclient: Turn overlay input filtering traces to FIXME. 2022-06-03 14:26:11 +03:00
Paul Gofman
4e20758255 Revert "lsteamclient: HACK Do not unset SteamAppId for 'Splitgate: Arena Warfare'."
This reverts commit 57dc9d7062.
2022-06-03 14:26:11 +03:00
Eduard Permyakov
d6aec09c05 lsteamclient: Fix forwarding incorrect result for certain path-related operations.
The SteamAPI may return non-zero values even when a NULL pointer is
passed in for the target path buffer. For example, GetAppInstallDir
will still return the required size of the distination buffer.

Since api_result is the length of the Windows path, it is not completely
safe to return it directly, since the corresponding UNIX path may have
more characters. Without access to the original Windows path, we cannot
make a conversion to determine how many characters the UNIX path will
have. So just resort to returning a safe upper bound value.

CW-Bug-Id: #19606
2022-01-24 16:03:39 +02:00
Paul Gofman
7a90ff74ce lsteamclient: Get memory for SteamClient interface within native steamclient.dll loader range.
CW-Bug-ID: #19605

For Mafia II.
2021-11-11 18:36:07 +02:00