diff options
author | Paul Gilbert | 2011-11-01 21:07:57 +1100 |
---|---|---|
committer | Paul Gilbert | 2011-11-01 21:07:57 +1100 |
commit | 5ae9c15cdc57ab1f3f07f6e6dcfbee6353d569dd (patch) | |
tree | be4d3f9226ee727069f82a741ea2a8dfe48ebcd8 | |
parent | acdeb1fb31021f0d563318639b4a261e3b370476 (diff) | |
download | scummvm-rg350-5ae9c15cdc57ab1f3f07f6e6dcfbee6353d569dd.tar.gz scummvm-rg350-5ae9c15cdc57ab1f3f07f6e6dcfbee6353d569dd.tar.bz2 scummvm-rg350-5ae9c15cdc57ab1f3f07f6e6dcfbee6353d569dd.zip |
TSAGE: Added display logic for character selection dialog in R2RW
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_dialogs.cpp | 38 | ||||
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_dialogs.h | 12 | ||||
-rw-r--r-- | engines/tsage/staticres.cpp | 5 | ||||
-rw-r--r-- | engines/tsage/staticres.h | 5 |
4 files changed, 60 insertions, 0 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.cpp b/engines/tsage/ringworld2/ringworld2_dialogs.cpp index 8d4863f332..562ca4cc65 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.cpp +++ b/engines/tsage/ringworld2/ringworld2_dialogs.cpp @@ -176,6 +176,7 @@ void RightClickDialog::execute() { break; case 4: // Change player + CharacterDialog::show(); break; case 5: // Options dialog @@ -188,6 +189,43 @@ void RightClickDialog::execute() { _gfxManager.deactivate(); } +/*--------------------------------------------------------------------------*/ + +void CharacterDialog::show() { + CharacterDialog *dlg = new CharacterDialog(); + dlg->draw(); + + GfxButton *btn = dlg->execute(&dlg->_btnCancel); + + + dlg->remove(); + delete dlg; +} + +CharacterDialog::CharacterDialog() { + // Set the element text + _msgTitle.set(CHAR_TITLE, 140, ALIGN_LEFT); + _btnQuinn.setText(CHAR_QUINN_MSG); + _btnSeeker.setText(CHAR_SEEKER_MSG); + _btnMiranda.setText(CHAR_MIRANDA_MSG); + _btnCancel.setText(CHAR_CANCEL_MSG); + + // Set position of the elements + _msgTitle._bounds.moveTo(5, 5); + _btnQuinn._bounds.moveTo(25, _msgTitle._bounds.bottom + 1); + _btnSeeker._bounds.moveTo(25, _btnQuinn._bounds.bottom + 1); + _btnMiranda._bounds.moveTo(25, _btnSeeker._bounds.bottom + 1); + _btnCancel._bounds.moveTo(25, _btnMiranda._bounds.bottom + 1); + + // Add the items to the dialog + addElements(&_msgTitle, &_btnQuinn, &_btnSeeker, &_btnMiranda, &_btnCancel, NULL); + + // Set the dialog size and position + frame(); + _bounds.collapse(-6, -6); + setCenter(160, 100); +} + } // End of namespace Ringworld2 } // End of namespace TsAGE diff --git a/engines/tsage/ringworld2/ringworld2_dialogs.h b/engines/tsage/ringworld2/ringworld2_dialogs.h index bbc35da3ea..89e50545bf 100644 --- a/engines/tsage/ringworld2/ringworld2_dialogs.h +++ b/engines/tsage/ringworld2/ringworld2_dialogs.h @@ -59,6 +59,18 @@ public: void execute(); }; +class CharacterDialog: public GfxDialog { +private: + GfxMessage _msgTitle; + GfxButton _btnQuinn, _btnMiranda, _btnSeeker; + GfxButton _btnCancel; +public: + CharacterDialog(); + virtual ~CharacterDialog() {} + + static void show(); +}; + } // End of namespace Ringworld2 } // End of namespace TsAGE diff --git a/engines/tsage/staticres.cpp b/engines/tsage/staticres.cpp index 4e7ac1fa10..84b76ad47f 100644 --- a/engines/tsage/staticres.cpp +++ b/engines/tsage/staticres.cpp @@ -193,6 +193,11 @@ const char *CONSOLE_MESSAGES[] = { }; const char *HELP_MSG = "\x1\rRETURN TO\r RINGWORLD\x14"; +const char *CHAR_TITLE = "\x01Select Character:"; +const char *CHAR_QUINN_MSG = " Quinn "; +const char *CHAR_SEEKER_MSG = " Seeker "; +const char *CHAR_MIRANDA_MSG = "Miranda"; +const char *CHAR_CANCEL_MSG = " Cancel "; } // End of namespace Ringworld2 diff --git a/engines/tsage/staticres.h b/engines/tsage/staticres.h index faaa0fee64..2fd97d198c 100644 --- a/engines/tsage/staticres.h +++ b/engines/tsage/staticres.h @@ -151,6 +151,11 @@ extern const char *CONSOLE_MESSAGES[]; // Dialog messages extern const char *HELP_MSG; +extern const char *CHAR_TITLE; +extern const char *CHAR_QUINN_MSG; +extern const char *CHAR_SEEKER_MSG; +extern const char *CHAR_MIRANDA_MSG; +extern const char *CHAR_CANCEL_MSG; } // End of namespace Ringworld2 |