diff --git a/Source/Core/DolphinQt/Config/CheatCodeEditor.cpp b/Source/Core/DolphinQt/Config/CheatCodeEditor.cpp index de47f227c1..65a5cc78c9 100644 --- a/Source/Core/DolphinQt/Config/CheatCodeEditor.cpp +++ b/Source/Core/DolphinQt/Config/CheatCodeEditor.cpp @@ -122,6 +122,8 @@ void CheatCodeEditor::ConnectWidgets() bool CheatCodeEditor::AcceptAR() { + QString name = m_name_edit->text(); + std::vector entries; std::vector encrypted_lines; @@ -134,6 +136,14 @@ bool CheatCodeEditor::AcceptAR() if (line.isEmpty()) continue; + if (i == 0 && line[0] == u'$') + { + if (name.isEmpty()) + name = line.right(line.size() - 1); + + continue; + } + QStringList values = line.split(QLatin1Char{' '}); bool good = true; @@ -220,7 +230,7 @@ bool CheatCodeEditor::AcceptAR() return false; } - m_ar_code->name = m_name_edit->text().toStdString(); + m_ar_code->name = name.toStdString(); m_ar_code->ops = std::move(entries); m_ar_code->user_defined = true; @@ -229,6 +239,8 @@ bool CheatCodeEditor::AcceptAR() bool CheatCodeEditor::AcceptGecko() { + QString name = m_name_edit->text(); + std::vector entries; QStringList lines = m_code_edit->toPlainText().split(QLatin1Char{'\n'}); @@ -240,6 +252,14 @@ bool CheatCodeEditor::AcceptGecko() if (line.isEmpty()) continue; + if (i == 0 && line[0] == u'$') + { + if (name.isEmpty()) + name = line.right(line.size() - 1); + + continue; + } + QStringList values = line.split(QLatin1Char{' '}); bool good = values.size() == 2; @@ -283,7 +303,7 @@ bool CheatCodeEditor::AcceptGecko() return false; } - m_gecko_code->name = m_name_edit->text().toStdString(); + m_gecko_code->name = name.toStdString(); m_gecko_code->creator = m_creator_edit->text().toStdString(); m_gecko_code->codes = std::move(entries); m_gecko_code->notes = SplitString(m_notes_edit->toPlainText().toStdString(), '\n');