#include "files.hpp" #include #include std::string fs::ReadFileAsString(const std::string& path) { SDL_RWops *rw = SDL_RWFromFile(path.c_str(), "rb"); if (!rw) { throw std::runtime_error("Failed to open file: " + path); } Sint64 res_size = SDL_RWsize(rw); if (res_size < 0) { SDL_RWclose(rw); throw std::runtime_error("Failed to get file size: " + path); } std::string content; content.resize(static_cast(res_size)); SDL_RWread(rw, content.data(), 1, res_size); SDL_RWclose(rw); return content; } std::istringstream fs::ReadFileAsStream(const std::string& path) { std::string content = ReadFileAsString(path); return std::istringstream(content); } bool fs::FileExists(const std::string& path) { SDL_RWops *rw = SDL_RWFromFile(path.c_str(), "rb"); if (!rw) return false; SDL_RWclose(rw); return true; }