- fixed strange messagebox display (was caused by map preview renderer setting glLineWidth to 14 and never resetting afterwards)

This commit is contained in:
Mark Vejvoda 2011-04-24 05:39:13 +00:00
parent 68a906ab2a
commit 1f3d97dbe1
5 changed files with 21 additions and 14 deletions

View File

@ -5345,13 +5345,13 @@ void Renderer::renderMapPreview( const MapPreview *map, bool renderAll,
assertGl();
glLineWidth(1);
glPopMatrix();
glPopAttrib();
glMatrixMode(GL_PROJECTION);
glPopMatrix();
assertGl();
if(supportFBOs == true && renderToTexture != NULL) {
Texture2DGl *texture = static_cast<Texture2DGl *>(*renderToTexture);
if(texture != NULL) {

View File

@ -1308,11 +1308,10 @@ void MenuStateCustomGame::render() {
//printf("=================> Rendering map preview texture\n");
}
if(mainMessageBox.getEnabled()){
if(mainMessageBox.getEnabled()) {
renderer.renderMessageBox(&mainMessageBox);
}
else
{
else {
renderer.renderButton(&buttonReturn);
renderer.renderButton(&buttonPlayNow);
renderer.renderButton(&buttonRestoreLastSettings);
@ -1448,11 +1447,11 @@ void MenuStateCustomGame::render() {
if( enableMapPreview == true &&
mapPreview.hasFileLoaded() == true) {
int mouseX = mainMenu->getMouseX();
int mouseY = mainMenu->getMouseY();
int mouse2dAnim = mainMenu->getMouse2dAnim();
//int mouseX = mainMenu->getMouseX();
//int mouseY = mainMenu->getMouseY();
//int mouse2dAnim = mainMenu->getMouse2dAnim();
renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
//renderer.renderMouse2d(mouseX, mouseY, mouse2dAnim);
if(mapPreviewTexture == NULL) {
bool renderAll = (listBoxFogOfWar.getSelectedItemIndex() == 2);

View File

@ -86,19 +86,19 @@ void MenuStateRoot::mouseClick(int x, int y, MouseButton mouseButton){
CoreData &coreData= CoreData::getInstance();
SoundRenderer &soundRenderer= SoundRenderer::getInstance();
if(buttonNewGame.mouseClick(x, y)){
if(mainMessageBox.getEnabled() == false && buttonNewGame.mouseClick(x, y)){
soundRenderer.playFx(coreData.getClickSoundB());
mainMenu->setState(new MenuStateNewGame(program, mainMenu));
}
else if(buttonMods.mouseClick(x, y)){
else if(mainMessageBox.getEnabled() == false && buttonMods.mouseClick(x, y)){
soundRenderer.playFx(coreData.getClickSoundB());
mainMenu->setState(new MenuStateMods(program, mainMenu));
}
else if(buttonOptions.mouseClick(x, y)){
else if(mainMessageBox.getEnabled() == false && buttonOptions.mouseClick(x, y)){
soundRenderer.playFx(coreData.getClickSoundB());
mainMenu->setState(new MenuStateOptions(program, mainMenu));
}
else if(buttonAbout.mouseClick(x, y)){
else if(mainMessageBox.getEnabled() == false && buttonAbout.mouseClick(x, y)){
soundRenderer.playFx(coreData.getClickSoundB());
mainMenu->setState(new MenuStateAbout(program, mainMenu));
}
@ -197,7 +197,7 @@ void MenuStateRoot::render() {
renderer.renderConsole(&console,false,true);
//exit message box
if(mainMessageBox.getEnabled()){
if(mainMessageBox.getEnabled()) {
renderer.renderMessageBox(&mainMessageBox);
}
if(program != NULL) program->renderProgramMsgBox();

View File

@ -44,6 +44,7 @@ public:
void setup_FBO_RBO();
void attachFrameBufferToTexture();
void dettachFrameBufferFromTexture();
void dettachRenderBufferFromTexture();
bool checkFrameBufferStatus();
void teardown_FBO_RBO();

View File

@ -633,6 +633,13 @@ void TextureGl::dettachFrameBufferFromTexture() {
}
}
void TextureGl::dettachRenderBufferFromTexture() {
// Need some work to get extensions properly working in Windows (use Glew lib)
if(glGenFramebuffersEXT) {
glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);
}
}
TextureGl::~TextureGl() {
// Need some work to get extensions properly working in Windows (use Glew lib)
if(glGenFramebuffersEXT) {