diff options
Diffstat (limited to 'engines/hdb/window.h')
-rw-r--r-- | engines/hdb/window.h | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/engines/hdb/window.h b/engines/hdb/window.h index 9a248e7e97..542f26d02d 100644 --- a/engines/hdb/window.h +++ b/engines/hdb/window.h @@ -28,6 +28,8 @@ namespace HDB { enum { kDialogTextLeft = 64, kDialogTextRight = (kDialogTextLeft + kTileWidth * 9), + kOpenDialogTextLeft = kDialogTextLeft, + kOpenDialogTextRight = (kDialogTextRight + kTileWidth * 2), kWeaponX = (480 - 34), kWeaponY = 2, kInvItemSpaceX = 48, @@ -56,7 +58,34 @@ struct DialogInfo { int el, er, et, eb; // saves the text edges char luaMore[64]; // the name of the function to call after clicking the MORE button - DialogInfo() : title(""), tileIndex(0), string(""), active(false), x(0), y(0), width(0), height(0), titleWidth(0), gfx(NULL), more(0), el(0), er(0), et(0), eb(0), luaMore("") {} + DialogInfo() : title(""), tileIndex(0), string(""), active(false), x(0), y(0), + width(0), height(0), titleWidth(0), gfx(NULL), more(0), el(0), er(0), et(0), + eb(0), luaMore("") {} +}; + +struct DialogChoiceInfo { + char title[64]; // TITLE string + char text[160]; // actual text in the dialog + char func[64]; // function to call with result + + bool active; // is it drawing or not? + int x, y; // where to draw dialog + int width, height; // size of the dialog itself + int textHeight; // height of everything above choices + int titleWidth; + int el, er, et, eb; // saves the text edges + uint32 timeout; // timeout value! + + int selection; // which choice we've made + int numChoices; // how many choices possible + char choices[10][64]; // ptrs to choice text + + DialogChoiceInfo() : title(""), text(""), func(""), active(false), x(0), y(0), + width(0), height(0), textHeight(0), titleWidth(0), el(0), er(0), et(0), + eb(0), timeout(0), selection(0), numChoices(0) { + for (int i = 0; i < 10; i++) + strcpy(choices[i], ""); + } }; struct InvWinInfo { @@ -152,6 +181,8 @@ private: DialogInfo _dialogInfo; uint32 _dialogDelay; // Used for Cinematics + DialogChoiceInfo _dialogChoiceInfo; + InvWinInfo _invWinInfo; Common::Array<TOut *> _textOutList; DlvsInfo _dlvsInfo; |