diff options
| author | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-01-24 21:56:42 -0500 |
|---|---|---|
| committer | Nicholas Estelami <NEstelami@users.noreply.github.com> | 2022-01-24 21:56:42 -0500 |
| commit | ca04d231ee05d0b5a7209621fb04de686265fea3 (patch) | |
| tree | e68f91a49701efd48c9cf434206d34b9f472ce2a | |
| parent | 2f079c82bfc6f6b0727c327cf375de83d284db3b (diff) | |
Yes!
| -rw-r--r-- | OTRExporter/CutsceneExporter.cpp | 3 | ||||
| -rw-r--r-- | OTRExporter/SkeletonLimbExporter.cpp | 35 |
2 files changed, 36 insertions, 2 deletions
diff --git a/OTRExporter/CutsceneExporter.cpp b/OTRExporter/CutsceneExporter.cpp index 040fde4..29a7b20 100644 --- a/OTRExporter/CutsceneExporter.cpp +++ b/OTRExporter/CutsceneExporter.cpp @@ -315,6 +315,7 @@ void OTRExporter_Cutscene::Save(ZResource* res, fs::path outPath, BinaryWriter* { writer->Write(CMD_HH(e->sequence, e->startFrame)); writer->Write(CMD_HH(e->endFrame, e->unknown0)); + writer->Write(CMD_W(e->unknown1)); writer->Write(CMD_W(e->unknown2)); writer->Write(CMD_W(e->unknown3)); writer->Write(CMD_W(e->unknown4)); @@ -336,6 +337,7 @@ void OTRExporter_Cutscene::Save(ZResource* res, fs::path outPath, BinaryWriter* { writer->Write(CMD_HH(e->sequence, e->startFrame)); writer->Write(CMD_HH(e->endFrame, e->unknown0)); + writer->Write(CMD_W(e->unknown1)); writer->Write(CMD_W(e->unknown2)); writer->Write(CMD_W(e->unknown3)); writer->Write(CMD_W(e->unknown4)); @@ -357,6 +359,7 @@ void OTRExporter_Cutscene::Save(ZResource* res, fs::path outPath, BinaryWriter* { writer->Write(CMD_HH(e->base, e->startFrame)); writer->Write(CMD_HH(e->endFrame, e->unknown0)); + writer->Write(CMD_W(e->unknown1)); writer->Write(CMD_W(e->unknown2)); writer->Write(CMD_W(e->unknown3)); writer->Write(CMD_W(e->unknown4)); diff --git a/OTRExporter/SkeletonLimbExporter.cpp b/OTRExporter/SkeletonLimbExporter.cpp index c953c29..8364bfa 100644 --- a/OTRExporter/SkeletonLimbExporter.cpp +++ b/OTRExporter/SkeletonLimbExporter.cpp @@ -11,7 +11,21 @@ void OTRExporter_SkeletonLimb::Save(ZResource* res, fs::path outPath, BinaryWrit writer->Write((uint8_t)limb->type); writer->Write((uint8_t)limb->skinSegmentType); - writer->Write(limb->segmentStruct.unk_0); + if (limb->skinSegmentType == ZLimbSkinType::SkinType_DList && limb->type == ZLimbType::Skin) + { + auto childDecl = limb->parent->GetDeclaration(GETSEGOFFSET(limb->skinSegment)); + + if (childDecl != nullptr) + writer->Write(OTRExporter_DisplayList::GetPathToRes(limb, childDecl->varName)); + else + writer->Write(""); + } + else + { + writer->Write(""); + } + + writer->Write((uint16_t)limb->segmentStruct.unk_0); writer->Write((uint32_t)limb->segmentStruct.unk_4_arr.size()); for (auto item : limb->segmentStruct.unk_4_arr) @@ -43,6 +57,24 @@ void OTRExporter_SkeletonLimb::Save(ZResource* res, fs::path outPath, BinaryWrit } } + if (limb->segmentStruct.unk_8 != 0) + { + auto skinGfxDecl = limb->parent->GetDeclaration(GETSEGOFFSET(limb->segmentStruct.unk_8)); + + if (skinGfxDecl != nullptr) + { + writer->Write(OTRExporter_DisplayList::GetPathToRes(limb, skinGfxDecl->varName)); + } + else + { + writer->Write(""); + } + } + else + { + writer->Write(""); + } + writer->Write(limb->legTransX); writer->Write(limb->legTransY); writer->Write(limb->legTransZ); @@ -50,7 +82,6 @@ void OTRExporter_SkeletonLimb::Save(ZResource* res, fs::path outPath, BinaryWrit writer->Write(limb->rotY); writer->Write(limb->rotZ); - // OTRTODO: if (limb->childPtr != 0) { auto childDecl = limb->parent->GetDeclaration(GETSEGOFFSET(limb->childPtr)); |
