[Scummvm-git-logs] scummvm master -> 4b4aef790f544335aacbd56ed8c2d5d896bfef69

mgerhardy martin.gerhardy at gmail.com
Sat Mar 27 18:18:49 UTC 2021


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
7440778d4c TWINE: extract to local variables
4b4aef790f TINSEL: fixed compilation error


Commit: 7440778d4cdddfe74c8f61c4a8c4e9283adb92c8
    https://github.com/scummvm/scummvm/commit/7440778d4cdddfe74c8f61c4a8c4e9283adb92c8
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-27T19:15:52+01:00

Commit Message:
TWINE: extract to local variables

Changed paths:
    engines/twine/scene/collision.cpp


diff --git a/engines/twine/scene/collision.cpp b/engines/twine/scene/collision.cpp
index 936774f3bb..b6e2f7c823 100644
--- a/engines/twine/scene/collision.cpp
+++ b/engines/twine/scene/collision.cpp
@@ -44,8 +44,9 @@ bool Collision::standingOnActor(int32 actorIdx1, int32 actorIdx2) const {
 	const ActorStruct *actor1 = _engine->_scene->getActor(actorIdx1);
 	const ActorStruct *actor2 = _engine->_scene->getActor(actorIdx2);
 
-	const IVec3 &mins1 = _engine->_movements->processActor + actor1->boudingBox.mins;
-	const IVec3 &maxs1 = _engine->_movements->processActor + actor1->boudingBox.maxs;
+	const IVec3 &processActor = _engine->_movements->processActor;
+	const IVec3 &mins1 = processActor + actor1->boudingBox.mins;
+	const IVec3 &maxs1 = processActor + actor1->boudingBox.maxs;
 
 	const IVec3 &mins2 = actor2->pos + actor2->boudingBox.mins;
 	const IVec3 &maxs2 = actor2->pos + actor2->boudingBox.maxs;
@@ -102,60 +103,62 @@ void Collision::reajustActorPosition(ShapeType brickShape) {
 	const int32 brkY = collision.y * BRICK_HEIGHT;
 	const int32 brkZ = (collision.z * BRICK_SIZE) - BRICK_HEIGHT;
 
+	IVec3 &processActor = _engine->_movements->processActor;
+
 	// double-side stairs
 	if (brickShape >= ShapeType::kDoubleSideStairsTop1 && brickShape <= ShapeType::kDoubleSideStairsRight2) {
 		switch (brickShape) {
 		case ShapeType::kDoubleSideStairsTop1:
-			if (_engine->_movements->processActor.z - collision.z <= _engine->_movements->processActor.x - collision.x) {
+			if (processActor.z - collision.z <= processActor.x - collision.x) {
 				brickShape = ShapeType::kStairsTopLeft;
 			} else {
 				brickShape = ShapeType::kStairsTopRight;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsBottom1:
-			if (_engine->_movements->processActor.z - collision.z <= _engine->_movements->processActor.x - collision.x) {
+			if (processActor.z - collision.z <= processActor.x - collision.x) {
 				brickShape = ShapeType::kStairsBottomLeft;
 			} else {
 				brickShape = ShapeType::kStairsBottomRight;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsLeft1:
-			if (512 - _engine->_movements->processActor.x - collision.x <= _engine->_movements->processActor.z - collision.z) {
+			if (512 - processActor.x - collision.x <= processActor.z - collision.z) {
 				brickShape = ShapeType::kStairsTopLeft;
 			} else {
 				brickShape = ShapeType::kStairsBottomLeft;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsRight1:
-			if (512 - _engine->_movements->processActor.x - collision.x <= _engine->_movements->processActor.z - collision.z) {
+			if (512 - processActor.x - collision.x <= processActor.z - collision.z) {
 				brickShape = ShapeType::kStairsTopRight;
 			} else {
 				brickShape = ShapeType::kStairsBottomRight;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsTop2:
-			if (_engine->_movements->processActor.x - collision.x >= _engine->_movements->processActor.z - collision.z) {
+			if (processActor.x - collision.x >= processActor.z - collision.z) {
 				brickShape = ShapeType::kStairsTopRight;
 			} else {
 				brickShape = ShapeType::kStairsTopLeft;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsBottom2:
-			if (_engine->_movements->processActor.z - collision.z <= _engine->_movements->processActor.x - collision.x) {
+			if (processActor.z - collision.z <= processActor.x - collision.x) {
 				brickShape = ShapeType::kStairsBottomRight;
 			} else {
 				brickShape = ShapeType::kStairsBottomLeft;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsLeft2:
-			if (512 - _engine->_movements->processActor.x - collision.x <= _engine->_movements->processActor.z - collision.z) {
+			if (512 - processActor.x - collision.x <= processActor.z - collision.z) {
 				brickShape = ShapeType::kStairsBottomLeft;
 			} else {
 				brickShape = ShapeType::kStairsTopLeft;
 			}
 			break;
 		case ShapeType::kDoubleSideStairsRight2:
-			if (512 - _engine->_movements->processActor.x - collision.x <= _engine->_movements->processActor.z - collision.z) {
+			if (512 - processActor.x - collision.x <= processActor.z - collision.z) {
 				brickShape = ShapeType::kStairsBottomRight;
 			} else {
 				brickShape = ShapeType::kStairsTopRight;
@@ -172,16 +175,16 @@ void Collision::reajustActorPosition(ShapeType brickShape) {
 	if (brickShape >= ShapeType::kStairsTopLeft && brickShape <= ShapeType::kStairsBottomRight) {
 		switch (brickShape) {
 		case ShapeType::kStairsTopLeft:
-			_engine->_movements->processActor.y = brkY + getAverageValue(0, BRICK_HEIGHT, BRICK_SIZE, _engine->_movements->processActor.x - brkX);
+			processActor.y = brkY + getAverageValue(0, BRICK_HEIGHT, BRICK_SIZE, processActor.x - brkX);
 			break;
 		case ShapeType::kStairsTopRight:
-			_engine->_movements->processActor.y = brkY + getAverageValue(0, BRICK_HEIGHT, BRICK_SIZE, _engine->_movements->processActor.z - brkZ);
+			processActor.y = brkY + getAverageValue(0, BRICK_HEIGHT, BRICK_SIZE, processActor.z - brkZ);
 			break;
 		case ShapeType::kStairsBottomLeft:
-			_engine->_movements->processActor.y = brkY + getAverageValue(BRICK_HEIGHT, 0, BRICK_SIZE, _engine->_movements->processActor.z - brkZ);
+			processActor.y = brkY + getAverageValue(BRICK_HEIGHT, 0, BRICK_SIZE, processActor.z - brkZ);
 			break;
 		case ShapeType::kStairsBottomRight:
-			_engine->_movements->processActor.y = brkY + getAverageValue(BRICK_HEIGHT, 0, BRICK_SIZE, _engine->_movements->processActor.x - brkX);
+			processActor.y = brkY + getAverageValue(BRICK_HEIGHT, 0, BRICK_SIZE, processActor.x - brkX);
 			break;
 		default:
 			break;
@@ -192,8 +195,9 @@ void Collision::reajustActorPosition(ShapeType brickShape) {
 int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 	ActorStruct *actor = _engine->_scene->getActor(actorIdx);
 
-	IVec3 mins = _engine->_movements->processActor + actor->boudingBox.mins;
-	IVec3 maxs = _engine->_movements->processActor + actor->boudingBox.maxs;
+	IVec3 &processActor = _engine->_movements->processActor;
+	IVec3 mins = processActor + actor->boudingBox.mins;
+	IVec3 maxs = processActor + actor->boudingBox.maxs;
 
 	actor->collision = -1;
 
@@ -210,14 +214,14 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 
 				if (actorTest->staticFlags.bIsCarrierActor) {
 					if (actor->dynamicFlags.bIsFalling) {
-						_engine->_movements->processActor.y = maxsTest.y - actor->boudingBox.mins.y + 1;
+						processActor.y = maxsTest.y - actor->boudingBox.mins.y + 1;
 						actor->standOn = a;
 					} else {
 						if (standingOnActor(actorIdx, a)) {
-							_engine->_movements->processActor.y = maxsTest.y - actor->boudingBox.mins.y + 1;
+							processActor.y = maxsTest.y - actor->boudingBox.mins.y + 1;
 							actor->standOn = a;
 						} else {
-							const int32 newAngle = _engine->_movements->getAngleAndSetTargetActorDistance(_engine->_movements->processActor, actorTest->pos);
+							const int32 newAngle = _engine->_movements->getAngleAndSetTargetActorDistance(processActor, actorTest->pos);
 
 							if (actorTest->staticFlags.bCanBePushed && !actor->staticFlags.bCanBePushed) {
 								actorTest->lastPos.y = 0;
@@ -236,28 +240,28 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 										actorTest->lastPos.x = 192;
 									}
 								} else {
-									actorTest->lastPos.x = _engine->_movements->processActor.x - actor->collisionPos.x;
-									actorTest->lastPos.z = _engine->_movements->processActor.z - actor->collisionPos.z;
+									actorTest->lastPos.x = processActor.x - actor->collisionPos.x;
+									actorTest->lastPos.z = processActor.z - actor->collisionPos.z;
 								}
 							}
 
 							if ((actorTest->boudingBox.maxs.x - actorTest->boudingBox.mins.x == actorTest->boudingBox.maxs.z - actorTest->boudingBox.mins.z) &&
 								(actor->boudingBox.maxs.x - actor->boudingBox.mins.x == actor->boudingBox.maxs.z - actor->boudingBox.mins.z)) {
 								if (newAngle < ANGLE_135) {
-									_engine->_movements->processActor.x = minsTest.x - actor->boudingBox.maxs.x;
+									processActor.x = minsTest.x - actor->boudingBox.maxs.x;
 								}
 								if (newAngle >= ANGLE_135 && newAngle < ANGLE_225) {
-									_engine->_movements->processActor.z = maxsTest.z - actor->boudingBox.mins.z;
+									processActor.z = maxsTest.z - actor->boudingBox.mins.z;
 								}
 								if (newAngle >= ANGLE_225 && newAngle < ANGLE_315) {
-									_engine->_movements->processActor.x = maxsTest.x - actor->boudingBox.mins.x;
+									processActor.x = maxsTest.x - actor->boudingBox.mins.x;
 								}
 								if (newAngle >= ANGLE_315 || (newAngle < ANGLE_315 && newAngle < ANGLE_45)) {
-									_engine->_movements->processActor.z = minsTest.z - actor->boudingBox.maxs.z;
+									processActor.z = minsTest.z - actor->boudingBox.maxs.z;
 								}
 							} else {
 								if (!actor->dynamicFlags.bIsFalling) {
-									_engine->_movements->processActor = _engine->_movements->previousActor;
+									processActor = _engine->_movements->previousActor;
 								}
 							}
 						}
@@ -267,7 +271,7 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 						_engine->_actor->hitActor(actorIdx, a, 1, -1);
 					}
 
-					int32 newAngle = _engine->_movements->getAngleAndSetTargetActorDistance(_engine->_movements->processActor, actorTest->pos);
+					int32 newAngle = _engine->_movements->getAngleAndSetTargetActorDistance(processActor, actorTest->pos);
 
 					if (actorTest->staticFlags.bCanBePushed && !actor->staticFlags.bCanBePushed) {
 						actorTest->lastPos.y = 0;
@@ -286,28 +290,28 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 								actorTest->lastPos.x = 192;
 							}
 						} else {
-							actorTest->lastPos.x = _engine->_movements->processActor.x - actor->collisionPos.x;
-							actorTest->lastPos.z = _engine->_movements->processActor.z - actor->collisionPos.z;
+							actorTest->lastPos.x = processActor.x - actor->collisionPos.x;
+							actorTest->lastPos.z = processActor.z - actor->collisionPos.z;
 						}
 					}
 
 					if ((actorTest->boudingBox.maxs.x - actorTest->boudingBox.mins.x == actorTest->boudingBox.maxs.z - actorTest->boudingBox.mins.z) &&
 						(actor->boudingBox.maxs.x - actor->boudingBox.mins.x == actor->boudingBox.maxs.z - actor->boudingBox.mins.z)) {
 						if (newAngle < ANGLE_135) {
-							_engine->_movements->processActor.x = minsTest.x - actor->boudingBox.maxs.x;
+							processActor.x = minsTest.x - actor->boudingBox.maxs.x;
 						}
 						if (newAngle >= ANGLE_135 && newAngle < ANGLE_225) {
-							_engine->_movements->processActor.z = maxsTest.z - actor->boudingBox.mins.z;
+							processActor.z = maxsTest.z - actor->boudingBox.mins.z;
 						}
 						if (newAngle >= ANGLE_225 && newAngle < ANGLE_315) {
-							_engine->_movements->processActor.x = maxsTest.x - actor->boudingBox.mins.x;
+							processActor.x = maxsTest.x - actor->boudingBox.mins.x;
 						}
 						if (newAngle >= ANGLE_315 || (newAngle < ANGLE_315 && newAngle < ANGLE_45)) {
-							_engine->_movements->processActor.z = minsTest.z - actor->boudingBox.maxs.z;
+							processActor.z = minsTest.z - actor->boudingBox.maxs.z;
 						}
 					} else {
 						if (!actor->dynamicFlags.bIsFalling) {
-							_engine->_movements->processActor = _engine->_movements->previousActor;
+							processActor = _engine->_movements->previousActor;
 						}
 					}
 				}
@@ -318,13 +322,13 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 	if (actor->dynamicFlags.bIsHitting) {
 		_engine->_movements->rotateActor(0, 200, actor->angle);
 
-		mins.x = _engine->_renderer->destPos.x + _engine->_movements->processActor.x + actor->boudingBox.mins.x;
-		mins.y = _engine->_movements->processActor.y + actor->boudingBox.mins.y;
-		mins.z = _engine->_renderer->destPos.z + _engine->_movements->processActor.z + actor->boudingBox.mins.z;
+		mins.x = _engine->_renderer->destPos.x + processActor.x + actor->boudingBox.mins.x;
+		mins.y = processActor.y + actor->boudingBox.mins.y;
+		mins.z = _engine->_renderer->destPos.z + processActor.z + actor->boudingBox.mins.z;
 
-		maxs.x = _engine->_renderer->destPos.x + _engine->_movements->processActor.x + actor->boudingBox.maxs.x;
-		maxs.y = _engine->_movements->processActor.y + actor->boudingBox.maxs.y;
-		maxs.z = _engine->_renderer->destPos.z + _engine->_movements->processActor.z + actor->boudingBox.maxs.z;
+		maxs.x = _engine->_renderer->destPos.x + processActor.x + actor->boudingBox.maxs.x;
+		maxs.y = processActor.y + actor->boudingBox.maxs.y;
+		maxs.z = _engine->_renderer->destPos.z + processActor.z + actor->boudingBox.maxs.z;
 
 		for (int32 a = 0; a < _engine->_scene->sceneNumActors; a++) {
 			const ActorStruct *actorTest = _engine->_scene->getActor(a);
@@ -345,68 +349,74 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 }
 
 void Collision::checkHeroCollisionWithBricks(int32 x, int32 y, int32 z, int32 damageMask) {
-	ShapeType brickShape = _engine->_grid->getBrickShape(_engine->_movements->processActor);
+	IVec3 &processActor = _engine->_movements->processActor;
+	IVec3 &previousActor = _engine->_movements->previousActor;
+	ShapeType brickShape = _engine->_grid->getBrickShape(processActor);
 
-	_engine->_movements->processActor.x += x;
-	_engine->_movements->processActor.y += y;
-	_engine->_movements->processActor.z += z;
+	processActor.x += x;
+	processActor.y += y;
+	processActor.z += z;
 
-	if (_engine->_movements->processActor.x >= 0 && _engine->_movements->processActor.z >= 0 && _engine->_movements->processActor.x <= 0x7E00 && _engine->_movements->processActor.z <= 0x7E00) {
+	if (processActor.x >= 0 && processActor.z >= 0 && processActor.x <= 0x7E00 && processActor.z <= 0x7E00) {
+		const BoundingBox &bbox = _engine->_actor->processActorPtr->boudingBox;
 		reajustActorPosition(brickShape);
-		brickShape = _engine->_grid->getBrickShapeFull(_engine->_movements->processActor, _engine->_actor->processActorPtr->boudingBox.maxs.y);
+		brickShape = _engine->_grid->getBrickShapeFull(processActor, bbox.maxs.y);
 
 		if (brickShape == ShapeType::kSolid) {
 			causeActorDamage |= damageMask;
-			brickShape = _engine->_grid->getBrickShapeFull(_engine->_movements->processActor.x, _engine->_movements->processActor.y, _engine->_movements->previousActor.z + z, _engine->_actor->processActorPtr->boudingBox.maxs.y);
+			brickShape = _engine->_grid->getBrickShapeFull(processActor.x, processActor.y, previousActor.z + z, bbox.maxs.y);
 
 			if (brickShape == ShapeType::kSolid) {
-				brickShape = _engine->_grid->getBrickShapeFull(x + _engine->_movements->previousActor.x, _engine->_movements->processActor.y, _engine->_movements->processActor.z, _engine->_actor->processActorPtr->boudingBox.maxs.y);
+				brickShape = _engine->_grid->getBrickShapeFull(x + previousActor.x, processActor.y, processActor.z, bbox.maxs.y);
 
 				if (brickShape != ShapeType::kSolid) {
-					processCollision.x = _engine->_movements->previousActor.x;
+					processCollision.x = previousActor.x;
 				}
 			} else {
-				processCollision.z = _engine->_movements->previousActor.z;
+				processCollision.z = previousActor.z;
 			}
 		}
 	}
 
-	_engine->_movements->processActor = processCollision;
+	processActor = processCollision;
 }
 
 void Collision::checkActorCollisionWithBricks(int32 x, int32 y, int32 z, int32 damageMask) {
-	ShapeType brickShape = _engine->_grid->getBrickShape(_engine->_movements->processActor);
+	IVec3 &processActor = _engine->_movements->processActor;
+	IVec3 &previousActor = _engine->_movements->previousActor;
+	ShapeType brickShape = _engine->_grid->getBrickShape(processActor);
 
-	_engine->_movements->processActor.x += x;
-	_engine->_movements->processActor.y += y;
-	_engine->_movements->processActor.z += z;
+	processActor.x += x;
+	processActor.y += y;
+	processActor.z += z;
 
-	if (_engine->_movements->processActor.x >= 0 && _engine->_movements->processActor.z >= 0 && _engine->_movements->processActor.x <= 0x7E00 && _engine->_movements->processActor.z <= 0x7E00) {
+	if (processActor.x >= 0 && processActor.z >= 0 && processActor.x <= 0x7E00 && processActor.z <= 0x7E00) {
 		reajustActorPosition(brickShape);
-		brickShape = _engine->_grid->getBrickShape(_engine->_movements->processActor);
+		brickShape = _engine->_grid->getBrickShape(processActor);
 
 		if (brickShape == ShapeType::kSolid) {
 			causeActorDamage |= damageMask;
-			brickShape = _engine->_grid->getBrickShape(_engine->_movements->processActor.x, _engine->_movements->processActor.y, _engine->_movements->previousActor.z + z);
+			brickShape = _engine->_grid->getBrickShape(processActor.x, processActor.y, previousActor.z + z);
 
 			if (brickShape == ShapeType::kSolid) {
-				brickShape = _engine->_grid->getBrickShape(x + _engine->_movements->previousActor.x, _engine->_movements->processActor.y, _engine->_movements->processActor.z);
+				brickShape = _engine->_grid->getBrickShape(x + previousActor.x, processActor.y, processActor.z);
 
 				if (brickShape != ShapeType::kSolid) {
-					processCollision.x = _engine->_movements->previousActor.x;
+					processCollision.x = previousActor.x;
 				}
 			} else {
-				processCollision.z = _engine->_movements->previousActor.z;
+				processCollision.z = previousActor.z;
 			}
 		}
 	}
 
-	_engine->_movements->processActor = processCollision;
+	processActor = processCollision;
 }
 
 void Collision::stopFalling() { // ReceptionObj()
 	if (IS_HERO(_engine->_animations->currentlyProcessedActorIdx)) {
-		const int32 fall = _engine->_scene->heroYBeforeFall - _engine->_movements->processActor.y;
+		const IVec3 &processActor = _engine->_movements->processActor;
+		const int32 fall = _engine->_scene->heroYBeforeFall - processActor.y;
 
 		if (fall >= BRICK_HEIGHT * 8) {
 			_engine->_extra->addExtraSpecial(_engine->_actor->processActorPtr->pos.x, _engine->_actor->processActorPtr->pos.y + 1000, _engine->_actor->processActorPtr->pos.z, ExtraSpecialType::kHitStars);


Commit: 4b4aef790f544335aacbd56ed8c2d5d896bfef69
    https://github.com/scummvm/scummvm/commit/4b4aef790f544335aacbd56ed8c2d5d896bfef69
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-03-27T19:18:40+01:00

Commit Message:
TINSEL: fixed compilation error

Changed paths:
    engines/tinsel/adpcm.cpp


diff --git a/engines/tinsel/adpcm.cpp b/engines/tinsel/adpcm.cpp
index e004595450..1215ee4471 100644
--- a/engines/tinsel/adpcm.cpp
+++ b/engines/tinsel/adpcm.cpp
@@ -51,7 +51,7 @@ void Tinsel_ADPCMStream::readBufferTinselHeader() {
 		// Truncate
 		start &= 0x1F;
 
-		_status.predictor = ((double) 1.0) / ((uuint64)1 << start);
+		_status.predictor = ((double) 1.0) / ((uint64)1 << start);
 	}
 
 	_status.K0 = TinselFilterTable[filterVal][0];




More information about the Scummvm-git-logs mailing list