[Scummvm-git-logs] scummvm master -> 7d6018e66374f35508668231dc5fd1f117e4a4dd
sev-
noreply at scummvm.org
Mon Feb 13 15:25:26 UTC 2023
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:
b9f901b24f DIRECTOR: Moved type->string utilities to types.cpp
1aa37ba545 DIRECTOR: Simplified and renamed castType2str()
82cbdc5300 DIRECTOR: Catch unknown platforms by the buildbot
7d6018e663 DIRECTOR: Implement and use spriteType2str()
Commit: b9f901b24fcf9a37ff23e22ffeae34a46d53474c
https://github.com/scummvm/scummvm/commit/b9f901b24fcf9a37ff23e22ffeae34a46d53474c
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-02-13T16:24:46+01:00
Commit Message:
DIRECTOR: Moved type->string utilities to types.cpp
Changed paths:
A engines/director/types.cpp
engines/director/cast.cpp
engines/director/module.mk
engines/director/types.h
engines/director/util.cpp
engines/director/util.h
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index beacc5b66cb..1d6905690cd 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -42,24 +42,6 @@
namespace Director {
-const char *scriptTypes[] = {
- "ScoreScript",
- "CastScript",
- "MovieScript",
- "EventScript",
- "TestScript"
-};
-
-const char *scriptType2str(ScriptType scr) {
- if (scr < 0)
- return "NoneScript";
-
- if (scr > kMaxScriptType)
- return "<unknown>";
-
- return scriptTypes[scr];
-}
-
Cast::Cast(Movie *movie, uint16 castLibID, bool isShared) {
_movie = movie;
_vm = _movie->getVM();
diff --git a/engines/director/module.mk b/engines/director/module.mk
index 3576a462ce0..c09ac848e83 100644
--- a/engines/director/module.mk
+++ b/engines/director/module.mk
@@ -23,6 +23,7 @@ MODULE_OBJS = \
stxt.o \
tests.o \
transitions.o \
+ types.o \
util.o \
window.o \
lingo/lingo.o \
diff --git a/engines/director/types.cpp b/engines/director/types.cpp
new file mode 100644
index 00000000000..59e8038f230
--- /dev/null
+++ b/engines/director/types.cpp
@@ -0,0 +1,90 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#include "common/array.h"
+#include "common/str.h"
+#include "director/types.h"
+
+namespace Director {
+
+const char *scriptTypes[] = {
+ "ScoreScript",
+ "CastScript",
+ "MovieScript",
+ "EventScript",
+ "TestScript"
+};
+
+const char *scriptType2str(ScriptType scr) {
+ if (scr < 0)
+ return "NoneScript";
+
+ if (scr > kMaxScriptType)
+ return "<unknown>";
+
+ return scriptTypes[scr];
+}
+
+Common::String castTypeToString(const CastType &type) {
+ Common::String res;
+ switch (type) {
+ case kCastBitmap:
+ res = "bitmap";
+ break;
+ case kCastPalette:
+ res = "palette";
+ break;
+ case kCastButton:
+ res = "button";
+ break;
+ case kCastPicture:
+ res = "picture";
+ break;
+ case kCastDigitalVideo:
+ res = "digitalVideo";
+ break;
+ case kCastLingoScript:
+ res = "script";
+ break;
+ case kCastShape:
+ res = "shape";
+ break;
+ case kCastFilmLoop:
+ res = "filmLoop";
+ break;
+ case kCastSound:
+ res = "sound";
+ break;
+ case kCastMovie:
+ res = "movie";
+ break;
+ case kCastText:
+ res = "text";
+ break;
+ default:
+ res = "empty";
+ break;
+ }
+ return res;
+}
+
+
+} // End of namespace Director
diff --git a/engines/director/types.h b/engines/director/types.h
index fba654e2f4e..76572aeed1c 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -413,6 +413,7 @@ typedef Common::Array<Datum> DatumArray;
typedef Common::Array<PCell> PropertyArray;
const char *scriptType2str(ScriptType scr);
+Common::String castTypeToString(const CastType &type);
} // End of namespace Director
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 4acd153c6d2..3e1182e6d97 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -1088,49 +1088,6 @@ Common::String utf8ToPrintable(const Common::String &str) {
return Common::toPrintable(Common::U32String(str));
}
-Common::String castTypeToString(const CastType &type) {
- Common::String res;
- switch (type) {
- case kCastBitmap:
- res = "bitmap";
- break;
- case kCastPalette:
- res = "palette";
- break;
- case kCastButton:
- res = "button";
- break;
- case kCastPicture:
- res = "picture";
- break;
- case kCastDigitalVideo:
- res = "digitalVideo";
- break;
- case kCastLingoScript:
- res = "script";
- break;
- case kCastShape:
- res = "shape";
- break;
- case kCastFilmLoop:
- res = "filmLoop";
- break;
- case kCastSound:
- res = "sound";
- break;
- case kCastMovie:
- res = "movie";
- break;
- case kCastText:
- res = "text";
- break;
- default:
- res = "empty";
- break;
- }
- return res;
-}
-
Common::String decodePlatformEncoding(Common::String input) {
return input.decode(g_director->getPlatformEncoding());
}
diff --git a/engines/director/util.h b/engines/director/util.h
index a7261fccb18..87a6d01fb97 100644
--- a/engines/director/util.h
+++ b/engines/director/util.h
@@ -58,8 +58,6 @@ Common::String dumpFactoryName(const char *prefix, const char *name, const char
bool isButtonSprite(SpriteType spriteType);
-Common::String castTypeToString(const CastType &type);
-
class RandomState {
public:
uint32 _seed;
Commit: 1aa37ba545759a85c282ddefafa71ca4a52c9690
https://github.com/scummvm/scummvm/commit/1aa37ba545759a85c282ddefafa71ca4a52c9690
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-02-13T16:24:46+01:00
Commit Message:
DIRECTOR: Simplified and renamed castType2str()
Changed paths:
engines/director/cast.cpp
engines/director/graphics.cpp
engines/director/lingo/lingo-object.cpp
engines/director/types.cpp
engines/director/types.h
diff --git a/engines/director/cast.cpp b/engines/director/cast.cpp
index 1d6905690cd..6478ca91606 100644
--- a/engines/director/cast.cpp
+++ b/engines/director/cast.cpp
@@ -1522,7 +1522,7 @@ Common::String Cast::formatCastSummary(int castId = -1) {
CastMemberInfo *castMemberInfo = getCastMemberInfo(*it);
Common::String info = castMember->formatInfo();
result += Common::String::format("%5d: type=%s, name=\"%s\"",
- *it, castTypeToString(castMember->_type).c_str(),
+ *it, castType2str(castMember->_type),
castMemberInfo ? castMemberInfo->name.c_str() : ""
);
diff --git a/engines/director/graphics.cpp b/engines/director/graphics.cpp
index 7e9285ca5d0..2ca324f12f1 100644
--- a/engines/director/graphics.cpp
+++ b/engines/director/graphics.cpp
@@ -87,7 +87,7 @@ Image::ImageDecoder *DirectorEngine::getTile(int num) {
if (member->_type != kCastBitmap) {
warning("BUILDBOT: DirectorEngine::getTile(%d) VWTL refers to incorrect cast %s type %s", num,
- tile->bitmapId.asString().c_str(), castTypeToString(member->_type).c_str());
+ tile->bitmapId.asString().c_str(), castType2str(member->_type));
return _builtinTiles[num].img;
}
diff --git a/engines/director/lingo/lingo-object.cpp b/engines/director/lingo/lingo-object.cpp
index 8bca3c3b754..25f270a2464 100644
--- a/engines/director/lingo/lingo-object.cpp
+++ b/engines/director/lingo/lingo-object.cpp
@@ -708,7 +708,7 @@ Datum CastMember::getField(int field) {
break;
case kTheCastType:
d.type = SYMBOL;
- d.u.s = new Common::String(castTypeToString(_type));
+ d.u.s = new Common::String(castType2str(_type));
break;
case kTheFileName:
if (castInfo)
diff --git a/engines/director/types.cpp b/engines/director/types.cpp
index 59e8038f230..6a54f0f9614 100644
--- a/engines/director/types.cpp
+++ b/engines/director/types.cpp
@@ -37,53 +37,38 @@ const char *scriptType2str(ScriptType scr) {
if (scr < 0)
return "NoneScript";
- if (scr > kMaxScriptType)
+ if (scr > kMaxScriptType) {
+ warning("BUILDBOT: Unknown scriptType: %d", scr);
return "<unknown>";
+ }
return scriptTypes[scr];
}
-Common::String castTypeToString(const CastType &type) {
- Common::String res;
- switch (type) {
- case kCastBitmap:
- res = "bitmap";
- break;
- case kCastPalette:
- res = "palette";
- break;
- case kCastButton:
- res = "button";
- break;
- case kCastPicture:
- res = "picture";
- break;
- case kCastDigitalVideo:
- res = "digitalVideo";
- break;
- case kCastLingoScript:
- res = "script";
- break;
- case kCastShape:
- res = "shape";
- break;
- case kCastFilmLoop:
- res = "filmLoop";
- break;
- case kCastSound:
- res = "sound";
- break;
- case kCastMovie:
- res = "movie";
- break;
- case kCastText:
- res = "text";
- break;
- default:
- res = "empty";
- break;
- }
- return res;
+const char *castTypes[] = {
+ "empty",
+ "bitmap",
+ "filmLoop",
+ "text",
+ "palette",
+ "picture",
+ "sound",
+ "button",
+ "shape",
+ "movie",
+ "digitalVideo",
+ "script",
+ "RTE",
+};
+const char *castType2str(CastType type) {
+ if (type == kCastTypeAny)
+ return "any";
+
+ if (type <= kCastRTE)
+ return castTypes[type];
+
+ warning("BUILDBOT: Unknown castType: %d", type);
+ return "<unknown>";
}
diff --git a/engines/director/types.h b/engines/director/types.h
index 76572aeed1c..f8380c7fd30 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -60,7 +60,7 @@ enum ScriptType {
kMovieScript = 2,
kEventScript = 3,
kTestScript = 4,
- kMaxScriptType = 4 // Sync with cast.cpp:46, array scriptTypes[]
+ kMaxScriptType = 4 // Sync with types.cpp:28, array scriptTypes[]
};
enum ScriptFlag {
@@ -413,7 +413,7 @@ typedef Common::Array<Datum> DatumArray;
typedef Common::Array<PCell> PropertyArray;
const char *scriptType2str(ScriptType scr);
-Common::String castTypeToString(const CastType &type);
+const char *castType2str(CastType type);
} // End of namespace Director
Commit: 82cbdc5300c8b3661b0f322e428d72c84be96950
https://github.com/scummvm/scummvm/commit/82cbdc5300c8b3661b0f322e428d72c84be96950
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-02-13T16:24:46+01:00
Commit Message:
DIRECTOR: Catch unknown platforms by the buildbot
Changed paths:
engines/director/util.cpp
diff --git a/engines/director/util.cpp b/engines/director/util.cpp
index 3e1182e6d97..662821b4475 100644
--- a/engines/director/util.cpp
+++ b/engines/director/util.cpp
@@ -1034,7 +1034,7 @@ Common::Platform platformFromID(uint16 id) {
case 2:
return Common::kPlatformWindows;
default:
- warning("platformFromID: Unknown platform ID %d", id);
+ warning("BUILDBOT: platformFromID: Unknown platform ID %d", id);
break;
}
return Common::kPlatformUnknown;
Commit: 7d6018e66374f35508668231dc5fd1f117e4a4dd
https://github.com/scummvm/scummvm/commit/7d6018e66374f35508668231dc5fd1f117e4a4dd
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2023-02-13T16:24:46+01:00
Commit Message:
DIRECTOR: Implement and use spriteType2str()
Changed paths:
engines/director/frame.cpp
engines/director/score.cpp
engines/director/sprite.cpp
engines/director/types.cpp
engines/director/types.h
engines/director/window.cpp
diff --git a/engines/director/frame.cpp b/engines/director/frame.cpp
index edcd3c0e165..25663d5ddd9 100644
--- a/engines/director/frame.cpp
+++ b/engines/director/frame.cpp
@@ -410,11 +410,13 @@ Common::String Frame::formatChannelInfo() {
for (int i = 0; i < _numChannels; i++) {
Sprite &sprite = *_sprites[i + 1];
if (sprite._castId.member) {
- result += Common::String::format("CH: %-3d castId: %s, [inkData: 0x%02x [ink: %d, trails: %d, line: %d], %dx%d@%d,%d type: %d fg: %d bg: %d], script: %s, flags2: 0x%x, unk2: 0x%x, unk3: 0x%x\n",
+ result += Common::String::format("CH: %-3d castId: %s, [inkData: 0x%02x [ink: %d, trails: %d, line: %d], %dx%d@%d,%d type: %d (%s) fg: %d bg: %d], script: %s, flags2: 0x%x, unk2: 0x%x, unk3: 0x%x\n",
i + 1, sprite._castId.asString().c_str(), sprite._inkData,
sprite._ink, sprite._trails, sprite._thickness, sprite._width, sprite._height,
sprite._startPoint.x, sprite._startPoint.y,
- sprite._spriteType, sprite._foreColor, sprite._backColor, sprite._scriptId.asString().c_str(), sprite._colorcode, sprite._blendAmount, sprite._unk3);
+ sprite._spriteType, spriteType2str(sprite._spriteType), sprite._foreColor,
+ sprite._backColor, sprite._scriptId.asString().c_str(), sprite._colorcode,
+ sprite._blendAmount, sprite._unk3);
} else {
result += Common::String::format("CH: %-3d castId: 000\n", i + 1);
}
diff --git a/engines/director/score.cpp b/engines/director/score.cpp
index 897e3cfc2e1..d288ec9b1bf 100644
--- a/engines/director/score.cpp
+++ b/engines/director/score.cpp
@@ -1295,7 +1295,9 @@ void Score::setSpriteCasts() {
for (uint16 j = 0; j < _frames[i]->_sprites.size(); j++) {
_frames[i]->_sprites[j]->setCast(_frames[i]->_sprites[j]->_castId);
- debugC(1, kDebugImages, "Score::setSpriteCasts(): Frame: %d Channel: %d castId: %s type: %d", i, j, _frames[i]->_sprites[j]->_castId.asString().c_str(), _frames[i]->_sprites[j]->_spriteType);
+ debugC(1, kDebugImages, "Score::setSpriteCasts(): Frame: %d Channel: %d castId: %s type: %d (%s)",
+ i, j, _frames[i]->_sprites[j]->_castId.asString().c_str(), _frames[i]->_sprites[j]->_spriteType,
+ spriteType2str(_frames[i]->_sprites[j]->_spriteType));
}
}
}
@@ -1466,11 +1468,13 @@ Common::String Score::formatChannelInfo() {
Channel &channel = *_channels[i + 1];
Sprite &sprite = *channel._sprite;
if (sprite._castId.member) {
- result += Common::String::format("CH: %-3d castId: %s, visible: %d, [inkData: 0x%02x [ink: %d, trails: %d, line: %d], %dx%d@%d,%d type: %d fg: %d bg: %d], script: %s, flags2: 0x%x, unk2: 0x%x, unk3: 0x%x, constraint: %d, puppet: %d, stretch: %d\n",
+ result += Common::String::format("CH: %-3d castId: %s, visible: %d, [inkData: 0x%02x [ink: %d, trails: %d, line: %d], %dx%d@%d,%d type: %d (%s) fg: %d bg: %d], script: %s, flags2: 0x%x, unk2: 0x%x, unk3: 0x%x, constraint: %d, puppet: %d, stretch: %d\n",
i + 1, sprite._castId.asString().c_str(), channel._visible, sprite._inkData,
sprite._ink, sprite._trails, sprite._thickness, channel._width, channel._height,
channel._currentPoint.x, channel._currentPoint.y,
- sprite._spriteType, sprite._foreColor, sprite._backColor, sprite._scriptId.asString().c_str(), sprite._colorcode, sprite._blendAmount, sprite._unk3, channel._constraint, sprite._puppet, sprite._stretch);
+ sprite._spriteType, spriteType2str(sprite._spriteType), sprite._foreColor, sprite._backColor,
+ sprite._scriptId.asString().c_str(), sprite._colorcode, sprite._blendAmount, sprite._unk3,
+ channel._constraint, sprite._puppet, sprite._stretch);
} else {
result += Common::String::format("CH: %-3d castId: 000\n", i + 1);
}
diff --git a/engines/director/sprite.cpp b/engines/director/sprite.cpp
index 3a9ba29a5cf..0ca21723d68 100644
--- a/engines/director/sprite.cpp
+++ b/engines/director/sprite.cpp
@@ -165,10 +165,10 @@ void Sprite::createQDMatte() {
break;
case kLineBottomTopSprite:
case kLineTopBottomSprite:
- warning("Sprite::createQDMatte doesn't support creating matte for type %d", _spriteType);
+ warning("Sprite::createQDMatte doesn't support creating matte for type %d (%s)", _spriteType, spriteType2str(_spriteType));
break;
default:
- warning("Sprite::createQDMatte Expected shape type but got type %d", _spriteType);
+ warning("Sprite::createQDMatte Expected shape type but got type %d (%s)", _spriteType, spriteType2str(_spriteType));
}
Graphics::Surface surface;
diff --git a/engines/director/types.cpp b/engines/director/types.cpp
index 6a54f0f9614..93e5b35cd83 100644
--- a/engines/director/types.cpp
+++ b/engines/director/types.cpp
@@ -60,6 +60,7 @@ const char *castTypes[] = {
"script",
"RTE",
};
+
const char *castType2str(CastType type) {
if (type == kCastTypeAny)
return "any";
@@ -71,5 +72,35 @@ const char *castType2str(CastType type) {
return "<unknown>";
}
+const char *spriteType[] = {
+ "Inactive",
+ "Bitmap",
+ "Rectangle",
+ "RoundedRectangle",
+ "Oval",
+ "LineTopBottom",
+ "LineBottomTop",
+ "Text",
+ "Button",
+ "Checkbox",
+ "RadioButton",
+ "Pict",
+ "OutlinedRectangle",
+ "OutlinedRoundedRectangle",
+ "OutlinedOval",
+ "ThickLine",
+ "CastMember",
+ "FilmLoop",
+ "DirMovie",
+};
+
+const char *spriteType2str(SpriteType type) {
+ if (type >= kInactiveSprite && type <= kDirMovieSprite)
+ return spriteType[type];
+
+ warning("BUILDBOT: Unknown spriteType: %d", type);
+ return "<unknown>";
+}
+
} // End of namespace Director
diff --git a/engines/director/types.h b/engines/director/types.h
index f8380c7fd30..df7931b2a6b 100644
--- a/engines/director/types.h
+++ b/engines/director/types.h
@@ -158,7 +158,7 @@ enum SpriteType {
kOutlinedOvalSprite = 14, // QuickDraw
kThickLineSprite = 15, // 2pt width line
kCastMemberSprite = 16, // Specified by cast member
- kFilmLoopSpite = 17,
+ kFilmLoopSprite = 17,
kDirMovieSprite = 18
};
@@ -414,6 +414,7 @@ typedef Common::Array<PCell> PropertyArray;
const char *scriptType2str(ScriptType scr);
const char *castType2str(CastType type);
+const char *spriteType2str(SpriteType type);
} // End of namespace Director
diff --git a/engines/director/window.cpp b/engines/director/window.cpp
index f8327f62908..f380e3e4e39 100644
--- a/engines/director/window.cpp
+++ b/engines/director/window.cpp
@@ -228,8 +228,12 @@ void Window::inkBlitFrom(Channel *channel, Common::Rect destRect, Graphics::Mana
pd.inkBlitSurface(srcRect, channel->getMask());
}
} else {
- if (debugChannelSet(kDebugImages, 2))
- warning("Window::inkBlitFrom: No source surface: spriteType: %d, castType: %d, castId: %s", channel->_sprite->_spriteType, channel->_sprite->_cast ? channel->_sprite->_cast->_type : 0, channel->_sprite->_castId.asString().c_str());
+ if (debugChannelSet(kDebugImages, 2)) {
+ CastType castType = channel->_sprite->_cast ? channel->_sprite->_cast->_type : kCastTypeNull;
+ warning("Window::inkBlitFrom: No source surface: spriteType: %d (%s), castType: %d (%s), castId: %s",
+ channel->_sprite->_spriteType, spriteType2str(channel->_sprite->_spriteType), castType, castType2str(castType),
+ channel->_sprite->_castId.asString().c_str());
+ }
}
}
More information about the Scummvm-git-logs
mailing list