1) Fixed result display for time trial (the actual lap time

was not being displayed)
2) Removed number of points from quick race and time trial
   result display (since it's meaningless anyway).
3) Fixed highscores for time trials.

(see 1141 commit on 0.3rc1 branch).



git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/trunk/supertuxkart@1142 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
hiker 2007-06-05 03:45:43 +00:00
parent e373dbbe07
commit 7e560d7ed8
2 changed files with 20 additions and 10 deletions

View File

@ -65,7 +65,7 @@ RaceResultsGUI::RaceResultsGUI()
const Kart *KART = world->getKart(order[i]);
const std::string& KART_NAME = KART->getName();
char sTime[20];
if(i==NUM_KARTS-1)
if(i==NUM_KARTS-1 && world->m_race_setup.m_mode!=RaceSetup::RM_TIME_TRIAL)
{
sprintf(sTime," ");
}
@ -75,12 +75,20 @@ RaceResultsGUI::RaceResultsGUI()
TimeToString(T, sTime);
}
//This shows position + driver name + time + points earned + total points
sprintf((char*)(m_score + MAX_STR_LEN * i), "%d. %s %s +%d %d",
KART->getPosition(), KART_NAME.c_str(), sTime,
race_manager->getPositionScore(i+1),
race_manager->getKartScore(order[i]));
widgetSet -> label(RESULT_TABLE, (char*)(m_score + MAX_STR_LEN * i),
GUI_MED, GUI_ALL);
if(world->m_race_setup.m_mode==RaceSetup::RM_GRAND_PRIX)
{
sprintf((char*)(m_score + MAX_STR_LEN * i), "%d. %s %s +%d %d",
KART->getPosition(), KART_NAME.c_str(), sTime,
race_manager->getPositionScore(i+1),
race_manager->getKartScore(order[i]));
}
else
{
sprintf((char*)(m_score + MAX_STR_LEN * i), "%d. %s %s",
KART->getPosition(), KART_NAME.c_str(), sTime);
}
widgetSet -> label(RESULT_TABLE, (char*)(m_score + MAX_STR_LEN * i),
GUI_MED, GUI_ALL);
}
delete[] order;

View File

@ -284,9 +284,11 @@ void World::update(float delta)
index[m_kart[i]->getPosition()-1] = i;
}
// Don't record the time for the last kart, since it didn't
// finish the race.
for(unsigned int pos=0; pos<m_kart.size()-1; pos++)
// Don't record the time for the last kart, since it didn't finish
// the race - unless it's timetrial (then there is only one kart)
unsigned int karts_to_enter = (m_race_setup.m_mode==RaceSetup::RM_TIME_TRIAL)
? m_kart.size() : m_kart.size()-1;
for(unsigned int pos=0; pos<karts_to_enter; pos++)
{
// Only record times for player karts
if(!m_kart[index[pos]]->isPlayerKart()) continue;