[Scummvm-git-logs] scummvm master -> 47f52a4d73ac33148d3c9fabeeef57796eea80d9
neuromancer
noreply at scummvm.org
Sun Jun 5 19:06:08 UTC 2022
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:
142f069f1b HYPNO: load level select_c5 in boyz
9d57e11b57 HYPNO: correctly use enemy sound rate in boyz
cb3b4a894f HYPNO: connected select c5 level with the rest in boyz
47f52a4d73 HYPNO: loading of flashback screens in boyz
Commit: 142f069f1b1cd4bbff8dfb14a72dffb316baf9ec
https://github.com/scummvm/scummvm/commit/142f069f1b1cd4bbff8dfb14a72dffb316baf9ec
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T21:06:33+02:00
Commit Message:
HYPNO: load level select_c5 in boyz
Changed paths:
engines/hypno/boyz/boyz.cpp
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index f86370ad342..0d3082ca739 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -116,6 +116,20 @@ HOTS /BBOX= 250 32 301 199\n\
SOND van2.raw 22K\n\
END\n";
+static const char *selectC5 = "\
+MENU preload\\slct_c5.smk\n\
+HOTS /BBOX= 212 108 306 192\n\
+SOND tolvexp1.raw 22K\n\
+HOTS /BBOX= 212 5 302 82\n\
+SOND tollcom2.raw 22K\n\
+HOTS /BBOX= 110 70 198 148\n\
+SOND tolbwhr1.raw 22K\n\
+HOTS /BBOX= 4 14 91 92\n\
+SOND tolbwhr1.raw 22K\n\
+HOTS /BBOX= 8 105 96 194\n\
+SOND tolbwhr1.raw 22K\n\
+END\n";
+
void BoyzEngine::loadAssets() {
LibFile *missions = loadLib("", "preload/missions.lib", true);
Common::ArchiveMemberList files;
@@ -321,6 +335,10 @@ void BoyzEngine::loadAssets() {
Code *check_ho = new Code("<check_ho>");
_levels["<check_ho>"] = check_ho;
+ loadSceneLevel(selectC5, "<select_c5>", "", "");
+ sc = (Scene *) _levels["<select_c5>"];
+ sc->resolution = "320x200";
+
loadLib("sound/", "misc/sound.lib", true);
_weaponShootSound[0] = "";
Commit: 9d57e11b57ed68018aa5c53659e29a42d1cbce48
https://github.com/scummvm/scummvm/commit/9d57e11b57ed68018aa5c53659e29a42d1cbce48
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T21:06:33+02:00
Commit Message:
HYPNO: correctly use enemy sound rate in boyz
Changed paths:
engines/hypno/arcade.cpp
engines/hypno/grammar.h
engines/hypno/grammar_arc.cpp
engines/hypno/grammar_arc.y
diff --git a/engines/hypno/arcade.cpp b/engines/hypno/arcade.cpp
index 9835d77b43e..986ffcd9cf6 100644
--- a/engines/hypno/arcade.cpp
+++ b/engines/hypno/arcade.cpp
@@ -469,9 +469,9 @@ void HypnoEngine::runArcade(ArcadeShooting *arc) {
}
if (!s.noEnemySound) {
if (!s.enemySound.empty())
- playSound(_soundPath + s.enemySound, 1);
+ playSound(_soundPath + s.enemySound, 1, s.enemySoundRate);
else if (!arc->enemySound.empty())
- playSound(_soundPath + arc->enemySound, 1);
+ playSound(_soundPath + arc->enemySound, 1, arc->enemySoundRate);
}
}
}
diff --git a/engines/hypno/grammar.h b/engines/hypno/grammar.h
index 0f6390ed14f..bbee1263d9b 100644
--- a/engines/hypno/grammar.h
+++ b/engines/hypno/grammar.h
@@ -449,6 +449,7 @@ public:
lastFrame = 1024;
interactionFrame = 0;
noEnemySound = false;
+ enemySoundRate = 22050;
isAnimal = false;
nonHostile = false;
playInteractionAudio = false;
@@ -481,6 +482,7 @@ public:
// Sounds
Filename enemySound;
+ uint32 enemySoundRate;
Filename deathSound;
Filename hitSound;
Filename animalSound;
diff --git a/engines/hypno/grammar_arc.cpp b/engines/hypno/grammar_arc.cpp
index 9d1ea93502c..a4532d20e16 100644
--- a/engines/hypno/grammar_arc.cpp
+++ b/engines/hypno/grammar_arc.cpp
@@ -631,8 +631,8 @@ static const yytype_int16 yyrline[] =
403, 407, 411, 415, 419, 423, 427, 431, 435, 439,
443, 447, 451, 455, 458, 462, 467, 472, 475, 480,
485, 489, 495, 499, 502, 503, 504, 507, 511, 514,
- 519, 522, 523, 527, 534, 538, 549, 553, 554, 560,
- 564, 568, 571, 574, 576
+ 519, 522, 523, 527, 534, 538, 553, 557, 558, 564,
+ 568, 572, 575, 578, 580
};
#endif
@@ -2213,9 +2213,13 @@ yyreduce:
case 105: /* bline: SNTOK FILENAME enc */
#line 538 "engines/hypno/grammar_arc.y"
{
- if (Common::String("S0") == (yyvsp[-2].s))
+ if (Common::String("S0") == (yyvsp[-2].s)) {
shoot->enemySound = (yyvsp[-1].s);
- else if (Common::String("S1") == (yyvsp[-2].s))
+ if (Common::String((yyvsp[0].s)) == "11K")
+ shoot->enemySoundRate = 11025;
+ else
+ shoot->enemySoundRate = 22050;
+ } else if (Common::String("S1") == (yyvsp[-2].s))
shoot->deathSound = (yyvsp[-1].s);
else if (Common::String("S2") == (yyvsp[-2].s))
shoot->hitSound = (yyvsp[-1].s);
@@ -2223,88 +2227,88 @@ yyreduce:
shoot->animalSound = (yyvsp[-1].s);
debugC(1, kHypnoDebugParser, "SN %s", (yyvsp[-1].s)); }
-#line 2227 "engines/hypno/grammar_arc.cpp"
+#line 2231 "engines/hypno/grammar_arc.cpp"
break;
case 106: /* bline: SNTOK */
-#line 549 "engines/hypno/grammar_arc.y"
+#line 553 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "SN");
}
-#line 2235 "engines/hypno/grammar_arc.cpp"
+#line 2239 "engines/hypno/grammar_arc.cpp"
break;
case 107: /* bline: GTOK */
-#line 553 "engines/hypno/grammar_arc.y"
+#line 557 "engines/hypno/grammar_arc.y"
{ debugC(1, kHypnoDebugParser, "G"); }
-#line 2241 "engines/hypno/grammar_arc.cpp"
+#line 2245 "engines/hypno/grammar_arc.cpp"
break;
case 108: /* bline: TTOK NUM NUM NUM */
-#line 554 "engines/hypno/grammar_arc.y"
+#line 558 "engines/hypno/grammar_arc.y"
{
shoot->interactionFrame = (yyvsp[-2].i);
assert((yyvsp[-1].i) == 0);
shoot->waitForClickAfterInteraction = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "T %d %d %d", (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i));
}
-#line 2252 "engines/hypno/grammar_arc.cpp"
+#line 2256 "engines/hypno/grammar_arc.cpp"
break;
case 109: /* bline: TTOK NUM */
-#line 560 "engines/hypno/grammar_arc.y"
+#line 564 "engines/hypno/grammar_arc.y"
{
shoot->interactionFrame = (yyvsp[0].i);
debugC(1, kHypnoDebugParser, "T %d", (yyvsp[0].i));
}
-#line 2261 "engines/hypno/grammar_arc.cpp"
+#line 2265 "engines/hypno/grammar_arc.cpp"
break;
case 110: /* bline: TTOK */
-#line 564 "engines/hypno/grammar_arc.y"
+#line 568 "engines/hypno/grammar_arc.y"
{
shoot->isAnimal = true;
debugC(1, kHypnoDebugParser, "T");
}
-#line 2270 "engines/hypno/grammar_arc.cpp"
+#line 2274 "engines/hypno/grammar_arc.cpp"
break;
case 111: /* bline: MTOK */
-#line 568 "engines/hypno/grammar_arc.y"
+#line 572 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "M");
}
-#line 2278 "engines/hypno/grammar_arc.cpp"
+#line 2282 "engines/hypno/grammar_arc.cpp"
break;
case 112: /* bline: NTOK */
-#line 571 "engines/hypno/grammar_arc.y"
+#line 575 "engines/hypno/grammar_arc.y"
{
shoot->noEnemySound = true;
debugC(1, kHypnoDebugParser, "N"); }
-#line 2286 "engines/hypno/grammar_arc.cpp"
+#line 2290 "engines/hypno/grammar_arc.cpp"
break;
case 113: /* bline: NRTOK */
-#line 574 "engines/hypno/grammar_arc.y"
+#line 578 "engines/hypno/grammar_arc.y"
{
debugC(1, kHypnoDebugParser, "NR"); }
-#line 2293 "engines/hypno/grammar_arc.cpp"
+#line 2297 "engines/hypno/grammar_arc.cpp"
break;
case 114: /* bline: ZTOK */
-#line 576 "engines/hypno/grammar_arc.y"
+#line 580 "engines/hypno/grammar_arc.y"
{
g_parsedArc->shoots.push_back(*shoot);
//delete shoot;
//shoot = nullptr;
debugC(1, kHypnoDebugParser, "Z");
}
-#line 2304 "engines/hypno/grammar_arc.cpp"
+#line 2308 "engines/hypno/grammar_arc.cpp"
break;
-#line 2308 "engines/hypno/grammar_arc.cpp"
+#line 2312 "engines/hypno/grammar_arc.cpp"
default: break;
}
diff --git a/engines/hypno/grammar_arc.y b/engines/hypno/grammar_arc.y
index a2b3573c949..eb397d3f4ca 100644
--- a/engines/hypno/grammar_arc.y
+++ b/engines/hypno/grammar_arc.y
@@ -536,9 +536,13 @@ bline: FNTOK FILENAME {
shoot->explosionFrames.push_back(fi);
}
| SNTOK FILENAME enc {
- if (Common::String("S0") == $1)
+ if (Common::String("S0") == $1) {
shoot->enemySound = $2;
- else if (Common::String("S1") == $1)
+ if (Common::String($3) == "11K")
+ shoot->enemySoundRate = 11025;
+ else
+ shoot->enemySoundRate = 22050;
+ } else if (Common::String("S1") == $1)
shoot->deathSound = $2;
else if (Common::String("S2") == $1)
shoot->hitSound = $2;
Commit: cb3b4a894fb92db0a9950dbc3855165f51596288
https://github.com/scummvm/scummvm/commit/cb3b4a894fb92db0a9950dbc3855165f51596288
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T21:06:33+02:00
Commit Message:
HYPNO: connected select c5 level with the rest in boyz
Changed paths:
engines/hypno/boyz/boyz.cpp
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index 0d3082ca739..f8449ba0ea5 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -184,11 +184,11 @@ void BoyzEngine::loadAssets() {
loadArcadeLevel("c36.mi_", "c41.mi_", "<retry_menu>", "");
loadArcadeLevel("c41.mi_", "c42.mi_", "<retry_menu>", "");
- loadArcadeLevel("c42.mi_", "c51.mi_", "<retry_menu>", "");
+ loadArcadeLevel("c42.mi_", "<select_c5>", "<retry_menu>", "");
- loadArcadeLevel("c51.mi_", "c52.mi_", "<retry_menu>", "");
- loadArcadeLevel("c52.mi_", "c53.mi_", "<retry_menu>", "");
- loadArcadeLevel("c53.mi_", "c54.mi_", "<retry_menu>", "");
+ loadArcadeLevel("c51.mi_", "<select_c5>", "<retry_menu>", "");
+ loadArcadeLevel("c52.mi_", "<select_c5>", "<retry_menu>", "");
+ loadArcadeLevel("c53.mi_", "<select_c5>", "<retry_menu>", "");
loadArcadeLevel("c54.mi_", "c55.mi_", "<retry_menu>", "");
loadArcadeLevel("c55.mi_", "c56.mi_", "<retry_menu>", "");
loadArcadeLevel("c56.mi_", "c57.mi_", "<retry_menu>", "");
@@ -339,6 +339,27 @@ void BoyzEngine::loadAssets() {
sc = (Scene *) _levels["<select_c5>"];
sc->resolution = "320x200";
+ hl = new Highlight("GS_SEQ_51");
+ sc->hots[1].actions.push_back(hl);
+ gl = new Global("GS_SEQ_51", "NCHECK");
+ sc->hots[1].actions.push_back(gl);
+ cl = new ChangeLevel("c51.mi_");
+ sc->hots[1].actions.push_back(cl);
+
+ hl = new Highlight("GS_SEQ_52");
+ sc->hots[2].actions.push_back(hl);
+ gl = new Global("GS_SEQ_52", "NCHECK");
+ sc->hots[2].actions.push_back(gl);
+ cl = new ChangeLevel("c52.mi_");
+ sc->hots[2].actions.push_back(cl);
+
+ hl = new Highlight("GS_SEQ_53");
+ sc->hots[3].actions.push_back(hl);
+ gl = new Global("GS_SEQ_53", "NCHECK");
+ sc->hots[3].actions.push_back(gl);
+ cl = new ChangeLevel("c53.mi_");
+ sc->hots[3].actions.push_back(cl);
+
loadLib("sound/", "misc/sound.lib", true);
_weaponShootSound[0] = "";
Commit: 47f52a4d73ac33148d3c9fabeeef57796eea80d9
https://github.com/scummvm/scummvm/commit/47f52a4d73ac33148d3c9fabeeef57796eea80d9
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2022-06-05T21:06:33+02:00
Commit Message:
HYPNO: loading of flashback screens in boyz
Changed paths:
engines/hypno/boyz/boyz.cpp
engines/hypno/hypno.h
diff --git a/engines/hypno/boyz/boyz.cpp b/engines/hypno/boyz/boyz.cpp
index f8449ba0ea5..636c05756b5 100644
--- a/engines/hypno/boyz/boyz.cpp
+++ b/engines/hypno/boyz/boyz.cpp
@@ -58,6 +58,7 @@ BoyzEngine::BoyzEngine(OSystem *syst, const ADGameDescription *gd) : HypnoEngine
_currentMode = NonInteractive;
_crosshairsPalette = nullptr;
_lastLevel = 0;
+ _flashbackMode = false;
const chapterEntry *entry = rawChapterTable;
while (entry->id) {
@@ -130,6 +131,43 @@ HOTS /BBOX= 8 105 96 194\n\
SOND tolbwhr1.raw 22K\n\
END\n";
+static const char *fterr = "\
+MENU preload\\fterr%d.smk\n\
+HOTS /BBOX= 13 151 68 164\n\
+HOTS /BBOX= 19 48 146 59\n\
+HOTS /BBOX= 19 64 146 75\n\
+HOTS /BBOX= 19 80 146 91\n\
+HOTS /BBOX= 19 96 146 107\n\
+HOTS /BBOX= 19 112 146 123\n\
+HOTS /BBOX= 170 48 305 59\n\
+HOTS /BBOX= 170 64 305 75\n\
+HOTS /BBOX= 170 80 305 91\n\
+HOTS /BBOX= 170 96 305 107\n\
+HOTS /BBOX= 170 112 305 123\n\
+HOTS /BBOX= 170 128 305 139\n\
+HOTS /BBOX= 170 144 305 155\n\
+HOTS /BBOX= 170 160 305 171\n\
+HOTS /BBOX= 170 176 305 187\n\
+HOTS /BBOX= 170 48 305 59\n\
+HOTS /BBOX= 170 64 305 75\n\
+HOTS /BBOX= 170 48 305 59\n\
+HOTS /BBOX= 170 64 305 75\n\
+HOTS /BBOX= 170 80 305 91\n\
+HOTS /BBOX= 170 96 305 107\n\
+HOTS /BBOX= 170 112 305 123\n\
+HOTS /BBOX= 170 128 305 139\n\
+HOTS /BBOX= 170 48 305 59\n\
+HOTS /BBOX= 170 64 305 75\n\
+HOTS /BBOX= 170 48 305 59\n\
+HOTS /BBOX= 170 64 305 75\n\
+HOTS /BBOX= 170 80 305 91\n\
+HOTS /BBOX= 170 96 305 107\n\
+HOTS /BBOX= 170 112 305 123\n\
+HOTS /BBOX= 170 128 305 139\n\
+HOTS /BBOX= 170 144 305 155\n\
+HOTS /BBOX= 170 160 305 171\n\
+END\n";
+
void BoyzEngine::loadAssets() {
LibFile *missions = loadLib("", "preload/missions.lib", true);
Common::ArchiveMemberList files;
@@ -360,6 +398,113 @@ void BoyzEngine::loadAssets() {
cl = new ChangeLevel("c53.mi_");
sc->hots[3].actions.push_back(cl);
+ for (int t = 1; t <= 5; t++) {
+ Common::String fterrMis = Common::String::format(fterr, t);
+ Common::String fterrName = Common::String::format("<select_t%d>", t);
+ loadSceneLevel(fterrMis.c_str(), fterrName.c_str(), "", "");
+ sc = (Scene *) _levels[fterrName.c_str()];
+ sc->resolution = "320x200";
+
+ cl = new ChangeLevel("<main_menu>");
+ sc->hots[1].actions.push_back(cl);
+ cl = new ChangeLevel("<select_t1>");
+ sc->hots[2].actions.push_back(cl);
+ cl = new ChangeLevel("<select_t2>");
+ sc->hots[3].actions.push_back(cl);
+ cl = new ChangeLevel("<select_t3>");
+ sc->hots[4].actions.push_back(cl);
+ cl = new ChangeLevel("<select_t4>");
+ sc->hots[5].actions.push_back(cl);
+ cl = new ChangeLevel("<select_t5>");
+ sc->hots[6].actions.push_back(cl);
+ }
+
+ sc = (Scene *) _levels["<select_t1>"];
+ cl = new ChangeLevel("c19.mi_");
+ sc->hots[7].actions.push_back(cl);
+
+ cl = new ChangeLevel("c11.mi_");
+ sc->hots[8].actions.push_back(cl);
+
+ cl = new ChangeLevel("c12.mi_");
+ sc->hots[9].actions.push_back(cl);
+
+ cl = new ChangeLevel("c13.mi_");
+ sc->hots[10].actions.push_back(cl);
+
+ cl = new ChangeLevel("c14.mi_");
+ sc->hots[11].actions.push_back(cl);
+
+ cl = new ChangeLevel("c15.mi_");
+ sc->hots[12].actions.push_back(cl);
+
+ cl = new ChangeLevel("c16.mi_");
+ sc->hots[13].actions.push_back(cl);
+
+ cl = new ChangeLevel("c17.mi_");
+ sc->hots[14].actions.push_back(cl);
+
+ cl = new ChangeLevel("c18.mi_");
+ sc->hots[15].actions.push_back(cl);
+
+ sc = (Scene *) _levels["<select_t2>"];
+ cl = new ChangeLevel("c21.mi_");
+ sc->hots[7].actions.push_back(cl);
+
+ cl = new ChangeLevel("c22.mi_");
+ sc->hots[8].actions.push_back(cl);
+
+ sc = (Scene *) _levels["<select_t3>"];
+ cl = new ChangeLevel("c31.mi_");
+ sc->hots[7].actions.push_back(cl);
+
+ cl = new ChangeLevel("c32.mi_");
+ sc->hots[8].actions.push_back(cl);
+
+ cl = new ChangeLevel("c33.mi_");
+ sc->hots[9].actions.push_back(cl);
+
+ cl = new ChangeLevel("c34.mi_");
+ sc->hots[10].actions.push_back(cl);
+
+ cl = new ChangeLevel("c35.mi_");
+ sc->hots[11].actions.push_back(cl);
+
+ cl = new ChangeLevel("c36.mi_");
+ sc->hots[12].actions.push_back(cl);
+
+ sc = (Scene *) _levels["<select_t4>"];
+ cl = new ChangeLevel("c41.mi_");
+ sc->hots[7].actions.push_back(cl);
+
+ cl = new ChangeLevel("c42.mi_");
+ sc->hots[8].actions.push_back(cl);
+
+ sc = (Scene *) _levels["<select_t5>"];
+ cl = new ChangeLevel("c51.mi_");
+ sc->hots[7].actions.push_back(cl);
+
+ cl = new ChangeLevel("c52.mi_");
+ sc->hots[8].actions.push_back(cl);
+
+ cl = new ChangeLevel("c53.mi_");
+ sc->hots[9].actions.push_back(cl);
+
+ cl = new ChangeLevel("c54.mi_");
+ sc->hots[10].actions.push_back(cl);
+
+ cl = new ChangeLevel("c55.mi_");
+ sc->hots[11].actions.push_back(cl);
+
+ cl = new ChangeLevel("c56.mi_");
+ sc->hots[12].actions.push_back(cl);
+
+ cl = new ChangeLevel("c57.mi_");
+ sc->hots[13].actions.push_back(cl);
+
+ cl = new ChangeLevel("c58.mi_");
+ sc->hots[14].actions.push_back(cl);
+
loadLib("sound/", "misc/sound.lib", true);
_weaponShootSound[0] = "";
diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h
index 8d3e5afba8d..83660dc6715 100644
--- a/engines/hypno/hypno.h
+++ b/engines/hypno/hypno.h
@@ -547,6 +547,7 @@ public:
Common::String _name;
Common::Array<int> _ids;
int _lastLevel;
+ bool _flashbackMode;
void loadAssets() override;
void runCode(Code *code) override;
Common::String findNextLevel(const Common::String &level) override;
More information about the Scummvm-git-logs
mailing list