Changeset - r9526:5508b9352ac9
[Not reviewed]
master
0 1 0
skidd13 - 16 years ago 2008-06-15 16:11:25
skidd13@openttd.org
(svn r13522) -Codechange: Replace the qsort of the highscore with one of the internal sorters
1 file changed with 5 insertions and 6 deletions:
0 comments (0 inline, 0 general)
src/players.cpp
Show inline comments
 
@@ -28,6 +28,7 @@
 
#include "vehicle_func.h"
 
#include "sound_func.h"
 
#include "core/alloc_func.hpp"
 
#include "core/sort_func.hpp"
 
#include "autoreplace_func.h"
 
#include "autoreplace_gui.h"
 
#include "string_func.h"
 
@@ -1021,12 +1022,9 @@ int8 SaveHighScoreValue(const Player *p)
 
}
 

	
 
/** Sort all players given their performance */
 
static int CDECL HighScoreSorter(const void *a, const void *b)
 
static int CDECL HighScoreSorter(const Player* const *a, const Player* const *b)
 
{
 
	const Player *pa = *(const Player* const*)a;
 
	const Player *pb = *(const Player* const*)b;
 

	
 
	return pb->old_economy[0].performance_history - pa->old_economy[0].performance_history;
 
	return (*b)->old_economy[0].performance_history - (*a)->old_economy[0].performance_history;
 
}
 

	
 
/* Save the highscores in a network game when it has ended */
 
@@ -1040,7 +1038,8 @@ int8 SaveHighScoreValueNetwork()
 

	
 
	/* Sort all active players with the highest score first */
 
	FOR_ALL_PLAYERS(p) if (p->is_active) pl[count++] = p;
 
	qsort((Player*)pl, count, sizeof(pl[0]), HighScoreSorter);
 

	
 
	GSortT(pl, count, &HighScoreSorter);
 

	
 
	{
 
		uint i;
0 comments (0 inline, 0 general)