mirror of
https://github.com/open-goal/jak-project
synced 2026-05-23 15:02:01 -04:00
e6260e48ab
Adds support for exporting animations for foreground models. It's not perfect and doesn't handle the Jak 2/3 animations very well in some cases (scale can often get messed up, especially for the LZO compressed ones, I have no idea what is going on with the data in those art groups sometimes, so that'll have to be revisited later...), but it does a decent job on Jak 1. Additionally, the `build-actor` tool has also been changed to support setting the `master-art-group-name` and `master-art-group-index` fields to allow for custom art groups to link their animations to a different master art group, which lets you add custom animations to vanilla art groups.
124 lines
3.2 KiB
C++
124 lines
3.2 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;
|
|
|
|
private:
|
|
goos::Reader m_reader;
|
|
};
|
|
|
|
class BuildActor2Tool : public Tool {
|
|
public:
|
|
BuildActor2Tool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
private:
|
|
goos::Reader m_reader;
|
|
};
|
|
|
|
class BuildActor3Tool : public Tool {
|
|
public:
|
|
BuildActor3Tool();
|
|
bool run(const ToolInput& task, const PathMap& path_map) override;
|
|
bool needs_run(const ToolInput& task, const PathMap& path_map) override;
|
|
|
|
private:
|
|
goos::Reader m_reader;
|
|
}; |