NScumm.Scumm.Audio.IMuse.IMuseInternal.HandleMarker C# (CSharp) Method

HandleMarker() public method

public HandleMarker ( int id, int data ) : void
id int
data int
return void
        public void HandleMarker(int id, int data)
        {
            if ((_queue_end == _queue_pos) || (_queue_adding && _queueSound == id && data == _queue_marker))
                return;

            var p = _cmd_queue[_queue_end].array;
            if (p[0] != TriggerId || id != p[1] || data != p[2])
                return;

            _trigger_count--;
            _queue_cleared = false;
            _queue_end = (uint)((_queue_end + 1) % _cmd_queue.Length);

            while (_queue_end != _queue_pos && _cmd_queue[_queue_end].array[0] == CommandId && !_queue_cleared)
            {
                p = _cmd_queue[_queue_end].array;
                DoCommandInternal(p[1], p[2], p[3], p[4], p[5], p[6], p[7], 0);
                _queue_end = (uint)((_queue_end + 1) % _cmd_queue.Length);
            }
        }