HYPNO: added more scenes in spider

This commit is contained in:
neuromancer 2021-12-26 17:49:45 +01:00
parent 888049db2d
commit 03cb586a52
2 changed files with 95 additions and 15 deletions

View File

@ -668,9 +668,17 @@ void SpiderEngine::runFuseBox(Code *code) {
Common::Rect vcell(0, 0, 8, 32);
Common::Rect hcell(0, 0, 32, 8);
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
if (_sceneState["GS_PUZZLELEVEL"] == 0) { // easy
MVideo v("spider/cine/ppv011es.smk", Common::Point(0, 0), false, false, false);
runIntro(v);
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
} else { // hard
MVideo v("spider/cine/ppv011hs.smk", Common::Point(0, 0), false, false, false);
runIntro(v);
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
}
Frames fuses = decodeFrames("spider/movie2/onoffuse.smk");
//drawImage(*fuses[1], matrix.left, matrix.top, true);
while (!shouldQuit()) {
@ -685,10 +693,12 @@ void SpiderEngine::runFuseBox(Code *code) {
case Common::EVENT_LBUTTONDOWN:
if (matrix.contains(mousePos)) {
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
if (_sceneState["GS_PUZZLELEVEL"] == 0) { // easy
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
} else { // hard
loadImage("spider/movie2/hfusebg.smk", 0, 0, false);
}
//drawImage(*fuses[1], matrix.left, matrix.top, true);
//bool found = false;
debug("\nvdata:");
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 8; j++) {

View File

@ -344,30 +344,96 @@ void SpiderEngine::loadAssetsFullGame() {
_levels["<trans_fuse_box>"] = trans_fuse_box;
loadSceneLevel("decide6.mi_", "", prefix);
sc = (Scene *) _levels["decide6.mi_"];
cl = new ChangeLevel("shoctalk.mi_");
sc->hots[2].actions.push_back(cl);
cl = new ChangeLevel("decide10.mi_");
sc->hots[4].actions.push_back(cl);
loadSceneLevel("shoctalk.mi_", "decide7.mi_", prefix);
_levels["shoctalk.mi_"]->intros.push_back("cine/vrfs004s.smk");
loadSceneLevel("decide7.mi_", "", prefix);
sc = (Scene *) _levels["decide7.mi_"];
cl = new ChangeLevel("decide8.mi_");
sc->hots[2].actions.push_back(cl);
loadSceneLevel("decide8.mi_", "", prefix);
sc = (Scene *) _levels["decide8.mi_"];
cl = new ChangeLevel("c8");
sc->hots[2].actions.push_back(cl);
cl = new ChangeLevel("c9"); // TODO
sc->hots[4].actions.push_back(cl);
loadArcadeLevel("c8.mi_", "<after_c8>", prefix);
_levels["c8.mi_"]->intros.push_back("cine/utns001s.smk");
loadArcadeLevel("c8h.mi_", "<after_c8>", prefix);
_levels["c8.mi_"]->intros.push_back("cine/utns001s.smk");
Transition *after_c8 = new Transition("c10");
after_c8->intros.push_back("spider/cine/utns002s");
_levels["<after_c8>"] = after_c8;
loadArcadeLevel("c9.mi_", "<after_c9>", prefix);
_levels["c9.mi_"]->intros.push_back("cine/vrfs005s.smk");
loadArcadeLevel("c9h.mi_", "<after_c9>", prefix);
_levels["c9h.mi_"]->intros.push_back("cine/vrfs005s.smk");
Transition *after_c9 = new Transition("c10");
after_c9->intros.push_back("spider/cine/utns006s.smk");
_levels["<after_c9>"] = after_c9;
loadArcadeLevel("c10.mi_", "", prefix);
_levels["c10.mi_"]->intros.push_back("cine/utns003s.smk");
loadArcadeLevel("c10h.mi_", "", prefix);
_levels["c10h.mi_"]->intros.push_back("cine/utns003s.smk");
Transition *after_c10 = new Transition("docoffic.mi_");
after_c10->intros.push_back("spider/cine/utns004s.smk");
_levels["<after_c10>"] = after_c10;
loadSceneLevel("docoffic.mi_", "decide9.mi_", prefix);
//_levels["docoffic.mi_"]->intros.push_back("cine/????.smk");
loadSceneLevel("decide9.mi_", "", prefix);
loadSceneLevel("decide10.mi_", "", prefix);
sc = (Scene *) _levels["decide10.mi_"];
sc->intros.push_back("cine/dia012s.smk");
cl = new ChangeLevel("docoffi1.mi_");
sc->hots[2].actions.push_back(cl);
cl = new ChangeLevel("<dont_believe_mason>");
sc->hots[4].actions.push_back(cl);
loadSceneLevel("docoffi1.mi_", "c12", prefix);
_levels["docoffi1.mi_"]->intros.push_back("cine/doocin2s.smk");
loadArcadeLevel("c12.mi_", "", prefix);
loadArcadeLevel("c12h.mi_", "", prefix);
// No c7 level?
loadArcadeLevel("c8.mi_", "", prefix);
loadArcadeLevel("c9.mi_", "", prefix);
loadArcadeLevel("c10.mi_", "", prefix);
loadArcadeLevel("c11.mi_", "", prefix);
loadArcadeLevel("c12.mi_", "", prefix);
loadArcadeLevel("c13.mi_", "", prefix);
// // Hard arcade levels
loadArcadeLevel("c6h.mi_", "<lock>", "spider");
loadArcadeLevel("c6h.mi_", "<lock>", prefix);
_levels["c6h.mi_"]->intros.push_back("cine/vrfs002s.smk");
_levels["c6h.mi_"]->intros.push_back("cine/dia007s.smk");
// No c7h level?
loadArcadeLevel("c8h.mi_", "", prefix);
loadArcadeLevel("c9h.mi_", "", prefix);
loadArcadeLevel("c10h.mi_", "", prefix);
loadArcadeLevel("c11h.mi_", "", prefix);
loadArcadeLevel("c12h.mi_", "", prefix);
loadArcadeLevel("c13h.mi_", "", prefix);
loadSceneLevel("decide11.mi_", "", prefix);
// start level
Transition *start = new Transition("mainmenu.mi_");
start->intros.push_back("spider/cine/dcine1.smk");
@ -377,7 +443,7 @@ void SpiderEngine::loadAssetsFullGame() {
sc = (Scene *) _levels["mainmenu.mi_"];
cl = new ChangeLevel("levels.mi_");
sc->hots[1].actions.push_back(cl);
cl = new ChangeLevel("options.mi_");
sc->hots[4].actions.push_back(cl);
@ -450,6 +516,10 @@ void SpiderEngine::loadAssetsFullGame() {
Transition *over_apt_5 = new Transition("tryagain.mi_");
over_apt_5->intros.push_back("spider/cine/apts05as.smk");
_levels["<over_apt_5>"] = over_apt_5;
Transition *dont_believe_mason = new Transition("<credits>");
dont_believe_mason->intros.push_back("spider/cine/doos004s.smk");
_levels["<dont_believe_mason>"] = dont_believe_mason;
_nextLevel = "<start>";
}