endgame stats screen shows multiplier now for CPU players

you cannot switch unvisible resource multiplier any more
This commit is contained in:
Titus Tscharntke 2010-11-11 21:41:13 +00:00
parent cc4f268988
commit c2c9cc0044
4 changed files with 15 additions and 4 deletions

View File

@ -29,6 +29,7 @@ class PlayerStats {
public:
PlayerStats() {
control = ctClosed;
resourceMultiplier=1.0f;
factionTypeName = "";
personalityType = fpt_Normal;
teamIndex = 0;
@ -42,6 +43,7 @@ public:
}
ControlType control;
float resourceMultiplier;
string factionTypeName;
FactionPersonalityType personalityType;
int teamIndex;
@ -83,6 +85,7 @@ public:
const string &getFactionTypeName(int factionIndex) const {return playerStats[factionIndex].factionTypeName;}
FactionPersonalityType getPersonalityType(int factionIndex) const { return playerStats[factionIndex].personalityType;}
ControlType getControl(int factionIndex) const {return playerStats[factionIndex].control;}
float getResourceMultiplier(int factionIndex) const {return playerStats[factionIndex].resourceMultiplier;}
bool getVictory(int factionIndex) const {return playerStats[factionIndex].victory;}
int getTeam(int factionIndex) const {return playerStats[factionIndex].teamIndex;}
int getKills(int factionIndex) const {return playerStats[factionIndex].kills;}
@ -96,6 +99,7 @@ public:
void setFactionTypeName(int playerIndex, const string& factionTypeName) {playerStats[playerIndex].factionTypeName= factionTypeName;}
void setPersonalityType(int playerIndex, FactionPersonalityType value) { playerStats[playerIndex].personalityType = value;}
void setControl(int playerIndex, ControlType control) {playerStats[playerIndex].control= control;}
void setResourceMultiplier(int playerIndex, float resourceMultiplier) {playerStats[playerIndex].resourceMultiplier= resourceMultiplier;}
void setTeam(int playerIndex, int teamIndex) {playerStats[playerIndex].teamIndex= teamIndex;}
void setVictorious(int playerIndex);
void kill(int killerFactionIndex, int killedFactionIndex);

View File

@ -137,6 +137,10 @@ void BattleEnd::render(){
assert(false);
};
}
if(stats.getControl(i)!=ctHuman && stats.getControl(i)!=ctNetwork ){
controlString+=" x "+floatToStr(stats.getResourceMultiplier(i),1);
}
Vec3f color = stats.getPlayerColor(i);

View File

@ -411,7 +411,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
controlItems.push_back(lang.get("Human"));
for(int i=0; i<45; ++i){
rMultiplier.push_back(floatToStr(rMultiplierOffset+0.1f*i));
rMultiplier.push_back(floatToStr(rMultiplierOffset+0.1f*i,1));
}
if(config.getBool("EnableNetworkCpu","false") == true) {
@ -797,8 +797,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton){
for(int i=0; i<mapInfo.players; ++i) {
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
// set multiplier
if(listBoxRMultiplier[i].mouseClick(x, y)) {
if (listBoxAdvanced.getSelectedItemIndex() == 1) {
// set multiplier
if(listBoxRMultiplier[i].mouseClick(x, y)) {
}
}
//ensure thet only 1 human player is present

View File

@ -961,10 +961,11 @@ void World::initFactionTypes(GameSettings *gs) {
stats.setFactionTypeName(i, formatString(gs->getFactionTypeName(i)));
stats.setPersonalityType(i, getFaction(i)->getType()->getPersonalityType());
stats.setControl(i, gs->getFactionControl(i));
stats.setResourceMultiplier(i,gs->getResourceMultiplier(i));
stats.setPlayerName(i,gs->getNetworkPlayerName(i));
stats.setPlayerColor(i,getFaction(i)->getTexture()->getPixmapConst()->getPixel3f(0, 0));
}
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
if(factions.size() > 0) {