[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