From 40ad9767531beb6cf2e8bd918c9c9ed5f2749320 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sat, 30 Jan 2021 14:35:34 +0100 Subject: Revise dynamic_add_media API to better accomodate future changes --- builtin/game/misc.lua | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'builtin') diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua index 96a0a2dda..b8c5e16a9 100644 --- a/builtin/game/misc.lua +++ b/builtin/game/misc.lua @@ -266,3 +266,26 @@ end function core.cancel_shutdown_requests() core.request_shutdown("", false, -1) end + + +-- Callback handling for dynamic_add_media + +local dynamic_add_media_raw = core.dynamic_add_media_raw +core.dynamic_add_media_raw = nil +function core.dynamic_add_media(filepath, callback) + local ret = dynamic_add_media_raw(filepath) + if ret == false then + return ret + end + if callback == nil then + core.log("deprecated", "Calling minetest.dynamic_add_media without ".. + "a callback is deprecated and will stop working in future versions.") + else + -- At the moment async loading is not actually implemented, so we + -- immediately call the callback ourselves + for _, name in ipairs(ret) do + callback(name) + end + end + return true +end -- cgit v1.2.3