Commit graph

208 commits

Author SHA1 Message Date
Rémi Bernon
a33bbf115c lsteamclient: Import SteamWorks SDK 1.57. 2023-05-19 18:05:32 +03:00
Rémi Bernon
582047e3be lsteamclient: Generate SteamWorks SDK 1.56 support. 2023-05-19 18:05:27 +03:00
Rémi Bernon
a5a5239c0c lsteamclient: Import SteamWorks SDK 1.56. 2023-05-19 18:05:19 +03:00
Rémi Bernon
49324a57d7 lsteamclient: Define __cdecl to nothing on the linux side. 2023-05-19 18:05:11 +03:00
Paul Gofman
f5da6b1c22 lsteamclient: Allocate SteamClient interface from native steamclient.dll data.
CW-Bug-Id: #22137
2023-05-19 18:05:06 +03:00
Rémi Bernon
840959f4cf lsteamclient: Generate SteamWorks SDK 1.55 support. 2023-05-19 18:05:01 +03:00
Rémi Bernon
d11d466cb3 lsteamclient: Import SteamWorks SDK 1.55. 2023-05-19 18:04:55 +03:00
Rémi Bernon
b661fabcbd lsteamclient: Generate SteamWorks SDK 1.54 support. 2023-05-19 18:04:49 +03:00
Rémi Bernon
01603fb118 lsteamclient: Import SteamWorks SDK 1.54. 2023-05-19 18:04:44 +03:00
Paul Gofman
b59a3040d9 lsteamclient: Fix _GetAppInstallDir() return value.
CW-Bug-Id: #21864
2023-02-14 16:07:44 +02:00
Paul Gofman
30c6b5c41e lsteamclient: Return NULL from manual_convert_SteamAPI_CheckCallbackRegistered_t() if win_func is NULL.
CW-Bug-Id: #21313
2022-10-14 18:21:56 +03:00
Paul Gofman
bcd3d5218f lsteamclient: Wrap SteamAPIWarningMessageHook_t callback.
CW-Bug-Id: #20813
2022-08-10 19:29:30 +03:00
Paul Gofman
18195c558d lsteamclient: Also don't cache interfaces with vtable allocated from steamclient.dll.
CW-Bug-Id: #20909
2022-08-03 14:24:42 +03:00
Paul Gofman
ba3d473ec1 lsteamclient: Place vtables for some interfaces in native steamclient.dll data.
CW-Bug-Id: #20869
2022-08-03 14:24:42 +03:00
Arkadiusz Hiler
be4a80dac6 lsteamclient: Assume manual wrappers are needed for newer revisions of the interfaces. 2022-08-03 14:24:42 +03:00
Arkadiusz Hiler
7523181830 lsteamclient: Fix the order of arguments in steamclient_isteaminput_getglyph_png(). 2022-06-13 22:16:42 +03:00
Arkadiusz Hiler
db61ec1f1e lsteamclient: Wrap EnableActionEventCallbacks's callback also for SteamInput006. 2022-06-10 16:31:19 +03:00
Arkadiusz Hiler
6ded785ccd lsteamclient: Make helpers for EnableActionEventCallbacks reusable. 2022-06-10 16:31:18 +03:00
Arkadiusz Hiler
05efcef3fa lsteamclient: Fixup paths for GetGlyph*() also in SteamInput006. 2022-06-10 16:31:17 +03:00
Arkadiusz Hiler
46a427e8d0 lsteamclient: Make getglyph png and svg helpers non-static. 2022-06-10 16:31:17 +03:00
Arkadiusz Hiler
fd79f236ca lsteamclient: Bump clang to 13.0.1. 2022-06-10 16:31:15 +03:00
Paul Gofman
47ae0819ae lsteamclient: Execute SteamNetworkingSocketsDebugOutput callback from a Wine thread.
CW-Bug-Id: #20684

The callback is called from a native Unix thread which is not initialized with Wine,
meaning it, e. g., has a leftover TEB from another thread. Only native Unix functions
may be called from such a thread.
2022-06-03 14:26:11 +03:00
Paul Gofman
8d7d5bb129 lsteamclient: HACK: Skip spurious overlay deactivation event.
CW-Bug-Id: #20169
2022-06-03 14:26:11 +03:00
Rémi Bernon
7fd1f62249 lsteamclient: Turn overlay input filtering traces to FIXME. 2022-06-03 14:26:11 +03:00
Paul Gofman
4e20758255 Revert "lsteamclient: HACK Do not unset SteamAppId for 'Splitgate: Arena Warfare'."
This reverts commit 57dc9d7062.
2022-06-03 14:26:11 +03:00
Paul Gofman
cd60b70756 lsteamclient: Fixup gameID parameter for SteamUser008_InitiateGameConnection().
CW-Bug-Id: #20195
2022-04-20 18:54:06 +03:00
Paul Gofman
e03828cdc3 lsteamclient: Also treat TypeKind.UNEXPOSED as unspecified function pointer in genwrapper.py. 2022-04-20 18:54:06 +03:00
Eduard Permyakov
d6aec09c05 lsteamclient: Fix forwarding incorrect result for certain path-related operations.
The SteamAPI may return non-zero values even when a NULL pointer is
passed in for the target path buffer. For example, GetAppInstallDir
will still return the required size of the distination buffer.

Since api_result is the length of the Windows path, it is not completely
safe to return it directly, since the corresponding UNIX path may have
more characters. Without access to the original Windows path, we cannot
make a conversion to determine how many characters the UNIX path will
have. So just resort to returning a safe upper bound value.

CW-Bug-Id: #19606
2022-01-24 16:03:39 +02:00
Rémi Bernon
57ea5353ee lsteamclient: Parse all include files at once. 2022-01-19 11:29:54 +02:00
Rémi Bernon
226313fa1d lsteamclient: Remove unnecessary includes.
The -Isteamworks_sdk_{sdkver} was not expanded anyway.
2022-01-19 11:29:54 +02:00
Rémi Bernon
de5557448b lsteamclient: Use dicts to lookup structs in gen_wrapper.py. 2022-01-19 11:29:54 +02:00
Rémi Bernon
5e3dab64e2 lsteamclient: Import from clang.cindex instead of prefixing. 2022-01-19 11:29:54 +02:00
Andrew Eikum
212cbc0c9a lsteamclient: Generate steamworks sdk 1.53a support 2022-01-19 11:29:54 +02:00
Andrew Eikum
0b9c8a34aa lsteamclient: Import steamworks sdk 1.53a 2022-01-19 11:29:54 +02:00
Andrew Eikum
58860a6cc6 lsteamclient: Support reference parameters 2022-01-19 11:29:54 +02:00
Andrew Eikum
67316452df lsteamclient: Use python f-strings 2022-01-19 11:29:54 +02:00
Paul Gofman
7a90ff74ce lsteamclient: Get memory for SteamClient interface within native steamclient.dll loader range.
CW-Bug-ID: #19605

For Mafia II.
2021-11-11 18:36:07 +02:00
Andrew Eikum
b3c6c677bc lsteamclient: Fix SteamIPAddress_t size
CW-Bug-Id: #19598
2021-11-11 18:29:03 +02:00
Andrew Eikum
2165c3ff81 lsteamclient: Also key glyph path cache off of flags parameter 2021-11-11 17:52:16 +02:00
Andrew Eikum
0b1db713ac lsteamclient: Also convert paths from GetGlyphForXboxOrigin
CW-Bug-Id: #19517
2021-10-08 13:22:52 -05:00
Andrew Eikum
f9eef72c88 lsteamclient: Convert glyph paths in new ISteamInput005 methods
CW-Bug-Id: #19517
2021-10-08 13:22:52 -05:00
Andrew Eikum
4b9b102b31 lsteamclient: Convert path given to ISteamInput::SetInputActionManifestFilePath
CW-Bug-Id: #19517
2021-10-08 13:22:52 -05:00
Andrew Eikum
da911c3bf9 lsteamclient: generate 1.52 support 2021-10-08 13:22:51 -05:00
Andrew Eikum
a1244bdf38 lsteamclient: import steamworks sdk 1.52 2021-10-08 13:22:51 -05:00
Paul Gofman
57dc9d7062 lsteamclient: HACK Do not unset SteamAppId for 'Splitgate: Arena Warfare'.
CW-Bug-Id: 18924

To be dropped on the next rebase.
2021-05-27 21:30:27 +03:00
Andrew Eikum
5504754ce9 lsteamclient: generate 1.51 support 2021-03-31 14:08:10 -05:00
Andrew Eikum
c2e3697d90 lsteamclient: import steamworks sdk 1.51 2021-03-31 14:08:10 -05:00
Andrew Eikum
8398ebded4 update wine to 6.3 2021-03-31 14:08:09 -05:00
Rémi Bernon
42e1584e71 steamclient: Fake Shift + Tab key release on overlay activation. 2021-01-14 10:11:07 -06:00
Rémi Bernon
186f81ec47 steamclient: Monitor GameOverlayActivated_t callbacks to track overlay presence. 2021-01-11 12:26:56 -06:00
Giovanni Mascellani
e5c634ce0b Silence expected and harmless errors 2020-12-01 14:54:06 -06:00
Giovanni Mascellani
16992af05c Port gen_wrapper.py to Python 3
Basically the only issue left out is that Python3 is much more picky
on file encoding, and some Valve headers are not UTF-8. Ignoring
errors is enough to get everything fixed.
2020-12-01 14:54:06 -06:00
Giovanni Mascellani
04af5e3d79 Sort callback tables by id
This way the generated file is more deterministic, and hopefully less
irrelevant diff is produced (for example when switching from Python 2
to Python 3, or when adding more callbacks that cause rehashing the
dictionary).
2020-12-01 14:54:06 -06:00
Giovanni Mascellani
c559773d00 lsteamclient: Allow callbacks to be NULL
Steamworks API seems to accept NULL callbacks, simply avoiding to call
them when this is the case.
2020-11-09 13:43:05 -06:00
Paul Gofman
4f31b3b2b8 lsteamclient: Fix end of string check in relative path conversion. 2020-11-09 13:43:05 -06:00
Andrew Eikum
8bb3afc9a2 lsteamclient: Handle callbacks for ISteamNetworking interfaces 2020-10-02 14:22:48 -05:00
Andrew Eikum
30c21636c5 lsteamclient: support ISteamNetworkingMessages 2020-10-02 14:22:44 -05:00
Andrew Eikum
f22095c745 lsteamclient: generate 1.50 support 2020-10-02 14:22:39 -05:00
Andrew Eikum
5cec5eedc7 lsteamclient: import steamworks 1.50 2020-10-02 14:22:35 -05:00
Andrew Eikum
c0aa7979a3 steamclient: Generate support for steamworks 1.49 2020-09-29 14:29:06 -05:00
Andrew Eikum
ac86122f28 steamclient: Import steamworks sdk 1.49 2020-09-29 14:29:06 -05:00
Rémi Bernon
6a9e719119 lsteamclient: Stub GameOverlayRenderer entry points. 2020-09-29 14:29:06 -05:00
Andrew Eikum
7d444028c3 update wine to 5.13 2020-09-29 14:29:05 -05:00
Andrew Eikum
a853ce145d lsteamclient: Import steamworks 1.48a and fix up networkingsockets versions 2020-06-05 08:58:23 -05:00
Andrew Eikum
18e235f96b lsteamclient: Sync environment only once 2020-03-18 13:49:55 -05:00
Derek Lesho
a33e3d105d lsteamclient: Sync important environment variables before calling CreateInterface. 2020-03-09 10:03:54 -05:00
Rémi Bernon
c6cead45dc lsteamclient: Reallocate new interface only when linux_side changes.
This fixes Batman: AK's Denuvo DRM incorrectly flagging the game as
pirated.
2020-02-24 09:33:55 -06:00
Andrew Eikum
1bfc03a2c5 steamclient: generate 1.47 support 2020-01-10 07:49:46 -06:00
Andrew Eikum
a2317ff230 steamclient: Clean up 1.47 for generating 2020-01-10 07:49:46 -06:00
Andrew Eikum
03ed34405a steamclient: import steamworks 1.47 2020-01-10 07:49:45 -06:00
Andrew Eikum
63e14b5678 lsteamclient: Preserve command-line cdecl macro 2019-08-23 09:57:46 -05:00
Andrew Eikum
19ece0270b lsteamclient: Support ISteamRemotePlay 2019-08-23 09:57:46 -05:00
Andrew Eikum
19b53264bd lsteamclient: Generate 1.46 support 2019-08-23 09:57:46 -05:00
Andrew Eikum
35752dadb6 lsteamclient: Generate 1.45 support 2019-08-23 09:57:46 -05:00
Andrew Eikum
7aa1b840d9 lsteamclient: Import steamworks 1.45 and 1.46 2019-08-23 09:57:46 -05:00
Andrew Eikum
80465e2a7d lsteamclient: Fix SteamAPI_CheckCallbackRegistered_t calling convention 2019-08-23 09:57:46 -05:00
Andrew Eikum
abfb04f8cc lsteamclient: Fix debug printing 2019-08-23 09:57:46 -05:00
Andrew Eikum
22354ec32f lsteamclient: Restore some 64-bit struct layout conversions 2019-06-27 09:00:59 -05:00
Andrew Eikum
54bbd1093b lsteamclient: Convert file: URLs 2019-06-18 13:00:19 -05:00
Andrew Eikum
5b674f087a lsteamclient: Convert windows VK to xkeysym 2019-06-18 13:00:19 -05:00
Andrew Eikum
6540e58078 lsteamclient: Also check struct layouts in 64-bit 2019-06-18 13:00:19 -05:00
Andrew Eikum
381ab5f3dc lsteamclient: Explicitly specify alignment of sub-structs
SteamNetConnectionInfo_t has 8-byte alignment on win32, but 4-byte on
Linux. Since we use the same struct on each in lsteamclient,
winSteamNetConnectionStatusChangedCallback_t_712's members would
incorrectly be aligned to 4-byte boundaries.
2019-06-05 10:21:33 -05:00
Andrew Eikum
5ed5cbf286 lsteamclient: Fix SteamNetConnectionStatusChangedCallback_t conversion
It was declared inside an extern "C" block in the SDK, which for some
reason cindex doesn't include.
2019-06-05 10:21:32 -05:00
Andrew Eikum
6195cb8a0a lsteamclient: Add a manual override for the cpp side of the new networking API 2019-06-05 10:21:32 -05:00
Andrew Eikum
81e8d149f3 lsteamclient: Fix new network wrapper 2019-06-05 10:21:32 -05:00
Stefan Dösinger
eba2a821a7 Include <limits.h> instead of <linux/limits.h>. 2019-05-22 14:49:44 -05:00
Andrew Eikum
197f25db04 lsteamclient: wrap FSteamNetworkingSocketsDebugOutput 2019-05-17 15:10:50 -05:00
Andrew Eikum
aa4c6fcc22 lsteamclient: Add ISteamGameSearch support 2019-05-17 10:50:22 -05:00
Andrew Eikum
e94250ae57 lsteamclient: Add ISteamNetworkingUtils support 2019-05-17 10:50:20 -05:00
Andrew Eikum
649421bf26 lsteamclient: Add ISteamNetworkingSockets support 2019-05-17 10:50:16 -05:00
Andrew Eikum
528d5d26cf lsteamclient: Add steamworks sdk 1.44 support 2019-05-17 10:50:12 -05:00
Andrew Eikum
318a9df7a9 lsteamclient: Support ISteamInput 2019-03-07 07:45:44 -06:00
Andrew Eikum
f6c12f6333 lsteamclient: Support ISteamParties 2019-03-07 07:45:44 -06:00
Andrew Eikum
4880c3b3ab lsteamclient: Make Windows-side struct definitions available to C files 2019-03-07 07:45:44 -06:00
Andrew Eikum
2054bb97a9 lsteamclient: Import SDK version 1.43 2019-03-07 07:45:44 -06:00
Andrew Eikum
ee7717eed1 lsteamclient: Fix up compiler warning 2019-03-07 07:45:44 -06:00
Andrew Eikum
358e8a7c42 lsteamclient: Synthesize another unreleased SDK
For SteamNetworkingSocketsSerialized003.
2019-03-07 07:45:44 -06:00
Andrew Eikum
bdca0aa9c9 lsteamclient: Support SteamGameStats001 2019-02-18 14:28:07 -06:00
Duncan Ogilvie
01c0124bde Fix stdcall parameter size computation
Signed-off-by: Duncan Ogilvie <mr.exodia.tpodt@gmail.com>
2019-02-14 08:32:39 -06:00
Andrew Eikum
a14f231bd1 lsteamclient: Implement old version of ISteamMatchmakingServerListResponse 2019-02-14 08:32:39 -06:00