InterDVDInstruction๏
Inherits: Object
Encodes 8-byte DVD-Video Interaction Machine commands for IFO authoring.
Description๏
Compiles on-disc VM instructions (groups 0-6, GPRM/SPRM, Link/Jump/Call/RSM). The DVD player executes them after burn. There is no in-engine interpreter or disc player.
Methods๏
encode(group: int, op: int, cmp: int, dest_reg: int, dest_sprm: bool, src: int, src_reg: bool, src_sprm: bool, link: int, from_domain: int, to_domain: int, link_target: int) static |
|
encode_break() static |
|
encode_exit() static |
|
encode_goto(line: int) static |
|
encode_jump_vts_ptt(from_domain: int, title: int, ptt: int) static |
|
encode_link(kind: int, from_domain: int, to_domain: int, target: int) static |
|
encode_nop() static |
|
encode_rsm(from_domain: int) static |
|
encode_set(op: int, gprm: int, src: int, src_reg: bool, src_sprm: bool) static |
|
encode_set_gprmmd(gprm: int, value: int, counter: bool) static |
|
encode_set_hl_btnn(button: int) static |
|
encode_set_nvtmr(seconds: int, pgc: int) static |
|
encode_set_stn(audio: int, subtitle: int, subtitle_on: bool, angle: int) static |
Enumerations๏
enum Group: ๐
Group GROUP_SPECIAL = 0
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_LINK = 1
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_SET_SYSTEM = 2
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_SET = 3
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_SET_LINK = 4
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_CMP_SET_SYSTEM = 5
There is currently no description for this enum. Please help us by contributing one!
Group GROUP_CMP_SET_LINK = 6
There is currently no description for this enum. Please help us by contributing one!
enum Compare: ๐
Compare CMP_ALWAYS = 0
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_AND = 1
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_EQ = 2
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_NE = 3
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_GE = 4
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_GT = 5
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_LE = 6
There is currently no description for this enum. Please help us by contributing one!
Compare CMP_LT = 7
There is currently no description for this enum. Please help us by contributing one!
enum SetOp: ๐
SetOp SET_NOP = 0
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_ASSIGN = 1
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_SWAP = 2
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_ADD = 3
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_SUB = 4
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_MUL = 5
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_DIV = 6
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_MOD = 7
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_RANDOM = 8
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_AND = 9
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_OR = 10
There is currently no description for this enum. Please help us by contributing one!
SetOp SET_XOR = 11
There is currently no description for this enum. Please help us by contributing one!
enum LinkKind: ๐
LinkKind LINK_NONE = 0
There is currently no description for this enum. Please help us by contributing one!
LinkKind LINK_PGCN = 1
There is currently no description for this enum. Please help us by contributing one!
LinkKind LINK_PGN = 2
There is currently no description for this enum. Please help us by contributing one!
LinkKind LINK_PTT = 3
There is currently no description for this enum. Please help us by contributing one!
LinkKind LINK_RSM = 4
There is currently no description for this enum. Please help us by contributing one!
LinkKind JUMP_TT = 5
There is currently no description for this enum. Please help us by contributing one!
LinkKind JUMP_VTS_TT = 6
There is currently no description for this enum. Please help us by contributing one!
LinkKind JUMP_VTS_PTT = 7
There is currently no description for this enum. Please help us by contributing one!
LinkKind CALL_SS = 8
There is currently no description for this enum. Please help us by contributing one!
LinkKind JUMP_SS = 9
There is currently no description for this enum. Please help us by contributing one!
LinkKind LINK_CN = 10
There is currently no description for this enum. Please help us by contributing one!
enum Domain: ๐
Domain DOMAIN_FPC = 0
There is currently no description for this enum. Please help us by contributing one!
Domain DOMAIN_VMG = 1
There is currently no description for this enum. Please help us by contributing one!
Domain DOMAIN_VTSM = 2
There is currently no description for this enum. Please help us by contributing one!
Domain DOMAIN_VTST = 3
There is currently no description for this enum. Please help us by contributing one!
enum SPRM: ๐
SPRM SPRM_M_ASN = 0
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_ASTN = 1
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_SPSTN = 2
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_AGL_N = 3
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_TT_N = 4
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_VTS_TT_N = 5
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_TT_VTS_N = 6
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_PTT_N = 7
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_HL_BTNN = 8
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_NVTMR = 9
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_NV_PGC = 10
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_P_N = 11
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_PTT_N2 = 12
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_CN = 13
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_VIDEO_CFG = 14
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_AUDIO_CFG = 15
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_INI_AUD_LANG = 16
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_INI_AUD_EXT = 17
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_INI_SP_LANG = 18
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_INI_SP_EXT = 19
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_REGION = 20
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_RESERVED_21 = 21
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_RESERVED_22 = 22
There is currently no description for this enum. Please help us by contributing one!
SPRM SPRM_RESERVED_23 = 23
There is currently no description for this enum. Please help us by contributing one!
Method Descriptions๏
PackedByteArray encode(group: int, op: int, cmp: int, dest_reg: int, dest_sprm: bool, src: int, src_reg: bool, src_sprm: bool, link: int, from_domain: int, to_domain: int, link_target: int) static ๐
Encodes one 8-byte instruction. Returns an empty array when the domain transfer is illegal.
PackedByteArray encode_break() static ๐
Encodes Break (00 02).
PackedByteArray encode_exit() static ๐
Encodes Exit (30 01).
PackedByteArray encode_goto(line: int) static ๐
Encodes Goto to instruction line line (1-128).
PackedByteArray encode_jump_vts_ptt(from_domain: int, title: int, ptt: int) static ๐
Encodes JumpVTS_PTT to title / ptt after validating the domain matrix.
PackedByteArray encode_link(kind: int, from_domain: int, to_domain: int, target: int) static ๐
Encodes a Link, Jump, Call, or RSM command after validating the domain matrix.
PackedByteArray encode_nop() static ๐
Returns eight zero bytes (NOP).
PackedByteArray encode_rsm(from_domain: int) static ๐
Encodes Resume. Legal only from VMG or VTSM.
PackedByteArray encode_set(op: int, gprm: int, src: int, src_reg: bool, src_sprm: bool) static ๐
Encodes a set-op targeting a GPRM (assign, swap, add, SET_RANDOM in the range 1 through src, and, or, xor, and similar ops).
PackedByteArray encode_set_gprmmd(gprm: int, value: int, counter: bool) static ๐
Encodes SetGPRMMD for GPRM gprm.
PackedByteArray encode_set_hl_btnn(button: int) static ๐
Encodes SetHL_BTNN for button 1-36.
PackedByteArray encode_set_nvtmr(seconds: int, pgc: int) static ๐
Encodes SetNVTMR.
PackedByteArray encode_set_stn(audio: int, subtitle: int, subtitle_on: bool, angle: int) static ๐
Encodes SetSTN. Pass -1 for a stream that should not change.