[Scummvm-git-logs] scummvm master -> 801d9f288909ea9b2fdfb539c1a20fcc0fefe8f9
aquadran
noreply at scummvm.org
Sun Sep 14 17:35:49 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:
801d9f2889 WINTERMUTE: Import code from wmelite related touch interface mode
Commit: 801d9f288909ea9b2fdfb539c1a20fcc0fefe8f9
https://github.com/scummvm/scummvm/commit/801d9f288909ea9b2fdfb539c1a20fcc0fefe8f9
Author: PaweÅ KoÅodziejski (aquadran at gmail.com)
Date: 2025-09-14T19:35:43+02:00
Commit Message:
WINTERMUTE: Import code from wmelite related touch interface mode
Changed paths:
engines/wintermute/ad/ad_object.cpp
engines/wintermute/ad/ad_response_box.cpp
engines/wintermute/base/base_game.cpp
engines/wintermute/base/base_game.h
engines/wintermute/persistent.h
diff --git a/engines/wintermute/ad/ad_object.cpp b/engines/wintermute/ad/ad_object.cpp
index 8d713496683..33a579d099f 100644
--- a/engines/wintermute/ad/ad_object.cpp
+++ b/engines/wintermute/ad/ad_object.cpp
@@ -944,7 +944,7 @@ void AdObject::talk(const char *text, const char *sound, uint32 duration, const
if (_subtitlesWidth > 0) {
width = _subtitlesWidth;
} else {
- if ((x < _game->_renderer->getWidth() / 4 || x > _game->_renderer->getWidth() * 0.75)) {
+ if ((x < _game->_renderer->getWidth() / 4 || x > _game->_renderer->getWidth() * 0.75) && !_game->_touchInterface) {
width = MAX(_game->_renderer->getWidth() / 4, MIN(x * 2, (_game->_renderer->getWidth() - x) * 2));
} else {
width = _game->_renderer->getWidth() / 2;
diff --git a/engines/wintermute/ad/ad_response_box.cpp b/engines/wintermute/ad/ad_response_box.cpp
index f8d47761b69..8a8e0b62d56 100644
--- a/engines/wintermute/ad/ad_response_box.cpp
+++ b/engines/wintermute/ad/ad_response_box.cpp
@@ -161,6 +161,10 @@ bool AdResponseBox::createButtons() {
btn->_fontPress = btn->_fontHover;
btn->_align = _align;
+ if (_game->_touchInterface) {
+ btn->_fontHover = btn->_font;
+ }
+
if (_responses[i]->_font) {
btn->_font = _responses[i]->_font;
}
@@ -184,6 +188,12 @@ bool AdResponseBox::createButtons() {
btn->setName("response");
btn->correctSize();
+
+ // make the responses touchable
+ if (_game->_touchInterface) {
+ btn->_height = MAX(btn->_height, 50);
+ }
+
//btn->setListener(this, btn, _responses[i]->_id);
btn->setListener(this, btn, i);
btn->_visible = false;
diff --git a/engines/wintermute/base/base_game.cpp b/engines/wintermute/base/base_game.cpp
index 4a3fcfe0ed7..eab96efe44f 100644
--- a/engines/wintermute/base/base_game.cpp
+++ b/engines/wintermute/base/base_game.cpp
@@ -319,6 +319,8 @@ BaseGame::BaseGame(const Common::String &targetName) : BaseObject(this), _target
#ifdef ENABLE_HEROCRAFT
_rndHc = new Common::RandomSource("HeroCraft");
#endif
+
+ _touchInterface = false;
}
@@ -1530,7 +1532,6 @@ bool BaseGame::scCallMethod(ScScript *script, ScStack *stack, ScStack *thisStack
_musicCrossfadeRunning = true;
- // FoxTail:
_musicCrossfadeVolume1 = 0;
_musicCrossfadeVolume2 = 100;
diff --git a/engines/wintermute/base/base_game.h b/engines/wintermute/base/base_game.h
index 458c18c1f4f..a3d47fe4877 100644
--- a/engines/wintermute/base/base_game.h
+++ b/engines/wintermute/base/base_game.h
@@ -423,6 +423,7 @@ public:
bool getBilinearFiltering() { return _bilinearFiltering; }
void addMem(int32 bytes);
+ bool _touchInterface;
bool _bilinearFiltering{};
#ifdef ENABLE_WME3D
bool _force2dRenderer{};
diff --git a/engines/wintermute/persistent.h b/engines/wintermute/persistent.h
index 6ec9163e087..b0bc4890f4d 100644
--- a/engines/wintermute/persistent.h
+++ b/engines/wintermute/persistent.h
@@ -82,7 +82,7 @@ namespace Wintermute {
#define TMEMBER(memberName) #memberName, &memberName
#define TMEMBER_PTR(memberName) #memberName, &memberName
-#define TMEMBER_INT(memberName) #memberName, (int32*)&memberName
+#define TMEMBER_INT(memberName) #memberName, (int32 *)&memberName
} // End of namespace Wintermute
More information about the Scummvm-git-logs
mailing list