mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
62ef9fe49d
This does a couple of things: - The `custom_levels` folder was renamed to `custom_assets` and contains `levels`, `models` and `texture_replacements` folders for Jak 1, 2 and 3 in order to keep everything regarding custom stuff in one place. - With this, texture replacements now use separate folders for all games - A build actor tool was added that generates art groups for custom actors - Custom levels can now specify what custom models from the `models` folder they want to import, this will add them to the level's FR3. - A `test-zone-obs.gc` file was added, containing a `test-actor` process that uses a custom model as an example. The build actor tool is still very WIP, the joints and the default animation are hardcoded, but it allows for importing any GLB file as a merc model.
102 lines
2.6 KiB
C++
102 lines
2.6 KiB
C++
#pragma once
|
|
|
|
#include "common/goos/Reader.h"
|
|
|
|
#include "goalc/make/Tool.h"
|
|
|
|
class Compiler;
|
|
|
|
class CompilerTool : public Tool {
|
|
public:
|
|
CompilerTool(Compiler* compiler);
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
private:
|
|
Compiler* m_compiler = nullptr;
|
|
};
|
|
|
|
class DgoTool : public Tool {
|
|
public:
|
|
DgoTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
std::vector<std::string> get_additional_dependencies(const ToolInput&,
|
|
const PathMap& path_map) override;
|
|
|
|
private:
|
|
goos::Reader m_reader;
|
|
};
|
|
|
|
class TpageDirTool : public Tool {
|
|
public:
|
|
TpageDirTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class CopyTool : public Tool {
|
|
public:
|
|
CopyTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class GameCntTool : public Tool {
|
|
public:
|
|
GameCntTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class TextTool : public Tool {
|
|
public:
|
|
TextTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class GroupTool : public Tool {
|
|
public:
|
|
GroupTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class SubtitleTool : public Tool {
|
|
public:
|
|
SubtitleTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class SubtitleV2Tool : public Tool {
|
|
public:
|
|
SubtitleV2Tool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class BuildLevelTool : public Tool {
|
|
public:
|
|
BuildLevelTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class BuildLevel2Tool : public Tool {
|
|
public:
|
|
BuildLevel2Tool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class BuildLevel3Tool : public Tool {
|
|
public:
|
|
BuildLevel3Tool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|
|
|
|
class BuildActorTool : public Tool {
|
|
public:
|
|
BuildActorTool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
};
|