Index: menus.cpp =================================================================== --- menus.cpp (revision 2491) +++ menus.cpp (working copy) @@ -285,7 +285,7 @@ if ( message->iType != MU_MSG_LANDING_VEHICLES ) return; unsigned int playerNr = message->popInt16(); - + for ( unsigned int i = (unsigned int)landingUnits.Size(); i < players.Size(); i++ ) { landingUnits.Add ( NULL ); @@ -1191,7 +1191,7 @@ if ( gameTypeGroup->buttonIsChecked ( 0 ) ) settings.gameType = SETTINGS_GAMETYPE_TURNS; else settings.gameType = SETTINGS_GAMETYPE_SIMU; - if(victoryGroup->buttonIsChecked(7)) + if(victoryGroup->buttonIsChecked(6)) settings.victoryType = SETTINGS_VICTORY_ANNIHILATION; else for(int i=0; i<6; i++) { Index: menuitems.cpp =================================================================== --- menuitems.cpp (revision 2491) +++ menuitems.cpp (working copy) @@ -1724,7 +1724,9 @@ { int score = building->points; int tot = building->owner->getScore(Client->getTurn()); - int lim = 400; + int turnLim, scoreLim; + Client->getVictoryConditions(&turnLim, &scoreLim); + int lim = scoreLim ? scoreLim : tot; cUnitDataSymbolHandler::drawNumber ( position.x+23, position.y+18, score, score ); font->showText ( position.x+47, position.y+18, lngPack.i18n ( "Text~Hud~Score" ), FONT_LATIN_SMALL_WHITE, buffer ); @@ -3528,7 +3530,7 @@ const int now = Client->getTurn(); const int num_turns = w / pix_per_turn; - int max_turns = now + 10; + int max_turns = now + 40; int min_turns = max_turns - num_turns; if(min_turns < 1) @@ -3562,15 +3564,15 @@ const int min_points = lowest_score; const int num_points = max_points - min_points; - const int max_pix_per_point = 5; - int pix_per_point; + const float default_pix_per_point = 5; + float pix_per_point; if(num_points) { - pix_per_point = h / num_points; - if(pix_per_point > max_pix_per_point) - pix_per_point = max_pix_per_point; + pix_per_point = (float) h / num_points; + if(pix_per_point > default_pix_per_point) + pix_per_point = default_pix_per_point; } else - pix_per_point = max_pix_per_point; + pix_per_point = default_pix_per_point; /* Draw Limits @@ -3598,12 +3600,14 @@ /* Draw Labels */ + int my = y1 - (max_points - min_points) * pix_per_point; + font->showTextCentered(x0, y1 + 8, iToStr(min_turns), FONT_LATIN_SMALL_WHITE); font->showTextCentered(now_x, y1 + 8, iToStr(now), FONT_LATIN_SMALL_WHITE); font->showTextCentered(x1, y1 + 8, iToStr(max_turns), FONT_LATIN_SMALL_WHITE); font->showText(x0 - 16, y1 - 3, iToStr(min_points), FONT_LATIN_SMALL_WHITE); - font->showText(x0 - 16, y0 - 3, iToStr(max_points), FONT_LATIN_SMALL_WHITE); + font->showText(x0 - 16, my - 3, iToStr(max_points), FONT_LATIN_SMALL_WHITE); /* Draw Score Lines Index: server.cpp =================================================================== --- server.cpp (revision 2491) +++ server.cpp (working copy) @@ -3316,13 +3316,13 @@ sendRefreshResearchCount (Player->Nr); // send all players' score histories & eco-counts - for(int t=1; t<=iTurn; t++) - for(unsigned int i = 0; i < PlayerList->Size(); i++ ) - { - cPlayer *subj = (*PlayerList)[i]; + for(unsigned int i = 0; i < PlayerList->Size(); i++ ) + { + cPlayer *subj = (*PlayerList)[i]; + for(int t=1; t<=iTurn; t++) sendScore(subj, t, Player); - sendNumEcos(subj, Player); - } + sendNumEcos(subj, Player); + } sendVictoryConditions(turnLimit, scoreLimit, Player);