From 073703f8ba3cb09a1dcd46991a4f2da0302ba15e Mon Sep 17 00:00:00 2001 From: tildearrow Date: Sat, 8 Jan 2022 02:04:43 -0500 Subject: [PATCH] refuse to save YMU759 songs the .dmf format no longer allows YMU759 songs... --- src/engine/engine.cpp | 7 +++++++ src/gui/gui.cpp | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/src/engine/engine.cpp b/src/engine/engine.cpp index f2c1fc0a9..52a8124e0 100644 --- a/src/engine/engine.cpp +++ b/src/engine/engine.cpp @@ -1007,6 +1007,13 @@ bool DivEngine::load(unsigned char* f, size_t slen) { } SafeWriter* DivEngine::save() { + // fail if this is an YMU759 song + if (song.system==DIV_SYSTEM_YMU759) { + logE("cannot save YMU759 song!\n"); + lastError="YMU759 song saving is not supported"; + return NULL; + } + SafeWriter* w=new SafeWriter; w->init(); // write magic diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index aca3147da..853f1f8c0 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -2383,6 +2383,11 @@ int FurnaceGUI::save(String path) { return 1; } SafeWriter* w=e->save(); + if (w==NULL) { + lastError=e->getLastError(); + fclose(outFile); + return 3; + } #ifdef FURNACE_ZLIB_COMPRESS unsigned char zbuf[131072]; int ret;