end game stats with better PlayingTime, tomreyns endgame color problem (maybe) fixed ,updated german lang file
This commit is contained in:
parent
a06dcadd08
commit
36ebfcf95e
|
@ -833,6 +833,10 @@ void Game::update() {
|
||||||
|
|
||||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled && chrono.getMillis() > 0) SystemFlags::OutputDebug(SystemFlags::debugPerformance,"In [%s::%s] Line: %d took msecs: %lld [after ReplaceDisconnectedNetworkPlayersWithAI]\n",__FILE__,__FUNCTION__,__LINE__,chrono.getMillis());
|
if(SystemFlags::getSystemSettingType(SystemFlags::debugPerformance).enabled && chrono.getMillis() > 0) SystemFlags::OutputDebug(SystemFlags::debugPerformance,"In [%s::%s] Line: %d took msecs: %lld [after ReplaceDisconnectedNetworkPlayersWithAI]\n",__FILE__,__FUNCTION__,__LINE__,chrono.getMillis());
|
||||||
|
|
||||||
|
if(updateLoops>0){
|
||||||
|
// update the frame based timer in the stats with at least one step
|
||||||
|
world.getStats()->addFramesToCalculatePlaytime();
|
||||||
|
}
|
||||||
//update
|
//update
|
||||||
for(int i = 0; i < updateLoops; ++i) {
|
for(int i = 0; i < updateLoops; ++i) {
|
||||||
chrono.start();
|
chrono.start();
|
||||||
|
@ -1782,6 +1786,7 @@ void Game::render2d(){
|
||||||
world.getStats()->setMaxConcurrentUnitCount(totalUnitcount);
|
world.getStats()->setMaxConcurrentUnitCount(totalUnitcount);
|
||||||
}
|
}
|
||||||
world.getStats()->setTotalEndGameConcurrentUnitCount(totalUnitcount);
|
world.getStats()->setTotalEndGameConcurrentUnitCount(totalUnitcount);
|
||||||
|
world.getStats()->setFramesPlayed(world.getFrameCount());
|
||||||
}
|
}
|
||||||
|
|
||||||
if( renderer.getShowDebugUI() == true ||
|
if( renderer.getShowDebugUI() == true ||
|
||||||
|
|
|
@ -73,6 +73,9 @@ private:
|
||||||
int thisFactionIndex;
|
int thisFactionIndex;
|
||||||
|
|
||||||
float worldTimeElapsed;
|
float worldTimeElapsed;
|
||||||
|
int framesPlayed;
|
||||||
|
int framesToCalculatePlaytime;
|
||||||
|
time_t timePlayed;
|
||||||
int maxConcurrentUnitCount;
|
int maxConcurrentUnitCount;
|
||||||
int totalEndGameConcurrentUnitCount;
|
int totalEndGameConcurrentUnitCount;
|
||||||
|
|
||||||
|
@ -84,6 +87,8 @@ public:
|
||||||
thisFactionIndex = 0;
|
thisFactionIndex = 0;
|
||||||
|
|
||||||
worldTimeElapsed = 0.0;
|
worldTimeElapsed = 0.0;
|
||||||
|
framesPlayed = 0;
|
||||||
|
framesToCalculatePlaytime = 0;
|
||||||
maxConcurrentUnitCount = 0;
|
maxConcurrentUnitCount = 0;
|
||||||
totalEndGameConcurrentUnitCount = 0;
|
totalEndGameConcurrentUnitCount = 0;
|
||||||
}
|
}
|
||||||
|
@ -95,6 +100,8 @@ public:
|
||||||
int getFactionCount() const {return factionCount;}
|
int getFactionCount() const {return factionCount;}
|
||||||
|
|
||||||
float getWorldTimeElapsed() const {return worldTimeElapsed;}
|
float getWorldTimeElapsed() const {return worldTimeElapsed;}
|
||||||
|
int getFramesPlayed() const {return framesPlayed; }
|
||||||
|
int getFramesToCalculatePlaytime() const {return framesToCalculatePlaytime; }
|
||||||
int getMaxConcurrentUnitCount() const {return maxConcurrentUnitCount; }
|
int getMaxConcurrentUnitCount() const {return maxConcurrentUnitCount; }
|
||||||
int getTotalEndGameConcurrentUnitCount() const {return totalEndGameConcurrentUnitCount; }
|
int getTotalEndGameConcurrentUnitCount() const {return totalEndGameConcurrentUnitCount; }
|
||||||
|
|
||||||
|
@ -114,6 +121,7 @@ public:
|
||||||
|
|
||||||
void setDescription(const string& description) {this->description = description;}
|
void setDescription(const string& description) {this->description = description;}
|
||||||
void setWorldTimeElapsed(float value) {this->worldTimeElapsed = value;}
|
void setWorldTimeElapsed(float value) {this->worldTimeElapsed = value;}
|
||||||
|
void setFramesPlayed(int value) {this->framesPlayed = value; }
|
||||||
void setMaxConcurrentUnitCount(int value) {this->maxConcurrentUnitCount = value; }
|
void setMaxConcurrentUnitCount(int value) {this->maxConcurrentUnitCount = value; }
|
||||||
void setTotalEndGameConcurrentUnitCount(int value) {this->totalEndGameConcurrentUnitCount = value; }
|
void setTotalEndGameConcurrentUnitCount(int value) {this->totalEndGameConcurrentUnitCount = value; }
|
||||||
|
|
||||||
|
@ -130,6 +138,8 @@ public:
|
||||||
void setPlayerName(int playerIndex, string value) {playerStats[playerIndex].playerName = value; }
|
void setPlayerName(int playerIndex, string value) {playerStats[playerIndex].playerName = value; }
|
||||||
void setPlayerColor(int playerIndex, Vec3f value) {playerStats[playerIndex].playerColor = value; }
|
void setPlayerColor(int playerIndex, Vec3f value) {playerStats[playerIndex].playerColor = value; }
|
||||||
|
|
||||||
|
void addFramesToCalculatePlaytime() {this->framesToCalculatePlaytime++; }
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}}//end namespace
|
}}//end namespace
|
||||||
|
|
|
@ -210,15 +210,11 @@ void BattleEnd::render(){
|
||||||
textRenderer->render((lang.get("Player") + " " + intToStr(i+1)).c_str(), textX, bm+400,false, &color);
|
textRenderer->render((lang.get("Player") + " " + intToStr(i+1)).c_str(), textX, bm+400,false, &color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Vec3f highliteColor = Vec3f(WHITE.x,WHITE.y,WHITE.z);
|
||||||
if(disableStatsColorCoding == false) {
|
if(disableStatsColorCoding == false) {
|
||||||
color.x = 0.85;
|
highliteColor.x = 0.85;
|
||||||
color.y = 0.8;
|
highliteColor.y = 0.8;
|
||||||
color.z = 0.07;
|
highliteColor.z = 0.07;
|
||||||
}
|
|
||||||
else {
|
|
||||||
color.x = WHITE.x;
|
|
||||||
color.y = WHITE.y;
|
|
||||||
color.z = WHITE.z;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(stats.getPersonalityType(i) == fpt_Observer) {
|
if(stats.getPersonalityType(i) == fpt_Observer) {
|
||||||
|
@ -226,7 +222,7 @@ void BattleEnd::render(){
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(stats.getVictory(i)) {
|
if(stats.getVictory(i)) {
|
||||||
textRenderer->render(stats.getVictory(i)? lang.get("Victory").c_str(): lang.get("Defeat").c_str(), textX, bm+360, false, &color);
|
textRenderer->render(stats.getVictory(i)? lang.get("Victory").c_str(): lang.get("Defeat").c_str(), textX, bm+360, false, &highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(stats.getVictory(i)? lang.get("Victory").c_str(): lang.get("Defeat").c_str(), textX, bm+360);
|
textRenderer->render(stats.getVictory(i)? lang.get("Victory").c_str(): lang.get("Defeat").c_str(), textX, bm+360);
|
||||||
|
@ -238,37 +234,37 @@ void BattleEnd::render(){
|
||||||
textRenderer->render(intToStr(team).c_str(), textX, bm+240);
|
textRenderer->render(intToStr(team).c_str(), textX, bm+240);
|
||||||
|
|
||||||
if(kills == bestKills) {
|
if(kills == bestKills) {
|
||||||
textRenderer->render(intToStr(kills).c_str(), textX, bm+200, false,&color);
|
textRenderer->render(intToStr(kills).c_str(), textX, bm+200, false,&highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(kills).c_str(), textX, bm+200);
|
textRenderer->render(intToStr(kills).c_str(), textX, bm+200);
|
||||||
}
|
}
|
||||||
if(enemykills == bestEnemyKills) {
|
if(enemykills == bestEnemyKills) {
|
||||||
textRenderer->render(intToStr(enemykills).c_str(), textX, bm+180, false , &color);
|
textRenderer->render(intToStr(enemykills).c_str(), textX, bm+180, false , &highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(enemykills).c_str(), textX, bm+180);
|
textRenderer->render(intToStr(enemykills).c_str(), textX, bm+180);
|
||||||
}
|
}
|
||||||
if(deaths == leastDeaths) {
|
if(deaths == leastDeaths) {
|
||||||
textRenderer->render(intToStr(deaths).c_str(), textX, bm+160,false,&color);
|
textRenderer->render(intToStr(deaths).c_str(), textX, bm+160,false,&highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(deaths).c_str(), textX, bm+160);
|
textRenderer->render(intToStr(deaths).c_str(), textX, bm+160);
|
||||||
}
|
}
|
||||||
if(unitsProduced == bestUnitsProduced) {
|
if(unitsProduced == bestUnitsProduced) {
|
||||||
textRenderer->render(intToStr(unitsProduced).c_str(), textX, bm+120,false,&color);
|
textRenderer->render(intToStr(unitsProduced).c_str(), textX, bm+120,false,&highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(unitsProduced).c_str(), textX, bm+120);
|
textRenderer->render(intToStr(unitsProduced).c_str(), textX, bm+120);
|
||||||
}
|
}
|
||||||
if(resourcesHarvested == bestResourcesHarvested) {
|
if(resourcesHarvested == bestResourcesHarvested) {
|
||||||
textRenderer->render(intToStr(resourcesHarvested).c_str(), textX, bm+80,false,&color);
|
textRenderer->render(intToStr(resourcesHarvested).c_str(), textX, bm+80,false,&highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(resourcesHarvested).c_str(), textX, bm+80);
|
textRenderer->render(intToStr(resourcesHarvested).c_str(), textX, bm+80);
|
||||||
}
|
}
|
||||||
if(score == bestScore) {
|
if(score == bestScore) {
|
||||||
textRenderer->render(intToStr(score).c_str(), textX, bm+20,false,&color);
|
textRenderer->render(intToStr(score).c_str(), textX, bm+20,false,&highliteColor);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
textRenderer->render(intToStr(score).c_str(), textX, bm+20);
|
textRenderer->render(intToStr(score).c_str(), textX, bm+20);
|
||||||
|
@ -301,13 +297,16 @@ void BattleEnd::render(){
|
||||||
|
|
||||||
textRenderer->render(header, lm+250, bm+550);
|
textRenderer->render(header, lm+250, bm+550);
|
||||||
|
|
||||||
string header2 = lang.get("GameDuration") + " " + floatToStr(stats.getWorldTimeElapsed() / 24.0,2);
|
//GameConstants::updateFps
|
||||||
|
//string header2 = lang.get("GameDuration") + " " + floatToStr(stats.getWorldTimeElapsed() / 24.0,2);
|
||||||
|
|
||||||
|
string header2 = lang.get("GameDuration") + ": " + intToStr(stats.getFramesToCalculatePlaytime()/GameConstants::updateFps/60);
|
||||||
textRenderer->render(header2, lm+250, bm+530);
|
textRenderer->render(header2, lm+250, bm+530);
|
||||||
|
|
||||||
header2 = lang.get("GameMaxConcurrentUnitCount") + " " + intToStr(stats.getMaxConcurrentUnitCount());
|
header2 = lang.get("GameMaxConcurrentUnitCount") + ": " + intToStr(stats.getMaxConcurrentUnitCount());
|
||||||
textRenderer->render(header2, lm+250, bm+510);
|
textRenderer->render(header2, lm+250, bm+510);
|
||||||
|
|
||||||
header2 = lang.get("GameTotalEndGameConcurrentUnitCount") + " " + intToStr(stats.getTotalEndGameConcurrentUnitCount());
|
header2 = lang.get("GameTotalEndGameConcurrentUnitCount") + ": " + intToStr(stats.getTotalEndGameConcurrentUnitCount());
|
||||||
textRenderer->render(header2, lm+250, bm+490);
|
textRenderer->render(header2, lm+250, bm+490);
|
||||||
|
|
||||||
textRenderer->end();
|
textRenderer->end();
|
||||||
|
|
Loading…
Reference in New Issue