void Lua_V2::FileFindFirst() { lua_Object extObj = lua_getparam(1); if (!lua_isstring(extObj)) { lua_pushnil(); return; } FileFindDispose(); const char *extension = lua_getstring(extObj); if (0 == strncmp(extension, "Saves/", 6)) extension += 6; // _menus.lua: saveload_menu.get_file_list searches for *.gsv. // This avoids conflicts with grim saves. if (0 == strcmp(extension, "*.gsv")) extension = "efmi???.gsv"; Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); g_grim->_listFiles = saveFileMan->listSavefiles(extension); Common::sort(g_grim->_listFiles.begin(), g_grim->_listFiles.end()); g_grim->_listFilesIter = g_grim->_listFiles.begin(); if (g_grim->_listFilesIter == g_grim->_listFiles.end()) lua_pushnil(); else FileFindNext(); }
void Lua_V2::FileFindFirst() { lua_Object extObj = lua_getparam(1); if (!lua_isstring(extObj)) { lua_pushnil(); return; } FileFindDispose(); const char *extension = lua_getstring(extObj); if (0 == strncmp(extension, "Saves/", 6)) extension += 6; Common::SaveFileManager *saveFileMan = g_system->getSavefileManager(); g_grim->_listFiles = saveFileMan->listSavefiles(extension); Common::sort(g_grim->_listFiles.begin(), g_grim->_listFiles.end()); g_grim->_listFilesIter = g_grim->_listFiles.begin(); if (g_grim->_listFilesIter == g_grim->_listFiles.end()) lua_pushnil(); else FileFindNext(); }