Unregister dialog exit listener on normal menu closing
This commit is contained in:
parent
33345cc860
commit
ff965bc21d
Binary file not shown.
@ -6,6 +6,11 @@ See https://en.wiki.sureai.net/Enderal:Patch for the list of official patches up
|
||||
Beware, spoilers ahead!
|
||||
|
||||
|
||||
2.0.12.4 (TBD)
|
||||
- Skyrim SE 1.6.640 support.
|
||||
- Fixed the dialog quit popup appearing in non-locked conversations.
|
||||
|
||||
|
||||
2.0.12.3 (2022-09-16)
|
||||
- Excluded a few distant cells from testing, fixes compatibility with SkyVRaan.
|
||||
- Reverted dialoguemenu.swf to the pre-2.0.12 version and replaced quest journal in locked dialogs with a quit prompt. Discarded solution caused decreased input delay in menu mode and was making scrolling unusable.
|
@ -1 +1 @@
|
||||
version = 2.0.12.3
|
||||
version = 2.0.12.4
|
||||
|
Binary file not shown.
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
Scriptname _00E_PlayerSetUpScript extends ObjectReference
|
||||
{Initializes all the necessary Quests, maintains the player, contains various OnPlayerLoadGame() failsafes. This script is important for proper updating, do not overwrite it.}
|
||||
|
||||
Float Property CURRENT_PATCH_VERSION = 2.123 AutoReadOnly
|
||||
Float Property CURRENT_PATCH_VERSION = 2.124 AutoReadOnly
|
||||
|
||||
|
||||
;=====================================================================================
|
||||
|
@ -134,13 +134,16 @@ endFunction
|
||||
Function DisableDialogueQuitting() Global
|
||||
{Disables the TAB Key during dialogue. Resets automatically upon dialogue exit via Goodbye.}
|
||||
|
||||
if UI.IsMenuOpen("Dialogue Menu")
|
||||
if ! UI.IsMenuOpen("Dialogue Menu")
|
||||
UnregisterDialogQuitKey()
|
||||
return
|
||||
endif
|
||||
|
||||
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
|
||||
; Suspected non-Enderal dialoguemenu.swf replacer, rechecking value in order to be sure.
|
||||
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", True)
|
||||
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
|
||||
; Suspected non-Enderal dialoguemenu.swf replacer, rechecking value in order to be sure.
|
||||
UI.InvokeBool("Dialogue Menu", "_root.DialogueMenu_mc.SetVariable", True)
|
||||
if UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab") != true
|
||||
Debug.Notification("Detected incompatible dialoguemenu.swf!")
|
||||
endif
|
||||
Debug.Notification("Detected incompatible dialoguemenu.swf!")
|
||||
endif
|
||||
endif
|
||||
|
||||
@ -154,6 +157,8 @@ Function DisableDialogueQuitting() Global
|
||||
Levelsystem.RegisterForKey(iControllerKey) ; Controller
|
||||
endif
|
||||
|
||||
Levelsystem.RegisterForMenu("Dialogue Menu")
|
||||
|
||||
EndFunction
|
||||
|
||||
Function EnableDialogueQuitting() Global
|
||||
@ -166,17 +171,13 @@ EndFunction
|
||||
|
||||
function UnregisterDialogQuitKey() Global
|
||||
Quest Levelsystem = Game.GetForm(0x10AA2) as Quest
|
||||
Levelsystem.UnregisterForKey(1)
|
||||
Levelsystem.UnregisterForKey(15)
|
||||
int iControllerKey = Input.GetMappedKey("Tween Menu", 0x02)
|
||||
if iControllerKey > -1
|
||||
Levelsystem.UnregisterForKey(iControllerKey)
|
||||
endif
|
||||
Levelsystem.UnregisterForAllKeys()
|
||||
Levelsystem.UnregisterForMenu("Dialogue Menu")
|
||||
endfunction
|
||||
|
||||
Event OnKeyDown(Int KeyCode)
|
||||
if UI.IsMenuOpen("Dialogue Menu")
|
||||
if ! UI.IsMenuOpen("MessageBoxMenu")
|
||||
if ! UI.IsMenuOpen("MessageBoxMenu") && ! UI.GetBool("Dialogue Menu", "_root.DialogueMenu_mc.bEnableTab")
|
||||
if (Game.GetFormFromFile(0x163D, "Update.esm") as Message).Show() == 1
|
||||
Game.QuitToMainMenu()
|
||||
endif
|
||||
@ -968,6 +969,8 @@ Event OnMenuClose(String MenuName)
|
||||
If MenuName == "Book Menu"
|
||||
MTToRemove.Remove()
|
||||
UnregisterForMenu("Book Menu")
|
||||
elseif MenuName == "Dialogue Menu"
|
||||
UnregisterDialogQuitKey()
|
||||
EndIf
|
||||
|
||||
EndEvent
|
||||
|
Loading…
Reference in New Issue
Block a user