2021-07-15 21:37:15 -04:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "common/goos/Reader.h"
|
|
|
|
|
2022-06-22 23:37:46 -04:00
|
|
|
#include "goalc/make/Tool.h"
|
|
|
|
|
2021-07-15 21:37:15 -04:00
|
|
|
class Compiler;
|
|
|
|
|
|
|
|
class CompilerTool : public Tool {
|
|
|
|
public:
|
|
|
|
CompilerTool(Compiler* compiler);
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
|
|
|
|
private:
|
|
|
|
Compiler* m_compiler = nullptr;
|
|
|
|
};
|
|
|
|
|
|
|
|
class DgoTool : public Tool {
|
|
|
|
public:
|
|
|
|
DgoTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
std::vector<std::string> get_additional_dependencies(const ToolInput&,
|
|
|
|
const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
|
|
|
|
private:
|
|
|
|
goos::Reader m_reader;
|
|
|
|
};
|
|
|
|
|
|
|
|
class TpageDirTool : public Tool {
|
|
|
|
public:
|
|
|
|
TpageDirTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
class CopyTool : public Tool {
|
|
|
|
public:
|
|
|
|
CopyTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
class GameCntTool : public Tool {
|
|
|
|
public:
|
|
|
|
GameCntTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
class TextTool : public Tool {
|
|
|
|
public:
|
|
|
|
TextTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
2021-07-15 21:37:15 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
class GroupTool : public Tool {
|
|
|
|
public:
|
|
|
|
GroupTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
2022-02-19 13:10:10 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
class SubtitleTool : public Tool {
|
|
|
|
public:
|
2022-04-11 18:38:54 -04:00
|
|
|
SubtitleTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
2022-02-19 13:10:10 -05:00
|
|
|
};
|
2022-06-19 20:44:07 -04:00
|
|
|
|
|
|
|
class BuildLevelTool : public Tool {
|
|
|
|
public:
|
|
|
|
BuildLevelTool();
|
2022-06-29 23:32:46 -04:00
|
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
2022-06-19 20:44:07 -04:00
|
|
|
};
|