[Scummvm-git-logs] scummvm master -> 902c984cf5c367d9bfb1d8cdfac4fb887b921d3e
dreammaster
dreammaster at scummvm.org
Sat Mar 17 12:12:38 CET 2018
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ac98281d9d XEEN: Don't let traps trigger more than once
637dedeb9a XEEN: Fixes to death cutscene
902c984cf5 XEEN: Fix crash setting up combat speed table for new games
Commit: ac98281d9d5e1c6a2fe1df7b580c90d0acf5553f
https://github.com/scummvm/scummvm/commit/ac98281d9d5e1c6a2fe1df7b580c90d0acf5553f
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-03-17T07:10:41-04:00
Commit Message:
XEEN: Don't let traps trigger more than once
Changed paths:
engines/xeen/interface.cpp
diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp
index 3d9f05b..b994a99 100644
--- a/engines/xeen/interface.cpp
+++ b/engines/xeen/interface.cpp
@@ -258,20 +258,24 @@ void Interface::perform() {
Spells &spells = *_vm->_spells;
const Common::Rect WAIT_BOUNDS(8, 8, 224, 140);
- events.updateGameCounter();
- draw3d(true);
-
- // Wait for a frame or a user event
do {
- events.pollEventsAndWait();
- checkEvents(_vm);
+ // Draw the next frame
+ events.updateGameCounter();
+ draw3d(true);
- if (events._leftButton && WAIT_BOUNDS.contains(events._mousePos))
- _buttonValue = Common::KEYCODE_SPACE;
- } while (!_buttonValue && events.timeElapsed() < 1 && !_vm->_party->_partyDead);
+ // Wait for a frame or a user event
+ _buttonValue = 0;
+ do {
+ events.pollEventsAndWait();
+ if (party._partyDead)
+ return;
- if (!_buttonValue && !_vm->_party->_partyDead)
- return;
+ if (events._leftButton && WAIT_BOUNDS.contains(events._mousePos))
+ _buttonValue = Common::KEYCODE_SPACE;
+ else
+ checkEvents(g_vm);
+ } while (!_buttonValue && events.timeElapsed() < 1);
+ } while (!_buttonValue);
if (_buttonValue == Common::KEYCODE_SPACE) {
int lookupId = map.mazeLookup(party._mazePosition,
Commit: 637dedeb9acbd0c024a84f8d1b6fc04f33ceeacc
https://github.com/scummvm/scummvm/commit/637dedeb9acbd0c024a84f8d1b6fc04f33ceeacc
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-03-17T07:10:41-04:00
Commit Message:
XEEN: Fixes to death cutscene
Changed paths:
engines/xeen/worldofxeen/worldofxeen.cpp
diff --git a/engines/xeen/worldofxeen/worldofxeen.cpp b/engines/xeen/worldofxeen/worldofxeen.cpp
index 962bdfe..2410a29 100644
--- a/engines/xeen/worldofxeen/worldofxeen.cpp
+++ b/engines/xeen/worldofxeen/worldofxeen.cpp
@@ -71,7 +71,7 @@ void WorldOfXeenEngine::death() {
}
w.update();
- _events->wait(1);
+ _events->wait(1, false);
}
deathSprites.draw(0, 34, Common::Point(0, 0));
@@ -79,7 +79,7 @@ void WorldOfXeenEngine::death() {
w.update();
savedBg.blitFrom(*_screen);
- _sound->playSong(_files->_isDarkCc ? "laff1.voc" : "xeenlaff.voc");
+ _sound->playSound(_files->_isDarkCc ? "laff1.voc" : "xeenlaff.voc");
// Animation of Xeen or Alamar laughing
for (int idx = 0, idx2 = 0; idx < (_files->_isDarkCc ? 10 : 23); ++idx) {
@@ -91,11 +91,11 @@ void WorldOfXeenEngine::death() {
w.update();
if (_files->_isDarkCc) {
- _events->wait(2);
+ _events->wait(2, false);
} else {
if (idx == 1 || idx == 11)
_sound->playFX(33);
- _events->wait(2);
+ _events->wait(2, false);
if (idx == 15)
_sound->playFX(34);
}
@@ -111,6 +111,9 @@ void WorldOfXeenEngine::death() {
idx = 23;
}
+ while (_sound->isSoundPlaying())
+ _events->wait(1, false);
+
_screen->blitFrom(savedBg);
w.update();
}
Commit: 902c984cf5c367d9bfb1d8cdfac4fb887b921d3e
https://github.com/scummvm/scummvm/commit/902c984cf5c367d9bfb1d8cdfac4fb887b921d3e
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2018-03-17T07:12:01-04:00
Commit Message:
XEEN: Fix crash setting up combat speed table for new games
Changed paths:
engines/xeen/combat.cpp
engines/xeen/interface.cpp
diff --git a/engines/xeen/combat.cpp b/engines/xeen/combat.cpp
index 6c293bc..6422b72 100644
--- a/engines/xeen/combat.cpp
+++ b/engines/xeen/combat.cpp
@@ -1116,7 +1116,7 @@ void Combat::setSpeedTable() {
}
if (hasSpeed) {
- if (_speedTable[_whosSpeed] != oldSpeed) {
+ if (_whosSpeed >= (int)_speedTable.size() || _speedTable[_whosSpeed] != oldSpeed) {
for (_whosSpeed = 0; _whosSpeed < (int)charSpeeds.size(); ++_whosSpeed) {
if (oldSpeed == _speedTable[_whosSpeed])
break;
diff --git a/engines/xeen/interface.cpp b/engines/xeen/interface.cpp
index b994a99..96f44bb 100644
--- a/engines/xeen/interface.cpp
+++ b/engines/xeen/interface.cpp
@@ -267,7 +267,7 @@ void Interface::perform() {
_buttonValue = 0;
do {
events.pollEventsAndWait();
- if (party._partyDead)
+ if (g_vm->shouldExit() || party._partyDead)
return;
if (events._leftButton && WAIT_BOUNDS.contains(events._mousePos))
More information about the Scummvm-git-logs
mailing list