Porytiles
Loading...
Searching...
No Matches
project_tileset_anims_modifier.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <string>
5
6#include "gsl/pointers"
7
11
12namespace porytiles {
13
35 public:
42 std::filesystem::path project_root,
43 gsl::not_null<const InfraConfig *> config,
44 gsl::not_null<const UserDiagnostics *> diagnostics);
45
62 [[nodiscard]] ChainableResult<void>
63 wire_include_for_tileset(const std::string &tileset_name, bool is_secondary) const;
64
77 [[nodiscard]] ChainableResult<void>
78 remove_include_for_tileset(const std::string &tileset_name, bool is_secondary) const;
79
80 private:
81 std::filesystem::path project_root_;
82 const InfraConfig *config_;
83 const UserDiagnostics *diagnostics_;
84};
85
86} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Interface that defines a complete infra layer configuration.
Modifies tileset_anims.c to include Porytiles-managed animation code headers.
ChainableResult< void > wire_include_for_tileset(const std::string &tileset_name, bool is_secondary) const
Adds an #include directive for the tileset's generated animation code.
ChainableResult< void > remove_include_for_tileset(const std::string &tileset_name, bool is_secondary) const
Removes the #include directive for the tileset's generated animation code.
Abstract class for structured error reporting and diagnostic output.