initial
This commit is contained in:
270
public/matchmaking/portal2/imatchext_portal2.h
Normal file
270
public/matchmaking/portal2/imatchext_portal2.h
Normal file
@ -0,0 +1,270 @@
|
||||
//===== Copyright c 1996-2009, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose:
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//===========================================================================//
|
||||
|
||||
#ifndef IMATCHEXT_PORTAL2_H
|
||||
#define IMATCHEXT_PORTAL2_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#pragma warning( push )
|
||||
#pragma warning( disable : 4201 )
|
||||
#endif
|
||||
|
||||
#define STORAGE_COUNT_FOR_BITS( aStorageType, numBits ) ( ( (numBits) + 8*sizeof( aStorageType ) - 1 ) / ( 8* sizeof( aStorageType ) ) )
|
||||
|
||||
|
||||
//
|
||||
//
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
// This structure TitleData1 should remain
|
||||
// intact after we ship otherwise
|
||||
// users profiles will be busted.
|
||||
// You are allowed to add fields at the end
|
||||
// as long as structure size stays under
|
||||
// XPROFILE_SETTING_MAX_SIZE = 1000 bytes.
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
//
|
||||
struct TitleData1
|
||||
{
|
||||
uint32 uiSinglePlayerProgressChapter;
|
||||
|
||||
struct CoopData_t
|
||||
{
|
||||
enum MapBits_t
|
||||
{
|
||||
#define CFG( fieldname, ctx, idx, num ) fieldname,
|
||||
#define CFG_DISABLED( fieldname, ctx, idx, num ) CFG( fieldname )
|
||||
#include "xlast_portal2/inc_coop_maps.inc"
|
||||
#undef CFG_DISABLED
|
||||
#undef CFG
|
||||
mapbits_last_bit_used,
|
||||
mapbits_total_basegame = 42,
|
||||
mapbits_total = 160 // leave room for total 160 maps
|
||||
};
|
||||
uint32 mapbits[ STORAGE_COUNT_FOR_BITS( uint32, mapbits_total ) ];
|
||||
|
||||
enum TauntBits_t
|
||||
{
|
||||
#define CFG( fieldname ) taunt_##fieldname,
|
||||
#define CFG_DISABLED( fieldname ) CFG( fieldname )
|
||||
#include "xlast_portal2/inc_coop_taunts.inc"
|
||||
#undef CFG_DISABLED
|
||||
#undef CFG
|
||||
tauntbits_last_bit_used,
|
||||
tauntbits_total = 48 // leave room for total 48 taunts
|
||||
};
|
||||
uint32 tauntbitsOwned[ STORAGE_COUNT_FOR_BITS( uint32, tauntbits_total ) ];
|
||||
uint32 tauntbitsUsed[ STORAGE_COUNT_FOR_BITS( uint32, tauntbits_total ) ];
|
||||
enum TauntEquipSlots_t
|
||||
{
|
||||
#define CFG( fieldname ) taunt_equipslot_##fieldname,
|
||||
#define CFG_DISABLED( fieldname ) CFG( fieldname )
|
||||
#include "xlast_portal2/inc_coop_taunts_equipslots.inc"
|
||||
#undef CFG_DISABLED
|
||||
#undef CFG
|
||||
taunt_equipslots_total
|
||||
};
|
||||
uint8 tauntsEquipSlots[taunt_equipslots_total];
|
||||
};
|
||||
CoopData_t coop;
|
||||
|
||||
struct GameInstructorData_t
|
||||
{
|
||||
enum LessonsBits_t
|
||||
{
|
||||
#define CFG( fieldname ) lesson_##fieldname,
|
||||
#define CFG_DISABLED( fieldname ) CFG( fieldname )
|
||||
#include "xlast_portal2/inc_gameinstructor_lessons.inc"
|
||||
#undef CFG_DISABLED
|
||||
#undef CFG
|
||||
lessonbits_last_bit_used,
|
||||
lessonbits_total = 48 // leave room for total 48 lessons
|
||||
};
|
||||
|
||||
union LessonInfo_t
|
||||
{
|
||||
uint8 u8dummy;
|
||||
struct
|
||||
{
|
||||
uint8 display : 4;
|
||||
uint8 success : 4;
|
||||
};
|
||||
} lessoninfo[ lessonbits_total ];
|
||||
};
|
||||
GameInstructorData_t gameinstructor;
|
||||
};
|
||||
|
||||
//
|
||||
//
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
// This structure TitleData2 should remain
|
||||
// intact after we ship otherwise
|
||||
// users profiles will be busted.
|
||||
// You are allowed to add fields at the end
|
||||
// as long as structure size stays under
|
||||
// XPROFILE_SETTING_MAX_SIZE = 1000 bytes.
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
//
|
||||
struct TitleData2
|
||||
{
|
||||
// Achievement component bits
|
||||
enum AchievementBits_t
|
||||
{
|
||||
kAchievementComponentTotalCount = 0
|
||||
#define CFG( name, compcount, ... ) \
|
||||
+ STORAGE_COUNT_FOR_BITS( uint32, compcount )
|
||||
#include "xlast_portal2/inc_achievements.inc"
|
||||
#undef CFG
|
||||
};
|
||||
uint32 bitsAchievementsComponents[ kAchievementComponentTotalCount ];
|
||||
|
||||
// Add a padding for future progress achievement bits
|
||||
uint32 bitsAchievementFuture[ 64 ];
|
||||
|
||||
// Awards bitfields
|
||||
enum AwardBits_t
|
||||
{
|
||||
#define CFG( award, ... ) bitAward##award,
|
||||
#include "xlast_portal2/inc_asset_awards.inc"
|
||||
#undef CFG
|
||||
bitAward_last_bit_used,
|
||||
bitAwards_total = 32 // leave room for total 32 awards
|
||||
};
|
||||
uint32 awardbits[ STORAGE_COUNT_FOR_BITS( uint32, bitAwards_total ) ];
|
||||
|
||||
// Custom achievements data
|
||||
enum { kAchievement_SpreadTheLove_FriendsHuggedCount = 3 };
|
||||
uint64 ach_SpreadTheLove_FriendsHugged[ kAchievement_SpreadTheLove_FriendsHuggedCount ];
|
||||
enum { kAchievement_SpeedRunCoop_QualifiedRunsCount = 3 };
|
||||
uint16 ach_SpeedRunCoop_MapsQualified[ kAchievement_SpeedRunCoop_QualifiedRunsCount ];
|
||||
|
||||
// Add a padding for future custom achievements data
|
||||
uint32 bitsAchievementDataFuture[ 64 ];
|
||||
|
||||
// DLC ownership bits
|
||||
uint32 dlcbits[2];
|
||||
};
|
||||
|
||||
//
|
||||
//
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
// This structure TitleData3 should remain
|
||||
// intact after we ship otherwise
|
||||
// users profiles will be busted.
|
||||
// You are allowed to add fields at the end
|
||||
// as long as structure size stays under
|
||||
// XPROFILE_SETTING_MAX_SIZE = 1000 bytes.
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
//
|
||||
// struct TitleData3
|
||||
// {
|
||||
// uint64 unused; // unused, free for taking
|
||||
// };
|
||||
//
|
||||
//
|
||||
//
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
// This structure TitleData3 should remain
|
||||
// intact after we ship otherwise
|
||||
// users profiles will be busted.
|
||||
// You are allowed to add fields at the end
|
||||
// as long as structure size stays under
|
||||
// XPROFILE_SETTING_MAX_SIZE = 1000 bytes.
|
||||
// WARNING!! WARNING!! WARNING!! WARNING!!
|
||||
//
|
||||
struct TitleData3
|
||||
{
|
||||
uint32 version;
|
||||
|
||||
struct ConVarsSystem_t
|
||||
{
|
||||
#define CFG( name, scfgType, cppType, ... ) cppType name;
|
||||
#include "xlast_portal2/inc_gameconsole_settings_sys.inc"
|
||||
#undef CFG
|
||||
uint8 unused_uint8[2];
|
||||
uint32 unused_values[9];
|
||||
|
||||
enum Bits_bitfields_t
|
||||
{
|
||||
#define CFG( name ) name,
|
||||
#include "xlast_portal2/inc_gameconsole_settings_sys_bits.inc"
|
||||
#undef CFG
|
||||
bit_last
|
||||
};
|
||||
uint32 bitfields[ STORAGE_COUNT_FOR_BITS( uint32, bit_last ) ];
|
||||
|
||||
uint32 unused[10];
|
||||
};
|
||||
ConVarsSystem_t cvSystem;
|
||||
|
||||
struct ConVarsUser_t
|
||||
{
|
||||
#define CFG( name, scfgType, cppType ) cppType name;
|
||||
#include "xlast_portal2/inc_gameconsole_settings_usr.inc"
|
||||
#undef CFG
|
||||
uint32 unused_values[8];
|
||||
|
||||
enum Bits_bitfields_t
|
||||
{
|
||||
#define CFG( name ) name,
|
||||
#include "xlast_portal2/inc_gameconsole_settings_usr_bits.inc"
|
||||
#undef CFG
|
||||
bit_last
|
||||
};
|
||||
uint32 bitfields[ STORAGE_COUNT_FOR_BITS( uint32, bit_last ) ];
|
||||
|
||||
uint32 unused[10];
|
||||
};
|
||||
ConVarsUser_t cvUser;
|
||||
ConVarsUser_t cvUserSS;
|
||||
|
||||
struct GameStats_t
|
||||
{
|
||||
#define CFG( name, scfgType, cppType ) cppType name;
|
||||
#include "xlast_portal2/inc_gamestats.inc"
|
||||
#undef CFG
|
||||
uint32 unused_values[50];
|
||||
};
|
||||
GameStats_t gamestats;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
#define PORTAL2_LOBBY_CONFIG_COOP( szNetwork, szAccess ) \
|
||||
" system { " \
|
||||
" network " szNetwork " " \
|
||||
" access " szAccess " " \
|
||||
" } " \
|
||||
" game { " \
|
||||
" mode coop " \
|
||||
" map default " \
|
||||
" } "
|
||||
|
||||
|
||||
#define PORTAL2_DLCID_RETAIL_DLC1 ( 1ull << 0x01 )
|
||||
#define PORTAL2_DLCID_RETAIL_DLC2 ( 1ull << 0x02 )
|
||||
#define PORTAL2_DLCID_COOP_BOT_SKINS ( 1ull << 0x12 )
|
||||
#define PORTAL2_DLCID_COOP_BOT_HELMETS ( 1ull << 0x13 )
|
||||
#define PORTAL2_DLCID_COOP_BOT_ANTENNA ( 1ull << 0x14 )
|
||||
#define PORTAL2_DLC_ALLMASK ( PORTAL2_DLCID_RETAIL_DLC1 | PORTAL2_DLCID_RETAIL_DLC2 | PORTAL2_DLCID_COOP_BOT_SKINS | PORTAL2_DLCID_COOP_BOT_HELMETS | PORTAL2_DLCID_COOP_BOT_ANTENNA )
|
||||
|
||||
#define PORTAL2_DLC_APPID_COOP_BOT_SKINS 651
|
||||
#define PORTAL2_DLC_APPID_COOP_BOT_HELMETS 652
|
||||
#define PORTAL2_DLC_APPID_COOP_BOT_ANTENNA 653
|
||||
|
||||
#define PORTAL2_DLC_PKGID_COOP_BOT_SKINS 7364
|
||||
#define PORTAL2_DLC_PKGID_COOP_BOT_HELMETS 7365
|
||||
#define PORTAL2_DLC_PKGID_COOP_BOT_ANTENNA 7366
|
||||
|
||||
#define PORTAL2_DLC_PKGID_PCSTEAMPLAY 7397
|
||||
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma warning( pop )
|
||||
#endif
|
||||
#endif // IMATCHEXT_PORTAL2_H
|
Reference in New Issue
Block a user