27 Commits

Author SHA1 Message Date
Billy Laws
8ff40aad6e lsteamclient: Add support for ARM64. 2025-04-24 18:03:45 +03:00
Billy Laws
c295dcb636 lsteamclient: Generate WOW64 thunks. 2025-04-24 18:03:45 +03:00
Billy Laws
0f5e178c8f lsteamclient: Implement WOW64 callback handling. 2025-04-24 18:03:45 +03:00
Billy Laws
c059a702ae lsteamclient: Drop unused vtable callback argument. 2025-04-24 18:03:44 +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
661da904e4 lsteamclient: Rename w_steam_iface to w_iface. 2025-04-24 18:03:44 +03:00
Billy Laws
ac408239a9 lsteamclient: Use a templated wrapper for ISteamUtils GetAPICallResult. 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
Paul Gofman
f277d7a21f lsteamclient: Convert api call completion callback length in SteamAPICallCompleted_t.
CW-Bug-Id: #24446
2024-11-08 14:14:04 +02: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 6a5d5757ca2fbed232481f4e001114e7ba87560c.

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
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
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
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
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
0564207f84 lsteamclient: Use the new converters for Steam_BGetCallback.
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
0e4fab2dff lsteamclient: Use manual methods for glyphs path return.
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
9ea65fe0d0 lsteamclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00