HYPNO: redraw menu in spider after conversations

This commit is contained in:
neuromancer 2022-04-15 23:07:04 +02:00
parent 518c983d2b
commit d2c43dd225
3 changed files with 4 additions and 3 deletions

View File

@ -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:

View File

@ -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);

View File

@ -365,6 +365,7 @@ void HypnoEngine::runScene(Scene *scene) {
_nextParallelVideoToPlay.empty() &&
_videosPlaying.empty()) {
showConversation();
runMenu(stack.back(), true);
drawScreen();
_refreshConversation = false;
}