215 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
bdb386dc4f lsteamclient: Generate w32<->u64 structure converters. 2025-04-24 18:03:45 +03:00
Billy Laws
95d76758be lsteamclient: Manually wrap ISteamRemoteStorage_UpdatePublishedFile. 2025-04-24 18:03:45 +03:00
Rémi Bernon
995d3cf28b lsteamclient: Generate type-annotated 32bit pointers. 2025-04-24 18:03:45 +03:00
Rémi Bernon
1f3b23fbba lsteamclient: Get rid of some unnecessary structs. 2025-04-24 18:03:45 +03:00
Rémi Bernon
bdc735205a lsteamclient: Generate callback tables with inline converters. 2025-04-24 18:03:45 +03:00
Rémi Bernon
8cd16ffc70 lsteamclient: Simplify the struct converter code generation. 2025-04-24 18:03:45 +03:00
Rémi Bernon
11083b94b5 lsteamclient: Use the PE side request to cache GetServerDetails results. 2025-04-24 18:03:44 +03:00
Rémi Bernon
76b98269dd lsteamclient: Use the buffer cache for ISteamMatchmakingServers_GetServerDetails. 2025-04-24 18:03:44 +03:00
Rémi Bernon
1a0811b6cc lsteamclient: Manually wrap ISteamMatchmakingServers on the PE side. 2025-04-24 18:03:44 +03:00
Rémi Bernon
3a20f26df9 lsteamclient: Manually wrap some unix side ISteamMatchmakingServers methods.
This avoids returning unix-side server info structures from the
PE-side. For the v2 API requests are wrapped entirely and for v1
API as there is no explicit release function, results are cached
forvever using the buffer cache.
2025-04-24 18:03:44 +03:00
Rémi Bernon
3dab466a9a vrclient: Use the buffer cache for indirectly returned strings. 2025-04-24 18:03:44 +03:00
Billy Laws
76e9208d43 lsteamclient: Use the buffer cache for indirectly returned strings. 2025-04-24 18:03:44 +03:00
Billy Laws
b722943316 lsteamclient: Use a string cache for returned unix side strings. 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
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
Billy Laws
195e7ab1b7 lsteamclient: Wrap more returned unix side interfaces. 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
Arkadiusz Hiler
a62e072e94 lsteamclient: Generate SteamWorks SDK 1.62 support. 2025-03-20 18:48:22 +02:00
Arkadiusz Hiler
5b723fb5f4 lsteamclient: Generate SteamWorks SDK 1.61 support. 2025-01-29 23:01:30 +02:00
Paul Gofman
01c636ddb8 lsteamclient: Make SteamMatchMakingServers::ReleaseRequest() manual.
CW-Bug-Id: #24528
2024-11-28 19:19:11 +02:00
Paul Gofman
727dc0caae lsteamclient: Convert URL in ISteamFriends::ActivateGameOverlayToWebPage().
CW-Bug-Id: #24247
2024-11-21 17:31:33 +02:00
Paul Gofman
1a73b04e6c lsteamclient: Add ISteamTimeline interface.
CW-Bug-Id: #24276
2024-09-23 18:16:24 +03:00
Rémi Bernon
dbc381d95e lsteamclient: Generate SteamWorks SDK 1.60 support.
CW-Bug-Id: #23976
2024-07-01 10:10:27 +03:00
Arkadiusz Hiler
4341729100 lsteamclient: Generate SteamWorks SDK 1.59 support. 2024-03-22 13:30:06 +02:00
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 6a5d5757ca2fbed232481f4e001114e7ba87560c.

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
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
051cb009df lsteamclient: Fix g_tmppath buffer length.
CW-Bug-Id: #23197
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
838d14d66e lsteamclient: Split unixlib and build with msvcrt.
CW-Bug-Id: #22729
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
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
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
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
6741a504f0 lsteamclient: Update cxx.h to latest msvcp90 version.
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