[Scummvm-git-logs] scummvm master -> c0ab3fa5b92dce85b36eeee5d0096860d4155062

sev- sev at scummvm.org
Sun Jan 12 14:04:23 UTC 2020


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

Summary:
a80af7054b DIRECTOR: LINGO: Added parsing for 'the frameTempo'
c0ab3fa5b9 DIRECTOR: LINGO: Sorted switch() statement in 'the' processing alphabetically


Commit: a80af7054b79d34f2d95333f5afb0a8198b0febf
    https://github.com/scummvm/scummvm/commit/a80af7054b79d34f2d95333f5afb0a8198b0febf
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-12T14:49:26+01:00

Commit Message:
DIRECTOR: LINGO: Added parsing for 'the frameTempo'

Changed paths:
    engines/director/lingo/lingo-the.cpp
    engines/director/lingo/lingo-the.h


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index 79ea2f2..fa152f0 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -59,6 +59,7 @@ TheEntity entities[] = {
 	{ kTheFrameLabel,		"frameLabel",		false, 4 },	//				D4 p
 	{ kTheFrameScript,		"frameScript",		false, 4 },	//				D4 p
 	{ kTheFramePalette,		"framePalette",		false, 4 },	//				D4 p
+	{ kTheFrameTempo,		"frameTempo",		false, 4 },	//				D4 f
 	{ kTheFreeBlock,		"freeBlock",		false, 2 },	// D2 f
 	{ kTheFreeBytes,		"freeBytes",		false, 2 },	// D2 f
 	{ kTheFullColorPermit,	"fullColorPermit",	false, 2 },	// D2 p
diff --git a/engines/director/lingo/lingo-the.h b/engines/director/lingo/lingo-the.h
index 9857adb..5539312 100644
--- a/engines/director/lingo/lingo-the.h
+++ b/engines/director/lingo/lingo-the.h
@@ -53,6 +53,7 @@ enum TheEntityType {
 	kTheFrameLabel,
 	kTheFramePalette,
 	kTheFrameScript,
+	kTheFrameTempo,
 	kTheFreeBlock,
 	kTheFreeBytes,
 	kTheFullColorPermit,


Commit: c0ab3fa5b92dce85b36eeee5d0096860d4155062
    https://github.com/scummvm/scummvm/commit/c0ab3fa5b92dce85b36eeee5d0096860d4155062
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2020-01-12T15:03:50+01:00

Commit Message:
DIRECTOR: LINGO: Sorted switch() statement in 'the' processing alphabetically

Changed paths:
    engines/director/lingo/lingo-the.cpp


diff --git a/engines/director/lingo/lingo-the.cpp b/engines/director/lingo/lingo-the.cpp
index fa152f0..2f24f3f 100644
--- a/engines/director/lingo/lingo-the.cpp
+++ b/engines/director/lingo/lingo-the.cpp
@@ -288,166 +288,29 @@ void Lingo::initTheEntities() {
 	}
 }
 
-void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
-	switch (entity) {
-	case kTheSprite:
-		setTheSprite(id, field, d);
-		break;
-	case kThePerFrameHook:
-		warning("STUB: Lingo::setTheEntity(): setting the perframehook");
-		break;
-	case kTheFloatPrecision:
-		_floatPrecision = d.toInt();
-		_floatPrecision = MAX(0, MIN(_floatPrecision, 19)); // 0 to 19
-		_floatPrecisionFormat = Common::String::format("%%.%df", _floatPrecision);
-		break;
-	case kTheColorDepth:
-		_vm->_colorDepth = d.toInt();
-
-		// bpp. 1, 2, 4, 8, 32
-		warning("STUB: Lingo::setTheEntity(): Set color depth to %d", _vm->_colorDepth);
-		break;
-	case kTheCast:
-		setTheCast(id, field, d);
-		break;
-	default:
-		warning("Lingo::setTheEntity(): Unprocessed setting field %d of entity %d", field, entity);
-	}
-}
-
-void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
-	int id = 0;
-
-	if (id1.type == INT) {
-		id = id1.u.i;
-	} else {
-		warning("Lingo::setTheSprite(): Unknown the sprite id type: %s", id1.type2str());
-		return;
-	}
-
-	d.toInt(); // Enforce Integer
-
-	if (!_vm->getCurrentScore()) {
-		warning("Lingo::setTheSprite(): The sprite %d field %d setting over non-active score", id, field);
-		return;
-	}
-
-	Sprite *sprite = _vm->getCurrentScore()->getSpriteById(id);
-
-	if (!sprite)
-		return;
-
-	switch (field) {
-	case kTheCastNum:
-		if (_vm->getCurrentScore()->_loadedCast->contains(d.u.i)) {
-			_vm->getCurrentScore()->loadCastInto(sprite, d.u.i);
-			sprite->_castId = d.u.i;
-		}
-		break;
-	case kTheWidth:
-		sprite->_width = d.u.i;
-		break;
-	case kTheHeight:
-		sprite->_height = d.u.i;
-		break;
-	case kTheTrails:
-		sprite->_trails = d.u.i;
-		break;
-	case kTheInk:
-		sprite->_ink = static_cast<InkType>(d.u.i);
-		break;
-	case kTheLocH:
-		sprite->_startPoint.x = d.u.i;
-		break;
-	case kTheLocV:
-		sprite->_startPoint.y = d.u.i;
-		break;
-	case kTheConstraint:
-		sprite->_constraint = d.u.i;
-		break;
-	case kTheMoveableSprite:
-		sprite->_moveable = d.u.i;
-		break;
-	case kTheBackColor:
-		sprite->_backColor = d.u.i;
-		break;
-	case kTheForeColor:
-		sprite->_foreColor = d.u.i;
-		break;
-	case kTheLeft:
-		sprite->_left = d.u.i;
-		break;
-	case kTheRight:
-		sprite->_right = d.u.i;
-		break;
-	case kTheTop:
-		sprite->_top = d.u.i;
-		break;
-	case kTheBottom:
-		sprite->_bottom = d.u.i;
-		break;
-	case kTheBlend:
-		sprite->_blend = d.u.i;
-		break;
-	case kTheVisible:
-		sprite->_visible = (d.u.i == 0 ? false : true);
-		break;
-	case kTheType:
-		sprite->_type = static_cast<SpriteType>(d.u.i);
-		break;
-	case kTheMovieRate:
-		sprite->_movieRate = d.u.i;
-		break;
-	case kTheMovieTime:
-		sprite->_movieTime = d.u.i;
-		break;
-	case kTheStopTime:
-		sprite->_stopTime = d.u.i;
-		break;
-	case kTheStartTime:
-		sprite->_startTime = d.u.i;
-		break;
-	case kTheStretch:
-		sprite->_stretch = d.u.i;
-		break;
-	case kTheVolume:
-		sprite->_volume = d.u.i;
-		break;
-	case kTheLineSize:
-		sprite->_lineSize = d.u.i;
-		break;
-	case kTheEditableText:
-		sprite->_editableText = *d.toString();
-		break;
-	case kThePattern:
-		sprite->setPattern(d.u.i);
-		break;
-	default:
-		warning("Lingo::setTheSprite(): Unprocessed setting field %d of sprite", field);
-	}
-}
-
 Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 	Datum d;
 
 	switch (entity) {
-	case kTheSprite:
-		d = getTheSprite(id, field);
-		break;
 	case kTheCast:
 		d = getTheCast(id, field);
 		break;
-	case kThePerFrameHook:
-		warning("STUB: Lingo::getTheEntity(): getting the perframehook");
+	case kTheColorDepth:
+		// bpp. 1, 2, 4, 8, 32
+		d.type = INT;
+		d.u.i = _vm->_colorDepth;
+		break;
+	case kTheColorQD:
+		d.type = INT;
+		d.u.i = 1;
 		break;
 	case kTheFloatPrecision:
 		d.type = INT;
 		d.u.i = _floatPrecision;
 		break;
-	case kTheSqrt:
-		id.toFloat();
-		d.type = FLOAT;
-		d.u.f = sqrt(id.u.f);
+	case kTheFrame:
+		d.type = INT;
+		d.u.i = _vm->getCurrentScore()->getCurrentFrame();
 		break;
 	case kTheKey:
 		d.type = STRING;
@@ -457,23 +320,6 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		d.type = INT;
 		d.u.i = _vm->_keyCode;
 		break;
-	case kTheMouseH:
-		d.type = INT;
-		d.u.i = g_system->getEventManager()->getMousePos().x;
-		break;
-	case kTheMouseV:
-		d.type = INT;
-		d.u.i = g_system->getEventManager()->getMousePos().y;
-		break;
-	case kTheColorQD:
-		d.type = INT;
-		d.u.i = 1;
-		break;
-	case kTheColorDepth:
-		// bpp. 1, 2, 4, 8, 32
-		d.type = INT;
-		d.u.i = _vm->_colorDepth;
-		break;
 	case kTheMachineType:
 		// 1 - Macintosh 512Ke			D2
 		// 2 - Macintosh Plus			D2
@@ -517,138 +363,292 @@ Datum Lingo::getTheEntity(int entity, Datum &id, int field) {
 		d.type = INT;
 		d.u.i = _vm->_machineType;
 		break;
-	case kTheFrame:
-		d.type = INT;
-		d.u.i = _vm->getCurrentScore()->getCurrentFrame();
+	case kTheMouseH:
+		d.type = INT;
+		d.u.i = g_system->getEventManager()->getMousePos().x;
+		break;
+	case kTheMouseV:
+		d.type = INT;
+		d.u.i = g_system->getEventManager()->getMousePos().y;
+		break;
+	case kThePerFrameHook:
+		warning("STUB: Lingo::getTheEntity(): getting the perframehook");
+		break;
+	case kThePi:
+		d.type = FLOAT;
+		d.u.f = M_PI;
+		break;
+	case kTheSprite:
+		d = getTheSprite(id, field);
+		break;
+	case kTheSqrt:
+		id.toFloat();
+		d.type = FLOAT;
+		d.u.f = sqrt(id.u.f);
+		break;
+		case kTheStillDown:
+		d.type = INT;
+		d.u.i = _vm->getCurrentScore()->_mouseIsDown;
+		break;
+	default:
+		warning("Lingo::getTheEntity(): Unprocessed getting field %d of entity %d", field, entity);
+		d.type = VOID;
+	}
+
+	return d;
+}
+
+void Lingo::setTheEntity(int entity, Datum &id, int field, Datum &d) {
+	switch (entity) {
+	case kTheCast:
+		setTheCast(id, field, d);
+		break;
+	case kTheColorDepth:
+		_vm->_colorDepth = d.toInt();
+
+		// bpp. 1, 2, 4, 8, 32
+		warning("STUB: Lingo::setTheEntity(): Set color depth to %d", _vm->_colorDepth);
+		break;
+	case kTheFloatPrecision:
+		_floatPrecision = d.toInt();
+		_floatPrecision = MAX(0, MIN(_floatPrecision, 19)); // 0 to 19
+		_floatPrecisionFormat = Common::String::format("%%.%df", _floatPrecision);
+		break;
+	case kThePerFrameHook:
+		warning("STUB: Lingo::setTheEntity(): setting the perframehook");
+		break;
+	case kTheSprite:
+		setTheSprite(id, field, d);
+		break;
+	default:
+		warning("Lingo::setTheEntity(): Unprocessed setting field %d of entity %d", field, entity);
+	}
+}
+
+Datum Lingo::getTheSprite(Datum &id1, int field) {
+	Datum d;
+	int id = 0;
+
+	if (id1.type == INT) {
+		id = id1.u.i;
+	} else {
+		warning("Lingo::getTheSprite(): Unknown the sprite id type: %s", id1.type2str());
+		return d;
+	}
+
+	if (!_vm->getCurrentScore()) {
+		warning("Lingo::getTheSprite(): The sprite %d field %d setting over non-active score", id, field);
+		return d;
+	}
+
+	Sprite *sprite = _vm->getCurrentScore()->getSpriteById(id);
+
+	if (!sprite)
+		return d;
+
+	d.type = INT;
+
+	switch (field) {
+	case kTheBackColor:
+		d.u.i = sprite->_backColor;
+		break;
+	case kTheBlend:
+		d.u.i = sprite->_blend;
+		break;
+	case kTheBottom:
+		d.u.i = sprite->_bottom;
+		break;
+	case kTheCastNum:
+		d.u.i = sprite->_castId;
+		break;
+	case kTheConstraint:
+		d.u.i = sprite->_constraint;
+		break;
+	case kTheEditableText:
+		d.toString();
+		d.u.s = &sprite->_editableText;
+		break;
+	case kTheForeColor:
+		d.u.i = sprite->_foreColor;
+		break;
+	case kTheHeight:
+		d.u.i = sprite->_height;
+		break;
+	case kTheInk:
+		d.u.i = sprite->_ink;
+		break;
+	case kTheLeft:
+		d.u.i = sprite->_left;
+		break;
+	case kTheLineSize:
+		d.u.i = sprite->_lineSize;
+		break;
+	case kTheLocH:
+		d.u.i = sprite->_startPoint.x;
+		break;
+	case kTheLocV:
+		d.u.i = sprite->_startPoint.y;
+		break;
+	case kTheMoveableSprite:
+		d.u.i = sprite->_moveable;
+		break;
+	case kTheMovieRate:
+		d.u.i = sprite->_movieRate;
+		break;
+	case kTheMovieTime:
+		d.u.i = sprite->_movieTime;
+		break;
+	case kThePattern:
+		d.u.i = sprite->getPattern();
+		break;
+	case kTheRight:
+		d.u.i = sprite->_right;
+		break;
+	case kTheStartTime:
+		d.u.i = sprite->_startTime;
+		break;
+	case kTheStopTime:
+		d.u.i = sprite->_stopTime;
+		break;
+	case kTheStretch:
+		d.u.i = sprite->_stretch;
+		break;
+	case kTheTop:
+		d.u.i = sprite->_top;
+		break;
+	case kTheTrails:
+		d.u.i = sprite->_trails;
+		break;
+	case kTheType:
+		d.u.i = sprite->_type;
+		break;
+	case kTheVisible:
+		d.u.i = (sprite->_visible ? 1 : 0);
 		break;
-	case kTheStillDown:
-		d.type = INT;
-		d.u.i = _vm->getCurrentScore()->_mouseIsDown;
+	case kTheVolume:
+		d.u.i = sprite->_volume;
 		break;
-	case kThePi:
-		d.type = FLOAT;
-		d.u.f = M_PI;
+	case kTheWidth:
+		d.u.i = sprite->_width;
 		break;
 	default:
-		warning("Lingo::getTheEntity(): Unprocessed getting field %d of entity %d", field, entity);
+		warning("Lingo::getTheSprite(): Unprocessed getting field %d of sprite", field);
 		d.type = VOID;
 	}
 
 	return d;
 }
 
-Datum Lingo::getTheSprite(Datum &id1, int field) {
-	Datum d;
+void Lingo::setTheSprite(Datum &id1, int field, Datum &d) {
 	int id = 0;
 
 	if (id1.type == INT) {
 		id = id1.u.i;
 	} else {
-		warning("Lingo::getTheSprite(): Unknown the sprite id type: %s", id1.type2str());
-		return d;
+		warning("Lingo::setTheSprite(): Unknown the sprite id type: %s", id1.type2str());
+		return;
 	}
 
+	d.toInt(); // Enforce Integer
+
 	if (!_vm->getCurrentScore()) {
-		warning("Lingo::getTheSprite(): The sprite %d field %d setting over non-active score", id, field);
-		return d;
+		warning("Lingo::setTheSprite(): The sprite %d field %d setting over non-active score", id, field);
+		return;
 	}
 
 	Sprite *sprite = _vm->getCurrentScore()->getSpriteById(id);
 
 	if (!sprite)
-		return d;
-
-	d.type = INT;
+		return;
 
 	switch (field) {
-	case kTheCastNum:
-		d.u.i = sprite->_castId;
-		break;
-	case kTheWidth:
-		d.u.i = sprite->_width;
-		break;
-	case kTheHeight:
-		d.u.i = sprite->_height;
-		break;
-	case kTheTrails:
-		d.u.i = sprite->_trails;
+	case kTheBackColor:
+		sprite->_backColor = d.u.i;
 		break;
-	case kTheInk:
-		d.u.i = sprite->_ink;
+	case kTheBlend:
+		sprite->_blend = d.u.i;
 		break;
-	case kTheLocH:
-		d.u.i = sprite->_startPoint.x;
+	case kTheBottom:
+		sprite->_bottom = d.u.i;
 		break;
-	case kTheLocV:
-		d.u.i = sprite->_startPoint.y;
+	case kTheCastNum:
+		if (_vm->getCurrentScore()->_loadedCast->contains(d.u.i)) {
+			_vm->getCurrentScore()->loadCastInto(sprite, d.u.i);
+			sprite->_castId = d.u.i;
+		}
 		break;
 	case kTheConstraint:
-		d.u.i = sprite->_constraint;
-		break;
-	case kTheMoveableSprite:
-		d.u.i = sprite->_moveable;
+		sprite->_constraint = d.u.i;
 		break;
-	case kTheBackColor:
-		d.u.i = sprite->_backColor;
+	case kTheEditableText:
+		sprite->_editableText = *d.toString();
 		break;
 	case kTheForeColor:
-		d.u.i = sprite->_foreColor;
+		sprite->_foreColor = d.u.i;
 		break;
-	case kTheLeft:
-		d.u.i = sprite->_left;
+	case kTheHeight:
+		sprite->_height = d.u.i;
 		break;
-	case kTheRight:
-		d.u.i = sprite->_right;
+	case kTheInk:
+		sprite->_ink = static_cast<InkType>(d.u.i);
 		break;
-	case kTheBottom:
-		d.u.i = sprite->_bottom;
+	case kTheLeft:
+		sprite->_left = d.u.i;
 		break;
-	case kTheTop:
-		d.u.i = sprite->_top;
+	case kTheLineSize:
+		sprite->_lineSize = d.u.i;
 		break;
-	case kTheBlend:
-		d.u.i = sprite->_blend;
+	case kTheLocH:
+		sprite->_startPoint.x = d.u.i;
 		break;
-	case kTheVisible:
-		d.u.i = (sprite->_visible ? 1 : 0);
+	case kTheLocV:
+		sprite->_startPoint.y = d.u.i;
 		break;
-	case kTheType:
-		d.u.i = sprite->_type;
+	case kTheMoveableSprite:
+		sprite->_moveable = d.u.i;
 		break;
 	case kTheMovieRate:
-		d.u.i = sprite->_movieRate;
+		sprite->_movieRate = d.u.i;
 		break;
 	case kTheMovieTime:
-		d.u.i = sprite->_movieTime;
+		sprite->_movieTime = d.u.i;
 		break;
-	case kTheStopTime:
-		d.u.i = sprite->_stopTime;
+	case kThePattern:
+		sprite->setPattern(d.u.i);
+		break;
+	case kTheRight:
+		sprite->_right = d.u.i;
 		break;
 	case kTheStartTime:
-		d.u.i = sprite->_startTime;
+		sprite->_startTime = d.u.i;
 		break;
-	case kTheVolume:
-		d.u.i = sprite->_volume;
+	case kTheStopTime:
+		sprite->_stopTime = d.u.i;
 		break;
 	case kTheStretch:
-		d.u.i = sprite->_stretch;
+		sprite->_stretch = d.u.i;
 		break;
-	case kTheLineSize:
-		d.u.i = sprite->_lineSize;
+	case kTheTop:
+		sprite->_top = d.u.i;
 		break;
-	case kTheEditableText:
-		d.toString();
-		d.u.s = &sprite->_editableText;
+	case kTheTrails:
+		sprite->_trails = d.u.i;
 		break;
-	case kThePattern:
-		d.u.i = sprite->getPattern();
+	case kTheType:
+		sprite->_type = static_cast<SpriteType>(d.u.i);
+		break;
+	case kTheVisible:
+		sprite->_visible = (d.u.i == 0 ? false : true);
+		break;
+	case kTheVolume:
+		sprite->_volume = d.u.i;
+		break;
+	case kTheWidth:
+		sprite->_width = d.u.i;
 		break;
 	default:
-		warning("Lingo::getTheSprite(): Unprocessed getting field %d of sprite", field);
-		d.type = VOID;
+		warning("Lingo::setTheSprite(): Unprocessed setting field %d of sprite", field);
 	}
-
-	return d;
 }
 
 Datum Lingo::getTheCast(Datum &id1, int field) {
@@ -684,27 +684,6 @@ Datum Lingo::getTheCast(Datum &id1, int field) {
 	d.type = INT;
 
 	switch (field) {
-	case kTheCastType:
-		d.u.i = castType;
-		break;
-	case kTheFileName:
-		d.toString();
-		d.u.s = &castInfo->fileName;
-		break;
-	case kTheName:
-		d.toString();
-		d.u.s = &castInfo->name;
-		break;
-	case kTheScriptText:
-		d.toString();
-		d.u.s = &castInfo->script;
-		break;
-	case kTheWidth:
-		d.u.i = _vm->getCurrentScore()->getCastMemberInitialRect(id).width();
-		break;
-	case kTheHeight:
-		d.u.i = _vm->getCurrentScore()->getCastMemberInitialRect(id).height();
-		break;
 	case kTheBackColor:
 		{
 			if (castType != kCastShape) {
@@ -717,6 +696,13 @@ Datum Lingo::getTheCast(Datum &id1, int field) {
 			d.u.i = shape->_bgCol;
 		}
 		break;
+	case kTheCastType:
+		d.u.i = castType;
+		break;
+	case kTheFileName:
+		d.toString();
+		d.u.s = &castInfo->fileName;
+		break;
 	case kTheForeColor:
 		{
 			if (castType != kCastShape) {
@@ -729,9 +715,23 @@ Datum Lingo::getTheCast(Datum &id1, int field) {
 			d.u.i = shape->_fgCol;
 		}
 		break;
+	case kTheHeight:
+		d.u.i = _vm->getCurrentScore()->getCastMemberInitialRect(id).height();
+		break;
 	case kTheLoaded:
 		d.u.i = 1; //Not loaded handled above
 		break;
+	case kTheName:
+		d.toString();
+		d.u.s = &castInfo->name;
+		break;
+	case kTheScriptText:
+		d.toString();
+		d.u.s = &castInfo->script;
+		break;
+	case kTheWidth:
+		d.u.i = _vm->getCurrentScore()->getCastMemberInitialRect(id).width();
+		break;
 	default:
 		warning("Lingo::getTheCast(): Unprocessed getting field %d of cast %d", field, id);
 		d.type = VOID;
@@ -761,6 +761,18 @@ void Lingo::setTheCast(Datum &id1, int field, Datum &d) {
 	CastInfo *castInfo = score->_castsInfo[id + score->_castIDoffset];
 
 	switch (field) {
+	case kTheBackColor:
+		{
+			if (castType != kCastShape) {
+				warning("Lingo::setTheCast(): Field %d of cast %d not found", field, id);
+			}
+			ShapeCast *shape = (ShapeCast *)score->_loadedCast->getVal(id);
+
+			d.toInt();
+			shape->_bgCol = d.u.i;
+			shape->_modified = 1;
+		}
+		break;
 	case kTheCastType:
 		// TODO: You can actually switch the cast type!?
 		warning("Lingo::setTheCast(): Tried to switch cast type of %d", id);
@@ -775,6 +787,22 @@ void Lingo::setTheCast(Datum &id1, int field, Datum &d) {
 		d.toString();
 		castInfo->fileName = *d.u.s;
 		break;
+	case kTheForeColor:
+		{
+			if (castType != kCastShape) {
+				warning("Lingo::setTheCast(): Field %d of cast %d not found", field, id);
+				return;
+			}
+			ShapeCast *shape = (ShapeCast *)score->_loadedCast->getVal(id);
+			shape->_fgCol = d.u.i;
+			shape->_modified = 1;
+		}
+		break;
+	case kTheHeight:
+		d.toInt();
+		score->getCastMemberInitialRect(id).setHeight(d.u.i);
+		score->setCastMemberModified(id);
+		break;
 	case kTheName:
 		if (!castInfo) {
 			warning("Lingo::setTheCast(): The cast %d not found. type: %d", id, castType);
@@ -791,39 +819,6 @@ void Lingo::setTheCast(Datum &id1, int field, Datum &d) {
 		d.toString();
 		castInfo->script = *d.u.s;
 		break;
-	case kTheWidth:
-		d.toInt();
-		score->getCastMemberInitialRect(id).setWidth(d.u.i);
-		score->setCastMemberModified(id);
-		break;
-	case kTheHeight:
-		d.toInt();
-		score->getCastMemberInitialRect(id).setHeight(d.u.i);
-		score->setCastMemberModified(id);
-		break;
-	case kTheBackColor:
-		{
-			if (castType != kCastShape) {
-				warning("Lingo::setTheCast(): Field %d of cast %d not found", field, id);
-			}
-			ShapeCast *shape = (ShapeCast *)score->_loadedCast->getVal(id);
-
-			d.toInt();
-			shape->_bgCol = d.u.i;
-			shape->_modified = 1;
-		}
-		break;
-	case kTheForeColor:
-		{
-			if (castType != kCastShape) {
-				warning("Lingo::setTheCast(): Field %d of cast %d not found", field, id);
-				return;
-			}
-			ShapeCast *shape = (ShapeCast *)score->_loadedCast->getVal(id);
-			shape->_fgCol = d.u.i;
-			shape->_modified = 1;
-		}
-		break;
 	case kTheText:
 		if (castType == kCastText) {
 			if (score->_loadedCast->contains(id) && score->_loadedCast->getVal(id)->_type == kCastText) {
@@ -837,6 +832,11 @@ void Lingo::setTheCast(Datum &id1, int field, Datum &d) {
 			warning("Lingo::setTheCast(): Unprocessed setting text of cast %d type %d", id, castType);
 		}
 		break;
+	case kTheWidth:
+		d.toInt();
+		score->getCastMemberInitialRect(id).setWidth(d.u.i);
+		score->setCastMemberModified(id);
+		break;
 	default:
 		warning("Lingo::setTheCast(): Unprocessed setting field %d of cast %d", field, id);
 	}




More information about the Scummvm-git-logs mailing list