NScumm.Sky.Intro.ShowTextBuf C# (CSharp) Method

ShowTextBuf() private method

private ShowTextBuf ( ) : void
return void
        private void ShowTextBuf()
        {
            var header = ServiceLocator.Platform.ToStructure<DataFileHeader>(_textBuf, 0);
            ushort x = header.s_x;
            ushort y = header.s_y;
            ushort width = header.s_width;
            ushort height = header.s_height;
            var screenBuf = y * Screen.GameScreenWidth + x;
            var sizeofDataFileHeader = 22;
            Array.Copy(_textBuf, _saveBuf, sizeofDataFileHeader);
            var saveBuf = sizeofDataFileHeader;
            var textBuf = sizeofDataFileHeader;
            for (ushort cnty = 0; cnty < height; cnty++)
            {
                Array.Copy(_skyScreen.Current, screenBuf, _saveBuf, saveBuf, width);
                for (var cntx = 0; cntx < width; cntx++)
                    if (_textBuf[textBuf + cntx] != 0)
                        _skyScreen.Current[screenBuf + cntx] = _textBuf[textBuf + cntx];
                screenBuf += Screen.GameScreenWidth;
                textBuf += width;
                saveBuf += width;
            }
            screenBuf = y * Screen.GameScreenWidth + x;
            _system.GraphicsManager.CopyRectToScreen(_skyScreen.Current, screenBuf, Screen.GameScreenWidth, x, y, width, height);
        }