[Scummvm-git-logs] scummvm master -> 688730bf13b7c7668a3fb52469204f9471c06fd2

mgerhardy martin.gerhardy at gmail.com
Fri Dec 11 16:14:27 UTC 2020


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:
c5a7f0e663 TWINE: replaced magic numbers
688730bf13 TWINE: moved members to better place


Commit: c5a7f0e6637ec8de7981b1219608969399377b73
    https://github.com/scummvm/scummvm/commit/c5a7f0e6637ec8de7981b1219608969399377b73
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-11T17:13:37+01:00

Commit Message:
TWINE: replaced magic numbers

Changed paths:
    engines/twine/collision.cpp
    engines/twine/collision.h
    engines/twine/shared.h


diff --git a/engines/twine/collision.cpp b/engines/twine/collision.cpp
index 08de2c3a86..c98de651bf 100644
--- a/engines/twine/collision.cpp
+++ b/engines/twine/collision.cpp
@@ -32,6 +32,7 @@
 #include "twine/renderer.h"
 #include "twine/resources.h"
 #include "twine/scene.h"
+#include "twine/shared.h"
 #include "twine/twine.h"
 
 namespace TwinE {
@@ -248,16 +249,16 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 								actorTest->lastY = 0;
 
 								if (actorTest->staticFlags.bUseMiniZv) {
-									if (newAngle >= 0x80 && newAngle < 0x180 && actor->angle > 0x80 && actor->angle < 0x180) {
+									if (newAngle >= ANGLE_45 && newAngle < ANGLE_135 && actor->angle > ANGLE_45 && actor->angle < ANGLE_135) {
 										actorTest->lastX = 192;
 									}
-									if (newAngle >= 0x180 && newAngle < 0x280 && actor->angle > 0x180 && actor->angle < 0x280) {
+									if (newAngle >= ANGLE_135 && newAngle < ANGLE_225 && actor->angle > ANGLE_135 && actor->angle < ANGLE_225) {
 										actorTest->lastZ = -64;
 									}
-									if (newAngle >= 0x280 && newAngle < 0x380 && actor->angle > 0x280 && actor->angle < 0x380) {
+									if (newAngle >= ANGLE_225 && newAngle < ANGLE_315 && actor->angle > ANGLE_225 && actor->angle < ANGLE_315) {
 										actorTest->lastX = -64;
 									}
-									if ((newAngle >= 0x380 || newAngle < 0x80) && (actor->angle > 0x380 || actor->angle < 0x80)) {
+									if ((newAngle >= ANGLE_315 || newAngle < ANGLE_45) && (actor->angle > ANGLE_315 || actor->angle < ANGLE_45)) {
 										actorTest->lastX = 192;
 									}
 								} else {
@@ -268,16 +269,16 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 
 							if ((actorTest->boudingBox.x.topRight - actorTest->boudingBox.x.bottomLeft == actorTest->boudingBox.z.topRight - actorTest->boudingBox.z.bottomLeft) &&
 							    (actor->boudingBox.x.topRight - actor->boudingBox.x.bottomLeft == actor->boudingBox.z.topRight - actor->boudingBox.z.bottomLeft)) {
-								if (newAngle < 0x180) {
+								if (newAngle < ANGLE_135) {
 									_engine->_movements->processActorX = xLeftTest - actor->boudingBox.x.topRight;
 								}
-								if (newAngle >= 0x180 && newAngle < 0x280) {
+								if (newAngle >= ANGLE_135 && newAngle < ANGLE_225) {
 									_engine->_movements->processActorZ = zRightTest - actor->boudingBox.z.bottomLeft;
 								}
-								if (newAngle >= 0x280 && newAngle < 0x380) {
+								if (newAngle >= ANGLE_225 && newAngle < ANGLE_315) {
 									_engine->_movements->processActorX = xRightTest - actor->boudingBox.x.bottomLeft;
 								}
-								if (newAngle >= 0x380 || (newAngle < 0x380 && newAngle < 0x80)) {
+								if (newAngle >= ANGLE_315 || (newAngle < ANGLE_315 && newAngle < ANGLE_45)) {
 									_engine->_movements->processActorZ = zLeftTest - actor->boudingBox.z.topRight;
 								}
 							} else {
@@ -300,16 +301,16 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 						actorTest->lastY = 0;
 
 						if (actorTest->staticFlags.bUseMiniZv) {
-							if (newAngle >= 0x80 && newAngle < 0x180 && actor->angle > 0x80 && actor->angle < 0x180) {
+							if (newAngle >= ANGLE_45 && newAngle < ANGLE_135 && actor->angle > ANGLE_45 && actor->angle < ANGLE_135) {
 								actorTest->lastX = 192;
 							}
-							if (newAngle >= 0x180 && newAngle < 0x280 && actor->angle > 0x180 && actor->angle < 0x280) {
+							if (newAngle >= ANGLE_135 && newAngle < ANGLE_225 && actor->angle > ANGLE_135 && actor->angle < ANGLE_225) {
 								actorTest->lastZ = -64;
 							}
-							if (newAngle >= 0x280 && newAngle < 0x380 && actor->angle > 0x280 && actor->angle < 0x380) {
+							if (newAngle >= ANGLE_225 && newAngle < ANGLE_315 && actor->angle > ANGLE_225 && actor->angle < ANGLE_315) {
 								actorTest->lastX = -64;
 							}
-							if ((newAngle >= 0x380 || newAngle < 0x80) && (actor->angle > 0x380 || actor->angle < 0x80)) {
+							if ((newAngle >= ANGLE_315 || newAngle < ANGLE_45) && (actor->angle > ANGLE_315 || actor->angle < ANGLE_45)) {
 								actorTest->lastX = 192;
 							}
 						} else {
@@ -320,16 +321,16 @@ int32 Collision::checkCollisionWithActors(int32 actorIdx) {
 
 					if ((actorTest->boudingBox.x.topRight - actorTest->boudingBox.x.bottomLeft == actorTest->boudingBox.z.topRight - actorTest->boudingBox.z.bottomLeft) &&
 					    (actor->boudingBox.x.topRight - actor->boudingBox.x.bottomLeft == actor->boudingBox.z.topRight - actor->boudingBox.z.bottomLeft)) {
-						if (newAngle < 0x180) {
+						if (newAngle < ANGLE_135) {
 							_engine->_movements->processActorX = xLeftTest - actor->boudingBox.x.topRight;
 						}
-						if (newAngle >= 0x180 && newAngle < 0x280) {
+						if (newAngle >= ANGLE_135 && newAngle < ANGLE_225) {
 							_engine->_movements->processActorZ = zRightTest - actor->boudingBox.z.bottomLeft;
 						}
-						if (newAngle >= 0x280 && newAngle < 0x380) {
+						if (newAngle >= ANGLE_225 && newAngle < ANGLE_315) {
 							_engine->_movements->processActorX = xRightTest - actor->boudingBox.x.bottomLeft;
 						}
-						if (newAngle >= 0x380 || (newAngle < 0x380 && newAngle < 0x80)) {
+						if (newAngle >= ANGLE_315 || (newAngle < ANGLE_315 && newAngle < ANGLE_45)) {
 							_engine->_movements->processActorZ = zLeftTest - actor->boudingBox.z.topRight;
 						}
 					} else {
@@ -527,7 +528,7 @@ bool Collision::checkExtraCollisionWithBricks(int32 x, int32 y, int32 z, int32 o
 	return false;
 }
 
-int32 Collision::checkExtraCollisionWithExtra(ExtraListStruct *extra, int32 extraIdx) {
+int32 Collision::checkExtraCollisionWithExtra(ExtraListStruct *extra, int32 extraIdx) const {
 	Common::MemoryReadStream stream(_engine->_resources->spriteBoundingBoxPtr, _engine->_resources->spriteBoundingBoxSize);
 	stream.seek(extra->info0 * 16);
 	stream.skip(4);
diff --git a/engines/twine/collision.h b/engines/twine/collision.h
index f6031d23ae..2b0687737d 100644
--- a/engines/twine/collision.h
+++ b/engines/twine/collision.h
@@ -109,7 +109,7 @@ public:
 	 * @param extra to process
 	 * @param extraIdx extra index to check collision
 	 */
-	int32 checkExtraCollisionWithExtra(ExtraListStruct *extra, int32 extraIdx);
+	int32 checkExtraCollisionWithExtra(ExtraListStruct *extra, int32 extraIdx) const;
 };
 
 } // namespace TwinE
diff --git a/engines/twine/shared.h b/engines/twine/shared.h
index 64769a7168..c9e0530fb7 100644
--- a/engines/twine/shared.h
+++ b/engines/twine/shared.h
@@ -160,7 +160,9 @@ enum class ExtraSpecialType {
 };
 
 #define ANGLE_360 1024
+#define ANGLE_315 896
 #define ANGLE_270 768
+#define ANGLE_225 640
 #define ANGLE_180 512
 #define ANGLE_135 384
 #define ANGLE_90 256


Commit: 688730bf13b7c7668a3fb52469204f9471c06fd2
    https://github.com/scummvm/scummvm/commit/688730bf13b7c7668a3fb52469204f9471c06fd2
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-11T17:13:37+01:00

Commit Message:
TWINE: moved members to better place

Changed paths:
    engines/twine/debug_scene.h
    engines/twine/gamestate.h
    engines/twine/menu.cpp
    engines/twine/menu.h
    engines/twine/text.cpp
    engines/twine/text.h


diff --git a/engines/twine/debug_scene.h b/engines/twine/debug_scene.h
index 2c1ea8fb94..effcbf7b80 100644
--- a/engines/twine/debug_scene.h
+++ b/engines/twine/debug_scene.h
@@ -34,7 +34,7 @@ class DebugScene {
 private:
 	TwinEEngine *_engine;
 
-	void drawBoundingBoxProjectPoints(ScenePoint *pPoint3d, ScenePoint *pPoint3dProjected);
+	void drawBoundingBoxProjectPoints(ScenePoint *point3d, ScenePoint *point3dProjected);
 	int32 checkZoneType(int32 type);
 public:
 	DebugScene(TwinEEngine *engine);
diff --git a/engines/twine/gamestate.h b/engines/twine/gamestate.h
index dd4d22cbf3..a04827ecc4 100644
--- a/engines/twine/gamestate.h
+++ b/engines/twine/gamestate.h
@@ -89,6 +89,8 @@ private:
 	void initGameStateVars();
 	void initHeroVars();
 
+	MenuSettings gameChoicesSettings;
+
 public:
 	GameState(TwinEEngine *engine);
 
@@ -195,7 +197,6 @@ public:
 
 	int32 gameChoices[10];         // inGameMenuData
 	int32 numChoices = 0;          // numOfOptionsInChoice
-	MenuSettings gameChoicesSettings; // choiceTab -  same structure as menu settings
 	int32 choiceAnswer = 0;        // inGameMenuAnswer
 
 	/** Initialize all engine variables */
diff --git a/engines/twine/menu.cpp b/engines/twine/menu.cpp
index f37707855e..cd5ce0d4a1 100644
--- a/engines/twine/menu.cpp
+++ b/engines/twine/menu.cpp
@@ -166,7 +166,6 @@ Menu::Menu(TwinEEngine *engine) {
 
 	Common::fill(&behaviourAnimState[0], &behaviourAnimState[4], 0);
 	Common::fill(&itemAngle[0], &itemAngle[255], 0);
-	Common::fill(&currMenuTextBuffer[0], &currMenuTextBuffer[256], 0);
 }
 
 Menu::~Menu() {
diff --git a/engines/twine/menu.h b/engines/twine/menu.h
index 3f113482c0..d42afb8890 100644
--- a/engines/twine/menu.h
+++ b/engines/twine/menu.h
@@ -193,10 +193,6 @@ public:
 	Menu(TwinEEngine *engine);
 	~Menu();
 
-	int32 currMenuTextIndex = -1;
-	int32 currMenuTextBank = TextBankId::None;
-	char currMenuTextBuffer[256];
-
 	int16 itemAngle[255]; // objectRotation
 
 	/** Behaviour menu move pointer */
diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index ad131bce48..86247f159e 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -46,6 +46,10 @@ namespace TwinE {
 #define INDEXOFFSET 0
 #define DIALOGSOFFSET 1
 
+Text::Text(TwinEEngine *engine) : _engine(engine) {
+	Common::fill(&currMenuTextBuffer[0], &currMenuTextBuffer[256], 0);
+}
+
 Text::~Text() {
 	free(dialTextPtr);
 	free(dialOrderPtr);
@@ -715,9 +719,9 @@ void Text::copyText(const char *src, char *dst, int32 size) {
 }
 
 bool Text::getMenuText(int32 index, char *text, uint32 textSize) {
-	if (index == _engine->_menu->currMenuTextIndex) {
-		if (_engine->_menu->currMenuTextBank == _engine->_scene->sceneTextBank) {
-			Common::strlcpy(text, _engine->_menu->currMenuTextBuffer, textSize);
+	if (index == currMenuTextIndex) {
+		if (currMenuTextBank == _engine->_scene->sceneTextBank) {
+			Common::strlcpy(text, currMenuTextBuffer, textSize);
 			return true;
 		}
 	}
@@ -733,10 +737,10 @@ bool Text::getMenuText(int32 index, char *text, uint32 textSize) {
 
 	copyText(_currDialTextPtr, text, _currDialTextSize);
 	_currDialTextSize++;
-	copyText(text, _engine->_menu->currMenuTextBuffer, _currDialTextSize);
+	copyText(text, currMenuTextBuffer, _currDialTextSize);
 
-	_engine->_menu->currMenuTextIndex = index;
-	_engine->_menu->currMenuTextBank = _engine->_scene->sceneTextBank;
+	currMenuTextIndex = index;
+	currMenuTextBank = _engine->_scene->sceneTextBank;
 	return true;
 }
 
diff --git a/engines/twine/text.h b/engines/twine/text.h
index e810fa2f8c..90d3258f13 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -184,6 +184,10 @@ private:
 	/** Current dialogue text size */
 	int32 _currDialTextSize = 0;
 
+	char currMenuTextBuffer[256];
+	int32 currMenuTextBank = TextBankId::None;
+	int32 currMenuTextIndex = -1;
+
 	/** Pixel size between dialogue text */
 	int32 _dialSpaceBetween = 0;
 	/** Pixel size of the space character */
@@ -209,7 +213,7 @@ private:
 	int32 _dialTextBoxLines = 0; // dialogueBoxParam1
 	int32 _dialTextBoxParam2 = 0; // dialogueBoxParam2
 public:
-	Text(TwinEEngine *engine) : _engine(engine) {}
+	Text(TwinEEngine *engine);
 	~Text();
 
 	// TODO: refactor all this variables and related functions




More information about the Scummvm-git-logs mailing list