Fixed various missing files
authorJoe Ludwig <joe@valvesoftware.com>
Thu Jun 27 14:27:15 2013 -0700 (2013-06-27)
changeset 11da208a76911
parent 0 96a5fce1fd6f
child 2 6495f1ca2cf7
child 4 5a58d2ca5031
Fixed various missing files
EverythingMP_SDK-2010.sln
common/SteamCommon.h
common/userid.h
game/client/replay/replayyoutubeapi.cpp
game/client/replay/replayyoutubeapi_key_sdk.cpp
lib/public/appframework.lib
lib/public/matsys_controls.lib
lib/public/particles.lib
lib/public/tier1.lib
lib/public/tier3.lib
lib/public/vgui_controls.lib
lib/public/vstdlib.lib
public/tier1/ilocalize.h
     1.1 --- a/EverythingMP_SDK-2010.sln	Wed Jun 26 15:22:04 2013 -0700
     1.2 +++ b/EverythingMP_SDK-2010.sln	Thu Jun 27 14:27:15 2013 -0700
     1.3 @@ -1,13 +1,6 @@
     1.4  
     1.5  Microsoft Visual Studio Solution File, Format Version 11.00
     1.6  # Visual Studio 2010
     1.7 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2)", "game\client\client_hl2-2010.vcxproj", "{09E5D61D-4897-7B98-288B-C87442D14BFF}"
     1.8 -	ProjectSection(ProjectDependencies) = postProject
     1.9 -		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
    1.10 -		{F69B3672-C5E8-CD1A-257F-253A25B5B939} = {F69B3672-C5E8-CD1A-257F-253A25B5B939}
    1.11 -		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
    1.12 -	EndProjectSection
    1.13 -EndProject
    1.14  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (HL2MP)", "game\client\client_hl2mp-2010.vcxproj", "{17BCE59A-9037-EC8D-433E-F81339E2F1BA}"
    1.15  	ProjectSection(ProjectDependencies) = postProject
    1.16  		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
    1.17 @@ -15,12 +8,6 @@
    1.18  		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
    1.19  	EndProjectSection
    1.20  EndProject
    1.21 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2)", "game\server\server_hl2-2010.vcxproj", "{C3EE918E-6836-5578-1FA2-5703048552B9}"
    1.22 -	ProjectSection(ProjectDependencies) = postProject
    1.23 -		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
    1.24 -		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
    1.25 -	EndProjectSection
    1.26 -EndProject
    1.27  Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (HL2MP)", "game\server\server_hl2mp-2010.vcxproj", "{33B7DFDC-BECB-3678-1190-6C951E393EB3}"
    1.28  	ProjectSection(ProjectDependencies) = postProject
    1.29  		{EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC} = {EC1C516D-E1D9-BC0A-F79D-E91E954ED8EC}
    1.30 @@ -129,28 +116,16 @@
    1.31  		{BAB92FF0-D72A-D7E5-1988-74628D39B94F} = {BAB92FF0-D72A-D7E5-1988-74628D39B94F}
    1.32  	EndProjectSection
    1.33  EndProject
    1.34 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Client (Episodic)", "game\client\client_episodic-2010.vcxproj", "{353A799F-E73F-7A69-07AD-B2AD57F3B775}"
    1.35 -EndProject
    1.36 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Server (Episodic)", "game\server\server_episodic-2010.vcxproj", "{7855B476-B6D4-535D-F7A9-D623245F8B07}"
    1.37 -EndProject
    1.38  Global
    1.39  	GlobalSection(SolutionConfigurationPlatforms) = preSolution
    1.40  		Debug|Win32 = Debug|Win32
    1.41  		Release|Win32 = Release|Win32
    1.42  	EndGlobalSection
    1.43  	GlobalSection(ProjectConfigurationPlatforms) = postSolution
    1.44 -		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.ActiveCfg = Debug|Win32
    1.45 -		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Debug|Win32.Build.0 = Debug|Win32
    1.46 -		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.ActiveCfg = Release|Win32
    1.47 -		{09E5D61D-4897-7B98-288B-C87442D14BFF}.Release|Win32.Build.0 = Release|Win32
    1.48  		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.ActiveCfg = Debug|Win32
    1.49  		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Debug|Win32.Build.0 = Debug|Win32
    1.50  		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.ActiveCfg = Release|Win32
    1.51  		{17BCE59A-9037-EC8D-433E-F81339E2F1BA}.Release|Win32.Build.0 = Release|Win32
    1.52 -		{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.ActiveCfg = Debug|Win32
    1.53 -		{C3EE918E-6836-5578-1FA2-5703048552B9}.Debug|Win32.Build.0 = Debug|Win32
    1.54 -		{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.ActiveCfg = Release|Win32
    1.55 -		{C3EE918E-6836-5578-1FA2-5703048552B9}.Release|Win32.Build.0 = Release|Win32
    1.56  		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.ActiveCfg = Debug|Win32
    1.57  		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Debug|Win32.Build.0 = Debug|Win32
    1.58  		{33B7DFDC-BECB-3678-1190-6C951E393EB3}.Release|Win32.ActiveCfg = Release|Win32
    1.59 @@ -231,14 +206,6 @@
    1.60  		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Debug|Win32.Build.0 = Debug|Win32
    1.61  		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.ActiveCfg = Release|Win32
    1.62  		{F69B3672-C5E8-CD1A-257F-253A25B5B939}.Release|Win32.Build.0 = Release|Win32
    1.63 -		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.ActiveCfg = Debug|Win32
    1.64 -		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Debug|Win32.Build.0 = Debug|Win32
    1.65 -		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.ActiveCfg = Release|Win32
    1.66 -		{353A799F-E73F-7A69-07AD-B2AD57F3B775}.Release|Win32.Build.0 = Release|Win32
    1.67 -		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.ActiveCfg = Debug|Win32
    1.68 -		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Debug|Win32.Build.0 = Debug|Win32
    1.69 -		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.ActiveCfg = Release|Win32
    1.70 -		{7855B476-B6D4-535D-F7A9-D623245F8B07}.Release|Win32.Build.0 = Release|Win32
    1.71  	EndGlobalSection
    1.72  	GlobalSection(SolutionProperties) = preSolution
    1.73  		HideSolutionNode = FALSE
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/common/SteamCommon.h	Thu Jun 27 14:27:15 2013 -0700
     2.3 @@ -0,0 +1,703 @@
     2.4 +
     2.5 +//========= Copyright Valve Corporation, All rights reserved. ============//
     2.6 +/*
     2.7 +** The copyright to the contents herein is the property of Valve Corporation.
     2.8 +** The contents may be used and/or copied only with the written permission of
     2.9 +** Valve, or in accordance with the terms and conditions stipulated in
    2.10 +** the agreement/contract under which the contents have been supplied.
    2.11 +**
    2.12 +*******************************************************************************
    2.13 +**
    2.14 +** Contents:
    2.15 +**
    2.16 +**		Common types used in the Steam DLL interface.
    2.17 +**
    2.18 +**		This file is distributed to Steam application developers.
    2.19 +**
    2.20 +**		
    2.21 +**
    2.22 +*******************************************************************************/
    2.23 +
    2.24 +#ifndef INCLUDED_STEAM_COMMON_STEAMCOMMON_H
    2.25 +#define INCLUDED_STEAM_COMMON_STEAMCOMMON_H
    2.26 +
    2.27 +#if defined(_MSC_VER) && (_MSC_VER > 1000)
    2.28 +#pragma once
    2.29 +#endif
    2.30 +
    2.31 +
    2.32 +#ifdef __cplusplus
    2.33 +extern "C"
    2.34 +{
    2.35 +#endif
    2.36 +
    2.37 +/* Applications should not define STEAM_EXPORTS. */
    2.38 +
    2.39 +#if defined ( _WIN32 )
    2.40 +
    2.41 +#ifdef STEAM_EXPORTS
    2.42 +#define STEAM_API __declspec(dllexport)
    2.43 +#else
    2.44 +#define STEAM_API __declspec(dllimport)
    2.45 +#endif
    2.46 +
    2.47 +#define STEAM_CALL __cdecl
    2.48 +
    2.49 +#else
    2.50 +
    2.51 +#define STEAM_API /* */
    2.52 +#define STEAM_CALL /* */
    2.53 +
    2.54 +#endif
    2.55 +
    2.56 +typedef void (STEAM_CALL  *KeyValueIteratorCallback_t )(const char *Key, const char *Val, void *pvParam);
    2.57 +
    2.58 +
    2.59 +/******************************************************************************
    2.60 +**
    2.61 +** Exported macros and constants
    2.62 +**
    2.63 +******************************************************************************/
    2.64 +
    2.65 +/* DEPRECATED -- these are ignored now, all API access is granted on SteamStartup */
    2.66 +#define STEAM_USING_FILESYSTEM							(0x00000001)
    2.67 +#define STEAM_USING_LOGGING								(0x00000002)
    2.68 +#define STEAM_USING_USERID								(0x00000004)
    2.69 +#define STEAM_USING_ACCOUNT								(0x00000008)
    2.70 +#define STEAM_USING_ALL									(0x0000000f)
    2.71 +/* END DEPRECATED */
    2.72 +
    2.73 +#define STEAM_MAX_PATH									(255)
    2.74 +#define STEAM_QUESTION_MAXLEN							(255)
    2.75 +#define STEAM_SALT_SIZE									(8)
    2.76 +#define STEAM_PROGRESS_PERCENT_SCALE					(0x00001000)
    2.77 +
    2.78 +/* These are maximum significant string lengths, excluding nul-terminator. */
    2.79 +#define STEAM_CARD_NUMBER_SIZE							(17)
    2.80 +#define STEAM_CARD_HOLDERNAME_SIZE						(100)
    2.81 +#define STEAM_CARD_EXPYEAR_SIZE							(4)
    2.82 +#define STEAM_CARD_EXPMONTH_SIZE						(2)
    2.83 +#define STEAM_CARD_CVV2_SIZE							(5)
    2.84 +#define STEAM_BILLING_ADDRESS1_SIZE						(128)
    2.85 +#define STEAM_BILLING_ADDRESS2_SIZE						(128)
    2.86 +#define STEAM_BILLING_CITY_SIZE							(50)
    2.87 +#define STEAM_BILLING_ZIP_SIZE							(16)
    2.88 +#define STEAM_BILLING_STATE_SIZE						(32)
    2.89 +#define STEAM_BILLING_COUNTRY_SIZE						(32)
    2.90 +#define STEAM_BILLING_PHONE_SIZE						(20)
    2.91 +#define STEAM_BILLING_EMAIL_ADDRESS_SIZE				(100)
    2.92 +#define STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE			(20)
    2.93 +#define STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE				(200)
    2.94 +#define STEAM_EXTERNAL_ACCOUNTNAME_SIZE					(100)
    2.95 +#define STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE				(80)
    2.96 +#define STEAM_BILLING_CONFIRMATION_CODE_SIZE			(22)
    2.97 +#define STEAM_BILLING_CARD_APPROVAL_CODE_SIZE			(100)
    2.98 +#define STEAM_BILLING_TRANS_DATE_SIZE					(9) // mm/dd/yy
    2.99 +#define STEAM_BILLING_TRANS_TIME_SIZE					(9) // hh:mm:ss
   2.100 +
   2.101 +/******************************************************************************
   2.102 +**
   2.103 +** Scalar type and enumerated type definitions.
   2.104 +**
   2.105 +******************************************************************************/
   2.106 +
   2.107 +
   2.108 +typedef unsigned int SteamHandle_t;
   2.109 +
   2.110 +typedef void * SteamUserIDTicketValidationHandle_t;
   2.111 +
   2.112 +typedef unsigned int SteamCallHandle_t;
   2.113 +
   2.114 +#if defined(_MSC_VER)
   2.115 +typedef unsigned __int64	SteamUnsigned64_t;
   2.116 +#else
   2.117 +typedef unsigned long long	SteamUnsigned64_t;
   2.118 +#endif
   2.119 +
   2.120 +typedef enum
   2.121 +{
   2.122 +	eSteamSeekMethodSet = 0,
   2.123 +	eSteamSeekMethodCur = 1,
   2.124 +	eSteamSeekMethodEnd = 2
   2.125 +} ESteamSeekMethod;
   2.126 +
   2.127 +typedef enum
   2.128 +{
   2.129 +	eSteamBufferMethodFBF = 0,
   2.130 +	eSteamBufferMethodNBF = 1
   2.131 +} ESteamBufferMethod;
   2.132 +
   2.133 +typedef enum
   2.134 +{
   2.135 +	eSteamErrorNone													= 0,
   2.136 +	eSteamErrorUnknown												= 1,
   2.137 +	eSteamErrorLibraryNotInitialized								= 2,
   2.138 +	eSteamErrorLibraryAlreadyInitialized							= 3,
   2.139 +	eSteamErrorConfig												= 4,
   2.140 +	eSteamErrorContentServerConnect									= 5,
   2.141 +	eSteamErrorBadHandle											= 6,
   2.142 +	eSteamErrorHandlesExhausted										= 7,
   2.143 +	eSteamErrorBadArg												= 8,
   2.144 +	eSteamErrorNotFound												= 9,
   2.145 +	eSteamErrorRead													= 10,
   2.146 +	eSteamErrorEOF													= 11,
   2.147 +	eSteamErrorSeek													= 12,
   2.148 +	eSteamErrorCannotWriteNonUserConfigFile							= 13,
   2.149 +	eSteamErrorCacheOpen											= 14,
   2.150 +	eSteamErrorCacheRead											= 15,
   2.151 +	eSteamErrorCacheCorrupted										= 16,
   2.152 +	eSteamErrorCacheWrite											= 17,
   2.153 +	eSteamErrorCacheSession											= 18,
   2.154 +	eSteamErrorCacheInternal										= 19,
   2.155 +	eSteamErrorCacheBadApp											= 20,
   2.156 +	eSteamErrorCacheVersion											= 21,
   2.157 +	eSteamErrorCacheBadFingerPrint									= 22,
   2.158 +
   2.159 +	eSteamErrorNotFinishedProcessing								= 23,
   2.160 +	eSteamErrorNothingToDo											= 24,
   2.161 +	eSteamErrorCorruptEncryptedUserIDTicket							= 25,
   2.162 +	eSteamErrorSocketLibraryNotInitialized							= 26,
   2.163 +	eSteamErrorFailedToConnectToUserIDTicketValidationServer		= 27,
   2.164 +	eSteamErrorBadProtocolVersion									= 28,
   2.165 +	eSteamErrorReplayedUserIDTicketFromClient						= 29,
   2.166 +	eSteamErrorReceiveResultBufferTooSmall							= 30,
   2.167 +	eSteamErrorSendFailed											= 31,
   2.168 +	eSteamErrorReceiveFailed										= 32,
   2.169 +	eSteamErrorReplayedReplyFromUserIDTicketValidationServer		= 33,
   2.170 +	eSteamErrorBadSignatureFromUserIDTicketValidationServer			= 34,
   2.171 +	eSteamErrorValidationStalledSoAborted							= 35,
   2.172 +	eSteamErrorInvalidUserIDTicket									= 36,
   2.173 +	eSteamErrorClientLoginRateTooHigh								= 37,
   2.174 +	eSteamErrorClientWasNeverValidated								= 38,
   2.175 +	eSteamErrorInternalSendBufferTooSmall							= 39,
   2.176 +	eSteamErrorInternalReceiveBufferTooSmall						= 40,
   2.177 +	eSteamErrorUserTicketExpired									= 41,
   2.178 +	eSteamErrorCDKeyAlreadyInUseOnAnotherClient						= 42,
   2.179 +
   2.180 +	eSteamErrorNotLoggedIn											= 101,
   2.181 +	eSteamErrorAlreadyExists										= 102,
   2.182 +	eSteamErrorAlreadySubscribed									= 103,
   2.183 +	eSteamErrorNotSubscribed										= 104,
   2.184 +	eSteamErrorAccessDenied											= 105,
   2.185 +	eSteamErrorFailedToCreateCacheFile								= 106,
   2.186 +	eSteamErrorCallStalledSoAborted									= 107,
   2.187 +	eSteamErrorEngineNotRunning										= 108,
   2.188 +	eSteamErrorEngineConnectionLost									= 109,
   2.189 +	eSteamErrorLoginFailed											= 110,
   2.190 +	eSteamErrorAccountPending										= 111,
   2.191 +	eSteamErrorCacheWasMissingRetry									= 112,
   2.192 +	eSteamErrorLocalTimeIncorrect									= 113,
   2.193 +	eSteamErrorCacheNeedsDecryption									= 114,
   2.194 +	eSteamErrorAccountDisabled										= 115,
   2.195 +	eSteamErrorCacheNeedsRepair										= 116,
   2.196 +	eSteamErrorRebootRequired										= 117,
   2.197 +
   2.198 +	eSteamErrorNetwork												= 200,
   2.199 +	eSteamErrorOffline												= 201
   2.200 +
   2.201 +
   2.202 +} ESteamError;
   2.203 +
   2.204 +
   2.205 +typedef enum
   2.206 +{
   2.207 +	eNoDetailedErrorAvailable,
   2.208 +	eStandardCerrno,
   2.209 +	eWin32LastError,
   2.210 +	eWinSockLastError,
   2.211 +	eDetailedPlatformErrorCount
   2.212 +} EDetailedPlatformErrorType;
   2.213 +
   2.214 +typedef enum						/* Filter elements returned by SteamFind{First,Next} */
   2.215 +{
   2.216 +	eSteamFindLocalOnly,			/* limit search to local filesystem */
   2.217 +	eSteamFindRemoteOnly,			/* limit search to remote repository */
   2.218 +	eSteamFindAll					/* do not limit search (duplicates allowed) */
   2.219 +} ESteamFindFilter;
   2.220 +
   2.221 +
   2.222 +/******************************************************************************
   2.223 +**
   2.224 +** Exported structure and complex type definitions.
   2.225 +**
   2.226 +******************************************************************************/
   2.227 +
   2.228 +
   2.229 +typedef struct
   2.230 +{
   2.231 +	ESteamError eSteamError;
   2.232 +	EDetailedPlatformErrorType eDetailedErrorType;
   2.233 +	int nDetailedErrorCode;
   2.234 +	char szDesc[STEAM_MAX_PATH];
   2.235 +} TSteamError;
   2.236 +
   2.237 +
   2.238 +
   2.239 +typedef struct
   2.240 +{
   2.241 +	int bIsDir;						/* If non-zero, element is a directory; if zero, element is a file */
   2.242 +	unsigned int uSizeOrCount;		/* If element is a file, this contains size of file in bytes */
   2.243 +	int bIsLocal;					/* If non-zero, reported item is a standalone element on local filesystem */
   2.244 +	char cszName[STEAM_MAX_PATH];	/* Base element name (no path) */
   2.245 +	long lLastAccessTime;			/* Seconds since 1/1/1970 (like time_t) when element was last accessed */
   2.246 +	long lLastModificationTime;		/* Seconds since 1/1/1970 (like time_t) when element was last modified */
   2.247 +	long lCreationTime;				/* Seconds since 1/1/1970 (like time_t) when element was created */
   2.248 +} TSteamElemInfo;
   2.249 +
   2.250 +
   2.251 +typedef struct
   2.252 +{
   2.253 +	unsigned int uNumSubscriptions;
   2.254 +	unsigned int uMaxNameChars;
   2.255 +	unsigned int uMaxApps;
   2.256 +
   2.257 +} TSteamSubscriptionStats;
   2.258 +
   2.259 +
   2.260 +typedef struct
   2.261 +{
   2.262 +	unsigned int uNumApps;
   2.263 +	unsigned int uMaxNameChars;
   2.264 +	unsigned int uMaxInstallDirNameChars;
   2.265 +	unsigned int uMaxVersionLabelChars;
   2.266 +	unsigned int uMaxLaunchOptions;
   2.267 +	unsigned int uMaxLaunchOptionDescChars;
   2.268 +	unsigned int uMaxLaunchOptionCmdLineChars;
   2.269 +	unsigned int uMaxNumIcons;
   2.270 +	unsigned int uMaxIconSize;
   2.271 +	unsigned int uMaxDependencies;
   2.272 +
   2.273 +} TSteamAppStats;
   2.274 +
   2.275 +typedef struct
   2.276 +{
   2.277 +	char *szLabel;
   2.278 +	unsigned int uMaxLabelChars;
   2.279 +	unsigned int uVersionId;
   2.280 +	int bIsNotAvailable;
   2.281 +} TSteamAppVersion;
   2.282 +
   2.283 +typedef struct
   2.284 +{
   2.285 +	char *szDesc;
   2.286 +	unsigned int uMaxDescChars;
   2.287 +	char *szCmdLine;
   2.288 +	unsigned int uMaxCmdLineChars;
   2.289 +	unsigned int uIndex;
   2.290 +	unsigned int uIconIndex;
   2.291 +	int bNoDesktopShortcut;
   2.292 +	int bNoStartMenuShortcut;
   2.293 +	int bIsLongRunningUnattended;
   2.294 +
   2.295 +} TSteamAppLaunchOption;
   2.296 +
   2.297 +
   2.298 +typedef struct
   2.299 +{
   2.300 +	char *szName;
   2.301 +	unsigned int uMaxNameChars;
   2.302 +	char *szLatestVersionLabel;
   2.303 +	unsigned int uMaxLatestVersionLabelChars;
   2.304 +	char *szCurrentVersionLabel;
   2.305 +	unsigned int uMaxCurrentVersionLabelChars;
   2.306 +	char *szInstallDirName;
   2.307 +	unsigned int uMaxInstallDirNameChars;
   2.308 +	unsigned int uId;
   2.309 +	unsigned int uLatestVersionId;
   2.310 +	unsigned int uCurrentVersionId;
   2.311 +	unsigned int uMinCacheFileSizeMB;
   2.312 +	unsigned int uMaxCacheFileSizeMB;
   2.313 +	unsigned int uNumLaunchOptions;
   2.314 +	unsigned int uNumIcons;
   2.315 +	unsigned int uNumVersions;
   2.316 +	unsigned int uNumDependencies;
   2.317 +
   2.318 +} TSteamApp;
   2.319 +
   2.320 +typedef enum 
   2.321 +{
   2.322 +	eNoCost				= 0,
   2.323 +	eBillOnceOnly		= 1,
   2.324 +	eBillMonthly		= 2,
   2.325 +	eProofOfPrepurchaseOnly	= 3,
   2.326 +	eGuestPass			= 4,
   2.327 +	eHardwarePromo		= 5,
   2.328 +	eNumBillingTypes,
   2.329 +} EBillingType;
   2.330 +
   2.331 +typedef struct
   2.332 +{
   2.333 +	char *szName;
   2.334 +	unsigned int uMaxNameChars;
   2.335 +	unsigned int *puAppIds;
   2.336 +	unsigned int uMaxAppIds;
   2.337 +	unsigned int uId;
   2.338 +	unsigned int uNumApps;
   2.339 +	EBillingType eBillingType;
   2.340 +	unsigned int uCostInCents;
   2.341 +	unsigned int uNumDiscounts;
   2.342 +	int bIsPreorder;
   2.343 +	int bRequiresShippingAddress;
   2.344 +	unsigned int uDomesticShippingCostInCents;
   2.345 +	unsigned int uInternationalShippingCostInCents;
   2.346 +	bool bIsCyberCafeSubscription;
   2.347 +	unsigned int uGameCode;
   2.348 +	char szGameCodeDesc[STEAM_MAX_PATH];
   2.349 +	bool bIsDisabled;
   2.350 +	bool bRequiresCD;
   2.351 +	unsigned int uTerritoryCode;
   2.352 +	bool bIsSteam3Subscription;
   2.353 +
   2.354 +} TSteamSubscription;
   2.355 +
   2.356 +typedef struct
   2.357 +{
   2.358 +	char szName[STEAM_MAX_PATH];
   2.359 +	unsigned int uDiscountInCents;
   2.360 +	unsigned int uNumQualifiers;
   2.361 +
   2.362 +} TSteamSubscriptionDiscount;
   2.363 +
   2.364 +typedef struct
   2.365 +{
   2.366 +	char szName[STEAM_MAX_PATH];
   2.367 +	unsigned int uRequiredSubscription;
   2.368 +	int bIsDisqualifier;
   2.369 +
   2.370 +} TSteamDiscountQualifier;
   2.371 +
   2.372 +typedef struct TSteamProgress
   2.373 +{
   2.374 +	int bValid;                      /* non-zero if call provides progress info */
   2.375 +	unsigned int uPercentDone;       /* 0 to 100 * STEAM_PROGRESS_PERCENT_SCALE if bValid */
   2.376 +	char szProgress[STEAM_MAX_PATH]; /* additional progress info */
   2.377 +} TSteamProgress;
   2.378 +
   2.379 +typedef enum
   2.380 +{
   2.381 +	eSteamNotifyTicketsWillExpire,
   2.382 +	eSteamNotifyAccountInfoChanged,
   2.383 +	eSteamNotifyContentDescriptionChanged,
   2.384 +	eSteamNotifyPleaseShutdown,
   2.385 +	eSteamNotifyNewContentServer,
   2.386 +	eSteamNotifySubscriptionStatusChanged,
   2.387 +	eSteamNotifyContentServerConnectionLost,
   2.388 +	eSteamNotifyCacheLoadingCompleted,
   2.389 +	eSteamNotifyCacheNeedsDecryption,
   2.390 +	eSteamNotifyCacheNeedsRepair
   2.391 +} ESteamNotificationCallbackEvent;
   2.392 +
   2.393 +
   2.394 +typedef void(*SteamNotificationCallback_t)(ESteamNotificationCallbackEvent eEvent, unsigned int nData);
   2.395 +
   2.396 +
   2.397 +typedef char SteamPersonalQuestion_t[ STEAM_QUESTION_MAXLEN + 1 ];
   2.398 +
   2.399 +typedef struct
   2.400 +{
   2.401 +	unsigned char uchSalt[STEAM_SALT_SIZE];
   2.402 +} SteamSalt_t;
   2.403 +
   2.404 +typedef enum
   2.405 +{
   2.406 +	eVisa				= 1,
   2.407 +	eMaster				= 2,
   2.408 +	eAmericanExpress	= 3,
   2.409 +	eDiscover			= 4,
   2.410 +	eDinnersClub		= 5,
   2.411 +	eJCB				= 6
   2.412 +} ESteamPaymentCardType;
   2.413 +
   2.414 +typedef struct
   2.415 +{
   2.416 +	ESteamPaymentCardType eCardType;
   2.417 +	char szCardNumber[ STEAM_CARD_NUMBER_SIZE +1 ];
   2.418 +	char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
   2.419 +	char szCardExpYear[ STEAM_CARD_EXPYEAR_SIZE + 1 ];
   2.420 +	char szCardExpMonth[ STEAM_CARD_EXPMONTH_SIZE+ 1 ];
   2.421 +	char szCardCVV2[ STEAM_CARD_CVV2_SIZE + 1 ];
   2.422 +	char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
   2.423 +	char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
   2.424 +	char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
   2.425 +	char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
   2.426 +	char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
   2.427 +	char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
   2.428 +	char szBillingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
   2.429 +	char szBillingEmailAddress[ STEAM_BILLING_EMAIL_ADDRESS_SIZE + 1 ];
   2.430 +	unsigned int uExpectedCostInCents;
   2.431 +	unsigned int uExpectedTaxInCents;
   2.432 +	/* If the TSteamSubscription says that shipping info is required,	*/
   2.433 +	/* then the following fields must be filled out.					*/
   2.434 +	/* If szShippingName is empty, then assumes so are the rest.		*/
   2.435 +	char szShippingName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
   2.436 +	char szShippingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
   2.437 +	char szShippingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
   2.438 +	char szShippingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
   2.439 +	char szShippingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
   2.440 +	char szShippingState[ STEAM_BILLING_STATE_SIZE + 1 ];
   2.441 +	char szShippingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
   2.442 +	char szShippingPhone[ STEAM_BILLING_PHONE_SIZE + 1 ];
   2.443 +	unsigned int uExpectedShippingCostInCents;
   2.444 +
   2.445 +} TSteamPaymentCardInfo;
   2.446 +
   2.447 +typedef struct
   2.448 +{
   2.449 +	char					szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
   2.450 +
   2.451 +	/* A ProofOfPurchase token is not necessarily a nul-terminated string; it may be binary data
   2.452 +	   (perhaps encrypted). Hence we need a length and an array of bytes.							*/
   2.453 +	unsigned int			uLengthOfBinaryProofOfPurchaseToken;	
   2.454 +	char					cBinaryProofOfPurchaseToken[ STEAM_PROOF_OF_PURCHASE_TOKEN_SIZE + 1 ];
   2.455 +} TSteamPrepurchaseInfo;
   2.456 +
   2.457 +typedef struct
   2.458 +{
   2.459 +	char szAccountName[ STEAM_EXTERNAL_ACCOUNTNAME_SIZE + 1 ];
   2.460 +	char szPassword[ STEAM_EXTERNAL_ACCOUNTPASSWORD_SIZE + 1 ];
   2.461 +} TSteamExternalBillingInfo;
   2.462 +
   2.463 +typedef enum
   2.464 +{
   2.465 +	ePaymentCardInfo		= 1,
   2.466 +	ePrepurchasedInfo		= 2,
   2.467 +	eAccountBillingInfo		= 3,
   2.468 +	eExternalBillingInfo	= 4,		/* indirect billing via ISP etc (not supported yet) */
   2.469 +	ePaymentCardReceipt		= 5,
   2.470 +	ePrepurchaseReceipt		= 6,
   2.471 +	eEmptyReceipt			= 7
   2.472 +} ESteamSubscriptionBillingInfoType;
   2.473 +
   2.474 +typedef struct
   2.475 +{
   2.476 +	ESteamSubscriptionBillingInfoType	eBillingInfoType;
   2.477 +	union {
   2.478 +		TSteamPaymentCardInfo			PaymentCardInfo;
   2.479 +		TSteamPrepurchaseInfo			PrepurchaseInfo;
   2.480 +		TSteamExternalBillingInfo		ExternalBillingInfo;
   2.481 +		char							bUseAccountBillingInfo;
   2.482 +	};
   2.483 +
   2.484 +} TSteamSubscriptionBillingInfo;
   2.485 +
   2.486 +typedef enum
   2.487 +{
   2.488 +	/* Subscribed */
   2.489 +	eSteamSubscriptionOK							= 0,	/* Subscribed */
   2.490 +	eSteamSubscriptionPending						= 1,	/* Awaiting	transaction	completion */
   2.491 +	eSteamSubscriptionPreorder						= 2,	/* Is currently	a pre-order */
   2.492 +	eSteamSubscriptionPrepurchaseTransferred		= 3,	/* hop to this account */
   2.493 +	/* Unusbscribed */
   2.494 +	eSteamSubscriptionPrepurchaseInvalid			= 4,	/* Invalid cd-key */
   2.495 +	eSteamSubscriptionPrepurchaseRejected			= 5,	/* hopped out / banned / etc */
   2.496 +	eSteamSubscriptionPrepurchaseRevoked			= 6,	/* hop away from this account */
   2.497 +	eSteamSubscriptionPaymentCardDeclined			= 7,	/* CC txn declined */
   2.498 +	eSteamSubscriptionCancelledByUser				= 8,	/* Cancelled by	client */
   2.499 +	eSteamSubscriptionCancelledByVendor				= 9,	/* Cancelled by us */
   2.500 +	eSteamSubscriptionPaymentCardUseLimit			= 10,	/* Card used too many times, potential fraud */
   2.501 +	eSteamSubscriptionPaymentCardAlert				= 11,	/* Got a "pick up card" or the like from bank */
   2.502 +	eSteamSubscriptionFailed						= 12,	/* Other Error in subscription data or transaction failed/lost */
   2.503 +	eSteamSubscriptionPaymentCardAVSFailure			= 13,	/* Card failed Address Verification check */
   2.504 +	eSteamSubscriptionPaymentCardInsufficientFunds	= 14,	/* Card failed due to insufficient funds */
   2.505 +	eSteamSubscriptionRestrictedCountry				= 15	/* The subscription is not available in the user's country */
   2.506 +
   2.507 +} ESteamSubscriptionStatus;
   2.508 +
   2.509 +typedef struct
   2.510 +{
   2.511 +	ESteamPaymentCardType	eCardType;
   2.512 +	char szCardLastFourDigits[ 4 + 1 ];
   2.513 +	char szCardHolderName[ STEAM_CARD_HOLDERNAME_SIZE + 1];
   2.514 +	char szBillingAddress1[ STEAM_BILLING_ADDRESS1_SIZE + 1 ];
   2.515 +	char szBillingAddress2[ STEAM_BILLING_ADDRESS2_SIZE + 1 ];
   2.516 +	char szBillingCity[ STEAM_BILLING_CITY_SIZE + 1 ];
   2.517 +	char szBillingZip[ STEAM_BILLING_ZIP_SIZE + 1 ];
   2.518 +	char szBillingState[ STEAM_BILLING_STATE_SIZE + 1 ];
   2.519 +	char szBillingCountry[ STEAM_BILLING_COUNTRY_SIZE + 1 ];
   2.520 +
   2.521 +	// The following are only available after the subscription leaves "pending" status
   2.522 +	char szCardApprovalCode[ STEAM_BILLING_CARD_APPROVAL_CODE_SIZE + 1];
   2.523 +	char szTransDate[ STEAM_BILLING_TRANS_DATE_SIZE	+ 1];	/* mm/dd/yy */
   2.524 +	char szTransTime[ STEAM_BILLING_TRANS_TIME_SIZE	+ 1];	/* hh:mm:ss */
   2.525 +	unsigned int uPriceWithoutTax;
   2.526 +	unsigned int uTaxAmount;
   2.527 +	unsigned int uShippingCost;
   2.528 +
   2.529 +} TSteamPaymentCardReceiptInfo;
   2.530 +
   2.531 +typedef struct
   2.532 +{
   2.533 +	char szTypeOfProofOfPurchase[ STEAM_TYPE_OF_PROOF_OF_PURCHASE_SIZE + 1 ];
   2.534 +} TSteamPrepurchaseReceiptInfo;
   2.535 +
   2.536 +typedef struct
   2.537 +{
   2.538 +	ESteamSubscriptionStatus			eStatus;
   2.539 +	ESteamSubscriptionStatus			ePreviousStatus;
   2.540 +	ESteamSubscriptionBillingInfoType	eReceiptInfoType;
   2.541 +	char szConfirmationCode[ STEAM_BILLING_CONFIRMATION_CODE_SIZE +	1];
   2.542 +	union {
   2.543 +		TSteamPaymentCardReceiptInfo	PaymentCardReceiptInfo;
   2.544 +		TSteamPrepurchaseReceiptInfo	PrepurchaseReceiptInfo;
   2.545 +	};
   2.546 +
   2.547 +} TSteamSubscriptionReceipt;
   2.548 +
   2.549 +typedef enum
   2.550 +{
   2.551 +	ePhysicalBytesReceivedThisSession = 1,
   2.552 +	eAppReadyToLaunchStatus = 2,
   2.553 +	eAppPreloadStatus = 3,
   2.554 +	eAppEntireDepot = 4,
   2.555 +	eCacheBytesPresent = 5
   2.556 +} ESteamAppUpdateStatsQueryType;
   2.557 +
   2.558 +typedef struct
   2.559 +{
   2.560 +	SteamUnsigned64_t uBytesTotal;
   2.561 +	SteamUnsigned64_t uBytesPresent;
   2.562 +} TSteamUpdateStats;
   2.563 +
   2.564 +typedef enum
   2.565 +{
   2.566 +	eSteamUserAdministrator	=	0x00000001, /* May subscribe, unsubscribe, etc */
   2.567 +	eSteamUserDeveloper		=	0x00000002, /* Steam or App developer */
   2.568 +	eSteamUserCyberCafe		=	0x00000004  /* CyberCafe, school, etc -- UI should ask for password */
   2.569 +											/* before allowing logout, unsubscribe, etc             */
   2.570 +} ESteamUserTypeFlags;
   2.571 +
   2.572 +typedef enum 
   2.573 +{
   2.574 +	eSteamAccountStatusDefault			=	0x00000000,
   2.575 +	eSteamAccountStatusEmailVerified	=	0x00000001,
   2.576 +	/* Note: Mask value 0x2 is reserved for future use. (Some, but not all, public accounts already have this set.) */
   2.577 +	eSteamAccountDisabled				=	0x00000004
   2.578 +} ESteamAccountStatusBitFields ;
   2.579 +
   2.580 +
   2.581 +typedef enum
   2.582 +{
   2.583 +	eSteamBootstrapperError						= -1,
   2.584 +	eSteamBootstrapperDontCheckForUpdate		= 0,
   2.585 +	eSteamBootstrapperCheckForUpdateAndRerun	= 7
   2.586 +
   2.587 +} ESteamBootStrapperClientAppResult;
   2.588 +
   2.589 +typedef enum
   2.590 +{
   2.591 +	eSteamOnline = 0,
   2.592 +	eSteamOffline = 1,
   2.593 +	eSteamNoAuthMode = 2,
   2.594 +	eSteamBillingOffline = 3
   2.595 +} eSteamOfflineStatus;
   2.596 +
   2.597 +typedef struct
   2.598 +{
   2.599 +	int eOfflineNow;
   2.600 +	int eOfflineNextSession;
   2.601 +} TSteamOfflineStatus;
   2.602 +
   2.603 +typedef struct
   2.604 +{
   2.605 +  unsigned int uAppId;
   2.606 +  int bIsSystemDefined;
   2.607 +  char szMountPath[STEAM_MAX_PATH];
   2.608 +} TSteamAppDependencyInfo;
   2.609 +
   2.610 +typedef enum
   2.611 +{
   2.612 +	eSteamOpenFileRegular =			0x0,
   2.613 +	eSteamOpenFileIgnoreLocal =		0x1,
   2.614 +	eSteamOpenFileChecksumReads =	0x2
   2.615 +} ESteamOpenFileFlags;
   2.616 +
   2.617 +typedef enum
   2.618 +{
   2.619 +	eSteamValveCDKeyValidationServer = 0,
   2.620 +	eSteamHalfLifeMasterServer = 1,
   2.621 +	eSteamFriendsServer = 2,
   2.622 +	eSteamCSERServer = 3,
   2.623 +	eSteamHalfLife2MasterServer = 4,
   2.624 +	eSteamRDKFMasterServer = 5,
   2.625 +	eMaxServerTypes = 6
   2.626 +} ESteamServerType;
   2.627 +
   2.628 +/******************************************************************************
   2.629 +**
   2.630 +** More exported constants
   2.631 +**
   2.632 +******************************************************************************/
   2.633 +
   2.634 +
   2.635 +#ifdef __cplusplus
   2.636 +
   2.637 +const SteamHandle_t										STEAM_INVALID_HANDLE = 0;
   2.638 +const SteamCallHandle_t									STEAM_INVALID_CALL_HANDLE = 0;
   2.639 +const SteamUserIDTicketValidationHandle_t				STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE = 0;
   2.640 +const unsigned int										STEAM_USE_LATEST_VERSION = 0xFFFFFFFF;
   2.641 +
   2.642 +#else
   2.643 +
   2.644 +#define STEAM_INVALID_HANDLE							((SteamHandle_t)(0))
   2.645 +#define STEAM_INVALID_CALL_HANDLE						((SteamCallHandle_t)(0))
   2.646 +#define	STEAM_INACTIVE_USERIDTICKET_VALIDATION_HANDLE	((SteamUserIDTicketValidationHandle_t)(0))
   2.647 +#define STEAM_USE_LATEST_VERSION						(0xFFFFFFFFu);
   2.648 +
   2.649 +#endif
   2.650 +
   2.651 +
   2.652 +/******************************************************************************
   2.653 +** Each Steam instance (licensed Steam Service Provider) has a unique SteamInstanceID_t.
   2.654 +**
   2.655 +** Each Steam instance as its own DB of users.
   2.656 +** Each user in the DB has a unique SteamLocalUserID_t (a serial number, with possible 
   2.657 +** rare gaps in the sequence).
   2.658 +** 
   2.659 +******************************************************************************/
   2.660 +
   2.661 +typedef	unsigned short		SteamInstanceID_t;		// MUST be 16 bits
   2.662 +
   2.663 +
   2.664 +#if defined ( _WIN32 )
   2.665 +typedef	unsigned __int64	SteamLocalUserID_t;		// MUST be 64 bits
   2.666 +#else
   2.667 +typedef	unsigned long long	SteamLocalUserID_t;		// MUST be 64 bits
   2.668 +#endif
   2.669 +
   2.670 +/******************************************************************************
   2.671 +**
   2.672 +** Applications need to be able to authenticate Steam users from ANY instance.
   2.673 +** So a SteamIDTicket contains SteamGlobalUserID, which is a unique combination of 
   2.674 +** instance and user id.
   2.675 +**
   2.676 +** SteamLocalUserID is an unsigned 64-bit integer.
   2.677 +** For platforms without 64-bit int support, we provide access via a union that splits it into 
   2.678 +** high and low unsigned 32-bit ints.  Such platforms will only need to compare LocalUserIDs 
   2.679 +** for equivalence anyway - not perform arithmetic with them.
   2.680 +** 
   2.681 +********************************************************************************/
   2.682 +typedef struct	
   2.683 +{
   2.684 +	unsigned int	Low32bits;
   2.685 +	unsigned int	High32bits;
   2.686 +}	TSteamSplitLocalUserID;
   2.687 +
   2.688 +typedef struct
   2.689 +{
   2.690 +	SteamInstanceID_t		m_SteamInstanceID;
   2.691 +
   2.692 +	union
   2.693 +	{
   2.694 +		SteamLocalUserID_t		As64bits;
   2.695 +		TSteamSplitLocalUserID	Split;
   2.696 +	}						m_SteamLocalUserID;
   2.697 +
   2.698 +} TSteamGlobalUserID;
   2.699 +
   2.700 +
   2.701 +#ifdef __cplusplus
   2.702 +}
   2.703 +#endif
   2.704 +
   2.705 +
   2.706 +#endif
     3.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.2 +++ b/common/userid.h	Thu Jun 27 14:27:15 2013 -0700
     3.3 @@ -0,0 +1,35 @@
     3.4 +//========= Copyright Valve Corporation, All rights reserved. ============//
     3.5 +//
     3.6 +// Purpose: 
     3.7 +//
     3.8 +// $NoKeywords: $
     3.9 +//=============================================================================//
    3.10 +
    3.11 +#ifndef USERID_H
    3.12 +#define USERID_H
    3.13 +#ifdef _WIN32
    3.14 +#pragma once
    3.15 +#endif
    3.16 +
    3.17 +#if !defined( INCLUDED_STEAM_STEAMUSERIDTYPES_H )
    3.18 +	#include "SteamCommon.h"
    3.19 +#endif
    3.20 +
    3.21 +#define IDTYPE_WON		0
    3.22 +#define IDTYPE_STEAM	1
    3.23 +#define IDTYPE_VALVE	2
    3.24 +#define IDTYPE_HLTV		3		
    3.25 +#define IDTYPE_REPLAY	4
    3.26 +typedef struct USERID_s
    3.27 +{
    3.28 +	int			idtype;
    3.29 +
    3.30 +	union
    3.31 +	{
    3.32 +		TSteamGlobalUserID	steamid;
    3.33 +	} uid;
    3.34 +
    3.35 +//	unsigned int		clientip;
    3.36 +} USERID_t;
    3.37 +
    3.38 +#endif // USERID_H
     4.1 --- a/game/client/replay/replayyoutubeapi.cpp	Wed Jun 26 15:22:04 2013 -0700
     4.2 +++ b/game/client/replay/replayyoutubeapi.cpp	Thu Jun 27 14:27:15 2013 -0700
     4.3 @@ -43,6 +43,9 @@
     4.4  
     4.5  extern IReplayMovieManager *g_pReplayMovieManager;
     4.6  extern const char *COM_GetModDirectory();
     4.7 +extern void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey );
     4.8 +
     4.9 +
    4.10  
    4.11  //-----------------------------------------------------------------------------
    4.12  
    4.13 @@ -385,42 +388,7 @@
    4.14  		const char *pDeveloperTag = NULL;
    4.15  		const char *pDeveloperKey = NULL;
    4.16  
    4.17 -		// Team Fortress 2?
    4.18 -		if ( FStrEq( pGameDir, "tf" ) )
    4.19 -		{
    4.20 -			pSource = "Team Fortress 2";
    4.21 -			pDeveloperTag = "TF2";
    4.22 -			pDeveloperKey = bOnSteamPublic ?
    4.23 -				"AI39si6dQGxX2TWkOT9V9ihFpKmokaDhqIw3mgJcnnRFjX5f00HMRXqj69Fg1ulTdYF9Aw4wIt5NYHCxQAXHPPEcbQ89rEaCeg" :
    4.24 -				"AI39si5q3V-l7DhNbdSn-F2P3l0sUOIOnHBqJC5kvdGsuwpIinmcOH5GFC1PGG0olcZM2ID0Fvbsodj6g0pOUkKhuRNxcEErLQ";
    4.25 -		}
    4.26 -		// Team Fortress 2 Beta?
    4.27 -		else if ( FStrEq( pGameDir, "tf_beta" ) )
    4.28 -		{
    4.29 -			pSource = "Team Fortress 2 Beta";
    4.30 -			pDeveloperTag = "TF2";
    4.31 -			pDeveloperKey = bOnSteamPublic ?
    4.32 -				"AI39si7XuLuXg3-2T06aVUaM-45HSXYFqzXfyPR6y5K4XotWKf78lfCByXnD1T8Kj9jeIR85NelpjGYGsH8pR3RO4k3TrwlTbw" :
    4.33 -				"AI39si79TOshUv9FcIT6cjEH0Q9KK_eEOH1q6-_lIdNIsmHrKcal1R8Uf0TzMhdq-rQ7iUEZ3uqSKlLXa2J-lQvuKwNq5SSnMA";
    4.34 -		}
    4.35 -		// Counter-Strike: Source?
    4.36 -		else if ( FStrEq( pGameDir, "cstrike" ) )
    4.37 -		{
    4.38 -			pSource = "Counter-Strike: Source";
    4.39 -			pDeveloperTag = "CSS";
    4.40 -			pDeveloperKey = bOnSteamPublic ?
    4.41 -				"AI39si7JIn2nj67YoxWPzmsGHO2R-WSpN0su1f3-BF9lVC5jWz9DEOPbOxFz-MiXuaMtoCZnS3nSPjwGfqHenXC6RKGcICI5HQ" :
    4.42 -				"AI39si4bpW1q3D0gcWWNWFNHjHgsM7YL3RGCdEAIKV2k_mH5Cwj-YwXinVv933tFhy-6583HcuZ8NWTrvfbB8XTWEI-hYidEjA";
    4.43 -		}
    4.44 -		// Counter-Strike: Source Beta?
    4.45 -		else if ( FStrEq( pGameDir, "cstrike_beta" ) )
    4.46 -		{
    4.47 -			pSource = "Counter-Strike: Source Beta";
    4.48 -			pDeveloperTag = "CSS";
    4.49 -			pDeveloperKey = bOnSteamPublic ?
    4.50 -				"AI39si5JUyCvGdavFg02OusWk9lkSxkpEX99KnJCjTwOzLJH7N9MS40YMFk-o8dTwyO0w2Qi2CSU8qrB4bdTohHj35mAa0iMDQ" :
    4.51 -				"AI39si4Oq2O35MHD5qahqODCKQfsssq5STE6ISolJKsvFuxtPpqhG4sQbDF8pGdZ02c-_s5KRB5nhTjqZMLB4h0lKKHh8I52Tg";
    4.52 -		}
    4.53 +		GetYouTubeAPIKey( pGameDir, bOnSteamPublic, &pSource, &pDeveloperTag, &pDeveloperKey );
    4.54  
    4.55  		Assert( pSource );
    4.56  		Assert( pDeveloperTag );
     5.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.2 +++ b/game/client/replay/replayyoutubeapi_key_sdk.cpp	Thu Jun 27 14:27:15 2013 -0700
     5.3 @@ -0,0 +1,16 @@
     5.4 +//========= Copyright Valve Corporation, All rights reserved. ============//
     5.5 +//
     5.6 +// Purpose:
     5.7 +//
     5.8 +//=============================================================================//
     5.9 +
    5.10 +#include "cbase.h"
    5.11 +
    5.12 +
    5.13 +void GetYouTubeAPIKey( const char *pGameDir, bool bOnSteamPublic, const char **ppSource, const char **ppDeveloperTag, const char **ppDeveloperKey )
    5.14 +{
    5.15 +	// Put your YouTube Developer key here if you're going to upload videos to YouTube
    5.16 +	*ppSource = "your Mod Name";
    5.17 +	*ppDeveloperTag = "Your mod tag";
    5.18 +	*ppDeveloperKey = "Your mod's developer key";
    5.19 +}
     6.1 Binary file lib/public/appframework.lib has changed
     7.1 Binary file lib/public/matsys_controls.lib has changed
     8.1 Binary file lib/public/particles.lib has changed
     9.1 Binary file lib/public/tier1.lib has changed
    10.1 Binary file lib/public/tier3.lib has changed
    11.1 Binary file lib/public/vgui_controls.lib has changed
    12.1 Binary file lib/public/vstdlib.lib has changed
    13.1 --- a/public/tier1/ilocalize.h	Wed Jun 26 15:22:04 2013 -0700
    13.2 +++ b/public/tier1/ilocalize.h	Thu Jun 27 14:27:15 2013 -0700
    13.3 @@ -135,8 +135,11 @@
    13.4  	typedef char locchar_t;
    13.5  
    13.6  	#define loc_snprintf	Q_snprintf
    13.7 +	#define loc_sprintf_safe V_snprintf_safe
    13.8  	#define loc_sncat		Q_strncat
    13.9 +	#define loc_scat_safe	V_strcat_safe
   13.10  	#define loc_sncpy		Q_strncpy
   13.11 +	#define loc_scpy_safe	V_strcpy_safe
   13.12  	#define loc_strlen		Q_strlen
   13.13  	#define LOCCHAR( x )	x
   13.14  
   13.15 @@ -145,8 +148,11 @@
   13.16  	typedef wchar_t locchar_t;
   13.17  
   13.18  	#define loc_snprintf	V_snwprintf
   13.19 +	#define loc_sprintf_safe V_snwprintf_safe
   13.20  	#define loc_sncat		V_wcsncat
   13.21 +	#define loc_scat_safe	V_wcscat_safe
   13.22  	#define loc_sncpy		Q_wcsncpy
   13.23 +	#define loc_scpy_safe	V_wcscpy_safe
   13.24  	#define loc_strlen		Q_wcslen
   13.25  	#define LOCCHAR(x)		L ## x
   13.26