X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=bigscreen%2Fgroupscreen.cpp;h=cd6c86edccdb596660452a30fbd2096de61ae758;hb=2983d99d9fc6a9da891873b08a8f9360d88d104a;hp=b7f760c4fdfacb6984eb0c7bafdee8c3aae37365;hpb=3249565c84380988147146263597192830dd6371;p=ccbs diff --git a/bigscreen/groupscreen.cpp b/bigscreen/groupscreen.cpp index b7f760c..cd6c86e 100644 --- a/bigscreen/groupscreen.cpp +++ b/bigscreen/groupscreen.cpp @@ -6,6 +6,7 @@ #include "fetch_max_score_for_song.h" #include "fetch_max_score_for_player.h" #include "fetch_needs_update.h" +#include "fetch_highscore.h" #include "fonts.h" GroupScreen::GroupScreen(pqxx::connection &conn, unsigned tournament, unsigned round, unsigned parallel) @@ -314,11 +315,15 @@ void GroupScreen::draw(unsigned char *buf) this_width = my_draw_text(next_song->song.title, NULL, 20.0); my_draw_text(next_song->song.title, buf, 20.0, 400 - this_width/2, 457); - // fetch the high score later - text = widestring("High score: ") + widestring(pqxx::to_string(1234)) + - widestring(", by dufF in Challenge Cup 1, 2004"); - this_width = my_draw_text(text, NULL, 16.0); - my_draw_text(text, buf, 16.0, 400 - this_width/2, 487); + Highscore hs; + conn.perform(FetchHighscore(next_song->song.id, &hs)); + + if (hs.score != -1) { + text = widestring("High score: ") + widestring(pqxx::to_string(hs.score)) + + widestring(", by ") + hs.nick + widestring(" in ") + hs.tournament_name; + this_width = my_draw_text(text, NULL, 16.0); + my_draw_text(text, buf, 16.0, 400 - this_width/2, 487); + } } // only show lead/win/qualify for the last song @@ -429,7 +434,7 @@ void GroupScreen::draw(unsigned char *buf) y += 30; } - if (next_player->total + max_score_this_song > qualify_beat_worst_case) { + if (next_player->total + max_score_this_song > qualify_beat_worst_case && (qualify_beat_worst_case != win_beat)) { int qual_need = std::max(qualify_beat_worst_case - next_player->total + 1, 0U); if (qualify_beat_worst_case == qualify_beat_best_case) {