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
Paul Gofman
727dc0caae
lsteamclient: Convert URL in ISteamFriends::ActivateGameOverlayToWebPage().
...
CW-Bug-Id: #24247
2024-11-21 17:31:33 +02:00
Paul Gofman
6a160b9d0a
lsteamclient: Handle error result in networking_message_pool_receive_().
...
CW-Bug-Id: #24177
2024-11-21 17:31:33 +02: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
1a73b04e6c
lsteamclient: Add ISteamTimeline interface.
...
CW-Bug-Id: #24276
2024-09-23 18:16:24 +03:00
Paul Gofman
2e97e9f002
lsteamclient: Reset last error in Steam_BGetCallback() on no callback return.
...
CW-Bug-Id: #24028
2024-08-19 22:35:49 +03:00
Paul Gofman
235b0b151c
lsteamclient: Preserve last error in load_steamclient().
...
CW-Bug-Id: #24028
2024-08-19 22:35:49 +03:00
Paul Gofman
bf479d31d9
lsteamclient: Use default conversion in convert_callback_utow / callback_message_utow even if Unix len is unknown.
...
CW-Bug-Id: #23875
2024-08-19 22:33:50 +03:00
Paul Gofman
54378d5357
lsteamclient: Fix source length for ntdll_umbstowcs().
...
CW-Bug-Id: #23962
2024-07-02 17:01:46 +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
Rémi Bernon
25890a64ca
lsteamclient: Import SteamWorks SDK 1.60.
...
CW-Bug-Id: #23976
2024-07-01 10:10:26 +03:00
Paul Gofman
b4b6617224
lsteamclient: Zero unused output message pointers in networking_message_pool_receive().
...
CW-Bug-Id: #23829
2024-05-23 10:54:50 +03:00
Paul Gofman
5a996971d7
lsteamclient: Initialize sockets in load_steamclient().
...
CW-Bug-Id: #23749
2024-05-23 10:54:49 +03:00
Paul Gofman
e3798c1adb
lsteamclient: Delete matchmaking callback objects on request completion.
...
CW-Bug-Id: #23577
2024-05-23 10:54:49 +03:00
Paul Gofman
0389125f9a
lsteamclient: TRACE all the strings with debugstr_a() in execute_pending_callbacks().
...
CW-Bug-Id: #23577
2024-05-23 10:54:49 +03:00
Paul Gofman
0b317f8464
lsteamclient: Collapse path in dos to unix conversion.
...
CW-Bug-Id: #23664
2024-04-19 09:47:18 -06:00
Paul Gofman
4e289629ce
lsteamclient: Strip extra /'s from file:/// in steamclient_dos_to_unix_path().
...
CW-Bug-Id: #23664
2024-04-19 09:47:18 -06:00
Paul Gofman
6e7e17776e
lsteamclient: Return empty string from steamclient_dos_to_unix_path() when conversion failed.
...
CW-Bug-Id: #23664
2024-04-19 09:47:18 -06:00
Paul Gofman
a287ebaaf9
lsteamclient: Propagate Unix side access violation to the PE side exception.
...
CW-Bug-Id: #23623
2024-04-04 08:53:20 -06:00
Paul Gofman
3cba1580fe
lsteamclient: Convert callbacks with a best guess even if specified message length is too short.
...
CW-Bug-Id: #23620
2024-04-04 08:53:20 -06: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
121cdab5fc
lsteamclient: Copy the ServerResponded parameter for delayed callbacks.
...
CW-Bug-Id: #23272
2024-02-15 15:53:29 +02: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
22672c5b0a
lsteamclient: Clear last error in create_win_interface().
...
CW-Bug-Id: #23178
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
5d374bdc2c
lsteamclient: Use GetEnvironmentVariableW() in load_steamclient().
...
CW-Bug-Id: #23142
2024-02-15 15:53:29 +02:00
Paul Gofman
f2fa9ed325
Revert "lsteamclient: Use getenv() in load_steamclient()."
...
This reverts commit df4821f3612b8876bcbd2e0803f9c57f72b209d4.
CW-Bug-Id: #23170
2024-02-15 15:53:29 +02:00
Rémi Bernon
37dc6df5eb
lsteamclient: Avoid accessing entry->callback.size after free.
...
Fixes a crash in Space Engineers.
CW-Bug-Id: #23145
2024-02-15 15:53:29 +02:00