MenuData Struct - UI

Revision as of 20:36, 8 December 2018 by imported>Qazaaq (added "empty" flag descriptions for menu)

Member of: UI Script
Requires F4SE version 0.6.5 or higher.

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

Struct MenuData
    int MenuFlags = 0x801849D
    int MovieFlags = 3
    int ExtendedFlags = 3
    int Depth = 6
EndStruct

Members

  • MenuFlags:
    • Default Flags: 0x801849D
    • 0x01 PauseGame: Pauses the game world behind the menu.
    • 0x02 DoNotDeleteOnClose:
    • 0x04 ShowCursor: Shows the mouse cursor.
    • 0x08 EnableMenuControl:
    • 0x20 ShaderdWorld:
    • 0x40 Open:
    • 0x800 DoNotPreventGameSave: Allows the game to be saved. Without this flag the save button is greyed out.
    • 0x8000 ApplyDropDownFilter:
    • 0x400000 BlurBackground: Blurs the game world behind the menu.
  • MovieFlags:
    • Default Flags: 3
    • 1
    • 2
  • ExtendedFlags: These bit flags are implemented by F4SE.
    • 1
    • 2
    • Default Flags: 3
    • 1 InheritColors: Enables color scheme matching.
    • 2 CheckForGamepad: Auto-detects any connected gamepad and disables the mouse cursor.
  • Depth:
    • Default: 6

Examples

Scriptname Example extends Quest

string MyCustomMenuName = "MyCustomMenuName" const

Event OnQuestInit()
	If (!IsMenuRegistered(MyCustomMenuName))
		UI:MenuData data = new UI:MenuData
		data.MenuFlags = PauseGame | DoNotPreventGameSave | BlurBackground
		data.ExtendedFlags = FlagNone
		UI.RegisterCustomMenu(MyCustomMenuName, "My\Path\To\FileNameWithoutExtension", "root1", data)
	EndIf
EndEvent

Group MenuFlags
	int Property FlagNone = 0x0 AutoReadOnly
	int Property PauseGame = 0x01 AutoReadOnly
	int Property DoNotPreventGameSave = 0x800 AutoReadOnly
	int Property BlurBackground = 0x400000 AutoReadOnly
EndGroup

Notes

  • As of at least 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 0x8018499.

See Also