diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-06-14 23:23:30 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-06-14 23:36:38 +0300 |
commit | bf9bccc30a186e338f96c230a4f63cc924c77bd8 (patch) | |
tree | e46dbc2f022842982d89164ee598e1bcf827aa39 /src/resources/resourcemanager.cpp | |
parent | fb0f86589ae9e2d582383cea43e0a391e8d4739d (diff) | |
download | manaplus-bf9bccc30a186e338f96c230a4f63cc924c77bd8.tar.gz manaplus-bf9bccc30a186e338f96c230a4f63cc924c77bd8.tar.bz2 manaplus-bf9bccc30a186e338f96c230a4f63cc924c77bd8.tar.xz manaplus-bf9bccc30a186e338f96c230a4f63cc924c77bd8.zip |
Add ability to add comments to any players.
Diffstat (limited to 'src/resources/resourcemanager.cpp')
-rw-r--r-- | src/resources/resourcemanager.cpp | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/src/resources/resourcemanager.cpp b/src/resources/resourcemanager.cpp index aea598935..96902cb4c 100644 --- a/src/resources/resourcemanager.cpp +++ b/src/resources/resourcemanager.cpp @@ -34,11 +34,16 @@ #include "resources/soundeffect.h" #include "resources/spritedef.h" +#include "utils/mkdir.h" + #include <physfs.h> #include <SDL_image.h> #include <cassert> +#include <fstream> +#include <iostream> #include <sstream> +#include <sys/stat.h> #include <sys/time.h> #include "debug.h" @@ -299,6 +304,17 @@ bool ResourceManager::exists(const std::string &path) return PHYSFS_exists(path.c_str()); } +bool ResourceManager::existsLocal(const std::string &path) +{ + bool flg(false); + std::fstream file; + file.open(path.c_str(), std::ios::in); + if (file.is_open()) + flg = true; + file.close(); + return flg; +} + bool ResourceManager::isDirectory(const std::string &path) { return PHYSFS_isDirectory(path.c_str()); @@ -644,6 +660,41 @@ std::vector<std::string> ResourceManager::loadTextFile( return lines; } +std::vector<std::string> ResourceManager::loadTextFileLocal( + const std::string &fileName) +{ + std::ifstream file; + char line[501]; + std::vector<std::string> lines; + + file.open(fileName.c_str(), std::ios::in); + + if (!file.is_open()) + { + logger->log("Couldn't load text file: %s", fileName.c_str()); + return lines; + } + + while (file.getline(line, 500)) + lines.push_back(line); + + return lines; +} + +void ResourceManager::saveTextFile(std::string path, std::string name, + std::string text) +{ + if (!mkdir_r(path.c_str())) + { + std::ofstream file; + std::string fileName = path + "/" + name; + + file.open(fileName.c_str(), std::ios::out); + file << text << std::endl; + file.close(); + } +} + SDL_Surface *ResourceManager::loadSDLSurface(const std::string &filename) { int fileSize; |