- added free software logos

- updated the client lobby screen so the chat window does not overlap UI controls
This commit is contained in:
Mark Vejvoda 2010-08-05 22:27:26 +00:00
parent bc064bea47
commit 0f231f28e6
4 changed files with 55 additions and 13 deletions

View File

@ -16,6 +16,7 @@
#include "graphics_interface.h"
#include "config.h"
#include "util.h"
#include "platform_util.h"
#include "leak_dumper.h"
using namespace Shared::Sound;
@ -68,6 +69,20 @@ void CoreData::load(){
logoTexture->setMipmap(false);
logoTexture->getPixmap()->load(dir+"/menu/textures/logo.tga");
logoTextureList.clear();
string logosPath= dir+"/menu/textures/logo*.*";
vector<string> logoFilenames;
findAll(logosPath, logoFilenames);
for(int i = 0; i < logoFilenames.size(); ++i) {
string logo = logoFilenames[i];
if(stricmp("logo.tga",logo.c_str()) != 0) {
Texture2D *logoTextureExtra= renderer.newTexture2D(rsGlobal);
logoTextureExtra->setMipmap(false);
logoTextureExtra->getPixmap()->load(dir+"/menu/textures/" + logo);
logoTextureList.push_back(logoTextureExtra);
}
}
waterSplashTexture= renderer.newTexture2D(rsGlobal);
waterSplashTexture->setFormat(Texture::fAlpha);
waterSplashTexture->getPixmap()->init(1);

View File

@ -44,6 +44,7 @@ private:
SoundContainer waterSounds;
Texture2D *logoTexture;
std::vector<Texture2D *> logoTextureList;
Texture2D *backgroundTexture;
Texture2D *fireTexture;
Texture2D *snowTexture;
@ -74,6 +75,9 @@ public:
Texture2D *getButtonSmallTexture() const {return buttonSmallTexture;}
Texture2D *getButtonBigTexture() const {return buttonBigTexture;}
int getLogoTextureExtraCount() const {return logoTextureList.size();}
Texture2D *getLogoTextureExtra(int idx) const {return logoTextureList[idx];}
StrSound *getIntroMusic() {return &introMusic;}
StrSound *getMenuMusic() {return &menuMusic;}
StaticSound *getClickSoundA() {return &clickSoundA;}

View File

@ -77,8 +77,8 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
//create
buttonDisconnect.init(350, 150, 125);
buttonPlayNow.init(525, 150, 125);
buttonDisconnect.init(350, 180, 125);
buttonPlayNow.init(525, 180, 125);
//map listBox
// put them all in a set, to weed out duplicates (gbm & mgm with same name)
@ -88,9 +88,9 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
int setupPos=610;
int mapHeadPos=290;
int mapHeadPos=330;
int mapPos=mapHeadPos-30;
int aHeadPos=230;
int aHeadPos=260;
int aPos=aHeadPos-30;
int networkHeadPos=670;
int networkPos=networkHeadPos-30;
@ -175,22 +175,26 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
//list boxes
for(int i=0; i<GameConstants::maxPlayers; ++i){
labelPlayers[i].init(100, 550-i*30);
labelPlayers[i].init(100, setupPos-30-i*30);
labelPlayers[i].setEditable(false);
listBoxControls[i].init(200, 550-i*30);
listBoxControls[i].init(200, setupPos-30-i*30);
listBoxControls[i].setEditable(false);
listBoxFactions[i].init(400, 550-i*30);
listBoxFactions[i].init(400, setupPos-30-i*30);
listBoxFactions[i].setEditable(false);
listBoxTeams[i].init(600, 550-i*30, 60);
listBoxTeams[i].init(600, setupPos-30-i*30, 60);
listBoxTeams[i].setEditable(false);
labelNetStatus[i].init(700, 550-i*30, 60);
grabSlotButton[i].init(700, 550-i*30, 30);
labelNetStatus[i].init(700, setupPos-30-i*30, 60);
grabSlotButton[i].init(700, setupPos-30-i*30, 30);
grabSlotButton[i].setText(">");
}
labelControl.init(200, 600, GraphicListBox::defW, GraphicListBox::defH, true);
labelFaction.init(400, 600, GraphicListBox::defW, GraphicListBox::defH, true);
labelTeam.init(600, 600, 60, GraphicListBox::defH, true);
labelControl.init(200, setupPos, GraphicListBox::defW, GraphicListBox::defH, true);
labelFaction.init(400, setupPos, GraphicListBox::defW, GraphicListBox::defH, true);
labelTeam.init(600, setupPos, 60, GraphicListBox::defH, true);
labelControl.setFont(CoreData::getInstance().getMenuFontBig());
labelFaction.setFont(CoreData::getInstance().getMenuFontBig());
labelTeam.setFont(CoreData::getInstance().getMenuFontBig());
//texts
buttonDisconnect.setText(lang.get("Return"));

View File

@ -137,6 +137,25 @@ void MenuStateRoot::render(){
renderer.renderTextureQuad(
(metrics.getVirtualW()-w)/2, 475-h/2, w, h,
coreData.getLogoTexture(), GraphicComponent::getFade());
int maxLogoWidth=0;
for(int idx = 0; idx < coreData.getLogoTextureExtraCount(); ++idx) {
Texture2D *extraLogo = coreData.getLogoTextureExtra(idx);
maxLogoWidth += extraLogo->getPixmap()->getW();
}
int currentX = (metrics.getVirtualW()-maxLogoWidth)/2;
int currentY = 50;
for(int idx = 0; idx < coreData.getLogoTextureExtraCount(); ++idx) {
Texture2D *extraLogo = coreData.getLogoTextureExtra(idx);
renderer.renderTextureQuad(
currentX, currentY,
extraLogo->getPixmap()->getW(), extraLogo->getPixmap()->getH(),
extraLogo, GraphicComponent::getFade());
currentX += extraLogo->getPixmap()->getW();
}
renderer.renderButton(&buttonNewGame);
renderer.renderButton(&buttonJoinGame);
renderer.renderButton(&buttonMasterserverGame);