339 Commits

Author SHA1 Message Date
Yuxuan Shui
160e28f1bd lsteamclient: Point GMFilePath to Proton SoundFonts 2025-04-24 18:05:59 +03:00
Paul Gofman
8d4661b0f3 lsteamclient: Avoid memory leak and frequent allocation in steamclient_Steam_BGetCallback().
CW-Bug-Id: #24806
2025-04-24 18:05:59 +03:00
Billy Laws
8ff40aad6e lsteamclient: Add support for ARM64. 2025-04-24 18:03:45 +03:00
Billy Laws
10f96bfa53 lsteamclient: Allocate runtime sized array dynamically. 2025-04-24 18:03:45 +03:00
Rémi Bernon
d3e44f677f lsteamclient: Build with long types. 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
725044535f lsteamclient: Pad some client pointers. 2025-04-24 18:03:45 +03:00
Billy Laws
63ea48a0eb lsteamclient: Use templated wrappers for other steamclient functions. 2025-04-24 18:03:45 +03:00
Billy Laws
2dd569b5e6 lsteamclient: Use a cookie to pass unix side temporary CallbackMsg_t. 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
Rémi Bernon
203280136e lsteamclient: Re-allocate filter arrays for WOW64 conversion. 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
Billy Laws
0804e0b81f lsteamclient: Template steam network manual wrappers. 2025-04-24 18:03:45 +03:00
Rémi Bernon
6670fd4fdf lsteamclient: Move some networking messages code around. 2025-04-24 18:03:45 +03:00
Billy Laws
3378ff7f66 lsteamclient: Use templates for networking message conversions. 2025-04-24 18:03:45 +03:00
Rémi Bernon
6d06d8bc2d lsteamclient: Use function overloads for networking message conversions. 2025-04-24 18:03:45 +03:00
Rémi Bernon
8d0ab1f8d3 lsteamclient: Use overloads and static dispatch for networking_message. 2025-04-24 18:03:44 +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
8e9e7b97ab lsteamclient: Keep the unix side response object on the PE side request. 2025-04-24 18:03:44 +03:00
Rémi Bernon
47d5d59f1b lsteamclient: Allocate server list request handles on the PE side. 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
375815c5ba lsteamclient: Delete unix allocated object if no server list request is returned. 2025-04-24 18:03:44 +03:00
Rémi Bernon
24af2813d1 lsteamclient: Use templated wrappers for matchmaking servers. 2025-04-24 18:03:44 +03:00
Billy Laws
0e6cc204b6 lsteamclient: Move ISteamMatchmakingServers thunks to a separate file. 2025-04-24 18:03:44 +03:00
Billy Laws
c059a702ae lsteamclient: Drop unused vtable callback argument. 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
a41f9b8288 lsteamclient: Update cxx.h to latest msvcrt version. 2025-04-24 18:03:44 +03:00
Rémi Bernon
2a68b5d96f lsteamclient: Use templates for steam input manual wrappers. 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
6b8c5e4ef0 lsteamclient: Get rid of unnecessary U_PTR / W_PTR macros. 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
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
Rémi Bernon
3a4858bd6b lsteamclient: Add a missing parameter.
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
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
7a651eba33 lsteamclient: Only free SteamMatchmakingServerListResponse callback after ISteamMatchMakingServers::ReleaseRequest().
And leak the callback for SteamMatchMakingServers v001
(same as before e3798c1adbdd7a424ac544bec592b93f6c6289f5 for both versions).

CW-Bug-Id: #24528
2024-11-28 19:19:11 +02:00
Paul Gofman
01c636ddb8 lsteamclient: Make SteamMatchMakingServers::ReleaseRequest() manual.
CW-Bug-Id: #24528
2024-11-28 19:19:11 +02:00