22 Commits

Author SHA1 Message Date
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
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
661da904e4 lsteamclient: Rename w_steam_iface to w_iface. 2025-04-24 18:03:44 +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
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
Paul Gofman
e3798c1adb lsteamclient: Delete matchmaking callback objects on request completion.
CW-Bug-Id: #23577
2024-05-23 10:54:49 +03: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
726879ea78 lsteamclient: Add missing break in ISteamNetworkingUtils_SetConfigValue switch.
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
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
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
05f84c8595 lsteamclient: Rewrite SteamNetworkingMessage_t_153a unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
fa9ded4baf lsteamclient: Rewrite SteamNetworkingMessage_t_147 unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
b56d6aa766 lsteamclient: Rewrite SteamNetworkingMessage_t_144 unix thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00