[Scummvm-git-logs] scummvm master -> e2da11293491e1da73400ee8b8af8fd917771bf6
athrxx
noreply at scummvm.org
Wed Mar 16 18:51:04 UTC 2022
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e2da112934 SCUMM: (INDYZAK/FM-TOWNS) - fix scrolling for the demo
Commit: e2da11293491e1da73400ee8b8af8fd917771bf6
https://github.com/scummvm/scummvm/commit/e2da11293491e1da73400ee8b8af8fd917771bf6
Author: athrxx (athrxx at scummvm.org)
Date: 2022-03-16T19:50:20+01:00
Commit Message:
SCUMM: (INDYZAK/FM-TOWNS) - fix scrolling for the demo
The demo scrolling is not yet as refined as in the final products. An adjustment to the timing that was made for the final products is not present in the demo. This adjustment will actually make the scrolling more sloppy in the demo (due to different scumm timer parameters set by the scripts) , so I disable it here.
Please note that the scrolling still won't be as smooth as it is in the final products. This is the same when viewing the demo in an emulator, though (I actually think it is slightly better in ScummVM). It is probably the reason why they made the change for the final products.
Changed paths:
engines/scumm/gfx_towns.cpp
engines/scumm/scumm.cpp
engines/scumm/scumm.h
diff --git a/engines/scumm/gfx_towns.cpp b/engines/scumm/gfx_towns.cpp
index 4e8e7d3a987..7375b48b390 100644
--- a/engines/scumm/gfx_towns.cpp
+++ b/engines/scumm/gfx_towns.cpp
@@ -203,7 +203,7 @@ void ScummEngine::towns_updateGfx() {
_scrollTimer = cur;
_scrollTimer += 1000 / 60;
_townsScreen->scrollLayers(1, _scrollRequest);
- if (_townsScreen->isScrolling(0))
+ if (_scrollNeedDeltaAdjust && _townsScreen->isScrolling(0))
_scrollDeltaAdjust++;
_scrollRequest = 0;
if (!_refreshNeedCatchUp)
diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp
index 0b2ee081b46..6793d71383d 100644
--- a/engines/scumm/scumm.cpp
+++ b/engines/scumm/scumm.cpp
@@ -286,6 +286,7 @@ ScummEngine::ScummEngine(OSystem *syst, const DetectorResult &dr)
_townsScreen = nullptr;
_scrollRequest = _scrollDeltaAdjust = 0;
_scrollDestOffset = _scrollTimer = 0;
+ _scrollNeedDeltaAdjust = scumm_stricmp(_game.gameid, "indyzak");
_refreshNeedCatchUp = false;
_enableSmoothScrolling = (_game.platform == Common::kPlatformFMTowns);
memset(_refreshDuration, 0, sizeof(_refreshDuration));
diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h
index dae2e6109dd..b04e209035c 100644
--- a/engines/scumm/scumm.h
+++ b/engines/scumm/scumm.h
@@ -1397,6 +1397,7 @@ protected:
int _numCyclRects;
int _scrollRequest;
int _scrollDeltaAdjust;
+ bool _scrollNeedDeltaAdjust;
int _refreshDuration[20];
int _refreshArrayPos;
bool _refreshNeedCatchUp;
More information about the Scummvm-git-logs
mailing list