Page 1 of 1

Question about menus and strife dialog format

Posted: Tue Jun 25, 2024 4:12 pm
by Zlot1
Hello. Right now i'm experimenting with udmf mapping and i really enjoy strife's dialogue system as i think it's very convenient for writing interactive stories. However, i'm struggling to make it do everything i want it to do. It has a lot of quirks, and the one that i can't really find a workaround for at the moment is dialogue page pausing the entire game once opened. I suppose all menu classes in gzdoom do this, but it seems like this could be changed, because in doom multiplayer games menus work fine without pausing the game. I also found out that it's possible to write a custom zscript class to override the default conversation one, and i know that there exists a global variable called "paused", but i'm not sure, in terms of code, how it could be used or if it could be used at all to disable pausing.
So, what do you think? Is there be any way to prevent menus and/or dialogues from pausing DOOM?

Re: Question about menus and strife dialog format

Posted: Thu Nov 14, 2024 10:56 am
by Player701
To make conversations not pause the game, there is a MAPINFO flag aptly named UnFreezeSinglePlayerConversations.

As for other menus, this is a bit trickier, and I'm not sure this is such a good idea, but the easiest solution I see is to override the menu state via EventHandler's UiTick.

Code: Select all

version "4.13"

class MenuNoPauseEventHandler : EventHandler
{
    override void UiTick()
    {
        if (menuactive == Menu.On)
        {
            menuactive = Menu.OnNoPause;
        }
    }
}
The last touch would be to register the event handler in MAPINFO:

Code: Select all

gameinfo
{
    AddEventHandlers = "MenuNoPauseEventHandler"
}
Note that this will affect all menus, including the conversation one.