jak-project/common/util/FileUtil.h

27 lines
980 B
C
Raw Normal View History

2020-09-09 00:54:16 -04:00
#pragma once
/*!
* @file FileUtil.h
* Utility functions for reading and writing files.
*/
2020-09-09 00:54:16 -04:00
#include <string>
2020-09-09 02:41:45 -04:00
#include <vector>
2020-09-09 00:54:16 -04:00
namespace file_util {
std::string get_project_path();
2020-09-10 06:07:23 -04:00
std::string get_file_path(const std::vector<std::string>& input);
bool create_dir_if_needed(const std::string& path);
void write_binary_file(const std::string& name, void* data, size_t size);
void write_rgba_png(const std::string& name, void* data, int w, int h);
void write_text_file(const std::string& file_name, const std::string& text);
std::vector<uint8_t> read_binary_file(const std::string& filename);
std::string read_text_file(const std::string& path);
bool is_printable_char(char c);
std::string combine_path(const std::string& parent, const std::string& child);
std::string base_name(const std::string& filename);
void init_crc();
uint32_t crc32(const uint8_t* data, size_t size);
uint32_t crc32(const std::vector<uint8_t>& data);
} // namespace file_util