[Scummvm-git-logs] scummvm master -> f655ae5daa3708b7ced24e30a26f9f8e672ec8aa
mgerhardy
noreply at scummvm.org
Sun Apr 13 18:12:02 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
f655ae5daa TWINE: the holomap rotation is slow and location interaction is weird
Commit: f655ae5daa3708b7ced24e30a26f9f8e672ec8aa
https://github.com/scummvm/scummvm/commit/f655ae5daa3708b7ced24e30a26f9f8e672ec8aa
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2025-04-13T19:11:36+01:00
Commit Message:
TWINE: the holomap rotation is slow and location interaction is weird
See issue https://bugs.scummvm.org/ticket/15409 and https://bugs.scummvm.org/ticket/12074
Changed paths:
engines/twine/holomap_v1.cpp
engines/twine/holomap_v1.h
engines/twine/text.h
diff --git a/engines/twine/holomap_v1.cpp b/engines/twine/holomap_v1.cpp
index 6daef4931ae..84ab8b9def6 100644
--- a/engines/twine/holomap_v1.cpp
+++ b/engines/twine/holomap_v1.cpp
@@ -690,10 +690,24 @@ void HolomapV1::holoMap() {
}
if (_dialstat) {
- _engine->_text->drawHolomapLocation(_listHoloPos[_current].mess);
+ _engine->_text->normalWinDial();
+ _engine->_text->setFontCrossColor(COLOR_WHITE);
+ _engine->_interface->box(_engine->_text->_dialTextBox, COLOR_BLACK);
+ _engine->saveFrontBuffer();
+ _engine->_text->commonOpenDial(_listHoloPos[_current].mess);
+ _engine->_text->initDialWindow();
+ _textState = ProgressiveTextState::ContinueRunning;
_dialstat = false;
}
+ if (_textState == ProgressiveTextState::ContinueRunning) {
+ _textState = _engine->_text->nextDialChar();
+ if (_textState != ProgressiveTextState::ContinueRunning) {
+ _engine->_text->fadeInRemainingChars();
+ _engine->_text->closeDial();
+ }
+ }
+
++_engine->timerRef;
debugC(3, kDebugLevels::kDebugTimers, "Holomap time: %i", _engine->timerRef);
diff --git a/engines/twine/holomap_v1.h b/engines/twine/holomap_v1.h
index 6c3f1671897..e003c6e59f8 100644
--- a/engines/twine/holomap_v1.h
+++ b/engines/twine/holomap_v1.h
@@ -24,6 +24,7 @@
#include "twine/holomap.h"
#include "twine/shared.h"
+#include "twine/text.h"
#define NUM_HOLOMAPCOLORS 32
#define HOLOMAP_PALETTE_INDEX (12*16)
@@ -111,6 +112,7 @@ public:
bool _flagredraw = false;
bool _dialstat = false;
bool _flagpal = false;
+ ProgressiveTextState _textState = ProgressiveTextState::End;
/**
* Set Holomap location position
diff --git a/engines/twine/text.h b/engines/twine/text.h
index 576ad826500..958efc69a2c 100644
--- a/engines/twine/text.h
+++ b/engines/twine/text.h
@@ -143,20 +143,20 @@ private:
/** Dialogue text buffer size for cross coloring dialogues */
int32 _nbDegrade = 0;
- // Dial_X1, Dial_Y1
- Common::Rect _dialTextBox { 0, 0, 0, 0};
-
int32 _maxLineDial = 0;
int32 _dialMaxSize = 0;
bool _isShiftJIS = false;
bool _isVisualRTL = false;
- bool displayText(TextId index, bool showText, bool playVox, bool loop); // MyDial
public:
Text(TwinEEngine *engine);
~Text();
+ // Dial_X1, Dial_Y1
+ Common::Rect _dialTextBox { 0, 0, 0, 0};
+ bool displayText(TextId index, bool showText, bool playVox, bool loop); // MyDial
+
static const int32 lineHeight = INTER_LINE;
bool _flagRunningDial = false;
More information about the Scummvm-git-logs
mailing list