From d8154e00ac8b0df7ad0ac94c90a393aa5096e573 Mon Sep 17 00:00:00 2001 From: rubidium Date: Sat, 17 May 2008 12:26:00 +0000 Subject: [PATCH] (svn r13138) -Codechange: remove the need for IsWindowOfPrototype. --- src/misc_gui.cpp | 21 +++++++++++---------- src/window.cpp | 5 ----- src/window_gui.h | 2 -- 3 files changed, 11 insertions(+), 17 deletions(-) diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index 0fa15b39a5..57d426e756 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -348,9 +348,12 @@ private: uint64 decode_params[20]; StringID message_1; StringID message_2; + bool show_player_face; public: - ErrmsgWindow(Point pt, int width, int height, StringID msg1, StringID msg2, const Widget *widget) : Window(pt.x, pt.y, width, height, NULL, WC_ERRMSG, widget) + ErrmsgWindow(Point pt, int width, int height, StringID msg1, StringID msg2, const Widget *widget, bool show_player_face) : + Window(pt.x, pt.y, width, height, NULL, WC_ERRMSG, widget), + show_player_face(show_player_face) { this->duration = _patches.errmsg_duration; CopyOutDParam(this->decode_params, 0, lengthof(this->decode_params)); @@ -372,22 +375,20 @@ public: CopyInDParam(0, this->decode_params, lengthof(this->decode_params)); /* If the error message comes from a NewGRF, we must use the text ref. stack reserved for error messages. - * If the message doesn't come from a NewGRF, it won't use the TTDP-style text ref. stack, so we won't hurt anything - */ + * If the message doesn't come from a NewGRF, it won't use the TTDP-style text ref. stack, so we won't hurt anything + */ SwitchToErrorRefStack(); RewindTextRefStack(); - byte i = 0; - if (IsWindowOfPrototype(this, _errmsg_face_widgets)) { + if (this->show_player_face) { const Player *p = GetPlayer((PlayerID)GetDParamX(this->decode_params, 2)); DrawPlayerFace(p->face, p->player_color, 2, 16); - i = 1; } byte j = (this->message_1 == INVALID_STRING_ID) ? 1 : 0; - DrawStringMultiCenter(this->width - 120, y[i][j], this->message_2, this->width - 2); + DrawStringMultiCenter(this->width - 120, y[this->show_player_face][j], this->message_2, this->width - 2); if (j == 0) { - DrawStringMultiCenter(this->width - 120, y[i][2], this->message_1, this->width - 2); + DrawStringMultiCenter(this->width - 120, y[this->show_player_face][2], this->message_1, this->width - 2); } /* Switch back to the normal text ref. stack for NewGRF texts */ @@ -447,7 +448,7 @@ void ShowErrorMessage(StringID msg_1, StringID msg_2, int x, int y) pt.x = (_screen.width - 240) >> 1; pt.y = (_screen.height - 46) >> 1; } - new ErrmsgWindow(pt, 240, 46, msg_1, msg_2, _errmsg_widgets); + new ErrmsgWindow(pt, 240, 46, msg_1, msg_2, _errmsg_widgets, false); } else { if ((x | y) != 0) { pt = RemapCoords2(x, y); @@ -458,7 +459,7 @@ void ShowErrorMessage(StringID msg_1, StringID msg_2, int x, int y) pt.x = (_screen.width - 334) >> 1; pt.y = (_screen.height - 137) >> 1; } - new ErrmsgWindow(pt, 334, 137, msg_1, msg_2, _errmsg_face_widgets); + new ErrmsgWindow(pt, 334, 137, msg_1, msg_2, _errmsg_face_widgets, true); } } diff --git a/src/window.cpp b/src/window.cpp index c9bead7fdc..a1222f17c3 100644 --- a/src/window.cpp +++ b/src/window.cpp @@ -796,11 +796,6 @@ static Window *ForceFindDeletableWindow() NOT_REACHED(); } -bool IsWindowOfPrototype(const Window *w, const Widget *widget) -{ - return (w->original_widget == widget); -} - /** * Assign widgets to a new window by initialising its widget pointers, and by * copying the widget array \a widget to \c w->widget to allow for resizable diff --git a/src/window_gui.h b/src/window_gui.h index 8d527f95fa..44b915a15c 100644 --- a/src/window_gui.h +++ b/src/window_gui.h @@ -598,8 +598,6 @@ enum WindowFlags { Window *BringWindowToFrontById(WindowClass cls, WindowNumber number); Window *FindWindowFromPt(int x, int y); -bool IsWindowOfPrototype(const Window *w, const Widget *widget); - /** * Open a new window. * @param *desc The pointer to the WindowDesc to be created