[Scummvm-git-logs] scummvm master -> 43d955b154e5a27126e91b9fc9de3c08095797f6

mgerhardy martin.gerhardy at gmail.com
Sun Jan 17 22:08:51 UTC 2021


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

Summary:
ec6f19867a TWINE: todo comment
295a06363b TWINE: fixed holomap key bindings
13b2d3a945 TWINE: fixed sortDrawingList for one entry
ea2c6c01e0 TWINE: fixed missing model prepare calls for holomap models
d9165bcc55 TWINE: new constants
2ec770ad43 TWINE: fixed fla palette issue while blitting a frame
ea60d771d2 TWINE: started to reverse prepareHolomapSurface
43d955b154 TWINE: little progress on holomap


Commit: ec6f19867a6b772222fc9ac8d0d87e0ea86b2026
    https://github.com/scummvm/scummvm/commit/ec6f19867a6b772222fc9ac8d0d87e0ea86b2026
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T22:58:48+01:00

Commit Message:
TWINE: todo comment

Changed paths:
    engines/twine/renderer/redraw.cpp


diff --git a/engines/twine/renderer/redraw.cpp b/engines/twine/renderer/redraw.cpp
index 78ddb65b82..98732aeb02 100644
--- a/engines/twine/renderer/redraw.cpp
+++ b/engines/twine/renderer/redraw.cpp
@@ -765,6 +765,7 @@ void Redraw::drawBubble(int32 actorIdx) {
 	_engine->_interface->setClip(renderRect);
 
 	_engine->_grid->drawSprite(renderRect.left, renderRect.top, spritePtr);
+	// TODO: shouldn't we check for renderRect here?
 	if (_engine->_interface->textWindow.left <= _engine->_interface->textWindow.right && _engine->_interface->textWindow.top <= _engine->_interface->textWindow.bottom) {
 		_engine->copyBlockPhys(renderRect, true);
 	}


Commit: 295a06363b1331965b07a47e63b615ae9274a720
    https://github.com/scummvm/scummvm/commit/295a06363b1331965b07a47e63b615ae9274a720
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:03:16+01:00

Commit Message:
TWINE: fixed holomap key bindings

Changed paths:
    engines/twine/metaengine.cpp


diff --git a/engines/twine/metaengine.cpp b/engines/twine/metaengine.cpp
index 3d56c1449c..89f5f0f0ac 100644
--- a/engines/twine/metaengine.cpp
+++ b/engines/twine/metaengine.cpp
@@ -476,7 +476,7 @@ Common::KeymapArray TwinEMetaEngine::initKeymaps(const char *target) const {
 
 		act = new Action("UP", _("Up"));
 		act->setCustomEngineActionEvent(TwinEActionType::HolomapUp);
-		act->addDefaultInputMapping("CTRL+UP");
+		act->addDefaultInputMapping("C+UP");
 		act->addDefaultInputMapping("KP8");
 		act->addDefaultInputMapping("MOUSE_WHEEL_UP");
 		act->addDefaultInputMapping("JOY_UP");
@@ -484,7 +484,7 @@ Common::KeymapArray TwinEMetaEngine::initKeymaps(const char *target) const {
 
 		act = new Action("DOWN", _("Down"));
 		act->setCustomEngineActionEvent(TwinEActionType::HolomapDown);
-		act->addDefaultInputMapping("CTRL+DOWN");
+		act->addDefaultInputMapping("C+DOWN");
 		act->addDefaultInputMapping("KP2");
 		act->addDefaultInputMapping("MOUSE_WHEEL_DOWN");
 		act->addDefaultInputMapping("JOY_DOWN");
@@ -492,14 +492,14 @@ Common::KeymapArray TwinEMetaEngine::initKeymaps(const char *target) const {
 
 		act = new Action("RIGHT", _("Right"));
 		act->setCustomEngineActionEvent(TwinEActionType::HolomapRight);
-		act->addDefaultInputMapping("CTRL+RIGHT");
+		act->addDefaultInputMapping("C+RIGHT");
 		act->addDefaultInputMapping("KP6");
 		act->addDefaultInputMapping("JOY_RIGHT");
 		holomapKeyMap->addAction(act);
 
 		act = new Action("LEFT", _("Left"));
 		act->setCustomEngineActionEvent(TwinEActionType::HolomapLeft);
-		act->addDefaultInputMapping("CTRL+LEFT");
+		act->addDefaultInputMapping("C+LEFT");
 		act->addDefaultInputMapping("KP4");
 		act->addDefaultInputMapping("JOY_LEFT");
 		holomapKeyMap->addAction(act);


Commit: 13b2d3a9451dd7e262137bdd571eef5a5b5ea4c2
    https://github.com/scummvm/scummvm/commit/13b2d3a9451dd7e262137bdd571eef5a5b5ea4c2
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:03:16+01:00

Commit Message:
TWINE: fixed sortDrawingList for one entry

Changed paths:
    engines/twine/renderer/redraw.cpp


diff --git a/engines/twine/renderer/redraw.cpp b/engines/twine/renderer/redraw.cpp
index 98732aeb02..6e2b128df2 100644
--- a/engines/twine/renderer/redraw.cpp
+++ b/engines/twine/renderer/redraw.cpp
@@ -143,6 +143,9 @@ void Redraw::blitBackgroundAreas() {
 }
 
 void Redraw::sortDrawingList(DrawListStruct *list, int32 listSize) {
+	if (listSize == 1) {
+		return;
+	}
 	for (int32 i = 0; i < listSize - 1; i++) {
 		for (int32 j = 0; j < listSize - 1 - i; j++) {
 			if (list[j + 1].posValue < list[j].posValue) {


Commit: ea2c6c01e0347feedd77bfe46719a556f2663061
    https://github.com/scummvm/scummvm/commit/ea2c6c01e0347feedd77bfe46719a556f2663061
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:03:16+01:00

Commit Message:
TWINE: fixed missing model prepare calls for holomap models

Changed paths:
    engines/twine/resources/resources.cpp


diff --git a/engines/twine/resources/resources.cpp b/engines/twine/resources/resources.cpp
index 31e21261e4..a0baab9306 100644
--- a/engines/twine/resources/resources.cpp
+++ b/engines/twine/resources/resources.cpp
@@ -25,9 +25,11 @@
 #include "common/util.h"
 #include "twine/audio/sound.h"
 #include "twine/renderer/screens.h"
+#include "twine/renderer/renderer.h"
 #include "twine/scene/animations.h"
 #include "twine/scene/scene.h"
 #include "twine/text.h"
+#include "twine/twine.h"
 
 namespace TwinE {
 
@@ -158,16 +160,19 @@ void Resources::initResources() {
 	if (holomapTwinsenModelSize == 0) {
 		error("Failed to load holomap twinsen model");
 	}
+	Renderer::prepareIsoModel(holomapTwinsenModelPtr);
 
 	holomapArrowSize = HQR::getAllocEntry(&holomapArrowPtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOARROWMDL);
 	if (holomapArrowSize == 0) {
 		error("Failed to load holomap arrow model");
 	}
+	Renderer::prepareIsoModel(holomapArrowPtr);
 
 	holomapTwinsenArrowSize = HQR::getAllocEntry(&holomapTwinsenArrowPtr, Resources::HQR_RESS_FILE, RESSHQR_HOLOTWINARROWMDL);
 	if (holomapTwinsenArrowSize == 0) {
 		error("Failed to load holomap twinsen arrow model");
 	}
+	Renderer::prepareIsoModel(holomapTwinsenArrowPtr);
 
 	preloadSprites();
 	preloadAnimations();


Commit: d9165bcc55d1c3e75d83f3dd706e95c2c9de6021
    https://github.com/scummvm/scummvm/commit/d9165bcc55d1c3e75d83f3dd706e95c2c9de6021
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:03:16+01:00

Commit Message:
TWINE: new constants

Changed paths:
    engines/twine/shared.h


diff --git a/engines/twine/shared.h b/engines/twine/shared.h
index b3ad4a7ad9..f08b8f994e 100644
--- a/engines/twine/shared.h
+++ b/engines/twine/shared.h
@@ -184,7 +184,9 @@ enum class ExtraSpecialType {
 #define ANGLE_70 200
 #define ANGLE_63 180
 #define ANGLE_45 128
+#define ANGLE_22_5 64
 #define ANGLE_17 50
+#define ANGLE_11_25 32
 #define ANGLE_1 5 // 1.75
 #define ANGLE_0 0
 


Commit: 2ec770ad439a354dc72ddea0d1fef1d0db9036d8
    https://github.com/scummvm/scummvm/commit/2ec770ad439a354dc72ddea0d1fef1d0db9036d8
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:03:16+01:00

Commit Message:
TWINE: fixed fla palette issue while blitting a frame

https://bugs.scummvm.org/ticket/12050

Changed paths:
    engines/twine/flamovies.cpp


diff --git a/engines/twine/flamovies.cpp b/engines/twine/flamovies.cpp
index 8329ec9ebb..3b3b50584b 100644
--- a/engines/twine/flamovies.cpp
+++ b/engines/twine/flamovies.cpp
@@ -360,7 +360,7 @@ void FlaMovies::playFlaMovie(const char *flaName) {
 			}
 			processFrame();
 			scaleFla2x();
-			_engine->frontVideoBuffer.transBlitFrom(_engine->imageBuffer, _engine->imageBuffer.getBounds(), _engine->frontVideoBuffer.getBounds());
+			_engine->frontVideoBuffer.blitFrom(_engine->imageBuffer, _engine->imageBuffer.getBounds(), _engine->frontVideoBuffer.getBounds());
 
 			// Only blit to screen if isn't a fade
 			if (_fadeOut == -1) {


Commit: ea60d771d2e01f110c404430d11f5a539fee6b12
    https://github.com/scummvm/scummvm/commit/ea60d771d2e01f110c404430d11f5a539fee6b12
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:05:29+01:00

Commit Message:
TWINE: started to reverse prepareHolomapSurface

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


diff --git a/engines/twine/holomap.cpp b/engines/twine/holomap.cpp
index ff2a20ed77..89e1f39db8 100644
--- a/engines/twine/holomap.cpp
+++ b/engines/twine/holomap.cpp
@@ -23,19 +23,21 @@
 #include "twine/holomap.h"
 #include "common/debug.h"
 #include "common/memstream.h"
+#include "common/stream.h"
 #include "common/types.h"
 #include "twine/audio/sound.h"
 #include "twine/menu/interface.h"
 #include "twine/renderer/redraw.h"
 #include "twine/renderer/renderer.h"
 #include "twine/renderer/screens.h"
-#include "twine/scene/animations.h"
-#include "twine/scene/movements.h"
 #include "twine/resources/hqr.h"
 #include "twine/resources/resources.h"
+#include "twine/scene/animations.h"
 #include "twine/scene/collision.h"
 #include "twine/scene/gamestate.h"
+#include "twine/scene/movements.h"
 #include "twine/scene/scene.h"
+#include "twine/shared.h"
 #include "twine/text.h"
 #include "twine/twine.h"
 
@@ -136,6 +138,41 @@ void Holomap::loadHolomapGFX() {
 	needToLoadHolomapGFX = 0;
 }
 
+void Holomap::prepareHolomapSurface() {
+	//int16 *puVar1 = _DAT_0043f7ec;
+	Common::MemoryReadStream stream(_engine->_resources->holomapSurfacePtr, _engine->_resources->holomapSurfaceSize);
+	//Vec3 buffer[10000];
+	//int16 *puVar3 = _DAT_0043f7f0;
+	for (int32 angle = -ANGLE_90; angle <= ANGLE_90; angle += ANGLE_11_25) {
+		//int16 *puVar4;
+		for (int stepWidth = ANGLE_11_25; stepWidth != 0; --stepWidth) {
+			//puVar4 = puVar3;
+			const int32 destX = stream.readSint16LE();
+			const int32 destY = stream.readSint16LE();
+			const int32 destZ = stream.readSint16LE();
+			_engine->_renderer->getBaseRotationPosition(destX, destY, destZ);
+			if (angle != 0x100) {
+				//	puVar1[0] = destZ;
+				//	puVar1[1] = (short)((int)((int)puVar4 - (int)_DAT_0043f7f0) >> 1);
+				//	++puVar1;
+			}
+			_engine->_renderer->projectPositionOnScreen(destX, destY, destZ);
+			//puVar4[0] = projPosX;
+			//puVar4[1] = projPosY;
+			//puVar3 = puVar4 + 4;
+		}
+		const int32 destX = stream.readSint16LE();
+		const int32 destY = stream.readSint16LE();
+		const int32 destZ = stream.readSint16LE();
+		_engine->_renderer->getBaseRotationPosition(destX, destY, destZ);
+		_engine->_renderer->projectPositionOnScreen(destX, destY, destZ);
+		//puVar4[4] = projPosX;
+		//puVar4[5] = projPosY;
+		//puVar3 = puVar4 + 8;
+	}
+	//FUN_004253e8(_DAT_0043f7ec,(undefined4 *)0x200,4,&LAB_00413d20);
+}
+
 void Holomap::drawHolomapText(int32 centerx, int32 top, const char *title) {
 	const int32 size = _engine->_text->getTextSize(title);
 	const int32 x = centerx - size / 2;
@@ -150,6 +187,7 @@ void Holomap::drawHolomapTrajectory(int32 trajectoryIndex) {
 	debug("Draw trajectory index %i", trajectoryIndex);
 #if 0
 	ScopedEngineFreeze timeFreeze(_engine);
+	ScopedKeyMap holomapKeymap(_engine, holomapKeyMapId);
 	_engine->_renderer->setCameraPosition(400, 240, 128, 1024, 1024);
 	_engine->_renderer->setCameraAngle(0, 0, 0, (int)(short)DAT_0043f706, (int)(short)DAT_0043f710, (int)DAT_0043f7f8, 0x14b4);
 	ActorMoveStruct move;
diff --git a/engines/twine/holomap.h b/engines/twine/holomap.h
index ea5aa9f166..3ab77933f4 100644
--- a/engines/twine/holomap.h
+++ b/engines/twine/holomap.h
@@ -85,6 +85,8 @@ public:
 	/** Load Holomap content */
 	void loadHolomapGFX();
 
+	void prepareHolomapSurface();
+
 	/** Main holomap process loop */
 	void processHolomap();
 };


Commit: 43d955b154e5a27126e91b9fc9de3c08095797f6
    https://github.com/scummvm/scummvm/commit/43d955b154e5a27126e91b9fc9de3c08095797f6
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-17T23:06:15+01:00

Commit Message:
TWINE: little progress on holomap

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


diff --git a/engines/twine/holomap.cpp b/engines/twine/holomap.cpp
index 89e1f39db8..aef6a85c42 100644
--- a/engines/twine/holomap.cpp
+++ b/engines/twine/holomap.cpp
@@ -309,21 +309,23 @@ void Holomap::renderLocations(int xRot, int yRot, int zRot, bool lower) {
 			if (locationIdx == _engine->_scene->currentSceneIdx) {
 				flags |= 2u; // model type
 			}
-#if 0
 			const Location &loc = _locations[locationIdx];
-			_engine->_renderer->setBaseRotation(angles);
-			_engine->_renderer->getBaseRotationPosition(loc.x, loc.y, loc.z);
+			_engine->_renderer->setBaseRotation(loc.x, loc.y, 0);
+			_engine->_renderer->getBaseRotationPosition(0, 0, loc.z + 1000);
 			int32 v20 = _engine->_renderer->destX;
-			int32 v19 = _engine->_renderer->destZ;
 			int32 v18 = _engine->_renderer->destY;
-			_engine->_renderer->getBaseRotationPosition(v9, v4);
-			_engine->_renderer->setBaseRotation(v4);
+			int32 v19 = _engine->_renderer->destZ;
+			_engine->_renderer->getBaseRotationPosition(0, 0, 1500);
+			int32 v22 = _engine->_renderer->destX;
+			int32 v23 = _engine->_renderer->destY;
+			int32 v24 = _engine->_renderer->destZ;
+			_engine->_renderer->setBaseRotation(xRot, yRot, zRot);
 			_engine->_renderer->baseRotPosX = 0;
 			_engine->_renderer->baseRotPosY = 0;
 			_engine->_renderer->baseRotPosZ = 9500;
-			_engine->_renderer->getBaseRotationPosition(v10, v4);
-			int32 v21 = _engine->_renderer->destY;
-			_engine->_renderer->getBaseRotationPosition(v11, v4);
+			_engine->_renderer->getBaseRotationPosition(v20, v18, v19);
+			int v21 = _engine->_renderer->destZ;
+			_engine->_renderer->getBaseRotationPosition(v22, v23, v24);
 			if (lower) {
 				if (v21 > _engine->_renderer->destY) {
 					continue;
@@ -335,40 +337,39 @@ void Holomap::renderLocations(int xRot, int yRot, int zRot, bool lower) {
 			}
 
 			DrawListStruct &drawList = _engine->_redraw->drawList[n];
-			drawList.posValue = locationIdx;
-			drawList.y = v18; // ? TODO
-			drawList.z = v19;
+			drawList.posValue = v21;
+			drawList.actorIdx = locationIdx;
+			drawList.type = 0;
 			drawList.x = v20;
-			drawList.y = v21;
-			drawList.field_A = flags;
-#endif
+			drawList.y = v18;
+			drawList.z = v21;
+			drawList.offset = n;
+			drawList.field_C = flags;
+			drawList.field_E = 0;
+			drawList.field_10 = 0;
 			++n;
 		}
 	}
-	// TODO: sort drawlist (for what? y?)
-#if 0
+	_engine->_redraw->sortDrawingList(_engine->_redraw->drawList, n);
 	for (int v13 = 0; v13 < n; ++v13) {
-		const DrawListStruct &drawList = _engine->_redraw->drawList[n];
-		const uint8 flags = drawList.field_A;
-		const uint8* bodyPtr = nullptr;
-		if (flags < 2u) {
-			if (flags == 1) {
-				bodyPtr = _engine->_resources->holomapArrowPtr;
-			}
-		} else {
-			if (flags <= 2u) {
-				bodyPtr = _engine->_resources->holomapTwinsenModelPtr;
-			} else {
-				if (flags == 3) {
-					bodyPtr = _engine->_resources->holomapTwinsenArrowPtr;
-				}
-			}
+		const DrawListStruct &drawList = _engine->_redraw->drawList[v13];
+		const uint16 flags = drawList.field_C;
+		const uint8 *bodyPtr = nullptr;
+		if (flags == 1) {
+			bodyPtr = _engine->_resources->holomapArrowPtr;
+		} else if (flags == 2u) {
+			bodyPtr = _engine->_resources->holomapTwinsenModelPtr;
+		} else if (flags == 3) {
+			bodyPtr = _engine->_resources->holomapTwinsenArrowPtr;
 		}
 		if (bodyPtr != nullptr) {
-			_engine->_renderer->renderIsoModel(x, y, z, angleX, angleY, angleZ, bodyPtr);
+			int32 angleX = _locations[drawList.actorIdx].x;
+			int32 angleY = _locations[drawList.actorIdx].y;
+			_engine->_renderer->renderIsoModel(drawList.x, drawList.y, drawList.z, angleX, angleY, 0, bodyPtr);
 		}
 	}
 
+#if 0
 	_engine->_renderer->setCameraAngle();
 
 	_engine->_renderer->baseRotPosX = 0;
@@ -487,7 +488,7 @@ void Holomap::processHolomap() {
 	// TODO: load RESSHQR_HOLOSURFACE and project the texture to the surface
 	//_engine->_screens->loadImage(RESSHQR_HOLOIMG, RESSHQR_HOLOPAL);
 
-	const int32 time = _engine->lbaTime;
+	int32 time = _engine->lbaTime;
 	int32 xRot = 0;
 	int32 yRot = 0;
 	bool rotate = false;
@@ -506,33 +507,43 @@ void Holomap::processHolomap() {
 			if (nextLocation != -1) {
 				currentLocation = nextLocation;
 				drawHolomapLocation(currentLocation);
+				time = _engine->lbaTime;
+				rotate = true;
 			}
 		} else if (_engine->_input->toggleActionIfActive(TwinEActionType::HolomapNext)) {
 			const int32 nextLocation = getNextHolomapLocation(currentLocation, 1);
 			if (nextLocation != -1) {
 				currentLocation = nextLocation;
 				drawHolomapLocation(currentLocation);
+				time = _engine->lbaTime;
+				rotate = true;
 			}
 		}
 
-		if (_engine->_input->toggleActionIfActive(TwinEActionType::HolomapLeft)) {
+		if (_engine->_input->isActionActive(TwinEActionType::HolomapLeft)) {
 			xRot += 8;
 			rotate = true;
-		} else if (_engine->_input->toggleActionIfActive(TwinEActionType::HolomapRight)) {
+			time = _engine->lbaTime;
+		} else if (_engine->_input->isActionActive(TwinEActionType::HolomapRight)) {
 			xRot -= 8;
 			rotate = true;
+			time = _engine->lbaTime;
 		}
 
-		if (_engine->_input->toggleActionIfActive(TwinEActionType::HolomapUp)) {
+		if (_engine->_input->isActionActive(TwinEActionType::HolomapUp)) {
 			yRot += 8;
 			rotate = true;
-		} else if (_engine->_input->toggleActionIfActive(TwinEActionType::HolomapDown)) {
+			time = _engine->lbaTime;
+		} else if (_engine->_input->isActionActive(TwinEActionType::HolomapDown)) {
 			yRot -= 8;
 			rotate = true;
+			time = _engine->lbaTime;
 		}
+
 		if (rotate) {
-			xRot = _engine->_collision->getAverageValue(xRot, _locations[currentLocation].x, 75, _engine->lbaTime - time);
-			yRot = _engine->_collision->getAverageValue(yRot, _locations[currentLocation].y, 75, _engine->lbaTime - time);
+			const int32 dt = _engine->lbaTime - time;
+			xRot = _engine->_collision->getAverageValue(xRot, _locations[currentLocation].x, 75, dt);
+			yRot = _engine->_collision->getAverageValue(yRot, _locations[currentLocation].y, 75, dt);
 			redraw = true;
 		}
 
@@ -548,13 +559,16 @@ void Holomap::processHolomap() {
 			if (rotate) {
 				_engine->_menu->drawBox(300, 170, 340, 210);
 			}
-			_engine->copyBlockPhys(rect);
+			//_engine->copyBlockPhys(rect);
+			_engine->flip();
 		}
 
 		if (rotate && xRot == _locations[currentLocation].x && yRot == _locations[currentLocation].y) {
 			rotate = false;
 		}
 
+		++_engine->lbaTime;
+
 		// TODO: text afterwards on top (not before as it is currently implemented)?
 		// pos 0x140,0x19?
 
diff --git a/engines/twine/renderer/redraw.h b/engines/twine/renderer/redraw.h
index d766edfd8d..cbfed13346 100644
--- a/engines/twine/renderer/redraw.h
+++ b/engines/twine/renderer/redraw.h
@@ -54,6 +54,19 @@ struct OverlayListStruct {
 	int16 lifeTime = 0;
 };
 
+struct DrawListStruct {
+	int16 posValue = 0;
+	uint32 type = 0;
+	uint16 actorIdx = 0;
+	uint16 x = 0;
+	uint16 y = 0;
+	uint16 z = 0;
+	uint16 offset = 0;
+	uint16 field_C = 0;
+	uint16 field_E = 0;
+	uint16 field_10 = 0;
+};
+
 class TwinEEngine;
 class Redraw {
 private:
@@ -64,22 +77,6 @@ private:
 		DrawShadows = 0xC00
 	};
 
-	struct DrawListStruct {
-		int16 posValue = 0;
-		uint32 type = 0;
-		uint16 actorIdx = 0;
-		uint16 x = 0;
-		uint16 y = 0;
-		uint16 z = 0;
-		uint16 offset = 0;
-		uint16 field_C = 0;
-		uint16 field_E = 0;
-		uint16 field_10 = 0;
-	};
-
-	/** Draw list array to grab the necessary */
-	DrawListStruct drawList[150];
-
 	Common::Rect currentRedrawList[300];
 	Common::Rect nextRedrawList[300];
 
@@ -91,12 +88,6 @@ private:
 	void addRedrawCurrentArea(const Common::Rect &redrawArea);
 	/** Move next regions to the current redraw list */
 	void moveNextAreas();
-	/**
-	 * Sort drawing list struct ordered as the first objects appear in the top left corner of the screen
-	 * @param list drawing list variable which contains information of the drawing objects
-	 * @param listSize number of drawing objects in the list
-	 */
-	void sortDrawingList(DrawListStruct *list, int32 listSize);
 	void updateOverlayTypePosition(int16 x1, int16 y1, int16 x2, int16 y2);
 
 	void processDrawListShadows(const DrawListStruct& drawCmd);
@@ -162,6 +153,16 @@ public:
 	void drawBubble(int32 actorIdx);
 
 	void zoomScreenScale();
+
+	/**
+	 * Sort drawing list struct ordered as the first objects appear in the top left corner of the screen
+	 * @param list drawing list variable which contains information of the drawing objects
+	 * @param listSize number of drawing objects in the list
+	 */
+	void sortDrawingList(DrawListStruct *list, int32 listSize);
+
+	/** Draw list array to grab the necessary */
+	DrawListStruct drawList[150];
 };
 
 } // namespace TwinE
diff --git a/engines/twine/renderer/renderer.h b/engines/twine/renderer/renderer.h
index 7b8fb69e88..3dbc3638e8 100644
--- a/engines/twine/renderer/renderer.h
+++ b/engines/twine/renderer/renderer.h
@@ -334,10 +334,6 @@ private:
 	int32 baseTransPosY = 0; // setSomething2Var2
 	int32 baseTransPosZ = 0; // setSomething2Var3
 
-	int32 baseRotPosX = 0; // setSomething3Var12
-	int32 baseRotPosY = 0; // setSomething3Var14
-	int32 baseRotPosZ = 0; // setSomething3Var16
-
 	int32 cameraPosX = 0; // cameraVar1
 	int32 cameraPosY = 0; // cameraVar2
 	int32 cameraPosZ = 0; // cameraVar3
@@ -399,6 +395,10 @@ public:
 	int16 projPosY = 0;
 	int16 projPosZ = 0;
 
+	int32 baseRotPosX = 0; // setSomething3Var12
+	int32 baseRotPosY = 0; // setSomething3Var14
+	int32 baseRotPosZ = 0; // setSomething3Var16
+
 	int32 orthoProjX = 0; // setSomethingVar1
 	int32 orthoProjY = 0; // setSomethingVar2
 	int32 orthoProjZ = 0; // setSomethingVar2




More information about the Scummvm-git-logs mailing list