CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

SteamStructs.cs (9842B)


      1 // This file is provided under The MIT License as part of Steamworks.NET.
      2 // Copyright (c) 2013-2019 Riley Labrecque
      3 // Please see the included LICENSE.txt for additional information.
      4 
      5 // This file is automatically generated.
      6 // Changes to this file will be reverted when you update Steamworks.NET
      7 
      8 #if UNITY_ANDROID || UNITY_IOS || UNITY_TIZEN || UNITY_TVOS || UNITY_WEBGL || UNITY_WSA || UNITY_PS4 || UNITY_WII || UNITY_XBOXONE || UNITY_SWITCH
      9 	#define DISABLESTEAMWORKS
     10 #endif
     11 
     12 #if !DISABLESTEAMWORKS
     13 
     14 using System.Runtime.InteropServices;
     15 using IntPtr = System.IntPtr;
     16 
     17 namespace Steamworks {
     18 	[StructLayout(LayoutKind.Sequential, Pack = 1)]
     19 	public struct ControllerAnalogActionData_t {
     20 		// Type of data coming from this action, this will match what got specified in the action set
     21 		public EControllerSourceMode eMode;
     22 		
     23 		// The current state of this action; will be delta updates for mouse actions
     24 		public float x, y;
     25 		
     26 		// Whether or not this action is currently available to be bound in the active action set
     27 		public byte bActive;
     28 	}
     29 
     30 	[StructLayout(LayoutKind.Sequential, Pack = 1)]
     31 	public struct ControllerDigitalActionData_t {
     32 		// The current state of this action; will be true if currently pressed
     33 		public byte bState;
     34 		
     35 		// Whether or not this action is currently available to be bound in the active action set
     36 		public byte bActive;
     37 	}
     38 
     39 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
     40 	public struct ControllerMotionData_t {
     41 		// Sensor-fused absolute rotation; will drift in heading
     42 		public float rotQuatX;
     43 		public float rotQuatY;
     44 		public float rotQuatZ;
     45 		public float rotQuatW;
     46 		
     47 		// Positional acceleration
     48 		public float posAccelX;
     49 		public float posAccelY;
     50 		public float posAccelZ;
     51 		
     52 		// Angular velocity
     53 		public float rotVelX;
     54 		public float rotVelY;
     55 		public float rotVelZ;
     56 	}
     57 
     58 	// friend game played information
     59 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
     60 	public struct FriendGameInfo_t {
     61 		public CGameID m_gameID;
     62 		public uint m_unGameIP;
     63 		public ushort m_usGamePort;
     64 		public ushort m_usQueryPort;
     65 		public CSteamID m_steamIDLobby;
     66 	}
     67 
     68 	//-----------------------------------------------------------------------------
     69 	// Purpose: information about user sessions
     70 	//-----------------------------------------------------------------------------
     71 	public struct FriendSessionStateInfo_t {
     72 		public uint m_uiOnlineSessionInstances;
     73 		public byte m_uiPublishedToFriendsSessionInstance;
     74 	}
     75 
     76 	[StructLayout(LayoutKind.Sequential, Pack = 1)]
     77 	public struct InputAnalogActionData_t {
     78 		// Type of data coming from this action, this will match what got specified in the action set
     79 		public EInputSourceMode eMode;
     80 		
     81 		// The current state of this action; will be delta updates for mouse actions
     82 		public float x, y;
     83 		
     84 		// Whether or not this action is currently available to be bound in the active action set
     85 		public byte bActive;
     86 	}
     87 
     88 	[StructLayout(LayoutKind.Sequential, Pack = 1)]
     89 	public struct InputDigitalActionData_t {
     90 		// The current state of this action; will be true if currently pressed
     91 		public byte bState;
     92 		
     93 		// Whether or not this action is currently available to be bound in the active action set
     94 		public byte bActive;
     95 	}
     96 
     97 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
     98 	public struct InputMotionData_t {
     99 		// Sensor-fused absolute rotation; will drift in heading
    100 		public float rotQuatX;
    101 		public float rotQuatY;
    102 		public float rotQuatZ;
    103 		public float rotQuatW;
    104 		
    105 		// Positional acceleration
    106 		public float posAccelX;
    107 		public float posAccelY;
    108 		public float posAccelZ;
    109 		
    110 		// Angular velocity
    111 		public float rotVelX;
    112 		public float rotVelY;
    113 		public float rotVelZ;
    114 	}
    115 
    116 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    117 	public struct SteamItemDetails_t {
    118 		public SteamItemInstanceID_t m_itemId;
    119 		public SteamItemDef_t m_iDefinition;
    120 		public ushort m_unQuantity;
    121 		public ushort m_unFlags; // see ESteamItemFlags
    122 	}
    123 
    124 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    125 	public struct SteamPartyBeaconLocation_t {
    126 		public ESteamPartyBeaconLocationType m_eType;
    127 		public ulong m_ulLocationID;
    128 	}
    129 
    130 	// connection state to a specified user, returned by GetP2PSessionState()
    131 	// this is under-the-hood info about what's going on with a SendP2PPacket(), shouldn't be needed except for debuggin
    132 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    133 	public struct P2PSessionState_t {
    134 		public byte m_bConnectionActive;		// true if we've got an active open connection
    135 		public byte m_bConnecting;			// true if we're currently trying to establish a connection
    136 		public byte m_eP2PSessionError;		// last error recorded (see enum above)
    137 		public byte m_bUsingRelay;			// true if it's going through a relay server (TURN)
    138 		public int m_nBytesQueuedForSend;
    139 		public int m_nPacketsQueuedForSend;
    140 		public uint m_nRemoteIP;				// potential IP:Port of remote host. Could be TURN server.
    141 		public ushort m_nRemotePort;			// Only exists for compatibility with older authentication api's
    142 	}
    143 
    144 	//-----------------------------------------------------------------------------
    145 	// Purpose: Structure that contains an array of const char * strings and the number of those strings
    146 	//-----------------------------------------------------------------------------
    147 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    148 	public struct SteamParamStringArray_t {
    149 		public IntPtr m_ppStrings;
    150 		public int m_nNumStrings;
    151 	}
    152 
    153 	// Details for a single published file/UGC
    154 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    155 	public struct SteamUGCDetails_t {
    156 		public PublishedFileId_t m_nPublishedFileId;
    157 		public EResult m_eResult;												// The result of the operation.
    158 		public EWorkshopFileType m_eFileType;									// Type of the file
    159 		public AppId_t m_nCreatorAppID;										// ID of the app that created this file.
    160 		public AppId_t m_nConsumerAppID;										// ID of the app that will consume this file.
    161 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentTitleMax)]
    162 		public string m_rgchTitle;				// title of document
    163 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedDocumentDescriptionMax)]
    164 		public string m_rgchDescription;	// description of document
    165 		public ulong m_ulSteamIDOwner;										// Steam ID of the user who created this content.
    166 		public uint m_rtimeCreated;											// time when the published file was created
    167 		public uint m_rtimeUpdated;											// time when the published file was last updated
    168 		public uint m_rtimeAddedToUserList;									// time when the user added the published file to their list (not always applicable)
    169 		public ERemoteStoragePublishedFileVisibility m_eVisibility;			// visibility
    170 		[MarshalAs(UnmanagedType.I1)]
    171 		public bool m_bBanned;													// whether the file was banned
    172 		[MarshalAs(UnmanagedType.I1)]
    173 		public bool m_bAcceptedForUse;											// developer has specifically flagged this item as accepted in the Workshop
    174 		[MarshalAs(UnmanagedType.I1)]
    175 		public bool m_bTagsTruncated;											// whether the list of tags was too long to be returned in the provided buffer
    176 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchTagListMax)]
    177 		public string m_rgchTags;								// comma separated list of all tags associated with this file
    178 		// file/url information
    179 		public UGCHandle_t m_hFile;											// The handle of the primary file
    180 		public UGCHandle_t m_hPreviewFile;										// The handle of the preview file
    181 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchFilenameMax)]
    182 		public string m_pchFileName;							// The cloud filename of the primary file
    183 		public int m_nFileSize;												// Size of the primary file
    184 		public int m_nPreviewFileSize;										// Size of the preview file
    185 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = Constants.k_cchPublishedFileURLMax)]
    186 		public string m_rgchURL;						// URL (for a video or a website)
    187 		// voting information
    188 		public uint m_unVotesUp;												// number of votes up
    189 		public uint m_unVotesDown;											// number of votes down
    190 		public float m_flScore;												// calculated score
    191 		// collection details
    192 		public uint m_unNumChildren;
    193 	}
    194 
    195 	// structure that contains client callback data
    196 	// see callbacks documentation for more details
    197 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    198 	public struct CallbackMsg_t {
    199 		public int m_hSteamUser;
    200 		public int m_iCallback;
    201 		public IntPtr m_pubParam;
    202 		public int m_cubParam;
    203 	}
    204 
    205 	// a single entry in a leaderboard, as returned by GetDownloadedLeaderboardEntry()
    206 	[StructLayout(LayoutKind.Sequential, Pack = Packsize.value)]
    207 	public struct LeaderboardEntry_t {
    208 		public CSteamID m_steamIDUser; // user with the entry - use SteamFriends()->GetFriendPersonaName() & SteamFriends()->GetFriendAvatar() to get more info
    209 		public int m_nGlobalRank;	// [1..N], where N is the number of users with an entry in the leaderboard
    210 		public int m_nScore;			// score as set in the leaderboard
    211 		public int m_cDetails;		// number of int32 details available for this entry
    212 		public UGCHandle_t m_hUGC;		// handle for UGC attached to the entry
    213 	}
    214 
    215 	/// Store key/value pair used in matchmaking queries.
    216 	///
    217 	/// Actually, the name Key/Value is a bit misleading.  The "key" is better
    218 	/// understood as "filter operation code" and the "value" is the operand to this
    219 	/// filter operation.  The meaning of the operand depends upon the filter.
    220 	[StructLayout(LayoutKind.Sequential)]
    221 	public struct MatchMakingKeyValuePair_t {
    222 		MatchMakingKeyValuePair_t(string strKey, string strValue) {
    223 			m_szKey = strKey;
    224 			m_szValue = strValue;
    225 		}
    226 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
    227 		public string m_szKey;
    228 		[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
    229 		public string m_szValue;
    230 	}
    231 
    232 }
    233 
    234 #endif // !DISABLESTEAMWORKS