mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-15 05:06:57 +00:00
1
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: The dod game stats header
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
|
||||
#ifndef DOD_GAMESTATS_H
|
||||
#define DOD_GAMESTATS_H
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
// Redefine some things for the stat reader so it doesn't have to include weapon_dodbase.h
|
||||
#ifndef GAME_DLL
|
||||
|
||||
typedef enum
|
||||
{
|
||||
WEAPON_NONE = 0,
|
||||
|
||||
//Melee
|
||||
WEAPON_AMERKNIFE,
|
||||
WEAPON_SPADE,
|
||||
|
||||
//Pistols
|
||||
WEAPON_COLT,
|
||||
WEAPON_P38,
|
||||
WEAPON_C96,
|
||||
|
||||
//Rifles
|
||||
WEAPON_GARAND,
|
||||
WEAPON_M1CARBINE,
|
||||
WEAPON_K98,
|
||||
|
||||
//Sniper Rifles
|
||||
WEAPON_SPRING,
|
||||
WEAPON_K98_SCOPED,
|
||||
|
||||
//SMG
|
||||
WEAPON_THOMPSON,
|
||||
WEAPON_MP40,
|
||||
WEAPON_MP44,
|
||||
WEAPON_BAR,
|
||||
|
||||
//Machine guns
|
||||
WEAPON_30CAL,
|
||||
WEAPON_MG42,
|
||||
|
||||
//Rocket weapons
|
||||
WEAPON_BAZOOKA,
|
||||
WEAPON_PSCHRECK,
|
||||
|
||||
//Grenades
|
||||
WEAPON_FRAG_US,
|
||||
WEAPON_FRAG_GER,
|
||||
|
||||
WEAPON_FRAG_US_LIVE,
|
||||
WEAPON_FRAG_GER_LIVE,
|
||||
|
||||
WEAPON_SMOKE_US,
|
||||
WEAPON_SMOKE_GER,
|
||||
|
||||
WEAPON_RIFLEGREN_US,
|
||||
WEAPON_RIFLEGREN_GER,
|
||||
|
||||
WEAPON_RIFLEGREN_US_LIVE,
|
||||
WEAPON_RIFLEGREN_GER_LIVE,
|
||||
|
||||
// not actually separate weapons, but defines used in stats recording
|
||||
// find a better way to do this without polluting the list of actual weapons.
|
||||
WEAPON_THOMPSON_PUNCH,
|
||||
WEAPON_MP40_PUNCH,
|
||||
|
||||
WEAPON_GARAND_ZOOMED,
|
||||
WEAPON_K98_ZOOMED,
|
||||
WEAPON_SPRING_ZOOMED,
|
||||
WEAPON_K98_SCOPED_ZOOMED,
|
||||
|
||||
WEAPON_30CAL_UNDEPLOYED,
|
||||
WEAPON_MG42_UNDEPLOYED,
|
||||
|
||||
WEAPON_BAR_SEMIAUTO,
|
||||
WEAPON_MP44_SEMIAUTO,
|
||||
|
||||
WEAPON_MAX, // number of weapons weapon index
|
||||
|
||||
} DODWeaponID;
|
||||
|
||||
#endif // ndef WEAPON_NONE
|
||||
|
||||
#define DOD_STATS_BLOB_VERSION 1
|
||||
|
||||
#define DOD_NUM_DISTANCE_STAT_WEAPONS 22
|
||||
#define DOD_NUM_NODIST_STAT_WEAPONS 14
|
||||
#define DOD_NUM_WEAPON_DISTANCE_BUCKETS 10
|
||||
|
||||
extern int iDistanceStatWeapons[DOD_NUM_DISTANCE_STAT_WEAPONS];
|
||||
extern int iNoDistStatWeapons[DOD_NUM_NODIST_STAT_WEAPONS];
|
||||
extern int iWeaponBucketDistances[DOD_NUM_WEAPON_DISTANCE_BUCKETS-1];
|
||||
|
||||
#ifndef GAME_DLL
|
||||
extern const char * s_WeaponAliasInfo[];
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char szGameName[8];
|
||||
byte iVersion;
|
||||
char szMapName[32];
|
||||
char ipAddr[4];
|
||||
short port;
|
||||
int serverid;
|
||||
} gamestats_header_t;
|
||||
|
||||
// Stats for bullet weapons - includes distance of hits
|
||||
typedef struct
|
||||
{
|
||||
short iNumAttacks; // times fired
|
||||
short iNumHits; // times hit
|
||||
|
||||
// distance buckets - distances are defined per-weapon ( 0 is closest, buckets-1 farthest )
|
||||
short iDistanceBuckets[DOD_NUM_WEAPON_DISTANCE_BUCKETS];
|
||||
|
||||
} dod_gamestats_weapon_distance_t;
|
||||
|
||||
// Stats for non-bullet weapons
|
||||
typedef struct
|
||||
{
|
||||
short iNumAttacks; // times fired
|
||||
short iNumHits; // times hit
|
||||
} dod_gamestats_weapon_nodist_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
gamestats_header_t header;
|
||||
|
||||
// Team Scores
|
||||
byte iNumAlliesWins;
|
||||
byte iNumAxisWins;
|
||||
|
||||
short iAlliesTickPoints;
|
||||
short iAxisTickPoints;
|
||||
|
||||
short iMinutesPlayed; // time spent on the map rotation
|
||||
|
||||
// Player Data
|
||||
short iMinutesPlayedPerClass_Allies[7]; // includes random
|
||||
short iMinutesPlayedPerClass_Axis[7]; // includes random
|
||||
|
||||
short iKillsPerClass_Allies[6];
|
||||
short iKillsPerClass_Axis[6];
|
||||
|
||||
short iSpawnsPerClass_Allies[6];
|
||||
short iSpawnsPerClass_Axis[6];
|
||||
|
||||
short iCapsPerClass_Allies[6];
|
||||
short iCapsPerClass_Axis[6];
|
||||
|
||||
byte iDefensesPerClass_Allies[6];
|
||||
byte iDefensesPerClass_Axis[6];
|
||||
|
||||
// Server Settings
|
||||
// assume these class limits don't change through the course of the map
|
||||
byte iClassLimits_Allies[6];
|
||||
byte iClassLimits_Axis[6];
|
||||
|
||||
// Weapon Data
|
||||
dod_gamestats_weapon_distance_t weaponStatsDistance[DOD_NUM_DISTANCE_STAT_WEAPONS]; // 14 * 22 = 308 bytes
|
||||
dod_gamestats_weapon_nodist_t weaponStats[DOD_NUM_NODIST_STAT_WEAPONS]; // 4 * 14 = 56 bytes
|
||||
|
||||
// how many times a weapon was picked up ?
|
||||
|
||||
} dod_gamestats_t;
|
||||
|
||||
#endif // DOD_GAMESTATS_H
|
||||
Reference in New Issue
Block a user