Skip to content

Can auto-pause on inventory screen be made optional?

Is it reasonably feasible to give the player the option to have scripts continue running when they are accessing the inventory screen? In other words, the option of re-instating the classic BG1 behaviour?

I sort of imagine it's either relatively easy, or very difficult, to make a high-level optional adjustment like that, and I'd be curious to know which is the case. And if it's relatively easy, I hope consideration might be given to making the functionality available.

I accept that auto-pause on inventory is beneficial to new players - I found it useful when returning to BG via BG:EE after a gap of nearly 20 years - but I increasingly think that the option to remove it would add a tremendous amount of value to the game for players interested in such a feature.

So, the request isn't borne of nostalgia, or any dislike of change; it's that I remember the added challenge and realism of real-time inventory management, and it would be great to have that option. Classes with extra quick weapon slots would get a bit of a boost, as would monsters such as basilisks, which are a bit of a joke when you can just autopause and grab an item that gives you immunity to their gaze.

Comments

  • PeccaPecca Member Posts: 2,178
    Feature request at this point? No way it's gonna happen. UI mod could be relatively easy though.
  • The_Baffled_KingThe_Baffled_King Member Posts: 147
    edited April 2022
    Pecca wrote: »
    Feature request at this point? No way it's gonna happen.

    Yeah, I guess so. More's the pity!

    Pecca wrote: »
    UI mod could be relatively easy though.

    That's great, thanks! My mind just wasn't thinking about the issue from that angle - I was sort of thinking that the engine "knew" what you were doing and therefore whether to pause the game. I guess that modding what the inventory button does is doable. If it's possible to add a toggleable setting, along with the other auto-pause on/off options, that would be amazing.

    On the minus side, UI modding seems like a massive pain unless you already know what you're doing. I haven't seen any modder resources that deal with UI modding in the same way the IESDP does with, say, opp-codes, triggers, and actions.

    EDIT: Okay, I see now that there's info regarding UI modding on the Beamdog forums that I just hadn't looked at before. That helps. Thanks again for pointing out the UI mod option.
    Post edited by The_Baffled_King on
  • PeccaPecca Member Posts: 2,178
    edited April 2022
    I can give you some hints, from the top of my head. Find the open inventory button and replace the action part of the code. Instead of "e:GetActiveEngine():OnLeftPanelButtonClick(3)" which calls the engine-paused window, put "Infinity_PushMenu('INVENTORY')". You can also add "on 'i'" to the button properties to override hotkey.
    Likely, you will also need to put "e:GetActiveEngine():OnLeftPanelButtonClick(0)" before the Infinity_PushMenu part to ensure other windows get closed.
    If you want to forbid pausing during the opened window you will need to find 'INVENTORY' menu and edit its onOpen a onClose properties (you also may want to add "modal" property to it). Create a dummy button and add "on pause" property to it and then play around with this piece of code.
    if not worldScreen:CheckIfPaused() then
        worldScreen:TogglePauseGame(false)
    end
    
    You may also want to forbid the pause button by some boolean, and change its value in onOpen and onClose.
  • The_Baffled_KingThe_Baffled_King Member Posts: 147
    @Pecca

    Just posting here as I forgot to say thank you for your second post - so, thanks!

    Before you posted, I'd looked at the UI info in these forums, from which I found the EEEx docs which were really helpful for also listing EE features. So I'd got to "Infinity_PushMenu('INVENTORY')" from there. That change left me with two problems:

    (1) I had to go through another step to get the inventory items to actually update - I think it might have been that I had to click on the creature itself after clicking the portrait to change the party member whose inventory screen was displayed;

    (2) Getting the inventory menu to close. It didn't just toggle on-off, nor did it close on the return to game button - with just the single change I'd made, to close the inventory it I had to open the map window.

    I'll come back to what you've written once I come back to this - I mostly wanted to know if it was feasible, rather than get it done.
Sign In or Register to comment.