From b3fbffb0623633c45a5ba046e263680ccf8fe9d6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fa=E9=B8=BD?= <43724908+Akarinnnnn@users.noreply.github.com>
Date: Fri, 3 Oct 2025 05:39:54 +0800
Subject: [PATCH] Fix most callback system related marshal issues.
Added a conditional marshalling table to decide which alignment to use at runtime, this should fix most callback-retrieve related issues.
Struct parameters in interface methods are still need to fix.
---
CodeGen/src/structs.py | 95 +-
.../anycpu/ConditionalMarshallerTable.head.cs | 19 +
.../anycpu/ConditionalMarshallerTable.tail.cs | 4 +
Standalone3.0/ConditionalMarshallerTable.cs | 19 +
Standalone3.0/ConditionalMarshallerTable.g.cs | 3725 +++++++++
.../Runtime/CallbackDispatcher.cs | 8 +-
.../Runtime/Packsize.cs | 35 +-
.../Runtime/autogen/SteamCallbacks.cs | 6630 ++++++++++++++++-
.../Runtime/autogen/SteamStructs.cs | 937 ++-
9 files changed, 11115 insertions(+), 357 deletions(-)
create mode 100644 CodeGen/templates/anycpu/ConditionalMarshallerTable.head.cs
create mode 100644 CodeGen/templates/anycpu/ConditionalMarshallerTable.tail.cs
create mode 100644 Standalone3.0/ConditionalMarshallerTable.cs
create mode 100644 Standalone3.0/ConditionalMarshallerTable.g.cs
diff --git a/CodeGen/src/structs.py b/CodeGen/src/structs.py
index 6fb5cb46..0ab200d0 100644
--- a/CodeGen/src/structs.py
+++ b/CodeGen/src/structs.py
@@ -1,5 +1,6 @@
import os
import sys
+from copy import deepcopy
from SteamworksParser import steamworksparser
g_TypeConversionDict = {
@@ -102,11 +103,14 @@ def main(parser):
lines = []
callbacklines = []
+
+ anyCpuConditionalMarshallerLines = [] # Contains conditional marshaller code only
+
for f in parser.files:
for struct in f.structs:
- lines.extend(parse(struct))
+ lines.extend(parse(struct, True, anyCpuConditionalMarshallerLines))
for callback in f.callbacks:
- callbacklines.extend(parse(callback))
+ callbacklines.extend(parse(callback, True, anyCpuConditionalMarshallerLines))
with open("../com.rlabrecque.steamworks.net/Runtime/autogen/SteamStructs.cs", "wb") as out:
with open("templates/header.txt", "r") as f:
@@ -125,8 +129,23 @@ def main(parser):
out.write(bytes(line + "\n", "utf-8"))
out.write(bytes("}\n\n", "utf-8"))
out.write(bytes("#endif // !DISABLESTEAMWORKS\n", "utf-8"))
+
+ with open("../Standalone3.0/ConditionalMarshallerTable.g.cs", "wb") as out:
+ with open("templates/header.txt", "r") as f:
+ out.write(bytes(f.read(), "utf-8"))
+
+ with open("templates/anycpu/ConditionalMarshallerTable.head.cs", "r") as f:
+ out.write(bytes(f.read(), "utf-8"))
+
+ for line in anyCpuConditionalMarshallerLines:
+ out.write(bytes("\t\t\t" + line + "\n", "utf-8"))
+
+ with open("templates/anycpu/ConditionalMarshallerTable.tail.cs", "r") as f:
+ out.write(bytes(f.read(), "utf-8"))
+
+ out.write(bytes("#endif // !DISABLESTEAMWORKS\n", "utf-8"))
-def parse(struct):
+def parse(struct, isMainStruct, marshalTableLines: list[str]):
if struct.name in g_SkippedStructs:
return []
@@ -136,11 +155,13 @@ def parse(struct):
continue
lines.append("\t" + comment)
- structname = struct.name
+ structname: str = struct.name
packsize = g_CustomPackSize.get(structname, "Packsize.value")
+ isExplicitStruct = False
if g_ExplicitStructs.get(structname, False):
lines.append("\t[StructLayout(LayoutKind.Explicit, Pack = " + packsize + ")]")
+ isExplicitStruct = True
elif struct.packsize:
customsize = ""
if len(struct.fields) == 0:
@@ -155,7 +176,11 @@ def parse(struct):
lines.append("\t[StructLayout(LayoutKind.Sequential)]")
break
- lines.append("\tpublic struct " + structname + " {")
+ if isMainStruct:
+ lines.append("\tpublic struct " + structname + " {")
+ else:
+ lines.append("\tinternal struct " + structname + " {")
+
lines.extend(insert_constructors(structname))
@@ -163,7 +188,12 @@ def parse(struct):
lines.append("\t\tpublic const int k_iCallback = Constants." + struct.callbackid + ";")
for field in struct.fields:
- lines.extend(parse_field(field, structname))
+ fieldHandlingStructName = structname
+
+ if "_LargePack" in structname or "_SmallPack" in structname:
+ fieldHandlingStructName = fieldHandlingStructName[:structname.rindex("_")]
+
+ lines.extend(parse_field(field, fieldHandlingStructName))
if struct.endcomments:
for comment in struct.endcomments.rawprecomments:
@@ -172,11 +202,62 @@ def parse(struct):
else:
lines.append("\t" + comment)
+ # Generate Any CPU marshal helper
+ if isMainStruct and packsize == "Packsize.value" and not isExplicitStruct:
+ marshalTableLines.append(f"marshallers.Add(typeof({structname}), (unmanaged) => {{")
+ marshalTableLines.append(f"\t{structname} result = default;")
+ marshalTableLines.append("")
+ marshalTableLines.append("\tif (Packsize.IsLargePack) {")
+ marshalTableLines.append(f"\t\tvar value = System.Runtime.InteropServices.Marshal.PtrToStructure<{structname}_LargePack>(unmanaged);")
+
+ for field in struct.fields:
+ gen_fieldcopycode(field, structname, marshalTableLines)
+
+ marshalTableLines.append("\t} else {")
+ marshalTableLines.append(f"\t\tvar value = System.Runtime.InteropServices.Marshal.PtrToStructure<{structname}_SmallPack>(unmanaged);")
+
+ for field in struct.fields:
+ gen_fieldcopycode(field, structname, marshalTableLines)
+
+ marshalTableLines.append("\t}")
+ marshalTableLines.append("")
+ marshalTableLines.append("\treturn result;")
+ marshalTableLines.append("});")
+
+ pass
+
lines.append("\t}")
lines.append("")
+ # Generate Any CPU struct variant for default pack-sized structs
+ if isMainStruct and packsize == "Packsize.value" and not isExplicitStruct:
+ lines.append("\t#if STEAMWORKS_ANYCPU")
+
+ largePackStruct = struct
+ largePackStruct.name = structname + "_LargePack"
+ largePackStruct.packsize = 8
+ lines.extend(parse(largePackStruct, False, marshalTableLines))
+
+ lines.append("")
+
+ smallPackStruct = struct
+ smallPackStruct.name = structname + "_SmallPack"
+ smallPackStruct.packsize = 4
+ lines.extend(parse(smallPackStruct, False, marshalTableLines))
+
+ lines.append("\t#endif")
+
return lines
+def gen_fieldcopycode(field, structname, marshalTableLines):
+ fieldtype = g_TypeConversionDict.get(field.type, field.type)
+ fieldtype = g_SpecialFieldTypes.get(structname, dict()).get(field.name, fieldtype)
+
+ if field.arraysize and fieldtype == "string":
+ marshalTableLines.append(f"\t\tresult.{field.name}_ = value.{field.name}_;")
+ else:
+ marshalTableLines.append(f"\t\tresult.{field.name} = value.{field.name};")
+
def parse_field(field, structname):
lines = []
for comment in field.c.rawprecomments:
@@ -213,7 +294,7 @@ def parse_field(field, structname):
lines.append("\t\t[MarshalAs(UnmanagedType.I1)]")
if field.arraysize and fieldtype == "string[]":
- lines.append("\t\tprivate byte[] " + field.name + "_;")
+ lines.append("\t\tinternal byte[] " + field.name + "_;")
lines.append("\t\tpublic string " + field.name + comment)
lines.append("\t\t{")
lines.append("\t\t\tget { return InteropHelp.ByteArrayToStringUTF8(" + field.name + "_); }")
diff --git a/CodeGen/templates/anycpu/ConditionalMarshallerTable.head.cs b/CodeGen/templates/anycpu/ConditionalMarshallerTable.head.cs
new file mode 100644
index 00000000..9688f02e
--- /dev/null
+++ b/CodeGen/templates/anycpu/ConditionalMarshallerTable.head.cs
@@ -0,0 +1,19 @@
+///
+// This file is generated by CodeGen/src/struct.py
+
+#if !STEAMWORKS_ANYCPU
+#error This file for Any CPU variant, not meaningful to any other platform.
+#endif
+
+using System;
+using System.Collections.Frozen;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Steamworks {
+ internal static partial class ConditionalMarshallerTable {
+ static ConditionalMarshallerTable() {
+ Dictionary> marshallers = new();
+
diff --git a/CodeGen/templates/anycpu/ConditionalMarshallerTable.tail.cs b/CodeGen/templates/anycpu/ConditionalMarshallerTable.tail.cs
new file mode 100644
index 00000000..702da47f
--- /dev/null
+++ b/CodeGen/templates/anycpu/ConditionalMarshallerTable.tail.cs
@@ -0,0 +1,4 @@
+ s_marshallerLookupTable = FrozenDictionary.ToFrozenDictionary(marshallers);
+ }
+ }
+}
diff --git a/Standalone3.0/ConditionalMarshallerTable.cs b/Standalone3.0/ConditionalMarshallerTable.cs
new file mode 100644
index 00000000..f0e31161
--- /dev/null
+++ b/Standalone3.0/ConditionalMarshallerTable.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Frozen;
+using System.Collections.Generic;
+
+namespace Steamworks
+{
+ internal static partial class ConditionalMarshallerTable
+ {
+ private static readonly FrozenDictionary> s_marshallerLookupTable;
+
+ // partial, in generated file
+ // static ConditionalMarshallerTable();
+
+ public static T Marshal(IntPtr unmanagetype)
+ {
+ return (T)s_marshallerLookupTable[typeof(T)](unmanagetype);
+ }
+ }
+}
diff --git a/Standalone3.0/ConditionalMarshallerTable.g.cs b/Standalone3.0/ConditionalMarshallerTable.g.cs
new file mode 100644
index 00000000..7871a183
--- /dev/null
+++ b/Standalone3.0/ConditionalMarshallerTable.g.cs
@@ -0,0 +1,3725 @@
+// This file is provided under The MIT License as part of Steamworks.NET.
+// Copyright (c) 2013-2022 Riley Labrecque
+// Please see the included LICENSE.txt for additional information.
+
+// This file is automatically generated.
+// Changes to this file will be reverted when you update Steamworks.NET
+
+#if !(UNITY_STANDALONE_WIN || UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX || STEAMWORKS_WIN || STEAMWORKS_LIN_OSX)
+ #define DISABLESTEAMWORKS
+#endif
+
+#if !DISABLESTEAMWORKS
+
+using System.Runtime.InteropServices;
+using IntPtr = System.IntPtr;
+
+///
+// This file is generated by CodeGen/src/struct.py
+
+#if !STEAMWORKS_ANYCPU
+#error This file for Any CPU variant, not meaningful to any other platform.
+#endif
+
+using System;
+using System.Collections.Frozen;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Steamworks {
+ internal static partial class ConditionalMarshallerTable {
+ static ConditionalMarshallerTable() {
+ Dictionary> marshallers = new();
+
+ marshallers.Add(typeof(DlcInstalled_t), (unmanaged) => {
+ DlcInstalled_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nAppID = value.m_nAppID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nAppID = value.m_nAppID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(NewUrlLaunchParameters_t), (unmanaged) => {
+ NewUrlLaunchParameters_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(AppProofOfPurchaseKeyResponse_t), (unmanaged) => {
+ AppProofOfPurchaseKeyResponse_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nAppID = value.m_nAppID;
+ result.m_cchKeyLength = value.m_cchKeyLength;
+ result.m_rgchKey_ = value.m_rgchKey_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nAppID = value.m_nAppID;
+ result.m_cchKeyLength = value.m_cchKeyLength;
+ result.m_rgchKey_ = value.m_rgchKey_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(FileDetailsResult_t), (unmanaged) => {
+ FileDetailsResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulFileSize = value.m_ulFileSize;
+ result.m_FileSHA = value.m_FileSHA;
+ result.m_unFlags = value.m_unFlags;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulFileSize = value.m_ulFileSize;
+ result.m_FileSHA = value.m_FileSHA;
+ result.m_unFlags = value.m_unFlags;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(TimedTrialStatus_t), (unmanaged) => {
+ TimedTrialStatus_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_bIsOffline = value.m_bIsOffline;
+ result.m_unSecondsAllowed = value.m_unSecondsAllowed;
+ result.m_unSecondsPlayed = value.m_unSecondsPlayed;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_bIsOffline = value.m_bIsOffline;
+ result.m_unSecondsAllowed = value.m_unSecondsAllowed;
+ result.m_unSecondsPlayed = value.m_unSecondsPlayed;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(FriendGameInfo_t), (unmanaged) => {
+ FriendGameInfo_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_gameID = value.m_gameID;
+ result.m_unGameIP = value.m_unGameIP;
+ result.m_usGamePort = value.m_usGamePort;
+ result.m_usQueryPort = value.m_usQueryPort;
+ result.m_steamIDLobby = value.m_steamIDLobby;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_gameID = value.m_gameID;
+ result.m_unGameIP = value.m_unGameIP;
+ result.m_usGamePort = value.m_usGamePort;
+ result.m_usQueryPort = value.m_usQueryPort;
+ result.m_steamIDLobby = value.m_steamIDLobby;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(PersonaStateChange_t), (unmanaged) => {
+ PersonaStateChange_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamID = value.m_ulSteamID;
+ result.m_nChangeFlags = value.m_nChangeFlags;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamID = value.m_ulSteamID;
+ result.m_nChangeFlags = value.m_nChangeFlags;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GameOverlayActivated_t), (unmanaged) => {
+ GameOverlayActivated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bActive = value.m_bActive;
+ result.m_bUserInitiated = value.m_bUserInitiated;
+ result.m_nAppID = value.m_nAppID;
+ result.m_dwOverlayPID = value.m_dwOverlayPID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bActive = value.m_bActive;
+ result.m_bUserInitiated = value.m_bUserInitiated;
+ result.m_nAppID = value.m_nAppID;
+ result.m_dwOverlayPID = value.m_dwOverlayPID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GameServerChangeRequested_t), (unmanaged) => {
+ GameServerChangeRequested_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_rgchServer_ = value.m_rgchServer_;
+ result.m_rgchPassword_ = value.m_rgchPassword_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_rgchServer_ = value.m_rgchServer_;
+ result.m_rgchPassword_ = value.m_rgchPassword_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GameLobbyJoinRequested_t), (unmanaged) => {
+ GameLobbyJoinRequested_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDLobby = value.m_steamIDLobby;
+ result.m_steamIDFriend = value.m_steamIDFriend;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDLobby = value.m_steamIDLobby;
+ result.m_steamIDFriend = value.m_steamIDFriend;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(ClanOfficerListResponse_t), (unmanaged) => {
+ ClanOfficerListResponse_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDClan = value.m_steamIDClan;
+ result.m_cOfficers = value.m_cOfficers;
+ result.m_bSuccess = value.m_bSuccess;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDClan = value.m_steamIDClan;
+ result.m_cOfficers = value.m_cOfficers;
+ result.m_bSuccess = value.m_bSuccess;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GameRichPresenceJoinRequested_t), (unmanaged) => {
+ GameRichPresenceJoinRequested_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDFriend = value.m_steamIDFriend;
+ result.m_rgchConnect_ = value.m_rgchConnect_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDFriend = value.m_steamIDFriend;
+ result.m_rgchConnect_ = value.m_rgchConnect_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GameConnectedChatJoin_t), (unmanaged) => {
+ GameConnectedChatJoin_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDClanChat = value.m_steamIDClanChat;
+ result.m_steamIDUser = value.m_steamIDUser;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDClanChat = value.m_steamIDClanChat;
+ result.m_steamIDUser = value.m_steamIDUser;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(DownloadClanActivityCountsResult_t), (unmanaged) => {
+ DownloadClanActivityCountsResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bSuccess = value.m_bSuccess;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bSuccess = value.m_bSuccess;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(UnreadChatMessagesChanged_t), (unmanaged) => {
+ UnreadChatMessagesChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(OverlayBrowserProtocolNavigation_t), (unmanaged) => {
+ OverlayBrowserProtocolNavigation_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.rgchURI_ = value.rgchURI_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.rgchURI_ = value.rgchURI_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(EquippedProfileItemsChanged_t), (unmanaged) => {
+ EquippedProfileItemsChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamID = value.m_steamID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamID = value.m_steamID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(EquippedProfileItems_t), (unmanaged) => {
+ EquippedProfileItems_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_steamID = value.m_steamID;
+ result.m_bHasAnimatedAvatar = value.m_bHasAnimatedAvatar;
+ result.m_bHasAvatarFrame = value.m_bHasAvatarFrame;
+ result.m_bHasProfileModifier = value.m_bHasProfileModifier;
+ result.m_bHasProfileBackground = value.m_bHasProfileBackground;
+ result.m_bHasMiniProfileBackground = value.m_bHasMiniProfileBackground;
+ result.m_bFromCache = value.m_bFromCache;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_steamID = value.m_steamID;
+ result.m_bHasAnimatedAvatar = value.m_bHasAnimatedAvatar;
+ result.m_bHasAvatarFrame = value.m_bHasAvatarFrame;
+ result.m_bHasProfileModifier = value.m_bHasProfileModifier;
+ result.m_bHasProfileBackground = value.m_bHasProfileBackground;
+ result.m_bHasMiniProfileBackground = value.m_bHasMiniProfileBackground;
+ result.m_bFromCache = value.m_bFromCache;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GCMessageAvailable_t), (unmanaged) => {
+ GCMessageAvailable_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nMessageSize = value.m_nMessageSize;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nMessageSize = value.m_nMessageSize;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GCMessageFailed_t), (unmanaged) => {
+ GCMessageFailed_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSClientApprove_t), (unmanaged) => {
+ GSClientApprove_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_SteamID = value.m_SteamID;
+ result.m_OwnerSteamID = value.m_OwnerSteamID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_SteamID = value.m_SteamID;
+ result.m_OwnerSteamID = value.m_OwnerSteamID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSClientAchievementStatus_t), (unmanaged) => {
+ GSClientAchievementStatus_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_SteamID = value.m_SteamID;
+ result.m_pchAchievement_ = value.m_pchAchievement_;
+ result.m_bUnlocked = value.m_bUnlocked;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_SteamID = value.m_SteamID;
+ result.m_pchAchievement_ = value.m_pchAchievement_;
+ result.m_bUnlocked = value.m_bUnlocked;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSPolicyResponse_t), (unmanaged) => {
+ GSPolicyResponse_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bSecure = value.m_bSecure;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bSecure = value.m_bSecure;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSGameplayStats_t), (unmanaged) => {
+ GSGameplayStats_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nRank = value.m_nRank;
+ result.m_unTotalConnects = value.m_unTotalConnects;
+ result.m_unTotalMinutesPlayed = value.m_unTotalMinutesPlayed;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nRank = value.m_nRank;
+ result.m_unTotalConnects = value.m_unTotalConnects;
+ result.m_unTotalMinutesPlayed = value.m_unTotalMinutesPlayed;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSReputation_t), (unmanaged) => {
+ GSReputation_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_unReputationScore = value.m_unReputationScore;
+ result.m_bBanned = value.m_bBanned;
+ result.m_unBannedIP = value.m_unBannedIP;
+ result.m_usBannedPort = value.m_usBannedPort;
+ result.m_ulBannedGameID = value.m_ulBannedGameID;
+ result.m_unBanExpires = value.m_unBanExpires;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_unReputationScore = value.m_unReputationScore;
+ result.m_bBanned = value.m_bBanned;
+ result.m_unBannedIP = value.m_unBannedIP;
+ result.m_usBannedPort = value.m_usBannedPort;
+ result.m_ulBannedGameID = value.m_ulBannedGameID;
+ result.m_unBanExpires = value.m_unBanExpires;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(AssociateWithClanResult_t), (unmanaged) => {
+ AssociateWithClanResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(ComputeNewPlayerCompatibilityResult_t), (unmanaged) => {
+ ComputeNewPlayerCompatibilityResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_cPlayersThatDontLikeCandidate = value.m_cPlayersThatDontLikeCandidate;
+ result.m_cPlayersThatCandidateDoesntLike = value.m_cPlayersThatCandidateDoesntLike;
+ result.m_cClanPlayersThatDontLikeCandidate = value.m_cClanPlayersThatDontLikeCandidate;
+ result.m_SteamIDCandidate = value.m_SteamIDCandidate;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_cPlayersThatDontLikeCandidate = value.m_cPlayersThatDontLikeCandidate;
+ result.m_cPlayersThatCandidateDoesntLike = value.m_cPlayersThatCandidateDoesntLike;
+ result.m_cClanPlayersThatDontLikeCandidate = value.m_cClanPlayersThatDontLikeCandidate;
+ result.m_SteamIDCandidate = value.m_SteamIDCandidate;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(GSStatsUnloaded_t), (unmanaged) => {
+ GSStatsUnloaded_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDUser = value.m_steamIDUser;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDUser = value.m_steamIDUser;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_BrowserReady_t), (unmanaged) => {
+ HTML_BrowserReady_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_NeedsPaint_t), (unmanaged) => {
+ HTML_NeedsPaint_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pBGRA = value.pBGRA;
+ result.unWide = value.unWide;
+ result.unTall = value.unTall;
+ result.unUpdateX = value.unUpdateX;
+ result.unUpdateY = value.unUpdateY;
+ result.unUpdateWide = value.unUpdateWide;
+ result.unUpdateTall = value.unUpdateTall;
+ result.unScrollX = value.unScrollX;
+ result.unScrollY = value.unScrollY;
+ result.flPageScale = value.flPageScale;
+ result.unPageSerial = value.unPageSerial;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pBGRA = value.pBGRA;
+ result.unWide = value.unWide;
+ result.unTall = value.unTall;
+ result.unUpdateX = value.unUpdateX;
+ result.unUpdateY = value.unUpdateY;
+ result.unUpdateWide = value.unUpdateWide;
+ result.unUpdateTall = value.unUpdateTall;
+ result.unScrollX = value.unScrollX;
+ result.unScrollY = value.unScrollY;
+ result.flPageScale = value.flPageScale;
+ result.unPageSerial = value.unPageSerial;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_StartRequest_t), (unmanaged) => {
+ HTML_StartRequest_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchTarget = value.pchTarget;
+ result.pchPostData = value.pchPostData;
+ result.bIsRedirect = value.bIsRedirect;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchTarget = value.pchTarget;
+ result.pchPostData = value.pchPostData;
+ result.bIsRedirect = value.bIsRedirect;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_CloseBrowser_t), (unmanaged) => {
+ HTML_CloseBrowser_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_URLChanged_t), (unmanaged) => {
+ HTML_URLChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchPostData = value.pchPostData;
+ result.bIsRedirect = value.bIsRedirect;
+ result.pchPageTitle = value.pchPageTitle;
+ result.bNewNavigation = value.bNewNavigation;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchPostData = value.pchPostData;
+ result.bIsRedirect = value.bIsRedirect;
+ result.pchPageTitle = value.pchPageTitle;
+ result.bNewNavigation = value.bNewNavigation;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_FinishedRequest_t), (unmanaged) => {
+ HTML_FinishedRequest_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchPageTitle = value.pchPageTitle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.pchPageTitle = value.pchPageTitle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_OpenLinkInNewTab_t), (unmanaged) => {
+ HTML_OpenLinkInNewTab_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_ChangedTitle_t), (unmanaged) => {
+ HTML_ChangedTitle_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchTitle = value.pchTitle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchTitle = value.pchTitle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_SearchResults_t), (unmanaged) => {
+ HTML_SearchResults_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unResults = value.unResults;
+ result.unCurrentMatch = value.unCurrentMatch;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unResults = value.unResults;
+ result.unCurrentMatch = value.unCurrentMatch;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_CanGoBackAndForward_t), (unmanaged) => {
+ HTML_CanGoBackAndForward_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.bCanGoBack = value.bCanGoBack;
+ result.bCanGoForward = value.bCanGoForward;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.bCanGoBack = value.bCanGoBack;
+ result.bCanGoForward = value.bCanGoForward;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_HorizontalScroll_t), (unmanaged) => {
+ HTML_HorizontalScroll_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unScrollMax = value.unScrollMax;
+ result.unScrollCurrent = value.unScrollCurrent;
+ result.flPageScale = value.flPageScale;
+ result.bVisible = value.bVisible;
+ result.unPageSize = value.unPageSize;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unScrollMax = value.unScrollMax;
+ result.unScrollCurrent = value.unScrollCurrent;
+ result.flPageScale = value.flPageScale;
+ result.bVisible = value.bVisible;
+ result.unPageSize = value.unPageSize;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_VerticalScroll_t), (unmanaged) => {
+ HTML_VerticalScroll_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unScrollMax = value.unScrollMax;
+ result.unScrollCurrent = value.unScrollCurrent;
+ result.flPageScale = value.flPageScale;
+ result.bVisible = value.bVisible;
+ result.unPageSize = value.unPageSize;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unScrollMax = value.unScrollMax;
+ result.unScrollCurrent = value.unScrollCurrent;
+ result.flPageScale = value.flPageScale;
+ result.bVisible = value.bVisible;
+ result.unPageSize = value.unPageSize;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_LinkAtPosition_t), (unmanaged) => {
+ HTML_LinkAtPosition_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.x = value.x;
+ result.y = value.y;
+ result.pchURL = value.pchURL;
+ result.bInput = value.bInput;
+ result.bLiveLink = value.bLiveLink;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.x = value.x;
+ result.y = value.y;
+ result.pchURL = value.pchURL;
+ result.bInput = value.bInput;
+ result.bLiveLink = value.bLiveLink;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_JSAlert_t), (unmanaged) => {
+ HTML_JSAlert_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMessage = value.pchMessage;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMessage = value.pchMessage;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_JSConfirm_t), (unmanaged) => {
+ HTML_JSConfirm_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMessage = value.pchMessage;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMessage = value.pchMessage;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_FileOpenDialog_t), (unmanaged) => {
+ HTML_FileOpenDialog_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchTitle = value.pchTitle;
+ result.pchInitialFile = value.pchInitialFile;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchTitle = value.pchTitle;
+ result.pchInitialFile = value.pchInitialFile;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_NewWindow_t), (unmanaged) => {
+ HTML_NewWindow_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.unX = value.unX;
+ result.unY = value.unY;
+ result.unWide = value.unWide;
+ result.unTall = value.unTall;
+ result.unNewWindow_BrowserHandle_IGNORE = value.unNewWindow_BrowserHandle_IGNORE;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchURL = value.pchURL;
+ result.unX = value.unX;
+ result.unY = value.unY;
+ result.unWide = value.unWide;
+ result.unTall = value.unTall;
+ result.unNewWindow_BrowserHandle_IGNORE = value.unNewWindow_BrowserHandle_IGNORE;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_SetCursor_t), (unmanaged) => {
+ HTML_SetCursor_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.eMouseCursor = value.eMouseCursor;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.eMouseCursor = value.eMouseCursor;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_StatusText_t), (unmanaged) => {
+ HTML_StatusText_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_ShowToolTip_t), (unmanaged) => {
+ HTML_ShowToolTip_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_UpdateToolTip_t), (unmanaged) => {
+ HTML_UpdateToolTip_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.pchMsg = value.pchMsg;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_HideToolTip_t), (unmanaged) => {
+ HTML_HideToolTip_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTML_BrowserRestarted_t), (unmanaged) => {
+ HTML_BrowserRestarted_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unOldBrowserHandle = value.unOldBrowserHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.unBrowserHandle = value.unBrowserHandle;
+ result.unOldBrowserHandle = value.unOldBrowserHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTTPRequestCompleted_t), (unmanaged) => {
+ HTTPRequestCompleted_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ result.m_bRequestSuccessful = value.m_bRequestSuccessful;
+ result.m_eStatusCode = value.m_eStatusCode;
+ result.m_unBodySize = value.m_unBodySize;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ result.m_bRequestSuccessful = value.m_bRequestSuccessful;
+ result.m_eStatusCode = value.m_eStatusCode;
+ result.m_unBodySize = value.m_unBodySize;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTTPRequestHeadersReceived_t), (unmanaged) => {
+ HTTPRequestHeadersReceived_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(HTTPRequestDataReceived_t), (unmanaged) => {
+ HTTPRequestDataReceived_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ result.m_cOffset = value.m_cOffset;
+ result.m_cBytesReceived = value.m_cBytesReceived;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hRequest = value.m_hRequest;
+ result.m_ulContextValue = value.m_ulContextValue;
+ result.m_cOffset = value.m_cOffset;
+ result.m_cBytesReceived = value.m_cBytesReceived;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(InputMotionData_t), (unmanaged) => {
+ InputMotionData_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.rotQuatX = value.rotQuatX;
+ result.rotQuatY = value.rotQuatY;
+ result.rotQuatZ = value.rotQuatZ;
+ result.rotQuatW = value.rotQuatW;
+ result.posAccelX = value.posAccelX;
+ result.posAccelY = value.posAccelY;
+ result.posAccelZ = value.posAccelZ;
+ result.rotVelX = value.rotVelX;
+ result.rotVelY = value.rotVelY;
+ result.rotVelZ = value.rotVelZ;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.rotQuatX = value.rotQuatX;
+ result.rotQuatY = value.rotQuatY;
+ result.rotQuatZ = value.rotQuatZ;
+ result.rotQuatW = value.rotQuatW;
+ result.posAccelX = value.posAccelX;
+ result.posAccelY = value.posAccelY;
+ result.posAccelZ = value.posAccelZ;
+ result.rotVelX = value.rotVelX;
+ result.rotVelY = value.rotVelY;
+ result.rotVelZ = value.rotVelZ;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInputDeviceConnected_t), (unmanaged) => {
+ SteamInputDeviceConnected_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulConnectedDeviceHandle = value.m_ulConnectedDeviceHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulConnectedDeviceHandle = value.m_ulConnectedDeviceHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInputDeviceDisconnected_t), (unmanaged) => {
+ SteamInputDeviceDisconnected_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulDisconnectedDeviceHandle = value.m_ulDisconnectedDeviceHandle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulDisconnectedDeviceHandle = value.m_ulDisconnectedDeviceHandle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInputConfigurationLoaded_t), (unmanaged) => {
+ SteamInputConfigurationLoaded_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_ulDeviceHandle = value.m_ulDeviceHandle;
+ result.m_ulMappingCreator = value.m_ulMappingCreator;
+ result.m_unMajorRevision = value.m_unMajorRevision;
+ result.m_unMinorRevision = value.m_unMinorRevision;
+ result.m_bUsesSteamInputAPI = value.m_bUsesSteamInputAPI;
+ result.m_bUsesGamepadAPI = value.m_bUsesGamepadAPI;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_ulDeviceHandle = value.m_ulDeviceHandle;
+ result.m_ulMappingCreator = value.m_ulMappingCreator;
+ result.m_unMajorRevision = value.m_unMajorRevision;
+ result.m_unMinorRevision = value.m_unMinorRevision;
+ result.m_bUsesSteamInputAPI = value.m_bUsesSteamInputAPI;
+ result.m_bUsesGamepadAPI = value.m_bUsesGamepadAPI;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInputGamepadSlotChange_t), (unmanaged) => {
+ SteamInputGamepadSlotChange_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_ulDeviceHandle = value.m_ulDeviceHandle;
+ result.m_eDeviceType = value.m_eDeviceType;
+ result.m_nOldGamepadSlot = value.m_nOldGamepadSlot;
+ result.m_nNewGamepadSlot = value.m_nNewGamepadSlot;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unAppID = value.m_unAppID;
+ result.m_ulDeviceHandle = value.m_ulDeviceHandle;
+ result.m_eDeviceType = value.m_eDeviceType;
+ result.m_nOldGamepadSlot = value.m_nOldGamepadSlot;
+ result.m_nNewGamepadSlot = value.m_nNewGamepadSlot;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamItemDetails_t), (unmanaged) => {
+ SteamItemDetails_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_itemId = value.m_itemId;
+ result.m_iDefinition = value.m_iDefinition;
+ result.m_unQuantity = value.m_unQuantity;
+ result.m_unFlags = value.m_unFlags;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_itemId = value.m_itemId;
+ result.m_iDefinition = value.m_iDefinition;
+ result.m_unQuantity = value.m_unQuantity;
+ result.m_unFlags = value.m_unFlags;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryResultReady_t), (unmanaged) => {
+ SteamInventoryResultReady_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_handle = value.m_handle;
+ result.m_result = value.m_result;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_handle = value.m_handle;
+ result.m_result = value.m_result;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryFullUpdate_t), (unmanaged) => {
+ SteamInventoryFullUpdate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_handle = value.m_handle;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_handle = value.m_handle;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryDefinitionUpdate_t), (unmanaged) => {
+ SteamInventoryDefinitionUpdate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryEligiblePromoItemDefIDs_t), (unmanaged) => {
+ SteamInventoryEligiblePromoItemDefIDs_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_steamID = value.m_steamID;
+ result.m_numEligiblePromoItemDefs = value.m_numEligiblePromoItemDefs;
+ result.m_bCachedData = value.m_bCachedData;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_steamID = value.m_steamID;
+ result.m_numEligiblePromoItemDefs = value.m_numEligiblePromoItemDefs;
+ result.m_bCachedData = value.m_bCachedData;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryStartPurchaseResult_t), (unmanaged) => {
+ SteamInventoryStartPurchaseResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_ulOrderID = value.m_ulOrderID;
+ result.m_ulTransID = value.m_ulTransID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_ulOrderID = value.m_ulOrderID;
+ result.m_ulTransID = value.m_ulTransID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamInventoryRequestPricesResult_t), (unmanaged) => {
+ SteamInventoryRequestPricesResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_rgchCurrency_ = value.m_rgchCurrency_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_result = value.m_result;
+ result.m_rgchCurrency_ = value.m_rgchCurrency_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamPartyBeaconLocation_t), (unmanaged) => {
+ SteamPartyBeaconLocation_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eType = value.m_eType;
+ result.m_ulLocationID = value.m_ulLocationID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eType = value.m_eType;
+ result.m_ulLocationID = value.m_ulLocationID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(FavoritesListChanged_t), (unmanaged) => {
+ FavoritesListChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nIP = value.m_nIP;
+ result.m_nQueryPort = value.m_nQueryPort;
+ result.m_nConnPort = value.m_nConnPort;
+ result.m_nAppID = value.m_nAppID;
+ result.m_nFlags = value.m_nFlags;
+ result.m_bAdd = value.m_bAdd;
+ result.m_unAccountId = value.m_unAccountId;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nIP = value.m_nIP;
+ result.m_nQueryPort = value.m_nQueryPort;
+ result.m_nConnPort = value.m_nConnPort;
+ result.m_nAppID = value.m_nAppID;
+ result.m_nFlags = value.m_nFlags;
+ result.m_bAdd = value.m_bAdd;
+ result.m_unAccountId = value.m_unAccountId;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyInvite_t), (unmanaged) => {
+ LobbyInvite_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDUser = value.m_ulSteamIDUser;
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulGameID = value.m_ulGameID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDUser = value.m_ulSteamIDUser;
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulGameID = value.m_ulGameID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyEnter_t), (unmanaged) => {
+ LobbyEnter_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_rgfChatPermissions = value.m_rgfChatPermissions;
+ result.m_bLocked = value.m_bLocked;
+ result.m_EChatRoomEnterResponse = value.m_EChatRoomEnterResponse;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_rgfChatPermissions = value.m_rgfChatPermissions;
+ result.m_bLocked = value.m_bLocked;
+ result.m_EChatRoomEnterResponse = value.m_EChatRoomEnterResponse;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyDataUpdate_t), (unmanaged) => {
+ LobbyDataUpdate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDMember = value.m_ulSteamIDMember;
+ result.m_bSuccess = value.m_bSuccess;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDMember = value.m_ulSteamIDMember;
+ result.m_bSuccess = value.m_bSuccess;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyChatUpdate_t), (unmanaged) => {
+ LobbyChatUpdate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDUserChanged = value.m_ulSteamIDUserChanged;
+ result.m_ulSteamIDMakingChange = value.m_ulSteamIDMakingChange;
+ result.m_rgfChatMemberStateChange = value.m_rgfChatMemberStateChange;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDUserChanged = value.m_ulSteamIDUserChanged;
+ result.m_ulSteamIDMakingChange = value.m_ulSteamIDMakingChange;
+ result.m_rgfChatMemberStateChange = value.m_rgfChatMemberStateChange;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyChatMsg_t), (unmanaged) => {
+ LobbyChatMsg_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDUser = value.m_ulSteamIDUser;
+ result.m_eChatEntryType = value.m_eChatEntryType;
+ result.m_iChatID = value.m_iChatID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDUser = value.m_ulSteamIDUser;
+ result.m_eChatEntryType = value.m_eChatEntryType;
+ result.m_iChatID = value.m_iChatID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyGameCreated_t), (unmanaged) => {
+ LobbyGameCreated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDGameServer = value.m_ulSteamIDGameServer;
+ result.m_unIP = value.m_unIP;
+ result.m_usPort = value.m_usPort;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDGameServer = value.m_ulSteamIDGameServer;
+ result.m_unIP = value.m_unIP;
+ result.m_usPort = value.m_usPort;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyMatchList_t), (unmanaged) => {
+ LobbyMatchList_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nLobbiesMatching = value.m_nLobbiesMatching;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nLobbiesMatching = value.m_nLobbiesMatching;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyKicked_t), (unmanaged) => {
+ LobbyKicked_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDAdmin = value.m_ulSteamIDAdmin;
+ result.m_bKickedDueToDisconnect = value.m_bKickedDueToDisconnect;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ result.m_ulSteamIDAdmin = value.m_ulSteamIDAdmin;
+ result.m_bKickedDueToDisconnect = value.m_bKickedDueToDisconnect;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(LobbyCreated_t), (unmanaged) => {
+ LobbyCreated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulSteamIDLobby = value.m_ulSteamIDLobby;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(FavoritesListAccountsUpdated_t), (unmanaged) => {
+ FavoritesListAccountsUpdated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SearchForGameProgressCallback_t), (unmanaged) => {
+ SearchForGameProgressCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_eResult = value.m_eResult;
+ result.m_lobbyID = value.m_lobbyID;
+ result.m_steamIDEndedSearch = value.m_steamIDEndedSearch;
+ result.m_nSecondsRemainingEstimate = value.m_nSecondsRemainingEstimate;
+ result.m_cPlayersSearching = value.m_cPlayersSearching;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_eResult = value.m_eResult;
+ result.m_lobbyID = value.m_lobbyID;
+ result.m_steamIDEndedSearch = value.m_steamIDEndedSearch;
+ result.m_nSecondsRemainingEstimate = value.m_nSecondsRemainingEstimate;
+ result.m_cPlayersSearching = value.m_cPlayersSearching;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SearchForGameResultCallback_t), (unmanaged) => {
+ SearchForGameResultCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_eResult = value.m_eResult;
+ result.m_nCountPlayersInGame = value.m_nCountPlayersInGame;
+ result.m_nCountAcceptedGame = value.m_nCountAcceptedGame;
+ result.m_steamIDHost = value.m_steamIDHost;
+ result.m_bFinalCallback = value.m_bFinalCallback;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_eResult = value.m_eResult;
+ result.m_nCountPlayersInGame = value.m_nCountPlayersInGame;
+ result.m_nCountAcceptedGame = value.m_nCountAcceptedGame;
+ result.m_steamIDHost = value.m_steamIDHost;
+ result.m_bFinalCallback = value.m_bFinalCallback;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RequestPlayersForGameProgressCallback_t), (unmanaged) => {
+ RequestPlayersForGameProgressCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RequestPlayersForGameResultCallback_t), (unmanaged) => {
+ RequestPlayersForGameResultCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_SteamIDPlayerFound = value.m_SteamIDPlayerFound;
+ result.m_SteamIDLobby = value.m_SteamIDLobby;
+ result.m_ePlayerAcceptState = value.m_ePlayerAcceptState;
+ result.m_nPlayerIndex = value.m_nPlayerIndex;
+ result.m_nTotalPlayersFound = value.m_nTotalPlayersFound;
+ result.m_nTotalPlayersAcceptedGame = value.m_nTotalPlayersAcceptedGame;
+ result.m_nSuggestedTeamIndex = value.m_nSuggestedTeamIndex;
+ result.m_ullUniqueGameID = value.m_ullUniqueGameID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_SteamIDPlayerFound = value.m_SteamIDPlayerFound;
+ result.m_SteamIDLobby = value.m_SteamIDLobby;
+ result.m_ePlayerAcceptState = value.m_ePlayerAcceptState;
+ result.m_nPlayerIndex = value.m_nPlayerIndex;
+ result.m_nTotalPlayersFound = value.m_nTotalPlayersFound;
+ result.m_nTotalPlayersAcceptedGame = value.m_nTotalPlayersAcceptedGame;
+ result.m_nSuggestedTeamIndex = value.m_nSuggestedTeamIndex;
+ result.m_ullUniqueGameID = value.m_ullUniqueGameID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RequestPlayersForGameFinalResultCallback_t), (unmanaged) => {
+ RequestPlayersForGameFinalResultCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_ullUniqueGameID = value.m_ullUniqueGameID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ullSearchID = value.m_ullSearchID;
+ result.m_ullUniqueGameID = value.m_ullUniqueGameID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SubmitPlayerResultResultCallback_t), (unmanaged) => {
+ SubmitPlayerResultResultCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.ullUniqueGameID = value.ullUniqueGameID;
+ result.steamIDPlayer = value.steamIDPlayer;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.ullUniqueGameID = value.ullUniqueGameID;
+ result.steamIDPlayer = value.steamIDPlayer;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(EndGameResultCallback_t), (unmanaged) => {
+ EndGameResultCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.ullUniqueGameID = value.ullUniqueGameID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.ullUniqueGameID = value.ullUniqueGameID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(JoinPartyCallback_t), (unmanaged) => {
+ JoinPartyCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ result.m_SteamIDBeaconOwner = value.m_SteamIDBeaconOwner;
+ result.m_rgchConnectString_ = value.m_rgchConnectString_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ result.m_SteamIDBeaconOwner = value.m_SteamIDBeaconOwner;
+ result.m_rgchConnectString_ = value.m_rgchConnectString_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(CreateBeaconCallback_t), (unmanaged) => {
+ CreateBeaconCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(ReservationNotificationCallback_t), (unmanaged) => {
+ ReservationNotificationCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ result.m_steamIDJoiner = value.m_steamIDJoiner;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ulBeaconID = value.m_ulBeaconID;
+ result.m_steamIDJoiner = value.m_steamIDJoiner;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(ChangeNumOpenSlotsCallback_t), (unmanaged) => {
+ ChangeNumOpenSlotsCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(AvailableBeaconLocationsUpdated_t), (unmanaged) => {
+ AvailableBeaconLocationsUpdated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(ActiveBeaconsUpdated_t), (unmanaged) => {
+ ActiveBeaconsUpdated_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(PlaybackStatusHasChanged_t), (unmanaged) => {
+ PlaybackStatusHasChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(VolumeHasChanged_t), (unmanaged) => {
+ VolumeHasChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_flNewVolume = value.m_flNewVolume;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_flNewVolume = value.m_flNewVolume;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerRemoteWillActivate_t), (unmanaged) => {
+ MusicPlayerRemoteWillActivate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerRemoteWillDeactivate_t), (unmanaged) => {
+ MusicPlayerRemoteWillDeactivate_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerRemoteToFront_t), (unmanaged) => {
+ MusicPlayerRemoteToFront_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWillQuit_t), (unmanaged) => {
+ MusicPlayerWillQuit_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsPlay_t), (unmanaged) => {
+ MusicPlayerWantsPlay_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsPause_t), (unmanaged) => {
+ MusicPlayerWantsPause_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsPlayPrevious_t), (unmanaged) => {
+ MusicPlayerWantsPlayPrevious_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsPlayNext_t), (unmanaged) => {
+ MusicPlayerWantsPlayNext_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsShuffled_t), (unmanaged) => {
+ MusicPlayerWantsShuffled_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bShuffled = value.m_bShuffled;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bShuffled = value.m_bShuffled;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsLooped_t), (unmanaged) => {
+ MusicPlayerWantsLooped_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bLooped = value.m_bLooped;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bLooped = value.m_bLooped;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsVolume_t), (unmanaged) => {
+ MusicPlayerWantsVolume_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_flNewVolume = value.m_flNewVolume;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_flNewVolume = value.m_flNewVolume;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerSelectsQueueEntry_t), (unmanaged) => {
+ MusicPlayerSelectsQueueEntry_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.nID = value.nID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.nID = value.nID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerSelectsPlaylistEntry_t), (unmanaged) => {
+ MusicPlayerSelectsPlaylistEntry_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.nID = value.nID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.nID = value.nID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(MusicPlayerWantsPlayingRepeatStatus_t), (unmanaged) => {
+ MusicPlayerWantsPlayingRepeatStatus_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nPlayingRepeatStatus = value.m_nPlayingRepeatStatus;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_nPlayingRepeatStatus = value.m_nPlayingRepeatStatus;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(P2PSessionState_t), (unmanaged) => {
+ P2PSessionState_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bConnectionActive = value.m_bConnectionActive;
+ result.m_bConnecting = value.m_bConnecting;
+ result.m_eP2PSessionError = value.m_eP2PSessionError;
+ result.m_bUsingRelay = value.m_bUsingRelay;
+ result.m_nBytesQueuedForSend = value.m_nBytesQueuedForSend;
+ result.m_nPacketsQueuedForSend = value.m_nPacketsQueuedForSend;
+ result.m_nRemoteIP = value.m_nRemoteIP;
+ result.m_nRemotePort = value.m_nRemotePort;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bConnectionActive = value.m_bConnectionActive;
+ result.m_bConnecting = value.m_bConnecting;
+ result.m_eP2PSessionError = value.m_eP2PSessionError;
+ result.m_bUsingRelay = value.m_bUsingRelay;
+ result.m_nBytesQueuedForSend = value.m_nBytesQueuedForSend;
+ result.m_nPacketsQueuedForSend = value.m_nPacketsQueuedForSend;
+ result.m_nRemoteIP = value.m_nRemoteIP;
+ result.m_nRemotePort = value.m_nRemotePort;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(P2PSessionRequest_t), (unmanaged) => {
+ P2PSessionRequest_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDRemote = value.m_steamIDRemote;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_steamIDRemote = value.m_steamIDRemote;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamNetworkingMessagesSessionRequest_t), (unmanaged) => {
+ SteamNetworkingMessagesSessionRequest_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_identityRemote = value.m_identityRemote;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_identityRemote = value.m_identityRemote;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamNetworkingMessagesSessionFailed_t), (unmanaged) => {
+ SteamNetworkingMessagesSessionFailed_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_info = value.m_info;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_info = value.m_info;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamNetConnectionStatusChangedCallback_t), (unmanaged) => {
+ SteamNetConnectionStatusChangedCallback_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hConn = value.m_hConn;
+ result.m_info = value.m_info;
+ result.m_eOldState = value.m_eOldState;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_hConn = value.m_hConn;
+ result.m_info = value.m_info;
+ result.m_eOldState = value.m_eOldState;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamNetAuthenticationStatus_t), (unmanaged) => {
+ SteamNetAuthenticationStatus_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eAvail = value.m_eAvail;
+ result.m_debugMsg_ = value.m_debugMsg_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eAvail = value.m_eAvail;
+ result.m_debugMsg_ = value.m_debugMsg_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamRelayNetworkStatus_t), (unmanaged) => {
+ SteamRelayNetworkStatus_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eAvail = value.m_eAvail;
+ result.m_bPingMeasurementInProgress = value.m_bPingMeasurementInProgress;
+ result.m_eAvailNetworkConfig = value.m_eAvailNetworkConfig;
+ result.m_eAvailAnyRelay = value.m_eAvailAnyRelay;
+ result.m_debugMsg_ = value.m_debugMsg_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eAvail = value.m_eAvail;
+ result.m_bPingMeasurementInProgress = value.m_bPingMeasurementInProgress;
+ result.m_eAvailNetworkConfig = value.m_eAvailNetworkConfig;
+ result.m_eAvailAnyRelay = value.m_eAvailAnyRelay;
+ result.m_debugMsg_ = value.m_debugMsg_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamParentalSettingsChanged_t), (unmanaged) => {
+ SteamParentalSettingsChanged_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemotePlayInputMouseMotion_t), (unmanaged) => {
+ RemotePlayInputMouseMotion_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bAbsolute = value.m_bAbsolute;
+ result.m_flNormalizedX = value.m_flNormalizedX;
+ result.m_flNormalizedY = value.m_flNormalizedY;
+ result.m_nDeltaX = value.m_nDeltaX;
+ result.m_nDeltaY = value.m_nDeltaY;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_bAbsolute = value.m_bAbsolute;
+ result.m_flNormalizedX = value.m_flNormalizedX;
+ result.m_flNormalizedY = value.m_flNormalizedY;
+ result.m_nDeltaX = value.m_nDeltaX;
+ result.m_nDeltaY = value.m_nDeltaY;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemotePlayInputMouseWheel_t), (unmanaged) => {
+ RemotePlayInputMouseWheel_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eDirection = value.m_eDirection;
+ result.m_flAmount = value.m_flAmount;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eDirection = value.m_eDirection;
+ result.m_flAmount = value.m_flAmount;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemotePlayInputKey_t), (unmanaged) => {
+ RemotePlayInputKey_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eScancode = value.m_eScancode;
+ result.m_unModifiers = value.m_unModifiers;
+ result.m_unKeycode = value.m_unKeycode;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eScancode = value.m_eScancode;
+ result.m_unModifiers = value.m_unModifiers;
+ result.m_unKeycode = value.m_unKeycode;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamRemotePlaySessionConnected_t), (unmanaged) => {
+ SteamRemotePlaySessionConnected_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unSessionID = value.m_unSessionID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unSessionID = value.m_unSessionID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamRemotePlaySessionDisconnected_t), (unmanaged) => {
+ SteamRemotePlaySessionDisconnected_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unSessionID = value.m_unSessionID;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_unSessionID = value.m_unSessionID;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamRemotePlayTogetherGuestInvite_t), (unmanaged) => {
+ SteamRemotePlayTogetherGuestInvite_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_szConnectURL_ = value.m_szConnectURL_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_szConnectURL_ = value.m_szConnectURL_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(SteamParamStringArray_t), (unmanaged) => {
+ SteamParamStringArray_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ppStrings = value.m_ppStrings;
+ result.m_nNumStrings = value.m_nNumStrings;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_ppStrings = value.m_ppStrings;
+ result.m_nNumStrings = value.m_nNumStrings;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemoteStorageFileShareResult_t), (unmanaged) => {
+ RemoteStorageFileShareResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_hFile = value.m_hFile;
+ result.m_rgchFilename_ = value.m_rgchFilename_;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_hFile = value.m_hFile;
+ result.m_rgchFilename_ = value.m_rgchFilename_;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemoteStoragePublishFileResult_t), (unmanaged) => {
+ RemoteStoragePublishFileResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nPublishedFileId = value.m_nPublishedFileId;
+ result.m_bUserNeedsToAcceptWorkshopLegalAgreement = value.m_bUserNeedsToAcceptWorkshopLegalAgreement;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nPublishedFileId = value.m_nPublishedFileId;
+ result.m_bUserNeedsToAcceptWorkshopLegalAgreement = value.m_bUserNeedsToAcceptWorkshopLegalAgreement;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemoteStorageDeletePublishedFileResult_t), (unmanaged) => {
+ RemoteStorageDeletePublishedFileResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nPublishedFileId = value.m_nPublishedFileId;
+ } else {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure(unmanaged);
+ result.m_eResult = value.m_eResult;
+ result.m_nPublishedFileId = value.m_nPublishedFileId;
+ }
+
+ return result;
+ });
+ marshallers.Add(typeof(RemoteStorageEnumerateUserPublishedFilesResult_t), (unmanaged) => {
+ RemoteStorageEnumerateUserPublishedFilesResult_t result = default;
+
+ if (Packsize.IsLargePack) {
+ var value = System.Runtime.InteropServices.Marshal.PtrToStructure