Commit graph

287 commits

Author SHA1 Message Date
Rémi Bernon
6741a504f0 lsteamclient: Update cxx.h to latest msvcp90 version.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
e0b2b50fb1 lsteamclient: Move unix library loading to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
3e2dde20de lsteamclient: Generate iface constructor lookup function.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
0564207f84 lsteamclient: Use the new converters for Steam_BGetCallback.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
2170b64142 lsteamclient: Generate callback wrappers with the new structs.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
77e83d193a lsteamclient: Execute debug callbacks from within Steam_BGetCallback.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
1b4cd4fc7a lsteamclient: Remove now unused steamclient_manual_common.cpp.
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
Rémi Bernon
0e4fab2dff lsteamclient: Use manual methods for glyphs path return.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
4d5d6322b0 lsteamclient: Move ISteamInput and ISteamController manual thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
96a26ea211 lsteamclient: Move ISteamNetworkingFakeUDPPort creation / destroy to the PE side.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
537b4096a5 lsteamclient: Use manual methods instead of codegen for callbacks.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
9183543836 lsteamclient: Use manual method wrapper instead of post-exec.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
15c5ad5242 lsteamclient: Simplify manual method description.
CW-Bug-Id: #22729
2024-02-15 15:53:27 +02:00
Rémi Bernon
9ea65fe0d0 lsteamclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
9b1a3cb349 lsteamclient: Move the client wrapper creation to the unix side.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
1fc7e4381a lsteamclient: Generate wtou / utow struct conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
7c622566cf lsteamclient: Generate struct definitions for all abis.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
fb25831f68 lsteamclient: Classify struct compatibility over SDK versions.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
8a2881dd90 lsteamclient: Use Struct and Field class for conversions.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
f835c3ab66 lsteamclient: Introduce new Struct generator class.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
5ec5ec2923 lsteamclient: Generate function types with ABI attributes.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
cc69121738 lsteamclient: Use the generated interfaces in the manual converters.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
09846111bd lsteamclient: Fixup ISteamUser_SteamUser_InitiateGameConnection directly.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
a1445b757d lsteamclient: Generate linux interface structs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
4dfab8d8b6 lsteamclient: Remove unnecessary typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:26 +02:00
Rémi Bernon
a5fe4d774b lsteamclient: Get rid of the remaining steam typedefs.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
783cde21bd lsteamclient: Generate functions with calling convention.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
560fc53226 lsteamclient: Use standard fixed size integer types.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
b83f5fe79e lsteamclient: Use integer types instead of enums.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
c9b3ee14c5 lsteamclient: Use SOURCES instead of C(XX)_SRCS. 2024-02-15 15:53:25 +02:00
Rémi Bernon
6b21c32d2a lsteamclient: Wrap parameters in structures.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
d8038254d4 lsteamclient: Simplify unix side parameter conversions.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
1e11264606 lsteamclient: Allocate memory for every path conversion.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
10d907c5f7 lsteamclient: Simplify path convertion using separate dicts.
CW-Bug-Id: #22729
2024-02-15 15:53:25 +02:00
Rémi Bernon
7e5eed6c71 lsteamclient: Use a generic interface wrapper struct.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
224f0af6ad lsteamclient: Use with statement to generate the .c files.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
42b0968c32 lsteamclient: Generate the .h and .cpp files separately.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
9130b93597 lsteamclient: Pass write function as parameter to handle_method*.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
7b11b2a3a6 lsteamclient: Replace do_cb_wrap with (alloc|convert)_callback.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
31e7035f64 lsteamclient: Split do_cb_wrap into conversion helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
8d78cb5107 lsteamclient: Consistently use the computed return type.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
f6871a6b73 lsteamclient: Always use a return result variable.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
ece68edb6a lsteamclient: Fix some compilation warnings.
CW-Bug-Id: #22729
2024-02-15 15:53:24 +02:00
Rémi Bernon
40f210f20c lsteamclient: Build using makedep rules.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
c34fc635ce lsteamclient: Cleanup C method generator.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
caa21ea5d0 lsteamclient: Generate thiscall wrappers separately.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
ad8cbcfc2d lsteamclient: Introduce a new Method cursor wrapper.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
e9e6dd3117 lsteamclient: Introduce a new Class cursor wrapper.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
4fc0934c83 lsteamclient: Use the names array for the param converters.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
122e0e362c lsteamclient: Use declspec to generate C++ method signature.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
e1c7f3e3f3 lsteamclient: Split C++/C method generation helpers.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
c9dda0d5b7 lsteamclient: Reorder do_cb_wrap first parameters.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
064d511e66 lsteamclient: Split cpp_h generation to a dedicated method.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
9bf3f81987 lsteamclient: Return all struct abis from find_struct.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f31b6d43fb lsteamclient: Filter structs and classes while parsing.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
18e3344745 lsteamclient: Use the all_records dict to lookup structs.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
c3cb0a26b0 lsteamclient: Introduce new canonical_typename helper.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
9da0e96f94 lsteamclient: Sort classes by their version string.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
e4ca59abab lsteamclient: Filter classes by version before generating.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
cc1963dbba lsteamclient: Strip interface version suffixes early.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f19380c190 lsteamclient: Parse SDK versions and ABIs in parallel.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
d4cb359f4b lsteamclient: Split loading, parsing, and generating steps.
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02:00
Rémi Bernon
f6bb931d9a lsteamclient: Introduce a dedicated parsing function.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
ff2999e563 lsteamclient: Use a dict for SDK sources / class mapping.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
adbe64d4bf lsteamclient: Use upper-case global constants.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
5f6ee9a06e lsteamclient: Remove unused imports and duplicate entries.
CW-Bug-Id: #22729
2024-02-15 15:53:22 +02:00
Rémi Bernon
435b67aaf7 lsteamclient: Add some missing exports for SDK 1.58. 2023-10-19 13:42:29 +03:00
Arkadiusz Hiler
c0d0b2f295 lsteamclient: Generate SteamWorks SDK 1.58 support. 2023-09-27 20:14:12 +03:00
Arkadiusz Hiler
45dff33596 lsteamclient: Import SteamWorks SDK 1.58. 2023-09-27 20:14:12 +03:00
Paul Gofman
516f76e446 lsteamclient: Terminate callback thread on Steam interface shutdown.
CW-Bug-Id: #22649
2023-09-12 14:44:08 +03:00
Paul Gofman
e8df09e258 lsteamclient: Also overload lin SteamNetworkingMessage_t.m_pfnRelease.
CW-Bug-Id: #22649

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: #22649
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: #22649
2023-09-12 14:44:08 +03:00
Paul Gofman
a7bdd61d20 lsteamclient: Use plain memory allocation / free for SteamNetworkingMessage_t wrapper.
CW-Bug-Id: #22649
2023-09-12 14:44:08 +03:00
Paul Gofman
6ed890c9e9 lsteamclient: Avoid code duplication in handling SteamNetworkingMessage_t wrapping.
CW-Bug-Id: #22649
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: #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