cboe icon indicating copy to clipboard operation
cboe copied to clipboard

Go Back doesn't seem to work in dialogue

Open daerogami opened this issue 7 years ago • 6 comments


This is an item logged from the To-Do and was originally reported by ADoS. If you are familiar with or can recreate this bug, please provide details here.

daerogami avatar Feb 15 '18 08:02 daerogami

On my system the 'Go Back' works after clicking command buttons at bottom (Name, Job) but not after clicking on hilighted text.

This appears to be handled in "game/boe.dlgutil.cpp" in static void update_last_talk(int new_node)

Talk actions are handled in "game/boe.dlgutil.cpp" in void handle_talk_event(location p).

Clicking 'Job' seems to set which_talk_entry to -12 correctly (defined in boe.newgraph.hpp). Clicking hilighted text seems to set which_talk_entry to a small positive integer corresponding to word.node.

The non-working 'Go Back' click triggers switch(which_talk_entry) case

                case TALK_BACK: // only if there's nothing to go back to
                        return; // so, there's nothing to do here

Should this actually draw previous dialogue string here? .

clort81 avatar Jan 03 '20 21:01 clort81

Original behaviour is for Go Back to return to the previous string shown. Since clicking "Go Back" also sets the previous string, that means that clicking it repeatedly will toggle between the two most recent strings.

CelticMinstrel avatar Jan 04 '20 05:01 CelticMinstrel

Would it make sense to initialize a history stack when a new dialogue is opened, push for each string, pop to go back and clear it on dialog exit?

daerogami avatar Jan 11 '20 06:01 daerogami

Would it make sense? Yes. Would it be the same behaviour as the original game? Pretty sure it wouldn't. The game never had a history you could navigate back through.

CelticMinstrel avatar Jan 11 '20 22:01 CelticMinstrel

Doesn't seem like something that would break compatibility with existing modules. In the few discussions I've been in I suppose I never asked if the goal of this repo was for maintenance or preservation.

daerogami avatar Jan 17 '20 02:01 daerogami

I'm not making any attempt to keep it identical the original game, but part of the purpose of this is indeed preservation - preserving the ability to play Blades of Exile scenarios made with the original engine.

But I've also added new features, and invented an entire new scenario format, so…

I think implementing a history stack might be a reasonable change.

CelticMinstrel avatar Jan 17 '20 03:01 CelticMinstrel