147
edits
imported>Qazaaq m |
Scrivener07 (talk | contribs) m (→Examples: copy-paste error on property name for ShaderdWorld) |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Member of:''' [[UI Script]] | '''Member of:''' [[UI Script]] | ||
{{Template:Papyrus:RequiredF4SE|version=0.6.5}} | {{Template:Papyrus:RequiredF4SE|version=0.6.5}} | ||
The '''MenuData''' structure is used to register a custom menu. | |||
The values used will determine how the menu will be initialized when opened. | |||
This includes things like pausing the game, preventing the game from being saved, blurring the game, and more. | |||
== Syntax == | == Syntax == | ||
Line 18: | Line 19: | ||
*MenuFlags: | *MenuFlags: | ||
**'''Default Flags:''' 0x801849D | **'''Default Flags:''' 0x801849D | ||
**<code>0x01</code> PauseGame: Pauses the game world behind the menu. | |||
**<code>0x02</code> DoNotDeleteOnClose: The menu instance will persist even after the menu is closed. | |||
**<code>0x04</code> ShowCursor: Shows the mouse cursor. | |||
**<code>0x08</code> EnableMenuControl: Allows the menu to receive and handle <code>ProcessUserEvent</code> in ActionScript. | |||
**<code>0x20</code> ShaderdWorld: | |||
**<code>0x40</code> FlagOpen: | |||
**<code>0x800</code> DoNotPreventGameSave: Allows the game to be saved. Without this flag the save button is greyed out while this menu is open. | |||
**<code>0x8000</code> ApplyDropDownFilter: | |||
**<code>0x400000</code> BlurBackground: Blurs the game world behind the menu. | |||
*MovieFlags: | *MovieFlags: | ||
**'''Default Flags:''' 3 | **'''Default Flags:''' 3 | ||
*ExtendedFlags: | **<code>1</code> | ||
**<code>2</code> | |||
*ExtendedFlags: These bit flags are implemented by F4SE. | |||
**<code>1</code> | |||
**<code>2</code> | |||
**'''Default Flags:''' 3 | **'''Default Flags:''' 3 | ||
**InheritColors: | **<code>1</code> InheritColors: Enables color scheme matching. | ||
**CheckForGamepad: | **<code>2</code> CheckForGamepad: Auto-detects any connected gamepad and disables the mouse cursor. | ||
*Depth: | *Depth: | ||
**'''Default:''' | **'''Default:''' 6 | ||
== Examples == | == Examples == | ||
<source lang="papyrus"> | <source lang="papyrus"> | ||
; | Scriptname Example extends Quest | ||
string MyCustomMenuName = "MyCustomMenuName" const | |||
Event OnQuestInit() | |||
If (!IsMenuRegistered(MyCustomMenuName)) | |||
UI:MenuData data = new UI:MenuData | |||
data.MenuFlags = FlagNone ; clears all the flags and adds these three | |||
data.MenuFlags = Math.LogicalOr(data.MenuFlags, PauseGame) | |||
data.MenuFlags = Math.LogicalOr(data.MenuFlags, DoNotPreventGameSave) | |||
data.MenuFlags = Math.LogicalOr(data.MenuFlags, BlurBackground) | |||
data.ExtendedFlags = FlagNone | |||
UI.RegisterCustomMenu(MyCustomMenuName, "My\Path\To\FileNameWithoutExtension", "root1", data) | |||
EndIf | |||
EndEvent | |||
; An example of menu flag definitions. | |||
Group MenuFlags | |||
int Property FlagNone = 0x0 AutoReadOnly | |||
int Property PauseGame = 0x01 AutoReadOnly | |||
int Property DoNotDeleteOnClose = 0x02 AutoReadOnly | |||
int Property ShowCursor = 0x04 AutoReadOnly | |||
int Property EnableMenuControl = 0x08 AutoReadOnly | |||
int Property ShaderdWorld = 0x20 AutoReadOnly | |||
int Property FlagOpen = 0x40 AutoReadOnly | |||
int Property DoNotPreventGameSave = 0x800 AutoReadOnly | |||
int Property ApplyDropDownFilter = 0x8000 AutoReadOnly | |||
int Property BlurBackground = 0x400000 AutoReadOnly | |||
EndGroup | |||
</source> | </source> | ||
== Notes == | |||
*As of at least [[:Category:F4SE|F4SE]] v0.6.13, not all of the menu flags are known or what combinations may need to be used for some menu features. | |||
*The ''MessageBoxMenu'' uses the combined menu flags of <code>0x8018499</code>. | |||
== See Also == | == See Also == | ||
*[[Menu]] | |||
*[[User Interface]] | |||
*[[UI Script]] | *[[UI Script]] | ||
*[[RegisterCustomMenu - UI]] | |||
edits