Exemple #1
0
        private void DrawSprites()
        {
            var asmCol     = m_HeaderCols["ASM"];
            var commentCol = m_HeaderCols["Comments"];

            for (int row = m_Worksheet.Dimension.Rows; row >= 2; --row)
            {
                var asmCell     = m_Worksheet.Cells[row, asmCol];
                var commentCell = m_Worksheet.Cells[row, commentCol];

                if (!s_IsSprite.IsMatch(commentCell.Text))
                {
                    continue;
                }

                // break up bytes to multiple rows:
                var bytes = AsmUtils.GetBytes(asmCell.Text).ToList();
                if (bytes.Count > 1)
                {
                    for (int i = bytes.Count - 1; i >= 1; --i)
                    {
                        m_Worksheet.InsertRow(row + 1, 1);
                        var newAsmCell     = m_Worksheet.Cells[row + 1, asmCol];
                        var newCommentCell = m_Worksheet.Cells[row + 1, commentCol];
                        newAsmCell.Value     = $".byte ${bytes[i]}";
                        newCommentCell.Value = AsmUtils.DecodeSprite(newAsmCell.Text);
                    }
                }
                asmCell.Value     = $".byte ${bytes[0]}";
                commentCell.Value = AsmUtils.DecodeSprite(asmCell.Text);;
            }
        }