diff options
| author | petrie911 <petrie911@yahoo.com> | 2024-04-05 03:19:40 -0500 |
|---|---|---|
| committer | Lywx <kiritodev01@gmail.com> | 2024-04-05 13:37:24 -0600 |
| commit | ad667b705dad3476a1ae803f23588c55baab2ee4 (patch) | |
| tree | d1598ddc5b618d63067bfec5b5a8e05fc37ca88a /src | |
| parent | ba30b82456eda281a8ce41a267b4ffe5b1b65edd (diff) | |
animation thing
Diffstat (limited to 'src')
| -rw-r--r-- | src/factories/sf64/AnimFactory.cpp | 6 | ||||
| -rw-r--r-- | src/factories/sf64/AnimFactory.h | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/factories/sf64/AnimFactory.cpp b/src/factories/sf64/AnimFactory.cpp index 5eb1e3c..1b21d92 100644 --- a/src/factories/sf64/AnimFactory.cpp +++ b/src/factories/sf64/AnimFactory.cpp @@ -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); diff --git a/src/factories/sf64/AnimFactory.h b/src/factories/sf64/AnimFactory.h index be05515..cef770d 100644 --- a/src/factories/sf64/AnimFactory.h +++ b/src/factories/sf64/AnimFactory.h @@ -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 { |
