InterDVDButton

Inherits: Resource < RefCounted < Object

A PCI HLI highlight plus a domain-validated 8-byte DVD-Video command.

Description

Menus and titles may have up to 36 buttons. Set action to a hardware destination and target, title_n, or stream as needed. The inspector lists named titles and video cells from blazium/inter_dvd/project. resolve_command() encodes through InterDVDInstruction: Jump Title is JumpTT from the VMGM and LinkPGCN from a title; Jump Chapter is LinkPTT or JumpVTS_PTT; Jump Menu ids 2-7 are JumpSS or CallSS. JumpSS from the title domain is illegal. There is no URL, file, or app launch — a video file on disc is a muxed VOB cell reached by JumpTT / LinkPTT.

Properties

Action

action

0

Color

action_color

Color(1, 0.35, 0.1, 1)

int

adjacent_down

0

int

adjacent_left

0

int

adjacent_right

0

int

adjacent_up

0

bool

auto_action

false

int

button_number

0

int

color_group

1

PackedByteArray

command

PackedByteArray()

NodePath

control_path

NodePath("")

bool

forced_activated

false

bool

forced_selected

false

bool

hidden

false

Rect2

highlight

Rect2(0, 0, 0, 0)

bool

numeric_select

true

Color

select_color

Color(1, 0.92, 0.2, 1)

int

stream

0

bool

subtitle_on

true

int

target

1

int

title_n

1

Methods

PackedByteArray

resolve_command(domain: CommandDomain = 0) const

void

sync_highlight_from_scene(root: Node, default_highlight: Rect2 = Rect2(0, 0, 0, 0), title_safe_bottom: int = -1)


Enumerations

enum Action: 🔗

Action ACTION_JUMP_TITLE = 0

Play Title: JumpTT (30 02) from the menu domain, or LinkPGCN (20 04) from a title.

Action ACTION_JUMP_MENU = 1

JumpSS (30 06) from the menu domain, or CallSS (30 08) from a title. Menu ids: Title 2, Root 3, Subpicture 4, Audio 5, Angle 6, Chapter 7.

Action ACTION_JUMP_PGC = 2

LinkPGCN (20 04) to target in the current domain.

Action ACTION_CUSTOM = 3

Use command as-is.

Action ACTION_JUMP_CHAPTER = 4

Play Chapter: LinkPTT from a title, or JumpVTS_PTT from the VMGM using title_n and target.

Action ACTION_JUMP_PROGRAM = 5

LinkPGN to target.

Action ACTION_JUMP_CELL = 6

LinkCN to target.

Action ACTION_RESUME = 7

RSM. Legal only from a menu domain.

Action ACTION_SET_AUDIO = 8

SetSTN audio stream stream.

Action ACTION_SET_SUBTITLE = 9

SetSTN subtitle stream stream and subtitle_on.

Action ACTION_SET_ANGLE = 10

SetSTN angle stream.

Action ACTION_HIGHLIGHT_BUTTON = 11

SetHL_BTNN to target (1-36).

Action ACTION_EXIT = 12

Exit the disc.


enum CommandDomain: 🔗

CommandDomain DOMAIN_VMGM = 0

Title-menu (VMGM) highlight stream.

CommandDomain DOMAIN_VTST = 1

Title-domain (VTST) highlight stream.


Property Descriptions

Action action = 0 🔗

Hardware navigation: play title/chapter, jump menu/PGC/program/cell, set stream, highlight, resume, exit, or command.


Color action_color = Color(1, 0.35, 0.1, 1) 🔗

  • void set_action_color(value: Color)

  • Color get_action_color()

Preferred pressed highlight. Authoring maps this to a PGC palette action slot.


int adjacent_down = 0 🔗

  • void set_adjacent_down(value: int)

  • int get_adjacent_down()

Manual down neighbor (1-36). 0 uses nearest-neighbor.


int adjacent_left = 0 🔗

  • void set_adjacent_left(value: int)

  • int get_adjacent_left()

Manual left neighbor (1-36). 0 uses nearest-neighbor.


int adjacent_right = 0 🔗

  • void set_adjacent_right(value: int)

  • int get_adjacent_right()

Manual right neighbor (1-36). 0 uses nearest-neighbor.


int adjacent_up = 0 🔗

  • void set_adjacent_up(value: int)

  • int get_adjacent_up()

Manual up neighbor (1-36). 0 uses nearest-neighbor.


bool auto_action = false 🔗

  • void set_auto_action(value: bool)

  • bool get_auto_action()

If true, highlighting this button also activates it.


int button_number = 0 🔗

  • void set_button_number(value: int)

  • int get_button_number()

Optional numeric-select number (1-36). 0 uses the array index.


int color_group = 1 🔗

  • void set_color_group(value: int)

  • int get_color_group()

HLI color-group index (1-3). Select/action colors for this group are packed into that group's btn_coli slot.


PackedByteArray command = PackedByteArray() 🔗

Raw 8-byte command used when action is ACTION_CUSTOM.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.


NodePath control_path = NodePath("") 🔗

Optional CanvasItem in the cell packed scene whose rectangle becomes highlight at export.


bool forced_activated = false 🔗

  • void set_forced_activated(value: bool)

  • bool is_forced_activated()

If true, this button is the HLI forced-activated button (PGC still-time auto-fire).


bool forced_selected = false 🔗

  • void set_forced_selected(value: bool)

  • bool is_forced_selected()

If true, this button is the HLI forced-selected button.


bool hidden = false 🔗

  • void set_hidden(value: bool)

  • bool is_hidden()

If true, no highlight rectangle is written; the button remains numerically selectable.


Rect2 highlight = Rect2(0, 0, 0, 0) 🔗

  • void set_highlight(value: Rect2)

  • Rect2 get_highlight()

Highlight rectangle in 720×480 pixel space.


bool numeric_select = true 🔗

  • void set_numeric_select(value: bool)

  • bool get_numeric_select()

If true, the remote number keys can select this button.


Color select_color = Color(1, 0.92, 0.2, 1) 🔗

  • void set_select_color(value: Color)

  • Color get_select_color()

Preferred hover highlight. Authoring maps this to a PGC palette select slot.


int stream = 0 🔗

  • void set_stream(value: int)

  • int get_stream()

Audio, subtitle, or angle stream index for SetSTN actions.


bool subtitle_on = true 🔗

  • void set_subtitle_on(value: bool)

  • bool get_subtitle_on()

Subtitle visibility flag for ACTION_SET_SUBTITLE.


int target = 1 🔗

  • void set_target(value: int)

  • int get_target()

Destination for menu, PGC, chapter, program, cell, or highlight actions. Hidden for ACTION_JUMP_TITLE (use title_n).


int title_n = 1 🔗

  • void set_title_n(value: int)

  • int get_title_n()

Title number. Editable for ACTION_JUMP_TITLE (also stored in target for existing resources) and ACTION_JUMP_CHAPTER (JumpVTS_PTT). Hidden for other actions.


Method Descriptions

PackedByteArray resolve_command(domain: CommandDomain = 0) const 🔗

Returns the 8-byte hardware command for domain (DOMAIN_VMGM or DOMAIN_VTST).


void sync_highlight_from_scene(root: Node, default_highlight: Rect2 = Rect2(0, 0, 0, 0), title_safe_bottom: int = -1) 🔗

Copies highlight from the CanvasItem at control_path (Control rect or Node2D get_rect()). If the node is missing, uses default_highlight only when that rect has area. Clamps to 720×480 even HLI edges and title_safe_bottom (or ProjectSettings when -1).