[Scummvm-git-logs] scummvm master -> 34b7451b15a76658ded935c2ff6b96e8fa4ab030
phcoder
phcoder at gmail.com
Mon Oct 26 08:39:16 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:
0446966e32 HADESCH: support restore from launcher
34b7451b15 HADESCH: Fix mast softlock in argo scene
Commit: 0446966e32afb9a872110a85d527d3a11ce79791
https://github.com/scummvm/scummvm/commit/0446966e32afb9a872110a85d527d3a11ce79791
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-26T09:38:50+01:00
Commit Message:
HADESCH: support restore from launcher
Changed paths:
engines/hadesch/hadesch.cpp
engines/hadesch/metaengine.cpp
diff --git a/engines/hadesch/hadesch.cpp b/engines/hadesch/hadesch.cpp
index b33e5013a8..c315828f54 100644
--- a/engines/hadesch/hadesch.cpp
+++ b/engines/hadesch/hadesch.cpp
@@ -518,7 +518,12 @@ Common::Error HadeschEngine::run() {
debug("HadeschEngine: moving to main loop");
_nextRoom.clear();
- _nextRoom.push_back(kIntroRoom);
+ int loadSlot = ConfMan.getInt("save_slot");
+ if (loadSlot >= 0) {
+ loadGameState(loadSlot);
+ } else {
+ _nextRoom.push_back(kIntroRoom);
+ }
while (true) {
if (_isRestoring) {
diff --git a/engines/hadesch/metaengine.cpp b/engines/hadesch/metaengine.cpp
index 752a1bc730..1c7a609b12 100644
--- a/engines/hadesch/metaengine.cpp
+++ b/engines/hadesch/metaengine.cpp
@@ -32,6 +32,7 @@ public:
bool hasFeature(MetaEngineFeature f) const override {
return
(f == kSupportsListSaves) ||
+ (f == kSupportsLoadingDuringStartup) ||
(f == kSupportsDeleteSave) ||
(f == kSavesSupportMetaInfo) ||
(f == kSavesSupportThumbnail) ||
Commit: 34b7451b15a76658ded935c2ff6b96e8fa4ab030
https://github.com/scummvm/scummvm/commit/34b7451b15a76658ded935c2ff6b96e8fa4ab030
Author: Vladimir Serbinenko (phcoder at google.com)
Date: 2020-10-26T09:38:50+01:00
Commit Message:
HADESCH: Fix mast softlock in argo scene
Changed paths:
engines/hadesch/rooms/argo.cpp
diff --git a/engines/hadesch/rooms/argo.cpp b/engines/hadesch/rooms/argo.cpp
index 4b40116df1..83ec2dd338 100644
--- a/engines/hadesch/rooms/argo.cpp
+++ b/engines/hadesch/rooms/argo.cpp
@@ -82,7 +82,8 @@ enum {
kReturnToIdleEvent = 27003,
kIdleEvent = 27008,
kOutroFinished = 27009,
- kOutroFinishedCounter = 1027001
+ kOutroFinishedCounter = 1027001,
+ kMastSoundFinished = 1027002
};
static Common::String
@@ -145,6 +146,7 @@ public:
ArgoHandler() {
_prevId = kInvalidRoom;
_destination = kInvalidRoom;
+ _mastHeadIsBusy = false;
}
void handleClick(const Common::String &name) override {
Common::SharedPtr<VideoRoom> room = g_vm->getVideoRoom();
@@ -188,6 +190,7 @@ public:
playMastSound("intro3", kReturnToIdleEvent);
break;
case kReturnToIdleEvent:
+ _mastHeadIsBusy = false;
room->enableMouse();
break;
case kOutroFinishedCounter:
@@ -199,9 +202,11 @@ public:
g_vm->moveToRoom(_destination);
break;
case kIdleEvent:
- playMastSound("idlesound");
- room->selectFrame(kMastHeadAnim, kMastHeadZ, 1);
g_vm->addTimer(kIdleEvent, 30000);
+ if (_mastHeadIsBusy)
+ break;
+ playMastSound("idlesound", kMastSoundFinished);
+ room->selectFrame(kMastHeadAnim, kMastHeadZ, 1);
break;
case 27301:
room->playAnimWithSound(kMastHeadAnim, _mastSoundName, kMastHeadZ,
@@ -212,6 +217,9 @@ public:
room->playAnim(kMastHeadAnim, kMastHeadZ,
PlayAnimParams::keepLastFrame().partial(8, 0), _mastHeadEndEvent);
break;
+ case kMastSoundFinished:
+ _mastHeadIsBusy = false;
+ break;
}
}
void handleMouseOver(const Common::String &name) override {
@@ -323,10 +331,11 @@ public:
}
private:
- void playMastSound(const Common::String &name, int event = -1) {
+ void playMastSound(const Common::String &name, int event = kMastSoundFinished) {
Common::SharedPtr<VideoRoom> room = g_vm->getVideoRoom();
_mastSoundName = name;
_mastHeadEndEvent = event;
+ _mastHeadIsBusy = true;
room->playAnim(kMastHeadAnim, kMastHeadZ, PlayAnimParams::keepLastFrame().partial(1, 8), 27301);
}
@@ -336,6 +345,7 @@ private:
int _cloudsMoveStart;
bool _cloudsMoving;
int _mastHeadEndEvent;
+ bool _mastHeadIsBusy;
Common::String _mastSoundName;
};
More information about the Scummvm-git-logs
mailing list