using Age.Engine.Model; namespace Age.Engine.Hosting; /// Resolves a call-script id (a raw SYS4INI file index) to a loaded . /// Implemented in Sys4; injected into the VM so the Vm layer never references Sys4. public interface IScriptProvider { /// The script for this id, or null if the id maps to no known script. Script? GetById(long id); /// Resolve a fixed engine callback filename such as CALLBACK_LOAD.BIN. Script? GetByName(string name) => null; /// Selectors of currently mounted append catalogs. Opcode 0x143 scans these in /// ascending order and executes record zero from each catalog. IReadOnlyList MountedAppendSelectors => Array.Empty(); }