[Scummvm-git-logs] scummvm master -> f5a3030b296204fd4df2cedec3d82e47542a89ce

mgerhardy noreply at scummvm.org
Mon Dec 27 21:22:49 UTC 2021


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

Summary:
f5a3030b29 TWINE: renamed holomap location member


Commit: f5a3030b296204fd4df2cedec3d82e47542a89ce
    https://github.com/scummvm/scummvm/commit/f5a3030b296204fd4df2cedec3d82e47542a89ce
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-12-27T22:10:32+01:00

Commit Message:
TWINE: renamed holomap location member

Changed paths:
    engines/twine/holomap.cpp
    engines/twine/holomap.h


diff --git a/engines/twine/holomap.cpp b/engines/twine/holomap.cpp
index cc4c40b6113..b331c337565 100644
--- a/engines/twine/holomap.cpp
+++ b/engines/twine/holomap.cpp
@@ -92,9 +92,9 @@ bool Holomap::loadLocations() {
 
 	_engine->_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 	for (int32 i = 0; i < _numLocations; i++) {
-		_locations[i].angle.x = ClampAngle(stream.readSint16LE());
-		_locations[i].angle.y = ClampAngle(stream.readSint16LE());
-		_locations[i].angle.z = ClampAngle(stream.readSint16LE());
+		_locations[i].angleX = ClampAngle(stream.readSint16LE());
+		_locations[i].angleY = ClampAngle(stream.readSint16LE());
+		_locations[i].size = stream.readSint16LE();
 		_locations[i].textIndex = (TextId)stream.readUint16LE();
 
 		if (_engine->_text->getMenuText(_locations[i].textIndex, _locations[i].name, sizeof(_locations[i].name))) {
@@ -358,7 +358,7 @@ void Holomap::drawHolomapTrajectory(int32 trajectoryIndex) {
 	renderHolomapSurfacePolygons(holomapImagePtr, holomapImageSize);
 
 	const Location &loc = _locations[data->locationIdx];
-	renderHolomapPointModel(data->pos, loc.angle.x, loc.angle.y);
+	renderHolomapPointModel(data->pos, loc.angleX, loc.angleY);
 
 	ActorMoveStruct move;
 	AnimTimerDataStruct animTimerData;
@@ -409,8 +409,8 @@ void Holomap::drawHolomapTrajectory(int32 trajectoryIndex) {
 				if (data->numAnimFrames < trajAnimFrameIdx) {
 					break;
 				}
-				modelX = loc.angle.x;
-				modelY = loc.angle.y;
+				modelX = loc.angleX;
+				modelY = loc.angleY;
 			}
 			renderHolomapPointModel(data->pos, modelX, modelY);
 			++trajAnimFrameIdx;
@@ -455,8 +455,8 @@ void Holomap::renderLocations(int xRot, int yRot, int zRot, bool lower) {
 	for (int locationIdx = 0; locationIdx < NUM_LOCATIONS; ++locationIdx) {
 		if ((_engine->_gameState->_holomapFlags[locationIdx] & HOLOMAP_CAN_FOCUS) || locationIdx == _engine->_scene->_currentSceneIdx) {
 			const Location &loc = _locations[locationIdx];
-			_engine->_renderer->setBaseRotation(loc.angle.x, loc.angle.y, 0);
-			const IVec3 &destPos = _engine->_renderer->getBaseRotationPosition(0, 0, loc.angle.z + 1000);
+			_engine->_renderer->setBaseRotation(loc.angleX, loc.angleY, 0);
+			const IVec3 &destPos = _engine->_renderer->getBaseRotationPosition(0, 0, loc.size + 1000);
 			const IVec3 &destPos2 = _engine->_renderer->getBaseRotationPosition(0, 0, 1500);
 			_engine->_renderer->setBaseRotation(xRot, yRot, zRot, true);
 			_engine->_renderer->setBaseRotationPos(0, 0, distance(zDistanceHolomap));
@@ -498,8 +498,8 @@ void Holomap::renderLocations(int xRot, int yRot, int zRot, bool lower) {
 			bodyData = &_engine->_resources->_holomapTwinsenArrowPtr;
 		}
 		if (bodyData != nullptr) {
-			const int32 angleX = _locations[drawList.actorIdx].angle.x;
-			const int32 angleY = _locations[drawList.actorIdx].angle.y;
+			const int32 angleX = _locations[drawList.actorIdx].angleX;
+			const int32 angleY = _locations[drawList.actorIdx].angleY;
 			Common::Rect dummy;
 			_engine->_renderer->renderIsoModel(drawList.x, drawList.y, drawList.z, angleX, angleY, ANGLE_0, *bodyData, dummy);
 		}
@@ -541,8 +541,8 @@ void Holomap::processHolomap() {
 	_engine->_text->drawHolomapLocation(_locations[currentLocation].textIndex);
 
 	int32 time = _engine->_lbaTime;
-	int32 xRot = ClampAngle(_locations[currentLocation].angle.x);
-	int32 yRot = ClampAngle(_locations[currentLocation].angle.y);
+	int32 xRot = _locations[currentLocation].angleX;
+	int32 yRot = _locations[currentLocation].angleY;
 	bool rotate = false;
 	bool redraw = true;
 	int waterPaletteChangeTimer = 0;
@@ -595,8 +595,8 @@ void Holomap::processHolomap() {
 
 		if (rotate) {
 			const int32 dt = _engine->_lbaTime - time;
-			xRot = _engine->_collision->getAverageValue(ClampAngle(xRot), _locations[currentLocation].angle.x, 75, dt);
-			yRot = _engine->_collision->getAverageValue(ClampAngle(yRot), _locations[currentLocation].angle.y, 75, dt);
+			xRot = _engine->_collision->getAverageValue(ClampAngle(xRot), _locations[currentLocation].angleX, 75, dt);
+			yRot = _engine->_collision->getAverageValue(ClampAngle(yRot), _locations[currentLocation].angleY, 75, dt);
 			redraw = true;
 		}
 
@@ -628,7 +628,7 @@ void Holomap::processHolomap() {
 			}
 		}
 
-		if (rotate && xRot == _locations[currentLocation].angle.x && yRot == _locations[currentLocation].angle.y) {
+		if (rotate && xRot == _locations[currentLocation].angleX && yRot == _locations[currentLocation].angleY) {
 			rotate = false;
 		}
 
diff --git a/engines/twine/holomap.h b/engines/twine/holomap.h
index 4bdbbffebea..ccab040bd33 100644
--- a/engines/twine/holomap.h
+++ b/engines/twine/holomap.h
@@ -53,7 +53,9 @@ private:
 	bool isTriangleVisible(const Vertex *vertices) const;
 
 	struct Location {
-		IVec3 angle;
+		int16 angleX;
+		int16 angleY;
+		int16 size;
 		TextId textIndex = TextId::kNone;
 		char name[30] = "";
 	};




More information about the Scummvm-git-logs mailing list