aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins
diff options
context:
space:
mode:
authorStrangerke2013-05-04 09:57:40 +0200
committerStrangerke2013-05-04 09:57:40 +0200
commitf286ae8f0757c9d645bfc29c424479829c12245b (patch)
tree2419ece9a92052c59cf091f43ef4a00b26a81172 /engines/hopkins
parent874b96b409ae32d881635c960c1790434b2793da (diff)
downloadscummvm-rg350-f286ae8f0757c9d645bfc29c424479829c12245b.tar.gz
scummvm-rg350-f286ae8f0757c9d645bfc29c424479829c12245b.tar.bz2
scummvm-rg350-f286ae8f0757c9d645bfc29c424479829c12245b.zip
HOPKINS: Fix bug #3612482 - ending credits issues
Diffstat (limited to 'engines/hopkins')
-rw-r--r--engines/hopkins/font.cpp1
-rw-r--r--engines/hopkins/hopkins.cpp5
2 files changed, 4 insertions, 2 deletions
diff --git a/engines/hopkins/font.cpp b/engines/hopkins/font.cpp
index 611327e9a8..ac0eee2866 100644
--- a/engines/hopkins/font.cpp
+++ b/engines/hopkins/font.cpp
@@ -433,6 +433,7 @@ void FontManager::displayText(int xp, int yp, const Common::String &message, int
if (currentChar > 31) {
int characterIndex = currentChar - 32;
_vm->_graphicsMan->displayFont(_vm->_graphicsMan->_frontBuffer, _font, xp, yp, characterIndex, col);
+ _vm->_graphicsMan->addDirtyRect(xp, yp, xp + _vm->_objectsMan->getWidth(_font, characterIndex) + 1, yp + _vm->_objectsMan->getHeight(_font, characterIndex) + 1);
xp += _vm->_objectsMan->getWidth(_font, characterIndex);
}
}
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index a778b84b88..83d0bdf030 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -2443,13 +2443,14 @@ void HopkinsEngine::displayCredits() {
_globals->_eventMode = EVENTMODE_CREDITS;
_globals->_creditsStartX = _globals->_creditsEndX = _globals->_creditsStartY = _globals->_creditsEndY = -1;
int soundId = 28;
+
do {
for (int i = 0; i < _globals->_creditsLineNumb; ++i) {
if (_globals->_creditsItem[i]._actvFl) {
int nextY = _globals->_creditsPosY + i * _globals->_creditsStep;
_globals->_creditsItem[i]._linePosY = nextY;
- if ((nextY - 21 >= 0) && (nextY - 21 <= 418)) {
+ if ((nextY >= 51) && (nextY <= 460)) {
int col = 0;
switch (_globals->_creditsItem[i]._color) {
case '1':
@@ -2474,7 +2475,7 @@ void HopkinsEngine::displayCredits() {
--_globals->_creditsPosY;
if (_globals->_creditsStartX != -1 || _globals->_creditsEndX != -1 || _globals->_creditsStartY != -1 || _globals->_creditsEndY != -1) {
_events->refreshScreenAndEvents();
- _graphicsMan->copySurface(_graphicsMan->_backBuffer, 60, 50, 520, 380, _graphicsMan->_frontBuffer, 60, 50);
+ _graphicsMan->copySurface(_graphicsMan->_backBuffer, 60, 50, 520, 430, _graphicsMan->_frontBuffer, 60, 50);
} else {
_events->refreshScreenAndEvents();
}