diff options
| author | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
|---|---|---|
| committer | FluorescentCIAAfricanAmerican <[email protected]> | 2020-04-22 12:56:21 -0400 |
| commit | 3bf9df6b2785fa6d951086978a3e66f49427166a (patch) | |
| tree | 2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /utils/tfstats/playerspecifics.cpp | |
| download | archived-source-engine-2018-hl2-src-master.tar.xz archived-source-engine-2018-hl2-src-master.zip | |
Diffstat (limited to 'utils/tfstats/playerspecifics.cpp')
| -rw-r--r-- | utils/tfstats/playerspecifics.cpp | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/utils/tfstats/playerspecifics.cpp b/utils/tfstats/playerspecifics.cpp new file mode 100644 index 0000000..5edde84 --- /dev/null +++ b/utils/tfstats/playerspecifics.cpp @@ -0,0 +1,96 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: Implementation of CPlayerSpecifics +// +// $Workfile: $ +// $Date: $ +// +//------------------------------------------------------------------------------------------------------ +// $Log: $ +// +// $NoKeywords: $ +//=============================================================================// +#include "PlayerSpecifics.h" +#include "PlayerReport.h" + +//------------------------------------------------------------------------------------------------------ +// Function: CPlayerSpecifics::init +// Purpose: intializes the object +//------------------------------------------------------------------------------------------------------ +void CPlayerSpecifics::init() +{ +} + +//------------------------------------------------------------------------------------------------------ +// Function: CPlayerSpecifics::generate +// Purpose: generates intermediate data from match info +//------------------------------------------------------------------------------------------------------ +void CPlayerSpecifics::generate() +{ +} + +//------------------------------------------------------------------------------------------------------ +// Function: CPlayerSpecifics::writeHTML +// Purpose: writes out html based on the intermediate data generated by generate() +// Input: html - the html file to output to +//------------------------------------------------------------------------------------------------------ +void CPlayerSpecifics::writeHTML(CHTMLFile& html) +{ + int numteams=0; + for (int t=0;t<MAX_TEAMS;t++) + if (g_pMatchInfo->teamExists(t)) numteams++; + + html.write("<table cols=%li cellspacing=0 border=0 cellpadding=10 bordercolor=black>\n",numteams); + + CPlayerListIterator i; + //multimap<double,CPlayer,greater<double> > ranksort; + + //split playerlist into teams; + multimap<double,CPlayer,greater<double> > rankedteams[MAX_TEAMS]; + + for (i=g_pMatchInfo->playerBegin();i!=g_pMatchInfo->playerEnd();++i) + { + PID pid=(*i).first; + CPlayer p=(*i).second; + for (int t=0;t<MAX_TEAMS;t++) + { + if (p.teams.contains(t)) + { + double rank=p.perteam[t].rank(); + pair<double,CPlayer> insertme(rank,p); + rankedteams[t].insert(insertme); + } + } + } + + while(!rankedteams[0].empty() || !rankedteams[1].empty() || !rankedteams[2].empty() || !rankedteams[3].empty()) + { + html.write("<tr>\n"); + int t; + + for (t=0;t<MAX_TEAMS;t++) + { + if (!g_pMatchInfo->teamExists(t)) + continue; + + html.write("<td width=250 valign=top>"); + + + if (rankedteams[t].begin()==rankedteams[t].end()) + continue; + else + { + CPlayer& plr=(*(rankedteams[t].begin())).second; + CPlayerReport cpr(&plr,t); + cpr.writeHTML(html); + rankedteams[t].erase(rankedteams[t].begin()); + //break; + } + html.write("</td>\n"); + } + html.write("</tr>\n"); + } + html.write("</table>"); + +} + |