From 0dd760724e37b70bfaade2c34c12e34fab4d4b71 Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Tue, 29 Dec 2015 01:44:11 +0100 Subject: SCI32: split up SCI2.1 into EARLY/MIDDLE/LATE - Detection works via signatures (couldn't find a better way) - new kString subcalls were introduced SCI2.1 LATE - kString now has signatures and is split via subcall table - kString fix, so that KQ7 doesn't crash, when starting a chapter - Sci2StringFunctionType removed, because no longer needed --- engines/sci/graphics/compare.cpp | 4 ++-- engines/sci/graphics/frameout.cpp | 4 ++-- engines/sci/graphics/view.cpp | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'engines/sci/graphics') diff --git a/engines/sci/graphics/compare.cpp b/engines/sci/graphics/compare.cpp index 3c2285a470..716a366b7c 100644 --- a/engines/sci/graphics/compare.cpp +++ b/engines/sci/graphics/compare.cpp @@ -130,7 +130,7 @@ void GfxCompare::kernelSetNowSeen(reg_t objectReference) { #ifdef ENABLE_SCI32 if (view->isSci2Hires()) view->adjustToUpscaledCoordinates(y, x); - else if (getSciVersion() == SCI_VERSION_2_1) + else if ((getSciVersion() >= SCI_VERSION_2_1_EARLY) && (getSciVersion() <= SCI_VERSION_2_1_LATE)) _coordAdjuster->fromScriptToDisplay(y, x); #endif @@ -140,7 +140,7 @@ void GfxCompare::kernelSetNowSeen(reg_t objectReference) { if (view->isSci2Hires()) { view->adjustBackUpscaledCoordinates(celRect.top, celRect.left); view->adjustBackUpscaledCoordinates(celRect.bottom, celRect.right); - } else if (getSciVersion() == SCI_VERSION_2_1) { + } else if ((getSciVersion() >= SCI_VERSION_2_1_EARLY) && (getSciVersion() <= SCI_VERSION_2_1_LATE)) { _coordAdjuster->fromDisplayToScript(celRect.top, celRect.left); _coordAdjuster->fromDisplayToScript(celRect.bottom, celRect.right); } diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index ccc362dc37..9628e8ac97 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -727,7 +727,7 @@ void GfxFrameout::kernelFrameout() { if (view && view->isSci2Hires()) { view->adjustToUpscaledCoordinates(itemEntry->y, itemEntry->x); view->adjustToUpscaledCoordinates(itemEntry->z, dummyX); - } else if (getSciVersion() >= SCI_VERSION_2_1) { + } else if (getSciVersion() >= SCI_VERSION_2_1_EARLY) { _coordAdjuster->fromScriptToDisplay(itemEntry->y, itemEntry->x); _coordAdjuster->fromScriptToDisplay(itemEntry->z, dummyX); } @@ -782,7 +782,7 @@ void GfxFrameout::kernelFrameout() { view->adjustBackUpscaledCoordinates(nsRect.top, nsRect.left); view->adjustBackUpscaledCoordinates(nsRect.bottom, nsRect.right); g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect); - } else if (getSciVersion() >= SCI_VERSION_2_1 && _resMan->detectHires()) { + } else if (getSciVersion() >= SCI_VERSION_2_1_EARLY && _resMan->detectHires()) { _coordAdjuster->fromDisplayToScript(nsRect.top, nsRect.left); _coordAdjuster->fromDisplayToScript(nsRect.bottom, nsRect.right); g_sci->_gfxCompare->setNSRect(itemEntry->object, nsRect); diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index da61ecf4c3..2ee18b5c9a 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -356,7 +356,7 @@ void GfxView::initData(GuiResourceId resourceId) { for (loopNo = 0; loopNo < _loopCount; loopNo++) for (celNo = 0; celNo < _loop[loopNo].celCount; celNo++) _screen->adjustBackUpscaledCoordinates(_loop[loopNo].cel[celNo].scriptWidth, _loop[loopNo].cel[celNo].scriptHeight, _sci2ScaleRes); - } else if (getSciVersion() == SCI_VERSION_2_1) { + } else if ((getSciVersion() >= SCI_VERSION_2_1_EARLY) && (getSciVersion() <= SCI_VERSION_2_1_LATE)) { for (loopNo = 0; loopNo < _loopCount; loopNo++) for (celNo = 0; celNo < _loop[loopNo].celCount; celNo++) _coordAdjuster->fromDisplayToScript(_loop[loopNo].cel[celNo].scriptHeight, _loop[loopNo].cel[celNo].scriptWidth); -- cgit v1.2.3