From d2c43dd2255426de47d0f3d42c8197af7b11eb42 Mon Sep 17 00:00:00 2001 From: neuromancer Date: Fri, 15 Apr 2022 23:07:04 +0200 Subject: [PATCH] HYPNO: redraw menu in spider after conversations --- engines/hypno/actions.cpp | 4 ++-- engines/hypno/hypno.h | 2 +- engines/hypno/scene.cpp | 1 + 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/engines/hypno/actions.cpp b/engines/hypno/actions.cpp index add5cd9262e..8841c0c412e 100644 --- a/engines/hypno/actions.cpp +++ b/engines/hypno/actions.cpp @@ -28,11 +28,11 @@ namespace Hypno { // Actions -void HypnoEngine::runMenu(Hotspots *hs) { +void HypnoEngine::runMenu(Hotspots *hs, bool only_menu) { Hotspot *h = hs->begin(); assert(h->type == MakeMenu); debugC(1, kHypnoDebugScene, "hotspot actions size: %d", h->actions.size()); - for (Actions::const_iterator itt = h->actions.begin(); itt != h->actions.end(); ++itt) { + for (Actions::const_iterator itt = h->actions.begin(); !only_menu && itt != h->actions.end(); ++itt) { Action *action = *itt; switch (action->type) { case QuitAction: diff --git a/engines/hypno/hypno.h b/engines/hypno/hypno.h index b2a5a8c139f..9018f44710a 100644 --- a/engines/hypno/hypno.h +++ b/engines/hypno/hypno.h @@ -173,7 +173,7 @@ public: void changeCursor(const Graphics::Surface &entry, byte *palette, bool centerCursor = false); // Actions - void runMenu(Hotspots *hs); + void runMenu(Hotspots *hs, bool only_menu = false); void runBackground(Background *a); void runOverlay(Overlay *a); void runMice(Mice *a); diff --git a/engines/hypno/scene.cpp b/engines/hypno/scene.cpp index 4dac0737bf5..f81a7c6bf72 100644 --- a/engines/hypno/scene.cpp +++ b/engines/hypno/scene.cpp @@ -365,6 +365,7 @@ void HypnoEngine::runScene(Scene *scene) { _nextParallelVideoToPlay.empty() && _videosPlaying.empty()) { showConversation(); + runMenu(stack.back(), true); drawScreen(); _refreshConversation = false; }