Skip to content

Commit

Permalink
Clean-up temporary file logic.
Browse files Browse the repository at this point in the history
  • Loading branch information
Clownacy committed Sep 9, 2023
1 parent 695f904 commit 64944ab
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions main-window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -313,17 +313,16 @@ MainWindow::MainWindow(QWidget* const parent)
return extension_position != -1 && QStringView(file_path.data() + extension_position) == QStringLiteral(".asm");
};

const char* const temporary_assembly_filename = "clownmaped-temporary.asm";
const char* const temporary_binary_filename = "clownmaped-temporary.bin";

const auto load_asm_or_bin_file = [this, assemble_file, is_assembly_file_path, temporary_binary_filename](const QString &file_path, const std::function<void(const QString &file_path)> &callback)
const auto load_asm_or_bin_file = [this, assemble_file, is_assembly_file_path, temporary_assembly_filename, temporary_binary_filename](const QString &file_path, const std::function<void(const QString &file_path)> &callback)
{
if (file_path.isNull())
return;

if (is_assembly_file_path(file_path))
{
const char* const temporary_assembly_filename = "clownmaped-temporary.asm";

// In case this file uses MapMacros, we'll generate a wrapper file to define the relevant macros.
QFile file(temporary_assembly_filename);
if (!file.open(QFile::OpenModeFlag::WriteOnly))
Expand Down Expand Up @@ -426,6 +425,8 @@ s3kPlayerDplcEntry macro totalTiles, tileIndex
return;
}

remove(temporary_assembly_filename);

callback(temporary_binary_filename);

remove(temporary_binary_filename);
Expand Down Expand Up @@ -712,7 +713,7 @@ s3kPlayerDplcEntry macro totalTiles, tileIndex
}
);

const auto save_asm_or_bin_file = [this, assemble_file, is_assembly_file_path, temporary_binary_filename](const QString &file_path, const std::function<void(const QString &file_path)> &callback)
const auto save_asm_or_bin_file = [this, assemble_file, is_assembly_file_path, temporary_assembly_filename](const QString &file_path, const std::function<void(const QString &file_path)> &callback)
{
if (file_path.isNull())
return;
Expand All @@ -723,15 +724,15 @@ s3kPlayerDplcEntry macro totalTiles, tileIndex
}
else
{
callback(temporary_binary_filename);
callback(temporary_assembly_filename);

if (!assemble_file(temporary_binary_filename, file_path.toStdString().c_str()))
if (!assemble_file(temporary_assembly_filename, file_path.toStdString().c_str()))
{
QMessageBox::critical(this, "Error", "Failed to save file: data could not be assembled.");
return;
}

remove(temporary_binary_filename);
remove(temporary_assembly_filename);
}
};

Expand Down

0 comments on commit 64944ab

Please sign in to comment.