Fixed various missing files
This commit is contained in:
		
							parent
							
								
									39ed87570b
								
							
						
					
					
						commit
						949bd75a99
					
				
							
								
								
									
										28
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,28 @@
 | 
				
			|||||||
 | 
					# Files to ignore when considering what GIT should commit.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Visual Studio 
 | 
				
			||||||
 | 
					*.suo
 | 
				
			||||||
 | 
					*.user
 | 
				
			||||||
 | 
					*.sln.docstates
 | 
				
			||||||
 | 
					*.obj
 | 
				
			||||||
 | 
					*.pch
 | 
				
			||||||
 | 
					*.tlog
 | 
				
			||||||
 | 
					*.log
 | 
				
			||||||
 | 
					*.scc
 | 
				
			||||||
 | 
					*.exp
 | 
				
			||||||
 | 
					*.ilk
 | 
				
			||||||
 | 
					*.lastbuildstate
 | 
				
			||||||
 | 
					vc100.pdb
 | 
				
			||||||
 | 
					*.idb
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Specific Source build products
 | 
				
			||||||
 | 
					client.pdb
 | 
				
			||||||
 | 
					client.dll
 | 
				
			||||||
 | 
					client.lib
 | 
				
			||||||
 | 
					server.pdb
 | 
				
			||||||
 | 
					server.dll
 | 
				
			||||||
 | 
					server.lib
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# files generated by running a mod
 | 
				
			||||||
 | 
					config.cfg
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										8
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								LICENSE
									
									
									
									
									
								
							@ -1,10 +1,10 @@
 | 
				
			|||||||
               SOURCE 1 SDK LICENSE
 | 
					               SOURCE 1 SDK LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Source SDK Copyright© Valve Corp.  
 | 
					Source SDK Copyright(c) Valve Corp.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE 
 | 
					THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE 
 | 
				
			||||||
CORPORATION (“Valve”).  PLEASE READ IT BEFORE DOWNLOADING OR USING 
 | 
					CORPORATION ("Valve").  PLEASE READ IT BEFORE DOWNLOADING OR USING 
 | 
				
			||||||
THE SOURCE ENGINE SDK (“SDK”). BY DOWNLOADING AND/OR USING THE 
 | 
					THE SOURCE ENGINE SDK ("SDK"). BY DOWNLOADING AND/OR USING THE 
 | 
				
			||||||
SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO 
 | 
					SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO 
 | 
				
			||||||
THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.  
 | 
					THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -22,7 +22,7 @@ copyright notice and the following:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    DISCLAIMER OF WARRANTIES.  THE SOURCE SDK AND ANY 
 | 
					    DISCLAIMER OF WARRANTIES.  THE SOURCE SDK AND ANY 
 | 
				
			||||||
    OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED 
 | 
					    OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED 
 | 
				
			||||||
    “AS IS”.  VALVE AND ITS SUPPLIERS DISCLAIM ALL 
 | 
					    "AS IS".  VALVE AND ITS SUPPLIERS DISCLAIM ALL 
 | 
				
			||||||
    WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS 
 | 
					    WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS 
 | 
				
			||||||
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED 
 | 
					    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED 
 | 
				
			||||||
    WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, 
 | 
					    WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, 
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										8
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								README
									
									
									
									
									
								
							@ -1,10 +1,10 @@
 | 
				
			|||||||
               SOURCE 1 SDK LICENSE
 | 
					               SOURCE 1 SDK LICENSE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Source SDK Copyright© Valve Corp.  
 | 
					Source SDK Copyright(c) Valve Corp.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE 
 | 
					THIS DOCUMENT DESCRIBES A CONTRACT BETWEEN YOU AND VALVE 
 | 
				
			||||||
CORPORATION (“Valve”).  PLEASE READ IT BEFORE DOWNLOADING OR USING 
 | 
					CORPORATION ("Valve").  PLEASE READ IT BEFORE DOWNLOADING OR USING 
 | 
				
			||||||
THE SOURCE ENGINE SDK (“SDK”). BY DOWNLOADING AND/OR USING THE 
 | 
					THE SOURCE ENGINE SDK ("SDK"). BY DOWNLOADING AND/OR USING THE 
 | 
				
			||||||
SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO 
 | 
					SOURCE ENGINE SDK YOU ACCEPT THIS LICENSE. IF YOU DO NOT AGREE TO 
 | 
				
			||||||
THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.  
 | 
					THE TERMS OF THIS LICENSE PLEASE DON’T DOWNLOAD OR USE THE SDK.  
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -22,7 +22,7 @@ copyright notice and the following:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    DISCLAIMER OF WARRANTIES.  THE SOURCE SDK AND ANY 
 | 
					    DISCLAIMER OF WARRANTIES.  THE SOURCE SDK AND ANY 
 | 
				
			||||||
    OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED 
 | 
					    OTHER MATERIAL DOWNLOADED BY LICENSEE IS PROVIDED 
 | 
				
			||||||
    “AS IS”.  VALVE AND ITS SUPPLIERS DISCLAIM ALL 
 | 
					    "AS IS".  VALVE AND ITS SUPPLIERS DISCLAIM ALL 
 | 
				
			||||||
    WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS 
 | 
					    WARRANTIES WITH RESPECT TO THE SDK, EITHER EXPRESS 
 | 
				
			||||||
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED 
 | 
					    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED 
 | 
				
			||||||
    WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, 
 | 
					    WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, 
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	FileSystem
 | 
						FileSystem
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		SteamAppId				243730
 | 
							SteamAppId				243750
 | 
				
			||||||
		
 | 
							
 | 
				
			||||||
		//
 | 
							//
 | 
				
			||||||
		// The code that loads this file automatically does a few things here:
 | 
							// The code that loads this file automatically does a few things here:
 | 
				
			||||||
 | 
				
			|||||||
@ -1,13 +1,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Microsoft Visual Studio Solution File, Format Version 11.00
 | 
					Microsoft Visual Studio Solution File, Format Version 11.00
 | 
				
			||||||
# Visual Studio 2010
 | 
					# Visual Studio 2010
 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2010.vcxproj", "{09E5D61D-4897-7B98-288B-C87442D14BFF}"
 | 
					 | 
				
			||||||
	ProjectSection(ProjectDependencies) = postProject
 | 
					 | 
				
			||||||
		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
					 | 
				
			||||||
		{F69B3672-C5E8-CD1A-257F-253A25B5B939} = {F69B3672-C5E8-CD1A-257F-253A25B5B939}
 | 
					 | 
				
			||||||
		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
					 | 
				
			||||||
	EndProjectSection
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2MP)", "game\client\client_hl2mp-2010.vcxproj", "{17BCE59A-9037-EC8D-433E-F81339E2F1BA}"
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2MP)", "game\client\client_hl2mp-2010.vcxproj", "{17BCE59A-9037-EC8D-433E-F81339E2F1BA}"
 | 
				
			||||||
	ProjectSection(ProjectDependencies) = postProject
 | 
						ProjectSection(ProjectDependencies) = postProject
 | 
				
			||||||
		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
							{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
				
			||||||
@ -15,12 +8,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2MP)", "game\clie
 | 
				
			|||||||
		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
							{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
				
			||||||
	EndProjectSection
 | 
						EndProjectSection
 | 
				
			||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2010.vcxproj", "{C3EE918E-6836-5578-1FA2-5703048552B9}"
 | 
					 | 
				
			||||||
	ProjectSection(ProjectDependencies) = postProject
 | 
					 | 
				
			||||||
		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
					 | 
				
			||||||
		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
					 | 
				
			||||||
	EndProjectSection
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2MP)", "game\server\server_hl2mp-2010.vcxproj", "{33B7DFDC-BECB-3678-1190-6C951E393EB3}"
 | 
					Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2MP)", "game\server\server_hl2mp-2010.vcxproj", "{33B7DFDC-BECB-3678-1190-6C951E393EB3}"
 | 
				
			||||||
	ProjectSection(ProjectDependencies) = postProject
 | 
						ProjectSection(ProjectDependencies) = postProject
 | 
				
			||||||
		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
							{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
 | 
				
			||||||
@ -129,28 +116,16 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vgui_controls", "vgui2\vgui
 | 
				
			|||||||
		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
							{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
 | 
				
			||||||
	EndProjectSection
 | 
						EndProjectSection
 | 
				
			||||||
EndProject
 | 
					EndProject
 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (Episodic)", "game\client\client_episodic-2010.vcxproj", "{353A799F-E73F-7A69-07AD-B2AD57F3B775}"
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (Episodic)", "game\server\server_episodic-2010.vcxproj", "{7855B476-B6D4-535D-F7A9-D623245F8B07}"
 | 
					 | 
				
			||||||
EndProject
 | 
					 | 
				
			||||||
Global
 | 
					Global
 | 
				
			||||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
						GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
				
			||||||
		Debug|Win32 = Debug|Win32
 | 
							Debug|Win32 = Debug|Win32
 | 
				
			||||||
		Release|Win32 = Release|Win32
 | 
							Release|Win32 = Release|Win32
 | 
				
			||||||
	EndGlobalSection
 | 
						EndGlobalSection
 | 
				
			||||||
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
						GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
				
			||||||
		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
					 | 
				
			||||||
		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.Build.0 = Debug|Win32
 | 
					 | 
				
			||||||
		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.ActiveCfg = Release|Win32
 | 
					 | 
				
			||||||
		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.Build.0 = Release|Win32
 | 
					 | 
				
			||||||
		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
							{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
				
			||||||
		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.Build.0 = Debug|Win32
 | 
							{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.Build.0 = Debug|Win32
 | 
				
			||||||
		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.ActiveCfg = Release|Win32
 | 
							{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.ActiveCfg = Release|Win32
 | 
				
			||||||
		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.Build.0 = Release|Win32
 | 
							{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.Build.0 = Release|Win32
 | 
				
			||||||
		{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
					 | 
				
			||||||
		{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.Build.0 = Debug|Win32
 | 
					 | 
				
			||||||
		{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.ActiveCfg = Release|Win32
 | 
					 | 
				
			||||||
		{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.Build.0 = Release|Win32
 | 
					 | 
				
			||||||
		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
							{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
				
			||||||
		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.Build.0 = Debug|Win32
 | 
							{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.Build.0 = Debug|Win32
 | 
				
			||||||
		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.ActiveCfg = Release|Win32
 | 
							{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.ActiveCfg = Release|Win32
 | 
				
			||||||
@ -231,14 +206,6 @@ Global
 | 
				
			|||||||
		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Debug|Win32.Build.0 = Debug|Win32
 | 
							{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Debug|Win32.Build.0 = Debug|Win32
 | 
				
			||||||
		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.ActiveCfg = Release|Win32
 | 
							{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.ActiveCfg = Release|Win32
 | 
				
			||||||
		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.Build.0 = Release|Win32
 | 
							{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.Build.0 = Release|Win32
 | 
				
			||||||
		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
					 | 
				
			||||||
		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.Build.0 = Debug|Win32
 | 
					 | 
				
			||||||
		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.ActiveCfg = Release|Win32
 | 
					 | 
				
			||||||
		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.Build.0 = Release|Win32
 | 
					 | 
				
			||||||
		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.ActiveCfg = Debug|Win32
 | 
					 | 
				
			||||||
		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.Build.0 = Debug|Win32
 | 
					 | 
				
			||||||
		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.ActiveCfg = Release|Win32
 | 
					 | 
				
			||||||
		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.Build.0 = Release|Win32
 | 
					 | 
				
			||||||
	EndGlobalSection
 | 
						EndGlobalSection
 | 
				
			||||||
	GlobalSection(SolutionProperties) = preSolution
 | 
						GlobalSection(SolutionProperties) = preSolution
 | 
				
			||||||
		HideSolutionNode = FALSE
 | 
							HideSolutionNode = FALSE
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										703
									
								
								mp/src/common/SteamCommon.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										703
									
								
								mp/src/common/SteamCommon.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,703 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					** The copyright to the contents herein is the property of Valve Corporation.
 | 
				
			||||||
 | 
					** The contents may be used and/or copied only with the written permission of
 | 
				
			||||||
 | 
					** Valve, or in accordance with the terms and conditions stipulated in
 | 
				
			||||||
 | 
					** the agreement/contract under which the contents have been supplied.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					*******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Contents:
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		Common types used in the Steam DLL interface.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		This file is distributed to Steam application developers.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef INCLUDED_STEAM_COMMON_STEAMCOMMON_H
 | 
				
			||||||
 | 
					#define INCLUDED_STEAM_COMMON_STEAMCOMMON_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_MSC_VER) && (_MSC_VER > 1000)
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Applications should not define STEAM_EXPORTS. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined ( _WIN32 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef STEAM_EXPORTS
 | 
				
			||||||
 | 
					#define STEAM_API __declspec(dllexport)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#define STEAM_API __declspec(dllimport)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_CALL __cdecl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_API /* */
 | 
				
			||||||
 | 
					#define STEAM_CALL /* */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (STEAM_CALL  *KeyValueIteratorCallback_t )(const char *Key, const char *Val, void *pvParam);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Exported macros and constants
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* DEPRECATED -- these are ignored now, all API access is granted on SteamStartup */
 | 
				
			||||||
 | 
					#define STEAM_USING_FILESYSTEM							(0x00000001)
 | 
				
			||||||
 | 
					#define STEAM_USING_LOGGING								(0x00000002)
 | 
				
			||||||
 | 
					#define STEAM_USING_USERID								(0x00000004)
 | 
				
			||||||
 | 
					#define STEAM_USING_ACCOUNT								(0x00000008)
 | 
				
			||||||
 | 
					#define STEAM_USING_ALL									(0x0000000f)
 | 
				
			||||||
 | 
					/* END DEPRECATED */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_MAX_PATH									(255)
 | 
				
			||||||
 | 
					#define STEAM_QUESTION_MAXLEN							(255)
 | 
				
			||||||
 | 
					#define STEAM_SALT_SIZE									(8)
 | 
				
			||||||
 | 
					#define STEAM_PROGRESS_PERCENT_SCALE					(0x00001000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* These are maximum significant string lengths, excluding nul-terminator. */
 | 
				
			||||||
 | 
					#define STEAM_CARD_NUMBER_SIZE							(17)
 | 
				
			||||||
 | 
					#define STEAM_CARD_HOLDERNAME_SIZE						(100)
 | 
				
			||||||
 | 
					#define STEAM_CARD_EXPYEAR_SIZE							(4)
 | 
				
			||||||
 | 
					#define STEAM_CARD_EXPMONTH_SIZE						(2)
 | 
				
			||||||
 | 
					#define STEAM_CARD_CVV2_SIZE							(5)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ADDRESS1_SIZE						(128)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ADDRESS2_SIZE						(128)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CITY_SIZE							(50)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ZIP_SIZE							(16)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_STATE_SIZE						(32)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_COUNTRY_SIZE						(32)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_PHONE_SIZE						(20)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_EMAIL_ADDRESS_SIZE				(100)
 | 
				
			||||||
 | 
					#define STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE			(20)
 | 
				
			||||||
 | 
					#define STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE				(200)
 | 
				
			||||||
 | 
					#define STEAM_EXTERNAL_ACCOUNTNAME_SIZE					(100)
 | 
				
			||||||
 | 
					#define STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE				(80)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CONFIRMATION_CODE_SIZE			(22)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CARD_APPROVAL_CODE_SIZE			(100)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_TRANS_DATE_SIZE					(9) // mm/dd/yy
 | 
				
			||||||
 | 
					#define STEAM_BILLING_TRANS_TIME_SIZE					(9) // hh:mm:ss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Scalar type and enumerated type definitions.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef unsigned int SteamHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void * SteamUserIDTicketValidationHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef unsigned int SteamCallHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_MSC_VER)
 | 
				
			||||||
 | 
					typedef unsigned __int64	SteamUnsigned64_t;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					typedef unsigned long long	SteamUnsigned64_t;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamSeekMethodSet = 0,
 | 
				
			||||||
 | 
						eSteamSeekMethodCur = 1,
 | 
				
			||||||
 | 
						eSteamSeekMethodEnd = 2
 | 
				
			||||||
 | 
					} ESteamSeekMethod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamBufferMethodFBF = 0,
 | 
				
			||||||
 | 
						eSteamBufferMethodNBF = 1
 | 
				
			||||||
 | 
					} ESteamBufferMethod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamErrorNone													= 0,
 | 
				
			||||||
 | 
						eSteamErrorUnknown												= 1,
 | 
				
			||||||
 | 
						eSteamErrorLibraryNotInitialized								= 2,
 | 
				
			||||||
 | 
						eSteamErrorLibraryAlreadyInitialized							= 3,
 | 
				
			||||||
 | 
						eSteamErrorConfig												= 4,
 | 
				
			||||||
 | 
						eSteamErrorContentServerConnect									= 5,
 | 
				
			||||||
 | 
						eSteamErrorBadHandle											= 6,
 | 
				
			||||||
 | 
						eSteamErrorHandlesExhausted										= 7,
 | 
				
			||||||
 | 
						eSteamErrorBadArg												= 8,
 | 
				
			||||||
 | 
						eSteamErrorNotFound												= 9,
 | 
				
			||||||
 | 
						eSteamErrorRead													= 10,
 | 
				
			||||||
 | 
						eSteamErrorEOF													= 11,
 | 
				
			||||||
 | 
						eSteamErrorSeek													= 12,
 | 
				
			||||||
 | 
						eSteamErrorCannotWriteNonUserConfigFile							= 13,
 | 
				
			||||||
 | 
						eSteamErrorCacheOpen											= 14,
 | 
				
			||||||
 | 
						eSteamErrorCacheRead											= 15,
 | 
				
			||||||
 | 
						eSteamErrorCacheCorrupted										= 16,
 | 
				
			||||||
 | 
						eSteamErrorCacheWrite											= 17,
 | 
				
			||||||
 | 
						eSteamErrorCacheSession											= 18,
 | 
				
			||||||
 | 
						eSteamErrorCacheInternal										= 19,
 | 
				
			||||||
 | 
						eSteamErrorCacheBadApp											= 20,
 | 
				
			||||||
 | 
						eSteamErrorCacheVersion											= 21,
 | 
				
			||||||
 | 
						eSteamErrorCacheBadFingerPrint									= 22,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNotFinishedProcessing								= 23,
 | 
				
			||||||
 | 
						eSteamErrorNothingToDo											= 24,
 | 
				
			||||||
 | 
						eSteamErrorCorruptEncryptedUserIDTicket							= 25,
 | 
				
			||||||
 | 
						eSteamErrorSocketLibraryNotInitialized							= 26,
 | 
				
			||||||
 | 
						eSteamErrorFailedToConnectToUserIDTicketValidationServer		= 27,
 | 
				
			||||||
 | 
						eSteamErrorBadProtocolVersion									= 28,
 | 
				
			||||||
 | 
						eSteamErrorReplayedUserIDTicketFromClient						= 29,
 | 
				
			||||||
 | 
						eSteamErrorReceiveResultBufferTooSmall							= 30,
 | 
				
			||||||
 | 
						eSteamErrorSendFailed											= 31,
 | 
				
			||||||
 | 
						eSteamErrorReceiveFailed										= 32,
 | 
				
			||||||
 | 
						eSteamErrorReplayedReplyFromUserIDTicketValidationServer		= 33,
 | 
				
			||||||
 | 
						eSteamErrorBadSignatureFromUserIDTicketValidationServer			= 34,
 | 
				
			||||||
 | 
						eSteamErrorValidationStalledSoAborted							= 35,
 | 
				
			||||||
 | 
						eSteamErrorInvalidUserIDTicket									= 36,
 | 
				
			||||||
 | 
						eSteamErrorClientLoginRateTooHigh								= 37,
 | 
				
			||||||
 | 
						eSteamErrorClientWasNeverValidated								= 38,
 | 
				
			||||||
 | 
						eSteamErrorInternalSendBufferTooSmall							= 39,
 | 
				
			||||||
 | 
						eSteamErrorInternalReceiveBufferTooSmall						= 40,
 | 
				
			||||||
 | 
						eSteamErrorUserTicketExpired									= 41,
 | 
				
			||||||
 | 
						eSteamErrorCDKeyAlreadyInUseOnAnotherClient						= 42,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNotLoggedIn											= 101,
 | 
				
			||||||
 | 
						eSteamErrorAlreadyExists										= 102,
 | 
				
			||||||
 | 
						eSteamErrorAlreadySubscribed									= 103,
 | 
				
			||||||
 | 
						eSteamErrorNotSubscribed										= 104,
 | 
				
			||||||
 | 
						eSteamErrorAccessDenied											= 105,
 | 
				
			||||||
 | 
						eSteamErrorFailedToCreateCacheFile								= 106,
 | 
				
			||||||
 | 
						eSteamErrorCallStalledSoAborted									= 107,
 | 
				
			||||||
 | 
						eSteamErrorEngineNotRunning										= 108,
 | 
				
			||||||
 | 
						eSteamErrorEngineConnectionLost									= 109,
 | 
				
			||||||
 | 
						eSteamErrorLoginFailed											= 110,
 | 
				
			||||||
 | 
						eSteamErrorAccountPending										= 111,
 | 
				
			||||||
 | 
						eSteamErrorCacheWasMissingRetry									= 112,
 | 
				
			||||||
 | 
						eSteamErrorLocalTimeIncorrect									= 113,
 | 
				
			||||||
 | 
						eSteamErrorCacheNeedsDecryption									= 114,
 | 
				
			||||||
 | 
						eSteamErrorAccountDisabled										= 115,
 | 
				
			||||||
 | 
						eSteamErrorCacheNeedsRepair										= 116,
 | 
				
			||||||
 | 
						eSteamErrorRebootRequired										= 117,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNetwork												= 200,
 | 
				
			||||||
 | 
						eSteamErrorOffline												= 201
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eNoDetailedErrorAvailable,
 | 
				
			||||||
 | 
						eStandardCerrno,
 | 
				
			||||||
 | 
						eWin32LastError,
 | 
				
			||||||
 | 
						eWinSockLastError,
 | 
				
			||||||
 | 
						eDetailedPlatformErrorCount
 | 
				
			||||||
 | 
					} EDetailedPlatformErrorType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum						/* Filter elements returned by SteamFind{First,Next} */
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamFindLocalOnly,			/* limit search to local filesystem */
 | 
				
			||||||
 | 
						eSteamFindRemoteOnly,			/* limit search to remote repository */
 | 
				
			||||||
 | 
						eSteamFindAll					/* do not limit search (duplicates allowed) */
 | 
				
			||||||
 | 
					} ESteamFindFilter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Exported structure and complex type definitions.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamError eSteamError;
 | 
				
			||||||
 | 
						EDetailedPlatformErrorType eDetailedErrorType;
 | 
				
			||||||
 | 
						int nDetailedErrorCode;
 | 
				
			||||||
 | 
						char szDesc[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
					} TSteamError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int bIsDir;						/* If non-zero, element is a directory; if zero, element is a file */
 | 
				
			||||||
 | 
						unsigned int uSizeOrCount;		/* If element is a file, this contains size of file in bytes */
 | 
				
			||||||
 | 
						int bIsLocal;					/* If non-zero, reported item is a standalone element on local filesystem */
 | 
				
			||||||
 | 
						char cszName[STEAM_MAX_PATH];	/* Base element name (no path) */
 | 
				
			||||||
 | 
						long lLastAccessTime;			/* Seconds since 1/1/1970 (like time_t) when element was last accessed */
 | 
				
			||||||
 | 
						long lLastModificationTime;		/* Seconds since 1/1/1970 (like time_t) when element was last modified */
 | 
				
			||||||
 | 
						long lCreationTime;				/* Seconds since 1/1/1970 (like time_t) when element was created */
 | 
				
			||||||
 | 
					} TSteamElemInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int uNumSubscriptions;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxApps;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int uNumApps;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxInstallDirNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxVersionLabelChars;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptions;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptionDescChars;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptionCmdLineChars;
 | 
				
			||||||
 | 
						unsigned int uMaxNumIcons;
 | 
				
			||||||
 | 
						unsigned int uMaxIconSize;
 | 
				
			||||||
 | 
						unsigned int uMaxDependencies;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamAppStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxLabelChars;
 | 
				
			||||||
 | 
						unsigned int uVersionId;
 | 
				
			||||||
 | 
						int bIsNotAvailable;
 | 
				
			||||||
 | 
					} TSteamAppVersion;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szDesc;
 | 
				
			||||||
 | 
						unsigned int uMaxDescChars;
 | 
				
			||||||
 | 
						char *szCmdLine;
 | 
				
			||||||
 | 
						unsigned int uMaxCmdLineChars;
 | 
				
			||||||
 | 
						unsigned int uIndex;
 | 
				
			||||||
 | 
						unsigned int uIconIndex;
 | 
				
			||||||
 | 
						int bNoDesktopShortcut;
 | 
				
			||||||
 | 
						int bNoStartMenuShortcut;
 | 
				
			||||||
 | 
						int bIsLongRunningUnattended;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamAppLaunchOption;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szName;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						char *szLatestVersionLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxLatestVersionLabelChars;
 | 
				
			||||||
 | 
						char *szCurrentVersionLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxCurrentVersionLabelChars;
 | 
				
			||||||
 | 
						char *szInstallDirName;
 | 
				
			||||||
 | 
						unsigned int uMaxInstallDirNameChars;
 | 
				
			||||||
 | 
						unsigned int uId;
 | 
				
			||||||
 | 
						unsigned int uLatestVersionId;
 | 
				
			||||||
 | 
						unsigned int uCurrentVersionId;
 | 
				
			||||||
 | 
						unsigned int uMinCacheFileSizeMB;
 | 
				
			||||||
 | 
						unsigned int uMaxCacheFileSizeMB;
 | 
				
			||||||
 | 
						unsigned int uNumLaunchOptions;
 | 
				
			||||||
 | 
						unsigned int uNumIcons;
 | 
				
			||||||
 | 
						unsigned int uNumVersions;
 | 
				
			||||||
 | 
						unsigned int uNumDependencies;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamApp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eNoCost				= 0,
 | 
				
			||||||
 | 
						eBillOnceOnly		= 1,
 | 
				
			||||||
 | 
						eBillMonthly		= 2,
 | 
				
			||||||
 | 
						eProofOfPrepurchaseOnly	= 3,
 | 
				
			||||||
 | 
						eGuestPass			= 4,
 | 
				
			||||||
 | 
						eHardwarePromo		= 5,
 | 
				
			||||||
 | 
						eNumBillingTypes,
 | 
				
			||||||
 | 
					} EBillingType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szName;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int *puAppIds;
 | 
				
			||||||
 | 
						unsigned int uMaxAppIds;
 | 
				
			||||||
 | 
						unsigned int uId;
 | 
				
			||||||
 | 
						unsigned int uNumApps;
 | 
				
			||||||
 | 
						EBillingType eBillingType;
 | 
				
			||||||
 | 
						unsigned int uCostInCents;
 | 
				
			||||||
 | 
						unsigned int uNumDiscounts;
 | 
				
			||||||
 | 
						int bIsPreorder;
 | 
				
			||||||
 | 
						int bRequiresShippingAddress;
 | 
				
			||||||
 | 
						unsigned int uDomesticShippingCostInCents;
 | 
				
			||||||
 | 
						unsigned int uInternationalShippingCostInCents;
 | 
				
			||||||
 | 
						bool bIsCyberCafeSubscription;
 | 
				
			||||||
 | 
						unsigned int uGameCode;
 | 
				
			||||||
 | 
						char szGameCodeDesc[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						bool bIsDisabled;
 | 
				
			||||||
 | 
						bool bRequiresCD;
 | 
				
			||||||
 | 
						unsigned int uTerritoryCode;
 | 
				
			||||||
 | 
						bool bIsSteam3Subscription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szName[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						unsigned int uDiscountInCents;
 | 
				
			||||||
 | 
						unsigned int uNumQualifiers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionDiscount;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szName[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						unsigned int uRequiredSubscription;
 | 
				
			||||||
 | 
						int bIsDisqualifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamDiscountQualifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct TSteamProgress
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int bValid;                      /* non-zero if call provides progress info */
 | 
				
			||||||
 | 
						unsigned int uPercentDone;       /* 0 to 100 * STEAM_PROGRESS_PERCENT_SCALE if bValid */
 | 
				
			||||||
 | 
						char szProgress[STEAM_MAX_PATH]; /* additional progress info */
 | 
				
			||||||
 | 
					} TSteamProgress;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamNotifyTicketsWillExpire,
 | 
				
			||||||
 | 
						eSteamNotifyAccountInfoChanged,
 | 
				
			||||||
 | 
						eSteamNotifyContentDescriptionChanged,
 | 
				
			||||||
 | 
						eSteamNotifyPleaseShutdown,
 | 
				
			||||||
 | 
						eSteamNotifyNewContentServer,
 | 
				
			||||||
 | 
						eSteamNotifySubscriptionStatusChanged,
 | 
				
			||||||
 | 
						eSteamNotifyContentServerConnectionLost,
 | 
				
			||||||
 | 
						eSteamNotifyCacheLoadingCompleted,
 | 
				
			||||||
 | 
						eSteamNotifyCacheNeedsDecryption,
 | 
				
			||||||
 | 
						eSteamNotifyCacheNeedsRepair
 | 
				
			||||||
 | 
					} ESteamNotificationCallbackEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void(*SteamNotificationCallback_t)(ESteamNotificationCallbackEvent eEvent, unsigned int nData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef char SteamPersonalQuestion_t[ STEAM_QUESTION_MAXLEN + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned char uchSalt[STEAM_SALT_SIZE];
 | 
				
			||||||
 | 
					} SteamSalt_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eVisa				= 1,
 | 
				
			||||||
 | 
						eMaster				= 2,
 | 
				
			||||||
 | 
						eAmericanExpress	= 3,
 | 
				
			||||||
 | 
						eDiscover			= 4,
 | 
				
			||||||
 | 
						eDinnersClub		= 5,
 | 
				
			||||||
 | 
						eJCB				= 6
 | 
				
			||||||
 | 
					} ESteamPaymentCardType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamPaymentCardType eCardType;
 | 
				
			||||||
 | 
						char szCardNumber[ STEAM_CARD_NUMBER_SIZE +1 ];
 | 
				
			||||||
 | 
						char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szCardExpYear[ STEAM_CARD_EXPYEAR_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szCardExpMonth[ STEAM_CARD_EXPMONTH_SIZE+ 1 ];
 | 
				
			||||||
 | 
						char szCardCVV2[ STEAM_CARD_CVV2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingEmailAddress[ STEAM_BILLING_EMAIL_ADDRESS_SIZE + 1 ];
 | 
				
			||||||
 | 
						unsigned int uExpectedCostInCents;
 | 
				
			||||||
 | 
						unsigned int uExpectedTaxInCents;
 | 
				
			||||||
 | 
						/* If the TSteamSubscription says that shipping info is required,	*/
 | 
				
			||||||
 | 
						/* then the following fields must be filled out.					*/
 | 
				
			||||||
 | 
						/* If szShippingName is empty, then assumes so are the rest.		*/
 | 
				
			||||||
 | 
						char szShippingName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szShippingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
 | 
				
			||||||
 | 
						unsigned int uExpectedShippingCostInCents;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamPaymentCardInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char					szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* A ProofOfPurchase token is not necessarily a nul-terminated string; it may be binary data
 | 
				
			||||||
 | 
						   (perhaps encrypted). Hence we need a length and an array of bytes.							*/
 | 
				
			||||||
 | 
						unsigned int			uLengthOfBinaryProofOfPurchaseToken;	
 | 
				
			||||||
 | 
						char					cBinaryProofOfPurchaseToken[ STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamPrepurchaseInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szAccountName[ STEAM_EXTERNAL_ACCOUNTNAME_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szPassword[ STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamExternalBillingInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ePaymentCardInfo		= 1,
 | 
				
			||||||
 | 
						ePrepurchasedInfo		= 2,
 | 
				
			||||||
 | 
						eAccountBillingInfo		= 3,
 | 
				
			||||||
 | 
						eExternalBillingInfo	= 4,		/* indirect billing via ISP etc (not supported yet) */
 | 
				
			||||||
 | 
						ePaymentCardReceipt		= 5,
 | 
				
			||||||
 | 
						ePrepurchaseReceipt		= 6,
 | 
				
			||||||
 | 
						eEmptyReceipt			= 7
 | 
				
			||||||
 | 
					} ESteamSubscriptionBillingInfoType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamSubscriptionBillingInfoType	eBillingInfoType;
 | 
				
			||||||
 | 
						union {
 | 
				
			||||||
 | 
							TSteamPaymentCardInfo			PaymentCardInfo;
 | 
				
			||||||
 | 
							TSteamPrepurchaseInfo			PrepurchaseInfo;
 | 
				
			||||||
 | 
							TSteamExternalBillingInfo		ExternalBillingInfo;
 | 
				
			||||||
 | 
							char							bUseAccountBillingInfo;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionBillingInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Subscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionOK							= 0,	/* Subscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionPending						= 1,	/* Awaiting	transaction	completion */
 | 
				
			||||||
 | 
						eSteamSubscriptionPreorder						= 2,	/* Is currently	a pre-order */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseTransferred		= 3,	/* hop to this account */
 | 
				
			||||||
 | 
						/* Unusbscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseInvalid			= 4,	/* Invalid cd-key */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseRejected			= 5,	/* hopped out / banned / etc */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseRevoked			= 6,	/* hop away from this account */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardDeclined			= 7,	/* CC txn declined */
 | 
				
			||||||
 | 
						eSteamSubscriptionCancelledByUser				= 8,	/* Cancelled by	client */
 | 
				
			||||||
 | 
						eSteamSubscriptionCancelledByVendor				= 9,	/* Cancelled by us */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardUseLimit			= 10,	/* Card used too many times, potential fraud */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardAlert				= 11,	/* Got a "pick up card" or the like from bank */
 | 
				
			||||||
 | 
						eSteamSubscriptionFailed						= 12,	/* Other Error in subscription data or transaction failed/lost */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardAVSFailure			= 13,	/* Card failed Address Verification check */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardInsufficientFunds	= 14,	/* Card failed due to insufficient funds */
 | 
				
			||||||
 | 
						eSteamSubscriptionRestrictedCountry				= 15	/* The subscription is not available in the user's country */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamSubscriptionStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamPaymentCardType	eCardType;
 | 
				
			||||||
 | 
						char szCardLastFourDigits[ 4 + 1 ];
 | 
				
			||||||
 | 
						char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// The following are only available after the subscription leaves "pending" status
 | 
				
			||||||
 | 
						char szCardApprovalCode[ STEAM_BILLING_CARD_APPROVAL_CODE_SIZE + 1];
 | 
				
			||||||
 | 
						char szTransDate[ STEAM_BILLING_TRANS_DATE_SIZE	+ 1];	/* mm/dd/yy */
 | 
				
			||||||
 | 
						char szTransTime[ STEAM_BILLING_TRANS_TIME_SIZE	+ 1];	/* hh:mm:ss */
 | 
				
			||||||
 | 
						unsigned int uPriceWithoutTax;
 | 
				
			||||||
 | 
						unsigned int uTaxAmount;
 | 
				
			||||||
 | 
						unsigned int uShippingCost;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamPaymentCardReceiptInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamPrepurchaseReceiptInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamSubscriptionStatus			eStatus;
 | 
				
			||||||
 | 
						ESteamSubscriptionStatus			ePreviousStatus;
 | 
				
			||||||
 | 
						ESteamSubscriptionBillingInfoType	eReceiptInfoType;
 | 
				
			||||||
 | 
						char szConfirmationCode[ STEAM_BILLING_CONFIRMATION_CODE_SIZE +	1];
 | 
				
			||||||
 | 
						union {
 | 
				
			||||||
 | 
							TSteamPaymentCardReceiptInfo	PaymentCardReceiptInfo;
 | 
				
			||||||
 | 
							TSteamPrepurchaseReceiptInfo	PrepurchaseReceiptInfo;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionReceipt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ePhysicalBytesReceivedThisSession = 1,
 | 
				
			||||||
 | 
						eAppReadyToLaunchStatus = 2,
 | 
				
			||||||
 | 
						eAppPreloadStatus = 3,
 | 
				
			||||||
 | 
						eAppEntireDepot = 4,
 | 
				
			||||||
 | 
						eCacheBytesPresent = 5
 | 
				
			||||||
 | 
					} ESteamAppUpdateStatsQueryType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						SteamUnsigned64_t uBytesTotal;
 | 
				
			||||||
 | 
						SteamUnsigned64_t uBytesPresent;
 | 
				
			||||||
 | 
					} TSteamUpdateStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamUserAdministrator	=	0x00000001, /* May subscribe, unsubscribe, etc */
 | 
				
			||||||
 | 
						eSteamUserDeveloper		=	0x00000002, /* Steam or App developer */
 | 
				
			||||||
 | 
						eSteamUserCyberCafe		=	0x00000004  /* CyberCafe, school, etc -- UI should ask for password */
 | 
				
			||||||
 | 
																/* before allowing logout, unsubscribe, etc             */
 | 
				
			||||||
 | 
					} ESteamUserTypeFlags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamAccountStatusDefault			=	0x00000000,
 | 
				
			||||||
 | 
						eSteamAccountStatusEmailVerified	=	0x00000001,
 | 
				
			||||||
 | 
						/* Note: Mask value 0x2 is reserved for future use. (Some, but not all, public accounts already have this set.) */
 | 
				
			||||||
 | 
						eSteamAccountDisabled				=	0x00000004
 | 
				
			||||||
 | 
					} ESteamAccountStatusBitFields ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamBootstrapperError						= -1,
 | 
				
			||||||
 | 
						eSteamBootstrapperDontCheckForUpdate		= 0,
 | 
				
			||||||
 | 
						eSteamBootstrapperCheckForUpdateAndRerun	= 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamBootStrapperClientAppResult;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamOnline = 0,
 | 
				
			||||||
 | 
						eSteamOffline = 1,
 | 
				
			||||||
 | 
						eSteamNoAuthMode = 2,
 | 
				
			||||||
 | 
						eSteamBillingOffline = 3
 | 
				
			||||||
 | 
					} eSteamOfflineStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int eOfflineNow;
 | 
				
			||||||
 | 
						int eOfflineNextSession;
 | 
				
			||||||
 | 
					} TSteamOfflineStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  unsigned int uAppId;
 | 
				
			||||||
 | 
					  int bIsSystemDefined;
 | 
				
			||||||
 | 
					  char szMountPath[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
					} TSteamAppDependencyInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamOpenFileRegular =			0x0,
 | 
				
			||||||
 | 
						eSteamOpenFileIgnoreLocal =		0x1,
 | 
				
			||||||
 | 
						eSteamOpenFileChecksumReads =	0x2
 | 
				
			||||||
 | 
					} ESteamOpenFileFlags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamValveCDKeyValidationServer = 0,
 | 
				
			||||||
 | 
						eSteamHalfLifeMasterServer = 1,
 | 
				
			||||||
 | 
						eSteamFriendsServer = 2,
 | 
				
			||||||
 | 
						eSteamCSERServer = 3,
 | 
				
			||||||
 | 
						eSteamHalfLife2MasterServer = 4,
 | 
				
			||||||
 | 
						eSteamRDKFMasterServer = 5,
 | 
				
			||||||
 | 
						eMaxServerTypes = 6
 | 
				
			||||||
 | 
					} ESteamServerType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** More exported constants
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const SteamHandle_t										STEAM_INVALID_HANDLE = 0;
 | 
				
			||||||
 | 
					const SteamCallHandle_t									STEAM_INVALID_CALL_HANDLE = 0;
 | 
				
			||||||
 | 
					const SteamUserIDTicketValidationHandle_t				STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE = 0;
 | 
				
			||||||
 | 
					const unsigned int										STEAM_USE_LATEST_VERSION = 0xFFFFFFFF;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_INVALID_HANDLE							((SteamHandle_t)(0))
 | 
				
			||||||
 | 
					#define STEAM_INVALID_CALL_HANDLE						((SteamCallHandle_t)(0))
 | 
				
			||||||
 | 
					#define	STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE	((SteamUserIDTicketValidationHandle_t)(0))
 | 
				
			||||||
 | 
					#define STEAM_USE_LATEST_VERSION						(0xFFFFFFFFu);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					** Each Steam instance (licensed Steam Service Provider) has a unique SteamInstanceID_t.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Each Steam instance as its own DB of users.
 | 
				
			||||||
 | 
					** Each user in the DB has a unique SteamLocalUserID_t (a serial number, with possible 
 | 
				
			||||||
 | 
					** rare gaps in the sequence).
 | 
				
			||||||
 | 
					** 
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef	unsigned short		SteamInstanceID_t;		// MUST be 16 bits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined ( _WIN32 )
 | 
				
			||||||
 | 
					typedef	unsigned __int64	SteamLocalUserID_t;		// MUST be 64 bits
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					typedef	unsigned long long	SteamLocalUserID_t;		// MUST be 64 bits
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Applications need to be able to authenticate Steam users from ANY instance.
 | 
				
			||||||
 | 
					** So a SteamIDTicket contains SteamGlobalUserID, which is a unique combination of 
 | 
				
			||||||
 | 
					** instance and user id.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** SteamLocalUserID is an unsigned 64-bit integer.
 | 
				
			||||||
 | 
					** For platforms without 64-bit int support, we provide access via a union that splits it into 
 | 
				
			||||||
 | 
					** high and low unsigned 32-bit ints.  Such platforms will only need to compare LocalUserIDs 
 | 
				
			||||||
 | 
					** for equivalence anyway - not perform arithmetic with them.
 | 
				
			||||||
 | 
					** 
 | 
				
			||||||
 | 
					********************************************************************************/
 | 
				
			||||||
 | 
					typedef struct	
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int	Low32bits;
 | 
				
			||||||
 | 
						unsigned int	High32bits;
 | 
				
			||||||
 | 
					}	TSteamSplitLocalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						SteamInstanceID_t		m_SteamInstanceID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						union
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							SteamLocalUserID_t		As64bits;
 | 
				
			||||||
 | 
							TSteamSplitLocalUserID	Split;
 | 
				
			||||||
 | 
						}						m_SteamLocalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamGlobalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										35
									
								
								mp/src/common/userid.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								mp/src/common/userid.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Purpose: 
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// $NoKeywords: $
 | 
				
			||||||
 | 
					//=============================================================================//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef USERID_H
 | 
				
			||||||
 | 
					#define USERID_H
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined( INCLUDED_STEAM_STEAMUSERIDTYPES_H )
 | 
				
			||||||
 | 
						#include "SteamCommon.h"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define IDTYPE_WON		0
 | 
				
			||||||
 | 
					#define IDTYPE_STEAM	1
 | 
				
			||||||
 | 
					#define IDTYPE_VALVE	2
 | 
				
			||||||
 | 
					#define IDTYPE_HLTV		3		
 | 
				
			||||||
 | 
					#define IDTYPE_REPLAY	4
 | 
				
			||||||
 | 
					typedef struct USERID_s
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int			idtype;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						union
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TSteamGlobalUserID	steamid;
 | 
				
			||||||
 | 
						} uid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//	unsigned int		clientip;
 | 
				
			||||||
 | 
					} USERID_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // USERID_H
 | 
				
			||||||
@ -43,6 +43,9 @@ static ConVar youtube_username( "youtube_username", "", FCVAR_ARCHIVE, "Username
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
extern IReplayMovieManager *g_pReplayMovieManager;
 | 
					extern IReplayMovieManager *g_pReplayMovieManager;
 | 
				
			||||||
extern const char *COM_GetModDirectory();
 | 
					extern const char *COM_GetModDirectory();
 | 
				
			||||||
 | 
					extern void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//-----------------------------------------------------------------------------
 | 
					//-----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -385,42 +388,7 @@ protected:
 | 
				
			|||||||
		const char *pDeveloperTag = NULL;
 | 
							const char *pDeveloperTag = NULL;
 | 
				
			||||||
		const char *pDeveloperKey = NULL;
 | 
							const char *pDeveloperKey = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Team Fortress 2?
 | 
							GetYouTubeAPIKey( pGameDir, bOnSteamPublic, &pSource, &pDeveloperTag, &pDeveloperKey );
 | 
				
			||||||
		if ( FStrEq( pGameDir, "tf" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Team Fortress 2";
 | 
					 | 
				
			||||||
			pDeveloperTag = "TF2";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si6dQGxX2TWkOT9V9ihFpKmokaDhqIw3mgJcnnRFjX5f00HMRXqj69Fg1ulTdYF9Aw4wIt5NYHCxQAXHPPEcbQ89rEaCeg" :
 | 
					 | 
				
			||||||
				"AI39si5q3V-l7DhNbdSn-F2P3l0sUOIOnHBqJC5kvdGsuwpIinmcOH5GFC1PGG0olcZM2ID0Fvbsodj6g0pOUkKhuRNxcEErLQ";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Team Fortress 2 Beta?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "tf_beta" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Team Fortress 2 Beta";
 | 
					 | 
				
			||||||
			pDeveloperTag = "TF2";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si7XuLuXg3-2T06aVUaM-45HSXYFqzXfyPR6y5K4XotWKf78lfCByXnD1T8Kj9jeIR85NelpjGYGsH8pR3RO4k3TrwlTbw" :
 | 
					 | 
				
			||||||
				"AI39si79TOshUv9FcIT6cjEH0Q9KK_eEOH1q6-_lIdNIsmHrKcal1R8Uf0TzMhdq-rQ7iUEZ3uqSKlLXa2J-lQvuKwNq5SSnMA";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Counter-Strike: Source?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "cstrike" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Counter-Strike: Source";
 | 
					 | 
				
			||||||
			pDeveloperTag = "CSS";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si7JIn2nj67YoxWPzmsGHO2R-WSpN0su1f3-BF9lVC5jWz9DEOPbOxFz-MiXuaMtoCZnS3nSPjwGfqHenXC6RKGcICI5HQ" :
 | 
					 | 
				
			||||||
				"AI39si4bpW1q3D0gcWWNWFNHjHgsM7YL3RGCdEAIKV2k_mH5Cwj-YwXinVv933tFhy-6583HcuZ8NWTrvfbB8XTWEI-hYidEjA";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Counter-Strike: Source Beta?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "cstrike_beta" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Counter-Strike: Source Beta";
 | 
					 | 
				
			||||||
			pDeveloperTag = "CSS";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si5JUyCvGdavFg02OusWk9lkSxkpEX99KnJCjTwOzLJH7N9MS40YMFk-o8dTwyO0w2Qi2CSU8qrB4bdTohHj35mAa0iMDQ" :
 | 
					 | 
				
			||||||
				"AI39si4Oq2O35MHD5qahqODCKQfsssq5STE6ISolJKsvFuxtPpqhG4sQbDF8pGdZ02c-_s5KRB5nhTjqZMLB4h0lKKHh8I52Tg";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Assert( pSource );
 | 
							Assert( pSource );
 | 
				
			||||||
		Assert( pDeveloperTag );
 | 
							Assert( pDeveloperTag );
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										16
									
								
								mp/src/game/client/replay/replayyoutubeapi_key_sdk.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								mp/src/game/client/replay/replayyoutubeapi_key_sdk.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Purpose:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//=============================================================================//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "cbase.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						// Put your YouTube Developer key here if you're going to upload videos to YouTube
 | 
				
			||||||
 | 
						*ppSource = "your Mod Name";
 | 
				
			||||||
 | 
						*ppDeveloperTag = "Your mod tag";
 | 
				
			||||||
 | 
						*ppDeveloperKey = "Your mod's developer key";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -135,8 +135,11 @@ private:
 | 
				
			|||||||
	typedef char locchar_t;
 | 
						typedef char locchar_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#define loc_snprintf	Q_snprintf
 | 
						#define loc_snprintf	Q_snprintf
 | 
				
			||||||
 | 
						#define loc_sprintf_safe V_snprintf_safe
 | 
				
			||||||
	#define loc_sncat		Q_strncat
 | 
						#define loc_sncat		Q_strncat
 | 
				
			||||||
 | 
						#define loc_scat_safe	V_strcat_safe
 | 
				
			||||||
	#define loc_sncpy		Q_strncpy
 | 
						#define loc_sncpy		Q_strncpy
 | 
				
			||||||
 | 
						#define loc_scpy_safe	V_strcpy_safe
 | 
				
			||||||
	#define loc_strlen		Q_strlen
 | 
						#define loc_strlen		Q_strlen
 | 
				
			||||||
	#define LOCCHAR( x )	x
 | 
						#define LOCCHAR( x )	x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -145,8 +148,11 @@ private:
 | 
				
			|||||||
	typedef wchar_t locchar_t;
 | 
						typedef wchar_t locchar_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	#define loc_snprintf	V_snwprintf
 | 
						#define loc_snprintf	V_snwprintf
 | 
				
			||||||
 | 
						#define loc_sprintf_safe V_snwprintf_safe
 | 
				
			||||||
	#define loc_sncat		V_wcsncat
 | 
						#define loc_sncat		V_wcsncat
 | 
				
			||||||
 | 
						#define loc_scat_safe	V_wcscat_safe
 | 
				
			||||||
	#define loc_sncpy		Q_wcsncpy
 | 
						#define loc_sncpy		Q_wcsncpy
 | 
				
			||||||
 | 
						#define loc_scpy_safe	V_wcscpy_safe
 | 
				
			||||||
	#define loc_strlen		Q_wcslen
 | 
						#define loc_strlen		Q_wcslen
 | 
				
			||||||
	#define LOCCHAR(x)		L ## x
 | 
						#define LOCCHAR(x)		L ## x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										703
									
								
								sp/src/common/SteamCommon.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										703
									
								
								sp/src/common/SteamCommon.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,703 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					** The copyright to the contents herein is the property of Valve Corporation.
 | 
				
			||||||
 | 
					** The contents may be used and/or copied only with the written permission of
 | 
				
			||||||
 | 
					** Valve, or in accordance with the terms and conditions stipulated in
 | 
				
			||||||
 | 
					** the agreement/contract under which the contents have been supplied.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					*******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Contents:
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		Common types used in the Steam DLL interface.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		This file is distributed to Steam application developers.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					**		
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					*******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef INCLUDED_STEAM_COMMON_STEAMCOMMON_H
 | 
				
			||||||
 | 
					#define INCLUDED_STEAM_COMMON_STEAMCOMMON_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_MSC_VER) && (_MSC_VER > 1000)
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					extern "C"
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Applications should not define STEAM_EXPORTS. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined ( _WIN32 )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef STEAM_EXPORTS
 | 
				
			||||||
 | 
					#define STEAM_API __declspec(dllexport)
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					#define STEAM_API __declspec(dllimport)
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_CALL __cdecl
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_API /* */
 | 
				
			||||||
 | 
					#define STEAM_CALL /* */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void (STEAM_CALL  *KeyValueIteratorCallback_t )(const char *Key, const char *Val, void *pvParam);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Exported macros and constants
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* DEPRECATED -- these are ignored now, all API access is granted on SteamStartup */
 | 
				
			||||||
 | 
					#define STEAM_USING_FILESYSTEM							(0x00000001)
 | 
				
			||||||
 | 
					#define STEAM_USING_LOGGING								(0x00000002)
 | 
				
			||||||
 | 
					#define STEAM_USING_USERID								(0x00000004)
 | 
				
			||||||
 | 
					#define STEAM_USING_ACCOUNT								(0x00000008)
 | 
				
			||||||
 | 
					#define STEAM_USING_ALL									(0x0000000f)
 | 
				
			||||||
 | 
					/* END DEPRECATED */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_MAX_PATH									(255)
 | 
				
			||||||
 | 
					#define STEAM_QUESTION_MAXLEN							(255)
 | 
				
			||||||
 | 
					#define STEAM_SALT_SIZE									(8)
 | 
				
			||||||
 | 
					#define STEAM_PROGRESS_PERCENT_SCALE					(0x00001000)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* These are maximum significant string lengths, excluding nul-terminator. */
 | 
				
			||||||
 | 
					#define STEAM_CARD_NUMBER_SIZE							(17)
 | 
				
			||||||
 | 
					#define STEAM_CARD_HOLDERNAME_SIZE						(100)
 | 
				
			||||||
 | 
					#define STEAM_CARD_EXPYEAR_SIZE							(4)
 | 
				
			||||||
 | 
					#define STEAM_CARD_EXPMONTH_SIZE						(2)
 | 
				
			||||||
 | 
					#define STEAM_CARD_CVV2_SIZE							(5)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ADDRESS1_SIZE						(128)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ADDRESS2_SIZE						(128)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CITY_SIZE							(50)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_ZIP_SIZE							(16)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_STATE_SIZE						(32)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_COUNTRY_SIZE						(32)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_PHONE_SIZE						(20)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_EMAIL_ADDRESS_SIZE				(100)
 | 
				
			||||||
 | 
					#define STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE			(20)
 | 
				
			||||||
 | 
					#define STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE				(200)
 | 
				
			||||||
 | 
					#define STEAM_EXTERNAL_ACCOUNTNAME_SIZE					(100)
 | 
				
			||||||
 | 
					#define STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE				(80)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CONFIRMATION_CODE_SIZE			(22)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_CARD_APPROVAL_CODE_SIZE			(100)
 | 
				
			||||||
 | 
					#define STEAM_BILLING_TRANS_DATE_SIZE					(9) // mm/dd/yy
 | 
				
			||||||
 | 
					#define STEAM_BILLING_TRANS_TIME_SIZE					(9) // hh:mm:ss
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Scalar type and enumerated type definitions.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef unsigned int SteamHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void * SteamUserIDTicketValidationHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef unsigned int SteamCallHandle_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(_MSC_VER)
 | 
				
			||||||
 | 
					typedef unsigned __int64	SteamUnsigned64_t;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					typedef unsigned long long	SteamUnsigned64_t;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamSeekMethodSet = 0,
 | 
				
			||||||
 | 
						eSteamSeekMethodCur = 1,
 | 
				
			||||||
 | 
						eSteamSeekMethodEnd = 2
 | 
				
			||||||
 | 
					} ESteamSeekMethod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamBufferMethodFBF = 0,
 | 
				
			||||||
 | 
						eSteamBufferMethodNBF = 1
 | 
				
			||||||
 | 
					} ESteamBufferMethod;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamErrorNone													= 0,
 | 
				
			||||||
 | 
						eSteamErrorUnknown												= 1,
 | 
				
			||||||
 | 
						eSteamErrorLibraryNotInitialized								= 2,
 | 
				
			||||||
 | 
						eSteamErrorLibraryAlreadyInitialized							= 3,
 | 
				
			||||||
 | 
						eSteamErrorConfig												= 4,
 | 
				
			||||||
 | 
						eSteamErrorContentServerConnect									= 5,
 | 
				
			||||||
 | 
						eSteamErrorBadHandle											= 6,
 | 
				
			||||||
 | 
						eSteamErrorHandlesExhausted										= 7,
 | 
				
			||||||
 | 
						eSteamErrorBadArg												= 8,
 | 
				
			||||||
 | 
						eSteamErrorNotFound												= 9,
 | 
				
			||||||
 | 
						eSteamErrorRead													= 10,
 | 
				
			||||||
 | 
						eSteamErrorEOF													= 11,
 | 
				
			||||||
 | 
						eSteamErrorSeek													= 12,
 | 
				
			||||||
 | 
						eSteamErrorCannotWriteNonUserConfigFile							= 13,
 | 
				
			||||||
 | 
						eSteamErrorCacheOpen											= 14,
 | 
				
			||||||
 | 
						eSteamErrorCacheRead											= 15,
 | 
				
			||||||
 | 
						eSteamErrorCacheCorrupted										= 16,
 | 
				
			||||||
 | 
						eSteamErrorCacheWrite											= 17,
 | 
				
			||||||
 | 
						eSteamErrorCacheSession											= 18,
 | 
				
			||||||
 | 
						eSteamErrorCacheInternal										= 19,
 | 
				
			||||||
 | 
						eSteamErrorCacheBadApp											= 20,
 | 
				
			||||||
 | 
						eSteamErrorCacheVersion											= 21,
 | 
				
			||||||
 | 
						eSteamErrorCacheBadFingerPrint									= 22,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNotFinishedProcessing								= 23,
 | 
				
			||||||
 | 
						eSteamErrorNothingToDo											= 24,
 | 
				
			||||||
 | 
						eSteamErrorCorruptEncryptedUserIDTicket							= 25,
 | 
				
			||||||
 | 
						eSteamErrorSocketLibraryNotInitialized							= 26,
 | 
				
			||||||
 | 
						eSteamErrorFailedToConnectToUserIDTicketValidationServer		= 27,
 | 
				
			||||||
 | 
						eSteamErrorBadProtocolVersion									= 28,
 | 
				
			||||||
 | 
						eSteamErrorReplayedUserIDTicketFromClient						= 29,
 | 
				
			||||||
 | 
						eSteamErrorReceiveResultBufferTooSmall							= 30,
 | 
				
			||||||
 | 
						eSteamErrorSendFailed											= 31,
 | 
				
			||||||
 | 
						eSteamErrorReceiveFailed										= 32,
 | 
				
			||||||
 | 
						eSteamErrorReplayedReplyFromUserIDTicketValidationServer		= 33,
 | 
				
			||||||
 | 
						eSteamErrorBadSignatureFromUserIDTicketValidationServer			= 34,
 | 
				
			||||||
 | 
						eSteamErrorValidationStalledSoAborted							= 35,
 | 
				
			||||||
 | 
						eSteamErrorInvalidUserIDTicket									= 36,
 | 
				
			||||||
 | 
						eSteamErrorClientLoginRateTooHigh								= 37,
 | 
				
			||||||
 | 
						eSteamErrorClientWasNeverValidated								= 38,
 | 
				
			||||||
 | 
						eSteamErrorInternalSendBufferTooSmall							= 39,
 | 
				
			||||||
 | 
						eSteamErrorInternalReceiveBufferTooSmall						= 40,
 | 
				
			||||||
 | 
						eSteamErrorUserTicketExpired									= 41,
 | 
				
			||||||
 | 
						eSteamErrorCDKeyAlreadyInUseOnAnotherClient						= 42,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNotLoggedIn											= 101,
 | 
				
			||||||
 | 
						eSteamErrorAlreadyExists										= 102,
 | 
				
			||||||
 | 
						eSteamErrorAlreadySubscribed									= 103,
 | 
				
			||||||
 | 
						eSteamErrorNotSubscribed										= 104,
 | 
				
			||||||
 | 
						eSteamErrorAccessDenied											= 105,
 | 
				
			||||||
 | 
						eSteamErrorFailedToCreateCacheFile								= 106,
 | 
				
			||||||
 | 
						eSteamErrorCallStalledSoAborted									= 107,
 | 
				
			||||||
 | 
						eSteamErrorEngineNotRunning										= 108,
 | 
				
			||||||
 | 
						eSteamErrorEngineConnectionLost									= 109,
 | 
				
			||||||
 | 
						eSteamErrorLoginFailed											= 110,
 | 
				
			||||||
 | 
						eSteamErrorAccountPending										= 111,
 | 
				
			||||||
 | 
						eSteamErrorCacheWasMissingRetry									= 112,
 | 
				
			||||||
 | 
						eSteamErrorLocalTimeIncorrect									= 113,
 | 
				
			||||||
 | 
						eSteamErrorCacheNeedsDecryption									= 114,
 | 
				
			||||||
 | 
						eSteamErrorAccountDisabled										= 115,
 | 
				
			||||||
 | 
						eSteamErrorCacheNeedsRepair										= 116,
 | 
				
			||||||
 | 
						eSteamErrorRebootRequired										= 117,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						eSteamErrorNetwork												= 200,
 | 
				
			||||||
 | 
						eSteamErrorOffline												= 201
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eNoDetailedErrorAvailable,
 | 
				
			||||||
 | 
						eStandardCerrno,
 | 
				
			||||||
 | 
						eWin32LastError,
 | 
				
			||||||
 | 
						eWinSockLastError,
 | 
				
			||||||
 | 
						eDetailedPlatformErrorCount
 | 
				
			||||||
 | 
					} EDetailedPlatformErrorType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum						/* Filter elements returned by SteamFind{First,Next} */
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamFindLocalOnly,			/* limit search to local filesystem */
 | 
				
			||||||
 | 
						eSteamFindRemoteOnly,			/* limit search to remote repository */
 | 
				
			||||||
 | 
						eSteamFindAll					/* do not limit search (duplicates allowed) */
 | 
				
			||||||
 | 
					} ESteamFindFilter;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Exported structure and complex type definitions.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamError eSteamError;
 | 
				
			||||||
 | 
						EDetailedPlatformErrorType eDetailedErrorType;
 | 
				
			||||||
 | 
						int nDetailedErrorCode;
 | 
				
			||||||
 | 
						char szDesc[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
					} TSteamError;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int bIsDir;						/* If non-zero, element is a directory; if zero, element is a file */
 | 
				
			||||||
 | 
						unsigned int uSizeOrCount;		/* If element is a file, this contains size of file in bytes */
 | 
				
			||||||
 | 
						int bIsLocal;					/* If non-zero, reported item is a standalone element on local filesystem */
 | 
				
			||||||
 | 
						char cszName[STEAM_MAX_PATH];	/* Base element name (no path) */
 | 
				
			||||||
 | 
						long lLastAccessTime;			/* Seconds since 1/1/1970 (like time_t) when element was last accessed */
 | 
				
			||||||
 | 
						long lLastModificationTime;		/* Seconds since 1/1/1970 (like time_t) when element was last modified */
 | 
				
			||||||
 | 
						long lCreationTime;				/* Seconds since 1/1/1970 (like time_t) when element was created */
 | 
				
			||||||
 | 
					} TSteamElemInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int uNumSubscriptions;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxApps;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int uNumApps;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxInstallDirNameChars;
 | 
				
			||||||
 | 
						unsigned int uMaxVersionLabelChars;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptions;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptionDescChars;
 | 
				
			||||||
 | 
						unsigned int uMaxLaunchOptionCmdLineChars;
 | 
				
			||||||
 | 
						unsigned int uMaxNumIcons;
 | 
				
			||||||
 | 
						unsigned int uMaxIconSize;
 | 
				
			||||||
 | 
						unsigned int uMaxDependencies;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamAppStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxLabelChars;
 | 
				
			||||||
 | 
						unsigned int uVersionId;
 | 
				
			||||||
 | 
						int bIsNotAvailable;
 | 
				
			||||||
 | 
					} TSteamAppVersion;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szDesc;
 | 
				
			||||||
 | 
						unsigned int uMaxDescChars;
 | 
				
			||||||
 | 
						char *szCmdLine;
 | 
				
			||||||
 | 
						unsigned int uMaxCmdLineChars;
 | 
				
			||||||
 | 
						unsigned int uIndex;
 | 
				
			||||||
 | 
						unsigned int uIconIndex;
 | 
				
			||||||
 | 
						int bNoDesktopShortcut;
 | 
				
			||||||
 | 
						int bNoStartMenuShortcut;
 | 
				
			||||||
 | 
						int bIsLongRunningUnattended;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamAppLaunchOption;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szName;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						char *szLatestVersionLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxLatestVersionLabelChars;
 | 
				
			||||||
 | 
						char *szCurrentVersionLabel;
 | 
				
			||||||
 | 
						unsigned int uMaxCurrentVersionLabelChars;
 | 
				
			||||||
 | 
						char *szInstallDirName;
 | 
				
			||||||
 | 
						unsigned int uMaxInstallDirNameChars;
 | 
				
			||||||
 | 
						unsigned int uId;
 | 
				
			||||||
 | 
						unsigned int uLatestVersionId;
 | 
				
			||||||
 | 
						unsigned int uCurrentVersionId;
 | 
				
			||||||
 | 
						unsigned int uMinCacheFileSizeMB;
 | 
				
			||||||
 | 
						unsigned int uMaxCacheFileSizeMB;
 | 
				
			||||||
 | 
						unsigned int uNumLaunchOptions;
 | 
				
			||||||
 | 
						unsigned int uNumIcons;
 | 
				
			||||||
 | 
						unsigned int uNumVersions;
 | 
				
			||||||
 | 
						unsigned int uNumDependencies;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamApp;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eNoCost				= 0,
 | 
				
			||||||
 | 
						eBillOnceOnly		= 1,
 | 
				
			||||||
 | 
						eBillMonthly		= 2,
 | 
				
			||||||
 | 
						eProofOfPrepurchaseOnly	= 3,
 | 
				
			||||||
 | 
						eGuestPass			= 4,
 | 
				
			||||||
 | 
						eHardwarePromo		= 5,
 | 
				
			||||||
 | 
						eNumBillingTypes,
 | 
				
			||||||
 | 
					} EBillingType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char *szName;
 | 
				
			||||||
 | 
						unsigned int uMaxNameChars;
 | 
				
			||||||
 | 
						unsigned int *puAppIds;
 | 
				
			||||||
 | 
						unsigned int uMaxAppIds;
 | 
				
			||||||
 | 
						unsigned int uId;
 | 
				
			||||||
 | 
						unsigned int uNumApps;
 | 
				
			||||||
 | 
						EBillingType eBillingType;
 | 
				
			||||||
 | 
						unsigned int uCostInCents;
 | 
				
			||||||
 | 
						unsigned int uNumDiscounts;
 | 
				
			||||||
 | 
						int bIsPreorder;
 | 
				
			||||||
 | 
						int bRequiresShippingAddress;
 | 
				
			||||||
 | 
						unsigned int uDomesticShippingCostInCents;
 | 
				
			||||||
 | 
						unsigned int uInternationalShippingCostInCents;
 | 
				
			||||||
 | 
						bool bIsCyberCafeSubscription;
 | 
				
			||||||
 | 
						unsigned int uGameCode;
 | 
				
			||||||
 | 
						char szGameCodeDesc[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						bool bIsDisabled;
 | 
				
			||||||
 | 
						bool bRequiresCD;
 | 
				
			||||||
 | 
						unsigned int uTerritoryCode;
 | 
				
			||||||
 | 
						bool bIsSteam3Subscription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscription;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szName[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						unsigned int uDiscountInCents;
 | 
				
			||||||
 | 
						unsigned int uNumQualifiers;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionDiscount;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szName[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
						unsigned int uRequiredSubscription;
 | 
				
			||||||
 | 
						int bIsDisqualifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamDiscountQualifier;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct TSteamProgress
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int bValid;                      /* non-zero if call provides progress info */
 | 
				
			||||||
 | 
						unsigned int uPercentDone;       /* 0 to 100 * STEAM_PROGRESS_PERCENT_SCALE if bValid */
 | 
				
			||||||
 | 
						char szProgress[STEAM_MAX_PATH]; /* additional progress info */
 | 
				
			||||||
 | 
					} TSteamProgress;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamNotifyTicketsWillExpire,
 | 
				
			||||||
 | 
						eSteamNotifyAccountInfoChanged,
 | 
				
			||||||
 | 
						eSteamNotifyContentDescriptionChanged,
 | 
				
			||||||
 | 
						eSteamNotifyPleaseShutdown,
 | 
				
			||||||
 | 
						eSteamNotifyNewContentServer,
 | 
				
			||||||
 | 
						eSteamNotifySubscriptionStatusChanged,
 | 
				
			||||||
 | 
						eSteamNotifyContentServerConnectionLost,
 | 
				
			||||||
 | 
						eSteamNotifyCacheLoadingCompleted,
 | 
				
			||||||
 | 
						eSteamNotifyCacheNeedsDecryption,
 | 
				
			||||||
 | 
						eSteamNotifyCacheNeedsRepair
 | 
				
			||||||
 | 
					} ESteamNotificationCallbackEvent;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef void(*SteamNotificationCallback_t)(ESteamNotificationCallbackEvent eEvent, unsigned int nData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef char SteamPersonalQuestion_t[ STEAM_QUESTION_MAXLEN + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned char uchSalt[STEAM_SALT_SIZE];
 | 
				
			||||||
 | 
					} SteamSalt_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eVisa				= 1,
 | 
				
			||||||
 | 
						eMaster				= 2,
 | 
				
			||||||
 | 
						eAmericanExpress	= 3,
 | 
				
			||||||
 | 
						eDiscover			= 4,
 | 
				
			||||||
 | 
						eDinnersClub		= 5,
 | 
				
			||||||
 | 
						eJCB				= 6
 | 
				
			||||||
 | 
					} ESteamPaymentCardType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamPaymentCardType eCardType;
 | 
				
			||||||
 | 
						char szCardNumber[ STEAM_CARD_NUMBER_SIZE +1 ];
 | 
				
			||||||
 | 
						char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szCardExpYear[ STEAM_CARD_EXPYEAR_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szCardExpMonth[ STEAM_CARD_EXPMONTH_SIZE+ 1 ];
 | 
				
			||||||
 | 
						char szCardCVV2[ STEAM_CARD_CVV2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingEmailAddress[ STEAM_BILLING_EMAIL_ADDRESS_SIZE + 1 ];
 | 
				
			||||||
 | 
						unsigned int uExpectedCostInCents;
 | 
				
			||||||
 | 
						unsigned int uExpectedTaxInCents;
 | 
				
			||||||
 | 
						/* If the TSteamSubscription says that shipping info is required,	*/
 | 
				
			||||||
 | 
						/* then the following fields must be filled out.					*/
 | 
				
			||||||
 | 
						/* If szShippingName is empty, then assumes so are the rest.		*/
 | 
				
			||||||
 | 
						char szShippingName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szShippingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szShippingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
 | 
				
			||||||
 | 
						unsigned int uExpectedShippingCostInCents;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamPaymentCardInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char					szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						/* A ProofOfPurchase token is not necessarily a nul-terminated string; it may be binary data
 | 
				
			||||||
 | 
						   (perhaps encrypted). Hence we need a length and an array of bytes.							*/
 | 
				
			||||||
 | 
						unsigned int			uLengthOfBinaryProofOfPurchaseToken;	
 | 
				
			||||||
 | 
						char					cBinaryProofOfPurchaseToken[ STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamPrepurchaseInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szAccountName[ STEAM_EXTERNAL_ACCOUNTNAME_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szPassword[ STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamExternalBillingInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ePaymentCardInfo		= 1,
 | 
				
			||||||
 | 
						ePrepurchasedInfo		= 2,
 | 
				
			||||||
 | 
						eAccountBillingInfo		= 3,
 | 
				
			||||||
 | 
						eExternalBillingInfo	= 4,		/* indirect billing via ISP etc (not supported yet) */
 | 
				
			||||||
 | 
						ePaymentCardReceipt		= 5,
 | 
				
			||||||
 | 
						ePrepurchaseReceipt		= 6,
 | 
				
			||||||
 | 
						eEmptyReceipt			= 7
 | 
				
			||||||
 | 
					} ESteamSubscriptionBillingInfoType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamSubscriptionBillingInfoType	eBillingInfoType;
 | 
				
			||||||
 | 
						union {
 | 
				
			||||||
 | 
							TSteamPaymentCardInfo			PaymentCardInfo;
 | 
				
			||||||
 | 
							TSteamPrepurchaseInfo			PrepurchaseInfo;
 | 
				
			||||||
 | 
							TSteamExternalBillingInfo		ExternalBillingInfo;
 | 
				
			||||||
 | 
							char							bUseAccountBillingInfo;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionBillingInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Subscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionOK							= 0,	/* Subscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionPending						= 1,	/* Awaiting	transaction	completion */
 | 
				
			||||||
 | 
						eSteamSubscriptionPreorder						= 2,	/* Is currently	a pre-order */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseTransferred		= 3,	/* hop to this account */
 | 
				
			||||||
 | 
						/* Unusbscribed */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseInvalid			= 4,	/* Invalid cd-key */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseRejected			= 5,	/* hopped out / banned / etc */
 | 
				
			||||||
 | 
						eSteamSubscriptionPrepurchaseRevoked			= 6,	/* hop away from this account */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardDeclined			= 7,	/* CC txn declined */
 | 
				
			||||||
 | 
						eSteamSubscriptionCancelledByUser				= 8,	/* Cancelled by	client */
 | 
				
			||||||
 | 
						eSteamSubscriptionCancelledByVendor				= 9,	/* Cancelled by us */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardUseLimit			= 10,	/* Card used too many times, potential fraud */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardAlert				= 11,	/* Got a "pick up card" or the like from bank */
 | 
				
			||||||
 | 
						eSteamSubscriptionFailed						= 12,	/* Other Error in subscription data or transaction failed/lost */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardAVSFailure			= 13,	/* Card failed Address Verification check */
 | 
				
			||||||
 | 
						eSteamSubscriptionPaymentCardInsufficientFunds	= 14,	/* Card failed due to insufficient funds */
 | 
				
			||||||
 | 
						eSteamSubscriptionRestrictedCountry				= 15	/* The subscription is not available in the user's country */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamSubscriptionStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamPaymentCardType	eCardType;
 | 
				
			||||||
 | 
						char szCardLastFourDigits[ 4 + 1 ];
 | 
				
			||||||
 | 
						char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
 | 
				
			||||||
 | 
						char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
 | 
				
			||||||
 | 
						char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// The following are only available after the subscription leaves "pending" status
 | 
				
			||||||
 | 
						char szCardApprovalCode[ STEAM_BILLING_CARD_APPROVAL_CODE_SIZE + 1];
 | 
				
			||||||
 | 
						char szTransDate[ STEAM_BILLING_TRANS_DATE_SIZE	+ 1];	/* mm/dd/yy */
 | 
				
			||||||
 | 
						char szTransTime[ STEAM_BILLING_TRANS_TIME_SIZE	+ 1];	/* hh:mm:ss */
 | 
				
			||||||
 | 
						unsigned int uPriceWithoutTax;
 | 
				
			||||||
 | 
						unsigned int uTaxAmount;
 | 
				
			||||||
 | 
						unsigned int uShippingCost;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamPaymentCardReceiptInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						char szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
 | 
				
			||||||
 | 
					} TSteamPrepurchaseReceiptInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ESteamSubscriptionStatus			eStatus;
 | 
				
			||||||
 | 
						ESteamSubscriptionStatus			ePreviousStatus;
 | 
				
			||||||
 | 
						ESteamSubscriptionBillingInfoType	eReceiptInfoType;
 | 
				
			||||||
 | 
						char szConfirmationCode[ STEAM_BILLING_CONFIRMATION_CODE_SIZE +	1];
 | 
				
			||||||
 | 
						union {
 | 
				
			||||||
 | 
							TSteamPaymentCardReceiptInfo	PaymentCardReceiptInfo;
 | 
				
			||||||
 | 
							TSteamPrepurchaseReceiptInfo	PrepurchaseReceiptInfo;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamSubscriptionReceipt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						ePhysicalBytesReceivedThisSession = 1,
 | 
				
			||||||
 | 
						eAppReadyToLaunchStatus = 2,
 | 
				
			||||||
 | 
						eAppPreloadStatus = 3,
 | 
				
			||||||
 | 
						eAppEntireDepot = 4,
 | 
				
			||||||
 | 
						eCacheBytesPresent = 5
 | 
				
			||||||
 | 
					} ESteamAppUpdateStatsQueryType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						SteamUnsigned64_t uBytesTotal;
 | 
				
			||||||
 | 
						SteamUnsigned64_t uBytesPresent;
 | 
				
			||||||
 | 
					} TSteamUpdateStats;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamUserAdministrator	=	0x00000001, /* May subscribe, unsubscribe, etc */
 | 
				
			||||||
 | 
						eSteamUserDeveloper		=	0x00000002, /* Steam or App developer */
 | 
				
			||||||
 | 
						eSteamUserCyberCafe		=	0x00000004  /* CyberCafe, school, etc -- UI should ask for password */
 | 
				
			||||||
 | 
																/* before allowing logout, unsubscribe, etc             */
 | 
				
			||||||
 | 
					} ESteamUserTypeFlags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum 
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamAccountStatusDefault			=	0x00000000,
 | 
				
			||||||
 | 
						eSteamAccountStatusEmailVerified	=	0x00000001,
 | 
				
			||||||
 | 
						/* Note: Mask value 0x2 is reserved for future use. (Some, but not all, public accounts already have this set.) */
 | 
				
			||||||
 | 
						eSteamAccountDisabled				=	0x00000004
 | 
				
			||||||
 | 
					} ESteamAccountStatusBitFields ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamBootstrapperError						= -1,
 | 
				
			||||||
 | 
						eSteamBootstrapperDontCheckForUpdate		= 0,
 | 
				
			||||||
 | 
						eSteamBootstrapperCheckForUpdateAndRerun	= 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} ESteamBootStrapperClientAppResult;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamOnline = 0,
 | 
				
			||||||
 | 
						eSteamOffline = 1,
 | 
				
			||||||
 | 
						eSteamNoAuthMode = 2,
 | 
				
			||||||
 | 
						eSteamBillingOffline = 3
 | 
				
			||||||
 | 
					} eSteamOfflineStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int eOfflineNow;
 | 
				
			||||||
 | 
						int eOfflineNextSession;
 | 
				
			||||||
 | 
					} TSteamOfflineStatus;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  unsigned int uAppId;
 | 
				
			||||||
 | 
					  int bIsSystemDefined;
 | 
				
			||||||
 | 
					  char szMountPath[STEAM_MAX_PATH];
 | 
				
			||||||
 | 
					} TSteamAppDependencyInfo;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamOpenFileRegular =			0x0,
 | 
				
			||||||
 | 
						eSteamOpenFileIgnoreLocal =		0x1,
 | 
				
			||||||
 | 
						eSteamOpenFileChecksumReads =	0x2
 | 
				
			||||||
 | 
					} ESteamOpenFileFlags;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef enum
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						eSteamValveCDKeyValidationServer = 0,
 | 
				
			||||||
 | 
						eSteamHalfLifeMasterServer = 1,
 | 
				
			||||||
 | 
						eSteamFriendsServer = 2,
 | 
				
			||||||
 | 
						eSteamCSERServer = 3,
 | 
				
			||||||
 | 
						eSteamHalfLife2MasterServer = 4,
 | 
				
			||||||
 | 
						eSteamRDKFMasterServer = 5,
 | 
				
			||||||
 | 
						eMaxServerTypes = 6
 | 
				
			||||||
 | 
					} ESteamServerType;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** More exported constants
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const SteamHandle_t										STEAM_INVALID_HANDLE = 0;
 | 
				
			||||||
 | 
					const SteamCallHandle_t									STEAM_INVALID_CALL_HANDLE = 0;
 | 
				
			||||||
 | 
					const SteamUserIDTicketValidationHandle_t				STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE = 0;
 | 
				
			||||||
 | 
					const unsigned int										STEAM_USE_LATEST_VERSION = 0xFFFFFFFF;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define STEAM_INVALID_HANDLE							((SteamHandle_t)(0))
 | 
				
			||||||
 | 
					#define STEAM_INVALID_CALL_HANDLE						((SteamCallHandle_t)(0))
 | 
				
			||||||
 | 
					#define	STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE	((SteamUserIDTicketValidationHandle_t)(0))
 | 
				
			||||||
 | 
					#define STEAM_USE_LATEST_VERSION						(0xFFFFFFFFu);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					** Each Steam instance (licensed Steam Service Provider) has a unique SteamInstanceID_t.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Each Steam instance as its own DB of users.
 | 
				
			||||||
 | 
					** Each user in the DB has a unique SteamLocalUserID_t (a serial number, with possible 
 | 
				
			||||||
 | 
					** rare gaps in the sequence).
 | 
				
			||||||
 | 
					** 
 | 
				
			||||||
 | 
					******************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef	unsigned short		SteamInstanceID_t;		// MUST be 16 bits
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined ( _WIN32 )
 | 
				
			||||||
 | 
					typedef	unsigned __int64	SteamLocalUserID_t;		// MUST be 64 bits
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
					typedef	unsigned long long	SteamLocalUserID_t;		// MUST be 64 bits
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/******************************************************************************
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** Applications need to be able to authenticate Steam users from ANY instance.
 | 
				
			||||||
 | 
					** So a SteamIDTicket contains SteamGlobalUserID, which is a unique combination of 
 | 
				
			||||||
 | 
					** instance and user id.
 | 
				
			||||||
 | 
					**
 | 
				
			||||||
 | 
					** SteamLocalUserID is an unsigned 64-bit integer.
 | 
				
			||||||
 | 
					** For platforms without 64-bit int support, we provide access via a union that splits it into 
 | 
				
			||||||
 | 
					** high and low unsigned 32-bit ints.  Such platforms will only need to compare LocalUserIDs 
 | 
				
			||||||
 | 
					** for equivalence anyway - not perform arithmetic with them.
 | 
				
			||||||
 | 
					** 
 | 
				
			||||||
 | 
					********************************************************************************/
 | 
				
			||||||
 | 
					typedef struct	
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned int	Low32bits;
 | 
				
			||||||
 | 
						unsigned int	High32bits;
 | 
				
			||||||
 | 
					}	TSteamSplitLocalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						SteamInstanceID_t		m_SteamInstanceID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						union
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							SteamLocalUserID_t		As64bits;
 | 
				
			||||||
 | 
							TSteamSplitLocalUserID	Split;
 | 
				
			||||||
 | 
						}						m_SteamLocalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} TSteamGlobalUserID;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __cplusplus
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
							
								
								
									
										35
									
								
								sp/src/common/userid.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								sp/src/common/userid.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,35 @@
 | 
				
			|||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Purpose: 
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// $NoKeywords: $
 | 
				
			||||||
 | 
					//=============================================================================//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef USERID_H
 | 
				
			||||||
 | 
					#define USERID_H
 | 
				
			||||||
 | 
					#ifdef _WIN32
 | 
				
			||||||
 | 
					#pragma once
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if !defined( INCLUDED_STEAM_STEAMUSERIDTYPES_H )
 | 
				
			||||||
 | 
						#include "SteamCommon.h"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define IDTYPE_WON		0
 | 
				
			||||||
 | 
					#define IDTYPE_STEAM	1
 | 
				
			||||||
 | 
					#define IDTYPE_VALVE	2
 | 
				
			||||||
 | 
					#define IDTYPE_HLTV		3		
 | 
				
			||||||
 | 
					#define IDTYPE_REPLAY	4
 | 
				
			||||||
 | 
					typedef struct USERID_s
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int			idtype;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						union
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TSteamGlobalUserID	steamid;
 | 
				
			||||||
 | 
						} uid;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					//	unsigned int		clientip;
 | 
				
			||||||
 | 
					} USERID_t;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // USERID_H
 | 
				
			||||||
@ -43,6 +43,9 @@ static ConVar youtube_username( "youtube_username", "", FCVAR_ARCHIVE, "Username
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
extern IReplayMovieManager *g_pReplayMovieManager;
 | 
					extern IReplayMovieManager *g_pReplayMovieManager;
 | 
				
			||||||
extern const char *COM_GetModDirectory();
 | 
					extern const char *COM_GetModDirectory();
 | 
				
			||||||
 | 
					extern void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
//-----------------------------------------------------------------------------
 | 
					//-----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -385,42 +388,7 @@ protected:
 | 
				
			|||||||
		const char *pDeveloperTag = NULL;
 | 
							const char *pDeveloperTag = NULL;
 | 
				
			||||||
		const char *pDeveloperKey = NULL;
 | 
							const char *pDeveloperKey = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Team Fortress 2?
 | 
							GetYouTubeAPIKey( pGameDir, bOnSteamPublic, &pSource, &pDeveloperTag, &pDeveloperKey );
 | 
				
			||||||
		if ( FStrEq( pGameDir, "tf" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Team Fortress 2";
 | 
					 | 
				
			||||||
			pDeveloperTag = "TF2";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si6dQGxX2TWkOT9V9ihFpKmokaDhqIw3mgJcnnRFjX5f00HMRXqj69Fg1ulTdYF9Aw4wIt5NYHCxQAXHPPEcbQ89rEaCeg" :
 | 
					 | 
				
			||||||
				"AI39si5q3V-l7DhNbdSn-F2P3l0sUOIOnHBqJC5kvdGsuwpIinmcOH5GFC1PGG0olcZM2ID0Fvbsodj6g0pOUkKhuRNxcEErLQ";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Team Fortress 2 Beta?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "tf_beta" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Team Fortress 2 Beta";
 | 
					 | 
				
			||||||
			pDeveloperTag = "TF2";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si7XuLuXg3-2T06aVUaM-45HSXYFqzXfyPR6y5K4XotWKf78lfCByXnD1T8Kj9jeIR85NelpjGYGsH8pR3RO4k3TrwlTbw" :
 | 
					 | 
				
			||||||
				"AI39si79TOshUv9FcIT6cjEH0Q9KK_eEOH1q6-_lIdNIsmHrKcal1R8Uf0TzMhdq-rQ7iUEZ3uqSKlLXa2J-lQvuKwNq5SSnMA";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Counter-Strike: Source?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "cstrike" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Counter-Strike: Source";
 | 
					 | 
				
			||||||
			pDeveloperTag = "CSS";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si7JIn2nj67YoxWPzmsGHO2R-WSpN0su1f3-BF9lVC5jWz9DEOPbOxFz-MiXuaMtoCZnS3nSPjwGfqHenXC6RKGcICI5HQ" :
 | 
					 | 
				
			||||||
				"AI39si4bpW1q3D0gcWWNWFNHjHgsM7YL3RGCdEAIKV2k_mH5Cwj-YwXinVv933tFhy-6583HcuZ8NWTrvfbB8XTWEI-hYidEjA";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		// Counter-Strike: Source Beta?
 | 
					 | 
				
			||||||
		else if ( FStrEq( pGameDir, "cstrike_beta" ) )
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			pSource = "Counter-Strike: Source Beta";
 | 
					 | 
				
			||||||
			pDeveloperTag = "CSS";
 | 
					 | 
				
			||||||
			pDeveloperKey = bOnSteamPublic ?
 | 
					 | 
				
			||||||
				"AI39si5JUyCvGdavFg02OusWk9lkSxkpEX99KnJCjTwOzLJH7N9MS40YMFk-o8dTwyO0w2Qi2CSU8qrB4bdTohHj35mAa0iMDQ" :
 | 
					 | 
				
			||||||
				"AI39si4Oq2O35MHD5qahqODCKQfsssq5STE6ISolJKsvFuxtPpqhG4sQbDF8pGdZ02c-_s5KRB5nhTjqZMLB4h0lKKHh8I52Tg";
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Assert( pSource );
 | 
							Assert( pSource );
 | 
				
			||||||
		Assert( pDeveloperTag );
 | 
							Assert( pDeveloperTag );
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										16
									
								
								sp/src/game/client/replay/replayyoutubeapi_key_sdk.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								sp/src/game/client/replay/replayyoutubeapi_key_sdk.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					//========= Copyright Valve Corporation, All rights reserved. ============//
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					// Purpose:
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					//=============================================================================//
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "cbase.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						// Put your YouTube Developer key here if you're going to upload videos to YouTube
 | 
				
			||||||
 | 
						*ppSource = "your Mod Name";
 | 
				
			||||||
 | 
						*ppDeveloperTag = "Your mod tag";
 | 
				
			||||||
 | 
						*ppDeveloperKey = "Your mod's developer key";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user