animation thing

This commit is contained in:
petrie911
2024-04-05 13:37:24 -06:00
committed by Lywx
parent ba30b82456
commit ad667b705d
2 changed files with 5 additions and 5 deletions
+3 -3
View File
@@ -8,7 +8,7 @@
#define NUM_JOINT(x) std::dec << std::setfill(' ') << std::setw(5) << x
#define VEC_SIZE(vec) ((vec).size() * sizeof((vec)[0]))
SF64::AnimData::AnimData(int16_t frameCount, int16_t limbCount, uint32_t dataOffset, std::vector<int16_t> frameData, uint32_t keyOffset, std::vector<SF64::JointKey> jointKeys): mFrameCount(frameCount), mLimbCount(limbCount), mDataOffset(dataOffset), mFrameData(std::move(frameData)), mKeyOffset(keyOffset), mJointKeys(std::move(jointKeys)) {
SF64::AnimData::AnimData(int16_t frameCount, int16_t limbCount, uint32_t dataOffset, std::vector<uint16_t> frameData, uint32_t keyOffset, std::vector<SF64::JointKey> jointKeys): mFrameCount(frameCount), mLimbCount(limbCount), mDataOffset(dataOffset), mFrameData(std::move(frameData)), mKeyOffset(keyOffset), mJointKeys(std::move(jointKeys)) {
if((mDataOffset + VEC_SIZE(mFrameData) > mKeyOffset) && (mKeyOffset + VEC_SIZE(mJointKeys) > mDataOffset)) {
SPDLOG_ERROR("SF64:ANIM error: Data and Key offsets overlap");
}
@@ -125,7 +125,7 @@ std::optional<std::shared_ptr<IParsedData>> SF64::AnimFactory::parse(std::vector
YAML::Node dataNode;
YAML::Node keyNode;
std::vector<SF64::JointKey> jointKeys;
std::vector<int16_t> frameData;
std::vector<uint16_t> frameData;
auto dataCount = 1;
auto maxIndex = 0;
auto [_, segment] = Decompressor::AutoDecode(node, buffer, 0xC);
@@ -173,7 +173,7 @@ std::optional<std::shared_ptr<IParsedData>> SF64::AnimFactory::parse(std::vector
dataReader.SetEndianness(LUS::Endianness::Big);
for(int i = 0; i < dataCount; i++) {
frameData.push_back(dataReader.ReadInt16());
frameData.push_back(dataReader.ReadUInt16());
}
return std::make_shared<SF64::AnimData>(frameCount, limbCount, dataOffset, frameData, keyOffset, jointKeys);
+2 -2
View File
@@ -14,10 +14,10 @@ public:
int16_t mLimbCount;
uint32_t mDataOffset;
uint32_t mKeyOffset;
std::vector<int16_t> mFrameData;
std::vector<uint16_t> mFrameData;
std::vector<JointKey> mJointKeys;
AnimData(int16_t frameCount, int16_t limbCount, uint32_t dataOffset, std::vector<int16_t> frameData, uint32_t keyOffset, std::vector<JointKey> jointKeys);
AnimData(int16_t frameCount, int16_t limbCount, uint32_t dataOffset, std::vector<uint16_t> frameData, uint32_t keyOffset, std::vector<JointKey> jointKeys);
};
class AnimHeaderExporter : public BaseExporter {