Class xMapVoteHistory extends Object config(xMapVoteHistory); var config array M; struct FMapInfoEntry { var config int U,D,S,N; var config string T; }; var config array N; static final function int GetMapHistory( string MapName, string MapTitle ) { local int i; MapName = Caps(MapName); i = Default.M.Find(MapName); if( i==-1 ) { i = Default.M.Length; Default.M.Length = i+1; Default.M[i] = MapName; Default.N.Length = i+1; } if( !(MapTitle~=MapName) && MapTitle!=Class'WorldInfo'.Default.Title && MapTitle!="" ) Default.N[i].T = MapTitle; return i; } static final function GetHistory( int i, out int UpVotes, out int DownVotes, out int Seq, out int NumP, out string Title ) { UpVotes = Default.N[i].U; DownVotes = Default.N[i].D; Seq = Default.N[i].S; NumP = Default.N[i].N; Title = Default.N[i].T; } static final function UpdateMapHistory( int iWon ) { local int i; for( i=(Default.M.Length-1); i>=0; --i ) { if( i==iWon ) { ++Default.N[i].N; Default.N[i].S = 0; } else ++Default.N[i].S; } } static final function AddMapKarma( int i, bool bUp ) { if( bUp ) ++Default.N[i].U; else ++Default.N[i].D; }