X-Git-Url: https://git.sesse.net/?p=ccbs;a=blobdiff_plain;f=bigscreen%2Fgroupscreen.cpp;h=7b0175a62b8a617b5f15c00e6c8dd73b67f5cfef;hp=fbdcc5ed89aac1ea9e44fe3ad7159b53e81b5936;hb=8963fce7337a09bdcfea051a81c0c3d9281acd6e;hpb=57c939a53665f808b2429461d547271adf2c5908 diff --git a/bigscreen/groupscreen.cpp b/bigscreen/groupscreen.cpp index fbdcc5e..7b0175a 100644 --- a/bigscreen/groupscreen.cpp +++ b/bigscreen/groupscreen.cpp @@ -5,7 +5,7 @@ #include "groupscreen.h" #include "fetch_group.h" #include "fetch_max_score_for_songs.h" -#include "fetch_max_score_for_player.h" +#include "fetch_max_score_for_players.h" #include "fetch_needs_update.h" #include "fetch_highscore.h" #include "fonts.h" @@ -45,8 +45,9 @@ void GroupScreen::draw(unsigned char *buf) * We'll probably need some values from here later on (although not all), just fetch them * all while we're at it. */ - std::map song_scores; + std::map song_scores, player_scores; conn.perform(FetchMaxScoreForSongs(tournament, &song_scores)); + conn.perform(FetchMaxScoreForPlayers(tournament, round, &player_scores)); Group group; conn.perform(FetchGroup(tournament, round, parallel, &group)); @@ -211,8 +212,6 @@ void GroupScreen::draw(unsigned char *buf) * matter of sorting; the best attainable rank for player X is obtained if * X gets max score and all others get min score, the worst attainable rank * is obtained if X gets min score and all others get max score. - * - * This is a bit SQL-heavy, but heck... */ std::vector max_score, min_score; for (std::vector::const_iterator i = group.players.begin(); i != group.players.end(); ++i) { @@ -228,7 +227,7 @@ void GroupScreen::draw(unsigned char *buf) // random song, or we know what song the player picked max_score_this_song = song_scores[j->song.id]; } else { - conn.perform(FetchMaxScoreForPlayer(tournament, i->id, round, &max_score_this_song)); + max_score_this_song = player_scores[i->id]; } max_score_tp += max_score_this_song; } @@ -360,7 +359,7 @@ void GroupScreen::draw(unsigned char *buf) // random song, or we know what song the player picked max_score_this_song = song_scores[next_song->song.id]; } else { - conn.perform(FetchMaxScoreForPlayer(tournament, next_player->id, round, &max_score_this_song)); + max_score_this_song = player_scores[next_player->id]; } unsigned y = 520;