180 Commits

Author SHA1 Message Date
Rémi Bernon
2a780473e1 lsteamclient: Return all struct abis from find_struct.
CW-Bug-Id: 
2023-09-27 16:04:49 +03:00
Rémi Bernon
4270de7e02 lsteamclient: Filter structs and classes while parsing.
CW-Bug-Id: 
2023-09-27 16:04:49 +03:00
Rémi Bernon
ff93611af1 lsteamclient: Use the all_records dict to lookup structs.
CW-Bug-Id: 
2023-09-27 16:04:49 +03:00
Rémi Bernon
7756658df1 lsteamclient: Introduce new canonical_typename helper.
CW-Bug-Id: 
2023-09-27 16:04:49 +03:00
Rémi Bernon
09df35ed1f lsteamclient: Sort classes by their version string.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
18b465a393 lsteamclient: Filter classes by version before generating.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
cd3d0d1978 lsteamclient: Strip interface version suffixes early.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
5a44cce1d4 lsteamclient: Parse SDK versions and ABIs in parallel.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
4dea878825 lsteamclient: Split loading, parsing, and generating steps.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
e08712c5aa lsteamclient: Introduce a dedicated parsing function.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
977b589c03 lsteamclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
5e80091874 lsteamclient: Use upper-case global constants.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Rémi Bernon
319f323c88 lsteamclient: Remove unused imports and duplicate entries.
CW-Bug-Id: 
2023-09-27 16:04:48 +03:00
Arkadiusz Hiler
72d88cd736 lsteamclient: Generate SteamWorks SDK 1.58 support. 2023-09-18 17:19:45 +03:00
Arkadiusz Hiler
b50c43e427 lsteamclient: Import SteamWorks SDK 1.58. 2023-09-18 17:19:45 +03:00
Paul Gofman
516f76e446 lsteamclient: Terminate callback thread on Steam interface shutdown.
CW-Bug-Id: 
2023-09-12 14:44:08 +03:00
Paul Gofman
e8df09e258 lsteamclient: Also overload lin SteamNetworkingMessage_t.m_pfnRelease.
CW-Bug-Id: 

So msg wrapper is freed when the message is released from steamclient
side.
2023-09-12 14:44:08 +03:00
Paul Gofman
8a109013b4 lsteamclient: Handle calls to SteamNetworkingMessage_t.m_pfnFreeData from native threads.
CW-Bug-Id: 
2023-09-12 14:44:08 +03:00
Paul Gofman
a798b8308f lsteamclient: Use a list to map lin SteamNetworkingMessage_t to wrapper.
CW-Bug-Id: 
2023-09-12 14:44:08 +03:00
Paul Gofman
a7bdd61d20 lsteamclient: Use plain memory allocation / free for SteamNetworkingMessage_t wrapper.
CW-Bug-Id: 
2023-09-12 14:44:08 +03:00
Paul Gofman
6ed890c9e9 lsteamclient: Avoid code duplication in handling SteamNetworkingMessage_t wrapping.
CW-Bug-Id: 
2023-09-12 14:44:08 +03:00
Rémi Bernon
ea07c02886 lsteamclient: Generate SteamWorks SDK 1.57 support. 2023-05-19 18:05:40 +03:00
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: 
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: 
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: 
2022-10-14 18:21:56 +03:00
Paul Gofman
bcd3d5218f lsteamclient: Wrap SteamAPIWarningMessageHook_t callback.
CW-Bug-Id: 
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: 
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: 
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: 

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: 
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 57dc9d706222ee68e502fcc53b2ff04427983a05.
2022-06-03 14:26:11 +03:00
Paul Gofman
cd60b70756 lsteamclient: Fixup gameID parameter for SteamUser008_InitiateGameConnection().
CW-Bug-Id: 
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: 
2022-01-24 16:03:39 +02:00