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
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