aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-rw-r--r--engines/prince/prince.cpp9
-rw-r--r--engines/prince/prince.h1
2 files changed, 7 insertions, 3 deletions
diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp
index 87b9e12b0a..da2f635d33 100644
--- a/engines/prince/prince.cpp
+++ b/engines/prince/prince.cpp
@@ -87,7 +87,7 @@ PrinceEngine::PrinceEngine(OSystem *syst, const PrinceGameDescription *gameDesc)
_optionsMob(0), _currentPointerNumber(1), _selectedMob(0), _selectedItem(0), _selectedMode(0),
_optionsWidth(210), _optionsHeight(170), _invOptionsWidth(210), _invOptionsHeight(130), _optionsStep(20),
_invOptionsStep(20), _optionsNumber(7), _invOptionsNumber(5), _optionsColor1(236), _optionsColor2(252),
- _dialogWidth(600), _dialogHeight(0), _dialogLineSpace(10), _dialogColor1(220), _dialogColor2(223) {
+ _dialogWidth(600), _dialogHeight(0), _dialogLineSpace(10), _dialogColor1(220), _dialogColor2(223), _dialogFlag(false) {
// Debug/console setup
DebugMan.addDebugChannel(DebugChannel::kScript, "script", "Prince Script debug channel");
@@ -1438,7 +1438,7 @@ void PrinceEngine::drawScreen() {
playNextFrame();
if (!_inventoryBackgroundRemember) {
- if (!_optionsFlag) {
+ if (!_optionsFlag && !_dialogFlag) {
_selectedMob = hotspot(_graph->_frontScreen, _mobList);
}
showTexts(_graph->_frontScreen);
@@ -2111,9 +2111,12 @@ void PrinceEngine::createDialogBox(Common::Array<DialogLine> &dialogData) {
void PrinceEngine::runDialog(Common::Array<DialogLine> &dialogData) {
+ _dialogFlag = true;
+
while (!shouldQuit()) {
- drawScreen(); // without some of things - check it
+ drawScreen();
+ // background iterpreter?
int dialogX = (640 - _dialogWidth) / 2;
int dialogY = 460 - _dialogHeight;
diff --git a/engines/prince/prince.h b/engines/prince/prince.h
index c6f1026ace..4782287132 100644
--- a/engines/prince/prince.h
+++ b/engines/prince/prince.h
@@ -349,6 +349,7 @@ public:
void inventoryRightMouseButton();
void dialogLeftMouseButton(int dialogSelected, const char *s);
+ bool _dialogFlag;
int _dialogWidth;
int _dialogHeight;
int _dialogLineSpace;