Commit Graph

156 Commits

Author SHA1 Message Date
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
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
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
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
Arkadiusz Hiler
c0d0b2f295 lsteamclient: Generate SteamWorks SDK 1.58 support. 2023-09-27 20:14:12 +03:00