From aa3ad745ce12a27a18f94ed51b1f58078489f3bc Mon Sep 17 00:00:00 2001 From: cosmosninja Date: Wed, 21 Nov 2007 01:51:57 +0000 Subject: [PATCH] GUI improvements git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@1297 178a84e3-b1eb-0310-8ba1-8eac791a3b58 --- src/gui/grand_prix_ending.cpp | 10 +---- src/gui/grand_prix_select.cpp | 22 ----------- src/gui/race_results_gui.cpp | 69 +++++++++++++++++++---------------- 3 files changed, 39 insertions(+), 62 deletions(-) diff --git a/src/gui/grand_prix_ending.cpp b/src/gui/grand_prix_ending.cpp index ecbf355d0..d977991c3 100644 --- a/src/gui/grand_prix_ending.cpp +++ b/src/gui/grand_prix_ending.cpp @@ -58,8 +58,6 @@ GrandPrixEnd::GrandPrixEnd() m_context = new ssgContext; oldContext->makeCurrent(); -// m_menu_id = widgetSet -> vstack(0); - int highest = 0; //FIXME: We go from the back to the front because the players are in the //back and in case of a tie they will win against the AI, *but* if it's @@ -80,14 +78,11 @@ GrandPrixEnd::GrandPrixEnd() widget_manager->set_wgt_text(WTOK_TITLE, output); widget_manager->set_wgt_text_size(WTOK_TITLE, WGT_FNT_LRG); widget_manager->break_line(); -// widgetSet -> label(m_menu_id, output, GUI_LRG, GUI_ALL, 0, 0); const unsigned int MAX_STR_LEN = 60; const unsigned int NUM_KARTS = world->getNumKarts(); -// const int VA = widgetSet->varray(m_menu_id); - Kart *kart; int *scores = new int[NUM_KARTS]; int *position = new int[NUM_KARTS]; @@ -142,13 +137,13 @@ GrandPrixEnd::GrandPrixEnd() delete []scores; delete []position; - widget_manager->add_wgt(WTOK_QUIT, 40, 7); + widget_manager->add_wgt(WTOK_QUIT, 50, 7); widget_manager->activate_wgt(WTOK_QUIT); widget_manager->show_wgt_rect(WTOK_QUIT); widget_manager->show_wgt_text(WTOK_QUIT); widget_manager->set_wgt_text(WTOK_QUIT, _("Back to the main menu")); - widget_manager->layout(WGT_AREA_ALL); + widget_manager->layout(WGT_AREA_TOP); m_kart = new ssgTransform; m_kart->ref(); @@ -172,7 +167,6 @@ GrandPrixEnd::GrandPrixEnd() GrandPrixEnd::~GrandPrixEnd() { widget_manager->delete_wgts(); - //widgetSet -> delete_widget(m_menu_id); ssgDeRefDelete(m_kart); delete m_context; diff --git a/src/gui/grand_prix_select.cpp b/src/gui/grand_prix_select.cpp index 0d154f46f..56600c68d 100644 --- a/src/gui/grand_prix_select.cpp +++ b/src/gui/grand_prix_select.cpp @@ -126,28 +126,6 @@ void GrandPrixSelect::update(float dt) const CupData &cup = m_all_cups[CLICKED_TOKEN - WTOK_FIRSTPRIX]; widget_manager->set_wgt_text(WTOK_DESCRIPTION, cup.getDescription()); -//FIXME: The following triggers a crash; it is left to be investigated later. -#if 0 - glMatrixMode(GL_PROJECTION); - glPushMatrix(); - glLoadIdentity(); - glOrtho(0.0, user_config->m_width, 0.0, user_config->m_height, -1.0, +1.0); - glMatrixMode(GL_MODELVIEW); - glEnable(GL_BLEND); - const CupData &cup = m_all_cups[CLICKED_TOKEN-WTOK_FIRSTPRIX]; - glPushMatrix(); - glBindTexture(GL_TEXTURE_2D, 0); - const GLfloat BACKGROUND_COLOUR[4] = { 0.3f, 0.3f, 0.3f, 0.5f }; - glColor4fv(BACKGROUND_COLOUR); - glPopMatrix(); - font_gui->Print(cup.getDescription(), WGT_FNT_MED, - Font::ALIGN_CENTER, -1, Font::ALIGN_BOTTOM, 10); - glDisable(GL_BLEND); - glMatrixMode(GL_PROJECTION); - glPopMatrix(); - glMatrixMode(GL_MODELVIEW); -#endif - return; } diff --git a/src/gui/race_results_gui.cpp b/src/gui/race_results_gui.cpp index 9ff40a20c..4fc763b48 100644 --- a/src/gui/race_results_gui.cpp +++ b/src/gui/race_results_gui.cpp @@ -30,9 +30,10 @@ enum WidgetTokens { WTOK_TITLE, - WTOK_EMPTY, + WTOK_EMPTY0, WTOK_HIGHSCORES, WTOK_RESULTS, + WTOK_EMPTY1, WTOK_CONTINUE, WTOK_RESTART_RACE, WTOK_SETUP_NEW_RACE, @@ -49,15 +50,17 @@ RaceResultsGUI::RaceResultsGUI() widget_manager->set_wgt_text(WTOK_TITLE, _("Result")); widget_manager->break_line(); - widget_manager->add_wgt(WTOK_EMPTY, 60, 5); - widget_manager->hide_wgt_rect(WTOK_EMPTY); - widget_manager->hide_wgt_text(WTOK_EMPTY); + widget_manager->add_wgt(WTOK_EMPTY0, 60, 5); + widget_manager->hide_wgt_rect(WTOK_EMPTY0); + widget_manager->hide_wgt_text(WTOK_EMPTY0); widget_manager->break_line(); - widget_manager->add_wgt(WTOK_RESULTS, 40, 7); + widget_manager->add_wgt(WTOK_RESULTS, 50, 7); widget_manager->set_wgt_text(WTOK_RESULTS, _("Race results")); - widget_manager->add_wgt(WTOK_HIGHSCORES, 40, 7); +#if 0 + widget_manager->add_wgt(WTOK_HIGHSCORES, 50, 7); widget_manager->set_wgt_text(WTOK_HIGHSCORES, _("Highscores")); +#endif widget_manager->break_line(); @@ -68,6 +71,10 @@ RaceResultsGUI::RaceResultsGUI() m_score = new char[NUM_KARTS * MAX_STR_LEN]; unsigned int max_name_len = 1; + const Highscores *hs = world->getHighscores(); + int num_scores = hs->getNumberEntries(); + m_highscores = new char[num_scores * MAX_STR_LEN]; + for(unsigned int i=0; i < NUM_KARTS; i++) { Kart *k = world->getKart(i); @@ -105,19 +112,19 @@ RaceResultsGUI::RaceResultsGUI() KART->getPosition(), KART_NAME.c_str(), sTime); } - widget_manager->add_wgt(WTOK_FIRST_RESULT + i, 80, 7); + widget_manager->add_wgt(WTOK_FIRST_RESULT + i, 50, 7); widget_manager->set_wgt_text(WTOK_FIRST_RESULT + i, (char*)(m_score + MAX_STR_LEN * i)); + widget_manager->break_line(); } delete[] order; - const Highscores *hs = world->getHighscores(); - int num_scores = hs->getNumberEntries(); - m_highscores = new char[num_scores * MAX_STR_LEN]; for(int i=0; igetEntry(i, kart_name, name, &T); const int MINS = (int) floor ( T / 60.0 ) ; @@ -125,40 +132,38 @@ RaceResultsGUI::RaceResultsGUI() const int TENTHS = (int) floor ( 10.0f * (T - (float)(SECS + 60*MINS))); sprintf((char*)(m_highscores + MAX_STR_LEN * i), "%s: %3d:%02d.%01d", name.c_str(), MINS, SECS, TENTHS); -/* widgetSet->label(HIGHSCORE_TABLE, (char*)(m_highscores+MAX_STR_LEN*i), - GUI_MED, GUI_ALL);*/ + widget_manager->add_wgt(WTOK_FIRST_HIGHSCORE + i, 40, 7); + widget_manager->set_wgt_text(WTOK_FIRST_HIGHSCORE + i, + (char*)(m_highscores+MAX_STR_LEN*i));*/ } -// widgetSet -> space(m_menu_id); - - // const int VA = widgetSet -> varray(m_menu_id); - -#if 0 - static int dev_msg_counter = 0; - if(dev_msg_counter == 2) - { - widgetSet -> label(m_menu_id, _("We need more developers! \ -if you want to help contact us!"), GUI_SML, GUI_ALL, 0, 0); - dev_msg_counter = 0; - } - ++dev_msg_counter; -#endif + widget_manager->add_wgt(WTOK_EMPTY1, 60, 5); + widget_manager->hide_wgt_rect(WTOK_EMPTY1); + widget_manager->hide_wgt_text(WTOK_EMPTY1); + widget_manager->break_line(); + widget_manager->set_initial_activation_state(true); + widget_manager->add_wgt( WTOK_CONTINUE, 60, 7); if(world->m_race_setup.m_mode==RaceSetup::RM_GRAND_PRIX) { -// widgetSet -> start(m_menu_id, _("Continue Grand Prix"), GUI_MED, WTOK_CONTINUE); + widget_manager->set_wgt_text( WTOK_CONTINUE, _("Continue Grand Prix")); } else { -// widgetSet -> start(m_menu_id, _("Back to the main menu"), GUI_MED, WTOK_CONTINUE); + widget_manager->set_wgt_text( WTOK_CONTINUE, _("Back to the main menu")); } -// widgetSet -> start(m_menu_id, _("Race in this track again"), GUI_MED, WTOK_RESTART_RACE); + widget_manager->break_line(); + + widget_manager->add_wgt( WTOK_RESTART_RACE, 60, 7); + widget_manager->set_wgt_text( WTOK_RESTART_RACE, _("Race in this track again")); + widget_manager->break_line(); + if(world->m_race_setup.m_mode==RaceSetup::RM_QUICK_RACE) { -// widgetSet -> start(m_menu_id, _("Setup New Race"), GUI_MED, WTOK_SETUP_NEW_RACE); + widget_manager->add_wgt( WTOK_SETUP_NEW_RACE, 60, 7); + widget_manager->set_wgt_text( WTOK_SETUP_NEW_RACE, _("Setup New Race")); } -// widgetSet -> layout(m_menu_id, 0, 0); widget_manager->layout(WGT_AREA_ALL); } // RaceResultsGUI