You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reduce differences between opensource and Steam versions.
Thse headers are now *almost* identical to the one in the Steamworks SDK,
which makes it much easier for me (and possibly others) to switch between
a standalone lib and the Steamworks one, even at runtime.
Don't conditionally remove functions from the interface. This makes them
have different ABIs and the same code cannot be compiled to target either
one. Move STEAMNETWORKINGSOCKETS_ENABLE_SDR into a private header, and
provide stubs for all of the functions when it's not defined.
Global accessors that are defined to access code in the standalone lib
will have _Lib on the end, and the Steamworks ones will have SteamAPI().
And, if you are only compiling with one or the other (the common case),
then also declare the "undecorated accessor" to go to that one.
Added a steam_api_common.h stub which will define the very few things
that we need that are defined in that file in Steamworks.
There is one remaining cause of ABI differences, and that is structure
packing. The Steamworks code does really unfortunate things with
structure packing, which cannot be fixed now because of backwards
compatibility. That ship, unfortunately, has sailed. I made a different
decition with the opensource code, but if we do want compatibiilty with
the steamworks version, we will need to do the bad thing steamworks does.
This only affects certain platforms. I'll leave it alone for now,
but we might need to revisit it in the future. I think right now
the number of people who just want the opensource version to have the
same ABI regardless of platform (e.g. for C# wrappers) is more than the
number who might wany the ABI to be the same as Steamworks.
I closed issue ValveSoftware#93, even though it was not fully resolved. This
change actually totally resolves it (with the exception of the
structure packing).
0 commit comments