Federico Cecchetto f05fdd33e9 Small cleanup
2022-06-10 03:38:15 +02:00

59 lines
1.9 KiB
C++

#include <stdinc.hpp>
#include "loader/component_loader.hpp"
#include "game/structs.hpp"
#include "game/game.hpp"
#include "gsc.hpp"
#include <utils/io.hpp>
namespace io
{
class component final : public component_interface
{
public:
void post_unpack() override
{
gsc::function::add("print_", [](const scripting::variadic_args& va)
{
for (const auto& arg : va)
{
printf("%s\t", arg.to_string().data());
}
printf("\n");
});
gsc::function::add("writefile", [](const std::string& file, const std::string& data,
const scripting::variadic_args& va)
{
auto append = false;
if (va.size() > 0)
{
append = va[0];
}
return utils::io::write_file(file, data, append);
});
gsc::function::add("appendfile", [](const std::string& file, const std::string& data)
{
return utils::io::write_file(file, data, true);
});
gsc::function::add("fileexists", utils::io::file_exists);
gsc::function::add("movefile", utils::io::move_file);
gsc::function::add("filesize", utils::io::file_size);
gsc::function::add("createdirectory", utils::io::create_directory);
gsc::function::add("directoryexists", utils::io::directory_exists);
gsc::function::add("directoryisempty", utils::io::directory_is_empty);
gsc::function::add("listfiles", utils::io::list_files);
gsc::function::add("removefile", utils::io::remove_file);
gsc::function::add("readfile", static_cast<std::string(*)(const std::string&)>(utils::io::read_file));
}
};
}
REGISTER_COMPONENT(io::component)