[Scummvm-git-logs] scummvm master -> 0d55a6f69b79e98d3b14b523f62ba7ee34da7973

mgerhardy martin.gerhardy at gmail.com
Fri Jan 8 20:58:48 UTC 2021


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

Summary:
1ad183a8ec TWINE: sanity check
f4cbb797b2 TWINE: use methods to modify the game flags
79852d77f6 TWINE: ensure that loading a savegame also visits setGameFlag()
8f0177a733 TWINE: reduced hardcoded widget positions for behaviour text
07c0dedf22 TWINE: const + replaced magic numbers
e69e53707d TWINE: fixed segfault while displaying the bonus list text
df16ce01dd TWINE: fixed missing text in bonus list dialog
13dfc3bd43 TWINE: replaced magic number
da04e5bf87 TWINE: replaced magic numbers
ef86132f42 TWINE: replaced magic numbers
0d55a6f69b TWINE: replaced magic number


Commit: 1ad183a8ecc95b722c054e277700b2c9274fff1a
    https://github.com/scummvm/scummvm/commit/1ad183a8ecc95b722c054e277700b2c9274fff1a
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T20:29:42+01:00

Commit Message:
TWINE: sanity check

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


diff --git a/engines/twine/scene/gamestate.cpp b/engines/twine/scene/gamestate.cpp
index 3bcc036603..6622e6574e 100644
--- a/engines/twine/scene/gamestate.cpp
+++ b/engines/twine/scene/gamestate.cpp
@@ -173,7 +173,10 @@ bool GameState::loadGame(Common::SeekableReadStream *file) {
 		warning("Failed to load gameflags. Expected %u, but got %u", NUM_GAME_FLAGS, numGameFlags);
 		return false;
 	}
-	file->read(_gameStateFlags, NUM_GAME_FLAGS);
+	if (file->read(_gameStateFlags, NUM_GAME_FLAGS) != NUM_GAME_FLAGS) {
+		warning("Failed to parse game state flags");
+		return false;
+	}
 	_engine->_scene->needChangeScene = file->readByte(); // scene index
 	gameChapter = file->readByte();
 


Commit: f4cbb797b299ef1b3d79ef4db478ff327d32487a
    https://github.com/scummvm/scummvm/commit/f4cbb797b299ef1b3d79ef4db478ff327d32487a
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T20:33:06+01:00

Commit Message:
TWINE: use methods to modify the game flags

Changed paths:
    engines/twine/scene/gamestate.h


diff --git a/engines/twine/scene/gamestate.h b/engines/twine/scene/gamestate.h
index 846e79431e..fd5c7d8ac2 100644
--- a/engines/twine/scene/gamestate.h
+++ b/engines/twine/scene/gamestate.h
@@ -116,23 +116,23 @@ public:
 	GameState(TwinEEngine *engine);
 
 	inline bool inventoryDisabled() const {
-		return _gameStateFlags[GAMEFLAG_INVENTORY_DISABLED] != 0;
+		return hasGameFlag(GAMEFLAG_INVENTORY_DISABLED) != 0;
 	}
 
 	inline bool hasOpenedFunfrocksSafe() const {
-		return _gameStateFlags[30] != 0;
+		return hasGameFlag(30) != 0;
 	}
 
 	inline bool hasItem(InventoryItems item) const {
-		return _gameStateFlags[item] != 0;
+		return hasGameFlag(item) != 0;
 	}
 
 	inline void giveItem(InventoryItems item) {
-		_gameStateFlags[item] = 1;
+		setGameFlag(item, 1);
 	}
 
 	inline void removeItem(InventoryItems item) {
-		_gameStateFlags[item] = 0;
+		setGameFlag(item, 0);
 	}
 
 	inline uint8 hasGameFlag(uint8 index) const {


Commit: 79852d77f69e9952c69b3ac6dd98a87a2aadd1ae
    https://github.com/scummvm/scummvm/commit/79852d77f69e9952c69b3ac6dd98a87a2aadd1ae
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T20:39:30+01:00

Commit Message:
TWINE: ensure that loading a savegame also visits setGameFlag()

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


diff --git a/engines/twine/scene/gamestate.cpp b/engines/twine/scene/gamestate.cpp
index 6622e6574e..6ec0166411 100644
--- a/engines/twine/scene/gamestate.cpp
+++ b/engines/twine/scene/gamestate.cpp
@@ -173,9 +173,8 @@ bool GameState::loadGame(Common::SeekableReadStream *file) {
 		warning("Failed to load gameflags. Expected %u, but got %u", NUM_GAME_FLAGS, numGameFlags);
 		return false;
 	}
-	if (file->read(_gameStateFlags, NUM_GAME_FLAGS) != NUM_GAME_FLAGS) {
-		warning("Failed to parse game state flags");
-		return false;
+	for (uint8 i = 0; i < numGameFlags; ++i) {
+		setGameFlag(i, file->readByte());
 	}
 	_engine->_scene->needChangeScene = file->readByte(); // scene index
 	gameChapter = file->readByte();


Commit: 8f0177a733c6e222d535f3e4c2ea02e28249e3db
    https://github.com/scummvm/scummvm/commit/8f0177a733c6e222d535f3e4c2ea02e28249e3db
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T20:44:37+01:00

Commit Message:
TWINE: reduced hardcoded widget positions for behaviour text

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


diff --git a/engines/twine/menu/menu.cpp b/engines/twine/menu/menu.cpp
index 45a1fc7a83..aece1c2d1b 100644
--- a/engines/twine/menu/menu.cpp
+++ b/engines/twine/menu/menu.cpp
@@ -905,7 +905,9 @@ void Menu::drawBehaviour(HeroBehaviourType behaviour, int32 angle, bool cantDraw
 		const int titleOffset = 10;
 		const int titleHeight = 40;
 		const int32 titleBoxLeft = 110;
-		const int32 titleBoxRight = 540;
+		const int32 titleBoxWidth = 430;
+		const int32 titleBoxCenter = titleBoxLeft + titleBoxWidth / 2;
+		const int32 titleBoxRight = titleBoxLeft + titleBoxWidth;
 		const int32 titleBoxTop = boxRect.bottom + titleOffset;
 		const int32 titleBoxBottom = titleBoxTop + titleHeight;
 
@@ -921,7 +923,7 @@ void Menu::drawBehaviour(HeroBehaviourType behaviour, int32 angle, bool cantDraw
 		char dialText[256];
 		_engine->_text->getMenuText(_engine->_actor->getTextIdForBehaviour(), dialText, sizeof(dialText));
 
-		_engine->_text->drawText(640 / 2 - _engine->_text->getTextSize(dialText) / 2, titleBoxTop + 1, dialText);
+		_engine->_text->drawText(titleBoxCenter - _engine->_text->getTextSize(dialText) / 2, titleBoxTop + 1, dialText);
 		_engine->copyBlockPhys(titleRect);
 	} else {
 		_engine->_interface->drawSplittedBox(boxRect, 0);


Commit: 07c0dedf2248b1cbfdd1cd0992b823efc1e2eae1
    https://github.com/scummvm/scummvm/commit/07c0dedf2248b1cbfdd1cd0992b823efc1e2eae1
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T20:46:31+01:00

Commit Message:
TWINE: const + replaced magic numbers

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


diff --git a/engines/twine/renderer/renderer.cpp b/engines/twine/renderer/renderer.cpp
index 2a7848ef77..e18dc955c6 100644
--- a/engines/twine/renderer/renderer.cpp
+++ b/engines/twine/renderer/renderer.cpp
@@ -1463,16 +1463,11 @@ void Renderer::renderBehaviourModel(const Common::Rect &rect, int32 y, int32 ang
 }
 
 void Renderer::renderBehaviourModel(int32 boxLeft, int32 boxTop, int32 boxRight, int32 boxBottom, int32 y, int32 angle, const uint8 *bodyPtr) {
-	int32 tmpBoxRight = boxRight;
-
-	int32 ypos = boxBottom + boxTop;
-	ypos >>= 1;
-
-	int32 xpos = boxRight + boxLeft;
-	xpos >>= 1;
+	const int32 ypos = (boxBottom + boxTop) / 2;
+	const int32 xpos = (boxRight + boxLeft) / 2;
 
 	setOrthoProjection(xpos, ypos, 0);
-	_engine->_interface->setClip(Common::Rect(boxLeft, boxTop, tmpBoxRight, boxBottom));
+	_engine->_interface->setClip(Common::Rect(boxLeft, boxTop, boxRight, boxBottom));
 
 	if (angle == -1) {
 		ActorMoveStruct &move = _engine->_menu->moveMenu;
@@ -1480,9 +1475,9 @@ void Renderer::renderBehaviourModel(int32 boxLeft, int32 boxTop, int32 boxRight,
 		if (move.numOfStep == 0) {
 			_engine->_movements->setActorAngleSafe(newAngle, newAngle - ANGLE_90, ANGLE_17, &move);
 		}
-		renderIsoModel(0, y, 0, 0, newAngle, 0, bodyPtr);
+		renderIsoModel(0, y, 0, ANGLE_0, newAngle, ANGLE_0, bodyPtr);
 	} else {
-		renderIsoModel(0, y, 0, 0, angle, 0, bodyPtr);
+		renderIsoModel(0, y, 0, ANGLE_0, angle, ANGLE_0, bodyPtr);
 	}
 }
 
@@ -1490,7 +1485,7 @@ void Renderer::renderInventoryItem(int32 x, int32 y, const uint8 *bodyPtr, int32
 	setCameraPosition(x, y, 128, 200, 200);
 	setCameraAngle(0, 0, 0, 60, 0, 0, param);
 
-	renderIsoModel(0, 0, 0, 0, angle, 0, bodyPtr);
+	renderIsoModel(0, 0, 0, ANGLE_0, angle, ANGLE_0, bodyPtr);
 }
 
 } // namespace TwinE


Commit: e69e53707d5f2c7d2a35e92e39216389b2a62ae2
    https://github.com/scummvm/scummvm/commit/e69e53707d5f2c7d2a35e92e39216389b2a62ae2
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:15:00+01:00

Commit Message:
TWINE: fixed segfault while displaying the bonus list text

Changed paths:
    engines/twine/text.cpp


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 542705e91d..74ae30790a 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -396,11 +396,6 @@ void Text::processTextLine() {
 		if (*buffer == '\0') {
 			break;
 		}
-		if (*buffer == '\1') {
-			moreWordsFollowing = false;
-			buffer++;
-			break;
-		}
 
 		_currentTextPosition = buffer;
 		char wordBuf[256] = "";
@@ -409,6 +404,12 @@ void Text::processTextLine() {
 			break;
 		}
 
+		if (*wordBuf == '\1') {
+			moreWordsFollowing = false;
+			buffer++;
+			break;
+		}
+
 		// @ is a line break
 		if (*wordBuf == '@') {
 			moreWordsFollowing = false;


Commit: df16ce01dda557609b81d3aa03325ff3554b6a1c
    https://github.com/scummvm/scummvm/commit/df16ce01dda557609b81d3aa03325ff3554b6a1c
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:15:25+01:00

Commit Message:
TWINE: fixed missing text in bonus list dialog

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 74ae30790a..d168aa48cd 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -657,7 +657,7 @@ void Text::setFontParameters(int32 spaceBetween, int32 charSpace) {
 void Text::setFontCrossColor(int32 color) {
 	_dialTextStepSize = -1;
 	_dialTextBufferSize = 14;
-	_dialTextStartColor = color << 4;
+	_dialTextStartColor = color * 16;
 	_dialTextStopColor = _dialTextStartColor + 12;
 }
 
diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index b3d0d9378b..02fbfcfc77 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -520,7 +520,7 @@ void TwinEEngine::processBookOfBu() {
 	_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 	_text->drawTextBoxBackground = false;
 	_text->textClipFull();
-	_text->setFontCrossColor(15);
+	_text->setFontCrossColor(COLOR_WHITE);
 	const bool tmpFlagDisplayText = cfgfile.FlagDisplayText;
 	cfgfile.FlagDisplayText = true;
 	_text->drawTextFullscreen(TextId::kBookOfBu);
@@ -538,8 +538,11 @@ void TwinEEngine::processBookOfBu() {
 void TwinEEngine::processBonusList() {
 	_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 	_text->textClipFull();
-	_text->setFontCrossColor(15);
+	_text->setFontCrossColor(COLOR_WHITE);
+	const bool tmpFlagDisplayText = cfgfile.FlagDisplayText;
+	cfgfile.FlagDisplayText = true;
 	_text->drawTextFullscreen(TextId::kBonusList);
+	cfgfile.FlagDisplayText = tmpFlagDisplayText;
 	_text->textClipSmall();
 	_text->initSceneTextBank();
 }


Commit: 13dfc3bd436f46212d8aa90de57d85e17c78543c
    https://github.com/scummvm/scummvm/commit/13dfc3bd436f46212d8aa90de57d85e17c78543c
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:18:41+01:00

Commit Message:
TWINE: replaced magic number

Changed paths:
    engines/twine/script/script_life_v1.cpp


diff --git a/engines/twine/script/script_life_v1.cpp b/engines/twine/script/script_life_v1.cpp
index 981904139a..d2cca9a4c0 100644
--- a/engines/twine/script/script_life_v1.cpp
+++ b/engines/twine/script/script_life_v1.cpp
@@ -1607,17 +1607,17 @@ static int32 lMESSAGE_SENDELL(TwinEEngine *engine, LifeScriptContext &ctx) {
 	engine->_screens->fadeToBlack(engine->_screens->paletteRGBA);
 	engine->_screens->loadImage(RESSHQR_TWINSEN_ZOE_SENDELLIMG, RESSHQR_TWINSEN_ZOE_SENDELLPAL);
 	engine->_text->textClipFull();
-	engine->_text->setFontCrossColor(15);
+	engine->_text->setFontCrossColor(COLOR_WHITE);
 	engine->_text->drawTextBoxBackground = false;
 	const bool tmpFlagDisplayText = engine->cfgfile.FlagDisplayText;
 	engine->cfgfile.FlagDisplayText = true;
 	engine->_text->drawTextFullscreen(TextId::kSendell);
+	engine->cfgfile.FlagDisplayText = tmpFlagDisplayText;
 	engine->_text->drawTextBoxBackground = true;
 	engine->_text->textClipSmall();
 	engine->_screens->fadeToBlack(engine->_screens->paletteRGBACustom);
 	engine->_screens->clearScreen();
 	engine->setPalette(engine->_screens->paletteRGBA);
-	engine->cfgfile.FlagDisplayText = tmpFlagDisplayText;
 	return 0;
 }
 


Commit: da04e5bf87ef842dde87d0873d43273e31fd3e25
    https://github.com/scummvm/scummvm/commit/da04e5bf87ef842dde87d0873d43273e31fd3e25
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:28:40+01:00

Commit Message:
TWINE: replaced magic numbers

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index d168aa48cd..7b1c7982b7 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -47,6 +47,8 @@ namespace TwinE {
 #define INDEXOFFSET 0
 #define DIALOGSOFFSET 1
 
+static const int32 PADDING = 8;
+
 Text::Text(TwinEEngine *engine) : _engine(engine) {
 	Common::fill(&currMenuTextBuffer[0], &currMenuTextBuffer[256], 0);
 }
@@ -213,7 +215,7 @@ void Text::drawCharacterShadow(int32 x, int32 y, uint8 character, int32 color, C
 		return;
 	}
 	// shadow color
-	setFontColor(0);
+	setFontColor(COLOR_BLACK);
 	drawCharacter(x + 2, y + 4, character);
 
 	// text color
@@ -319,8 +321,8 @@ void Text::initText(int32 index) {
 	_dialTextBoxCurrentLine = 0;
 	_progressiveTextBuffer[0] = '\0';
 	_fadeInCharactersPos = 0;
-	_dialTextXPos = _dialTextBox.left + 8;
-	_dialTextYPos = _dialTextBox.top + 8;
+	_dialTextXPos = _dialTextBox.left + PADDING;
+	_dialTextYPos = _dialTextBox.top + PADDING;
 	_currentTextPosition = _currDialTextPtr;
 
 	// lba font is get while engine start
@@ -538,8 +540,8 @@ ProgressiveTextState Text::updateProgressiveText() {
 		initProgressiveTextBuffer();
 		processTextLine();
 		initDialogueBox();
-		_dialTextXPos = _dialTextBox.left + 8;
-		_dialTextYPos = _dialTextBox.top + 8;
+		_dialTextXPos = _dialTextBox.left + PADDING;
+		_dialTextYPos = _dialTextBox.top + PADDING;
 	}
 	const char currentChar = *_progressiveTextBufferPtr;
 	assert(currentChar != '\0');
@@ -571,7 +573,7 @@ ProgressiveTextState Text::updateProgressiveText() {
 	_dialTextBoxCurrentLine++;
 
 	_dialTextYPos += _lineHeight;
-	_dialTextXPos = _dialTextBox.left + 8;
+	_dialTextXPos = _dialTextBox.left + PADDING;
 
 	if (_dialTextBoxCurrentLine >= _dialTextBoxLines) {
 		renderContinueReadingTriangle();
@@ -738,28 +740,26 @@ bool Text::getMenuText(int32 index, char *text, uint32 textSize) {
 
 void Text::textClipFull() {
 	const int32 margin = 8;
-	const int32 padding = 8;
 	_dialTextBox.left = margin;
 	_dialTextBox.top = margin;
 	_dialTextBox.right = _engine->width() - margin;
 	_dialTextBox.bottom = _engine->height() - margin;
 
 	_dialTextBoxLines = (int32)(_dialTextBox.height() / _lineHeight) - 1;
-	_dialTextBoxMaxX = _engine->width() - 2 * margin - 2 * padding;
+	_dialTextBoxMaxX = _engine->width() - 2 * margin - 2 * PADDING;
 }
 
 void Text::textClipSmall() {
 	const int32 margin = 16;
-	const int32 padding = 8;
 	_dialTextBoxLines = 3;
 	const int32 textHeight = _dialTextBoxLines * _lineHeight;
 
 	_dialTextBox.left = margin;
-	_dialTextBox.top = _engine->height() - textHeight - margin - padding;
+	_dialTextBox.top = _engine->height() - textHeight - margin - PADDING;
 	_dialTextBox.right = _engine->width() - margin;
 	_dialTextBox.bottom = _engine->height() - margin;
 
-	_dialTextBoxMaxX = _engine->width() - 2 * margin - 2 * padding;
+	_dialTextBoxMaxX = _engine->width() - 2 * margin - 2 * PADDING;
 }
 
 void Text::drawAskQuestion(int32 index) {
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 7f9c48efee..1297ba3b0d 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -107,6 +107,7 @@ enum _TextId {
 
 #define TEXT_MAX_FADE_IN_CHR 32
 
+#define COLOR_BLACK 0
 #define COLOR_WHITE 15
 #define COLOR_GOLD 155
 


Commit: ef86132f42676fcd62421b01d475f7ec79356121
    https://github.com/scummvm/scummvm/commit/ef86132f42676fcd62421b01d475f7ec79356121
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:55:47+01:00

Commit Message:
TWINE: replaced magic numbers

Changed paths:
    engines/twine/menu/menu.cpp
    engines/twine/menu/menuoptions.cpp
    engines/twine/scene/gamestate.cpp
    engines/twine/scene/scene.cpp
    engines/twine/scene/scene.h
    engines/twine/script/script_life_v1.cpp
    engines/twine/shared.h
    engines/twine/text.h


diff --git a/engines/twine/menu/menu.cpp b/engines/twine/menu/menu.cpp
index aece1c2d1b..3a1f53803e 100644
--- a/engines/twine/menu/menu.cpp
+++ b/engines/twine/menu/menu.cpp
@@ -1070,7 +1070,7 @@ void Menu::drawItem(int32 item, Common::Rect &dirtyRect) {
 	const int32 top = itemY - 32;
 	const int32 bottom = itemY + 32;
 	const Common::Rect rect(left, top, right, bottom);
-	_engine->_interface->drawSplittedBox(rect, inventorySelectedItem == item ? inventorySelectedColor : 0);
+	_engine->_interface->drawSplittedBox(rect, inventorySelectedItem == item ? inventorySelectedColor : COLOR_BLACK);
 
 	if (item < NUM_INVENTORY_ITEMS && _engine->_gameState->hasItem((InventoryItems)item) && !_engine->_gameState->inventoryDisabled()) {
 		Renderer::prepareIsoModel(_engine->_resources->inventoryTable[item]);
@@ -1114,7 +1114,7 @@ void Menu::processInventoryMenu() {
 
 	_engine->_screens->copyScreen(_engine->frontVideoBuffer, _engine->workVideoBuffer);
 
-	_engine->_renderer->setLightVector(896, 950, 0);
+	_engine->_renderer->setLightVector(ANGLE_315, ANGLE_334, ANGLE_0);
 
 	inventorySelectedColor = 68;
 
@@ -1128,7 +1128,7 @@ void Menu::processInventoryMenu() {
 
 	_engine->_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 
-	_engine->_text->setFontCrossColor(4);
+	_engine->_text->setFontCrossColor(COLOR_BRIGHT_BLUE);
 	_engine->_text->initDialogueBox();
 
 	ProgressiveTextState textState = ProgressiveTextState::ContinueRunning;
diff --git a/engines/twine/menu/menuoptions.cpp b/engines/twine/menu/menuoptions.cpp
index 2e9222ad44..ebf1b1b867 100644
--- a/engines/twine/menu/menuoptions.cpp
+++ b/engines/twine/menu/menuoptions.cpp
@@ -59,7 +59,7 @@ void MenuOptions::newGame() {
 
 	_engine->_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 	_engine->_text->textClipFull();
-	_engine->_text->setFontCrossColor(15);
+	_engine->_text->setFontCrossColor(COLOR_WHITE);
 
 	bool aborted = _engine->_text->drawTextFullscreen(TextId::kIntroText1);
 
diff --git a/engines/twine/scene/gamestate.cpp b/engines/twine/scene/gamestate.cpp
index 6ec0166411..35483990a0 100644
--- a/engines/twine/scene/gamestate.cpp
+++ b/engines/twine/scene/gamestate.cpp
@@ -60,8 +60,8 @@ GameState::GameState(TwinEEngine *engine) : _engine(engine) {
 void GameState::initEngineProjections() {
 	_engine->_renderer->setOrthoProjection(311, 240, 512);
 	_engine->_renderer->setBaseTranslation(0, 0, 0);
-	_engine->_renderer->setBaseRotation(0, 0, 0);
-	_engine->_renderer->setLightVector(_engine->_scene->alphaLight, _engine->_scene->betaLight, 0);
+	_engine->_renderer->setBaseRotation(ANGLE_0, ANGLE_0, ANGLE_0);
+	_engine->_renderer->setLightVector(_engine->_scene->alphaLight, _engine->_scene->betaLight, ANGLE_0);
 }
 
 void GameState::initGameStateVars() {
diff --git a/engines/twine/scene/scene.cpp b/engines/twine/scene/scene.cpp
index d57186cb87..fa37acd65d 100644
--- a/engines/twine/scene/scene.cpp
+++ b/engines/twine/scene/scene.cpp
@@ -141,8 +141,8 @@ bool Scene::loadSceneLBA1() {
 	betaLight = stream.readUint16LE();
 
 	// FIXME: Workaround to fix lighting issue - not using proper dark light
-	alphaLight = 896;
-	betaLight = 950;
+	alphaLight = ANGLE_315;
+	betaLight = ANGLE_334;
 
 	_sampleAmbiance[0] = stream.readUint16LE();
 	_sampleRepeat[0] = stream.readUint16LE();
@@ -336,7 +336,7 @@ void Scene::changeScene() {
 	sceneHero->y = heroYBeforeFall = newHeroY;
 	sceneHero->z = newHeroZ;
 
-	_engine->_renderer->setLightVector(alphaLight, betaLight, 0);
+	_engine->_renderer->setLightVector(alphaLight, betaLight, ANGLE_0);
 
 	if (previousSceneIdx != needChangeScene) {
 		_engine->_actor->previousHeroBehaviour = _engine->_actor->heroBehaviour;
@@ -370,7 +370,7 @@ void Scene::changeScene() {
 	needChangeScene = -1;
 	enableGridTileRendering = true;
 
-	_engine->_renderer->setLightVector(alphaLight, betaLight, 0);
+	_engine->_renderer->setLightVector(alphaLight, betaLight, ANGLE_0);
 
 	if (_sceneMusic != -1) {
 		_engine->_music->playTrackMusic(_sceneMusic);
diff --git a/engines/twine/scene/scene.h b/engines/twine/scene/scene.h
index 45dfa44672..36fe2388e3 100644
--- a/engines/twine/scene/scene.h
+++ b/engines/twine/scene/scene.h
@@ -310,8 +310,8 @@ public:
 	int32 previousSceneIdx = LBA1SceneId::Citadel_Island_Prison;
 
 	int32 sceneTextBank = TextBankId::None;
-	int32 alphaLight = 0;
-	int32 betaLight = 0;
+	int32 alphaLight = ANGLE_0;
+	int32 betaLight = ANGLE_0;
 
 	int16 newHeroX = 0; // newTwinsenX
 	int16 newHeroY = 0; // newTwinsenY
diff --git a/engines/twine/script/script_life_v1.cpp b/engines/twine/script/script_life_v1.cpp
index d2cca9a4c0..0b929313a2 100644
--- a/engines/twine/script/script_life_v1.cpp
+++ b/engines/twine/script/script_life_v1.cpp
@@ -1712,7 +1712,7 @@ static int32 lPROJ_3D(TwinEEngine *engine, LifeScriptContext &ctx) {
 
 	engine->_renderer->setCameraPosition(engine->width() / 2, engine->height() / 2, 128, 1024, 1024);
 	engine->_renderer->setCameraAngle(0, 1500, 0, 25, -128, 0, 13000);
-	engine->_renderer->setLightVector(896, 950, ANGLE_0);
+	engine->_renderer->setLightVector(ANGLE_315, ANGLE_334, ANGLE_0);
 
 	engine->_text->initTextBank(TextBankId::Credits);
 
diff --git a/engines/twine/shared.h b/engines/twine/shared.h
index f70dd67969..b3ad4a7ad9 100644
--- a/engines/twine/shared.h
+++ b/engines/twine/shared.h
@@ -172,6 +172,7 @@ enum class ExtraSpecialType {
 
 #define ANGLE_360 1024
 #define ANGLE_351 1000
+#define ANGLE_334 950
 #define ANGLE_315 896
 #define ANGLE_270 768
 #define ANGLE_225 640
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 1297ba3b0d..1940ef33ae 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -108,6 +108,7 @@ enum _TextId {
 #define TEXT_MAX_FADE_IN_CHR 32
 
 #define COLOR_BLACK 0
+#define COLOR_BRIGHT_BLUE 4
 #define COLOR_WHITE 15
 #define COLOR_GOLD 155
 


Commit: 0d55a6f69b79e98d3b14b523f62ba7ee34da7973
    https://github.com/scummvm/scummvm/commit/0d55a6f69b79e98d3b14b523f62ba7ee34da7973
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2021-01-08T21:57:28+01:00

Commit Message:
TWINE: replaced magic number

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


diff --git a/engines/twine/scene/scene.cpp b/engines/twine/scene/scene.cpp
index fa37acd65d..00856d6b62 100644
--- a/engines/twine/scene/scene.cpp
+++ b/engines/twine/scene/scene.cpp
@@ -450,7 +450,7 @@ void Scene::processZoneExtraBonus(ZoneStruct *zone) {
 	const int32 index = _engine->_extra->addExtraBonus(ABS(zone->topRight.x + zone->bottomLeft.x) / 2, zone->topRight.y, ABS(zone->topRight.z + zone->bottomLeft.z) / 2, ANGLE_63, angle, bonusSprite, amount);
 
 	if (index != -1) {
-		_engine->_extra->extraList[index].type |= 0x400;
+		_engine->_extra->extraList[index].type |= ExtraType::TIME_IN;
 		zone->infoData.Bonus.used = 1; // set as used
 	}
 }




More information about the Scummvm-git-logs mailing list