diff --git a/source/glest_game/facilities/components.h b/source/glest_game/facilities/components.h index a11bb8ef6..e0b22b622 100644 --- a/source/glest_game/facilities/components.h +++ b/source/glest_game/facilities/components.h @@ -97,7 +97,7 @@ public: virtual void setH(int h) {this->h= h;} virtual void setText(const string &text) {this->text= text;} virtual void setFont(Font2D *font) {this->font= font;} - virtual void setFont3D(Font3D *font) {this->font3D= font3D;} + virtual void setFont3D(Font3D *font) {this->font3D= font;} virtual void setEnabled(bool enabled) {this->enabled= enabled;} virtual void setEditable(bool editable) {this->editable= editable;} virtual void setVisible(bool value) {this->visible = value;} diff --git a/source/glest_game/global/core_data.cpp b/source/glest_game/global/core_data.cpp index 787bfff68..a5c2f1181 100644 --- a/source/glest_game/global/core_data.cpp +++ b/source/glest_game/global/core_data.cpp @@ -274,6 +274,8 @@ void CoreData::load() { menuFontVeryBig3D->setSize(menuFontNameVeryBigSize); menuFontVeryBig3D->setYOffsetFactor(config.getFloat("FontMenuVeryBigYOffsetFactor",floatToStr(FontMetrics::DEFAULT_Y_OFFSET_FACTOR).c_str())); + //printf("CoreData menuFontVeryBig3D [%d] menuFontVeryBig3D [%p]\n",menuFontVeryBig3D->getSize(),menuFontVeryBig3D); + if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] menuFontNameVeryBig = [%s] menuFontNameVeryBigSize = %d\n",__FILE__,__FUNCTION__,__LINE__,menuFontNameVeryBig.c_str(),menuFontNameVeryBigSize); //console font @@ -333,6 +335,9 @@ int CoreData::computeFontSize(int size) { } else { rs = ((float)size * 0.80); + //int screenH = config.getInt("ScreenHeight"); + //rs = size * screenH / 1024; + } //FontSizeAdjustment rs += config.getInt("FontSizeAdjustment"); diff --git a/source/glest_game/graphics/renderer.cpp b/source/glest_game/graphics/renderer.cpp index 07bd3426c..81a9cd96d 100644 --- a/source/glest_game/graphics/renderer.cpp +++ b/source/glest_game/graphics/renderer.cpp @@ -1006,7 +1006,9 @@ void Renderer::renderConsoleLine3D(int lineIndex, int xPosition, int yPosition, fontColor = defaultFontColor; //xPosition += (8 * (playerName.length() + 2)); // Proper font spacing after username portion of chat text rendering - xPosition += (metrics.toVirtualX(fontMetrics->getTextWidth(headerLine))); + + //xPosition += (metrics.toVirtualX(fontMetrics->getTextWidth(headerLine))); + xPosition += fontMetrics->getTextWidth(headerLine); } } else if(lineInfo->originalPlayerName != "") { @@ -1026,7 +1028,8 @@ void Renderer::renderConsoleLine3D(int lineIndex, int xPosition, int yPosition, fontColor = defaultFontColor; //xPosition += (8 * (playerName.length() + 2)); // Proper font spacing after username portion of chat text rendering - xPosition += (metrics.toVirtualX(fontMetrics->getTextWidth(headerLine))); + //xPosition += (metrics.toVirtualX(fontMetrics->getTextWidth(headerLine))); + xPosition += fontMetrics->getTextWidth(headerLine); } else { fontColor = defaultFontColor; @@ -1653,6 +1656,8 @@ void Renderer::renderLabel(GraphicLabel *label,const Vec4f *color) { if(color != NULL) { if(renderText3DEnabled == true) { //renderText3D(lines[i], label->getFont3D(), (*color), textPos.x, textPos.y, label->getCentered()); + //printf("Text Render3D [%s] font3d [%p]\n",lines[i].c_str(),label->getFont3D()); + renderTextBoundingBox3D(lines[i], label->getFont3D(), (*color), x, y, w, h, label->getCentered()); } else { @@ -1662,6 +1667,8 @@ void Renderer::renderLabel(GraphicLabel *label,const Vec4f *color) { else { if(renderText3DEnabled == true) { //renderText3D(lines[i], label->getFont3D(), GraphicComponent::getFade(), textPos.x, textPos.y, label->getCentered()); + //printf("Text Render3D [%s] font3d [%p]\n",lines[i].c_str(),label->getFont3D()); + renderTextBoundingBox3D(lines[i], label->getFont3D(), GraphicComponent::getFade(), x, y, w, h, label->getCentered()); } else { @@ -2089,6 +2096,7 @@ void Renderer::renderListBox(GraphicListBox *listBox) { label.init(listBox->getX(), listBox->getY(), listBox->getW(), listBox->getH(), true,listBox->getTextColor()); label.setText(listBox->getText()); label.setFont(listBox->getFont()); + label.setFont3D(listBox->getFont3D()); renderLabel(&label); diff --git a/source/glest_game/menu/menu_state_connected_game.cpp b/source/glest_game/menu/menu_state_connected_game.cpp index 89afce82e..be84df1c5 100644 --- a/source/glest_game/menu/menu_state_connected_game.cpp +++ b/source/glest_game/menu/menu_state_connected_game.cpp @@ -131,12 +131,14 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM labelInfo.init(30, networkHeadPos+30); labelInfo.setText(""); labelInfo.setFont(CoreData::getInstance().getMenuFontBig()); + labelInfo.setFont3D(CoreData::getInstance().getMenuFontBig3D()); timerLabelFlash = time(NULL); labelDataSynchInfo.registerGraphicComponent(containerName,"labelDataSynchInfo"); labelDataSynchInfo.init(30, networkHeadPos-60); labelDataSynchInfo.setText(""); labelDataSynchInfo.setFont(CoreData::getInstance().getMenuFontBig()); + labelDataSynchInfo.setFont3D(CoreData::getInstance().getMenuFontBig3D()); //create buttonDisconnect.registerGraphicComponent(containerName,"buttonDisconnect"); @@ -351,8 +353,11 @@ MenuStateConnectedGame::MenuStateConnectedGame(Program *program, MainMenu *mainM labelTeam.setText(lang.get("Team")); labelControl.setFont(CoreData::getInstance().getMenuFontBig()); + labelControl.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelFaction.setFont(CoreData::getInstance().getMenuFontBig()); + labelFaction.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTeam.setFont(CoreData::getInstance().getMenuFontBig()); + labelTeam.setFont3D(CoreData::getInstance().getMenuFontBig3D()); //texts buttonDisconnect.setText(lang.get("Return")); diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index 2e585e264..c6fe8c494 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -432,9 +432,13 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu, b labelTeam.setText(lang.get("Team")); labelControl.setFont(CoreData::getInstance().getMenuFontBig()); + labelControl.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelRMultiplier.setFont(CoreData::getInstance().getMenuFontBig()); + labelRMultiplier.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelFaction.setFont(CoreData::getInstance().getMenuFontBig()); + labelFaction.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTeam.setFont(CoreData::getInstance().getMenuFontBig()); + labelTeam.setFont3D(CoreData::getInstance().getMenuFontBig3D()); //texts buttonClearBlockedPlayers.setText(lang.get("BlockPlayerClear")); diff --git a/source/glest_game/menu/menu_state_graphic_info.cpp b/source/glest_game/menu/menu_state_graphic_info.cpp index cdf75350b..d255820af 100644 --- a/source/glest_game/menu/menu_state_graphic_info.cpp +++ b/source/glest_game/menu/menu_state_graphic_info.cpp @@ -37,6 +37,7 @@ MenuStateGraphicInfo::MenuStateGraphicInfo(Program *program, MainMenu *mainMenu) labelMoreInfo.registerGraphicComponent(containerName,"labelMoreInfo"); labelMoreInfo.init(100, 520); labelMoreInfo.setFont(CoreData::getInstance().getDisplayFontSmall()); + labelMoreInfo.setFont3D(CoreData::getInstance().getDisplayFontSmall3D()); GraphicComponent::applyAllCustomProperties(containerName); diff --git a/source/glest_game/menu/menu_state_keysetup.cpp b/source/glest_game/menu/menu_state_keysetup.cpp index 3156d02b2..2ecf676e0 100644 --- a/source/glest_game/menu/menu_state_keysetup.cpp +++ b/source/glest_game/menu/menu_state_keysetup.cpp @@ -45,16 +45,19 @@ MenuStateKeysetup::MenuStateKeysetup(Program *program, MainMenu *mainMenu): labelTitle.registerGraphicComponent(containerName,"labelTitle"); labelTitle.init(330,700); labelTitle.setFont(CoreData::getInstance().getMenuFontBig()); + labelTitle.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTitle.setText(lang.get("Keyboardsetup")); labelTestTitle.registerGraphicComponent(containerName,"labelTestTitle"); labelTestTitle.init(50,700); labelTestTitle.setFont(CoreData::getInstance().getMenuFontBig()); + labelTestTitle.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTestTitle.setText(lang.get("KeyboardsetupTest")); labelTestValue.registerGraphicComponent(containerName,"labelTestValue"); labelTestValue.init(50,670); labelTestValue.setFont(CoreData::getInstance().getMenuFontBig()); + labelTestValue.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTestValue.setText(""); // mainMassegeBox diff --git a/source/glest_game/menu/menu_state_masterserver.cpp b/source/glest_game/menu/menu_state_masterserver.cpp index 44f7e9e29..6c91b810a 100644 --- a/source/glest_game/menu/menu_state_masterserver.cpp +++ b/source/glest_game/menu/menu_state_masterserver.cpp @@ -56,6 +56,7 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen //Configure ConsolePosition consoleIRC.setYPos(60); consoleIRC.setFont(CoreData::getInstance().getMenuFontNormal()); + consoleIRC.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); consoleIRC.setLineHeight(18); serverLinesToRender=8; @@ -102,18 +103,21 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen announcementLabel.registerGraphicComponent(containerName,"announcementLabel"); announcementLabel.init(10, 730); announcementLabel.setFont(CoreData::getInstance().getMenuFontBig()); + announcementLabel.setFont3D(CoreData::getInstance().getMenuFontBig3D()); announcementLabel.setText(""); // versionInfo versionInfoLabel.registerGraphicComponent(containerName,"versionInfoLabel"); versionInfoLabel.init(10, 680); versionInfoLabel.setFont(CoreData::getInstance().getMenuFontBig()); + versionInfoLabel.setFont3D(CoreData::getInstance().getMenuFontBig3D()); versionInfoLabel.setText(""); // header labelTitle.registerGraphicComponent(containerName,"labelTitle"); labelTitle.init(330, serverLinesYBase+40); labelTitle.setFont(CoreData::getInstance().getMenuFontBig()); + labelTitle.setFont3D(CoreData::getInstance().getMenuFontBig3D()); labelTitle.setText(lang.get("AvailableServers")); if(Config::getInstance().getString("Masterserver","") == "") { @@ -257,6 +261,7 @@ MenuStateMasterserver::MenuStateMasterserver(Program *program, MainMenu *mainMen chatManager.setXPos(0); chatManager.setYPos(consoleIRC.getYPos()-20); chatManager.setFont(CoreData::getInstance().getMenuFontNormal()); + chatManager.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); needUpdateFromServer = true; updateFromMasterserverThread = new SimpleTaskThread(this,0,100); @@ -677,6 +682,7 @@ void MenuStateMasterserver::update() { button->init(userButtonsXBase,userButtonsYBase,userButtonsWidth,userButtonsHeight); //button->init(userButtonsXBase,userButtonsYBase-userButtonsLineHeight*i,userButtonsWidth,userButtonsHeight); button->setFont(CoreData::getInstance().getDisplayFontSmall()); + button->setFont3D(CoreData::getInstance().getDisplayFontSmall3D()); button->setText(nickList[i]); userButtons.push_back(button); } diff --git a/source/glest_game/menu/menu_state_mods.cpp b/source/glest_game/menu/menu_state_mods.cpp index f3e192042..8fce4707f 100644 --- a/source/glest_game/menu/menu_state_mods.cpp +++ b/source/glest_game/menu/menu_state_mods.cpp @@ -93,32 +93,38 @@ MenuStateMods::MenuStateMods(Program *program, MainMenu *mainMenu) : keyTechScrollBarTitle1.init(techInfoXPos,scrollListsYPos + 20,labelWidth,20); keyTechScrollBarTitle1.setText(lang.get("TechTitle1")); keyTechScrollBarTitle1.setFont(CoreData::getInstance().getMenuFontNormal()); + keyTechScrollBarTitle1.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); keyTechScrollBarTitle2.registerGraphicComponent(containerName,"keyTechScrollBarTitle2"); keyTechScrollBarTitle2.init(techInfoXPos + 200,scrollListsYPos + 20,labelWidth,20); keyTechScrollBarTitle2.setText(lang.get("TechTitle2")); keyTechScrollBarTitle2.setFont(CoreData::getInstance().getMenuFontNormal()); + keyTechScrollBarTitle2.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); mapInfoXPos = 270; keyMapScrollBarTitle1.registerGraphicComponent(containerName,"keyMapScrollBarTitle1"); keyMapScrollBarTitle1.init(mapInfoXPos,scrollListsYPos + 20,labelWidth,20); keyMapScrollBarTitle1.setText(lang.get("MapTitle1")); keyMapScrollBarTitle1.setFont(CoreData::getInstance().getMenuFontNormal()); + keyMapScrollBarTitle1.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); keyMapScrollBarTitle2.registerGraphicComponent(containerName,"keyMapScrollBarTitle2"); keyMapScrollBarTitle2.init(mapInfoXPos + 200,scrollListsYPos + 20,labelWidth,20); keyMapScrollBarTitle2.setText(lang.get("MapTitle2")); keyMapScrollBarTitle2.setFont(CoreData::getInstance().getMenuFontNormal()); + keyMapScrollBarTitle2.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); tilesetInfoXPos = 530; keyTilesetScrollBarTitle1.registerGraphicComponent(containerName,"keyTilesetScrollBarTitle1"); keyTilesetScrollBarTitle1.init(tilesetInfoXPos,scrollListsYPos + 20,labelWidth,20); keyTilesetScrollBarTitle1.setText(lang.get("TilesetTitle1")); keyTilesetScrollBarTitle1.setFont(CoreData::getInstance().getMenuFontNormal()); + keyTilesetScrollBarTitle1.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); scenarioInfoXPos = 760; keyScenarioScrollBarTitle1.registerGraphicComponent(containerName,"keyScenarioScrollBarTitle1"); keyScenarioScrollBarTitle1.init(scenarioInfoXPos,scrollListsYPos + 20,labelWidth,20); keyScenarioScrollBarTitle1.setText(lang.get("ScenarioTitle1")); keyScenarioScrollBarTitle1.setFont(CoreData::getInstance().getMenuFontNormal()); + keyScenarioScrollBarTitle1.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); mainMessageBoxState = ftpmsg_None; mainMessageBox.registerGraphicComponent(containerName,"mainMessageBox"); diff --git a/source/glest_game/menu/menu_state_options.cpp b/source/glest_game/menu/menu_state_options.cpp index dceeeed07..7ae8fe3f9 100644 --- a/source/glest_game/menu/menu_state_options.cpp +++ b/source/glest_game/menu/menu_state_options.cpp @@ -59,6 +59,7 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelAudioSection.registerGraphicComponent(containerName,"labelAudioSection"); labelAudioSection.init(currentLabelStart+captionOffset, currentLine); labelAudioSection.setFont(CoreData::getInstance().getMenuFontVeryBig()); + labelAudioSection.setFont3D(CoreData::getInstance().getMenuFontVeryBig3D()); labelAudioSection.setText(lang.get("Audio")); currentLine-=lineOffset; @@ -116,6 +117,7 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelVideoSection.registerGraphicComponent(containerName,"labelVideoSection"); labelVideoSection.init(currentLabelStart+captionOffset, currentLine); labelVideoSection.setFont(CoreData::getInstance().getMenuFontVeryBig()); + labelVideoSection.setFont3D(CoreData::getInstance().getMenuFontVeryBig3D()); labelVideoSection.setText(lang.get("Video")); currentLine-=lineOffset; @@ -277,6 +279,7 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelMiscSection.registerGraphicComponent(containerName,"labelMiscSection"); labelMiscSection.init(currentLabelStart+captionOffset, currentLine); labelMiscSection.setFont(CoreData::getInstance().getMenuFontVeryBig()); + labelMiscSection.setFont3D(CoreData::getInstance().getMenuFontVeryBig3D()); labelMiscSection.setText(lang.get("Misc")); currentLine-=lineOffset; @@ -307,6 +310,7 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelPlayerName.init(currentColumnStart,currentLine); labelPlayerName.setText(config.getString("NetPlayerName",Socket::getHostName().c_str())); labelPlayerName.setFont(CoreData::getInstance().getMenuFontBig()); + labelPlayerName.setFont3D(CoreData::getInstance().getMenuFontBig3D()); currentLine-=lineOffset; //FontSizeAdjustment @@ -352,6 +356,7 @@ MenuStateOptions::MenuStateOptions(Program *program, MainMenu *mainMenu): labelNetworkSettings.registerGraphicComponent(containerName,"labelNetworkSettingsSection"); labelNetworkSettings.init(currentLabelStart+captionOffset, currentLine); labelNetworkSettings.setFont(CoreData::getInstance().getMenuFontVeryBig()); + labelNetworkSettings.setFont3D(CoreData::getInstance().getMenuFontVeryBig3D()); labelNetworkSettings.setText(lang.get("Network")); currentLine-=lineOffset; // server port diff --git a/source/glest_game/menu/menu_state_scenario.cpp b/source/glest_game/menu/menu_state_scenario.cpp index 8302f4b12..7fd89cde6 100644 --- a/source/glest_game/menu/menu_state_scenario.cpp +++ b/source/glest_game/menu/menu_state_scenario.cpp @@ -59,6 +59,7 @@ MenuStateScenario::MenuStateScenario(Program *program, MainMenu *mainMenu, const labelInfo.registerGraphicComponent(containerName,"labelInfo"); labelInfo.init(startX, startY+130); labelInfo.setFont(CoreData::getInstance().getMenuFontNormal()); + labelInfo.setFont3D(CoreData::getInstance().getMenuFontNormal3D()); buttonReturn.registerGraphicComponent(containerName,"buttonReturn"); buttonReturn.init(startX, startY, 125); diff --git a/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp b/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp index 7f2ef9b17..503430720 100644 --- a/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp +++ b/source/shared_lib/sources/graphics/gl/font_textFTGL.cpp @@ -180,6 +180,7 @@ void TextFTGL::Render(const char* str, const int len) { but we don't want any text rendered then. */ if(len != 0) { + //printf("FTGL Render [%s] facesize = %d\n",str,ftFont->FaceSize()); ftFont->Render(str, len); if(ftFont->Error()) {