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
9ea65fe0d0
lsteamclient: Use the new structures in thunks.
...
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
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
1e11264606
lsteamclient: Allocate memory for every path conversion.
...
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
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
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
c9dda0d5b7
lsteamclient: Reorder do_cb_wrap first parameters.
...
CW-Bug-Id: #22729
2024-02-15 15:53:23 +02: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
Andrew Eikum
5b674f087a
lsteamclient: Convert windows VK to xkeysym
2019-06-18 13:00:19 -05:00
Pierre-Loup A. Griffais
4fb4c52acc
steamclient: resolve symlinks to steamclient.so before loading it
...
Downstream code inside of it will use dladdr() to get path to its own code,
in order to infer the runtime Steam installation path from it. Currently,
it only gets the path to the canonical symlinks that point to it.
2019-02-13 10:16:38 -06:00
Zhiyi Zhang
4b9b8547e6
steamclient: Fix possible crash.
...
Fix a regression caused by a8968fe
.
https://github.com/ValveSoftware/Proton/issues/2131
Signed-off-by: Zhiyi Zhang <zzhang@codeweavers.com>
2019-01-15 09:07:23 -06:00
Andrew Eikum
c74de6a23b
steamclient: Fix up converting stringlist
2018-12-12 09:59:37 -06:00
Nikolay Sivov
13c0570212
steamclient: Use correct codepage for W -> A conversion.
...
At this point it's already windows path and it does not cross back to Linux side:
Unix -> CP_UNIXCP -> dosW -> CP_ACP -> dosA.
2018-12-10 14:51:00 -06:00
Nikolay Sivov
bd1e1c3005
steamclient: Do not overwrite output buffer too early.
2018-12-10 14:51:00 -06:00
Andrew Eikum
dcd5907f59
lsteamclient: For relative paths, only fix up backslashes
2018-11-30 08:52:48 -06:00
Andrew Eikum
a8968fe30a
Perform conversion between more lin/win paths
2018-11-30 08:52:48 -06:00
Nikolay Sivov
275c971b3e
steamclient: Forward Steam_ReleaseThreadLocalMemory().
2018-10-31 07:48:35 -05:00
Andrew Eikum
d4307363c9
lsteamclient: Also convert callbacks during GetAPICallResult
2018-10-31 07:48:35 -05:00
Andrew Eikum
17ce82bc1c
lsteamclient: Don't convert callbacks with identical layouts
2018-10-31 07:48:34 -05:00
Andrew Eikum
83b804f15e
lsteamclient: Fix DOS path encoding
2018-10-22 08:53:18 -05:00