diff --git a/gd_spritestudio/SpriteStudio7-SDK b/gd_spritestudio/SpriteStudio7-SDK index 5f2151f..f4478f1 160000 --- a/gd_spritestudio/SpriteStudio7-SDK +++ b/gd_spritestudio/SpriteStudio7-SDK @@ -1 +1 @@ -Subproject commit 5f2151fc0a285a99b64391e915b74a7391fbf4ad +Subproject commit f4478f1a29ff45e8d0e7a8b995b8a37d52cd60a4 diff --git a/gd_spritestudio/gd_ss_import_dock.cpp b/gd_spritestudio/gd_ss_import_dock.cpp index b5e8a46..078ee03 100644 --- a/gd_spritestudio/gd_ss_import_dock.cpp +++ b/gd_spritestudio/gd_ss_import_dock.cpp @@ -115,7 +115,11 @@ void GdSsImportControl::_notification(int p_what) { void* GdSsImportControl::process_file(const String &source_sspj_path, const String &dst_dir_path) { auto ctx = ss_converter_create(); - ss_converter_convert(ctx, source_sspj_path.utf8().get_data(), dst_dir_path.utf8().get_data()); + auto src = source_sspj_path.utf8().get_data(); + ss_converter_convert(ctx, src, dst_dir_path.utf8().get_data(), [](const char *msg){ + print_line("%s", msg); + }); + return ctx; } diff --git a/gd_spritestudio/runtime/ssconverter.h b/gd_spritestudio/runtime/ssconverter.h index cd92c70..c35de9f 100644 --- a/gd_spritestudio/runtime/ssconverter.h +++ b/gd_spritestudio/runtime/ssconverter.h @@ -15,6 +15,8 @@ enum class CConverterError { struct Context; +using LogCallback = void(*)(const char*); + extern "C" { const char *ss_converter_version(); @@ -25,7 +27,10 @@ Context *ss_converter_create(); void ss_converter_destroy(Context *context); -void ss_converter_convert(Context *ctx, const char *sspj, const char *output_dir); +void ss_converter_convert(Context *ctx, + const char *sspj, + const char *output_dir, + LogCallback callback); bool ss_converter_is_finished(Context *context);