diff options
Diffstat (limited to 'engines/xeen')
-rw-r--r-- | engines/xeen/scripts.cpp | 13 | ||||
-rw-r--r-- | engines/xeen/scripts.h | 1 |
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> ¶ms) { void Scripts::cmdSetVar(Common::Array<byte> ¶ms) { 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; |