[Scummvm-git-logs] scummvm master -> 33b39061f38b9b3d6b0d313928508b146515ee74
neuromancer
noreply at scummvm.org
Sat Mar 22 11:05:50 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
33b39061f3 HYPNO: fix infinite video playback during missile sequence in wetlands
Commit: 33b39061f38b9b3d6b0d313928508b146515ee74
https://github.com/scummvm/scummvm/commit/33b39061f38b9b3d6b0d313928508b146515ee74
Author: aunnoman1 (aunnoman123 at outlook.com)
Date: 2025-03-22T12:05:46+01:00
Commit Message:
HYPNO: fix infinite video playback during missile sequence in wetlands
Changed paths:
engines/hypno/arcade.cpp
engines/hypno/hypno.cpp
engines/hypno/hypno.h
engines/hypno/wet/arcade.cpp
engines/hypno/wet/wet.cpp
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 5b25dc42c8d..afaa643f689 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -742,6 +742,12 @@ bool HypnoEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
if (secondary) {
if (_background->decoder->getCurFrame() % 2 == 0)
drawShoot(mousePos);
+
+ if (checkRButtonUp()) {
+ setRButtonUp(false);
+ return false;
+ }
+
return clickedSecondaryShoot(mousePos);
} else {
drawShoot(mousePos);
@@ -810,5 +816,12 @@ bool HypnoEngine::clickedSecondaryShoot(const Common::Point &mousePos) {
return false;
}
+bool HypnoEngine::checkRButtonUp() {
+ return false;
+}
+
+void HypnoEngine::setRButtonUp(const bool val) {
+ return;
+}
} // End of namespace Hypno
diff --git a/engines/hypno/hypno.cpp b/engines/hypno/hypno.cpp
index edb006f319e..852ae5eabe6 100644
--- a/engines/hypno/hypno.cpp
+++ b/engines/hypno/hypno.cpp
@@ -250,7 +250,9 @@ void HypnoEngine::runIntros(Videos &videos) {
clicks++;
}
break;
-
+ case Common::EVENT_RBUTTONUP:
+ setRButtonUp(true);
+ break;
default:
break;
}
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 85aadfc9f6c..ec27f6b974f 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -285,6 +285,8 @@ public:
virtual void missedTarget(Shoot *s, ArcadeShooting *arc);
virtual void missNoTarget(ArcadeShooting *arc);
virtual byte *getTargetColor(Common::String name, int levelId);
+ virtual bool checkRButtonUp();
+ virtual void setRButtonUp(const bool val);
// Segments
Segments _segments;
@@ -451,6 +453,9 @@ public:
void findNextSegment(ArcadeShooting *arc) override;
void initSegment(ArcadeShooting *arc) override;
byte *getTargetColor(Common::String name, int levelId) override;
+ bool checkRButtonUp() override;
+ void setRButtonUp(const bool val) override;
+
bool hasFeature(EngineFeature f) const override {
return (f == kSupportsReturnToLauncher);
@@ -486,6 +491,8 @@ private:
int _c40lastTurn;
int _c50LeftTurns;
int _c50RigthTurns;
+
+ bool _rButtonUp;
};
class SpiderEngine : public HypnoEngine {
diff --git a/engines/hypno/wet/arcade.cpp b/engines/hypno/wet/arcade.cpp
index ebc5b277310..2eddbc071f9 100644
--- a/engines/hypno/wet/arcade.cpp
+++ b/engines/hypno/wet/arcade.cpp
@@ -1169,4 +1169,12 @@ byte *WetEngine::getTargetColor(Common::String name, int levelId) {
return getPalette(entry->targetColor);
}
+bool WetEngine::checkRButtonUp() {
+ return _rButtonUp;
+}
+
+void WetEngine::setRButtonUp(const bool val) {
+ _rButtonUp = val;
+}
+
} // End of namespace Hypno
diff --git a/engines/hypno/wet/wet.cpp b/engines/hypno/wet/wet.cpp
index c78b50cecba..89eb0b9387c 100644
--- a/engines/hypno/wet/wet.cpp
+++ b/engines/hypno/wet/wet.cpp
@@ -79,6 +79,8 @@ WetEngine::WetEngine(OSystem *syst, const ADGameDescription *gd) : HypnoEngine(s
_c50LeftTurns = 0;
_c50RigthTurns = 0;
+ _rButtonUp = false;
+
const chapterEntry *entry = rawChapterTable;
while (entry->id) {
_ids.push_back(entry->id);
More information about the Scummvm-git-logs
mailing list