mirror of
https://github.com/love2d/love.git
synced 2026-08-16 08:11:02 +02:00
Re-add love.filesystem.exists.
It's still useful sometimes because it's a bit cheaper than getInfo.
This commit is contained in:
@@ -216,6 +216,11 @@ public:
|
||||
**/
|
||||
virtual std::string getRealDirectory(const char *filename) const = 0;
|
||||
|
||||
/**
|
||||
* Gets whether anything exists at the specified path.
|
||||
**/
|
||||
virtual bool exists(const char *filepath) const = 0;
|
||||
|
||||
/**
|
||||
* Gets information about the item at the specified filepath. Returns false
|
||||
* if nothing exists at the path.
|
||||
|
||||
@@ -738,6 +738,14 @@ std::string Filesystem::getRealDirectory(const char *filename) const
|
||||
return std::string(dir);
|
||||
}
|
||||
|
||||
bool Filesystem::exists(const char *filepath) const
|
||||
{
|
||||
if (!PHYSFS_isInit())
|
||||
return false;
|
||||
|
||||
return PHYSFS_exists(filepath) != 0;
|
||||
}
|
||||
|
||||
bool Filesystem::getInfo(const char *filepath, Info &info) const
|
||||
{
|
||||
if (!PHYSFS_isInit())
|
||||
|
||||
@@ -82,6 +82,7 @@ public:
|
||||
|
||||
std::string getRealDirectory(const char *filename) const override;
|
||||
|
||||
bool exists(const char *filepath) const override;
|
||||
bool getInfo(const char *filepath, Info &info) const override;
|
||||
|
||||
bool createDirectory(const char *dir) override;
|
||||
|
||||
@@ -502,6 +502,13 @@ int w_getExecutablePath(lua_State *L)
|
||||
return 1;
|
||||
}
|
||||
|
||||
int w_exists(lua_State *L)
|
||||
{
|
||||
const char *path = luaL_checkstring(L, 1);
|
||||
luax_pushboolean(L, instance()->exists(path));
|
||||
return 1;
|
||||
}
|
||||
|
||||
int w_getInfo(lua_State *L)
|
||||
{
|
||||
const char *filepath = luaL_checkstring(L, 1);
|
||||
@@ -1000,6 +1007,7 @@ static const luaL_Reg functions[] =
|
||||
{ "getDirectoryItems", w_getDirectoryItems },
|
||||
{ "lines", w_lines },
|
||||
{ "load", w_load },
|
||||
{ "exists", w_exists },
|
||||
{ "getInfo", w_getInfo },
|
||||
{ "setSymlinksEnabled", w_setSymlinksEnabled },
|
||||
{ "areSymlinksEnabled", w_areSymlinksEnabled },
|
||||
|
||||
Reference in New Issue
Block a user