[Scummvm-git-logs] scummvm master -> 6c24e0de983d51d9f50a7419a9434fabb479ac84

mgerhardy martin.gerhardy at gmail.com
Tue Dec 15 22:13:17 UTC 2020


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

Summary:
a74eed6cae TWINE: introduced enum for updateProgressiveText return values
5af7875b0f TWINE: renamed member var
520859a18d TWINE: renamed member var
f1255de484 TWINE: fixed mixed x and y vars (just by name)
86cd1fe936 TWINE: no need to call getWordSize in this situation
32d9842788 TWINE: renamed variables
6c24e0de98 TWINE: fixed typo in enum name


Commit: a74eed6caed908af4c5268174b2a99625f6c1e7c
    https://github.com/scummvm/scummvm/commit/a74eed6caed908af4c5268174b2a99625f6c1e7c
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:35+01:00

Commit Message:
TWINE: introduced enum for updateProgressiveText return values

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


diff --git a/engines/twine/gamestate.cpp b/engines/twine/gamestate.cpp
index 5f7f746961..41df51c94d 100644
--- a/engines/twine/gamestate.cpp
+++ b/engines/twine/gamestate.cpp
@@ -314,8 +314,8 @@ void GameState::processFoundItem(int32 item) {
 	_engine->_text->initText(item);
 	_engine->_text->initDialogueBox();
 
-	int32 textState = 1;
-	int32 quitItem = 0;
+	ProgressiveTestState textState = ProgressiveTestState::UNK1;
+	bool quitItem = false;
 
 	_engine->_text->initVoxToPlay(item);
 
@@ -360,12 +360,12 @@ void GameState::processFoundItem(int32 item) {
 		_engine->_grid->drawOverModelActor(itemX, itemY, itemZ);
 		_engine->_redraw->addRedrawArea(_engine->_redraw->renderRect);
 
-		if (textState) {
+		if (textState != ProgressiveTestState::UNK0) {
 			_engine->_interface->resetClip();
 			textState = _engine->_text->updateProgressiveText();
 		}
 
-		if (textState == 0 || textState == 2) {
+		if (textState == ProgressiveTestState::UNK0 || textState == ProgressiveTestState::UNK2) {
 			_engine->_system->delayMillis(15);
 		}
 
@@ -373,12 +373,12 @@ void GameState::processFoundItem(int32 item) {
 
 		_engine->readKeys();
 		if (_engine->_input->toggleAbortAction()) {
-			if (!textState) {
-				quitItem = 1;
+			if (textState == ProgressiveTestState::UNK0) {
+				quitItem = true;
 			}
 
-			if (textState == 2) {
-				textState = 1;
+			if (textState == ProgressiveTestState::UNK2) {
+				textState = ProgressiveTestState::UNK1;
 			}
 		}
 
diff --git a/engines/twine/menu.cpp b/engines/twine/menu.cpp
index cd5ce0d4a1..b4540b421c 100644
--- a/engines/twine/menu.cpp
+++ b/engines/twine/menu.cpp
@@ -1103,11 +1103,13 @@ void Menu::processInventoryMenu() {
 
 	_engine->_text->initTextBank(TextBankId::Inventory_Intro_and_Holomap);
 
-	int32 bx = 3;
+	bool updateItemText = true;
 
 	_engine->_text->setFontCrossColor(4);
 	_engine->_text->initDialogueBox();
 
+	ProgressiveTestState bx = ProgressiveTestState::UNK0;
+
 #if 0
 	ScopedCursor scopedCursor(_engine);
 #endif
@@ -1130,56 +1132,54 @@ void Menu::processInventoryMenu() {
 				inventorySelectedItem = 0;
 			}
 			drawItem(prevSelectedItem);
-			bx = 3;
+			updateItemText = true;
 		} else if (cursorUp) {
 			inventorySelectedItem--;
 			if (inventorySelectedItem < 0) {
 				inventorySelectedItem = NUM_INVENTORY_ITEMS - 1;
 			}
 			drawItem(prevSelectedItem);
-			bx = 3;
-		}
-
-		if (cursorLeft) {
+			updateItemText = true;
+		} else if (cursorLeft) {
 			inventorySelectedItem -= 4;
 			if (inventorySelectedItem < 0) {
 				inventorySelectedItem += NUM_INVENTORY_ITEMS;
 			}
 			drawItem(prevSelectedItem);
-			bx = 3;
+			updateItemText = true;
 		} else if (cursorRight) {
 			inventorySelectedItem += 4;
 			if (inventorySelectedItem >= NUM_INVENTORY_ITEMS) {
 				inventorySelectedItem -= NUM_INVENTORY_ITEMS;
 			}
 			drawItem(prevSelectedItem);
-			bx = 3;
+			updateItemText = true;
 		}
 
-		if (bx == 3) {
+		if (updateItemText) {
 			_engine->_text->initInventoryDialogueBox();
 
 			if (inventorySelectedItem < NUM_INVENTORY_ITEMS && _engine->_gameState->hasItem((InventoryItems)inventorySelectedItem) && !_engine->_gameState->inventoryDisabled()) {
 				_engine->_text->initText(inventorySelectedItem + 100);
 			} else {
-				_engine->_text->initText(128);
+				_engine->_text->initText(NUM_INVENTORY_ITEMS + 100);
 			}
-			bx = 0;
+			updateItemText = false;
 		}
 
-		if (bx != 2) {
+		if (updateItemText || bx != ProgressiveTestState::UNK2) {
 			bx = _engine->_text->updateProgressiveText();
 		}
 
 		// TRICKY: 3D model rotation delay - only apply when no text is drawing
-		if (bx == 0 || bx == 2) {
+		if (bx == ProgressiveTestState::UNK0 || bx == ProgressiveTestState::UNK2) {
 			_engine->_system->delayMillis(15);
 		}
 
 		if (_engine->_input->toggleActionIfActive(TwinEActionType::UINextPage)) {
-			if (bx == 2) {
+			if (bx == ProgressiveTestState::UNK2) {
 				_engine->_text->initInventoryDialogueBox();
-				bx = 0;
+				bx = ProgressiveTestState::UNK0;
 			} else {
 				if (inventorySelectedItem < NUM_INVENTORY_ITEMS && _engine->_gameState->hasItem((InventoryItems)inventorySelectedItem) && !_engine->_gameState->inventoryDisabled()) {
 					_engine->_text->initInventoryDialogueBox();
diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 86247f159e..1fe636ad60 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -511,9 +511,9 @@ int32 Text::getCharHeight(uint8 chr) const {
 }
 
 // TODO: refactor this code
-int Text::updateProgressiveText() {
+ProgressiveTestState Text::updateProgressiveText() {
 	if (!_hasValidTextHandle) {
-		return 0;
+		return ProgressiveTestState::UNK0;
 	}
 
 	if (*_progressiveTextBufferPtr == '\0') {
@@ -522,7 +522,7 @@ int Text::updateProgressiveText() {
 				renderContinueReadingTriangle();
 			}
 			_hasValidTextHandle = false;
-			return 0;
+			return ProgressiveTestState::UNK0;
 		}
 		if (_progressiveTextNextPage) {
 			_engine->_interface->blitBox(_dialTextBox, _engine->workVideoBuffer, _engine->frontVideoBuffer);
@@ -535,14 +535,14 @@ int Text::updateProgressiveText() {
 		if (*printText8Var8 == '\0') {
 			initProgressiveTextBuffer();
 			_progressiveTextEnd = true;
-			return 1;
+			return ProgressiveTestState::UNK1;
 		}
 		processTextLine();
 	}
 
 	// RECHECK this later
 	if (*_progressiveTextBufferPtr == '\0') {
-		return 1;
+		return ProgressiveTestState::UNK1;
 	}
 
 	fillFadeInBuffer(_dialTextYPos, _dialTextXPos, *_progressiveTextBufferPtr);
@@ -563,7 +563,7 @@ int Text::updateProgressiveText() {
 	_progressiveTextBufferPtr++;
 
 	if (*_progressiveTextBufferPtr != '\0') {
-		return 1;
+		return ProgressiveTestState::UNK1;
 	}
 
 	const int32 lineHeight = 38;
@@ -572,12 +572,12 @@ int Text::updateProgressiveText() {
 
 	if (_progressiveTextNextPage && !_progressiveTextEnd) {
 		renderContinueReadingTriangle();
-		return 2;
+		return ProgressiveTestState::UNK2;
 	}
 
 	_dialTextBoxCurrentLine++;
 	if (_dialTextBoxCurrentLine < _dialTextBoxLines) {
-		return 1;
+		return ProgressiveTestState::UNK1;
 	}
 
 	initProgressiveTextBuffer();
@@ -587,7 +587,7 @@ int Text::updateProgressiveText() {
 		_progressiveTextEnd = true;
 	}
 
-	return 1;
+	return ProgressiveTestState::UNK1;
 }
 
 // TODO: refactor this code
@@ -607,13 +607,13 @@ bool Text::drawTextFullscreen(int32 index) {
 		initText(index);
 		initDialogueBox();
 
-		int32 printedText;
+		ProgressiveTestState printedText;
 		for (;;) {
 			_engine->readKeys();
 			printedText = updateProgressiveText();
 			playVox(currDialTextEntry);
 
-			if (!printedText && !_engine->_sound->isSamplePlaying(currDialTextEntry)) {
+			if (printedText == ProgressiveTestState::UNK0 && !_engine->_sound->isSamplePlaying(currDialTextEntry)) {
 				break;
 			}
 
@@ -627,7 +627,7 @@ bool Text::drawTextFullscreen(int32 index) {
 
 		_hasValidTextHandle = false;
 
-		if (printedText == 0) {
+		if (printedText == ProgressiveTestState::UNK0) {
 			stopVox(currDialTextEntry);
 			// wait displaying text
 			for (;;) {
@@ -773,12 +773,12 @@ void Text::drawAskQuestion(int32 index) {
 	initText(index);
 	initDialogueBox();
 
-	int32 textStatus = 1;
+	ProgressiveTestState textStatus = ProgressiveTestState::UNK1;
 	do {
 		_engine->readKeys();
 		textStatus = updateProgressiveText();
 
-		if (textStatus == 2) {
+		if (textStatus == ProgressiveTestState::UNK2) {
 			do {
 				_engine->readKeys();
 				if (_engine->shouldQuit()) {
@@ -792,7 +792,7 @@ void Text::drawAskQuestion(int32 index) {
 		}
 
 		_engine->_system->delayMillis(1);
-	} while (textStatus);
+	} while (textStatus != ProgressiveTestState::UNK0);
 
 	while (playVoxSimple(currDialTextEntry)) {
 		if (_engine->shouldQuit() || _engine->_input->toggleAbortAction()) {
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 90d3258f13..8a158b480a 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -101,6 +101,12 @@ enum _TextId {
 
 #define TEXT_MAX_FADE_IN_CHR 32
 
+enum class ProgressiveTestState {
+	UNK0 = 0,
+	UNK1 = 1,
+	UNK2 = 2
+};
+
 class TwinEEngine;
 class Text {
 private:
@@ -259,7 +265,7 @@ public:
 	void initInventoryDialogueBox();
 
 	void initText(int32 index);
-	int updateProgressiveText();
+	ProgressiveTestState updateProgressiveText();
 
 	/**
 	 * Set font type parameters


Commit: 5af7875b0fddefd65431d14ec404992691ad09e6
    https://github.com/scummvm/scummvm/commit/5af7875b0fddefd65431d14ec404992691ad09e6
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: renamed member var

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 1fe636ad60..2e4bb9ef21 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -398,7 +398,7 @@ void Text::processTextLine() {
 		printText8Var8 = buffer;
 		char wordBuf[256] = "";
 		WordSize wordSize = getWordSize(buffer, wordBuf, sizeof(wordBuf));
-		if (lineBreakX + _dialCharSpace + wordSize.inPixel >= _dialTextBoxParam2) {
+		if (lineBreakX + _dialCharSpace + wordSize.inPixel >= _dialTextBoxMaxX) {
 			break;
 		}
 
@@ -437,15 +437,15 @@ void Text::processTextLine() {
 		break;
 	}
 
-	if (printText8PrepareBufferVar2 != 0) {
+	if (printText8PrepareBufferVar2 > 0) {
 		printText8PrepareBufferVar2--;
 	}
 
 	if (*printText8Var8 != '\0' && var4) {
-		if (printText8PrepareBufferVar2 == 0) {
+		if (printText8PrepareBufferVar2 <= 0) {
 			printText8PrepareBufferVar2 = 1;
 		}
-		_dialCharSpace += (_dialTextBoxParam2 - lineBreakX) / printText8PrepareBufferVar2;
+		_dialCharSpace += (_dialTextBoxMaxX - lineBreakX) / printText8PrepareBufferVar2;
 		printText10Var1 = -2 * lineBreakX;
 	}
 
@@ -752,18 +752,18 @@ void Text::textClipFull() {
 	_dialTextBox.bottom = SCREEN_HEIGHT - padding;
 
 	_dialTextBoxLines = 11;
-	_dialTextBoxParam2 = 607;
+	_dialTextBoxMaxX = SCREEN_WIDTH - 33;
 }
 
 void Text::textClipSmall() {
 	const int padding = 17;
 	_dialTextBox.left = padding - 1;
-	_dialTextBox.top = 334;
+	_dialTextBox.top = SCREEN_HEIGHT - 146;
 	_dialTextBox.right = SCREEN_WIDTH - padding;
 	_dialTextBox.bottom = SCREEN_HEIGHT - padding;
 
 	_dialTextBoxLines = 3;
-	_dialTextBoxParam2 = 591;
+	_dialTextBoxMaxX = SCREEN_WIDTH - 49;
 }
 
 void Text::drawAskQuestion(int32 index) {
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 8a158b480a..9a7f743a02 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -217,7 +217,7 @@ private:
 	Common::Rect _dialTextBox { 0, 0, 0, 0};
 
 	int32 _dialTextBoxLines = 0; // dialogueBoxParam1
-	int32 _dialTextBoxParam2 = 0; // dialogueBoxParam2
+	int32 _dialTextBoxMaxX = 0; // dialogueBoxParam2
 public:
 	Text(TwinEEngine *engine);
 	~Text();


Commit: 520859a18d7943aee8a723d121ec3acd67bb01c5
    https://github.com/scummvm/scummvm/commit/520859a18d7943aee8a723d121ec3acd67bb01c5
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: renamed member var

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 2e4bb9ef21..e759acd02a 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -325,7 +325,7 @@ void Text::initText(int32 index) {
 	_progressiveTextEnd = false;
 	_progressiveTextNextPage = false;
 	_dialTextXPos = _dialTextBox.top + 8;
-	printText8Var8 = _currDialTextPtr;
+	_progressiveTextNextWord = _currDialTextPtr;
 
 	// lba font is get while engine start
 	setFontParameters(2, 7);
@@ -378,7 +378,7 @@ Text::WordSize Text::getWordSize(const char *completeText, char *wordBuf, int32
 }
 
 void Text::processTextLine() {
-	char *buffer = printText8Var8;
+	const char *buffer = _progressiveTextNextWord;
 	_dialCharSpace = 7;
 	bool var4 = true;
 
@@ -395,7 +395,7 @@ void Text::processTextLine() {
 			break;
 		}
 
-		printText8Var8 = buffer;
+		_progressiveTextNextWord = buffer;
 		char wordBuf[256] = "";
 		WordSize wordSize = getWordSize(buffer, wordBuf, sizeof(wordBuf));
 		if (lineBreakX + _dialCharSpace + wordSize.inPixel >= _dialTextBoxMaxX) {
@@ -424,14 +424,14 @@ void Text::processTextLine() {
 		}
 
 		buffer += wordSize.inChar;
-		printText8Var8 = buffer;
+		_progressiveTextNextWord = buffer;
 		strncat(_progressiveTextBuffer, wordBuf, sizeof(_progressiveTextBuffer) - strlen(_progressiveTextBuffer) - 1);
 		strncat(_progressiveTextBuffer, " ", sizeof(_progressiveTextBuffer) - strlen(_progressiveTextBuffer) - 1); // not 100% accurate
 		printText8PrepareBufferVar2++;
 
 		lineBreakX += wordSize.inPixel + _dialCharSpace;
-		if (*printText8Var8 != '\0') {
-			printText8Var8++;
+		if (*_progressiveTextNextWord != '\0') {
+			_progressiveTextNextWord++;
 			continue;
 		}
 		break;
@@ -441,7 +441,7 @@ void Text::processTextLine() {
 		printText8PrepareBufferVar2--;
 	}
 
-	if (*printText8Var8 != '\0' && var4) {
+	if (*_progressiveTextNextWord != '\0' && var4) {
 		if (printText8PrepareBufferVar2 <= 0) {
 			printText8PrepareBufferVar2 = 1;
 		}
@@ -449,7 +449,7 @@ void Text::processTextLine() {
 		printText10Var1 = -2 * lineBreakX;
 	}
 
-	printText8Var8 = buffer;
+	_progressiveTextNextWord = buffer;
 
 	_progressiveTextBufferPtr = _progressiveTextBuffer;
 }
@@ -532,7 +532,7 @@ ProgressiveTestState Text::updateProgressiveText() {
 			_dialTextYPos = _dialTextBox.left + 8;
 			_dialTextXPos = _dialTextBox.top + 8;
 		}
-		if (*printText8Var8 == '\0') {
+		if (*_progressiveTextNextWord == '\0') {
 			initProgressiveTextBuffer();
 			_progressiveTextEnd = true;
 			return ProgressiveTestState::UNK1;
@@ -583,7 +583,7 @@ ProgressiveTestState Text::updateProgressiveText() {
 	initProgressiveTextBuffer();
 	_progressiveTextNextPage = true;
 
-	if (*printText8Var8 == '\0') {
+	if (*_progressiveTextNextWord == '\0') {
 		_progressiveTextEnd = true;
 	}
 
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 9a7f743a02..fc74ad935b 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -168,7 +168,7 @@ private:
 
 	// TODO: refactor all this variables and related functions
 	char _progressiveTextBuffer[256] {'\0'};
-	char *printText8Var8 = nullptr;
+	const char *_progressiveTextNextWord = nullptr;
 	int32 printText10Var1 = 0;
 
 	int32 _dialTextXPos = 0;


Commit: f1255de4842829b32a92a4277ed55997ca8c597c
    https://github.com/scummvm/scummvm/commit/f1255de4842829b32a92a4277ed55997ca8c597c
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: fixed mixed x and y vars (just by name)

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index e759acd02a..74e8018a66 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -321,10 +321,10 @@ void Text::initText(int32 index) {
 	_dialTextBoxCurrentLine = 0;
 	_progressiveTextBuffer[0] = '\0';
 	_fadeInCharactersPos = 0;
-	_dialTextYPos = _dialTextBox.left + 8;
+	_dialTextXPos = _dialTextBox.left + 8;
 	_progressiveTextEnd = false;
 	_progressiveTextNextPage = false;
-	_dialTextXPos = _dialTextBox.top + 8;
+	_dialTextYPos = _dialTextBox.top + 8;
 	_progressiveTextNextWord = _currDialTextPtr;
 
 	// lba font is get while engine start
@@ -529,8 +529,8 @@ ProgressiveTestState Text::updateProgressiveText() {
 			_engine->copyBlockPhys(_dialTextBox);
 			_fadeInCharactersPos = 0;
 			_progressiveTextNextPage = false;
-			_dialTextYPos = _dialTextBox.left + 8;
-			_dialTextXPos = _dialTextBox.top + 8;
+			_dialTextXPos = _dialTextBox.left + 8;
+			_dialTextYPos = _dialTextBox.top + 8;
 		}
 		if (*_progressiveTextNextWord == '\0') {
 			initProgressiveTextBuffer();
@@ -545,18 +545,18 @@ ProgressiveTestState Text::updateProgressiveText() {
 		return ProgressiveTestState::UNK1;
 	}
 
-	fillFadeInBuffer(_dialTextYPos, _dialTextXPos, *_progressiveTextBufferPtr);
+	fillFadeInBuffer(_dialTextXPos, _dialTextYPos, *_progressiveTextBufferPtr);
 	fadeInCharacters(_fadeInCharactersPos, _dialTextStartColor);
 	int8 charWidth = getCharWidth(*_progressiveTextBufferPtr);
 
 	if (*_progressiveTextBufferPtr != ' ') {
-		_dialTextYPos += charWidth + 2;
+		_dialTextXPos += charWidth + 2;
 	} else {
 		if (printText10Var1 != 0) {
-			_dialTextYPos++;
+			_dialTextXPos++;
 			printText10Var1--;
 		}
-		_dialTextYPos += _dialCharSpace;
+		_dialTextXPos += _dialCharSpace;
 	}
 
 	// next character
@@ -567,8 +567,8 @@ ProgressiveTestState Text::updateProgressiveText() {
 	}
 
 	const int32 lineHeight = 38;
-	_dialTextXPos += lineHeight;
-	_dialTextYPos = _dialTextBox.left + 8;
+	_dialTextYPos += lineHeight;
+	_dialTextXPos = _dialTextBox.left + 8;
 
 	if (_progressiveTextNextPage && !_progressiveTextEnd) {
 		renderContinueReadingTriangle();
diff --git a/engines/twine/text.h b/engines/twine/text.h
index fc74ad935b..c1636e134d 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -172,9 +172,9 @@ private:
 	int32 printText10Var1 = 0;
 
 	int32 _dialTextXPos = 0;
+	int32 _dialTextYPos = 0;
 	char *_progressiveTextBufferPtr = nullptr;
 	int32 _dialTextBoxCurrentLine = 0;
-	int32 _dialTextYPos = 0;
 	bool _progressiveTextEnd = false;
 	bool _progressiveTextNextPage = false;
 	struct BlendInCharacter {


Commit: 86cd1fe9362dd06c867373f4aa8a0fdbce7eef27
    https://github.com/scummvm/scummvm/commit/86cd1fe9362dd06c867373f4aa8a0fdbce7eef27
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: no need to call getWordSize in this situation

Changed paths:
    engines/twine/text.cpp


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 74e8018a66..79cbb31280 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -394,6 +394,11 @@ void Text::processTextLine() {
 		if (*buffer == '\0') {
 			break;
 		}
+		if (*buffer == '\1') {
+			var4 = false;
+			buffer++;
+			break;
+		}
 
 		_progressiveTextNextWord = buffer;
 		char wordBuf[256] = "";
@@ -402,12 +407,6 @@ void Text::processTextLine() {
 			break;
 		}
 
-		if (*buffer == '\1') {
-			var4 = false;
-			buffer++;
-			break;
-		}
-
 		if (*wordBuf == '@') {
 			var4 = false;
 			buffer++;


Commit: 32d9842788e6fd6d502e951fe26f0c359c925208
    https://github.com/scummvm/scummvm/commit/32d9842788e6fd6d502e951fe26f0c359c925208
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: renamed variables

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


diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index 79cbb31280..b0a6ca8e2f 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -380,10 +380,10 @@ Text::WordSize Text::getWordSize(const char *completeText, char *wordBuf, int32
 void Text::processTextLine() {
 	const char *buffer = _progressiveTextNextWord;
 	_dialCharSpace = 7;
-	bool var4 = true;
+	bool moreWordsFollowing = true;
 
 	int32 lineBreakX = 0;
-	int32 printText8PrepareBufferVar2 = 0;
+	int32 spaceCharCount = 0;
 	_progressiveTextBuffer[0] = '\0';
 
 	for (;;) {
@@ -395,7 +395,7 @@ void Text::processTextLine() {
 			break;
 		}
 		if (*buffer == '\1') {
-			var4 = false;
+			moreWordsFollowing = false;
 			buffer++;
 			break;
 		}
@@ -408,7 +408,7 @@ void Text::processTextLine() {
 		}
 
 		if (*wordBuf == '@') {
-			var4 = false;
+			moreWordsFollowing = false;
 			buffer++;
 			if (lineBreakX == 0) {
 				lineBreakX = 7;
@@ -426,7 +426,7 @@ void Text::processTextLine() {
 		_progressiveTextNextWord = buffer;
 		strncat(_progressiveTextBuffer, wordBuf, sizeof(_progressiveTextBuffer) - strlen(_progressiveTextBuffer) - 1);
 		strncat(_progressiveTextBuffer, " ", sizeof(_progressiveTextBuffer) - strlen(_progressiveTextBuffer) - 1); // not 100% accurate
-		printText8PrepareBufferVar2++;
+		spaceCharCount++;
 
 		lineBreakX += wordSize.inPixel + _dialCharSpace;
 		if (*_progressiveTextNextWord != '\0') {
@@ -436,15 +436,16 @@ void Text::processTextLine() {
 		break;
 	}
 
-	if (printText8PrepareBufferVar2 > 0) {
-		printText8PrepareBufferVar2--;
+	if (spaceCharCount > 0) {
+		spaceCharCount--;
 	}
 
-	if (*_progressiveTextNextWord != '\0' && var4) {
-		if (printText8PrepareBufferVar2 <= 0) {
-			printText8PrepareBufferVar2 = 1;
+	if (*_progressiveTextNextWord != '\0' && moreWordsFollowing) {
+		if (spaceCharCount <= 0) {
+			spaceCharCount = 1;
 		}
-		_dialCharSpace += (_dialTextBoxMaxX - lineBreakX) / printText8PrepareBufferVar2;
+		// split the remaining space between the words
+		_dialCharSpace += (_dialTextBoxMaxX - lineBreakX) / spaceCharCount;
 		printText10Var1 = -2 * lineBreakX;
 	}
 
diff --git a/engines/twine/text.h b/engines/twine/text.h
index c1636e134d..ef6752f120 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -196,7 +196,7 @@ private:
 
 	/** Pixel size between dialogue text */
 	int32 _dialSpaceBetween = 0;
-	/** Pixel size of the space character */
+	/** Pixel size of the space character - recalculated per per line */
 	int32 _dialCharSpace = 0;
 	/** Dialogue text color */
 	int32 _dialTextColor = 0;


Commit: 6c24e0de983d51d9f50a7419a9434fabb479ac84
    https://github.com/scummvm/scummvm/commit/6c24e0de983d51d9f50a7419a9434fabb479ac84
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2020-12-15T23:12:36+01:00

Commit Message:
TWINE: fixed typo in enum name

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


diff --git a/engines/twine/gamestate.cpp b/engines/twine/gamestate.cpp
index 41df51c94d..6f793769a9 100644
--- a/engines/twine/gamestate.cpp
+++ b/engines/twine/gamestate.cpp
@@ -314,7 +314,7 @@ void GameState::processFoundItem(int32 item) {
 	_engine->_text->initText(item);
 	_engine->_text->initDialogueBox();
 
-	ProgressiveTestState textState = ProgressiveTestState::UNK1;
+	ProgressiveTextState textState = ProgressiveTextState::UNK1;
 	bool quitItem = false;
 
 	_engine->_text->initVoxToPlay(item);
@@ -360,12 +360,12 @@ void GameState::processFoundItem(int32 item) {
 		_engine->_grid->drawOverModelActor(itemX, itemY, itemZ);
 		_engine->_redraw->addRedrawArea(_engine->_redraw->renderRect);
 
-		if (textState != ProgressiveTestState::UNK0) {
+		if (textState != ProgressiveTextState::End) {
 			_engine->_interface->resetClip();
 			textState = _engine->_text->updateProgressiveText();
 		}
 
-		if (textState == ProgressiveTestState::UNK0 || textState == ProgressiveTestState::UNK2) {
+		if (textState == ProgressiveTextState::End || textState == ProgressiveTextState::UNK2) {
 			_engine->_system->delayMillis(15);
 		}
 
@@ -373,12 +373,12 @@ void GameState::processFoundItem(int32 item) {
 
 		_engine->readKeys();
 		if (_engine->_input->toggleAbortAction()) {
-			if (textState == ProgressiveTestState::UNK0) {
+			if (textState == ProgressiveTextState::End) {
 				quitItem = true;
 			}
 
-			if (textState == ProgressiveTestState::UNK2) {
-				textState = ProgressiveTestState::UNK1;
+			if (textState == ProgressiveTextState::UNK2) {
+				textState = ProgressiveTextState::UNK1;
 			}
 		}
 
diff --git a/engines/twine/menu.cpp b/engines/twine/menu.cpp
index b4540b421c..971399475a 100644
--- a/engines/twine/menu.cpp
+++ b/engines/twine/menu.cpp
@@ -1108,7 +1108,7 @@ void Menu::processInventoryMenu() {
 	_engine->_text->setFontCrossColor(4);
 	_engine->_text->initDialogueBox();
 
-	ProgressiveTestState bx = ProgressiveTestState::UNK0;
+	ProgressiveTextState bx = ProgressiveTextState::End;
 
 #if 0
 	ScopedCursor scopedCursor(_engine);
@@ -1167,19 +1167,19 @@ void Menu::processInventoryMenu() {
 			updateItemText = false;
 		}
 
-		if (updateItemText || bx != ProgressiveTestState::UNK2) {
+		if (updateItemText || bx != ProgressiveTextState::UNK2) {
 			bx = _engine->_text->updateProgressiveText();
 		}
 
 		// TRICKY: 3D model rotation delay - only apply when no text is drawing
-		if (bx == ProgressiveTestState::UNK0 || bx == ProgressiveTestState::UNK2) {
+		if (bx == ProgressiveTextState::End || bx == ProgressiveTextState::UNK2) {
 			_engine->_system->delayMillis(15);
 		}
 
 		if (_engine->_input->toggleActionIfActive(TwinEActionType::UINextPage)) {
-			if (bx == ProgressiveTestState::UNK2) {
+			if (bx == ProgressiveTextState::UNK2) {
 				_engine->_text->initInventoryDialogueBox();
-				bx = ProgressiveTestState::UNK0;
+				bx = ProgressiveTextState::End;
 			} else {
 				if (inventorySelectedItem < NUM_INVENTORY_ITEMS && _engine->_gameState->hasItem((InventoryItems)inventorySelectedItem) && !_engine->_gameState->inventoryDisabled()) {
 					_engine->_text->initInventoryDialogueBox();
diff --git a/engines/twine/text.cpp b/engines/twine/text.cpp
index b0a6ca8e2f..b77dbdefd3 100644
--- a/engines/twine/text.cpp
+++ b/engines/twine/text.cpp
@@ -511,9 +511,9 @@ int32 Text::getCharHeight(uint8 chr) const {
 }
 
 // TODO: refactor this code
-ProgressiveTestState Text::updateProgressiveText() {
+ProgressiveTextState Text::updateProgressiveText() {
 	if (!_hasValidTextHandle) {
-		return ProgressiveTestState::UNK0;
+		return ProgressiveTextState::End;
 	}
 
 	if (*_progressiveTextBufferPtr == '\0') {
@@ -522,7 +522,7 @@ ProgressiveTestState Text::updateProgressiveText() {
 				renderContinueReadingTriangle();
 			}
 			_hasValidTextHandle = false;
-			return ProgressiveTestState::UNK0;
+			return ProgressiveTextState::End;
 		}
 		if (_progressiveTextNextPage) {
 			_engine->_interface->blitBox(_dialTextBox, _engine->workVideoBuffer, _engine->frontVideoBuffer);
@@ -535,14 +535,14 @@ ProgressiveTestState Text::updateProgressiveText() {
 		if (*_progressiveTextNextWord == '\0') {
 			initProgressiveTextBuffer();
 			_progressiveTextEnd = true;
-			return ProgressiveTestState::UNK1;
+			return ProgressiveTextState::UNK1;
 		}
 		processTextLine();
 	}
 
 	// RECHECK this later
 	if (*_progressiveTextBufferPtr == '\0') {
-		return ProgressiveTestState::UNK1;
+		return ProgressiveTextState::UNK1;
 	}
 
 	fillFadeInBuffer(_dialTextXPos, _dialTextYPos, *_progressiveTextBufferPtr);
@@ -563,7 +563,7 @@ ProgressiveTestState Text::updateProgressiveText() {
 	_progressiveTextBufferPtr++;
 
 	if (*_progressiveTextBufferPtr != '\0') {
-		return ProgressiveTestState::UNK1;
+		return ProgressiveTextState::UNK1;
 	}
 
 	const int32 lineHeight = 38;
@@ -572,12 +572,12 @@ ProgressiveTestState Text::updateProgressiveText() {
 
 	if (_progressiveTextNextPage && !_progressiveTextEnd) {
 		renderContinueReadingTriangle();
-		return ProgressiveTestState::UNK2;
+		return ProgressiveTextState::UNK2;
 	}
 
 	_dialTextBoxCurrentLine++;
 	if (_dialTextBoxCurrentLine < _dialTextBoxLines) {
-		return ProgressiveTestState::UNK1;
+		return ProgressiveTextState::UNK1;
 	}
 
 	initProgressiveTextBuffer();
@@ -587,7 +587,7 @@ ProgressiveTestState Text::updateProgressiveText() {
 		_progressiveTextEnd = true;
 	}
 
-	return ProgressiveTestState::UNK1;
+	return ProgressiveTextState::UNK1;
 }
 
 // TODO: refactor this code
@@ -607,13 +607,13 @@ bool Text::drawTextFullscreen(int32 index) {
 		initText(index);
 		initDialogueBox();
 
-		ProgressiveTestState printedText;
+		ProgressiveTextState printedText;
 		for (;;) {
 			_engine->readKeys();
 			printedText = updateProgressiveText();
 			playVox(currDialTextEntry);
 
-			if (printedText == ProgressiveTestState::UNK0 && !_engine->_sound->isSamplePlaying(currDialTextEntry)) {
+			if (printedText == ProgressiveTextState::End && !_engine->_sound->isSamplePlaying(currDialTextEntry)) {
 				break;
 			}
 
@@ -627,7 +627,7 @@ bool Text::drawTextFullscreen(int32 index) {
 
 		_hasValidTextHandle = false;
 
-		if (printedText == ProgressiveTestState::UNK0) {
+		if (printedText == ProgressiveTextState::End) {
 			stopVox(currDialTextEntry);
 			// wait displaying text
 			for (;;) {
@@ -773,12 +773,12 @@ void Text::drawAskQuestion(int32 index) {
 	initText(index);
 	initDialogueBox();
 
-	ProgressiveTestState textStatus = ProgressiveTestState::UNK1;
+	ProgressiveTextState textStatus = ProgressiveTextState::UNK1;
 	do {
 		_engine->readKeys();
 		textStatus = updateProgressiveText();
 
-		if (textStatus == ProgressiveTestState::UNK2) {
+		if (textStatus == ProgressiveTextState::UNK2) {
 			do {
 				_engine->readKeys();
 				if (_engine->shouldQuit()) {
@@ -792,7 +792,7 @@ void Text::drawAskQuestion(int32 index) {
 		}
 
 		_engine->_system->delayMillis(1);
-	} while (textStatus != ProgressiveTestState::UNK0);
+	} while (textStatus != ProgressiveTextState::End);
 
 	while (playVoxSimple(currDialTextEntry)) {
 		if (_engine->shouldQuit() || _engine->_input->toggleAbortAction()) {
diff --git a/engines/twine/text.h b/engines/twine/text.h
index ef6752f120..f40762aeb3 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -101,8 +101,8 @@ enum _TextId {
 
 #define TEXT_MAX_FADE_IN_CHR 32
 
-enum class ProgressiveTestState {
-	UNK0 = 0,
+enum class ProgressiveTextState {
+	End = 0,
 	UNK1 = 1,
 	UNK2 = 2
 };
@@ -265,7 +265,7 @@ public:
 	void initInventoryDialogueBox();
 
 	void initText(int32 index);
-	ProgressiveTestState updateProgressiveText();
+	ProgressiveTextState updateProgressiveText();
 
 	/**
 	 * Set font type parameters




More information about the Scummvm-git-logs mailing list