mirror of
https://github.com/ValveSoftware/source-sdk-2013.git
synced 2024-11-21 19:31:14 +00:00
Fixed various missing files
This commit is contained in:
parent
39ed87570b
commit
949bd75a99
24 changed files with 1637 additions and 192 deletions
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
|
||||||
|
|
86
LICENSE
86
LICENSE
|
@ -1,43 +1,43 @@
|
||||||
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.
|
||||||
|
|
||||||
You may, free of charge, download and use the SDK to develop a modified Valve game
|
You may, free of charge, download and use the SDK to develop a modified Valve game
|
||||||
running on the Source engine. You may distribute your modified Valve game in source and
|
running on the Source engine. You may distribute your modified Valve game in source and
|
||||||
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
||||||
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
||||||
|
|
||||||
You may copy, modify, and distribute the SDK and any modifications you make to the
|
You may copy, modify, and distribute the SDK and any modifications you make to the
|
||||||
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
||||||
include this LICENSE file and thirdpartylegalnotices.txt.
|
include this LICENSE file and thirdpartylegalnotices.txt.
|
||||||
|
|
||||||
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
||||||
copyright notice and the following:
|
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,
|
||||||
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
||||||
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
||||||
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||||
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
||||||
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
||||||
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
||||||
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
||||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
|
||||||
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
||||||
sourceengine@valvesoftware.com.
|
sourceengine@valvesoftware.com.
|
||||||
|
|
86
README
86
README
|
@ -1,43 +1,43 @@
|
||||||
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.
|
||||||
|
|
||||||
You may, free of charge, download and use the SDK to develop a modified Valve game
|
You may, free of charge, download and use the SDK to develop a modified Valve game
|
||||||
running on the Source engine. You may distribute your modified Valve game in source and
|
running on the Source engine. You may distribute your modified Valve game in source and
|
||||||
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
object code form, but only for free. Terms of use for Valve games are found in the Steam
|
||||||
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
Subscriber Agreement located here: http://store.steampowered.com/subscriber_agreement/
|
||||||
|
|
||||||
You may copy, modify, and distribute the SDK and any modifications you make to the
|
You may copy, modify, and distribute the SDK and any modifications you make to the
|
||||||
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
SDK in source and object code form, but only for free. Any distribution of this SDK must
|
||||||
include this LICENSE file and thirdpartylegalnotices.txt.
|
include this LICENSE file and thirdpartylegalnotices.txt.
|
||||||
|
|
||||||
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
Any distribution of the SDK or a substantial portion of the SDK must include the above
|
||||||
copyright notice and the following:
|
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,
|
||||||
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
TITLE AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
LIMITATION OF LIABILITY. IN NO EVENT SHALL VALVE OR
|
||||||
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL,
|
||||||
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
||||||
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||||
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF
|
||||||
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
|
||||||
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
ARISING OUT OF THE USE OF OR INABILITY TO USE THE
|
||||||
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
ENGINE AND/OR THE SDK, EVEN IF VALVE HAS BEEN
|
||||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
|
||||||
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
If you would like to use the SDK for a commercial purpose, please contact Valve at
|
||||||
sourceengine@valvesoftware.com.
|
sourceengine@valvesoftware.com.
|
||||||
|
|
|
@ -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…
Reference in a new issue