some chat changes and custom game with NetworkFramePeriod

This commit is contained in:
Titus Tscharntke 2010-06-08 00:00:28 +00:00
parent 10202792a3
commit d14f013491
9 changed files with 82 additions and 32 deletions

View File

@ -26,7 +26,7 @@ using namespace Shared::Platform;
namespace Glest{ namespace Game{
const string mailString= "contact_game@glest.org";
const string glestVersionString= "v3.3.5-alpha3";
const string glestVersionString= "v3.3.5-alpha5";
string getCrashDumpFileName(){
return "glest" + glestVersionString + ".dmp";

View File

@ -93,19 +93,29 @@ void ChatManager::keyDown(char key){
}
if(key==vkReturn){
if(editEnabled){
GameNetworkInterface *gameNetworkInterface= NetworkManager::getInstance().getGameNetworkInterface();
editEnabled= false;
if(!text.empty()) {
console->addLine(Config::getInstance().getString("NetPlayerName",Socket::getHostName().c_str()) + ": " + text);
gameNetworkInterface->sendTextMessage(Config::getInstance().getString("NetPlayerName",Socket::getHostName().c_str()) + ": "+
text, teamMode? thisTeamIndex: -1);
}
SDL_keysym keystate = Window::getKeystate();
if(keystate.mod & (KMOD_LALT | KMOD_RALT)){
// alt+enter is ignored
}
else{
editEnabled= true;
text.clear();
else
{
if(editEnabled){
GameNetworkInterface *gameNetworkInterface= NetworkManager::getInstance().getGameNetworkInterface();
if(!text.empty()) {
console->addLine(Config::getInstance().getString("NetPlayerName",Socket::getHostName().c_str()) + ": " + text);
gameNetworkInterface->sendTextMessage(Config::getInstance().getString("NetPlayerName",Socket::getHostName().c_str()) + ": "+
text, teamMode? thisTeamIndex: -1);
}
else
{
editEnabled= false;
}
text.clear();
}
else{
editEnabled= true;
text.clear();
}
}
}
else if(key==vkBack){

View File

@ -150,6 +150,10 @@ void MainMenu::keyDown(char key){
state->keyDown(key);
}
void MainMenu::keyUp(char key){
state->keyUp(key);
}
void MainMenu::keyPress(char c){
state->keyPress(c);
}

View File

@ -91,8 +91,9 @@ public:
virtual void mouseDownLeft(int x, int y);
virtual void mouseDownRight(int x, int y);
virtual void keyDown(char key);
virtual void keyUp(char key);
virtual void keyPress(char key);
void setState(MenuState *state);
};
@ -117,6 +118,7 @@ public:
virtual void update(){};
virtual void keyDown(char key){};
virtual void keyPress(char c){};
virtual void keyUp(char key){};
const Camera *getCamera() const {return &camera;}
};

View File

@ -380,7 +380,7 @@ void MenuStateConnectedGame::render(){
renderer.renderListBox(&listBoxTechTree);
renderer.renderChatManager(&chatManager);
renderer.renderConsole(&console);
renderer.renderConsole(&console,true);
}
catch(const std::exception &ex) {
char szBuf[1024]="";
@ -762,4 +762,9 @@ void MenuStateConnectedGame::keyPress(char c)
chatManager.keyPress(c);
}
void MenuStateConnectedGame::keyUp(char key)
{
chatManager.keyUp(key);
}
}}//end namespace

View File

@ -82,6 +82,7 @@ public:
virtual void keyDown(char key);
virtual void keyPress(char c);
virtual void keyUp(char key);
private:

View File

@ -78,9 +78,9 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
vector<string> teamItems, controlItems, results;
//create
buttonReturn.init(300, 180, 125);
buttonRestoreLastSettings.init(440, 180, 125);
buttonPlayNow.init(580, 180, 125);
buttonReturn.init(250, 180, 125);
buttonRestoreLastSettings.init(250+130, 180, 200);
buttonPlayNow.init(250+130+205, 180, 125);
int setupPos=610;
int mapHeadPos=330;
@ -151,9 +151,9 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
labelTechTree.init(600, mapHeadPos);
labelPublishServer.init(300, networkHeadPos, 100);
labelPublishServer.init(190, networkHeadPos, 100);
labelPublishServer.setText(lang.get("PublishServer"));
listBoxPublishServer.init(300, networkPos, 100);
listBoxPublishServer.init(200, networkPos, 100);
listBoxPublishServer.pushBackItem(lang.get("Yes"));
listBoxPublishServer.pushBackItem(lang.get("No"));
if(openNetworkSlots)
@ -161,14 +161,26 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
else
listBoxPublishServer.setSelectedItemIndex(1);
// Network Frame Period
labelNetworkFramePeriod.init(440, networkHeadPos, 80);
labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod"));
listBoxNetworkFramePeriod.init(450, networkPos, 80);
listBoxNetworkFramePeriod.pushBackItem("10");
listBoxNetworkFramePeriod.pushBackItem("20");
listBoxNetworkFramePeriod.pushBackItem("30");
listBoxNetworkFramePeriod.pushBackItem("40");
listBoxNetworkFramePeriod.setSelectedItem("20");
// Enable Server Controlled AI
labelEnableServerControlledAI.init(600, networkHeadPos, 80);
listBoxEnableServerControlledAI.init(600, networkPos, 80);
labelEnableServerControlledAI.init(690, networkHeadPos, 80);
labelEnableServerControlledAI.setText(lang.get("EnableServerControlledAI"));
listBoxEnableServerControlledAI.init(700, networkPos, 80);
listBoxEnableServerControlledAI.pushBackItem(lang.get("Yes"));
listBoxEnableServerControlledAI.pushBackItem(lang.get("No"));
listBoxEnableServerControlledAI.setSelectedItemIndex(0);
labelNetworkFramePeriod.init(420, networkHeadPos, 80);
//list boxes
for(int i=0; i<GameConstants::maxPlayers; ++i){
@ -242,7 +254,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
labelTeam.setText(lang.get("Team"));
labelEnableObserverMode.setText(lang.get("EnableObserverMode"));
labelEnableServerControlledAI.setText(lang.get("EnableServerControlledAI"));
loadMapInfo(Map::getMapPath(mapFiles[listBoxMap.getSelectedItemIndex()]), &mapInfo);
@ -273,8 +285,6 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod") + " " + intToStr(gameSettings.getNetworkFramePeriod()));
//chatManager.init(&console, world.getThisTeamIndex());
chatManager.init(&console, -1);
@ -516,6 +526,10 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton){
needToRepublishToMasterserver = true;
soundRenderer.playFx(coreData.getClickSoundC());
}
else if(listBoxNetworkFramePeriod.mouseClick(x, y)){
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
soundRenderer.playFx(coreData.getClickSoundC());
}
else {
for(int i=0; i<mapInfo.players; ++i) {
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
@ -601,6 +615,7 @@ void MenuStateCustomGame::mouseMove(int x, int y, const MouseState *ms){
listBoxEnableObserverMode.mouseMove(x, y);
listBoxEnableServerControlledAI.mouseMove(x, y);
labelNetworkFramePeriod.mouseMove(x, y);
listBoxNetworkFramePeriod.mouseMove(x, y);
}
void MenuStateCustomGame::render(){
@ -646,7 +661,7 @@ void MenuStateCustomGame::render(){
renderer.renderListBox(&listBoxEnableObserverMode);
renderer.renderChatManager(&chatManager);
renderer.renderConsole(&console);
renderer.renderConsole(&console,true);
if(listBoxPublishServer.getEditable())
{
renderer.renderListBox(&listBoxPublishServer);
@ -654,6 +669,7 @@ void MenuStateCustomGame::render(){
renderer.renderListBox(&listBoxEnableServerControlledAI);
renderer.renderLabel(&labelEnableServerControlledAI);
renderer.renderLabel(&labelNetworkFramePeriod);
renderer.renderListBox(&listBoxNetworkFramePeriod);
}
}
}
@ -1136,7 +1152,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings) {
}
gameSettings->setFactionCount(factionCount);
gameSettings->setEnableServerControlledAI(listBoxEnableServerControlledAI.getSelectedItemIndex() == 0);
gameSettings->setNetworkFramePeriod((listBoxNetworkFramePeriod.getSelectedItemIndex()+1)*10);
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] gameSettings->getTileset() = [%s]\n",__FILE__,__FUNCTION__,gameSettings->getTileset().c_str());
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] gameSettings->getTech() = [%s]\n",__FILE__,__FUNCTION__,gameSettings->getTech().c_str());
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] gameSettings->getMap() = [%s]\n",__FILE__,__FUNCTION__,gameSettings->getMap().c_str());
@ -1222,7 +1238,7 @@ GameSettings MenuStateCustomGame::loadGameSettingsFromFile(std::string fileName)
gameSettings.setFogOfWar(properties.getBool("FogOfWar"));
gameSettings.setEnableObserverModeAtEndGame(properties.getBool("EnableObserverModeAtEndGame"));
gameSettings.setEnableServerControlledAI(properties.getBool("EnableServerControlledAI","false"));
gameSettings.setNetworkFramePeriod(properties.getBool("NetworkFramePeriod",intToStr(GameConstants::networkFramePeriod).c_str()));
gameSettings.setNetworkFramePeriod(properties.getInt("NetworkFramePeriod",intToStr(GameConstants::networkFramePeriod).c_str())/10*10);
gameSettings.setThisFactionIndex(properties.getInt("FactionThisFactionIndex"));
gameSettings.setFactionCount(properties.getInt("FactionCount"));
@ -1265,7 +1281,9 @@ GameSettings MenuStateCustomGame::loadGameSettingsFromFile(std::string fileName)
listBoxEnableObserverMode.setSelectedItem(gameSettings.getEnableObserverModeAtEndGame() == true ? lang.get("Yes") : lang.get("No"));
listBoxEnableServerControlledAI.setSelectedItem(gameSettings.getEnableServerControlledAI() == true ? lang.get("Yes") : lang.get("No"));
labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod") + " " + intToStr(gameSettings.getNetworkFramePeriod()));
labelNetworkFramePeriod.setText(lang.get("NetworkFramePeriod"));
listBoxNetworkFramePeriod.setSelectedItem(intToStr(gameSettings.getNetworkFramePeriod()/10*10));
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s] Line: %d\n",__FILE__,__FUNCTION__,__LINE__);
@ -1483,6 +1501,11 @@ void MenuStateCustomGame::keyPress(char c)
chatManager.keyPress(c);
}
void MenuStateCustomGame::keyUp(char key)
{
chatManager.keyUp(key);
}
void MenuStateCustomGame::showMessageBox(const string &text, const string &header, bool toggle){
if(!toggle){
mainMessageBox.setEnabled(false);

View File

@ -36,7 +36,7 @@ private:
GraphicLabel labelMapInfo;
GraphicLabel labelEnableObserverMode;
GraphicLabel labelEnableServerControlledAI;
GraphicLabel labelNetworkFramePeriod;
GraphicListBox listBoxMap;
GraphicListBox listBoxFogOfWar;
@ -62,6 +62,9 @@ private:
GraphicMessageBox mainMessageBox;
int mainMessageBoxState;
GraphicListBox listBoxNetworkFramePeriod;
GraphicLabel labelNetworkFramePeriod;
bool needToSetChangedGameSettings;
time_t lastSetChangedGameSettings;
@ -92,6 +95,8 @@ public:
virtual void keyDown(char key);
virtual void keyPress(char c);
virtual void keyUp(char key);
virtual void simpleTask();

View File

@ -162,7 +162,7 @@ void createGlFontBitmaps(uint32 &base, const string &type, int size, int width,
}
}
else {
float width = static_cast<float> (fontInfo->per_char[p].rbearing - fontInfo->per_char[p].lbearing);
float width = static_cast<float>(fontInfo->per_char[p].width); //( fontInfo->per_char[p].rbearing - fontInfo->per_char[p].lbearing);
if(width <= 0) {
width = static_cast<float>(6);
}