2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 15:04:56 +00:00

MP3 ANIM updates

This commit is contained in:
Jack Andersen
2015-09-26 16:24:03 -10:00
parent 60142602fd
commit bffb491769
9 changed files with 85 additions and 36 deletions

View File

@@ -14,11 +14,20 @@ void ANIM::IANIM::sendANIMToBlender(HECL::BlenderConnection::PyOutStream& os, co
os.format("act.hecl_fps = round(%f)\n", (1.0f / mainInterval));
auto kit = chanKeys.begin() + 1;
int idx = 1;
for (const std::pair<atUint32, std::tuple<bool,bool,bool>>& bone : bones)
{
const std::string* bName = cinf.getBoneNameFromId(bone.first);
if (!bName)
{
if (std::get<0>(bone.second))
++kit;
if (std::get<1>(bone.second))
++kit;
if (std::get<2>(bone.second))
++kit;
continue;
}
os.format("bone_string = '%s'\n", bName->c_str());
os << "action_group = act.groups.new(bone_string)\n"
@@ -59,6 +68,7 @@ void ANIM::IANIM::sendANIMToBlender(HECL::BlenderConnection::PyOutStream& os, co
if (std::get<0>(bone.second))
{
const std::vector<DNAANIM::Value>& rotKeys = *kit++;
++idx;
for (int c=0 ; c<4 ; ++c)
{
auto frameit = frames.begin();
@@ -71,6 +81,7 @@ void ANIM::IANIM::sendANIMToBlender(HECL::BlenderConnection::PyOutStream& os, co
if (std::get<1>(bone.second))
{
const std::vector<DNAANIM::Value>& transKeys = *kit++;
++idx;
for (int c=0 ; c<3 ; ++c)
{
auto frameit = frames.begin();
@@ -83,6 +94,7 @@ void ANIM::IANIM::sendANIMToBlender(HECL::BlenderConnection::PyOutStream& os, co
if (std::get<2>(bone.second))
{
const std::vector<DNAANIM::Value>& scaleKeys = *kit++;
++idx;
for (int c=0 ; c<3 ; ++c)
{
auto frameit = frames.begin();

View File

@@ -290,6 +290,9 @@ struct CHAR : BigYAML
chOut.cmdl = characterInfo.cmdl;
chOut.cskr = characterInfo.cskr;
chOut.cinf = characterInfo.cinf;
for (const CharacterInfo::Overlay& overlay : characterInfo.overlays)
chOut.overlays.emplace_back(overlay.type, std::make_pair(overlay.cmdl, overlay.cskr));
}
void getAnimationResInfo(std::map<atUint32, std::pair<std::string, UniqueID64>>& out) const