2018-10-07 03:42:33 +00:00
|
|
|
#pragma once
|
2015-08-11 23:32:02 +00:00
|
|
|
|
2019-08-23 23:24:04 +00:00
|
|
|
#include <functional>
|
|
|
|
#include <string>
|
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
|
|
|
|
2019-10-01 07:38:03 +00:00
|
|
|
#include "athena/Types.hpp"
|
|
|
|
#include "hecl/Blender/Connection.hpp"
|
|
|
|
#include "hecl/SystemChar.hpp"
|
2019-08-23 23:24:04 +00:00
|
|
|
|
|
|
|
namespace DataSpec {
|
|
|
|
struct SpecBase;
|
|
|
|
}
|
|
|
|
|
|
|
|
namespace hecl {
|
|
|
|
class ProjectPath;
|
|
|
|
}
|
2015-08-11 23:32:02 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
namespace DataSpec::DNAANCS {
|
2015-08-11 23:32:02 +00:00
|
|
|
|
2017-12-29 08:08:12 +00:00
|
|
|
using Actor = hecl::blender::Actor;
|
2019-10-01 07:38:03 +00:00
|
|
|
using Armature = Actor::ActorArmature;
|
2017-12-29 08:08:12 +00:00
|
|
|
using Action = hecl::blender::Action;
|
2015-10-23 00:45:26 +00:00
|
|
|
|
2015-08-11 23:32:02 +00:00
|
|
|
template <typename IDTYPE>
|
2018-12-08 05:30:43 +00:00
|
|
|
struct CharacterResInfo {
|
|
|
|
std::string name;
|
|
|
|
IDTYPE cmdl;
|
|
|
|
IDTYPE cskr;
|
|
|
|
IDTYPE cinf;
|
|
|
|
std::vector<std::pair<std::string, std::pair<IDTYPE, IDTYPE>>> overlays;
|
2015-08-11 23:32:02 +00:00
|
|
|
};
|
|
|
|
|
2015-09-29 02:00:28 +00:00
|
|
|
template <typename IDTYPE>
|
2018-12-08 05:30:43 +00:00
|
|
|
struct AnimationResInfo {
|
|
|
|
std::string name;
|
|
|
|
IDTYPE animId;
|
|
|
|
IDTYPE evntId;
|
|
|
|
bool additive;
|
2015-09-29 02:00:28 +00:00
|
|
|
};
|
|
|
|
|
2015-09-26 03:12:08 +00:00
|
|
|
template <class PAKRouter, class ANCSDNA, class MaterialSet, class SurfaceHeader, atUint32 CMDLVersion>
|
2018-12-08 05:30:43 +00:00
|
|
|
bool ReadANCSToBlender(hecl::blender::Connection& conn, const ANCSDNA& ancs, const hecl::ProjectPath& outPath,
|
|
|
|
PAKRouter& pakRouter, const typename PAKRouter::EntryType& entry, const SpecBase& dataspec,
|
|
|
|
std::function<void(const hecl::SystemChar*)> fileChanged, bool force = false);
|
2015-08-11 23:32:02 +00:00
|
|
|
|
2018-12-08 05:30:43 +00:00
|
|
|
} // namespace DataSpec::DNAANCS
|