[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