aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/screen.cpp3
-rw-r--r--engines/kyra/sequences_lok.cpp16
2 files changed, 9 insertions, 10 deletions
diff --git a/engines/kyra/screen.cpp b/engines/kyra/screen.cpp
index 73a3e675e8..f5570acd72 100644
--- a/engines/kyra/screen.cpp
+++ b/engines/kyra/screen.cpp
@@ -1253,8 +1253,7 @@ void Screen::drawShape(uint8 pageNum, const uint8 *shapeData, int x, int y, int
}
if (flags & 0x200) {
- ++_drawShapeVar1;
- _drawShapeVar1 &= (_vm->gameFlags().gameID == GI_KYRA1) ? 0x7 : 0xF;
+ _drawShapeVar1 = (_drawShapeVar1 + 1) & 0x7;
_drawShapeVar3 = drawShapeVar2[_drawShapeVar1];
_drawShapeVar4 = 0;
_drawShapeVar5 = 256;
diff --git a/engines/kyra/sequences_lok.cpp b/engines/kyra/sequences_lok.cpp
index 35f434698b..d2ef351767 100644
--- a/engines/kyra/sequences_lok.cpp
+++ b/engines/kyra/sequences_lok.cpp
@@ -1134,6 +1134,11 @@ void KyraEngine_LoK::seq_playEnding() {
_seqPlayerFlag = false;
_screen->showMouse();
+
+ // To avoid any remaining input events, we remove the queue
+ // over here.
+ _eventList.clear();
+
if (_flags.platform == Common::kPlatformAmiga) {
_screen->_charWidth = -2;
_screen->setCurPage(2);
@@ -1354,15 +1359,12 @@ void KyraEngine_LoK::seq_playCreditsAmiga() {
}
int size = 0;
- const uint8 *bufferTmp = _staticres->loadRawData(k1CreditsStrings, size);
- char *buffer = new char[size];
- assert(buffer);
- memcpy(buffer, bufferTmp, size);
+ const char *creditsData = (const char *)_staticres->loadRawData(k1CreditsStrings, size);
char stringBuffer[81];
memset(stringBuffer, 0, sizeof(stringBuffer));
- char *cur = buffer;
+ const char *cur = creditsData;
char *specialString = stringBuffer;
bool fillRectFlag = false, subWidth = false, centerFlag = false;
x = 0;
@@ -1424,9 +1426,7 @@ void KyraEngine_LoK::seq_playCreditsAmiga() {
removeInputTop();
break;
}
- } while (++cur != buffer + size && !shouldQuit());
-
- delete[] buffer;
+ } while (++cur != (creditsData + size) && !shouldQuit());
}
bool KyraEngine_LoK::seq_skipSequence() const {