Fix absence of images when compiled with RUN_IN_PLACE=0.

This commit is contained in:
Ilya Zhuravlev 2013-12-13 20:35:57 +04:00 committed by Perttu Ahola
parent 4d22977509
commit b8c3221d55
3 changed files with 14 additions and 3 deletions

View File

@ -253,7 +253,7 @@ function menu.init()
menu.favorites = engine.get_favorites("local")
end
menu.defaulttexturedir = engine.get_texturepath() .. DIR_DELIM .. "base" ..
menu.defaulttexturedir = engine.get_texturepath_share() .. DIR_DELIM .. "base" ..
DIR_DELIM .. "pack" .. DIR_DELIM
end
@ -1070,8 +1070,7 @@ function tabbuilder.tab_texture_packs()
local no_screenshot = nil
if not file_exists(screenfile) then
screenfile = nil
no_screenshot = engine.get_texturepath()..DIR_DELIM..
"base"..DIR_DELIM.."pack"..DIR_DELIM.."no_screenshot.png"
no_screenshot = menu.defaulttexturedir .. "no_screenshot.png"
end
return retval ..

View File

@ -704,6 +704,14 @@ int ModApiMainMenu::l_get_texturepath(lua_State *L)
return 1;
}
int ModApiMainMenu::l_get_texturepath_share(lua_State *L)
{
std::string gamepath
= fs::RemoveRelativePathComponents(porting::path_share + DIR_DELIM + "textures");
lua_pushstring(L, gamepath.c_str());
return 1;
}
/******************************************************************************/
int ModApiMainMenu::l_get_dirlist(lua_State *L)
{
@ -1032,6 +1040,7 @@ void ModApiMainMenu::Initialize(lua_State *L, int top)
API_FCT(get_modpath);
API_FCT(get_gamepath);
API_FCT(get_texturepath);
API_FCT(get_texturepath_share);
API_FCT(get_dirlist);
API_FCT(create_dir);
API_FCT(delete_dir);
@ -1059,6 +1068,7 @@ void ModApiMainMenu::InitializeAsync(AsyncEngine& engine)
ASYNC_API_FCT(get_modpath);
ASYNC_API_FCT(get_gamepath);
ASYNC_API_FCT(get_texturepath);
ASYNC_API_FCT(get_texturepath_share);
ASYNC_API_FCT(get_dirlist);
ASYNC_API_FCT(create_dir);
ASYNC_API_FCT(delete_dir);

View File

@ -111,6 +111,8 @@ private:
static int l_get_texturepath(lua_State *L);
static int l_get_texturepath_share(lua_State *L);
static int l_get_dirlist(lua_State *L);
static int l_create_dir(lua_State *L);