348 Commits

Author SHA1 Message Date
Paul Gofman
2fdd4b555e lsteamclient: Execute pending callbacks after ISteamNetworkingSockets::RunCallbacks().
CW-Bug-Id: #25554
2025-06-18 12:30:44 -06:00
Paul Gofman
e32309a813 lsteamclient: Wrap callbacks in SteamNetworkingConfigValue_t.
CW-Bug-Id: #25554
2025-06-18 12:30:44 -06:00
Paul Gofman
0e7edfb019 lsteamclient: Make functions which take array of SteamNetworkingConfigValue_t manual.
CW-Bug-Id: #25554
2025-06-18 12:30:44 -06:00
Paul Gofman
5824956195 lsteamclient: Factor out wrap_callback_cdecl().
CW-Bug-Id: #25554
2025-06-18 12:30:44 -06:00
Paul Gofman
f30fe1182b lsteamclient: Support SteamNetworkingFakeIPResult in ISteamNetworkingUtils_SetConfigValue().
CW-Bug-Id: #25554
2025-06-18 12:30:44 -06:00
Paul Gofman
b972df95ea lsteamclient: Call execute_pending_callbacks() after ISteamMatchMakingServers::CancelQuery().
CW-Bug-Id: #25532
2025-06-09 20:37:56 -06:00
Paul Gofman
0f3fb72d72 lsteamclient: Make ISteamMatchMakingServers::CancelQuery() manual on the PE side.
CW-Bug-Id: #25532
2025-06-09 20:37:55 -06:00
Paul Gofman
4b9593f024 lsteamclient: Handle NULL pRequestServersResponse in ISteamMatchmakingServers.
CW-Bug-Id: #25488
2025-06-03 13:41:31 -06:00
Arkadiusz Hiler
ba22723f0c lsteamclient: Don't return status from steamclient_init_registry().
It's not used for anything anyway. Trying to use unix call's return
value just makes it hard to assert on actual errors like exceptions.
2025-05-13 10:05:41 +03:00
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