With some experimenting it seems that using
modal True was not going to work. The problem with this is that it also prevented me from advancing dialogue that was called from the examine button. I was also getting a few errors for trying to use "call screen" to do with forgetting a ui.close or some such.
Regardless I did eventually come to a solution. Since I wasn't sure how to use "call screen" as a screen function, I tried using a label to use renpy language. Which in that case I remembered I called another screen that way, and checked my code there.
I turned my screen call from
ShowMenu("item_screen") to
renpy.curried_call_in_new_context("call_itemscreen"), and created the following label:
Code: Select all
# Entry points from the game into menu-space.
label call_itemscreen():
$ renpy.call("enter_game_menu")
# Transition
$ renpy.play(config.enter_sound)
$ _enter_menu()
$ renpy.store.suppress_overlay = False
$ renpy.store._history = True
$ renpy.transition(config.intra_transition)
# Show and interact
$ renpy.show_screen("item_screen")
$ ui.interact()
# On close
$ renpy.transition(config.intra_transition)
The important part is the two lines after
$ _enter_menu() -
_history = True allowed the dialogue to once again be stored, while
suppress_overlay = False allows the text history to be called via the scrollwheel.
(I suppose if I wanted, I could make it that the the text history is only allowed during dialogue, since it can be opened in the item screen proper like this, but it works for now.)