Status/Menu VM Table Review

scope
status/menu 0x40-prefixed VM pointer tables
scanRangeVaHex
0x004e8000..0x004ec000
textControlInterpreterVaHex
0x0041b66d
textControlHandlerTableVaHex
0x0047f1d8
opcode14TableCount
4
opcode14SelectorIds
{'0x00': 3, '0x11': 1}
opcode14ClassCounts
{'status-comment-block-selector-array': 1, 'external-text-pointer-list': 3}
opcode13TableCount
16
opcode13KindCounts
{'0x03': 10, '0x02': 6}
opcode13ClassCounts
{'inline-menu-pointer-table': 7, 'inline-menu-text-table': 3, 'skill-description-text-table': 6}
opcode1fBranchListCount
3
promotionStatus
table-shapes-grounded-producers-pending

Conclusions

0x40 Text/Status Control Handlers

opcodeHexhandlerVaHexmnemonicgroundedHandlermeaning
0x000x0041b700False
0x010x0041b74cFalse
0x020x0041b771False
0x030x0041b7bbFalse
0x040x0041b7edFalse
0x050x0041b82aFalse
0x060x0041b8eeFalse
0x070x0041b956False
0x080x0041b9a0False
0x090x0041bac6False
0x0a0x0041bb15False
0x0b0x0041bb4cFalse
0x0c0x0041bb99False
0x0d0x0041bca4False
0x0e0x0041bd4fFalse
0x0f0x0041bde1False
0x100x0041be05False
0x110x0041be51False
0x120x0041c6edFalse
0x130x0041d15dselect-jumpTrueRead selector byte from global/object/base source, clamp to count, then set object+0xb0 to the selected pointer. Does not save a continuation.
0x140x0041d2b5select-jump-with-continuationTrueRead selector byte from global/object/base source, clamp to count, save the table fallthrough/continuation pointer to object+0xb4 stack using object+0xc8, then set object+0xb0 to the selected pointer.
0x150x0041d476False
0x160x0041d52cFalse
0x170x0041d5f5False
0x180x0041d61bFalse
0x190x0041b6e6False
0x1a0x0041d888False
0x1b0x0041d89dset-selector-baseTrueSet object+0xa8 selector base. mode 0=0x0059e310, mode 1=0x004576d8, mode 2=0x00457750 + slot*0xd8, mode 3=pointer table 0x0059db30[object+0xf2].
0x1c0x0041b6e6False
0x1d0x0041b6e6False
0x1e0x0041b6e6False
0x1f0x0041d962False

40 14 tables

recordVaHexsourceModeHexsourceOffsetHexsourceKindsourceExpressionrawCountFieldHextableModeitemCountentryTableVaHexclassificationentryKindCounts
0x004e86080x030x00selector-base-byte-offsetBYTE [object+0xa8 + 0x00]0x00000009090x004e8610status-comment-block-selector-array{"status-comment-block": 9}
0x004e8ac40x030x11selector-base-byte-offsetBYTE [object+0xa8 + 0x11]0x00000108180x004e8bb6external-text-pointer-list{"text": 8}
0x004e8b1a0x030x00selector-base-byte-offsetBYTE [object+0xa8 + 0x00]0x00000108180x004e8bb6external-text-pointer-list{"text": 8}
0x004e8ba20x030x00selector-base-byte-offsetBYTE [object+0xa8 + 0x00]0x00000108180x004e8c26external-text-pointer-list{"text": 8}

40 13 pointer tables

recordVaHexkindHextableIdHexsourceExpressionitemCountclassificationentryKindCounts
0x004e808c0x030x3dBYTE [object+0xa8 + 0x3d]3inline-menu-pointer-table{"vm-record": 3}
0x004e81b40x030x2fBYTE [object+0xa8 + 0x2f]6inline-menu-pointer-table{"nested-pointer-table": 1, "vm-record": 5}
0x004e81d40x030x31BYTE [object+0xa8 + 0x31]4inline-menu-pointer-table{"vm-record": 4}
0x004e82c80x030x34BYTE [object+0xa8 + 0x34]2inline-menu-text-table{"text": 2}
0x004e840e0x030x30BYTE [object+0xa8 + 0x30]6inline-menu-pointer-table{"vm-record": 6}
0x004e86e00x030x3aBYTE [object+0xa8 + 0x3a]6inline-menu-text-table{"text": 6}
0x004e8a760x030x18BYTE [object+0xa8 + 0x18]7inline-menu-text-table{"text": 7}
0x004e8b320x030x00BYTE [object+0xa8 + 0x00]8inline-menu-pointer-table{"vm-record": 8}
0x004e8e3c0x030x3dBYTE [object+0xa8 + 0x3d]4inline-menu-pointer-table{"text": 3, "vm-record": 1}
0x004e8e700x030x2fBYTE [object+0xa8 + 0x2f]6inline-menu-pointer-table{"vm-record": 1, "nested-pointer-table": 5}
0x004e8fd80x020x58BYTE [object + 0x58]53skill-description-text-table{"text": 53}
0x004e90b40x020x58BYTE [object + 0x58]40skill-description-text-table{"text": 40}
0x004e915c0x020x58BYTE [object + 0x58]37skill-description-text-table{"text": 37}
0x004e91f80x020x58BYTE [object + 0x58]32skill-description-text-table{"text": 32}
0x004e92800x020x58BYTE [object + 0x58]27skill-description-text-table{"text": 27}
0x004e92f40x020x58BYTE [object + 0x58]6skill-description-text-table{"text": 6}

40 1f local branch lists

recordVaHexmodeRawHexpointerCountclassification
0x004e844e00 003local-branch-list-candidate
0x004e866000 003local-branch-list-candidate
0x004e8eb800 003local-branch-list-candidate