Skip to content

Instantly share code, notes, and snippets.

@xomachine
Created January 20, 2019 16:45
Show Gist options
  • Save xomachine/4f0c5927470e550c0a361024d40c63fe to your computer and use it in GitHub Desktop.
Save xomachine/4f0c5927470e550c0a361024d40c63fe to your computer and use it in GitHub Desktop.
The patch to Proton to make Battlerite servers work
diff --git a/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.cpp b/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.cpp
new file mode 100644
index 0000000..17078a3
--- /dev/null
+++ b/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.cpp
@@ -0,0 +1,52 @@
+#include "steam_defs.h"
+#include "steamworks_sdk_139/steam_api.h"
+#include "steamworks_sdk_139/isteamnetworkingsocketsserialized.h"
+#include "steamclient_private.h"
+#include "cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+#include "struct_converters_139.h"
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one(void *linux_side, void * one, void * two, void * three, void * four)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->one((void *)one, (void *)two, (void *)three, (void *)four);
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two(void *linux_side, void * one, void * two, void * three, void * four)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->two((void *)one, (void *)two, (void *)three, (void *)four);
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three(void *linux_side)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->three();
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four(void *linux_side, void * one, void * two)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->four((void *)one, (void *)two);
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five(void *linux_side, void * one, void * two)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->five((void *)one, (void *)two);
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six(void *linux_side)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->six();
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven(void *linux_side, void * one, void * two, void * three)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->seven((void *)one, (void *)two, (void *)three);
+}
+
+uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight(void *linux_side, void * one, void * two)
+{
+ return ((ISteamNetworkingSocketsSerialized*)linux_side)->eight((void *)one, (void *)two);
+}
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.h b/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.h
new file mode 100644
index 0000000..1e55d6d
--- /dev/null
+++ b/lsteamclient/cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.h
@@ -0,0 +1,14 @@
+#ifdef __cplusplus
+extern "C" {
+#endif
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one(void *, void *, void *, void *, void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two(void *, void *, void *, void *, void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three(void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four(void *, void *, void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five(void *, void *, void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six(void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven(void *, void *, void *, void *);
+extern uint64_t cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight(void *, void *, void *);
+#ifdef __cplusplus
+}
+#endif
diff --git a/lsteamclient/gen_wrapper.py b/lsteamclient/gen_wrapper.py
index 6239ff8..e06b6d3 100755
--- a/lsteamclient/gen_wrapper.py
+++ b/lsteamclient/gen_wrapper.py
@@ -106,6 +106,9 @@ files = [
("isteamparentalsettings.h", [
"ISteamParentalSettings"
]),
+ ("isteamnetworkingsocketsserialized.h", [
+ "ISteamNetworkingSocketsSerialized"
+ ]),
]
aliases = {
diff --git a/lsteamclient/steamworks_sdk_139/isteamnetworkingsocketsserialized.h b/lsteamclient/steamworks_sdk_139/isteamnetworkingsocketsserialized.h
new file mode 100644
index 0000000..c554277
--- /dev/null
+++ b/lsteamclient/steamworks_sdk_139/isteamnetworkingsocketsserialized.h
@@ -0,0 +1,19 @@
+#ifndef ISTEAMNETWORKINGSOCKETSERIALIZED_H
+#define ISTEAMNETWORKINGSOCKETSERIALIZED_H
+#include <cinttypes>
+
+class ISteamNetworkingSocketsSerialized {
+public:
+ virtual uint64_t one(void *one, void *two, void *three, void *four);
+ virtual uint64_t two(void *one, void *two, void *three, void *four);
+ virtual uint64_t three();
+ virtual uint64_t four(void *one, void *two);
+ virtual uint64_t five(void *one, void *two);
+ virtual uint64_t six();
+ virtual uint64_t seven(void *one, void *two, void *three);
+ virtual uint64_t eight(void *one, void *two);
+};
+
+#define STEAMNETWORKINGSOCKETSSERIALIZED_INTERFACE_VERSION "SteamNetworkingSocketsSerialized002"
+
+#endif // ISTEAMNETWORKINGSOCKETSERIALIZED_H
diff --git a/lsteamclient/winISteamNetworkingSocketsSerialized.c b/lsteamclient/winISteamNetworkingSocketsSerialized.c
new file mode 100644
index 0000000..4fa9e6a
--- /dev/null
+++ b/lsteamclient/winISteamNetworkingSocketsSerialized.c
@@ -0,0 +1,106 @@
+/* This file is auto-generated, do not edit. */
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+#include "wine/debug.h"
+
+#include "cxx.h"
+
+#include "steam_defs.h"
+
+#include "steamclient_private.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(steamclient);
+
+#include "cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002.h"
+
+typedef struct __winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 {
+ vtable_ptr *vtable;
+ void *linux_side;
+} winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002;
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one, 20)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two, void * three, void * four)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one(_this->linux_side, one, two, three, four);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two, 20)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two, void * three, void * four)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two(_this->linux_side, one, two, three, four);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three, 4)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three(_this->linux_side);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four, 12)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four(_this->linux_side, one, two);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five, 12)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five(_this->linux_side, one, two);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six, 4)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six(_this->linux_side);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven, 16)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two, void * three)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven(_this->linux_side, one, two, three);
+}
+
+DEFINE_THISCALL_WRAPPER(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight, 12)
+uint64_t __thiscall winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *_this, void * one, void * two)
+{
+ TRACE("%p\n", _this);
+ return cppISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight(_this->linux_side, one, two);
+}
+
+extern vtable_ptr winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_vtable;
+
+#ifndef __GNUC__
+void __asm_dummy_vtables(void) {
+#endif
+ __ASM_VTABLE(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002,
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_one)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_two)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_three)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_four)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_five)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_six)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_seven)
+ VTABLE_ADD_FUNC(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_eight)
+ );
+#ifndef __GNUC__
+}
+#endif
+
+winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002(void *linux_side)
+{
+ winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002 *r = HeapAlloc(GetProcessHeap(), 0, sizeof(winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002));
+ TRACE("-> %p\n", r);
+ r->vtable = &winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002_vtable;
+ r->linux_side = linux_side;
+ return r;
+}
+
diff --git a/lsteamclient/win_constructors.h b/lsteamclient/win_constructors.h
index d0d1d47..8b61a24 100644
--- a/lsteamclient/win_constructors.h
+++ b/lsteamclient/win_constructors.h
@@ -30,6 +30,7 @@ extern void *create_winISteamUtils_SteamUtils008(void *);
extern void *create_winISteamUGC_STEAMUGC_INTERFACE_VERSION009(void *);
extern void *create_winISteamInventory_STEAMINVENTORY_INTERFACE_V001(void *);
extern void *create_winISteamVideo_STEAMVIDEO_INTERFACE_V001(void *);
+extern void *create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002(void *);
extern void *create_winISteamController_SteamController004(void *);
extern void *create_winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013(void *);
extern void *create_winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002(void *);
diff --git a/lsteamclient/win_constructors_table.dat b/lsteamclient/win_constructors_table.dat
index 57d2847..6136ace 100644
--- a/lsteamclient/win_constructors_table.dat
+++ b/lsteamclient/win_constructors_table.dat
@@ -30,6 +30,7 @@
{"STEAMUGC_INTERFACE_VERSION009", &create_winISteamUGC_STEAMUGC_INTERFACE_VERSION009},
{"STEAMINVENTORY_INTERFACE_V001", &create_winISteamInventory_STEAMINVENTORY_INTERFACE_V001},
{"STEAMVIDEO_INTERFACE_V001", &create_winISteamVideo_STEAMVIDEO_INTERFACE_V001},
+ {"SteamNetworkingSocketsSerialized002", &create_winISteamNetworkingSocketsSerialized_SteamNetworkingSocketsSerialized002},
{"SteamController004", &create_winISteamController_SteamController004},
{"STEAMREMOTESTORAGE_INTERFACE_VERSION013", &create_winISteamRemoteStorage_STEAMREMOTESTORAGE_INTERFACE_VERSION013},
{"STEAMSCREENSHOTS_INTERFACE_VERSION002", &create_winISteamScreenshots_STEAMSCREENSHOTS_INTERFACE_VERSION002},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment