diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | src/game.cpp | 25 | ||||
-rw-r--r-- | src/gui/ok_dialog.cpp | 9 | ||||
-rw-r--r-- | src/gui/ok_dialog.h | 6 | ||||
-rw-r--r-- | src/gui/window.cpp | 11 | ||||
-rw-r--r-- | src/openglgraphics.cpp | 30 |
6 files changed, 45 insertions, 44 deletions
@@ -1,3 +1,11 @@ +2005-09-20 Bjørn Lindeijer <bjorn@lindeijer.nl> + + * src/game.cpp, src/gui/ok_dialog.cpp, src/gui/ok_dialog.h, + src/gui/window.cpp: Enter is used to dismiss dialogs currently, + removed the hacks for use in combination with non-modal dialogs that + made the game crash. + * src/openglgraphics.cpp: Changed glColor4f to glColor4ub. + 2005-09-19 Bjørn Lindeijer <bjorn@lindeijer.nl> * configure.ac: Replaced custom function FIND_PATH with AC_PATH_PROG, diff --git a/src/game.cpp b/src/game.cpp index 0748d65b..164eab55 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -124,11 +124,11 @@ const int MAX_TIME = 10000; class WeightNoticeListener : public gcn::ActionListener { -public: - void action(const std::string &eventId) - { - weightNotice = NULL; - } + public: + void action(const std::string &eventId) + { + weightNotice = NULL; + } } weightNoticeListener; @@ -509,7 +509,10 @@ void do_input() // Input chat window case SDLK_RETURN: - if (chatWindow->isFocused()) { + if (chatWindow->isFocused() || + deathNotice != NULL || + weightNotice != NULL) + { break; } @@ -518,15 +521,6 @@ void do_input() { state = EXIT; } - // Accept the Death Notice... - else if (deathNotice) - { - deathNotice->action("ok"); - } - else if (weightNotice) - { - weightNotice->action("ok"); - } // Close the Browser if opened else if (helpWindow->isVisible()) { @@ -1583,7 +1577,6 @@ void do_parse() deathNotice = new OkDialog("Message", "You're now dead, press ok to restart", &deathNoticeListener); - deathNotice->releaseModalFocus(); player_node->action = Being::DEAD; } } diff --git a/src/gui/ok_dialog.cpp b/src/gui/ok_dialog.cpp index fd0408ac..0089f0ae 100644 --- a/src/gui/ok_dialog.cpp +++ b/src/gui/ok_dialog.cpp @@ -29,14 +29,14 @@ #include "windowcontainer.h" OkDialog::OkDialog(const std::string &title, const std::string &msg, - gcn::ActionListener *listener): + gcn::ActionListener *listener): Window(title, true) { init(msg, listener); } OkDialog::OkDialog(Window *parent, const std::string &title, - const std::string &msg, gcn::ActionListener *listener): + const std::string &msg, gcn::ActionListener *listener): Window(title, true, parent) { init(msg, listener); @@ -56,9 +56,8 @@ void OkDialog::init(const std::string &msg, gcn::ActionListener *listener) setContentSize(w, h); userLabel->setPosition(10, 10); - okButton->setPosition( - (w - okButton->getWidth()) / 2, - h - 5 - okButton->getHeight()); + okButton->setPosition((w - okButton->getWidth()) / 2, + h - 5 - okButton->getHeight()); okButton->setEventId("ok"); okButton->addActionListener(this); diff --git a/src/gui/ok_dialog.h b/src/gui/ok_dialog.h index 6dcf1e6a..3dfc18c8 100644 --- a/src/gui/ok_dialog.h +++ b/src/gui/ok_dialog.h @@ -43,7 +43,7 @@ class OkDialog : public Window, public gcn::ActionListener { * @see Window::Window */ OkDialog(const std::string &title, const std::string &msg, - gcn::ActionListener *listener = NULL); + gcn::ActionListener *listener = NULL); /** * Constructor with parent reference. @@ -51,8 +51,8 @@ class OkDialog : public Window, public gcn::ActionListener { * @see Window::Window */ OkDialog(Window *window, const std::string &title, - const std::string &msg, - gcn::ActionListener *listener = NULL); + const std::string &msg, + gcn::ActionListener *listener = NULL); /** * Destructor. diff --git a/src/gui/window.cpp b/src/gui/window.cpp index acb23cd4..642b891f 100644 --- a/src/gui/window.cpp +++ b/src/gui/window.cpp @@ -161,15 +161,16 @@ void Window::setWindowContainer(WindowContainer *wc) void Window::draw(gcn::Graphics* graphics) { - dynamic_cast<Graphics*>(graphics)->drawImageRect(0, 0, getWidth(), getHeight(), - border); + Graphics *g = (Graphics*)graphics; + + g->drawImageRect(0, 0, getWidth(), getHeight(), border); // Draw grip if (resizable) { - dynamic_cast<Graphics*>(graphics)->drawImage(Window::resizeGrip, - getWidth() - resizeGrip->getWidth(), - getHeight() - resizeGrip->getHeight()); + g->drawImage(Window::resizeGrip, + getWidth() - resizeGrip->getWidth(), + getHeight() - resizeGrip->getHeight()); } // Draw title diff --git a/src/openglgraphics.cpp b/src/openglgraphics.cpp index b9591591..56ef5b3f 100644 --- a/src/openglgraphics.cpp +++ b/src/openglgraphics.cpp @@ -157,7 +157,8 @@ SDL_Surface* OpenGLGraphics::getScreenshot() SDL_LockSurface(screenshot); } glPixelStorei(GL_PACK_ALIGNMENT, 1); - glReadPixels(0, 0, mScreen->w, mScreen->h, GL_RGB, GL_UNSIGNED_BYTE, screenshot->pixels); + glReadPixels(0, 0, mScreen->w, mScreen->h, GL_RGB, GL_UNSIGNED_BYTE, + screenshot->pixels); unsigned char *data = (unsigned char*)screenshot->pixels; for (int x = 0; x < mScreen->w; x++) { @@ -225,24 +226,23 @@ void OpenGLGraphics::popClipArea() glPopMatrix(); glScissor(mClipStack.top().x, - mScreen->h - mClipStack.top().y - mClipStack.top().height, - mClipStack.top().width, - mClipStack.top().height); + mScreen->h - mClipStack.top().y - mClipStack.top().height, + mClipStack.top().width, + mClipStack.top().height); } void OpenGLGraphics::setColor(const gcn::Color& color) { mColor = color; - glColor4f(color.r/255.0, - color.g/255.0, - color.b/255.0, - color.a/255.0); + glColor4ub(color.r, color.g, color.b, color.a); mColorAlpha = (color.a != 255); } -void OpenGLGraphics::drawImage(const gcn::Image* image, int srcX, int srcY, - int dstX, int dstY, int width, int height) +void OpenGLGraphics::drawImage(const gcn::Image* image, + int srcX, int srcY, + int dstX, int dstY, + int width, int height) { // The following code finds the real width and height of the texture. // OpenGL only supports texture sizes that are powers of two @@ -260,8 +260,8 @@ void OpenGLGraphics::drawImage(const gcn::Image* image, int srcX, int srcY, // Find OpenGL texture coordinates float texX1 = srcX / (float)realImageWidth; float texY1 = srcY / (float)realImageHeight; - float texX2 = (srcX+width) / (float)realImageWidth; - float texY2 = (srcY+height) / (float)realImageHeight; + float texX2 = (srcX + width) / (float)realImageWidth; + float texY2 = (srcY + height) / (float)realImageHeight; // Please dont look too closely at the next line, it is not pretty. // It uses the image data as a pointer to a GLuint @@ -284,12 +284,12 @@ void OpenGLGraphics::drawLine(int x1, int y1, int x2, int y2) setTexturingAndBlending(false); glBegin(GL_LINES); - glVertex3f(x1+0.5f, y1+0.5f, 0); - glVertex3f(x2+0.5f, y2+0.5f, 0); + glVertex3f(x1 + 0.5f, y1 + 0.5f, 0); + glVertex3f(x2 + 0.5f, y2 + 0.5f, 0); glEnd(); glBegin(GL_POINTS); - glVertex3f(x2+0.5f, y2+0.5f, 0); + glVertex3f(x2 + 0.5f, y2 + 0.5f, 0); glEnd(); } |