This commit is contained in:
Riley Labrecque
2022-07-17 20:47:24 -07:00
parent 37e939ea0d
commit 28ab7e1d4d
36 changed files with 1149 additions and 367 deletions
+17 -1
View File
@@ -1,6 +1,6 @@
================================================================
Copyright © 1996-2020, Valve Corporation, All rights reserved.
Copyright © 1996-2022, Valve Corporation, All rights reserved.
================================================================
@@ -8,6 +8,22 @@ Copyright
Welcome to the Steamworks SDK. For documentation please see our partner
website at: http://partner.steamgames.com
----------------------------------------------------------------
v1.54 16th June 2022
----------------------------------------------------------------
ISteamFriends
* Added various functions to retrieve equipped Steam Community profile items and their properties
** RequestEquippedProfileItems – requests information on what Steam Community profile items a user has equipped. Will send callback EquippedProfileItems_t.
** BHasEquippedProfileItem – after calling RequestEquippedProfileItems, returns true/false depending on whether a user has a ECommunityProfileItemType equipped or not
** GetProfileItemPropertyString – returns a string property given a ECommunityProfileItemType and ECommunityProfileItemProperty
** GetProfileItemPropertyUint – returns an unsigned integer property given a ECommunityProfileItemType and ECommunityProfileItemProperty
* Added callback EquippedProfileItemsChanged_t for when a user's equipped Steam Community profile items have changed. This will be sent for the current user and for their friends.
Spacewar example:
* Added examples for how to interact with various overlay related functions (e.g. ActivateGameOverlay, ActivateGameOverlayToUser, ActivateGameOverlayToWebPage, ActivateGameOverlayToStore, ActivateGameOverlayInviteDialogConnectString)
* Fixed Steam Input example code not working on Linux
----------------------------------------------------------------
v1.53a 11th December 2021
----------------------------------------------------------------
+3 -3
View File
@@ -1,6 +1,6 @@
//========= Copyright © Valve LLC, All rights reserved. ============
//
// Purpose: Class for tracking friends list
// Purpose: Class for interacting with the Item Store
//
//=============================================================================
@@ -13,7 +13,7 @@
//-----------------------------------------------------------------------------
// Purpose: Menu that shows your friends
// Purpose: Menu that shows purchaseable items
//-----------------------------------------------------------------------------
class CItemStoreMenu : public CBaseMenu<PurchaseableItem_t>
{
@@ -91,7 +91,7 @@ void CItemStore::RunFrame()
//-----------------------------------------------------------------------------
// Purpose: Handles menu actions when viewing a friends list
// Purpose: Handles menu actions when viewing purchaseable items
//-----------------------------------------------------------------------------
void CItemStore::OnMenuSelection( PurchaseableItem_t selection )
{
+2
View File
@@ -65,6 +65,8 @@ void CMainMenu::SetupMenu()
AddMenuItem( MenuItem_t( "In-game Store", k_EClientInGameStore ) );
AddMenuItem( MenuItem_t( "OverlayAPI", k_EClientOverlayAPI ) );
AddMenuItem( MenuItem_t( "Exit Game", k_EClientGameExiting ) );
}
+182
View File
@@ -0,0 +1,182 @@
//========= Copyright � Valve LLC, All rights reserved. ============
//
// Purpose: Examples for interacting with Overlay
//
//=============================================================================
#include "stdafx.h"
#include "OverlayExamples.h"
#include "BaseMenu.h"
#include <math.h>
#include <vector>
#include <algorithm>
//-----------------------------------------------------------------------------
// Purpose: Menu that shows your friends
//-----------------------------------------------------------------------------
class COverlayExamplesMenu : public CBaseMenu<OverlayExample_t>
{
public:
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
COverlayExamplesMenu( IGameEngine *pGameEngine, COverlayExamples *pOverlayExamples ) : CBaseMenu<OverlayExample_t>( pGameEngine ), m_pOverlayExamples( pOverlayExamples )
{
}
//-----------------------------------------------------------------------------
// Purpose: Creates menu
//-----------------------------------------------------------------------------
void Rebuild()
{
PushSelectedItem();
ClearMenuItems();
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - Friends", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "Friends" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - Community", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "Community" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - Settings", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "Settings" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - LobbyInvite", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "LobbyInvite" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - OfficialGameGroup", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "OfficialGameGroup" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlay - Leaderboards", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay, "Leaderboards" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - steamid", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "steamid" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - chat", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "chat" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - jointrade", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "jointrade" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - stats", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "stats" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - achievements", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "achievements" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - friendadd", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "friendadd" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - friendremove", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "friendremove" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - friendrequestaccept", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "friendrequestaccept" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToUser - friendrequestignore", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser, "friendrequestignore" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToWebPage", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToWebPage, "https://steamcommunity.com" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToStore", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToStore, "" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToStore - Add to Cart", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToStore, "addtocart" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayToStore - Add to Cart & Show", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToStore, "addtocartandshow" } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "ActivateGameOverlayInviteDialogConnectString", { OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayInviteDialogConnectString, NULL } ) );
AddMenuItem( COverlayExamplesMenu::MenuItem_t( "Return to main menu", { OverlayExample_t::k_EOverlayExampleItem_BackToMenu, NULL } ) );
PopSelectedItem();
}
private:
COverlayExamples *m_pOverlayExamples;
};
//-----------------------------------------------------------------------------
// Purpose: Constructor
//-----------------------------------------------------------------------------
COverlayExamples::COverlayExamples( IGameEngine *pGameEngine )
: m_pGameEngine( pGameEngine )
{
m_pMenu = new COverlayExamplesMenu( pGameEngine, this );
m_delayedCommand = { OverlayExample_t::k_EOverlayExampleItem_Invalid, NULL };
Show();
}
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
void COverlayExamples::RunFrame()
{
m_pMenu->RunFrame();
if ( !m_pGameEngine->BIsKeyDown( VK_RETURN ) && !m_pGameEngine->BIsControllerActionActive( eControllerDigitalAction_MenuSelect ) )
{
switch ( m_delayedCommand.m_eItem )
{
case OverlayExample_t::k_EOverlayExampleItem_BackToMenu:
{
SpaceWarClient()->SetGameState( k_EClientGameMenu );
}
break;
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlay:
{
SteamFriends()->ActivateGameOverlay( m_delayedCommand.m_pchExtraCommandData );
}
break;
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToUser:
{
// pick first friend
if ( SteamFriends()->GetFriendCount( k_EFriendFlagImmediate ) != 0 )
{
CSteamID steamID = SteamFriends()->GetFriendByIndex( 0, k_EFriendFlagImmediate );
SteamFriends()->ActivateGameOverlayToUser( m_delayedCommand.m_pchExtraCommandData, steamID );
}
}
break;
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToWebPage:
{
SteamFriends()->ActivateGameOverlayToWebPage( m_delayedCommand.m_pchExtraCommandData );
}
break;
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayToStore:
{
if ( !strcmp( m_delayedCommand.m_pchExtraCommandData, "addtocart" ) )
{
SteamFriends()->ActivateGameOverlayToStore( 440, k_EOverlayToStoreFlag_AddToCart );
}
else if ( !strcmp( m_delayedCommand.m_pchExtraCommandData, "addtocartandshow" ) )
{
SteamFriends()->ActivateGameOverlayToStore( 440, k_EOverlayToStoreFlag_AddToCartAndShow );
}
else
{
SteamFriends()->ActivateGameOverlayToStore( 440, k_EOverlayToStoreFlag_None );
}
}
break;
/*
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayRemotePlayTogetherInviteDialog:
{
SteamFriends()->ActivateGameOverlayRemotePlayTogetherInviteDialog( steamIDLobby );
}
break;
*/
case OverlayExample_t::k_EOverlayExampleItem_ActivateGameOverlayInviteDialogConnectString:
{
const char *pConnectString = SteamFriends()->GetFriendRichPresence( SteamUser()->GetSteamID(), "connect" );
SteamFriends()->ActivateGameOverlayInviteDialogConnectString( pConnectString );
}
break;
default:
OutputDebugString( "wat" );
}
m_delayedCommand.m_eItem = OverlayExample_t::k_EOverlayExampleItem_Invalid;
}
}
//-----------------------------------------------------------------------------
// Purpose: Handles menu actions when viewing a friends list
//-----------------------------------------------------------------------------
void COverlayExamples::OnMenuSelection( OverlayExample_t selection )
{
m_delayedCommand = selection;
}
//-----------------------------------------------------------------------------
// Purpose: Shows / Refreshes the friends list
//-----------------------------------------------------------------------------
void COverlayExamples::Show()
{
m_pMenu->Rebuild();
}
+42
View File
@@ -0,0 +1,42 @@
//========= Copyright © Valve LLC, All rights reserved. ============
//
// Purpose: Class that shows some examples for bringing up the Steam Overlay
//
//=============================================================================
#ifndef OVERLAYEXAMPLES_H
#define OVERLAYEXAMPLES_H
#include "SpaceWar.h"
#include "GameEngine.h"
#include "SpaceWarClient.h"
class CSpaceWarClient;
class COverlayExamplesMenu;
class COverlayExamples
{
public:
// Constructor
COverlayExamples( IGameEngine *pGameEngine );
// Run a frame
void RunFrame();
// shows / refreshes item store
void Show();
// handles input from menu
void OnMenuSelection( OverlayExample_t selection );
private:
// Engine
IGameEngine *m_pGameEngine;
COverlayExamplesMenu *m_pMenu;
OverlayExample_t m_delayedCommand;
};
#endif // OVERLAYEXAMPLES_H
+1
View File
@@ -188,6 +188,7 @@ enum EClientGameState
k_EClientHTMLSurface,
k_EClientInGameStore,
k_EClientRemotePlay,
k_EClientOverlayAPI,
};
+26
View File
@@ -26,6 +26,7 @@
#include "steam/steamencryptedappticket.h"
#include "RemotePlay.h"
#include "ItemStore.h"
#include "OverlayExamples.h"
#ifdef WIN32
#include <direct.h>
#else
@@ -170,6 +171,8 @@ void CSpaceWarClient::Init( IGameEngine *pGameEngine )
m_pItemStore = new CItemStore( pGameEngine );
m_pItemStore->LoadItemsWithPrices();
m_pOverlayExamples = new COverlayExamples( pGameEngine );
LoadWorkshopItems();
}
@@ -1047,6 +1050,15 @@ void CSpaceWarClient::OnMenuSelection( PurchaseableItem_t selection )
}
//-----------------------------------------------------------------------------
// Purpose: Handles menu actions when viewing Overlay Examples
//-----------------------------------------------------------------------------
void CSpaceWarClient::OnMenuSelection( OverlayExample_t selection )
{
m_pOverlayExamples->OnMenuSelection( selection );
}
//-----------------------------------------------------------------------------
// Purpose: For a player in game, set the appropriate rich presence keys for display
// in the Steam friends list and return the value for steam_display
@@ -1234,6 +1246,12 @@ void CSpaceWarClient::OnGameStateChanged( EClientGameState eGameStateNew )
m_pItemStore->Show();
SteamFriends()->SetRichPresence( "status", "Viewing Item Store" );
}
else if ( m_eGameState == k_EClientOverlayAPI )
{
// we've switched to the item store
m_pOverlayExamples->Show();
SteamFriends()->SetRichPresence( "status", "Viewing Overlay API Examples" );
}
if ( pchSteamRichPresenceDisplay != NULL )
{
@@ -1755,6 +1773,14 @@ void CSpaceWarClient::RunFrame()
if (bEscapePressed)
SetGameState(k_EClientGameMenu);
break;
case k_EClientOverlayAPI:
m_pStarField->Render();
m_pOverlayExamples->RunFrame();
if ( bEscapePressed )
SetGameState( k_EClientGameMenu );
break;
default:
OutputDebugString( "Unhandled game state in CSpaceWar::RunFrame\n" );
+21
View File
@@ -38,6 +38,7 @@ class CVoiceChat;
class CHTMLSurface;
class CRemotePlayList;
class CItemStore;
class COverlayExamples;
// Height of the HUD font
#define HUD_FONT_HEIGHT 18
@@ -130,6 +131,24 @@ struct PurchaseableItem_t
uint64 m_ulPrice;
};
struct OverlayExample_t
{
enum EOverlayExampleItem
{
k_EOverlayExampleItem_BackToMenu,
k_EOverlayExampleItem_Invalid,
k_EOverlayExampleItem_ActivateGameOverlay,
k_EOverlayExampleItem_ActivateGameOverlayToUser,
k_EOverlayExampleItem_ActivateGameOverlayToWebPage,
k_EOverlayExampleItem_ActivateGameOverlayToStore,
// k_EOverlayExampleItem_ActivateGameOverlayRemotePlayTogetherInviteDialog,
k_EOverlayExampleItem_ActivateGameOverlayInviteDialogConnectString
};
EOverlayExampleItem m_eItem;
const char *m_pchExtraCommandData;
};
class CSpaceWarClient
{
@@ -194,6 +213,7 @@ public:
void OnMenuSelection( RemotePlayListMenuItem_t selection );
void OnMenuSelection( ERemoteStorageSyncMenuCommand selection );
void OnMenuSelection( PurchaseableItem_t selection );
void OnMenuSelection( OverlayExample_t selection );
void OnMenuSelection( MusicPlayerMenuItem_t selection ) { m_pMusicPlayer->OnMenuSelection( selection ); }
@@ -431,6 +451,7 @@ private:
CRemotePlayList *m_pRemotePlayList;
CRemoteStorage *m_pRemoteStorage;
CItemStore *m_pItemStore;
COverlayExamples *m_pOverlayExamples;
// lobby handling
// the name of the lobby we're connected to
+336 -174
View File
@@ -1,248 +1,263 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<VCProjectVersion>16.0</VCProjectVersion>
<ProjectName>steamworksexample</ProjectName>
<ProjectGuid>{F9B80FD0-A31F-443F-9FFF-85813D209141}</ProjectGuid>
<RootNamespace>SteamWorksExample</RootNamespace>
<Keyword>Win32Proj</Keyword>
<DefaultLanguage>en-US</DefaultLanguage>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
<CharacterSet>MultiByte</CharacterSet>
<TargetName>steamworksexample</TargetName>
<PlatformToolset>v142</PlatformToolset>
<ProtobufVersion>3.15.3</ProtobufVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>NotSet</CharacterSet>
<CharacterSet>MultiByte</CharacterSet>
<TargetName>steamworksexample</TargetName>
<PlatformToolset>v142</PlatformToolset>
<ProtobufVersion>3.15.3</ProtobufVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.25431.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>.\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<OutDir>win64\$(Configuration)\</OutDir>
<IntDir>win64\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>.\$(Configuration)\</OutDir>
<IntDir>.\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<OutDir>win64\$(Configuration)\</OutDir>
<IntDir>win64\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<SRCROOT>..</SRCROOT>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\Debug\</IntDir>
<ExecutablePath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\devtools\vstools;$(ExecutablePath);$(Path)</ExecutablePath>
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreBuildEventUseInBuild>
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PreLinkEventUseInBuild>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IgnoreImportLibrary>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</GenerateManifest>
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</PostBuildEventUseInBuild>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\Release\</IntDir>
<ExecutablePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\devtools\vstools;$(ExecutablePath);$(Path)</ExecutablePath>
<PreBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreBuildEventUseInBuild>
<PreLinkEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PreLinkEventUseInBuild>
<IgnoreImportLibrary Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</IgnoreImportLibrary>
<LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>
<GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</GenerateManifest>
<PostBuildEventUseInBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</PostBuildEventUseInBuild>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<PreBuildEvent>
</PreBuildEvent>
<CustomBuildStep>
<Command />
</CustomBuildStep>
<ClCompile>
<AdditionalOptions> /bigobj /Zc:__cplusplus</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions);_DEBUG;_EXTERNAL_DLL_EXT=.dll;VPCGAMECAPS=VALVE;PROJECTDIR=D:\dev\Steam\main\src\SteamWorksExample;_DLL_EXT=.dll;VPCGAME=valve</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<BufferSecurityCheck>true</BufferSecurityCheck>
<FunctionLevelLinking>true</FunctionLevelLinking>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)\$(TargetName).pdb</ProgramDataBaseFileName>
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
<BrowseInformation>false</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>OldStyle</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>;4577;4091</DisableSpecificWarnings>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<BrowseInformationFile>$(IntDir)\</BrowseInformationFile>
<ErrorReporting>Prompt</ErrorReporting>
</ClCompile>
<PreLinkEvent>
</PreLinkEvent>
<Link>
<AdditionalDependencies>steam_api.lib;sdkencryptedappticket.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;..\redistributable_bin;..\public\steam\lib\win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<AdditionalOptions> /ignore:4221</AdditionalOptions>
<AdditionalDependencies>;legacy_stdio_definitions.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress>
<OutputFile>$(OutDir)\steamworksexample.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>;$(DXSDK_DIR)Lib\x86;</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libc;libcd;libcmt</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>DebugFastLink</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>$(OutDir)\$(TargetName).map</MapFileName>
<SubSystem>Windows</SubSystem>
<BaseAddress>
</BaseAddress>
<TargetMachine>MachineX86</TargetMachine>
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
<ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(OutDir)\steamworksexample.bsc</OutputFile>
</Bscmake>
<PostBuildEvent>
<Command>copy ..\redistributable_bin\steam_api.dll $(OutDir)
copy ..\public\steam\lib\win32\sdkencryptedappticket.dll $(OutDir)
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<CustomBuildStep>
<Command />
</CustomBuildStep>
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<ExceptionHandling>Async</ExceptionHandling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>steam_api64.lib;sdkencryptedappticket64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;..\redistributable_bin\win64;..\public\steam\lib\win64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<PostBuildEvent>
<Command>copy ..\redistributable_bin\win64\steam_api64.dll $(OutDir)
copy ..\public\steam\lib\win64\sdkencryptedappticket64.dll $(OutDir)
</Command>
<Command>..\devtools\bin\vsign.exe -signvalve "$(TargetPath)"
if ERRORLEVEL 1 exit 1</Command>
</PostBuildEvent>
<Proto>
<ProtoBatch>Default</ProtoBatch>
<Service>.</Service>
</Proto>
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions);_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE</PreprocessorDefinitions>
<Culture>1033</Culture>
</ResourceCompile>
<Manifest>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestFiles>SteamWorksExample.exe.manifest</AdditionalManifestFiles>
</Manifest>
<Xdcmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Xdcmake>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<PreBuildEvent>
</PreBuildEvent>
<CustomBuildStep>
<Command />
</CustomBuildStep>
<ClCompile>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalOptions> /bigobj /d2Zi+ /Zc:__cplusplus</AdditionalOptions>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_CRT_SECURE_NO_WARNINGS;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions);NDEBUG;_EXTERNAL_DLL_EXT=.dll;VPCGAMECAPS=VALVE;PROJECTDIR=D:\dev\Steam\main\src\SteamWorksExample;_DLL_EXT=.dll;VPCGAME=valve</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<BufferSecurityCheck>false</BufferSecurityCheck>
<FunctionLevelLinking>true</FunctionLevelLinking>
<EnableEnhancedInstructionSet>StreamingSIMDExtensions</EnableEnhancedInstructionSet>
<FloatingPointModel>Precise</FloatingPointModel>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>
<ObjectFileName>$(IntDir)\</ObjectFileName>
<ProgramDataBaseFileName>$(OutDir)\$(TargetName).pdb</ProgramDataBaseFileName>
<GenerateXMLDocumentationFiles>false</GenerateXMLDocumentationFiles>
<BrowseInformation>false</BrowseInformation>
<WarningLevel>Level3</WarningLevel>
<TreatWarningAsError>true</TreatWarningAsError>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>CompileAsCpp</CompileAs>
<DisableSpecificWarnings>;4577;4091</DisableSpecificWarnings>
<OmitFramePointers>false</OmitFramePointers>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
<BrowseInformationFile>$(IntDir)\</BrowseInformationFile>
<ErrorReporting>Prompt</ErrorReporting>
</ClCompile>
<PreLinkEvent>
</PreLinkEvent>
<Link>
<AdditionalDependencies>steam_api.lib;sdkencryptedappticket.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x86;..\redistributable_bin;..\public\steam\lib\win32\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalOptions> /ignore:4221</AdditionalOptions>
<AdditionalDependencies>;legacy_stdio_definitions.lib;%(AdditionalDependencies)</AdditionalDependencies>
<ShowProgress>NotSet</ShowProgress>
<OutputFile>$(OutDir)\steamworksexample.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalLibraryDirectories>;$(DXSDK_DIR)Lib\x86;</AdditionalLibraryDirectories>
<IgnoreSpecificDefaultLibraries>libc;libcd;libcmtd</IgnoreSpecificDefaultLibraries>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(OutDir)\$(TargetName).pdb</ProgramDatabaseFile>
<GenerateMapFile>false</GenerateMapFile>
<MapFileName>$(OutDir)\$(TargetName).map</MapFileName>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<BaseAddress>
</BaseAddress>
<TargetMachine>MachineX86</TargetMachine>
<LinkErrorReporting>PromptImmediately</LinkErrorReporting>
<LinkLibraryDependencies>false</LinkLibraryDependencies>
<ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>
</Link>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>$(OutDir)\steamworksexample.bsc</OutputFile>
</Bscmake>
<PostBuildEvent>
<Command>copy ..\redistributable_bin\steam_api.dll $(OutDir)
copy ..\public\steam\lib\win32\sdkencryptedappticket.dll $(OutDir)
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<CustomBuildStep>
<Command />
</CustomBuildStep>
<Midl>
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
<AdditionalIncludeDirectories>$(DXSDK_DIR)Include;..\public;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ExceptionHandling>Async</ExceptionHandling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>steam_api64.lib;sdkencryptedappticket64.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(DXSDK_DIR)Lib\x64;..\redistributable_bin\win64;..\public\steam\lib\win64\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
<PostBuildEvent>
<Command>copy ..\redistributable_bin\win64\steam_api64.dll $(OutDir)
copy ..\public\steam\lib\win64\sdkencryptedappticket64.dll $(OutDir)
</Command>
<Command>..\devtools\bin\vsign.exe -signvalve "$(TargetPath)"
if ERRORLEVEL 1 exit 1</Command>
</PostBuildEvent>
<Proto>
<ProtoBatch>Default</ProtoBatch>
<Service>.</Service>
</Proto>
<ResourceCompile>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions);_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE</PreprocessorDefinitions>
<Culture>1033</Culture>
</ResourceCompile>
<Manifest>
<SuppressStartupBanner>true</SuppressStartupBanner>
<AdditionalManifestFiles>SteamWorksExample.exe.manifest</AdditionalManifestFiles>
</Manifest>
<Xdcmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
</Xdcmake>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="BaseMenu.cpp" />
<ClCompile Include="clanchatroom.cpp" />
<ClCompile Include="connectingmenu.cpp" />
<ClCompile Include="Friends.cpp" />
<ClCompile Include="gameenginewin32.cpp" />
<ClCompile Include="htmlsurface.cpp" />
<ClCompile Include="Inventory.cpp" />
<ClCompile Include="ItemStore.cpp" />
<ClCompile Include="Leaderboards.cpp" />
<ClCompile Include="Lobby.cpp" />
<ClCompile Include="Main.cpp" />
<ClCompile Include="MainMenu.cpp" />
<ClCompile Include="musicplayer.cpp" />
<ClCompile Include="p2pauth.cpp" />
<ClCompile Include="PhotonBeam.cpp" />
<ClCompile Include="QuitMenu.cpp" />
<ClCompile Include="RemotePlay.cpp" />
<ClCompile Include="RemoteStorage.cpp" />
<ClCompile Include="ServerBrowser.cpp" />
<ClCompile Include="Ship.cpp" />
<ClCompile Include="SpaceWarClient.cpp" />
<ClCompile Include="SpaceWarEntity.cpp" />
<ClCompile Include="SpaceWarServer.cpp" />
<ClCompile Include="StarField.cpp" />
<ClCompile Include="StatsAndAchievements.cpp" />
<ClCompile Include="stdafx.cpp" />
<ClCompile Include="Sun.cpp" />
<ClCompile Include="VectorEntity.cpp" />
<ClCompile Include="voicechat.cpp" />
<Library Include="..\redistributable_bin;..\public\steam\lib\win32\sdkencryptedappticket.lib">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</Library>
<Library Include="..\lib\win32\debug\sdkencryptedappticket.lib">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</Library>
<Library Include="..\redistributable_bin;..\public\steam\lib\win32\steam_api.lib">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</Library>
<Library Include="..\lib\win32\debug\steam_api.lib">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</Library>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h" />
<ClInclude Include="GameEngine.h" />
<ClInclude Include="gameenginewin32.h" />
<ClInclude Include="VectorEntity.h" />
<ClInclude Include="BaseMenu.h" />
<ClInclude Include="clanchatroom.h" />
<ClInclude Include="connectingmenu.h" />
<ClInclude Include="Friends.h" />
<ClInclude Include="GameEngine.h" />
<ClInclude Include="gameenginewin32.h" />
<ClInclude Include="htmlsurface.h" />
<ClInclude Include="Inventory.h" />
<ClInclude Include="ItemStore.h" />
@@ -251,26 +266,173 @@ copy ..\public\steam\lib\win64\sdkencryptedappticket64.dll $(OutDir)
<ClInclude Include="MainMenu.h" />
<ClInclude Include="Messages.h" />
<ClInclude Include="musicplayer.h" />
<ClInclude Include="OverlayExamples.h" />
<ClInclude Include="p2pauth.h" />
<ClInclude Include="PhotonBeam.h" />
<ClInclude Include="QuitMenu.h" />
<ClInclude Include="RemotePlay.h" />
<ClInclude Include="RemoteStorage.h" />
<ClInclude Include="remotestoragesync.h" />
<ClInclude Include="ServerBrowser.h" />
<ClInclude Include="ServerBrowserMenu.h" />
<ClInclude Include="Ship.h" />
<ClInclude Include="SimpleProtobuf.h" />
<ClInclude Include="SpaceWar.h" />
<ClInclude Include="SpaceWarClient.h" />
<ClInclude Include="SpaceWarEntity.h" />
<ClInclude Include="SpaceWarServer.h" />
<ClInclude Include="StarField.h" />
<ClInclude Include="StatsAndAchievements.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="Sun.h" />
<ClInclude Include="VectorEntity.h" />
<ClInclude Include="voicechat.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Main.cpp" />
<ClCompile Include="stdafx.cpp" />
<ClCompile Include="gameenginesdl.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="gameenginewin32.cpp" />
<ClCompile Include="..\tier1\pathmatch.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="VectorEntity.cpp" />
<ClCompile Include="BaseMenu.cpp" />
<ClCompile Include="..\glmgr\cglmbuffer.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\cglmfbo.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\cglmprogram.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\cglmquery.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\cglmtex.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="clanchatroom.cpp" />
<ClCompile Include="connectingmenu.cpp" />
<ClCompile Include="..\glmgr\dx9asmtogl2.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\dxabstract.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="Friends.cpp" />
<ClCompile Include="..\glmgr\glmgr.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\glmgrbasics.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\glmgr\glmgrext.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="htmlsurface.cpp" />
<ClCompile Include="Inventory.cpp" />
<ClCompile Include="ItemStore.cpp" />
<ClCompile Include="Leaderboards.cpp" />
<ClCompile Include="Lobby.cpp" />
<ClCompile Include="MainMenu.cpp" />
<ClCompile Include="..\glmgr\mathlite.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="musicplayer.cpp" />
<ClCompile Include="OverlayExamples.cpp" />
<ClCompile Include="p2pauth.cpp" />
<ClCompile Include="PhotonBeam.cpp" />
<ClCompile Include="QuitMenu.cpp" />
<ClCompile Include="RemotePlay.cpp" />
<ClCompile Include="RemoteStorage.cpp" />
<ClCompile Include="remotestoragesync.cpp" />
<ClCompile Include="ServerBrowser.cpp" />
<ClCompile Include="Ship.cpp" />
<ClCompile Include="SimpleProtobuf.cpp" />
<ClCompile Include="SpaceWarClient.cpp" />
<ClCompile Include="SpaceWarEntity.cpp" />
<ClCompile Include="SpaceWarServer.cpp" />
<ClCompile Include="StarField.cpp" />
<ClCompile Include="StatsAndAchievements.cpp" />
<ClCompile Include="Sun.cpp" />
<ClCompile Include="voicechat.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SpaceWarRes.rc" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="gameengineosx.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="gameenginesdl.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="glstringosx.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="..\glmgr\mathlite.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="gameengineosx.mm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="glstringosx.mm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="..\glmgr\glmgrcocoa.mm">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="steamworksexample.vpc">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Running VPC CRC Check - steamworksexample.vpc</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">rem IncrediBuild_AllowOverlap
if exist "..\devtools\bin\vpc.exe" "..\devtools\bin\vpc.exe" -crc2 "steamworksexample.vcxproj"
if ERRORLEVEL 1 exit /b 1
echo crc_complete &gt; D:\dev\Steam\main\src\SteamWorksExample\steamworksexample.vpc.sentinel</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">D:\dev\Steam\main\src\SteamWorksExample\steamworksexample.vpc.sentinel</Outputs>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Running VPC CRC Check - steamworksexample.vpc</Message>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">rem IncrediBuild_AllowOverlap
if exist "..\devtools\bin\vpc.exe" "..\devtools\bin\vpc.exe" -crc2 "steamworksexample.vcxproj"
if ERRORLEVEL 1 exit /b 1
echo crc_complete &gt; D:\dev\Steam\main\src\SteamWorksExample\steamworksexample.vpc.sentinel</Command>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">D:\dev\Steam\main\src\SteamWorksExample\steamworksexample.vpc.sentinel</Outputs>
</CustomBuild>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Include="..\vpc_scripts\branch_settings.vpc" />
<None Include="..\vpc_scripts\loadaddress.vpc" />
<None Include="..\vpc_scripts\steam_base.vpc" />
<None Include="..\vpc_scripts\steam_exe_base.vpc" />
<None Include="..\vpc_scripts\steam_exe_win_win32_base.vpc" />
<None Include="..\vpc_scripts\steam_steamapilib_include.vpc" />
<None Include="..\vpc_scripts\steam_win32_base.vpc" />
<None Include="..\vpc_scripts\version.vpc" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<Import Project="$(SRCROOT)\common\Valve.common.targets" />
</Project>
@@ -1,115 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Project ToolsVersion="16.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Source Files\Engine">
<UniqueIdentifier>{4c521d36-b933-4349-8687-1b507ca5e20f}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Game">
<UniqueIdentifier>{6a19ec6d-dddf-4a96-a98e-e64f8689fe5f}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
<UniqueIdentifier>{1680C80B-FF1E-EA4D-9817-CC12254F2E40}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Engine">
<UniqueIdentifier>{359396a6-2ea2-48ca-87e8-a70db22d0850}</UniqueIdentifier>
<UniqueIdentifier>{A9977944-E96C-5354-00E9-10543AF3AD45}</UniqueIdentifier>
</Filter>
<Filter Include="Header Files\Game">
<UniqueIdentifier>{6d8f438b-6605-40e3-9238-2606b6ea9dd0}</UniqueIdentifier>
<UniqueIdentifier>{D228CF81-3F1C-A342-56D3-9CFD97D8D5F0}</UniqueIdentifier>
</Filter>
<Filter Include="Link Libraries">
<UniqueIdentifier>{C5D73B3A-C648-896C-B7CE-F174808E5BA5}</UniqueIdentifier>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{FA3635CE-6C7C-7DE5-DDEB-60602507503F}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files">
<UniqueIdentifier>{BA03E055-4FA2-FCE3-8A1C-D348547D379C}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Engine">
<UniqueIdentifier>{3BC5273C-D80A-3936-3D84-35FC7E6269AE}</UniqueIdentifier>
</Filter>
<Filter Include="Source Files\Game">
<UniqueIdentifier>{84F38993-4EB4-8F80-2E2C-37AA0D9C662A}</UniqueIdentifier>
</Filter>
<Filter Include="VPC Scripts">
<UniqueIdentifier>{A40EE377-781A-C6B9-0C7C-B3BE118D248E}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="gameenginewin32.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="VectorEntity.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="BaseMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="clanchatroom.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="connectingmenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Friends.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="htmlsurface.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Inventory.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Leaderboards.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Lobby.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="MainMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="musicplayer.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="p2pauth.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="PhotonBeam.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="QuitMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="RemotePlay.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="RemoteStorage.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="ServerBrowser.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Ship.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarClient.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarEntity.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarServer.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="StarField.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="StatsAndAchievements.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Sun.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="voicechat.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="ItemStore.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<Library Include="..\lib\win32\release\sdkencryptedappticket.lib">
<Filter>Link Libraries</Filter>
</Library>
<Library Include="..\lib\win32\debug\sdkencryptedappticket.lib">
<Filter>Link Libraries</Filter>
</Library>
<Library Include="..\lib\win32\release\steam_api.lib">
<Filter>Link Libraries</Filter>
</Library>
<Library Include="..\lib\win32\debug\steam_api.lib">
<Filter>Link Libraries</Filter>
</Library>
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
@@ -142,6 +74,9 @@
<ClInclude Include="Inventory.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="ItemStore.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="Leaderboards.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
@@ -157,6 +92,9 @@
<ClInclude Include="musicplayer.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="OverlayExamples.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="p2pauth.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
@@ -172,6 +110,9 @@
<ClInclude Include="RemoteStorage.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="remotestoragesync.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="ServerBrowser.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
@@ -181,6 +122,9 @@
<ClInclude Include="Ship.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="SimpleProtobuf.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="SpaceWar.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
@@ -205,8 +149,201 @@
<ClInclude Include="voicechat.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
<ClInclude Include="ItemStore.h">
<Filter>Header Files\Game</Filter>
</ClInclude>
</ItemGroup>
</Project>
<ItemGroup>
<ClCompile Include="Main.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="stdafx.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="gameenginesdl.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="gameenginewin32.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="..\tier1\pathmatch.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="VectorEntity.cpp">
<Filter>Source Files\Engine</Filter>
</ClCompile>
<ClCompile Include="BaseMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\cglmbuffer.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\cglmfbo.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\cglmprogram.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\cglmquery.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\cglmtex.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="clanchatroom.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="connectingmenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\dx9asmtogl2.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\dxabstract.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Friends.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\glmgr.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\glmgrbasics.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\glmgrext.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="htmlsurface.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Inventory.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="ItemStore.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Leaderboards.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Lobby.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="MainMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="..\glmgr\mathlite.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="musicplayer.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="OverlayExamples.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="p2pauth.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="PhotonBeam.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="QuitMenu.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="RemotePlay.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="RemoteStorage.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="remotestoragesync.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="ServerBrowser.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Ship.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SimpleProtobuf.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarClient.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarEntity.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="SpaceWarServer.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="StarField.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="StatsAndAchievements.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="Sun.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
<ClCompile Include="voicechat.cpp">
<Filter>Source Files\Game</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="SpaceWarRes.rc">
<Filter>Resource Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="gameengineosx.h">
<Filter>Header Files\Engine</Filter>
</CustomBuild>
<CustomBuild Include="gameenginesdl.h">
<Filter>Header Files\Engine</Filter>
</CustomBuild>
<CustomBuild Include="glstringosx.h">
<Filter>Header Files\Engine</Filter>
</CustomBuild>
<CustomBuild Include="..\glmgr\mathlite.h">
<Filter>Header Files\Game</Filter>
</CustomBuild>
<CustomBuild Include="gameengineosx.mm">
<Filter>Source Files\Engine</Filter>
</CustomBuild>
<CustomBuild Include="glstringosx.mm">
<Filter>Source Files\Engine</Filter>
</CustomBuild>
<CustomBuild Include="..\glmgr\glmgrcocoa.mm">
<Filter>Source Files\Game</Filter>
</CustomBuild>
<CustomBuild Include="steamworksexample.vpc">
<Filter>VPC Scripts</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
</ItemGroup>
<ItemGroup>
<None Include="..\vpc_scripts\branch_settings.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\loadaddress.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\steam_base.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\steam_exe_base.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\steam_exe_win_win32_base.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\steam_steamapilib_include.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\steam_win32_base.vpc">
<Filter>VPC Scripts</Filter>
</None>
<None Include="..\vpc_scripts\version.vpc">
<Filter>VPC Scripts</Filter>
</None>
</ItemGroup>
</Project>
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.disable-library-validation</key>
<true/>
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
</dict>
</plist>
+57
View File
@@ -157,6 +157,32 @@ enum EActivateGameOverlayToWebPageMode
// will also close. When the user closes the browser window, the overlay will automatically close.
};
//-----------------------------------------------------------------------------
// Purpose: See GetProfileItemPropertyString and GetProfileItemPropertyUint
//-----------------------------------------------------------------------------
enum ECommunityProfileItemType
{
k_ECommunityProfileItemType_AnimatedAvatar = 0,
k_ECommunityProfileItemType_AvatarFrame = 1,
k_ECommunityProfileItemType_ProfileModifier = 2,
k_ECommunityProfileItemType_ProfileBackground = 3,
k_ECommunityProfileItemType_MiniProfileBackground = 4,
};
enum ECommunityProfileItemProperty
{
k_ECommunityProfileItemProperty_ImageSmall = 0, // string
k_ECommunityProfileItemProperty_ImageLarge = 1, // string
k_ECommunityProfileItemProperty_InternalName = 2, // string
k_ECommunityProfileItemProperty_Title = 3, // string
k_ECommunityProfileItemProperty_Description = 4, // string
k_ECommunityProfileItemProperty_AppID = 5, // uint32
k_ECommunityProfileItemProperty_TypeID = 6, // uint32
k_ECommunityProfileItemProperty_Class = 7, // uint32
k_ECommunityProfileItemProperty_MovieWebM = 8, // string
k_ECommunityProfileItemProperty_MovieMP4 = 9, // string
k_ECommunityProfileItemProperty_MovieWebMSmall = 10, // string
k_ECommunityProfileItemProperty_MovieMP4Small = 11, // string
};
//-----------------------------------------------------------------------------
// Purpose: interface to accessing information about individual users,
@@ -422,6 +448,14 @@ public:
// Activates the game overlay to open an invite dialog that will send the provided Rich Presence connect string to selected friends
virtual void ActivateGameOverlayInviteDialogConnectString( const char *pchConnectString ) = 0;
// Steam Community items equipped by a user on their profile
// You can register for EquippedProfileItemsChanged_t to know when a friend has changed their equipped profile items
STEAM_CALL_RESULT( EquippedProfileItems_t )
virtual SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID ) = 0;
virtual bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType ) = 0;
virtual const char *GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0;
virtual uint32 GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop ) = 0;
};
#define STEAMFRIENDS_INTERFACE_VERSION "SteamFriends017"
@@ -687,6 +721,29 @@ struct OverlayBrowserProtocolNavigation_t
char rgchURI[ 1024 ];
};
//-----------------------------------------------------------------------------
// Purpose: A user's equipped profile items have changed
//-----------------------------------------------------------------------------
struct EquippedProfileItemsChanged_t
{
enum { k_iCallback = k_iSteamFriendsCallbacks + 50 };
CSteamID m_steamID;
};
//-----------------------------------------------------------------------------
// Purpose:
//-----------------------------------------------------------------------------
struct EquippedProfileItems_t
{
enum { k_iCallback = k_iSteamFriendsCallbacks + 51 };
EResult m_eResult;
CSteamID m_steamID;
bool m_bHasAnimatedAvatar;
bool m_bHasAvatarFrame;
bool m_bHasProfileModifier;
bool m_bHasProfileBackground;
bool m_bHasMiniProfileBackground;
};
#pragma pack( pop )
+5 -8
View File
@@ -163,25 +163,22 @@ struct SteamNetworkingMessagesSessionFailed_t
#pragma pack(pop)
// Global accessors
// Using standalone lib
#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB
// Standalone lib.
static_assert( STEAMNETWORKINGMESSAGES_INTERFACE_VERSION[25] == '2', "Version mismatch" );
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamNetworkingMessages_LibV2();
inline ISteamNetworkingMessages *SteamNetworkingMessages_Lib() { return SteamNetworkingMessages_LibV2(); }
// If running in context of steam, we also define a gameserver instance.
#ifdef STEAMNETWORKINGSOCKETS_STEAM
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamGameServerNetworkingMessages_LibV2();
inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages_Lib() { return SteamGameServerNetworkingMessages_LibV2(); }
#endif
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingMessages *SteamGameServerNetworkingMessages_LibV2();
inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages_Lib() { return SteamGameServerNetworkingMessages_LibV2(); }
#ifndef STEAMNETWORKINGSOCKETS_STEAMAPI
inline ISteamNetworkingMessages *SteamNetworkingMessages() { return SteamNetworkingMessages_LibV2(); }
#ifdef STEAMNETWORKINGSOCKETS_STEAM
inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_LibV2(); }
#endif
inline ISteamNetworkingMessages *SteamGameServerNetworkingMessages() { return SteamGameServerNetworkingMessages_LibV2(); }
#endif
#endif
+4 -11
View File
@@ -920,32 +920,25 @@ protected:
#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets012"
// Global accessors
// Using standalone lib
#ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB
// Standalone lib.
static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '2', "Version mismatch" );
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV12();
inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV12(); }
// If running in context of steam, we also define a gameserver instance.
#ifdef STEAMNETWORKINGSOCKETS_STEAM
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV12();
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV12(); }
#endif
STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV12();
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV12(); }
#ifndef STEAMNETWORKINGSOCKETS_STEAMAPI
inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV12(); }
#ifdef STEAMNETWORKINGSOCKETS_STEAM
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV12(); }
#endif
inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV12(); }
#endif
#endif
// Using Steamworks SDK
#ifdef STEAMNETWORKINGSOCKETS_STEAMAPI
// Steamworks SDK
STEAM_DEFINE_USER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamNetworkingSockets *, SteamGameServerNetworkingSockets_SteamAPI, STEAMNETWORKINGSOCKETS_INTERFACE_VERSION );
+4 -4
View File
@@ -43,10 +43,10 @@ enum EGamepadTextInputLineMode
enum EFloatingGamepadTextInputMode
{
k_EFloatingGamepadTextInputModeModeSingleLine = 0, // Enter dismisses the keyboard
k_EFloatingGamepadTextInputModeModeMultipleLines = 1, // User needs to explictly close the keyboard
k_EFloatingGamepadTextInputModeModeEmail = 2,
k_EFloatingGamepadTextInputModeModeNumeric = 3,
k_EFloatingGamepadTextInputModeModeSingleLine = 0, // Enter dismisses the keyboard
k_EFloatingGamepadTextInputModeModeMultipleLines = 1, // User needs to explictly close the keyboard
k_EFloatingGamepadTextInputModeModeEmail = 2, // Keyboard layout is email, enter dismisses the keyboard
k_EFloatingGamepadTextInputModeModeNumeric = 3, // Keyboard layout is numeric, enter dismisses the keyboard
};
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.
+93 -1
View File
@@ -290,6 +290,26 @@
],
"struct": "OverlayBrowserProtocolNavigation_t"
},
{
"callback_id": 350,
"fields": [
{ "fieldname":"m_steamID", "fieldtype":"CSteamID" }
],
"struct": "EquippedProfileItemsChanged_t"
},
{
"callback_id": 351,
"fields": [
{ "fieldname":"m_eResult", "fieldtype":"EResult" },
{ "fieldname":"m_steamID", "fieldtype":"CSteamID" },
{ "fieldname":"m_bHasAnimatedAvatar", "fieldtype":"bool" },
{ "fieldname":"m_bHasAvatarFrame", "fieldtype":"bool" },
{ "fieldname":"m_bHasProfileModifier", "fieldtype":"bool" },
{ "fieldname":"m_bHasProfileBackground", "fieldtype":"bool" },
{ "fieldname":"m_bHasMiniProfileBackground", "fieldtype":"bool" }
],
"struct": "EquippedProfileItems_t"
},
{
"callback_id": 701,
"fields": [],
@@ -2076,7 +2096,10 @@
{ "name":"k_EResultSteamRealmMismatch", "value":"120" },
{ "name":"k_EResultInvalidSignature", "value":"121" },
{ "name":"k_EResultParseFailure", "value":"122" },
{ "name":"k_EResultNoVerifiedPhone", "value":"123" }
{ "name":"k_EResultNoVerifiedPhone", "value":"123" },
{ "name":"k_EResultInsufficientBattery", "value":"124" },
{ "name":"k_EResultChargerRequired", "value":"125" },
{ "name":"k_EResultCachedCredentialInvalid", "value":"126" }
]
},
{
@@ -2415,6 +2438,33 @@
{ "name":"k_EActivateGameOverlayToWebPageMode_Modal", "value":"1" }
]
},
{
"enumname": "ECommunityProfileItemType",
"values": [
{ "name":"k_ECommunityProfileItemType_AnimatedAvatar", "value":"0" },
{ "name":"k_ECommunityProfileItemType_AvatarFrame", "value":"1" },
{ "name":"k_ECommunityProfileItemType_ProfileModifier", "value":"2" },
{ "name":"k_ECommunityProfileItemType_ProfileBackground", "value":"3" },
{ "name":"k_ECommunityProfileItemType_MiniProfileBackground", "value":"4" }
]
},
{
"enumname": "ECommunityProfileItemProperty",
"values": [
{ "name":"k_ECommunityProfileItemProperty_ImageSmall", "value":"0" },
{ "name":"k_ECommunityProfileItemProperty_ImageLarge", "value":"1" },
{ "name":"k_ECommunityProfileItemProperty_InternalName", "value":"2" },
{ "name":"k_ECommunityProfileItemProperty_Title", "value":"3" },
{ "name":"k_ECommunityProfileItemProperty_Description", "value":"4" },
{ "name":"k_ECommunityProfileItemProperty_AppID", "value":"5" },
{ "name":"k_ECommunityProfileItemProperty_TypeID", "value":"6" },
{ "name":"k_ECommunityProfileItemProperty_Class", "value":"7" },
{ "name":"k_ECommunityProfileItemProperty_MovieWebM", "value":"8" },
{ "name":"k_ECommunityProfileItemProperty_MovieMP4", "value":"9" },
{ "name":"k_ECommunityProfileItemProperty_MovieWebMSmall", "value":"10" },
{ "name":"k_ECommunityProfileItemProperty_MovieMP4Small", "value":"11" }
]
},
{
"enumname": "EPersonaChange",
"values": [
@@ -4097,6 +4147,10 @@
{ "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Enable", "value":"104" },
{ "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Penalty", "value":"105" },
{ "name":"k_ESteamNetworkingConfig_P2P_Transport_SDR_Penalty", "value":"106" },
{ "name":"k_ESteamNetworkingConfig_P2P_TURN_ServerList", "value":"107" },
{ "name":"k_ESteamNetworkingConfig_P2P_TURN_UserList", "value":"108" },
{ "name":"k_ESteamNetworkingConfig_P2P_TURN_PassList", "value":"109" },
{ "name":"k_ESteamNetworkingConfig_P2P_Transport_ICE_Implementation", "value":"110" },
{ "name":"k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFailInitial", "value":"19" },
{ "name":"k_ESteamNetworkingConfig_SDRClient_ConsecutitivePingTimeoutsFail", "value":"20" },
{ "name":"k_ESteamNetworkingConfig_SDRClient_MinPingsBeforePingAccurate", "value":"21" },
@@ -5445,6 +5499,44 @@
{ "paramname":"pchConnectString", "paramtype":"const char *" }
],
"returntype": "void"
},
{
"callresult": "EquippedProfileItems_t",
"methodname": "RequestEquippedProfileItems",
"methodname_flat": "SteamAPI_ISteamFriends_RequestEquippedProfileItems",
"params": [
{ "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }
],
"returntype": "SteamAPICall_t"
},
{
"methodname": "BHasEquippedProfileItem",
"methodname_flat": "SteamAPI_ISteamFriends_BHasEquippedProfileItem",
"params": [
{ "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" },
{ "paramname":"itemType", "paramtype":"ECommunityProfileItemType" }
],
"returntype": "bool"
},
{
"methodname": "GetProfileItemPropertyString",
"methodname_flat": "SteamAPI_ISteamFriends_GetProfileItemPropertyString",
"params": [
{ "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" },
{ "paramname":"itemType", "paramtype":"ECommunityProfileItemType" },
{ "paramname":"prop", "paramtype":"ECommunityProfileItemProperty" }
],
"returntype": "const char *"
},
{
"methodname": "GetProfileItemPropertyUint",
"methodname_flat": "SteamAPI_ISteamFriends_GetProfileItemPropertyUint",
"params": [
{ "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" },
{ "paramname":"itemType", "paramtype":"ECommunityProfileItemType" },
{ "paramname":"prop", "paramtype":"ECommunityProfileItemProperty" }
],
"returntype": "uint32"
}
],
"version_string": "SteamFriends017"
+4
View File
@@ -176,6 +176,10 @@ S_API int SteamAPI_ISteamFriends_GetNumChatsWithUnreadPriorityMessages( ISteamFr
S_API void SteamAPI_ISteamFriends_ActivateGameOverlayRemotePlayTogetherInviteDialog( ISteamFriends* self, uint64_steamid steamIDLobby );
S_API bool SteamAPI_ISteamFriends_RegisterProtocolInOverlayBrowser( ISteamFriends* self, const char * pchProtocol );
S_API void SteamAPI_ISteamFriends_ActivateGameOverlayInviteDialogConnectString( ISteamFriends* self, const char * pchConnectString );
S_API SteamAPICall_t SteamAPI_ISteamFriends_RequestEquippedProfileItems( ISteamFriends* self, uint64_steamid steamID );
S_API bool SteamAPI_ISteamFriends_BHasEquippedProfileItem( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType );
S_API const char * SteamAPI_ISteamFriends_GetProfileItemPropertyString( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop );
S_API uint32 SteamAPI_ISteamFriends_GetProfileItemPropertyUint( ISteamFriends* self, uint64_steamid steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop );
// ISteamUtils
+38 -32
View File
@@ -137,6 +137,9 @@ enum EResult
k_EResultInvalidSignature = 121, // signature check did not match
k_EResultParseFailure = 122, // Failed to parse input
k_EResultNoVerifiedPhone = 123, // account does not have a verified phone number
k_EResultInsufficientBattery = 124, // user device doesn't have enough battery charge currently to complete the action
k_EResultChargerRequired = 125, // The operation requires a charger to be plugged in, which wasn't present
k_EResultCachedCredentialInvalid = 126, // Cached credential was invalid - user must reauthenticate
};
// Error codes for use with the voice functions
@@ -592,37 +595,6 @@ public:
m_steamid.m_comp.m_unAccountInstance = 0;
}
#if defined( INCLUDED_STEAM2_USERID_STRUCTS )
//-----------------------------------------------------------------------------
// Purpose: Initializes a steam ID from a Steam2 ID structure
// Input: pTSteamGlobalUserID - Steam2 ID to convert
// eUniverse - universe this ID belongs to
//-----------------------------------------------------------------------------
void SetFromSteam2( TSteamGlobalUserID *pTSteamGlobalUserID, EUniverse eUniverse )
{
m_steamid.m_comp.m_unAccountID = pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits * 2 +
pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits;
m_steamid.m_comp.m_EUniverse = eUniverse; // set the universe
m_steamid.m_comp.m_EAccountType = k_EAccountTypeIndividual; // Steam 2 accounts always map to account type of individual
m_steamid.m_comp.m_unAccountInstance = k_unSteamUserDefaultInstance; // Steam2 only knew one instance
}
//-----------------------------------------------------------------------------
// Purpose: Fills out a Steam2 ID structure
// Input: pTSteamGlobalUserID - Steam2 ID to write to
//-----------------------------------------------------------------------------
void ConvertToSteam2( TSteamGlobalUserID *pTSteamGlobalUserID ) const
{
// only individual accounts have any meaning in Steam 2, only they can be mapped
// Assert( m_steamid.m_comp.m_EAccountType == k_EAccountTypeIndividual );
pTSteamGlobalUserID->m_SteamInstanceID = 0;
pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits = m_steamid.m_comp.m_unAccountID % 2;
pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits = m_steamid.m_comp.m_unAccountID / 2;
}
#endif // defined( INCLUDED_STEAM_COMMON_STEAMCOMMON_H )
//-----------------------------------------------------------------------------
// Purpose: Converts steam ID to its 64-bit representation
// Output : 64-bit representation of a Steam ID
@@ -794,7 +766,6 @@ public:
// and is preferred when the caller knows it's safe to be strict.
// Returns whether the string parsed correctly.
bool SetFromStringStrict( const char *pchSteamID, EUniverse eDefaultUniverse );
bool SetFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse );
inline bool operator==( const CSteamID &val ) const { return m_steamid.m_unAll64Bits == val.m_steamid.m_unAll64Bits; }
inline bool operator!=( const CSteamID &val ) const { return !operator==( val ); }
@@ -863,6 +834,41 @@ inline bool CSteamID::IsValid() const
return true;
}
#if defined( INCLUDED_STEAM2_USERID_STRUCTS )
//-----------------------------------------------------------------------------
// Purpose: Initializes a steam ID from a Steam2 ID structure
// Input: pTSteamGlobalUserID - Steam2 ID to convert
// eUniverse - universe this ID belongs to
//-----------------------------------------------------------------------------
inline CSteamID SteamIDFromSteam2UserID( TSteamGlobalUserID *pTSteamGlobalUserID, EUniverse eUniverse )
{
uint32 unAccountID = pTSteamGlobalUserID->m_SteamLocalUserID.Split.Low32bits * 2 +
pTSteamGlobalUserID->m_SteamLocalUserID.Split.High32bits;
return CSteamID( unAccountID, k_unSteamUserDefaultInstance, eUniverse, k_EAccountTypeIndividual );
}
bool SteamIDFromSteam2String( const char *pchSteam2ID, EUniverse eUniverse, CSteamID *pSteamIDOut );
//-----------------------------------------------------------------------------
// Purpose: Fills out a Steam2 ID structure
// Input: pTSteamGlobalUserID - Steam2 ID to write to
//-----------------------------------------------------------------------------
inline TSteamGlobalUserID SteamIDToSteam2UserID( CSteamID steamID )
{
TSteamGlobalUserID steamGlobalUserID;
steamGlobalUserID.m_SteamInstanceID = 0;
steamGlobalUserID.m_SteamLocalUserID.Split.High32bits = steamID.GetAccountID() % 2;
steamGlobalUserID.m_SteamLocalUserID.Split.Low32bits = steamID.GetAccountID() / 2;
return steamGlobalUserID;
}
#endif
// generic invalid CSteamID
#define k_steamIDNil CSteamID()
+36 -5
View File
@@ -15,13 +15,11 @@
//-----------------------------------------------------------------------------
// SteamNetworkingSockets config.
//#define STEAMNETWORKINGSOCKETS_STANDALONELIB // Comment this in to support compiling/linking with the standalone library / gamenetworkingsockets opensource
#define STEAMNETWORKINGSOCKETS_STEAMAPI // Compiling/link with steam_api.h and Steamworks SDK
#if !defined(STEAMNETWORKINGSOCKETS_STANDALONELIB) && !defined(STEAMNETWORKINGSOCKETS_STEAMAPI)
#define STEAMNETWORKINGSOCKETS_STEAMAPI
#endif
//-----------------------------------------------------------------------------
#if !defined( STEAMNETWORKINGSOCKETS_OPENSOURCE ) && !defined( STEAMNETWORKINGSOCKETS_STREAMINGCLIENT )
#define STEAMNETWORKINGSOCKETS_STEAM
#endif
#ifdef NN_NINTENDO_SDK // We always static link on Nintendo
#define STEAMNETWORKINGSOCKETS_STATIC_LINK
#endif
@@ -143,6 +141,12 @@ enum ESteamNetworkingIdentityType
// Basic platform-specific identifiers.
//
k_ESteamNetworkingIdentityType_SteamID = 16, // 64-bit CSteamID
k_ESteamNetworkingIdentityType_XboxPairwiseID = 17, // Publisher-specific user identity, as string
k_ESteamNetworkingIdentityType_SonyPSN = 18, // 64-bit ID
k_ESteamNetworkingIdentityType_GoogleStadia = 19, // 64-bit ID
//k_ESteamNetworkingIdentityType_NintendoNetworkServiceAccount,
//k_ESteamNetworkingIdentityType_EpicGameStore
//k_ESteamNetworkingIdentityType_WeGame
//
// Special identifiers.
@@ -271,6 +275,15 @@ struct SteamNetworkingIdentity
void SetSteamID64( uint64 steamID ); // Takes SteamID as raw 64-bit number
uint64 GetSteamID64() const; // Returns 0 if identity is not SteamID
bool SetXboxPairwiseID( const char *pszString ); // Returns false if invalid length
const char *GetXboxPairwiseID() const; // Returns nullptr if not Xbox ID
void SetPSNID( uint64 id );
uint64 GetPSNID() const; // Returns 0 if not PSN
void SetStadiaID( uint64 id );
uint64 GetStadiaID() const; // Returns 0 if not Stadia
void SetIPAddr( const SteamNetworkingIPAddr &addr ); // Set to specified IP:port
const SteamNetworkingIPAddr *GetIPAddr() const; // returns null if we are not an IP address.
void SetIPv4Addr( uint32 nIPv4, uint16 nPort ); // Set to specified IPv4:port
@@ -312,6 +325,7 @@ struct SteamNetworkingIdentity
enum {
k_cchMaxString = 128, // Max length of the buffer needed to hold any identity, formatted in string format by ToString
k_cchMaxGenericString = 32, // Max length of the string for generic string identities. Including terminating '\0'
k_cchMaxXboxPairwiseID = 33, // Including terminating '\0'
k_cbMaxGenericBytes = 32,
};
@@ -324,7 +338,10 @@ struct SteamNetworkingIdentity
int m_cbSize;
union {
uint64 m_steamID64;
uint64 m_PSNID;
uint64 m_stadiaID;
char m_szGenericString[ k_cchMaxGenericString ];
char m_szXboxPairwiseID[ k_cchMaxXboxPairwiseID ];
uint8 m_genericBytes[ k_cbMaxGenericBytes ];
char m_szUnknownRawString[ k_cchMaxString ];
SteamNetworkingIPAddr m_ip;
@@ -1479,7 +1496,11 @@ enum ESteamNetworkingConfigValue
/// route ping time and is then adjusted.)
k_ESteamNetworkingConfig_P2P_Transport_ICE_Penalty = 105,
k_ESteamNetworkingConfig_P2P_Transport_SDR_Penalty = 106,
k_ESteamNetworkingConfig_P2P_TURN_ServerList = 107,
k_ESteamNetworkingConfig_P2P_TURN_UserList = 108,
k_ESteamNetworkingConfig_P2P_TURN_PassList = 109,
//k_ESteamNetworkingConfig_P2P_Transport_LANBeacon_Penalty = 107,
k_ESteamNetworkingConfig_P2P_Transport_ICE_Implementation = 110,
//
// Settings for SDR relayed connections
@@ -1744,8 +1765,18 @@ inline void SteamNetworkingIdentity::SetSteamID( CSteamID steamID ) { SetSteamID
inline CSteamID SteamNetworkingIdentity::GetSteamID() const { return CSteamID( GetSteamID64() ); }
inline void SteamNetworkingIdentity::SetSteamID64( uint64 steamID ) { m_eType = k_ESteamNetworkingIdentityType_SteamID; m_cbSize = sizeof( m_steamID64 ); m_steamID64 = steamID; }
inline uint64 SteamNetworkingIdentity::GetSteamID64() const { return m_eType == k_ESteamNetworkingIdentityType_SteamID ? m_steamID64 : 0; }
inline bool SteamNetworkingIdentity::SetXboxPairwiseID( const char *pszString ) { size_t l = strlen( pszString ); if ( l < 1 || l >= sizeof(m_szXboxPairwiseID) ) return false;
m_eType = k_ESteamNetworkingIdentityType_XboxPairwiseID; m_cbSize = int(l+1); memcpy( m_szXboxPairwiseID, pszString, m_cbSize ); return true; }
inline const char *SteamNetworkingIdentity::GetXboxPairwiseID() const { return m_eType == k_ESteamNetworkingIdentityType_XboxPairwiseID ? m_szXboxPairwiseID : NULL; }
inline void SteamNetworkingIdentity::SetPSNID( uint64 id ) { m_eType = k_ESteamNetworkingIdentityType_SonyPSN; m_cbSize = sizeof( m_PSNID ); m_PSNID = id; }
inline uint64 SteamNetworkingIdentity::GetPSNID() const { return m_eType == k_ESteamNetworkingIdentityType_SonyPSN ? m_PSNID : 0; }
inline void SteamNetworkingIdentity::SetStadiaID( uint64 id ) { m_eType = k_ESteamNetworkingIdentityType_GoogleStadia; m_cbSize = sizeof( m_stadiaID ); m_stadiaID = id; }
inline uint64 SteamNetworkingIdentity::GetStadiaID() const { return m_eType == k_ESteamNetworkingIdentityType_GoogleStadia ? m_stadiaID : 0; }
inline void SteamNetworkingIdentity::SetIPAddr( const SteamNetworkingIPAddr &addr ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip = addr; }
inline const SteamNetworkingIPAddr *SteamNetworkingIdentity::GetIPAddr() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? &m_ip : NULL; }
inline void SteamNetworkingIdentity::SetIPv4Addr( uint32 nIPv4, uint16 nPort ) { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv4( nIPv4, nPort ); }
inline uint32 SteamNetworkingIdentity::GetIPv4() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetIPv4() : 0; }
inline ESteamNetworkingFakeIPType SteamNetworkingIdentity::GetFakeIPType() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress ? m_ip.GetFakeIPType() : k_ESteamNetworkingFakeIPType_Invalid; }
inline void SteamNetworkingIdentity::SetLocalHost() { m_eType = k_ESteamNetworkingIdentityType_IPAddress; m_cbSize = (int)sizeof(m_ip); m_ip.SetIPv6LocalHost(); }
inline bool SteamNetworkingIdentity::IsLocalHost() const { return m_eType == k_ESteamNetworkingIdentityType_IPAddress && m_ip.IsLocalHost(); }
inline bool SteamNetworkingIdentity::SetGenericString( const char *pszString ) { size_t l = strlen( pszString ); if ( l >= sizeof(m_szGenericString) ) return false;
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.
-21
View File
@@ -1,21 +0,0 @@
#!/bin/bash
#
# This is a script which runs the SteamworksExample in the Steam runtime
# The program location
TOP=$(cd "${0%/*}" && echo ${PWD})
PROGRAM="${TOP}/SteamworksExampleLinux"
# Steam sets this environment variable when launching games
if [ "$STEAM_RUNTIME" = "" ]; then
export STEAM_RUNTIME="${TOP}/../../tools/linux/runtime/i386"
export LD_LIBRARY_PATH="${STEAM_RUNTIME}/lib/i386-linux-gnu:${STEAM_RUNTIME}/lib:${STEAM_RUNTIME}/usr/lib/i386-linux-gnu:${STEAM_RUNTIME}/usr/lib:${LD_LIBRARY_PATH}"
fi
# Add the current directory to the library path to pick up libsteam_api.so
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:."
exec "${PROGRAM}" "$@"
# vi: ts=4 sw=4 expandtab
+18 -1
View File
@@ -114,6 +114,23 @@ CGameEngineGL::CGameEngineGL( )
m_rgflQuadsTextureData = new GLfloat[ 8*QUAD_BUFFER_TOTAL_SIZE ];
m_dwQuadsToFlush = 0;
// clear the action handles
for ( int i = 0; i <eControllerDigitalAction_NumActions; i++ )
{
m_ControllerDigitalActionHandles[i] = 0;
m_ControllerDigitalActionOrigins[i] = k_EInputActionOrigin_None;
}
for ( int i = 0; i <eControllerAnalogAction_NumActions; i++ )
{
m_ControllerAnalogActionHandles[i] = 0;
m_ControllerAnalogActionOrigins[i] = k_EInputActionOrigin_None;
}
for ( int i = 0; i <eControllerActionSet_NumSets; i++ )
{
m_ControllerActionSetHandles[i] = 0;
}
m_ActiveControllerHandle = 0;
TTF_Init();
if( !BInitializeGraphics() )
@@ -1240,7 +1257,7 @@ void CGameEngineGL::FindActiveSteamInputDevice( )
// See how many Steam Controllers are active.
ControllerHandle_t pHandles[STEAM_CONTROLLER_MAX_COUNT];
int nNumActive =SteamInput()->GetConnectedControllers( pHandles );
int nNumActive = SteamInput()->GetConnectedControllers( pHandles );
// If there's an active controller, and if we're not already using it, select the first one.
if ( nNumActive && (m_ActiveControllerHandle != pHandles[0]) )
@@ -51,6 +51,7 @@
50E77DF61362190C000FC072 /* mathlite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50E77DE91362190C000FC072 /* mathlite.cpp */; };
50E77DF813621991000FC072 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 50E77DF713621991000FC072 /* IOKit.framework */; };
840B387019BB91C50084B9F1 /* htmlsurface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 840B386E19BB91C50084B9F1 /* htmlsurface.cpp */; };
975820DB2765BE3900093F91 /* ItemStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 975820DA2765BE3900093F91 /* ItemStore.cpp */; };
A4B5A0FD24906974000E9151 /* RemotePlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4B5A0FC24906974000E9151 /* RemotePlay.cpp */; };
A4B5A101249069C9000E9151 /* remotestoragesync.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4B5A0FF249069C9000E9151 /* remotestoragesync.cpp */; };
A4B5A10424906A0E000E9151 /* SimpleProtobuf.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4B5A10324906A0E000E9151 /* SimpleProtobuf.cpp */; };
@@ -162,6 +163,8 @@
50E77DF713621991000FC072 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
840B386E19BB91C50084B9F1 /* htmlsurface.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = htmlsurface.cpp; sourceTree = "<group>"; };
840B386F19BB91C50084B9F1 /* htmlsurface.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = htmlsurface.h; sourceTree = "<group>"; };
975820DA2765BE3900093F91 /* ItemStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ItemStore.cpp; sourceTree = "<group>"; };
975820DD2765BE5000093F91 /* ItemStore.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ItemStore.h; sourceTree = "<group>"; };
A46ECF6D26BE389800985AA7 /* steamworksexample.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = steamworksexample.entitlements; path = osx/steamworksexample.entitlements; sourceTree = "<group>"; };
A4B5A0FC24906974000E9151 /* RemotePlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RemotePlay.cpp; sourceTree = "<group>"; };
A4B5A0FE2490698A000E9151 /* RemotePlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RemotePlay.h; sourceTree = "<group>"; };
@@ -210,6 +213,7 @@
50E77DCF136218F5000FC072 /* glmgr */,
BA60B6B41A82EDD200F4AC4F /* Friends.cpp */,
BA60B6B61A82EDD200F4AC4F /* Inventory.cpp */,
975820DA2765BE3900093F91 /* ItemStore.cpp */,
840B386E19BB91C50084B9F1 /* htmlsurface.cpp */,
503C6CED1268F49F00B66E3B /* p2pauth.cpp */,
503C6CEF1268F49F00B66E3B /* PhotonBeam.cpp */,
@@ -278,6 +282,7 @@
children = (
BA60B6B51A82EDD200F4AC4F /* Friends.h */,
BA60B6B71A82EDD200F4AC4F /* Inventory.h */,
975820DD2765BE5000093F91 /* ItemStore.h */,
840B386F19BB91C50084B9F1 /* htmlsurface.h */,
50D642861461EF3200A5739B /* clanchatroom.h */,
503C6CEE1268F49F00B66E3B /* p2pauth.h */,
@@ -439,6 +444,7 @@
50E77DEC1362190C000FC072 /* cglmfbo.cpp in Sources */,
50E77DED1362190C000FC072 /* cglmprogram.cpp in Sources */,
BA60B6B91A82EDD200F4AC4F /* Inventory.cpp in Sources */,
975820DB2765BE3900093F91 /* ItemStore.cpp in Sources */,
50E77DEE1362190C000FC072 /* cglmquery.cpp in Sources */,
50E77DEF1362190C000FC072 /* cglmtex.cpp in Sources */,
A4B5A10424906A0E000E9151 /* SimpleProtobuf.cpp in Sources */,