Files
OpenMaidEngine/engine/Age.Engine/Vm/VirtualMachine.RuntimeSettings.cs
2026-08-03 09:54:45 -04:00

37 lines
1.6 KiB
C#

using Age.Engine.Model;
namespace Age.Engine.Vm;
public sealed partial class VirtualMachine
{
private int StepRuntimeSetting(string label, IReadOnlyList<Operand> a, int pc)
{
switch (label)
{
case "get-message-window-alpha": // 0x131: process-owned message:MesWinAlpha setting
case "u00415F70":
Write(a[0], _messageWindowAlphaSetting);
return pc + 1;
case "set-message-window-alpha": // 0x141: paired message:MesWinAlpha configuration setter
case "u0041FAA0":
_messageWindowAlphaSetting = (int)Read(a[0]);
_host.SetMessageWindowAlphaSetting(_messageWindowAlphaSetting);
return pc + 1;
case "set-system-menu-enabled": // 0x142: native AGERC menu reentrancy guard
case "u0041FB10": // pre-reference compatibility
_systemMenuActionsEnabled = unchecked((int)Read(a[0]));
return pc + 1;
case "get-system-menu-show-delay": // 0x148: paired TIMER_SHOWMENU getter
case "u004160A0": // pre-reference compatibility
Write(a[0], unchecked((int)_systemMenuShowDelayMilliseconds));
return pc + 1;
case "set-system-menu-show-delay": // 0x149: top-edge dwell threshold in milliseconds
case "u0041FCE0": // pre-reference compatibility
_systemMenuShowDelayMilliseconds = unchecked((uint)Read(a[0]));
return pc + 1;
default:
throw new InvalidOperationException($"Non-runtime-setting opcode routed to runtime-setting handler: {label}");
}
}
}