Billy Laws
2dd569b5e6
lsteamclient: Use a cookie to pass unix side temporary CallbackMsg_t.
2025-04-24 18:03:45 +03:00
Billy Laws
6c13702ab3
lsteamclient: Introduce unix-side buffer cache with PE allocate pointers.
...
There are several steam API calls that currently pass unix pointers
for e.g. strings directly to the PE-side, this allows for caching such
return values and returning a PE-side pointer instead.
2025-04-24 18:03:44 +03:00
Rémi Bernon
d89c5c80bb
lsteamclient: Use 64bit handles for unix side interface pointers.
...
Based on a patch from Billy Laws.
2025-04-24 18:03:44 +03:00
Rémi Bernon
661da904e4
lsteamclient: Rename w_steam_iface to w_iface.
2025-04-24 18:03:44 +03:00
Rémi Bernon
2a69a32cf8
lsteamclient: Add a new export to initialize registry.
...
CW-Bug-Id: #24510
2025-04-24 18:03:43 +03:00
Billy Laws
42f2d563a4
steamclient: Call Windows vtable callbacks with the correct arg count
...
The x86 Windows ABI pushes all arguments onto the stack in the caller
and expects the callee to clean them up. The mismatch in parameter
counts thus causes the stack to be offset after calling these
callbacks leading to a crash.
2025-04-24 17:58:12 +03:00
Paul Gofman
2e97e9f002
lsteamclient: Reset last error in Steam_BGetCallback() on no callback return.
...
CW-Bug-Id: #24028
2024-08-19 22:35:49 +03:00
Paul Gofman
235b0b151c
lsteamclient: Preserve last error in load_steamclient().
...
CW-Bug-Id: #24028
2024-08-19 22:35:49 +03:00
Paul Gofman
5a996971d7
lsteamclient: Initialize sockets in load_steamclient().
...
CW-Bug-Id: #23749
2024-05-23 10:54:49 +03:00
Paul Gofman
0389125f9a
lsteamclient: TRACE all the strings with debugstr_a() in execute_pending_callbacks().
...
CW-Bug-Id: #23577
2024-05-23 10:54:49 +03:00
Paul Gofman
a287ebaaf9
lsteamclient: Propagate Unix side access violation to the PE side exception.
...
CW-Bug-Id: #23623
2024-04-04 08:53:20 -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
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