[Scummvm-git-logs] scummvm master -> eefe7686fe8fd898e70d4eb6cd11ca32f66ffa32
mduggan
noreply at scummvm.org
Tue Dec 24 03:11:48 UTC 2024
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:
3db6e1344b DGDS: Small rendering fixes for Willy Beamish
dd82dd285c DGDS: Start implementation of willy-beamish ADS opcodes
36d75b8abe DGDS: Also report patch resources as available
eefe7686fe DGDS: Fix more small Willy Beamish issues
Commit: 3db6e1344b3da29ee79bc0043d96870a327703eb
https://github.com/scummvm/scummvm/commit/3db6e1344b3da29ee79bc0043d96870a327703eb
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-12-24T14:08:42+11:00
Commit Message:
DGDS: Small rendering fixes for Willy Beamish
Changed paths:
engines/dgds/dialog.cpp
engines/dgds/inventory.cpp
engines/dgds/request.cpp
diff --git a/engines/dgds/dialog.cpp b/engines/dgds/dialog.cpp
index aa471c75cd8..b269b2510cd 100644
--- a/engines/dgds/dialog.cpp
+++ b/engines/dgds/dialog.cpp
@@ -146,7 +146,7 @@ void Dialog::drawType2BackgroundBeamish(Graphics::ManagedSurface *dst, const Com
// TODO: This needs updating.
_state->_loc = DgdsRect(_rect.x + 12, _rect.y + 10, _rect.width - 24, _rect.height - 20);
if (title.empty()) {
- RequestData::fillBackground(dst, _rect.x, _rect.y, _rect.width, _rect.height, 0);
+ dst->fillRect(Common::Rect(Common::Point(_rect.x + 2, _rect.y + 2), _rect.width - 4, _rect.height - 4), 0);
RequestData::drawCorners(dst, 54, _rect.x, _rect.y, _rect.width, _rect.height);
} else {
dst->fillRect(Common::Rect(Common::Point(_rect.x + 2, _rect.y + 2), _rect.width - 4, _rect.height - 4), 0);
diff --git a/engines/dgds/inventory.cpp b/engines/dgds/inventory.cpp
index ecab7d84aab..defabceea98 100644
--- a/engines/dgds/inventory.cpp
+++ b/engines/dgds/inventory.cpp
@@ -129,18 +129,20 @@ void Inventory::drawHeader(Graphics::ManagedSurface &surf) {
byte txtColor = (gameId == GID_HOC ? 25 : 0);
int titleWidth = font->getStringWidth(title);
- int y1 = r._rect.y + (gameId == GID_DRAGON ? 7 : 11);
// Dragon always draws the header in the same spot; HoC centers it.
- int x1;
+ int x1, y1;
if (gameId == GID_DRAGON) {
// Constant offset
x1 = r._rect.x + 112;
+ y1 = r._rect.y + 7;
} else if (gameId == GID_HOC) {
// Centered on window
x1 = r._rect.x + (r._rect.width - font->getStringWidth(title)) / 2 - 3;
+ y1 = r._rect.y + 11;
} else { // GID_WILLY
// Constant offset
- x1 = r._rect.x + 155;
+ x1 = r._rect.x + 154;
+ y1 = r._rect.y + 8;
}
// Draw the border around the text
@@ -171,9 +173,11 @@ void Inventory::draw(Graphics::ManagedSurface &surf, int itemCount) {
_itemZoomBox->setVisible(true);
boxreq._rect.width = _fullWidth;
} else {
- if (gameId != GID_WILLY)
- _itemZoomBox->setVisible(false);
boxreq._rect.width = _itemBox->_width + _itemBox->_x * 2;
+ if (gameId != GID_WILLY) {
+ _itemZoomBox->setVisible(false);
+ boxreq._rect.width--;
+ }
}
//
@@ -254,7 +258,7 @@ void Inventory::drawTime(Graphics::ManagedSurface &surf) {
void Inventory::drawItems(Graphics::ManagedSurface &surf) {
DgdsEngine *engine = DgdsEngine::getInstance();
const Common::SharedPtr<Image> &icons = engine->getIcons();
- int x = 0;
+ int x = (engine->getGameId() == GID_WILLY ? -2 : 0);
int y = 0;
const int xstep = _itemArea->_xStep;
diff --git a/engines/dgds/request.cpp b/engines/dgds/request.cpp
index 9ac8c6ed545..f57ac69853a 100644
--- a/engines/dgds/request.cpp
+++ b/engines/dgds/request.cpp
@@ -475,7 +475,7 @@ void ButtonGadget::draw(Graphics::ManagedSurface *dst) const {
yoffset = y + yoffset / 2;
if (gameId == GID_WILLY)
- yoffset--;
+ yoffset -= 2;
int lineWidth = font->getStringWidth(line1);
font->drawString(dst, line1, x + (_width - lineWidth) / 2 + 1, yoffset + 2, lineWidth, textCol);
Commit: dd82dd285c106bfd093210984b694cf5a56d0c44
https://github.com/scummvm/scummvm/commit/dd82dd285c106bfd093210984b694cf5a56d0c44
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-12-24T14:08:42+11:00
Commit Message:
DGDS: Start implementation of willy-beamish ADS opcodes
Changed paths:
engines/dgds/ads.cpp
engines/dgds/ads.h
diff --git a/engines/dgds/ads.cpp b/engines/dgds/ads.cpp
index a10fadfeb5f..dc4bf2b0611 100644
--- a/engines/dgds/ads.cpp
+++ b/engines/dgds/ads.cpp
@@ -342,7 +342,7 @@ bool ADSInterpreter::logicOpResult(uint16 code, const TTMEnviro *env, const TTMS
int16 seqNum = seq ? seq->_seqNum : 0;
const char *optype = (code < 0x1300 ? "while" : "if");
- assert(seq || code == 0x1380 || code == 0x1390);
+ assert(seq || (code & 0xFF) >= 0x80);
switch (code) {
case 0x1010: // WHILE paused
@@ -390,6 +390,24 @@ bool ADSInterpreter::logicOpResult(uint16 code, const TTMEnviro *env, const TTMS
debugN(10, "ADS 0x%04x: if detail >= %d", code, arg);
return true;
//return ((int)DgdsEngine::getInstance()->getDetailLevel() >= arg);
+ case 0x13A0: // IF _adsVariable[0] <=
+ debugN(10, "ADS 0x%04x: if adsVariable[0] <= %d", code, arg);
+ return _adsData->_adsVariable[0] <= arg;
+ case 0x13A1: // IF some_ads_variable[1] <=
+ debugN(10, "ADS 0x%04x: if adsVariable[1] <= %d", code, arg);
+ return _adsData->_adsVariable[1] <= arg;
+ case 0x13B0: // IF some_ads_variable[0] >
+ debugN(10, "ADS 0x%04x: if adsVariable[0] > %d", code, arg);
+ return _adsData->_adsVariable[0] > arg;
+ case 0x13B1: // IF some_ads_variable[1] >
+ debugN(10, "ADS 0x%04x: if adsVariable[1] > %d", code, arg);
+ return _adsData->_adsVariable[1] > arg;
+ case 0x13C0: // IF some_ads_variable[0] ==
+ debugN(10, "ADS 0x%04x: if adsVariable[0] == %d", code, arg);
+ return _adsData->_adsVariable[0] == arg;
+ case 0x13C1: // IF some_ads_variable[1] ==
+ debugN(10, "ADS 0x%04x: if adsVariable[1] == %d", code, arg);
+ return _adsData->_adsVariable[1] == arg;
default:
error("Not an ADS logic op: %04x, how did we get here?", code);
}
@@ -405,7 +423,7 @@ bool ADSInterpreter::handleLogicOp(uint16 code, Common::SeekableReadStream *scr)
Common::SharedPtr<TTMSeq> seq;
TTMEnviro *env = nullptr;
- if (code != 0x1380 && code != 0x1390) {
+ if ((code & 0xFF) < 0x80) {
enviro = scr->readUint16LE();
seqnum = scr->readUint16LE();
seq = findTTMSeq(enviro, seqnum);
@@ -415,7 +433,7 @@ bool ADSInterpreter::handleLogicOp(uint16 code, Common::SeekableReadStream *scr)
return false;
}
} else {
- // TODO: this value is not actually enviro? for now just read it.
+ // We load this into "enviro" but it's just the parameter of the op.
enviro = scr->readUint16LE();
}
@@ -544,6 +562,13 @@ bool ADSInterpreter::handleOperation(uint16 code, Common::SeekableReadStream *sc
case 0x1370: // IF RUNNING, 2 params
case 0x1380: // IF DETAIL LEVEL <= x, 1 param (HOC+ only)
case 0x1390: // IF DETAIL LEVEL >= x, 1 param (HOC+ only)
+ // The next 6 are in HoC code but maybe never used?
+ case 0x13A0: // IF _adsVariable[0] <=
+ case 0x13A1: // IF _adsVariable[1] <=
+ case 0x13B0: // IF _adsVariable[0] >
+ case 0x13B1: // IF _adsVariable[1] >
+ case 0x13C0: // IF _adsVariable[0] ==
+ case 0x13C1: // IF _adsVariable[1] ==
return handleLogicOp(code, scr);
case 0x1500: // ELSE / Skip to end-if, 0 params
debug(10, "ADS 0x%04x: else (skip to end if)", code);
@@ -738,19 +763,11 @@ bool ADSInterpreter::handleOperation(uint16 code, Common::SeekableReadStream *sc
return true;
}
- case 0xffff: // END
+ case 0xFFFF: // END
debug(10, "ADS 0xFFFF: end");
return false;
//// unknown / to-be-implemented
- // The next 6 are in HoC code but maybe never used?
- case 0x13A0: // IF some_ads_variable[0] <=
- case 0x13A1: // IF some_ads_variable[1] <=
- case 0x13B0: // IF some_ads_variable[0] >
- case 0x13B1: // IF some_ads_variable[1] >
- case 0x13C0: // IF some_ads_variable[0] ==
- case 0x13C1: // IF some_ads_variable[1] ==
-
case 0xFF10:
case 0xFFF0: // END_IF, 0 params
default: {
diff --git a/engines/dgds/ads.h b/engines/dgds/ads.h
index 9115c46f213..6ecc0c91123 100644
--- a/engines/dgds/ads.h
+++ b/engines/dgds/ads.h
@@ -37,6 +37,7 @@ public:
for (int i = 0; i < ARRAYSIZE(_segments); i++)
_segments[i] = -1;
+ ARRAYCLEAR(_adsVariable);
ARRAYCLEAR(_countdown);
ARRAYCLEAR(_charWhile);
}
@@ -56,6 +57,7 @@ public:
bool _hitTTMOp0110;
bool _hitBranchOp;
int16 _runningSegmentIdx;
+ int16 _adsVariable[2];
Common::Error syncState(Common::Serializer &s);
};
Commit: 36d75b8abeb105122d9893fef27072822789d5f7
https://github.com/scummvm/scummvm/commit/36d75b8abeb105122d9893fef27072822789d5f7
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-12-24T14:08:42+11:00
Commit Message:
DGDS: Also report patch resources as available
Local files can be opened by the resource manager, so we can say they are
available so various checks will pass.
Changed paths:
engines/dgds/resource.cpp
diff --git a/engines/dgds/resource.cpp b/engines/dgds/resource.cpp
index 22de4099f77..5176e31d74a 100644
--- a/engines/dgds/resource.cpp
+++ b/engines/dgds/resource.cpp
@@ -141,7 +141,7 @@ Resource ResourceManager::getResourceInfo(Common::String name) {
bool ResourceManager::hasResource(Common::String name) const {
name.toLowercase();
- return _resources.contains(name);
+ return _resources.contains(name) || Common::File::exists(Common::Path(name));
}
DgdsChunkReader::DgdsChunkReader(Common::SeekableReadStream *stream)
Commit: eefe7686fe8fd898e70d4eb6cd11ca32f66ffa32
https://github.com/scummvm/scummvm/commit/eefe7686fe8fd898e70d4eb6cd11ca32f66ffa32
Author: Matthew Duggan (mgithub at guarana.org)
Date: 2024-12-24T14:08:42+11:00
Commit Message:
DGDS: Fix more small Willy Beamish issues
* Looking at items in inventory now works
* Time skip buttons rendered correctly in inventory
* Scene trigger fixes (countdown and scene num now correct)
Changed paths:
engines/dgds/console.cpp
engines/dgds/request.cpp
engines/dgds/scene.cpp
engines/dgds/scene.h
engines/dgds/scene_op.cpp
engines/dgds/scene_op.h
diff --git a/engines/dgds/console.cpp b/engines/dgds/console.cpp
index 709aa7bcc17..4b7b117ecf6 100644
--- a/engines/dgds/console.cpp
+++ b/engines/dgds/console.cpp
@@ -306,7 +306,7 @@ bool Console::cmdTrigger(int argc, const char **argv) {
debugPrintf("Trigger %d is %d\n", num, val);
} else if (argc == 3) {
bool enable = atoi(argv[2]);
- scene->enableTrigger(num, enable);
+ scene->enableTrigger(0, num, enable);
debugPrintf("Trigger %d set to %d\n", num, enable);
}
diff --git a/engines/dgds/request.cpp b/engines/dgds/request.cpp
index f57ac69853a..a8a769e12e0 100644
--- a/engines/dgds/request.cpp
+++ b/engines/dgds/request.cpp
@@ -432,7 +432,8 @@ byte ButtonGadget::drawWillyBg(Graphics::ManagedSurface *dst, bool enabled) cons
uint16 cornerFrame = enabled ? 8 : 16;
RequestData::drawCorners(dst, cornerFrame, pt.x, pt.y, _width, _height);
int16 fillHeight = enabled ? _height - 8 : _height - 6;
- dst->fillRect(Common::Rect(Common::Point(pt.x + 8, pt.y + 3), _width - 16, fillHeight), WillyButtonColor);
+ if (_width > 16 && fillHeight > 0)
+ dst->fillRect(Common::Rect(Common::Point(pt.x + 8, pt.y + 3), _width - 16, fillHeight), WillyButtonColor);
return 0;
}
diff --git a/engines/dgds/scene.cpp b/engines/dgds/scene.cpp
index 6f7122e1fd3..5144382d981 100644
--- a/engines/dgds/scene.cpp
+++ b/engines/dgds/scene.cpp
@@ -349,7 +349,9 @@ bool Scene::readConditionalSceneOpList(Common::SeekableReadStream *s, Common::Ar
list.resize(num);
for (ConditionalSceneOp &dst : list) {
- dst._opCode = s->readUint16LE();
+ dst._opCode = static_cast<SceneOpCode>(s->readUint16LE());
+ if (dst._opCode > kSceneOpMaxCode || dst._opCode == kSceneOpNone)
+ error("Unexpected scene opcode %d", (int)dst._opCode);
readConditionList(s, dst._conditionList);
readOpList(s, dst._opList);
}
@@ -651,12 +653,13 @@ void SDSScene::unload() {
_talkData.clear();
_dynamicRects.clear();
_conversation.unload();
+ _conditionalOps.clear();
_sceneDialogFlags = kDlgFlagNone;
}
Common::String SDSScene::dump(const Common::String &indent) const {
- Common::String str = Common::String::format("%sSDSScene<num %d %d ads %s", indent.c_str(), _num, _field6_0x14, _adsFile.c_str());
+ Common::String str = Common::String::format("%sSDSScene<ver %s num %d %d ads %s", indent.c_str(), _version.c_str(), _num, _field6_0x14, _adsFile.c_str());
str += DebugUtil::dumpStructList(indent, "enterSceneOps", _enterSceneOps);
str += DebugUtil::dumpStructList(indent, "leaveSceneOps", _leaveSceneOps);
str += DebugUtil::dumpStructList(indent, "preTickOps", _preTickOps);
@@ -666,6 +669,7 @@ Common::String SDSScene::dump(const Common::String &indent) const {
str += DebugUtil::dumpStructList(indent, "objInteractions2", _objInteractions2);
str += DebugUtil::dumpStructList(indent, "dialogues", _dialogs);
str += DebugUtil::dumpStructList(indent, "triggers", _triggers);
+ str += DebugUtil::dumpStructList(indent, "conditionalOps", _conditionalOps);
str += "\n";
str += indent + ">";
@@ -673,10 +677,15 @@ Common::String SDSScene::dump(const Common::String &indent) const {
}
-void SDSScene::enableTrigger(uint16 num, bool enable /* = true */) {
+void SDSScene::enableTrigger(uint16 sceneNum, uint16 num, bool enable /* = true */) {
+ if (sceneNum && sceneNum != _num)
+ return;
+
for (auto &trigger : _triggers) {
if (trigger.getNum() == num) {
trigger._enabled = enable;
+ if (enable)
+ trigger._checksUntilRun = trigger._timesToCheckBeforeRunning;
return;
}
}
@@ -700,8 +709,8 @@ void SDSScene::checkTriggers() {
if (!trigger._enabled)
continue;
- if (trigger._timesToCheckBeforeRunning) {
- trigger._timesToCheckBeforeRunning--;
+ if (trigger._checksUntilRun) {
+ trigger._checksUntilRun--;
continue;
}
@@ -989,7 +998,7 @@ void SDSScene::showDialog(uint16 fileNum, uint16 dlgNum) {
loadDialogData(fileNum);
for (auto &dialog : _dialogs) {
- if (dialog._num == dlgNum) {
+ if (dialog._num == dlgNum && fileNum == dialog._fileNum) {
dialog.clearFlag(kDlgFlagHiFinished);
dialog.clearFlag(kDlgFlagRedrawSelectedActionChanged);
dialog.clearFlag(kDlgFlagHi10);
@@ -1757,7 +1766,7 @@ bool GDSScene::loadRestart(const Common::String &filename, ResourceManager *reso
num = triggers[t++];
while (num) {
uint16 val = triggers[t++];
- scene->enableTrigger(num, (bool)val);
+ scene->enableTrigger(0, num, (bool)val);
num = triggers[t++];
}
@@ -1830,7 +1839,7 @@ bool GDSScene::parse(Common::SeekableReadStream *stream) {
}
Common::String GDSScene::dump(const Common::String &indent) const {
- Common::String str = Common::String::format("%sGDSScene<icons %s", indent.c_str(), _iconFile.c_str());
+ Common::String str = Common::String::format("%sGDSScene<ver %s icons %s", indent.c_str(), _version.c_str(), _iconFile.c_str());
str += DebugUtil::dumpStructList(indent, "gameItems", _gameItems);
str += DebugUtil::dumpStructList(indent, "startGameOps", _startGameOps);
str += DebugUtil::dumpStructList(indent, "quitGameOps", _quitGameOps);
diff --git a/engines/dgds/scene.h b/engines/dgds/scene.h
index 944e84aa411..3f7b0b94a91 100644
--- a/engines/dgds/scene.h
+++ b/engines/dgds/scene.h
@@ -120,13 +120,14 @@ private:
class SceneTrigger {
public:
- SceneTrigger(uint16 num) : _num(num), _enabled(false), _timesToCheckBeforeRunning(0) {}
+ SceneTrigger(uint16 num) : _num(num), _enabled(false), _timesToCheckBeforeRunning(0), _checksUntilRun(0) {}
Common::String dump(const Common::String &indent) const;
Common::Array<SceneConditions> conditionList;
Common::Array<SceneOp> sceneOpList;
uint16 _timesToCheckBeforeRunning; // Only used in Beamish.
+ uint16 _checksUntilRun;
bool _enabled;
uint16 getNum() const { return _num; }
@@ -309,7 +310,7 @@ public:
Common::Error syncState(Common::Serializer &s) override;
void onDragFinish(const Common::Point &pt);
- void enableTrigger(uint16 num, bool enable = true);
+ void enableTrigger(uint16 sceneNum, uint16 num, bool enable = true);
Dialog *loadDialogData(uint16 num);
void freeDialogData(uint16 num);
diff --git a/engines/dgds/scene_op.cpp b/engines/dgds/scene_op.cpp
index b8878bc1471..684a31428f0 100644
--- a/engines/dgds/scene_op.cpp
+++ b/engines/dgds/scene_op.cpp
@@ -36,6 +36,7 @@
namespace Dgds {
static Common::String _sceneOpCodeName(SceneOpCode code) {
+ code = static_cast<SceneOpCode>(code & ~kSceneOpHasConditionalOpsFlag);
switch (code) {
case kSceneOpNone: return "none";
case kSceneOpChangeScene: return "changeScene";
@@ -53,16 +54,16 @@ static Common::String _sceneOpCodeName(SceneOpCode code) {
case kSceneOpAddFlagToDragItem: return "addFlagToDragItem";
case kSceneOpMoveItemsBetweenScenes: return "moveItemsBetweenScenes";
case kSceneOpOpenInventoryZoom: return "openInventoryZoom";
- case kSceneOpShowClock: return "sceneOpShowClock";
- case kSceneOpHideClock: return "sceneOpHideClock";
- case kSceneOpShowMouse: return "sceneOpShowMouse";
- case kSceneOpHideMouse: return "sceneOpHideMouse";
- case kSceneOpLoadTalkDataAndSetFlags: return "sceneOpLoadTalkDataAndSetFlags";
- case kSceneOpDrawVisibleTalkHeads: return "sceneOpDrawVisibleTalksHeads";
- case kSceneOpLoadTalkData: return "sceneOpLoadTalkData";
- case kSceneOpLoadDDSData: return "sceneOpLoadDDSData";
- case kSceneOpFreeDDSData: return "sceneOpFreeDDSData";
- case kSceneOpFreeTalkData: return "sceneOpFreeTalkData";
+ case kSceneOpShowClock: return "showClock";
+ case kSceneOpHideClock: return "hideClock";
+ case kSceneOpShowMouse: return "showMouse";
+ case kSceneOpHideMouse: return "hideMouse";
+ case kSceneOpLoadTalkDataAndSetFlags: return "loadTalkDataAndSetFlags";
+ case kSceneOpDrawVisibleTalkHeads: return "drawVisibleTalksHeads";
+ case kSceneOpLoadTalkData: return "loadTalkData";
+ case kSceneOpLoadDDSData: return "loadDDSData";
+ case kSceneOpFreeDDSData: return "freeDDSData";
+ case kSceneOpFreeTalkData: return "freeTalkData";
default:
break;
@@ -126,7 +127,10 @@ Common::String SceneOp::dump(const Common::String &indent) const {
argsStr += Common::String::format("%d ", i);
argsStr.setChar(']', argsStr.size() - 1);
}
- Common::String str = Common::String::format("%sSceneOp<op: %s args: %s", indent.c_str(), _sceneOpCodeName(_opCode).c_str(), argsStr.c_str());
+
+ const Common::String opName = _sceneOpCodeName(_opCode);
+ const char *isConditional = (_opCode & kSceneOpHasConditionalOpsFlag) ? "(cond)": "";
+ Common::String str = Common::String::format("%sSceneOp<op: %s%s args: %s", indent.c_str(), opName.c_str(), isConditional, argsStr.c_str());
str += DebugUtil::dumpStructList(indent, "conditionList", _conditionList);
if (!_conditionList.empty()) {
@@ -200,7 +204,10 @@ bool SceneOp::runCommonOp() const {
engine->getScene()->removeInvButtonFromHotAreaList();
break;
case kSceneOpEnableTrigger:
- engine->getScene()->enableTrigger(_args[0]);
+ if (_args.size() == 1)
+ engine->getScene()->enableTrigger(0, _args[0]);
+ else if (_args.size() > 1)
+ engine->getScene()->enableTrigger(_args[1], _args[0]);
break;
case kSceneOpChangeSceneToStored: {
int16 sceneNo = engine->getGameGlobals()->getGlobal(0x61);
@@ -396,4 +403,23 @@ bool SceneOp::runBeamishOp() const {
return false;
}
+
+Common::String ConditionalSceneOp::dump(const Common::String &indent) const {
+ const Common::String opName = _sceneOpCodeName(static_cast<SceneOpCode>(_opCode));
+ Common::String str = Common::String::format("%sConditionalSceneOp<op: %s", indent.c_str(), opName.c_str());
+
+ str += DebugUtil::dumpStructList(indent, "conditionList", _conditionList);
+ if (!_conditionList.empty()) {
+ str += "\n";
+ str += indent;
+ }
+ str += DebugUtil::dumpStructList(indent, "opList", _opList);
+ if (!_opList.empty()) {
+ str += "\n";
+ str += indent;
+ }
+ str += ">";
+ return str;
+}
+
} // end namespace Dgds
diff --git a/engines/dgds/scene_op.h b/engines/dgds/scene_op.h
index d7e0a0f3b3f..086ef7214c6 100644
--- a/engines/dgds/scene_op.h
+++ b/engines/dgds/scene_op.h
@@ -117,7 +117,7 @@ private:
class ConditionalSceneOp {
public:
- uint _opCode;
+ SceneOpCode _opCode;
Common::Array<SceneConditions> _conditionList;
Common::Array<SceneOp> _opList;
More information about the Scummvm-git-logs
mailing list