aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen')
-rw-r--r--engines/xeen/scripts.cpp13
-rw-r--r--engines/xeen/scripts.h1
2 files changed, 12 insertions, 2 deletions
diff --git a/engines/xeen/scripts.cpp b/engines/xeen/scripts.cpp
index ad24985b31..6355c1cd2f 100644
--- a/engines/xeen/scripts.cpp
+++ b/engines/xeen/scripts.cpp
@@ -101,15 +101,17 @@ Scripts::Scripts(XeenEngine *vm) : _vm(vm) {
_animCounter = 0;
_eventSkipped = false;
_mirrorId = -1;
+ _refreshIcons = false;
}
void Scripts::checkEvents() {
Combat &combat = *_vm->_combat;
-// Interface &intf = *_vm->_interface;
+ Interface &intf = *_vm->_interface;
Map &map = *_vm->_map;
Party &party = *_vm->_party;
+ Screen &screen = *_vm->_screen;
-// int var18 = 0;
+ _refreshIcons = false;
_itemType = 0;
_var4F = 0;
bool var50 = false;
@@ -163,6 +165,12 @@ void Scripts::checkEvents() {
}
} while (!_vm->shouldQuit() && _lineNum != -1);
+ intf._face1State = intf._face2State = 2;
+ if (_refreshIcons) {
+ screen.closeWindows();
+ intf.charIconsPrint(true);
+ }
+
// TODO
}
@@ -669,6 +677,7 @@ void Scripts::cmdReturn(Common::Array<byte> &params) {
void Scripts::cmdSetVar(Common::Array<byte> &params) {
Party &party = *_vm->_party;
uint val;
+ _refreshIcons = true;
switch (params[0]) {
case 25:
diff --git a/engines/xeen/scripts.h b/engines/xeen/scripts.h
index c0168e208f..72ddfbc6ec 100644
--- a/engines/xeen/scripts.h
+++ b/engines/xeen/scripts.h
@@ -147,6 +147,7 @@ private:
int _lineNum;
int _charIndex;
int _mirrorId;
+ int _refreshIcons;
int _v2;
int _var4F;