From dd04074d62fbe8cfb2c1691250ad1ea92325cef9 Mon Sep 17 00:00:00 2001 From: Bart van Strien Date: Fri, 1 Jun 2012 17:31:44 +0200 Subject: [PATCH] Add love.filesystem.getIdentity --- src/modules/filesystem/physfs/Filesystem.cpp | 5 +++++ src/modules/filesystem/physfs/Filesystem.h | 1 + src/modules/filesystem/physfs/wrap_Filesystem.cpp | 7 +++++++ src/modules/filesystem/physfs/wrap_Filesystem.h | 1 + 4 files changed, 14 insertions(+) diff --git a/src/modules/filesystem/physfs/Filesystem.cpp b/src/modules/filesystem/physfs/Filesystem.cpp index 5e58e3f60..cb2704041 100644 --- a/src/modules/filesystem/physfs/Filesystem.cpp +++ b/src/modules/filesystem/physfs/Filesystem.cpp @@ -104,6 +104,11 @@ namespace physfs return true; } + const char * Filesystem::getIdentity() const + { + return save_identity.c_str(); + } + bool Filesystem::setSource(const char * source) { if (!isInited) diff --git a/src/modules/filesystem/physfs/Filesystem.h b/src/modules/filesystem/physfs/Filesystem.h index ed6d57fbd..74ba72756 100644 --- a/src/modules/filesystem/physfs/Filesystem.h +++ b/src/modules/filesystem/physfs/Filesystem.h @@ -135,6 +135,7 @@ namespace physfs * to create the folder in the LOVE data folder. **/ bool setIdentity(const char * ident); + const char * getIdentity() const; /** * Sets the path to the game source. diff --git a/src/modules/filesystem/physfs/wrap_Filesystem.cpp b/src/modules/filesystem/physfs/wrap_Filesystem.cpp index 65eb4dd40..ec97afd6f 100644 --- a/src/modules/filesystem/physfs/wrap_Filesystem.cpp +++ b/src/modules/filesystem/physfs/wrap_Filesystem.cpp @@ -70,6 +70,12 @@ namespace physfs return 0; } + int w_getIdentity(lua_State * L) + { + lua_pushstring(L, instance->getIdentity()); + return 1; + } + int w_setSource(lua_State * L) { const char * arg = luaL_checkstring(L, 1); @@ -369,6 +375,7 @@ namespace physfs { "init", w_init }, { "setRelease", w_setRelease }, { "setIdentity", w_setIdentity }, + { "getIdentity", w_getIdentity }, { "setSource", w_setSource }, { "newFile", w_newFile }, { "getWorkingDirectory", w_getWorkingDirectory }, diff --git a/src/modules/filesystem/physfs/wrap_Filesystem.h b/src/modules/filesystem/physfs/wrap_Filesystem.h index d299d7d06..34002d9c9 100644 --- a/src/modules/filesystem/physfs/wrap_Filesystem.h +++ b/src/modules/filesystem/physfs/wrap_Filesystem.h @@ -39,6 +39,7 @@ namespace physfs int w_init(lua_State * L); int w_setRelease(lua_State * L); int w_setIdentity(lua_State * L); + int w_getIdentity(lua_State * L); int w_setSource(lua_State * L); int w_newFile(lua_State * L); int w_newFileData(lua_State * L);