diff --git a/source/funkin/updating/AsyncUpdater.hx b/source/funkin/updating/AsyncUpdater.hx index 61b6fa5b..1bcbbc81 100644 --- a/source/funkin/updating/AsyncUpdater.hx +++ b/source/funkin/updating/AsyncUpdater.hx @@ -160,7 +160,7 @@ class AsyncUpdater { #if windows path = '${Sys.getEnv("TEMP")}\\Codename Engine\\Updater\\'; #else - path = '.\\.temp\\'; + path = '.temp/'; #end FileSystem.createDirectory(path); @@ -187,4 +187,4 @@ abstract UpdaterStep(Int) { var DOWNLOADING_ASSETS = 1; var DOWNLOADING_EXECUTABLE = 2; var INSTALLING = 3; -} \ No newline at end of file +} diff --git a/source/funkin/updating/UpdateScreen.hx b/source/funkin/updating/UpdateScreen.hx index 97355850..f3a1b451 100644 --- a/source/funkin/updating/UpdateScreen.hx +++ b/source/funkin/updating/UpdateScreen.hx @@ -123,7 +123,13 @@ class UpdateScreen extends MusicBeatState { FlxG.camera.fade(0xFF000000, overSound.length / 1000, false, function() { if (updater.executableReplaced) { // the executable has been replaced, restart the game entirely + #if windows Sys.command('start /B ${AsyncUpdater.executableName}'); + #else + // We have to make the new executable allowed to execute + // before we can execute it! + Sys.command('chmod +x ./${AsyncUpdater.executableName} && ./${AsyncUpdater.executableName}'); + #end openfl.system.System.exit(0); } else { // assets update, switch back to TitleState. @@ -133,4 +139,4 @@ class UpdateScreen extends MusicBeatState { bf.clipRect = null; } } -} \ No newline at end of file +}