[Scummvm-cvs-logs] scummvm master -> eec95957bf499b5e7d7bea46c1ca112b533a2bfa

csnover csnover at users.noreply.github.com
Sun Mar 20 15:35:09 CET 2016


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
9335e40997 SCI32: Use signed values for displacement position
37b8bd9404 SCI32: Do not change accumulator in non-returning kernel calls
f4e5c6d2de SCI32: Return correct value from kSetFontHeight
eec95957bf SCI32: Clean up outdated/wrong comments


Commit: 9335e40997058ae73a11f4187de971eecc802036
    https://github.com/scummvm/scummvm/commit/9335e40997058ae73a11f4187de971eecc802036
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-03-20T09:12:43-05:00

Commit Message:
SCI32: Use signed values for displacement position

Changed paths:
    engines/sci/engine/kgraphics32.cpp



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 30cae5d..7ab8a64 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -658,9 +658,7 @@ reg_t kBitmapInvert(EngineState *s, int argc, reg_t *argv) {
 
 reg_t kBitmapSetDisplace(EngineState *s, int argc, reg_t *argv) {
 	BitmapResource bitmap(argv[0]);
-	Common::Point newPos(argv[1].toUint16(), argv[2].toUint16());
-	bitmap.setDisplace(newPos);
-
+	bitmap.setDisplace(Common::Point(argv[1].toSint16(), argv[2].toSint16()));
 	return s->r_acc;
 }
 


Commit: 37b8bd9404e267bedbbdef171faac5d33c04176b
    https://github.com/scummvm/scummvm/commit/37b8bd9404e267bedbbdef171faac5d33c04176b
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-03-20T09:31:28-05:00

Commit Message:
SCI32: Do not change accumulator in non-returning kernel calls

This did not cause any known bugs, but is wrong according to the
way the actual engine works.

Changed paths:
    engines/sci/engine/kgraphics32.cpp



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 7ab8a64..1f438c0 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -74,19 +74,19 @@ reg_t kIsHiRes(EngineState *s, int argc, reg_t *argv) {
 reg_t kAddScreenItem(EngineState *s, int argc, reg_t *argv) {
 	debugC(6, kDebugLevelGraphics, "kAddScreenItem %x:%x (%s)", PRINT_REG(argv[0]), s->_segMan->getObjectName(argv[0]));
 	g_sci->_gfxFrameout->kernelAddScreenItem(argv[0]);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kUpdateScreenItem(EngineState *s, int argc, reg_t *argv) {
 	debugC(7, kDebugLevelGraphics, "kUpdateScreenItem %x:%x (%s)", PRINT_REG(argv[0]), s->_segMan->getObjectName(argv[0]));
 	g_sci->_gfxFrameout->kernelUpdateScreenItem(argv[0]);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kDeleteScreenItem(EngineState *s, int argc, reg_t *argv) {
 	debugC(6, kDebugLevelGraphics, "kDeleteScreenItem %x:%x (%s)", PRINT_REG(argv[0]), s->_segMan->getObjectName(argv[0]));
 	g_sci->_gfxFrameout->kernelDeleteScreenItem(argv[0]);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kAddPlane(EngineState *s, int argc, reg_t *argv) {
@@ -114,7 +114,7 @@ reg_t kMovePlaneItems(EngineState *s, int argc, reg_t *argv) {
 	const bool scrollPics = argc > 3 ? argv[3].toUint16() : false;
 
 	g_sci->_gfxFrameout->kernelMovePlaneItems(plane, deltaX, deltaY, scrollPics);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kAddPicAt(EngineState *s, int argc, reg_t *argv) {
@@ -125,7 +125,7 @@ reg_t kAddPicAt(EngineState *s, int argc, reg_t *argv) {
 	bool mirrorX = argc > 4 ? argv[4].toSint16() : false;
 
 	g_sci->_gfxFrameout->kernelAddPicAt(planeObj, pictureId, x, y, mirrorX);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kGetHighPlanePri(EngineState *s, int argc, reg_t *argv) {
@@ -137,12 +137,12 @@ reg_t kFrameOut(EngineState *s, int argc, reg_t *argv) {
 	g_sci->_gfxFrameout->kernelFrameOut(showBits);
 	s->speedThrottler(16);
 	s->_throttleTrigger = true;
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kSetPalStyleRange(EngineState *s, int argc, reg_t *argv) {
 	g_sci->_gfxFrameout->kernelSetPalStyleRange(argv[0].toUint16(), argv[1].toUint16());
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kObjectIntersect(EngineState *s, int argc, reg_t *argv) {
@@ -228,7 +228,7 @@ reg_t kTextSize32(EngineState *s, int argc, reg_t *argv) {
 	rect[1] = make_reg(0, textRect.top);
 	rect[2] = make_reg(0, textRect.right - 1);
 	rect[3] = make_reg(0, textRect.bottom - 1);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kTextWidth(EngineState *s, int argc, reg_t *argv) {
@@ -307,7 +307,7 @@ reg_t kSetShowStyle(EngineState *s, int argc, reg_t *argv) {
 	// on the KernelMgr
 	g_sci->_gfxFrameout->kernelSetShowStyle(argc, planeObj, type, seconds, back, priority, animate, refFrame, pFadeArray, divisions, blackScreen);
 
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kCelHigh32(EngineState *s, int argc, reg_t *argv) {
@@ -513,7 +513,7 @@ reg_t kSetFontHeight(EngineState *s, int argc, reg_t *argv) {
 reg_t kSetFontRes(EngineState *s, int argc, reg_t *argv) {
 	g_sci->_gfxText32->_scaledWidth = argv[0].toUint16();
 	g_sci->_gfxText32->_scaledHeight = argv[1].toUint16();
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kBitmap(EngineState *s, int argc, reg_t *argv) {
@@ -538,7 +538,7 @@ reg_t kBitmapCreate(EngineState *s, int argc, reg_t *argv) {
 
 reg_t kBitmapDestroy(EngineState *s, int argc, reg_t *argv) {
 	s->_segMan->freeHunkEntry(argv[0]);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kBitmapDrawLine(EngineState *s, int argc, reg_t *argv) {
@@ -623,7 +623,7 @@ reg_t kBitmapDrawText(EngineState *s, int argc, reg_t *argv) {
 	textCel.draw(bitmapBuffer, textRect, Common::Point(textRect.left, textRect.top), false);
 	s->_segMan->freeHunkEntry(textBitmapObject);
 
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kBitmapDrawColor(EngineState *s, int argc, reg_t *argv) {
@@ -641,7 +641,7 @@ reg_t kBitmapDrawColor(EngineState *s, int argc, reg_t *argv) {
 
 	Buffer buffer(bitmap.getWidth(), bitmap.getHeight(), bitmap.getPixels());
 	buffer.fillRect(fillRect, argv[5].toSint16());
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kBitmapDrawBitmap(EngineState *s, int argc, reg_t *argv) {
@@ -773,7 +773,7 @@ reg_t kSetScroll(EngineState *s, int argc, reg_t *argv) {
 // Used by SQ6, script 900, the datacorder reprogramming puzzle (from room 270)
 reg_t kMorphOn(EngineState *s, int argc, reg_t *argv) {
 	g_sci->_gfxFrameout->_palMorphIsOn = true;
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPaletteSetFade(EngineState *s, int argc, reg_t *argv) {
@@ -781,7 +781,7 @@ reg_t kPaletteSetFade(EngineState *s, int argc, reg_t *argv) {
 	uint16 toColor = argv[1].toUint16();
 	uint16 percent = argv[2].toUint16();
 	g_sci->_gfxPalette32->setFade(percent, fromColor, toColor);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPalVarySetVary(EngineState *s, int argc, reg_t *argv) {
@@ -799,7 +799,7 @@ reg_t kPalVarySetVary(EngineState *s, int argc, reg_t *argv) {
 	}
 
 	g_sci->_gfxPalette32->kernelPalVarySet(paletteId, percent, time, fromColor, toColor);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPalVarySetPercent(EngineState *s, int argc, reg_t *argv) {
@@ -810,7 +810,7 @@ reg_t kPalVarySetPercent(EngineState *s, int argc, reg_t *argv) {
 	// (during the sunset/sunrise sequence, the parameter is 1)
 
 	g_sci->_gfxPalette32->setVaryPercent(percent, time, -1, -1);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPalVaryGetPercent(EngineState *s, int argc, reg_t *argv) {
@@ -819,7 +819,7 @@ reg_t kPalVaryGetPercent(EngineState *s, int argc, reg_t *argv) {
 
 reg_t kPalVaryOff(EngineState *s, int argc, reg_t *argv) {
 	g_sci->_gfxPalette32->varyOff();
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPalVaryMergeTarget(EngineState *s, int argc, reg_t *argv) {
@@ -831,7 +831,7 @@ reg_t kPalVaryMergeTarget(EngineState *s, int argc, reg_t *argv) {
 reg_t kPalVarySetTime(EngineState *s, int argc, reg_t *argv) {
 	int time = argv[0].toSint16() * 60;
 	g_sci->_gfxPalette32->setVaryTime(time);
-	return NULL_REG;
+	return s->r_acc;
 }
 
 reg_t kPalVarySetTarget(EngineState *s, int argc, reg_t *argv) {


Commit: f4e5c6d2deb7d369c8ca3942cee48fd99a4ce54d
    https://github.com/scummvm/scummvm/commit/f4e5c6d2deb7d369c8ca3942cee48fd99a4ce54d
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-03-20T09:32:53-05:00

Commit Message:
SCI32: Return correct value from kSetFontHeight

Changed paths:
    engines/sci/engine/kgraphics32.cpp



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 1f438c0..1fd5ce9 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -507,7 +507,7 @@ reg_t kSetFontHeight(EngineState *s, int argc, reg_t *argv) {
 	// which case we could just get the font directly ourselves.
 	g_sci->_gfxText32->setFont(argv[0].toUint16());
 	g_sci->_gfxText32->_scaledHeight = (g_sci->_gfxText32->_font->getHeight() * g_sci->_gfxFrameout->getCurrentBuffer().scriptHeight + g_sci->_gfxText32->_scaledHeight - 1) / g_sci->_gfxText32->_scaledHeight;
-	return NULL_REG;
+	return make_reg(0, g_sci->_gfxText32->_scaledHeight);
 }
 
 reg_t kSetFontRes(EngineState *s, int argc, reg_t *argv) {


Commit: eec95957bf499b5e7d7bea46c1ca112b533a2bfa
    https://github.com/scummvm/scummvm/commit/eec95957bf499b5e7d7bea46c1ca112b533a2bfa
Author: Colin Snover (github.com at zetafleet.com)
Date: 2016-03-20T09:33:13-05:00

Commit Message:
SCI32: Clean up outdated/wrong comments

Changed paths:
    engines/sci/engine/kgraphics32.cpp



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 1fd5ce9..7850a10 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -592,7 +592,6 @@ reg_t kBitmapDrawView(EngineState *s, int argc, reg_t *argv) {
 reg_t kBitmapDrawText(EngineState *s, int argc, reg_t *argv) {
 	// called e.g. from TextButton::createBitmap() in Torin's Passage, script 64894
 
-	// bitmap, text, textLeft, textTop, textRight, textBottom, foreColor, backColor, skipColor, fontNo, alignment, borderColor, dimmed
 	BitmapResource bitmap(argv[0]);
 	Common::String text = s->_segMan->getString(argv[1]);
 	Common::Rect textRect(
@@ -627,8 +626,6 @@ reg_t kBitmapDrawText(EngineState *s, int argc, reg_t *argv) {
 }
 
 reg_t kBitmapDrawColor(EngineState *s, int argc, reg_t *argv) {
-	// bitmap, left, top, right, bottom, color
-
 	// called e.g. from TextView::init() and TextView::draw() in Torin's Passage, script 64890
 
 	BitmapResource bitmap(argv[0]);
@@ -805,10 +802,6 @@ reg_t kPalVarySetVary(EngineState *s, int argc, reg_t *argv) {
 reg_t kPalVarySetPercent(EngineState *s, int argc, reg_t *argv) {
 	int time = argc > 0 ? argv[0].toSint16() * 60 : 0;
 	int16 percent = argc > 1 ? argv[1].toSint16() : 0;
-
-	// TODO: GK1 adds a third optional parameter here, at the end of chapter 1
-	// (during the sunset/sunrise sequence, the parameter is 1)
-
 	g_sci->_gfxPalette32->setVaryPercent(percent, time, -1, -1);
 	return s->r_acc;
 }






More information about the Scummvm-git-logs mailing list