Commit graph

67 commits

Author SHA1 Message Date
Rémi Bernon
d1645624de lsteamclient: Use unix callbacks for custom client classes.
CW-Bug-Id: #22729
2023-12-19 19:42:18 +01:00
Rémi Bernon
595e757966 lsteamclient: Move unix to dos path conversions to the unix side.
CW-Bug-Id: #22729
2023-12-19 19:42:18 +01:00
Rémi Bernon
979c06ad9b lsteamclient: Move dos to unix path conversion to the unix side.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
c048098214 lsteamclient: Use unixlib interface for C API functions.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
d21ac63d68 lsteamclient: Move manual_convert_nNativeKeyCode to the unix side.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
2fcfbf17fe lsteamclient: Update cxx.h to latest msvcp90 version.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
f82892694a lsteamclient: Move unix library loading to the unix side.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
c78594d32c lsteamclient: Generate iface constructor lookup function.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
4e322598b0 lsteamclient: Use the new converters for Steam_BGetCallback.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
6a5d5757ca lsteamclient: Generate callback wrappers with the new structs.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
e77b78a2c1 lsteamclient: Execute debug callbacks from within Steam_BGetCallback.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
7f5533a34d lsteamclient: Remove now unused steamclient_manual_common.cpp.
CW-Bug-Id: #22729
2023-12-19 19:42:17 +01:00
Rémi Bernon
fce62d2dfd lsteamclient: Use manual method wrapper instead of post-exec.
CW-Bug-Id: #22729
2023-12-19 19:42:16 +01:00
Rémi Bernon
eb1a12c85c lsteamclient: Use the new structures in thunks.
CW-Bug-Id: #22729
2023-12-19 19:42:16 +01:00
Rémi Bernon
afd189d1f6 lsteamclient: Remove unnecessary typedefs.
CW-Bug-Id: #22729
2023-12-19 19:42:16 +01:00
Rémi Bernon
5cb7e98820 lsteamclient: Get rid of the remaining steam typedefs.
CW-Bug-Id: #22729
2023-12-19 19:42:15 +01:00
Rémi Bernon
fb4497a377 lsteamclient: Use standard fixed size integer types.
CW-Bug-Id: #22729
2023-12-19 19:42:15 +01:00
Rémi Bernon
07e95d32c1 lsteamclient: Use integer types instead of enums.
CW-Bug-Id: #22729
2023-12-19 19:42:15 +01:00
Rémi Bernon
26174adf32 lsteamclient: Allocate memory for every path conversion.
CW-Bug-Id: #22729
2023-12-19 19:42:15 +01:00
Rémi Bernon
259895dcf3 lsteamclient: Use a generic interface wrapper struct.
CW-Bug-Id: #22729
2023-12-19 19:42:14 +01:00
Rémi Bernon
85b9f9ea6f lsteamclient: Replace do_cb_wrap with (alloc|convert)_callback.
CW-Bug-Id: #22729
2023-12-19 19:42:14 +01:00
Rémi Bernon
d81a972d3f lsteamclient: Split do_cb_wrap into conversion helpers.
CW-Bug-Id: #22729
2023-12-19 19:42:14 +01:00
Rémi Bernon
fb7270ecbf lsteamclient: Fix some compilation warnings.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
c59345eb5b lsteamclient: Build using makedep rules.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
5120d0f423 lsteamclient: Reorder do_cb_wrap first parameters.
CW-Bug-Id: #22729
2023-12-19 19:42:13 +01:00
Rémi Bernon
435b67aaf7 lsteamclient: Add some missing exports for SDK 1.58. 2023-10-19 13:42:29 +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
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
f5da6b1c22 lsteamclient: Allocate SteamClient interface from native steamclient.dll data.
CW-Bug-Id: #22137
2023-05-19 18:05:06 +03:00
Paul Gofman
b59a3040d9 lsteamclient: Fix _GetAppInstallDir() return value.
CW-Bug-Id: #21864
2023-02-14 16:07:44 +02: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
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
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
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
f9eef72c88 lsteamclient: Convert glyph paths in new ISteamInput005 methods
CW-Bug-Id: #19517
2021-10-08 13:22:52 -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
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
Paul Gofman
4f31b3b2b8 lsteamclient: Fix end of string check in relative path conversion. 2020-11-09 13:43:05 -06:00
Andrew Eikum
7d444028c3 update wine to 5.13 2020-09-29 14:29:05 -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
54bbd1093b lsteamclient: Convert file: URLs 2019-06-18 13:00:19 -05:00