72 lines
2.4 KiB
C#
72 lines
2.4 KiB
C#
|
// 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
|
||
|
|
||
|
// If we're running in the Unity Editor we need the editors platform.
|
||
|
#if UNITY_EDITOR_WIN
|
||
|
#define VALVE_CALLBACK_PACK_LARGE
|
||
|
#elif UNITY_EDITOR_OSX || UNITY_EDITOR_LINUX
|
||
|
#define VALVE_CALLBACK_PACK_SMALL
|
||
|
|
||
|
// Otherwise we want the target platform.
|
||
|
#elif UNITY_STANDALONE_WIN || STEAMWORKS_WIN
|
||
|
#define VALVE_CALLBACK_PACK_LARGE
|
||
|
#elif UNITY_STANDALONE_LINUX || UNITY_STANDALONE_OSX || STEAMWORKS_LIN_OSX
|
||
|
#define VALVE_CALLBACK_PACK_SMALL
|
||
|
|
||
|
// We do not want to throw a warning when we're building in Unity but for an unsupported platform. So we'll silently let this slip by.
|
||
|
// It would be nice if Unity itself would define 'UNITY' or something like that...
|
||
|
#elif UNITY_3_5 || UNITY_4_0 || UNITY_4_1 || UNITY_4_2 || UNITY_4_3 || UNITY_4_5 || UNITY_4_6 || UNITY_4_7 || UNITY_5 || UNITY_2017_1_OR_NEWER
|
||
|
#define VALVE_CALLBACK_PACK_SMALL
|
||
|
|
||
|
// But we do want to be explicit on the Standalone build for XNA/Monogame.
|
||
|
#else
|
||
|
#define VALVE_CALLBACK_PACK_LARGE
|
||
|
#warning You need to define STEAMWORKS_WIN, or STEAMWORKS_LIN_OSX. Refer to the readme for more details.
|
||
|
#endif
|
||
|
|
||
|
using System.Runtime.InteropServices;
|
||
|
using IntPtr = System.IntPtr;
|
||
|
|
||
|
namespace Steamworks {
|
||
|
public static class Packsize {
|
||
|
#if VALVE_CALLBACK_PACK_LARGE
|
||
|
public const int value = 8;
|
||
|
#elif VALVE_CALLBACK_PACK_SMALL
|
||
|
public const int value = 4;
|
||
|
#endif
|
||
|
|
||
|
public static bool Test() {
|
||
|
int sentinelSize = Marshal.SizeOf(typeof(ValvePackingSentinel_t));
|
||
|
int subscribedFilesSize = Marshal.SizeOf(typeof(RemoteStorageEnumerateUserSubscribedFilesResult_t));
|
||
|
#if VALVE_CALLBACK_PACK_LARGE
|
||
|
if (sentinelSize != 32 || subscribedFilesSize != (1 + 1 + 1 + 50 + 100) * 4 + 4)
|
||
|
return false;
|
||
|
#elif VALVE_CALLBACK_PACK_SMALL
|
||
|
if (sentinelSize != 24 || subscribedFilesSize != (1 + 1 + 1 + 50 + 100) * 4)
|
||
|
return false;
|
||
|
#endif
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
|
||
|
struct ValvePackingSentinel_t {
|
||
|
uint m_u32;
|
||
|
ulong m_u64;
|
||
|
ushort m_u16;
|
||
|
double m_d;
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif // !DISABLESTEAMWORKS
|