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);; } }