diff options
Diffstat (limited to 'src/script/lua_api/l_mainmenu.cpp')
-rw-r--r-- | src/script/lua_api/l_mainmenu.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/script/lua_api/l_mainmenu.cpp b/src/script/lua_api/l_mainmenu.cpp index 9b9211593..9a64bd0ab 100644 --- a/src/script/lua_api/l_mainmenu.cpp +++ b/src/script/lua_api/l_mainmenu.cpp @@ -683,6 +683,12 @@ int ModApiMainMenu::l_get_texturepath_share(lua_State *L) return 1; } +int ModApiMainMenu::l_get_cache_path(lua_State *L) +{ + lua_pushstring(L, fs::RemoveRelativePathComponents(porting::path_cache).c_str()); + return 1; +} + /******************************************************************************/ int ModApiMainMenu::l_create_dir(lua_State *L) { const char *path = luaL_checkstring(L, 1); @@ -855,6 +861,9 @@ bool ModApiMainMenu::mayModifyPath(const std::string &path) if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM "worlds"))) return true; + if (fs::PathStartsWith(path, fs::RemoveRelativePathComponents(porting::path_cache))) + return true; + return false; } @@ -1043,6 +1052,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top) API_FCT(get_gamepath); API_FCT(get_texturepath); API_FCT(get_texturepath_share); + API_FCT(get_cache_path); API_FCT(create_dir); API_FCT(delete_dir); API_FCT(copy_dir); @@ -1071,6 +1081,7 @@ void ModApiMainMenu::InitializeAsync(lua_State *L, int top) API_FCT(get_gamepath); API_FCT(get_texturepath); API_FCT(get_texturepath_share); + API_FCT(get_cache_path); API_FCT(create_dir); API_FCT(delete_dir); API_FCT(copy_dir); |