]> git.sesse.net Git - ccbs/blobdiff - bigscreen/ccbs_bigscreen.cpp
Various changes and fixes for CC1.
[ccbs] / bigscreen / ccbs_bigscreen.cpp
index 8e65990f1dcdcac2a3ec999ed2e22b54d4330dea..b32c5b1405fa71bed93d5527ee978fcf75c98bc0 100644 (file)
@@ -27,7 +27,7 @@ unsigned char framebuf[SCREEN_WIDTH * SCREEN_HEIGHT * 4], screenbuf[SCREEN_WIDTH
 void init(pqxx::connection &conn)
 {
        std::vector<widestring> aux_screens;
-               
+       
        if (screens.size() == 0 || mainscreen != screens[0])
                delete mainscreen;
        
@@ -36,6 +36,9 @@ void init(pqxx::connection &conn)
        }
        screens.erase(screens.begin(), screens.end());
 
+       RotateScreen *rs = new RotateScreen();
+       mainscreen = rs;
+       
        conn.perform(FetchCurrentTournament(&active_tournament));
        conn.perform(FetchListOfActiveGroups(&active_groups));
 
@@ -50,60 +53,23 @@ void init(pqxx::connection &conn)
 
                        // memory leaks here?
                        for (unsigned j = 0; j < i->num_machines; ++j) {
-                               RotateScreen *rs = new RotateScreen();
-                               screens.push_back(rs);
                                rs->add_screen(new GroupScreen(conn, i->tournament, i->round, i->parallel, j, i->num_machines, i->players_per_machine));
                        }
                }
        }
 
-       // show auxilliary screens if we have zero, two or three other screens going
-       if (screens.size() < 4 && screens.size() != 1) {
-               RotateScreen *aux_screen = new RotateScreen();
-               screens.push_back(aux_screen);
-               
+       {
                conn.perform(FetchAuxilliaryScreens(&aux_screens));
                for (std::vector<widestring>::const_iterator i = aux_screens.begin(); i != aux_screens.end(); ++i) {
                        if (*i == widestring("top10scores")) {
-                               aux_screen->add_screen(new Top10ScoreScreen(conn, active_tournament.id));
+                               rs->add_screen(new Top10ScoreScreen(conn, active_tournament.id));
                                continue;
                        }
                        if (*i == widestring("top5chosen")) {
-                               aux_screen->add_screen(new Top5ChosenScreen(conn, active_tournament.id));
+                               rs->add_screen(new Top5ChosenScreen(conn, active_tournament.id));
                                continue;
                        }
-                       std::fprintf(stderr, "Foobarbaz?\n");
-               }
-
-               /*
-                * If we still have room, make yet another rotational screen with
-                * results from previous groups -- otherwise tack them onto the end
-                * of the auxilliary screens.
-                */
-               RotateScreen *finished_groups_screen = aux_screen;
-               if (screens.size() < 4 && screens.size() != 1) {
-                       finished_groups_screen = new RotateScreen();
-                       screens.push_back(finished_groups_screen);
                }
-                       
-               std::vector<SkeletonGroup> finished_groups;
-               conn.perform(FetchListOfFinishedGroups(active_tournament.id, &finished_groups));
-                       
-               for (std::vector<SkeletonGroup>::const_iterator i = finished_groups.begin(); i != finished_groups.end(); ++i) {
-                       finished_groups_screen->add_screen(new GroupScreen(conn, i->tournament, i->round, i->parallel, 0, 1, 1));
-               }
-       }
-       
-       // hack
-       screens.push_back(NULL);
-       screens.push_back(NULL);
-       screens.push_back(NULL);
-       screens.push_back(NULL);
-
-       if (screens[1] == NULL) {
-               mainscreen = screens[0];
-       } else {
-               mainscreen = new SplitScreen(screens[0], screens[1], screens[2], screens[3]);
        }
 }
 
@@ -131,7 +97,7 @@ int main(int argc, char **argv)
        
        try {
                init_freetype();
-               pqxx::connection conn("dbname=ccbs host=altersex.samfundet.no user=ccbs password=GeT|>>B_");
+               pqxx::connection conn("dbname=ccbs host=www.positivegaming.com user=ccbs password=GeT|>>B_");
                FlagTrigger tournament_changed(conn, "active_tournament");
                FlagTrigger rounds_changed(conn, "active_groups");