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
Giovanni Mascellani
04af5e3d79
Sort callback tables by id
...
This way the generated file is more deterministic, and hopefully less
irrelevant diff is produced (for example when switching from Python 2
to Python 3, or when adding more callbacks that cause rehashing the
dictionary).
2020-12-01 14:54:06 -06:00
Giovanni Mascellani
c559773d00
lsteamclient: Allow callbacks to be NULL
...
Steamworks API seems to accept NULL callbacks, simply avoiding to call
them when this is the case.
2020-11-09 13:43:05 -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
8bb3afc9a2
lsteamclient: Handle callbacks for ISteamNetworking interfaces
2020-10-02 14:22:48 -05:00
Andrew Eikum
30c21636c5
lsteamclient: support ISteamNetworkingMessages
2020-10-02 14:22:44 -05:00
Andrew Eikum
f22095c745
lsteamclient: generate 1.50 support
2020-10-02 14:22:39 -05:00
Andrew Eikum
5cec5eedc7
lsteamclient: import steamworks 1.50
2020-10-02 14:22:35 -05:00
Andrew Eikum
c0aa7979a3
steamclient: Generate support for steamworks 1.49
2020-09-29 14:29:06 -05:00
Andrew Eikum
ac86122f28
steamclient: Import steamworks sdk 1.49
2020-09-29 14:29:06 -05:00
Rémi Bernon
6a9e719119
lsteamclient: Stub GameOverlayRenderer entry points.
2020-09-29 14:29:06 -05:00
Andrew Eikum
7d444028c3
update wine to 5.13
2020-09-29 14:29:05 -05:00
Andrew Eikum
a853ce145d
lsteamclient: Import steamworks 1.48a and fix up networkingsockets versions
2020-06-05 08:58:23 -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
1bfc03a2c5
steamclient: generate 1.47 support
2020-01-10 07:49:46 -06:00
Andrew Eikum
a2317ff230
steamclient: Clean up 1.47 for generating
2020-01-10 07:49:46 -06:00
Andrew Eikum
03ed34405a
steamclient: import steamworks 1.47
2020-01-10 07:49:45 -06:00
Andrew Eikum
63e14b5678
lsteamclient: Preserve command-line cdecl macro
2019-08-23 09:57:46 -05:00
Andrew Eikum
19ece0270b
lsteamclient: Support ISteamRemotePlay
2019-08-23 09:57:46 -05:00
Andrew Eikum
19b53264bd
lsteamclient: Generate 1.46 support
2019-08-23 09:57:46 -05:00
Andrew Eikum
35752dadb6
lsteamclient: Generate 1.45 support
2019-08-23 09:57:46 -05:00
Andrew Eikum
7aa1b840d9
lsteamclient: Import steamworks 1.45 and 1.46
2019-08-23 09:57:46 -05:00
Andrew Eikum
80465e2a7d
lsteamclient: Fix SteamAPI_CheckCallbackRegistered_t calling convention
2019-08-23 09:57:46 -05:00
Andrew Eikum
abfb04f8cc
lsteamclient: Fix debug printing
2019-08-23 09:57:46 -05:00
Andrew Eikum
22354ec32f
lsteamclient: Restore some 64-bit struct layout conversions
2019-06-27 09:00:59 -05: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
Andrew Eikum
6540e58078
lsteamclient: Also check struct layouts in 64-bit
2019-06-18 13:00:19 -05:00
Andrew Eikum
381ab5f3dc
lsteamclient: Explicitly specify alignment of sub-structs
...
SteamNetConnectionInfo_t has 8-byte alignment on win32, but 4-byte on
Linux. Since we use the same struct on each in lsteamclient,
winSteamNetConnectionStatusChangedCallback_t_712's members would
incorrectly be aligned to 4-byte boundaries.
2019-06-05 10:21:33 -05:00
Andrew Eikum
5ed5cbf286
lsteamclient: Fix SteamNetConnectionStatusChangedCallback_t conversion
...
It was declared inside an extern "C" block in the SDK, which for some
reason cindex doesn't include.
2019-06-05 10:21:32 -05:00
Andrew Eikum
6195cb8a0a
lsteamclient: Add a manual override for the cpp side of the new networking API
2019-06-05 10:21:32 -05:00
Andrew Eikum
81e8d149f3
lsteamclient: Fix new network wrapper
2019-06-05 10:21:32 -05:00
Stefan Dösinger
eba2a821a7
Include <limits.h> instead of <linux/limits.h>.
2019-05-22 14:49:44 -05:00
Andrew Eikum
197f25db04
lsteamclient: wrap FSteamNetworkingSocketsDebugOutput
2019-05-17 15:10:50 -05:00
Andrew Eikum
aa4c6fcc22
lsteamclient: Add ISteamGameSearch support
2019-05-17 10:50:22 -05:00
Andrew Eikum
e94250ae57
lsteamclient: Add ISteamNetworkingUtils support
2019-05-17 10:50:20 -05:00
Andrew Eikum
649421bf26
lsteamclient: Add ISteamNetworkingSockets support
2019-05-17 10:50:16 -05:00
Andrew Eikum
528d5d26cf
lsteamclient: Add steamworks sdk 1.44 support
2019-05-17 10:50:12 -05:00
Andrew Eikum
318a9df7a9
lsteamclient: Support ISteamInput
2019-03-07 07:45:44 -06:00
Andrew Eikum
f6c12f6333
lsteamclient: Support ISteamParties
2019-03-07 07:45:44 -06:00
Andrew Eikum
4880c3b3ab
lsteamclient: Make Windows-side struct definitions available to C files
2019-03-07 07:45:44 -06:00
Andrew Eikum
2054bb97a9
lsteamclient: Import SDK version 1.43
2019-03-07 07:45:44 -06:00
Andrew Eikum
ee7717eed1
lsteamclient: Fix up compiler warning
2019-03-07 07:45:44 -06:00
Andrew Eikum
358e8a7c42
lsteamclient: Synthesize another unreleased SDK
...
For SteamNetworkingSocketsSerialized003.
2019-03-07 07:45:44 -06:00
Andrew Eikum
bdca0aa9c9
lsteamclient: Support SteamGameStats001
2019-02-18 14:28:07 -06:00
Duncan Ogilvie
01c0124bde
Fix stdcall parameter size computation
...
Signed-off-by: Duncan Ogilvie <mr.exodia.tpodt@gmail.com>
2019-02-14 08:32:39 -06:00
Andrew Eikum
a14f231bd1
lsteamclient: Implement old version of ISteamMatchmakingServerListResponse
2019-02-14 08:32:39 -06:00
Andrew Eikum
10a04c2c4f
lsteamclient: SteamApps001 is an alias for STEAMAPPS_INTERFACE_VERSION001
2019-02-14 08:32:39 -06:00
Andrew Eikum
0411076dce
lsteamclient: Synthesize SDK version 0.99u
...
For SteamUser004.
2019-02-14 08:32:39 -06:00
Andrew Eikum
6957729897
lsteamclient: Synthesize SDK version 0.99v
...
For SteamUser005.
2019-02-14 08:32:39 -06:00
Andrew Eikum
9ddc3052b6
lsteamclient: Synthesize SDK version 0.99w
...
For SteamUser006.
2019-02-14 08:32:39 -06:00
Andrew Eikum
7c16226c51
lsteamclient: Synthesize an unreleased SDK
...
For SteamNetworkingSocketsSerialized002.
2019-02-14 08:32:39 -06:00
Andrew Eikum
63bf1c0d39
lsteamclient: Forward SteamGameServer007 and 006 to 008
2019-02-14 08:32:39 -06:00
Andrew Eikum
164490165d
lsteamclient: Synthesize SDK version 0.99x
...
For SteamFriends001, SteamGameServer002, SteamUser007, and
STEAMUSERSTATS_INTERFACE_VERSION001.
2019-02-14 08:32:39 -06:00
Andrew Eikum
7008e8bf21
lsteamclient: Synthesize SDK version 0.99y
...
For SteamClient006, SteamFriends002, SteamGameServer003,
SteamMatchMaking001, STEAMUSERSTATS_INTERFACE_VERSION002, and
SteamUser008.
2019-02-14 08:32:39 -06:00
Andrew Eikum
d3dd51b542
lsteamclient: Synthesize SDK version 1.01x
...
For SteamMatchMaking003.
2019-02-14 08:32:39 -06:00
Andrew Eikum
bed527de86
lsteamclient: Synthesize SDK version 1.02x
...
For SteamMatchMaking005 and STEAMREMOTESTORAGE_INTERFACE_VERSION001.
2019-02-14 08:32:39 -06:00
Andrew Eikum
e0ddf0fc28
lsteamclient: Synthesize SDK version 1.11x
...
For STEAMREMOTESTORAGE_INTERFACE_VERSION003 and
STEAMUSERSTATS_INTERFACE_VERSION008.
2019-02-14 08:32:39 -06:00
Andrew Eikum
9f60ff6603
lsteamclient: Synthesize SDK version 1.12x
...
For SteamUser015.
2019-02-14 08:32:39 -06:00
Andrew Eikum
96fe29ba03
lsteamclient: Synthesize SDK version 1.16x
...
For SteamFriends010.
2019-02-14 08:32:39 -06:00
Andrew Eikum
98c51ad7a5
lsteamclient: Synthesize SDK version 1.19x
...
For STEAMREMOTESTORAGE_INTERFACE_VERSION007 and SteamFriends012.
2019-02-14 08:32:39 -06:00
Andrew Eikum
f3c4547fc7
lsteamclient: Synthesize SDK version 1.21x
...
For STEAMREMOTESTORAGE_INTERFACE_VERSION009.
2019-02-14 08:32:39 -06:00
Andrew Eikum
bf1fea6219
lsteamclient: Synthesize SDK verison 1.28x
...
For SteamClient013.
2019-02-14 08:32:39 -06:00
Andrew Eikum
3f02f0611d
lsteamclient: Synthesize SDK version 1.30x
...
For STEAMHTMLSURFACE_INTERFACE_VERSION_001.
2019-02-14 08:32:39 -06:00
Andrew Eikum
73b03443ea
lsteamclient: Synthesize SDK version 1.32x
...
For STEAMUGC_INTERFACE_VERSION004.
2019-02-14 08:32:39 -06:00
Andrew Eikum
62644cfefc
lsteamclient: Synthesize SDK version 1.33x
...
For STEAMUGC_INTERFACE_VERSION006.
2019-02-14 08:32:39 -06:00
Andrew Eikum
e1be52a909
lsteamclient: Forward SteamUtils interfaces
2019-02-14 08:32:39 -06: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
63179d7f09
lsteamclient: Add symbol missing in ancient headers
2018-10-31 07:48:35 -05:00
Andrew Eikum
0ea7cb0f5a
lsteamclient: Move steamclient_private below steam api headers
2018-10-31 07:48:35 -05:00
Andrew Eikum
6cff3e2de0
lsteamclient: Hard-code struct sizes
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
0466c19484
lsteamclient: Be more explicit about type sizes
2018-10-31 07:48:34 -05:00
Andrew Eikum
17ce82bc1c
lsteamclient: Don't convert callbacks with identical layouts
2018-10-31 07:48:34 -05:00
Andrew Eikum
3714637f08
lsteamclient: Don't convert structs with identical layouts
2018-10-31 07:48:34 -05:00
Andrew Eikum
dca026aff1
lsteamclient: build fixes
2018-10-31 07:48:34 -05:00
Andrew Eikum
9d1c8963e4
steamclient: Implement the other ISteamMatchmakingServers callback wrappers
2018-10-31 07:48:34 -05:00
Andrew Eikum
f9f3754f09
lsteamclient: build fixes
2018-10-31 07:48:34 -05:00
Andrew Eikum
c7d6c1f18b
lsteamclient: Call struct converters
2018-10-31 07:48:34 -05:00
Andrew Eikum
ab30d847d9
lsteamclient: Generate struct converters
2018-10-31 07:48:34 -05:00
Andrew Eikum
1c79a6a2d0
lsteamclient: Rework cb struct generation
2018-10-31 07:48:34 -05:00
Andrew Eikum
02d52eea92
lsteamclient: Fix packing for windows structs
2018-10-31 07:48:34 -05:00
Andrew Eikum
bbf914c044
lsteamclient: Rename cb_converters to struct_converters
2018-10-31 07:48:34 -05:00
Andrew Eikum
161105a012
lsteamclient: Update generator to clang 7
2018-10-31 07:48:34 -05:00
Andrew Eikum
83b804f15e
lsteamclient: Fix DOS path encoding
2018-10-22 08:53:18 -05:00
Andrew Eikum
58ec0b8b97
lsteamclient: Fix order of overloaded methods in vtable
...
msvc++ groups overloaded methods and places them in reverse order of
declaration in the vtable.
2018-09-06 14:22:36 -05:00
Mayeul Cantan
0f80f2f52c
Import print_function from __future__ for python compatibility
...
This alters the behaviour of python2's print statement to be compatible
with python3's print function. While not strictly necessary for now,
this might help future compatibility.
Thanks to Seppo Yli-Olli (@nanonyme) for suggesting this.
2018-08-24 09:28:52 +02:00
Mayeul Cantan
9c3667c083
Make proton, gen_wrapper and user_settings python scripts version-agnostic
2018-08-23 14:24:39 +02:00
Seppo Yli-Olli
0002f84825
Sanitize hashbang
2018-08-22 16:52:24 +03:00
Andrew Eikum
2c67cb3710
Update license information
2018-03-30 10:40:09 -05:00
Andrew Eikum
8a45036984
steamclient: Give steamclient.dylib path explicitly on macos
2018-03-29 12:12:48 -05:00
Andrew Eikum
3a1b1d1b00
steamclient: Load steamclient.dylib on mac
2018-03-07 14:41:41 -06:00
Andrew Eikum
e217e277c4
Support building for Mac
...
Patch by Aric
2018-02-08 09:21:25 -06:00
Andrew Eikum
b8292666fe
lsteamclient: Fix ISteamHTMLSurface vtable
2018-01-29 14:10:23 -06:00
Andrew Eikum
0b2c856af7
lsteamclient: Fix building as a winemaker project
2018-01-18 13:27:10 -06:00
Andrew Eikum
88f3462bc1
lsteamclient: Fix building as a winemaker project
2018-01-18 10:38:13 -06:00
Andrew Eikum
effb961121
lsteamclient: Remove makefiles
...
These are made by winemaker now
2018-01-18 10:31:59 -06:00
Andrew Eikum
f07f9247a5
Move lsteamclient out of wine
2018-01-18 10:24:05 -06:00