diff --git a/paint/sources/box_export.c b/paint/sources/box_export.c index 02cc30aa..791c3637 100644 --- a/paint/sources/box_export.c +++ b/paint/sources/box_export.c @@ -639,12 +639,16 @@ char *box_export_preset_to_json(export_preset_t *p) { return json_encode_end(); } +void box_export_show_player_box_on_next_frame(void *path) { + export_player_run((char *)path); +} + void box_export_show_player_box_path_picked(char *path) { char *f = ui_files_filename; if (string_equals(f, "")) { f = string_copy(tr("untitled")); } - export_player_run(string("%s%s%s", path, PATH_SEP, f)); + sys_notify_on_next_frame(&box_export_show_player_box_on_next_frame, string("%s%s%s", path, PATH_SEP, f)); } void box_export_show_player_box() { diff --git a/paint/sources/export_player.c b/paint/sources/export_player.c index 5d3e22d2..af935de7 100644 --- a/paint/sources/export_player.c +++ b/paint/sources/export_player.c @@ -104,10 +104,13 @@ static void export_player_run_on_download(char *url, buffer_t *ab) {} void export_player_run(char *path) { char *path_base = path_base_dir(path); - char *_project_filepath = string_copy(project_filepath); - project_filepath = string("%s/%s", path_base, "start.arm"); + char *_project_filepath = string_copy(project_filepath); + project_filepath = string("%s/%s", path_base, "start.arm"); + bool _pack_assets_on_save = context_raw->pack_assets_on_save; + context_raw->pack_assets_on_save = true; export_arm_run_project(); - project_filepath = _project_filepath; + context_raw->pack_assets_on_save = _pack_assets_on_save; + project_filepath = _project_filepath; char *start_js = string("%s/start.js", path_base); iron_file_download("https://armorpaint.app/start.js", &export_player_run_on_download, 0, start_js);