Implement SC0000 movie playback lifecycle
This commit is contained in:
@@ -185,6 +185,16 @@ public sealed class GfxState
|
||||
lock (_lock)
|
||||
return _objects.TryGetValue(handle, out var o) ? o.SourceSlot : -1;
|
||||
}
|
||||
|
||||
/// <summary>Rebind one retained object from one source surface to another. Used by SC0000's bounded
|
||||
/// movie site to reproduce the native warm-engine slot assignment before the following static loaders
|
||||
/// reuse the port's cold-bootstrap slot.</summary>
|
||||
public void RemapObjectSurface(long handle, int fromSlot, int toSlot)
|
||||
{
|
||||
lock (_lock)
|
||||
if (_objects.TryGetValue(handle, out var obj) && obj.SourceSlot == fromSlot)
|
||||
obj.SourceSlot = toSlot;
|
||||
}
|
||||
public bool IsRegistered(long handle) { lock (_lock) { return _operandRegistry.Contains(handle); } }
|
||||
public long QueryField(long idx) => _fieldTable.TryGetValue(idx, out var v) ? v : 0;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user