#ifndef SDL_HELPERS_H_ #define SDL_HELPERS_H_ #include #include #include #include "json.hpp" // Call this before everything // Prints its messages bool init_sdl(); // Call this at the end only if init has passed void clean_sdl(); // A simple way to get a font pointer to use // Can return NULL TTF_Font* get_font(const std::string& filename, int size); // Reads the file and tries to parse a JSON file with comments // cfg - output json struct // filename - filepath to open and read // log - output errors to this ostream, silent if NULL bool read_config_json(nlohmann::json& cfg, const std::string& filename, std::ostream* log = &std::cout); // JSON Extractors - They do not override already set values if key is not present void json_extract(const nlohmann::json& j, const std::string& key, std::string& out); void json_extract(const nlohmann::json& j, const std::string& key, int& out); #endif // SDL_HELPERS_H_