diff options
Diffstat (limited to 'utils/tfstats/whokilledwho.h')
| -rw-r--r-- | utils/tfstats/whokilledwho.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/utils/tfstats/whokilledwho.h b/utils/tfstats/whokilledwho.h new file mode 100644 index 0000000..88aad08 --- /dev/null +++ b/utils/tfstats/whokilledwho.h @@ -0,0 +1,60 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Implementation of CWhoKilledWho +// +// $Workfile: $ +// $Date: $ +// +//------------------------------------------------------------------------------------------------------ +// $Log: $ +// +// $NoKeywords: $ +//=============================================================================// +#ifndef WHOKILLEDWHO_H +#define WHOKILLEDWHO_H +#ifdef WIN32 +#pragma once +#endif + +#include "report.h" + +//------------------------------------------------------------------------------------------------------ +// Purpose: CWhoKilledWho is a report element that outputs a detailed scoreboard +// showing, in a 2x2 matrix who killed who how many times. On the edges of the +// matrix, total kills and total deaths for each player are also tallied up +//------------------------------------------------------------------------------------------------------ +class CWhoKilledWho :public CReport +{ +private: + + int* kills; + int size; + int* deaths; + + //bids map from a player ID to a "board ID" because + //player IDs are not necessarily contiguous + //and rarely start at 0 + map<PID,int> bids; + int nextbid; + + //this maps from bids back to pids + map<int,PID> pids; + + map<pair<int,PID>,int> bidMap; + map<int,pair<int,PID> > bidMap2; + + //returns the style class for a cell in the html table + const char* getCellClass(int u,int v); + void init(); + + void makeBidMap(); +public: + explicit CWhoKilledWho(){kills=deaths=NULL;init();} + void generate(); + void writeHTML(CHTMLFile& html); + ~CWhoKilledWho(); +}; + + + +#endif // WHOKILLEDWHO_H |