diff options
author | Paul Gilbert | 2015-02-15 12:20:44 -0500 |
---|---|---|
committer | Paul Gilbert | 2015-02-15 12:20:44 -0500 |
commit | 6605a0c505b2e58bd458fab6865e4db1bf55972b (patch) | |
tree | 7fe6548cd57afcda946ce9e8d2e149cf081ea2bb /engines/xeen/interface.cpp | |
parent | cc9f62fcb936f86468566cd33602ff394040d33a (diff) | |
download | scummvm-rg350-6605a0c505b2e58bd458fab6865e4db1bf55972b.tar.gz scummvm-rg350-6605a0c505b2e58bd458fab6865e4db1bf55972b.tar.bz2 scummvm-rg350-6605a0c505b2e58bd458fab6865e4db1bf55972b.zip |
XEEN: Implemented more code from end of draw3d
Diffstat (limited to 'engines/xeen/interface.cpp')
-rw-r--r-- | engines/xeen/interface.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp index 51a59e1f6f..89747d1a81 100644 --- a/engines/xeen/interface.cpp +++ b/engines/xeen/interface.cpp @@ -937,12 +937,13 @@ void Interface::draw3d(bool updateFlag) { EventsManager &events = *_vm->_events; Party &party = *_vm->_party; Screen &screen = *_vm->_screen; + Scripts &scripts = *_vm->_scripts; if (screen._windows[11]._enabled) return; // Draw the map - drawMap(updateFlag); + drawMap(); // Draw the minimap drawMiniMap(); @@ -966,11 +967,20 @@ void Interface::draw3d(bool updateFlag) { screen._windows[3].update(); } - // TODO: more stuff + if (combat._attackMonsters[0] != -1 || combat._attackMonsters[1] != -1 + || combat._attackMonsters[2] != -1) { + if ((_vm->_mode == MODE_1 || _vm->_mode == MODE_SLEEPING) && !_flag1 + && !_charsShooting && _vm->_moveMonsters) { + combat.doCombat(); + if (scripts._eventSkipped) + scripts.checkEvents(); + } + } - _vm->_party->_stepped = false; + party._stepped = false; if (_vm->_mode == MODE_9) { - // TODO + // TODO: Save current scripts data? + error("TODO: save scripts?"); } // TODO: Check use of updateFlag here. Original doesn't have it, but I @@ -1029,7 +1039,7 @@ void Interface::handleFalling() { assembleBorder(); w.update(); - shake(); + shake(10); } void Interface::saveFall() { @@ -1040,7 +1050,7 @@ void Interface::fall(int v) { } -void Interface::shake() { +void Interface::shake(int time) { } |