summaryrefslogtreecommitdiff
path: root/src/client
ModeNameSize
-rw-r--r--CMakeLists.txt2285logplain
-rw-r--r--activeobjectmgr.cpp2910logplain
-rw-r--r--activeobjectmgr.h1332logplain
-rw-r--r--camera.cpp22482logplain
-rw-r--r--camera.h5950logplain
-rw-r--r--client.cpp51420logplain
-rw-r--r--client.h18324logplain
-rw-r--r--clientenvironment.cpp14206logplain
-rw-r--r--clientenvironment.h4183logplain
-rw-r--r--clientevent.h3304logplain
-rw-r--r--clientlauncher.cpp18481logplain
-rw-r--r--clientlauncher.h2096logplain
-rw-r--r--clientmap.cpp17296logplain
-rw-r--r--clientmap.h3202logplain
-rw-r--r--clientmedia.cpp18667logplain
-rw-r--r--clientmedia.h4449logplain
-rw-r--r--clientobject.cpp1694logplain
-rw-r--r--clientobject.h3672logplain
-rw-r--r--clouds.cpp11384logplain
-rw-r--r--clouds.h3135logplain
-rw-r--r--content_cao.cpp50634logplain
-rw-r--r--content_cao.h6957logplain
-rw-r--r--content_cso.cpp2574logplain
-rw-r--r--content_cso.h982logplain
-rw-r--r--content_mapblock.cpp43692logplain
-rw-r--r--content_mapblock.h4730logplain
-rw-r--r--event_manager.h2255logplain
-rw-r--r--filecache.cpp2268logplain
-rw-r--r--filecache.h1316logplain
-rw-r--r--fontengine.cpp12374logplain
-rw-r--r--fontengine.h4632logplain
-rw-r--r--game.cpp124932logplain
-rw-r--r--game.h1624logplain
-rw-r--r--gameui.cpp9781logplain
-rw-r--r--gameui.h3738logplain
-rw-r--r--guiscalingfilter.cpp7634logplain
-rw-r--r--guiscalingfilter.h2356logplain
-rw-r--r--hud.cpp26493logplain
-rw-r--r--hud.h3935logplain
-rw-r--r--imagefilters.cpp5527logplain
-rw-r--r--imagefilters.h1939logplain
-rw-r--r--inputhandler.cpp8030logplain
-rw-r--r--inputhandler.h9479logplain
-rw-r--r--joystick_controller.cpp7448logplain
-rw-r--r--joystick_controller.h3818logplain
-rw-r--r--keycode.cpp10276logplain
-rw-r--r--keycode.h1776logplain
-rw-r--r--keys.h1985logplain
-rw-r--r--localplayer.cpp34349logplain
-rw-r--r--localplayer.h6275logplain
-rw-r--r--mapblock_mesh.cpp38111logplain
-rw-r--r--mapblock_mesh.h6540logplain
-rw-r--r--mesh.cpp27206logplain
-rw-r--r--mesh.h3889logplain
-rw-r--r--mesh_generator_thread.cpp7948logplain
-rw-r--r--mesh_generator_thread.h3379logplain
d---------meshgen80logplain
-rw-r--r--minimap.cpp17905logplain
-rw-r--r--minimap.h4063logplain
-rw-r--r--particles.cpp17346logplain
-rw-r--r--particles.h5244logplain
d---------render612logplain
-rw-r--r--renderingengine.cpp20898logplain
-rw-r--r--renderingengine.h4681logplain
-rw-r--r--shader.cpp25634logplain
-rw-r--r--shader.h4460logplain
-rw-r--r--sky.cpp34779logplain
-rw-r--r--sky.h7125logplain
-rw-r--r--sound.cpp880logplain
-rw-r--r--sound.h3597logplain
-rw-r--r--sound_openal.cpp17580logplain
-rw-r--r--sound_openal.h1114logplain
-rw-r--r--tile.cpp64507logplain
-rw-r--r--tile.h9259logplain
-rw-r--r--wieldmesh.cpp22575logplain
-rw-r--r--wieldmesh.h4101logplain
+ DIR_DELIM; std::string path = players_path + name; RemotePlayer temp_player("", NULL); for (u32 i = 0; i < PLAYER_FILE_ALTERNATE_TRIES; i++) { // Open file and deserialize std::ifstream is(path.c_str(), std::ios_base::binary); if (!is.good()) continue; deSerialize(&temp_player, is, path, NULL); is.close(); if (temp_player.getName() == name) { fs::DeleteSingleFileOrEmptyDirectory(path); return true; } path = players_path + name + itos(i); } return false; } bool PlayerDatabaseFiles::loadPlayer(RemotePlayer *player, PlayerSAO *sao) { std::string players_path = m_savedir + DIR_DELIM; std::string path = players_path + player->getName(); const std::string player_to_load = player->getName(); for (u32 i = 0; i < PLAYER_FILE_ALTERNATE_TRIES; i++) { // Open file and deserialize std::ifstream is(path.c_str(), std::ios_base::binary); if (!is.good()) continue; deSerialize(player, is, path, sao); is.close(); if (player->getName() == player_to_load) return true; path = players_path + player_to_load + itos(i); } infostream << "Player file for player " << player_to_load << " not found" << std::endl; return false; } void PlayerDatabaseFiles::listPlayers(std::vector<std::string> &res) { std::vector<fs::DirListNode> files = fs::GetDirListing(m_savedir); // list files into players directory for (std::vector<fs::DirListNode>::const_iterator it = files.begin(); it != files.end(); ++it) { // Ignore directories if (it->dir) continue; const std::string &filename = it->name; std::string full_path = m_savedir + DIR_DELIM + filename; std::ifstream is(full_path.c_str(), std::ios_base::binary); if (!is.good()) continue; RemotePlayer player(filename.c_str(), NULL); // Null env & dummy peer_id PlayerSAO playerSAO(NULL, &player, 15789, false); deSerialize(&player, is, "", &playerSAO); is.close(); res.emplace_back(player.getName()); } } AuthDatabaseFiles::AuthDatabaseFiles(const std::string &savedir) : m_savedir(savedir) { readAuthFile(); } bool AuthDatabaseFiles::getAuth(const std::string &name, AuthEntry &res) { const auto res_i = m_auth_list.find(name); if (res_i == m_auth_list.end()) { return false; } res = res_i->second; return true; } bool AuthDatabaseFiles::saveAuth(const AuthEntry &authEntry) { m_auth_list[authEntry.name] = authEntry; // save entire file return writeAuthFile(); } bool AuthDatabaseFiles::createAuth(AuthEntry &authEntry) { m_auth_list[authEntry.name] = authEntry; // save entire file return writeAuthFile(); } bool AuthDatabaseFiles::deleteAuth(const std::string &name) { if (!m_auth_list.erase(name)) { // did not delete anything -> hadn't existed return false; } return writeAuthFile(); } void AuthDatabaseFiles::listNames(std::vector<std::string> &res) { res.clear(); res.reserve(m_auth_list.size()); for (const auto &res_pair : m_auth_list) { res.push_back(res_pair.first); } } void AuthDatabaseFiles::reload() { readAuthFile(); } bool AuthDatabaseFiles::readAuthFile() { std::string path = m_savedir + DIR_DELIM + "auth.txt"; std::ifstream file(path, std::ios::binary); if (!file.good()) { return false; } m_auth_list.clear(); while (file.good()) { std::string line; std::getline(file, line); std::vector<std::string> parts = str_split(line, ':'); if (parts.size() < 3) // also: empty line at end continue; const std::string &name = parts[0]; const std::string &password = parts[1]; std::vector<std::string> privileges = str_split(parts[2], ','); s64 last_login = parts.size() > 3 ? atol(parts[3].c_str()) : 0; m_auth_list[name] = { 1, name, password, privileges, last_login, }; } return true; } bool AuthDatabaseFiles::writeAuthFile() { std::string path = m_savedir + DIR_DELIM + "auth.txt"; std::ostringstream output(std::ios_base::binary); for (const auto &auth_i : m_auth_list) { const AuthEntry &authEntry = auth_i.second; output << authEntry.name << ":" << authEntry.password << ":"; output << str_join(authEntry.privileges, ","); output << ":" << authEntry.last_login; output << std::endl; } if (!fs::safeWriteToFile(path, output.str())) { infostream << "Failed to write " << path << std::endl; return false; } return true; }