[Scummvm-git-logs] scummvm master -> 29e4b87fdbfc54b77ae9eee0561788c84eba2fb0
neuromancer
noreply at scummvm.org
Sun Jun 19 22:14:07 UTC 2022
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
427a093b85 HYPNO: fixed video sequence at the end of level c33 in boyz
d9646947af HYPNO: corrected level pointers of flashback mode in boyz
29e4b87fdb HYPNO: fixed transition to correctly run the last level of boyz
Commit: 427a093b850025fe08b7c883b294bf4e1cc6dd19
https://github.com/scummvm/scummvm/commit/427a093b850025fe08b7c883b294bf4e1cc6dd19
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-20T00:09:53+02:00
Commit Message:
HYPNO: fixed video sequence at the end of level c33 in boyz
Changed paths:
engines/hypno/arcade.cpp
engines/hypno/boyz/arcade.cpp
engines/hypno/boyz/boyz.cpp
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 3de747cf0ed..e29b354a0db 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -508,7 +508,7 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
} else if (!it->video && it->bodyFrames.size() > 0) {
uint32 frame = _background->decoder->getCurFrame();
uint32 bodyLastFrame = it->bodyFrames[it->bodyFrames.size() - 1].lastFrame();
- if (frame > it->startFrame && frame - it->startFrame >= bodyLastFrame - 3)
+ if (frame > it->startFrame && frame - it->startFrame >= bodyLastFrame)
if (!it->destroyed) {
incTargetsMissed();
missedTarget(it, arc);
diff --git a/engines/hypno/boyz/arcade.cpp b/engines/hypno/boyz/arcade.cpp
index a7dc4fd97c7..d452fdaca9e 100644
--- a/engines/hypno/boyz/arcade.cpp
+++ b/engines/hypno/boyz/arcade.cpp
@@ -112,7 +112,12 @@ void BoyzEngine::runAfterArcade(ArcadeShooting *arc) {
}
return;
} else {
- if (_levelId == 42) {
+ if (_levelId == 33 && checkArcadeObjectives()) {
+ MVideo video("c3/c33a02s.smk", Common::Point(0, 0), false, true, false);
+ runIntro(video);
+ defaultCursor();
+ waitForUserClick(1);
+ } else if (_levelId == 42) {
disableCursor();
MVideo video("c4/c4bro8s.smk", Common::Point(0, 0), false, true, false);
runIntro(video);
@@ -589,6 +594,9 @@ bool BoyzEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
return false;
}
+ // Not really killed, but counted as objective
+ _objKillsCount[_objIdx] = _objKillsCount[_objIdx] + _shoots[i].objKillsCount;
+
if (!_shoots[i].additionalVideo.empty()) {
incFriendliesEncountered();
incInfoReceived();
@@ -627,8 +635,10 @@ bool BoyzEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
incInfoReceived();
_background->decoder->forceSeekToFrame(_shoots[i].interactionFrame);
_masks->decoder->forceSeekToFrame(_shoots[i].interactionFrame);
- _additionalVideo = new MVideo(arc->missBoss2Video, Common::Point(0, 0), true, false, false);
- playVideo(*_additionalVideo);
+ if (!arc->missBoss2Video.empty()) {
+ _additionalVideo = new MVideo(arc->missBoss2Video, Common::Point(0, 0), true, false, false);
+ playVideo(*_additionalVideo);
+ }
//_shoots[i].lastFrame = _background->decoder->getFrameCount();
_shoots[i].destroyed = true;
_shootsDestroyed[_shoots[i].name] = true;
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index c2fb1d07e54..af08c75e397 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -241,9 +241,13 @@ void BoyzEngine::loadAssets() {
loadArcadeLevel("c31.mi_", "<check_c3>", "<retry_menu>", "");
loadArcadeLevel("c32.mi_", "<check_c3>", "<retry_menu>", "");
loadArcadeLevel("c33.mi_", "<check_c3>", "<retry_menu>", "");
+ // This is manually implemented, if objectives are completed
+ ArcadeShooting *ar = (ArcadeShooting *) _levels["c33.mi_"];
+ ar->nextLevelVideo.clear();
+
loadArcadeLevel("c34.mi_", "<check_c3>", "<retry_menu>", "");
loadArcadeLevel("c35.mi_", "<check_ho>", "<select_c3>", "");
- ArcadeShooting *ar = (ArcadeShooting *) _levels["c35.mi_"];
+ ar = (ArcadeShooting *) _levels["c35.mi_"];
ar->backgroundVideo = ""; // This will be manually populated
loadArcadeLevel("c351.mi_", "<check_ho>", "<retry_menu>", "");
Commit: d9646947af6391046f3795f3eb27d64d4d71d3e9
https://github.com/scummvm/scummvm/commit/d9646947af6391046f3795f3eb27d64d4d71d3e9
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-20T00:09:53+02:00
Commit Message:
HYPNO: corrected level pointers of flashback mode in boyz
Changed paths:
engines/hypno/boyz/boyz.cpp
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index af08c75e397..63e5dc8d717 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -674,46 +674,46 @@ void BoyzEngine::loadAssets() {
cl = new ChangeLevel("c52.mi_");
sc->hots[8].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_53");
+ hl = new Highlight("GS_SEQ_54");
sc->hots[9].actions.push_back(hl);
- gl = new Global("GS_SEQ_53", "CHECK");
+ gl = new Global("GS_SEQ_54", "CHECK");
sc->hots[9].actions.push_back(gl);
- cl = new ChangeLevel("c53.mi_");
+ cl = new ChangeLevel("c54.mi_");
sc->hots[9].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_54");
+ hl = new Highlight("GS_SEQ_55");
sc->hots[10].actions.push_back(hl);
- gl = new Global("GS_SEQ_54", "CHECK");
+ gl = new Global("GS_SEQ_55", "CHECK");
sc->hots[10].actions.push_back(gl);
- cl = new ChangeLevel("c54.mi_");
+ cl = new ChangeLevel("c55.mi_");
sc->hots[10].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_55");
+ hl = new Highlight("GS_SEQ_56");
sc->hots[11].actions.push_back(hl);
- gl = new Global("GS_SEQ_55", "CHECK");
+ gl = new Global("GS_SEQ_56", "CHECK");
sc->hots[11].actions.push_back(gl);
- cl = new ChangeLevel("c55.mi_");
+ cl = new ChangeLevel("c56.mi_");
sc->hots[11].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_56");
+ hl = new Highlight("GS_SEQ_57");
sc->hots[12].actions.push_back(hl);
- gl = new Global("GS_SEQ_56", "CHECK");
+ gl = new Global("GS_SEQ_57", "CHECK");
sc->hots[12].actions.push_back(gl);
- cl = new ChangeLevel("c56.mi_");
+ cl = new ChangeLevel("c57.mi_");
sc->hots[12].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_57");
+ hl = new Highlight("GS_SEQ_58");
sc->hots[13].actions.push_back(hl);
- gl = new Global("GS_SEQ_57", "CHECK");
+ gl = new Global("GS_SEQ_58", "CHECK");
sc->hots[13].actions.push_back(gl);
- cl = new ChangeLevel("c57.mi_");
+ cl = new ChangeLevel("c58.mi_");
sc->hots[13].actions.push_back(cl);
- hl = new Highlight("GS_SEQ_58");
+ hl = new Highlight("GS_SEQ_59");
sc->hots[14].actions.push_back(hl);
- gl = new Global("GS_SEQ_58", "CHECK");
+ gl = new Global("GS_SEQ_59", "CHECK");
sc->hots[14].actions.push_back(gl);
- cl = new ChangeLevel("c58.mi_");
+ cl = new ChangeLevel("c59.mi_");
sc->hots[14].actions.push_back(cl);
loadLib("sound/", "misc/sound.lib", true);
Commit: 29e4b87fdbfc54b77ae9eee0561788c84eba2fb0
https://github.com/scummvm/scummvm/commit/29e4b87fdbfc54b77ae9eee0561788c84eba2fb0
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-20T00:09:53+02:00
Commit Message:
HYPNO: fixed transition to correctly run the last level of boyz
Changed paths:
engines/hypno/boyz/arcade.cpp
engines/hypno/grammar.h
diff --git a/engines/hypno/boyz/arcade.cpp b/engines/hypno/boyz/arcade.cpp
index d452fdaca9e..dc395a625d6 100644
--- a/engines/hypno/boyz/arcade.cpp
+++ b/engines/hypno/boyz/arcade.cpp
@@ -395,6 +395,9 @@ bool BoyzEngine::checkTransition(ArcadeTransitions &transitions, ArcadeShooting
} else if (at.loseLevel) {
debugC(1, kHypnoDebugArcade, "Losing level in transition at %d", _background->decoder->getCurFrame());
_health = 0;
+ } else if (at.winLevel) {
+ debugC(1, kHypnoDebugArcade, "Wining level in transition at %d", _background->decoder->getCurFrame());
+ _skipLevel = true;
} else
error ("Invalid transition at %d", ttime);
@@ -737,12 +740,18 @@ bool BoyzEngine::shoot(const Common::Point &mousePos, ArcadeShooting *arc, bool
_background->decoder->forceSeekToFrame(_shoots[i].explosionFrames[0].start - 3);
_masks->decoder->forceSeekToFrame(_shoots[i].explosionFrames[0].start - 3);
+ debugC(1, kHypnoDebugArcade, "Jumping to: %d", _shoots[i].explosionFrames[0].start - 3);
+
changeCursor(_crosshairsActive[_currentWeapon], _crosshairsPalette, true);
if (_shoots[i].jumpToTimeAfterKilled > 0) {
ArcadeTransition at("", 0, "", 0, _shoots[i].explosionFrames[0].lastFrame() - 1);
at.jumpToTime = _shoots[i].jumpToTimeAfterKilled;
_transitions.push_front(at);
+ } else if ( _shoots[i].jumpToTimeAfterKilled == -1 ) {
+ ArcadeTransition at("", 0, "", 0, _shoots[i].explosionFrames[0].lastFrame() - 1);
+ at.winLevel = true;
+ _transitions.push_front(at);
}
}
return false;
diff --git a/engines/hypno/grammar.h b/engines/hypno/grammar.h
index ad38b8fad2f..ea265e5407b 100644
--- a/engines/hypno/grammar.h
+++ b/engines/hypno/grammar.h
@@ -577,6 +577,7 @@ public:
soundRate = soundRate_;
soundStereo = false;
loseLevel = false;
+ winLevel = false;
selection = false;
jumpToTime = 0;
time = time_;
@@ -588,6 +589,7 @@ public:
uint32 soundRate;
bool soundStereo;
bool loseLevel;
+ bool winLevel;
bool selection;
uint32 jumpToTime;
uint32 time;
More information about the Scummvm-git-logs
mailing list