[Scummvm-git-logs] scummvm master -> 60f053ff693304331ff3bbf7f6b75dfda3c21764
sev-
noreply at scummvm.org
Sun Sep 7 23:59:18 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
60f053ff69 DIRECTOR: Refactor setField/setProp, returning void
Commit: 60f053ff693304331ff3bbf7f6b75dfda3c21764
https://github.com/scummvm/scummvm/commit/60f053ff693304331ff3bbf7f6b75dfda3c21764
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2025-09-08T01:59:03+02:00
Commit Message:
DIRECTOR: Refactor setField/setProp, returning void
This is a leftover from an early design when we were reporting
success of the operation. These days the value was not used
anywhere, so simplifying the code a tiny bit.
Changed paths:
engines/director/castmember/bitmap.cpp
engines/director/castmember/bitmap.h
engines/director/castmember/castmember.cpp
engines/director/castmember/castmember.h
engines/director/castmember/digitalvideo.cpp
engines/director/castmember/digitalvideo.h
engines/director/castmember/movie.cpp
engines/director/castmember/movie.h
engines/director/castmember/richtext.cpp
engines/director/castmember/richtext.h
engines/director/castmember/script.cpp
engines/director/castmember/script.h
engines/director/castmember/shape.cpp
engines/director/castmember/shape.h
engines/director/castmember/sound.cpp
engines/director/castmember/sound.h
engines/director/castmember/text.cpp
engines/director/castmember/text.h
engines/director/castmember/transition.cpp
engines/director/castmember/transition.h
engines/director/lingo/lingo-object.cpp
engines/director/lingo/lingo-object.h
engines/director/window.cpp
engines/director/window.h
diff --git a/engines/director/castmember/bitmap.cpp b/engines/director/castmember/bitmap.cpp
index 1b377a7fcb1..22bc7dddce3 100644
--- a/engines/director/castmember/bitmap.cpp
+++ b/engines/director/castmember/bitmap.cpp
@@ -973,11 +973,11 @@ Datum BitmapCastMember::getField(int field) {
return d;
}
-bool BitmapCastMember::setField(int field, const Datum &d) {
+void BitmapCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheDepth:
warning("BitmapCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->field2str(field), _castId);
- return false;
+ return;
case kTheRegPoint:
if (d.type == POINT || (d.type == ARRAY && d.u.farr->arr.size() >= 2)) {
Score *score = g_director->getCurrentMovie()->getScore();
@@ -987,9 +987,8 @@ bool BitmapCastMember::setField(int field, const Datum &d) {
_modified = true;
} else {
warning("BitmapCastMember::setField(): Wrong Datum type %d for kTheRegPoint", d.type);
- return false;
}
- return true;
+ return;
case kThePalette:
{
CastMemberID newClut;
@@ -1013,7 +1012,7 @@ bool BitmapCastMember::setField(int field, const Datum &d) {
_clut = newClut;
_modified = true;
}
- return true;
+ return;
}
case kThePaletteRef:
{
@@ -1047,7 +1046,7 @@ bool BitmapCastMember::setField(int field, const Datum &d) {
_modified = true;
}
}
- return true;
+ return;
case kThePicture:
if (d.type == PICTUREREF && d.u.picture != nullptr) {
setPicture(*d.u.picture);
@@ -1058,16 +1057,15 @@ bool BitmapCastMember::setField(int field, const Datum &d) {
_regX -= _initialRect.left;
_regY -= _initialRect.top;
_initialRect = Common::Rect(_picture->_surface.w, _picture->_surface.h);
- return true;
} else {
warning("BitmapCastMember::setField(): Wrong Datum type %d for kThePicture (or nullptr)", d.type);
}
- return false;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
uint32 BitmapCastMember::getCastDataSize() {
diff --git a/engines/director/castmember/bitmap.h b/engines/director/castmember/bitmap.h
index d505538401f..f6168bd3832 100644
--- a/engines/director/castmember/bitmap.h
+++ b/engines/director/castmember/bitmap.h
@@ -48,7 +48,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String formatInfo() override;
diff --git a/engines/director/castmember/castmember.cpp b/engines/director/castmember/castmember.cpp
index 86ac31600c5..1e4fba2945b 100644
--- a/engines/director/castmember/castmember.cpp
+++ b/engines/director/castmember/castmember.cpp
@@ -130,14 +130,14 @@ Datum CastMember::getProp(const Common::String &propName) {
return Datum();
}
-bool CastMember::setProp(const Common::String &propName, const Datum &value, bool force) {
+void CastMember::setProp(const Common::String &propName, const Datum &value, bool force) {
Common::String fieldName = Common::String::format("%d%s", kTheCast, propName.c_str());
if (g_lingo->_theEntityFields.contains(fieldName)) {
- return setField(g_lingo->_theEntityFields[fieldName]->field, value);
+ setField(g_lingo->_theEntityFields[fieldName]->field, value);
+ return;
}
warning("CastMember::setProp: unknown property '%s'", propName.c_str());
- return false;
}
bool CastMember::hasField(int field) {
@@ -248,65 +248,63 @@ Datum CastMember::getField(int field) {
return d;
}
-bool CastMember::setField(int field, const Datum &d) {
+void CastMember::setField(int field, const Datum &d) {
CastMemberInfo *castInfo = _cast->getCastMemberInfo(_castId);
switch (field) {
case kTheBackColor:
_cast->getCastMember(_castId)->setBackColor(d.asInt());
- return true;
+ return;
case kTheCastType:
case kTheType:
warning("BUILDBOT: CastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheFileName:
if (!castInfo) {
warning("CastMember::setField(): CastMember info for %d not found", _castId);
- return false;
+ return;
}
castInfo->fileName = d.asString();
_needsReload = true;
- return true;
+ return;
case kTheForeColor:
_cast->getCastMember(_castId)->setForeColor(d.asInt());
- return true;
+ return;
case kTheHeight:
warning("BUILDBOT: CastMember::setField(): Attempt to set read-only field \"%s\" of cast %d", g_lingo->field2str(field), _castId);
- return false;
+ return;
case kTheHilite:
_hilite = (bool)d.asInt();
_modified = true;
- return true;
+ return;
case kTheName:
if (!castInfo) {
warning("CastMember::setField(): CastMember info for %d not found", _castId);
- return false;
+ return;
}
castInfo->name = d.asString();
_cast->rebuildCastNameCache();
- return true;
+ return;
case kTheRect:
warning("CastMember::setField(): Attempt to set read-only field \"%s\" of cast %d", g_lingo->field2str(field), _castId);
- return false;
+ return;
case kThePurgePriority:
_purgePriority = CLIP<int>(d.asInt(), 0, 3);
- return true;
+ return;
case kTheScriptText:
if (!castInfo) {
warning("CastMember::setField(): CastMember info for %d not found", _castId);
- return false;
+ return;
}
_cast->_lingoArchive->replaceCode(*d.u.s, kCastScript, _castId);
castInfo->script = d.asString();
- return true;
+ return;
case kTheWidth:
warning("BUILDBOT: CastMember::setField(): Attempt to set read-only field \"%s\" of cast %d", g_lingo->field2str(field), _castId);
- return false;
+ return;
default:
warning("CastMember::setField(): Unprocessed setting field \"%s\" of cast %d", g_lingo->field2str(field), _castId);
}
-
- return false;
}
CastMemberInfo *CastMember::getInfo() {
diff --git a/engines/director/castmember/castmember.h b/engines/director/castmember/castmember.h
index ad6d3f110a4..9ba2fce6cfd 100644
--- a/engines/director/castmember/castmember.h
+++ b/engines/director/castmember/castmember.h
@@ -78,10 +78,10 @@ public:
bool hasProp(const Common::String &propName) override;
Datum getProp(const Common::String &propName) override;
- bool setProp(const Common::String &propName, const Datum &value, bool force = false) override;
+ void setProp(const Common::String &propName, const Datum &value, bool force = false) override;
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
// release the control to widget, this happens when we are changing sprites. Because we are having the new cast member and the old one shall leave
void releaseWidget() { _widget = nullptr; }
diff --git a/engines/director/castmember/digitalvideo.cpp b/engines/director/castmember/digitalvideo.cpp
index 1bc6cb81dd9..2a5605edbac 100644
--- a/engines/director/castmember/digitalvideo.cpp
+++ b/engines/director/castmember/digitalvideo.cpp
@@ -600,56 +600,56 @@ Datum DigitalVideoCastMember::getField(int field) {
return d;
}
-bool DigitalVideoCastMember::setField(int field, const Datum &d) {
+void DigitalVideoCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheCenter:
_center = (bool)d.asInt();
- return true;
+ return;
case kTheController:
_showControls = (bool)d.asInt();
- return true;
+ return;
case kTheCrop:
_crop = (bool)d.asInt();
- return true;
+ return;
case kTheDigitalVideoType:
warning("DigitalVideoCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheDirectToStage:
_directToStage = (bool)d.asInt();
- return true;
+ return;
case kTheDuration:
warning("DigitalVideoCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheFrameRate:
_frameRate = d.asInt();
setFrameRate(d.asInt());
- return true;
+ return;
case kTheLoop:
_looping = (bool)d.asInt();
if (_looping && _channel && _channel->_movieRate == 0.0) {
setMovieRate(1.0);
}
- return true;
+ return;
case kThePausedAtStart:
_pausedAtStart = (bool)d.asInt();
- return true;
+ return;
case kThePreLoad:
_preload = (bool)d.asInt();
- return true;
+ return;
case kTheSound:
_enableSound = (bool)d.asInt();
- return true;
+ return;
case kTheTimeScale:
warning("DigitalVideoCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheVideo:
_enableVideo = (bool)d.asInt();
- return true;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
uint32 DigitalVideoCastMember::getCastDataSize() {
diff --git a/engines/director/castmember/digitalvideo.h b/engines/director/castmember/digitalvideo.h
index 4527d4bbfd2..a4592b1b741 100644
--- a/engines/director/castmember/digitalvideo.h
+++ b/engines/director/castmember/digitalvideo.h
@@ -64,7 +64,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String formatInfo() override;
diff --git a/engines/director/castmember/movie.cpp b/engines/director/castmember/movie.cpp
index 6de14fcc714..da768a21b4a 100644
--- a/engines/director/castmember/movie.cpp
+++ b/engines/director/castmember/movie.cpp
@@ -118,34 +118,34 @@ Datum MovieCastMember::getField(int field) {
return d;
}
-bool MovieCastMember::setField(int field, const Datum &d) {
+void MovieCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheCenter:
_center = (bool)d.asInt();
- return true;
+ return;
case kTheIdleHandlerPeriod:
warning("STUB: MovieCastMember::setField(): idleHandlerPeriod not implemented");
- return false;
+ return;
case kThePaletteMapping:
warning("STUB: MovieCastMember::setField(): paletteMapping not implemented");
- return false;
+ return;
case kTheScoreSelection:
warning("STUB: MovieCastMember::setField(): scoreSelection not implemented");
- return false;
+ return;
case kTheScriptsEnabled:
_enableScripts = (bool)d.asInt();
- return true;
+ return;
case kTheSound:
_enableSound = (bool)d.asInt();
- return true;
+ return;
case kTheUpdateLock:
warning("STUB: MovieCastMember::setField(): updateLock not implemented");
- return false;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
Common::String MovieCastMember::formatInfo() {
diff --git a/engines/director/castmember/movie.h b/engines/director/castmember/movie.h
index 530782de96d..fe67a708209 100644
--- a/engines/director/castmember/movie.h
+++ b/engines/director/castmember/movie.h
@@ -38,7 +38,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String formatInfo() override;
diff --git a/engines/director/castmember/richtext.cpp b/engines/director/castmember/richtext.cpp
index 0c777129936..670981e339e 100644
--- a/engines/director/castmember/richtext.cpp
+++ b/engines/director/castmember/richtext.cpp
@@ -220,19 +220,19 @@ Datum RichTextCastMember::getField(int field) {
return d;
}
-bool RichTextCastMember::setField(int field, const Datum &d) {
+void RichTextCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheText:
_plainText = Common::U32String(d.asString());
warning("STUB: RichTextCastMember::setField: text set to \"%s\", but won't rerender!", d.asString().c_str());
- break;
+ return;
case kThePageHeight:
case kTheScrollTop:
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
Common::String RichTextCastMember::formatInfo() {
diff --git a/engines/director/castmember/richtext.h b/engines/director/castmember/richtext.h
index 7764c1fda64..0f0d24d8cb2 100644
--- a/engines/director/castmember/richtext.h
+++ b/engines/director/castmember/richtext.h
@@ -43,7 +43,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String getText() { return Common::String(_plainText); }
uint32 getCastDataSize() override;
diff --git a/engines/director/castmember/script.cpp b/engines/director/castmember/script.cpp
index b7b6b271251..a73e3731198 100644
--- a/engines/director/castmember/script.cpp
+++ b/engines/director/castmember/script.cpp
@@ -112,7 +112,7 @@ Datum ScriptCastMember::getField(int field) {
return d;
}
-bool ScriptCastMember::setField(int field, const Datum &d) {
+void ScriptCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheScriptType:
warning("ScriptCastMember::setField(): setting scriptType! This probably isn't going to work as it doesn't recategorize the script.");
@@ -125,13 +125,12 @@ bool ScriptCastMember::setField(int field, const Datum &d) {
_scriptType = kParentScript;
}
}
- return true;
- break;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
Common::String ScriptCastMember::formatInfo() {
diff --git a/engines/director/castmember/script.h b/engines/director/castmember/script.h
index bf2b906c59e..26190e2b033 100644
--- a/engines/director/castmember/script.h
+++ b/engines/director/castmember/script.h
@@ -37,7 +37,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
uint32 getCastDataSize() override;
void writeCastData(Common::SeekableWriteStream *writeStream) override;
diff --git a/engines/director/castmember/shape.cpp b/engines/director/castmember/shape.cpp
index 03816c10c3d..c57f355b334 100644
--- a/engines/director/castmember/shape.cpp
+++ b/engines/director/castmember/shape.cpp
@@ -162,17 +162,17 @@ Datum ShapeCastMember::getField(int field) {
return d;
}
-bool ShapeCastMember::setField(int field, const Datum &d) {
+void ShapeCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheFilled:
_fillType = d.asInt() ? 1 : 0;
- return true;
+ return;
case kTheLineSize:
_lineThickness = d.asInt();
- return true;
+ return;
case kThePattern:
_pattern = d.asInt();
- return true;
+ return;
case kTheShapeType:
if (d.type == SYMBOL) {
Common::String name = *d.u.s;
@@ -185,14 +185,13 @@ bool ShapeCastMember::setField(int field, const Datum &d) {
} else if (name.equalsIgnoreCase("line")) {
_shapeType = kShapeLine;
}
- return true;
}
break;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
diff --git a/engines/director/castmember/shape.h b/engines/director/castmember/shape.h
index bf6b38fa4e3..bad9b787d81 100644
--- a/engines/director/castmember/shape.h
+++ b/engines/director/castmember/shape.h
@@ -40,7 +40,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String formatInfo() override;
diff --git a/engines/director/castmember/sound.cpp b/engines/director/castmember/sound.cpp
index 4633880b7f2..f2bbbc3230e 100644
--- a/engines/director/castmember/sound.cpp
+++ b/engines/director/castmember/sound.cpp
@@ -185,18 +185,18 @@ Datum SoundCastMember::getField(int field) {
return d;
}
-bool SoundCastMember::setField(int field, const Datum &d) {
+void SoundCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheChannelCount:
case kTheSampleRate:
case kTheSampleSize:
warning("SoundCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->field2str(field), _castId);
- return false;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
// Similar to PaletteCastMember, SoundCastMember has no data in the 'CASt' resource or is ignored
diff --git a/engines/director/castmember/sound.h b/engines/director/castmember/sound.h
index f7b0df09327..9ae8ae9a1e5 100644
--- a/engines/director/castmember/sound.h
+++ b/engines/director/castmember/sound.h
@@ -42,7 +42,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
uint32 getCastDataSize() override;
void writeCastData(Common::SeekableWriteStream *writeStream) override;
diff --git a/engines/director/castmember/text.cpp b/engines/director/castmember/text.cpp
index 08154563267..8a470dbbbc9 100644
--- a/engines/director/castmember/text.cpp
+++ b/engines/director/castmember/text.cpp
@@ -768,23 +768,23 @@ Datum TextCastMember::getField(int field) {
return d;
}
-bool TextCastMember::setField(int field, const Datum &d) {
+void TextCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheBackColor:
{
uint32 color = g_director->transformColor(d.asInt());
setColors(nullptr, &color);
}
- return true;
+ return;
case kTheForeColor:
{
uint32 color = g_director->transformColor(d.asInt());
setColors(&color, nullptr);
}
- return true;
+ return;
case kTheText:
setRawText(d.asString());
- return true;
+ return;
case kTheTextAlign:
{
Common::String select = d.asString();
@@ -803,79 +803,79 @@ bool TextCastMember::setField(int field, const Datum &d) {
_textAlign = align;
_modified = true;
}
- return true;
+ return;
case kTheTextFont:
setTextFont(d.asString());
- return true;
+ return;
case kTheTextHeight:
_lineSpacing = d.asInt();
_modified = true;
- return false;
+ return;
case kTheTextSize:
setTextSize(d.asInt());
- return true;
+ return;
case kTheTextStyle:
setTextStyle(d.asString());
- return true;
+ return;
case kTheAutoTab:
warning("STUB: TextCastMember::setField(): autoTab not implemented");
- return false;
+ return;
case kTheBorder:
_borderSize = d.asInt();
setModified(true);
- return true;
+ return;
case kTheBoxDropShadow:
warning("STUB: TextCastMember::setField(): boxDropShadow not implemented");
- return false;
+ return;
case kTheBoxType:
warning("STUB: TextCastMember::setField(): boxType not implemented");
- return false;
+ return;
case kTheDropShadow:
warning("STUB: TextCastMember::setField(): dropShadow not implemented");
- return false;
+ return;
case kTheEditable:
_editable = d.asInt();
setModified(true);
- return true;
+ return;
case kTheLineCount:
warning("BUILDBOT: TextCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheMargin:
warning("STUB: TextCastMember::setField(): margin not implemented");
- return false;
+ return;
case kThePageHeight:
warning("BUILDBOT: TextCastMember::setField(): Attempt to set read-only field %s of cast %d", g_lingo->entity2str(field), _castId);
- return false;
+ return;
case kTheScrollTop:
_scroll = d.asInt();
setModified(true);
- return true;
+ return;
case kTheWordWrap:
warning("STUB: TextCastMember::setField(): wordWrap not implemented");
- return false;
+ return;
case kTheButtonType:
if (d.type == SYMBOL) {
if (d.u.s->equalsIgnoreCase("pushButton")) {
_buttonType = kTypeButton;
setModified(true);
- return true;
+ return;
} else if (d.u.s->equalsIgnoreCase("radioButton")) {
_buttonType = kTypeRadio;
setModified(true);
- return true;
+ return;
} else if (d.u.s->equalsIgnoreCase("checkBox")) {
_buttonType = kTypeCheckBox;
setModified(true);
- return true;
+ return;
}
}
warning("TextCastMember: invalid button type %s", d.asString(true).c_str());
- return false;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
// This isn't documented particularly well by the Lingo Dictionary;
diff --git a/engines/director/castmember/text.h b/engines/director/castmember/text.h
index 5e36fd7921a..dffcb528023 100644
--- a/engines/director/castmember/text.h
+++ b/engines/director/castmember/text.h
@@ -59,7 +59,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
bool hasChunkField(int field);
Datum getChunkField(int field, int start, int end);
diff --git a/engines/director/castmember/transition.cpp b/engines/director/castmember/transition.cpp
index d4647d7e152..8d868b11450 100644
--- a/engines/director/castmember/transition.cpp
+++ b/engines/director/castmember/transition.cpp
@@ -100,25 +100,25 @@ Datum TransitionCastMember::getField(int field) {
return d;
}
-bool TransitionCastMember::setField(int field, const Datum &d) {
+void TransitionCastMember::setField(int field, const Datum &d) {
switch (field) {
case kTheChangeArea:
_area = (bool)d.asInt();
- break;
+ return;
case kTheChunkSize:
_chunkSize = d.asInt();
- return true;
+ return;
case kTheDuration:
_durationMillis = d.asInt();
- return true;
+ return;
case kTheTransitionType:
_transType = (TransitionType)d.asInt();
- return true;
+ return;
default:
break;
}
- return CastMember::setField(field, d);
+ CastMember::setField(field, d);
}
Common::String TransitionCastMember::formatInfo() {
diff --git a/engines/director/castmember/transition.h b/engines/director/castmember/transition.h
index c7368e7cf4b..0cffaa27b86 100644
--- a/engines/director/castmember/transition.h
+++ b/engines/director/castmember/transition.h
@@ -35,7 +35,7 @@ public:
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::String formatInfo() override;
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 104b8c729c2..9461001fc3d 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -610,32 +610,29 @@ uint32 ScriptContext::getPropCount() {
return _propertyNames.size();
}
-bool ScriptContext::setProp(const Common::String &propName, const Datum &value, bool force) {
+void ScriptContext::setProp(const Common::String &propName, const Datum &value, bool force) {
if (_disposed) {
error("Property '%s' accessed on disposed object <%s>", propName.c_str(), Datum(this).asString(true).c_str());
}
if (_properties.contains(propName)) {
_properties[propName] = value;
- return true;
+ return;
}
if (force) {
// used by e.g. the script compiler to add properties
_propertyNames.push_back(propName);
_properties[propName] = value;
- return true;
} else if (_objType == kScriptObj) {
if (_properties.contains("ancestor") && _properties["ancestor"].type == OBJECT
&& (_properties["ancestor"].u.obj->getObjType() & (kScriptObj | kXtraObj))) {
debugC(3, kDebugLingoExec, "Getting prop '%s' from ancestor: <%s>", propName.c_str(), _properties["ancestor"].asString(true).c_str());
- return _properties["ancestor"].u.obj->setProp(propName, value, force);
+ _properties["ancestor"].u.obj->setProp(propName, value, force);
}
} else if (_objType == kFactoryObj) {
// D3 style anonymous objects/factories, set whatever properties you like
_propertyNames.push_back(propName);
_properties[propName] = value;
- return true;
}
- return false;
}
Common::String ScriptContext::formatFunctionList(const char *prefix) {
@@ -751,14 +748,14 @@ Datum Window::getProp(const Common::String &propName) {
return Datum();
}
-bool Window::setProp(const Common::String &propName, const Datum &value, bool force) {
+void Window::setProp(const Common::String &propName, const Datum &value, bool force) {
Common::String fieldName = Common::String::format("%d%s", kTheWindow, propName.c_str());
if (g_lingo->_theEntityFields.contains(fieldName)) {
- return setField(g_lingo->_theEntityFields[fieldName]->field, value);
+ setField(g_lingo->_theEntityFields[fieldName]->field, value);
+ return;
}
warning("Window::setProp: unknown property '%s'", propName.c_str());
- return false;
}
bool Window::hasField(int field) {
@@ -812,34 +809,35 @@ Datum Window::getField(int field) {
}
}
-bool Window::setField(int field, const Datum &value) {
+void Window::setField(int field, const Datum &value) {
switch (field) {
case kTheTitle:
setTitle(value.asString());
- return true;
+ break;
case kTheTitleVisible:
setTitleVisible((bool)value.asInt());
- return true;
+ break;
case kTheVisible:
setVisible((bool)value.asInt());
- return true;
+ break;
case kTheWindowType:
setWindowType(value.asInt());
- return true;
+ break;
case kTheDrawRect:
warning("Window::setField: poorly handled setting field 'drawRect'");
// fallthrough
case kTheRect:
- return setStageRect(value);
+ setStageRect(value);
+ break;
case kTheModal:
setModal((bool)value.asInt());
- return true;
+ break;
case kTheFileName:
setFileName(value.asString());
- return true;
+ break;
default:
warning("Window::setField: unhandled field '%s'", g_lingo->field2str(field));
- return false;
+ break;
}
}
diff --git a/engines/director/lingo/lingo-object.h b/engines/director/lingo/lingo-object.h
index c6ba3757902..335a9846969 100644
--- a/engines/director/lingo/lingo-object.h
+++ b/engines/director/lingo/lingo-object.h
@@ -61,10 +61,10 @@ public:
virtual Datum getProp(const Common::String &propName) = 0;
virtual Common::String getPropAt(uint32 index) = 0;
virtual uint32 getPropCount() = 0;
- virtual bool setProp(const Common::String &propName, const Datum &value, bool force = false) = 0;
+ virtual void setProp(const Common::String &propName, const Datum &value, bool force = false) = 0;
virtual bool hasField(int field) = 0;
virtual Datum getField(int field) = 0;
- virtual bool setField(int field, const Datum &value) = 0;
+ virtual void setField(int field, const Datum &value) = 0;
};
template <typename Derived>
@@ -186,8 +186,8 @@ public:
uint32 getPropCount() override {
return 0;
};
- bool setProp(const Common::String &propName, const Datum &value, bool force = false) override {
- return false;
+ void setProp(const Common::String &propName, const Datum &value, bool force = false) override {
+ return;
};
bool hasField(int field) override {
return false;
@@ -195,8 +195,8 @@ public:
Datum getField(int field) override {
return Datum();
};
- bool setField(int field, const Datum &value) override {
- return false;
+ void setField(int field, const Datum &value) override {
+ return;
};
protected:
@@ -248,7 +248,7 @@ public:
Datum getProp(const Common::String &propName) override;
Common::String getPropAt(uint32 index) override;
uint32 getPropCount() override;
- bool setProp(const Common::String &propName, const Datum &value, bool force = false) override;
+ void setProp(const Common::String &propName, const Datum &value, bool force = false) override;
Symbol define(const Common::String &name, ScriptData *code, Common::Array<Common::String> *argNames, Common::Array<Common::String> *varNames);
diff --git a/engines/director/window.cpp b/engines/director/window.cpp
index 8c9f6535a0f..d39d1428e56 100644
--- a/engines/director/window.cpp
+++ b/engines/director/window.cpp
@@ -292,18 +292,16 @@ Datum Window::getStageRect() {
return d;
}
-bool Window::setStageRect(Datum datum) {
+void Window::setStageRect(Datum datum) {
if (datum.type != RECT) {
warning("Window::setStageRect(): bad argument passed to rect field");
- return false;
+ return;
}
// Unpack rect from datum
Common::Rect rect = Common::Rect(datum.u.farr->arr[0].asInt(), datum.u.farr->arr[1].asInt(), datum.u.farr->arr[2].asInt(), datum.u.farr->arr[3].asInt());
setInnerDimensions(rect);
-
- return true;
}
void Window::setModal(bool modal) {
diff --git a/engines/director/window.h b/engines/director/window.h
index db9c587efa9..8d3729ff5ba 100644
--- a/engines/director/window.h
+++ b/engines/director/window.h
@@ -142,7 +142,7 @@ public:
int getWindowType() const { return _windowType; }
void setTitleVisible(bool titleVisible) override;
Datum getStageRect();
- bool setStageRect(Datum datum);
+ void setStageRect(Datum datum);
void setModal(bool modal);
bool getModal() { return _isModal; };
void setFileName(Common::String filename);
@@ -193,10 +193,10 @@ public:
Common::String asString() override;
bool hasProp(const Common::String &propName) override;
Datum getProp(const Common::String &propName) override;
- bool setProp(const Common::String &propName, const Datum &value, bool force = false) override;
+ void setProp(const Common::String &propName, const Datum &value, bool force = false) override;
bool hasField(int field) override;
Datum getField(int field) override;
- bool setField(int field, const Datum &value) override;
+ void setField(int field, const Datum &value) override;
Common::Path _fileName;
More information about the Scummvm-git-logs
mailing list