diff --git a/data/lua/core.lua b/data/lua/core.lua index 45f288d2c9c8..87d392f1c2de 100644 --- a/data/lua/core.lua +++ b/data/lua/core.lua @@ -638,7 +638,6 @@ if wesnoth.kernel_type() == "Game Lua Kernel" then --[========[Map module]========] - wesnoth.map.replace_if_failed = wesnoth.map.get().replace_if_failed function wesnoth.map.split_terrain_code(code) return table.unpack(code:split('^', {remove_empty = false})) end diff --git a/src/scripting/game_lua_kernel.cpp b/src/scripting/game_lua_kernel.cpp index d282a8618c08..72bff020a880 100644 --- a/src/scripting/game_lua_kernel.cpp +++ b/src/scripting/game_lua_kernel.cpp @@ -4150,6 +4150,7 @@ game_lua_kernel::game_lua_kernel(game_state & gs, play_controller & pc, reports // Filters {"find_locations", &dispatch<&game_lua_kernel::intf_get_locations>}, {"match_location", &dispatch<&game_lua_kernel::intf_match_location>}, + {"replace_if_failed", intf_replace_if_failed}, { nullptr, nullptr } }; luaL_setfuncs(L, map_callbacks, 0); diff --git a/src/scripting/lua_terrainmap.cpp b/src/scripting/lua_terrainmap.cpp index b9202d492021..9b4e147c1a3c 100644 --- a/src/scripting/lua_terrainmap.cpp +++ b/src/scripting/lua_terrainmap.cpp @@ -464,7 +464,7 @@ int intf_terrain_mask(lua_State *L) return 0; } -static int intf_replace_if_failed(lua_State* L) +int intf_replace_if_failed(lua_State* L) { auto mode = terrain_type_data::BOTH; if(!lua_isnoneornil(L, 2)) { @@ -517,8 +517,6 @@ namespace lua_terrainmap { // terrainmap methods lua_pushcfunction(L, intf_on_board); lua_setfield(L, -2, "on_board"); - lua_pushcfunction(L, intf_replace_if_failed); - lua_setfield(L, -2, "replace_if_failed"); if(use_tf) { lua_pushcfunction(L, intf_mg_get_locations); lua_setfield(L, -2, "get_locations"); diff --git a/src/scripting/lua_terrainmap.hpp b/src/scripting/lua_terrainmap.hpp index 16963c08ad08..a559af48c133 100644 --- a/src/scripting/lua_terrainmap.hpp +++ b/src/scripting/lua_terrainmap.hpp @@ -57,6 +57,8 @@ void lua_terrainmap_setmetatable(lua_State *L); int intf_terrainmap_create(lua_State *L); int intf_terrainmap_get(lua_State *L); +int intf_replace_if_failed(lua_State* L); + namespace lua_terrainmap { std::string register_metatables(lua_State *L, bool use_tf); }