|
|
//========= Copyright � 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef PORTAL_SHAREDDEFS_H
#define PORTAL_SHAREDDEFS_H
#ifdef _WIN32
#pragma once
#endif
#define PORTAL2_MP_SAVE_FILE "coop_data.txt"
#define PORTAL2_MP_TEAM_TAUNT_FORCE_LENGTH 64
#define PORTAL_PLAYER_PREDICTION
#define PORTAL_HALF_DEPTH 2.0f
#define PORTAL_BUMP_FORGIVENESS 2.0f
enum PortalPlacementResult_t { // Success cases
PORTAL_PLACEMENT_SUCCESS, // Placed exactly where shot
PORTAL_PLACEMENT_USED_HELPER, // A placement helper positioned this portal
PORTAL_PLACEMENT_BUMPED, // Placed but needed to move to fit
// Fail cases
PORTAL_PLACEMENT_CANT_FIT, // No space to fit
PORTAL_PLACEMENT_CLEANSER, // Hit a cleanser
PORTAL_PLACEMENT_OVERLAP_LINKED, // Hit a linked portal that cannot move
PORTAL_PLACEMENT_OVERLAP_PARTNER_PORTAL,// Hit a partner portal that cannot move
PORTAL_PLACEMENT_INVALID_VOLUME, // Inside a "no portal" volume
PORTAL_PLACEMENT_INVALID_SURFACE, // Hit a "no portal" surface
PORTAL_PLACEMENT_PASSTHROUGH_SURFACE, // Error case (portal trace failed to hit anything)
};
#define MIN_FLING_SPEED 300
#define PORTAL_HIDE_PLAYER_RAGDOLL
enum PortalFizzleType_t { PORTAL_FIZZLE_SUCCESS = 0, // Placed fine (no fizzle)
PORTAL_FIZZLE_CANT_FIT, PORTAL_FIZZLE_OVERLAPPED_LINKED, PORTAL_FIZZLE_BAD_VOLUME, PORTAL_FIZZLE_BAD_SURFACE, PORTAL_FIZZLE_KILLED, PORTAL_FIZZLE_CLEANSER, PORTAL_FIZZLE_CLOSE, PORTAL_FIZZLE_NEAR_BLUE, PORTAL_FIZZLE_NEAR_RED, PORTAL_FIZZLE_NONE,
NUM_PORTAL_FIZZLE_TYPES };
enum PortalPlacedBy_t { PORTAL_PLACED_BY_FIXED = 0, PORTAL_PLACED_BY_PEDESTAL, PORTAL_PLACED_BY_PLAYER };
enum PortalLevelStatType { PORTAL_LEVEL_STAT_NUM_PORTALS = 0, PORTAL_LEVEL_STAT_NUM_STEPS, PORTAL_LEVEL_STAT_NUM_SECONDS,
PORTAL_LEVEL_STAT_TOTAL };
enum PortalChallengeType { PORTAL_CHALLENGE_NONE = 0, PORTAL_CHALLENGE_PORTALS, PORTAL_CHALLENGE_STEPS, PORTAL_CHALLENGE_TIME,
PORTAL_CHALLENGE_TOTAL };
enum PortalEvent_t { PORTALEVENT_LINKED, // This portal has linked to another portal and opened
PORTALEVENT_FIZZLE, // Portal has fizzled
PORTALEVENT_MOVED, // Portal has moved its position
PORTALEVENT_ENTITY_TELEPORTED_TO, // Entity (player or not) has teleported to this portal
PORTALEVENT_ENTITY_TELEPORTED_FROM, // Entity (player or not) has teleported away from this portal
PORTALEVENT_PLAYER_TELEPORTED_TO, // Player has teleported to this portal
PORTALEVENT_PLAYER_TELEPORTED_FROM, // Player has teleported away from this portal
};
enum TeamTauntState_t { TEAM_TAUNT_NONE, TEAM_TAUNT_NEED_PARTNER, TEAM_TAUNT_HAS_PARTNER, TEAM_TAUNT_SUCCESS, TEAM_TAUNT_STATE_TOTAL };
enum PortalSurfaceType_t { PORTAL_SURFACE_PAINT = 0, PORTAL_SURFACE_VALID = 1, PORTAL_SURFACE_INVALID };
enum { P2BOT_INVALID = 0,
P2BOT_PBODY = 1, P2BOT_ATLAS,
P2BOT_NUMBOTS, };
enum GameType_t { GAMETYPE_STANDARD_SP = 0, GAMETYPE_STANDARD_COOP, GAMETYPE_CHALLENGE_SP, GAMETYPE_CHALLENGE_COOP, GAMETYPE_COMMUNITY_SP, GAMETYPE_COMMUNITY_SP_QUICKPLAY, GAMETYPE_COMMUNITY_COOP, GAMETYPE_COMMUNITY_COOP_QUICKPLAY, GAMETYPE_PUZZLEMAKER_SP_EDITING, GAMETYPE_PUZZLEMAKER_SP_PREVIEWING, GAMETYPE_PUZZLEMAKER_COOP_EDITING, GAMETYPE_PUZZLEMAKER_COOP_PREVIEWING };
#define PORTAL2_PROMO_SKINS ( 1 << 0 )
#define PORTAL2_PROMO_HELMETS ( 1 << 1 )
#define PORTAL2_PROMO_ANTENNA ( 1 << 2 )
extern int g_nPortal2PromoFlags;
extern char *g_ppszPortalPassThroughMaterials[];
#define USE_SLOWTIME 0
#endif // PORTAL_SHAREDDEFS_H
|