diff options
| author | Anghelo Carvajal <angheloalf95@gmail.com> | 2021-05-26 20:04:02 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-26 20:04:02 -0400 |
| commit | 4410b554e835ab7844c8eb78fd54fa3842d50f16 (patch) | |
| tree | 065b8f53d6e1052c9f7ad1917c1b3b66d5eef645 /ZAPD/ZAnimation.cpp | |
| parent | 769f5702a422d14bfb0a60a39319da4b4bf9ec1f (diff) | |
Check XML resource attributes (#126)
* register attibutes
* fix array problems
* cutscene problems
* Set inner
* fix merge
* ups
* Run format
* small cleaning
* A small blob cleanup
* Simplify the logic a bit
* ups
* Fix merge problem
* Fix merge issues
* Fix merge issues
* fix merge-produced type
* Fix merge issues
* run format and update easteregg
* register ZPath attributes
* dumb problems
* How dumb can I be?
* future proof change
* empty commit
* Check if Width and Height attributes of ZTexture has only decimal digits
Diffstat (limited to 'ZAPD/ZAnimation.cpp')
| -rw-r--r-- | ZAPD/ZAnimation.cpp | 41 |
1 files changed, 9 insertions, 32 deletions
diff --git a/ZAPD/ZAnimation.cpp b/ZAPD/ZAnimation.cpp index 749abd9..f011a29 100644 --- a/ZAPD/ZAnimation.cpp +++ b/ZAPD/ZAnimation.cpp @@ -36,11 +36,6 @@ void ZAnimation::Save(const fs::path& outFolder) } } -void ZAnimation::ParseXML(tinyxml2::XMLElement* reader) -{ - ZResource::ParseXML(reader); -} - std::string ZAnimation::GetSourceOutputCode(const std::string& prefix) { return ""; @@ -120,16 +115,6 @@ std::string ZNormalAnimation::GetSourceTypeName() const return "AnimationHeader"; } -void ZNormalAnimation::ExtractFromXML(tinyxml2::XMLElement* reader, - const std::vector<uint8_t>& nRawData, - const uint32_t nRawDataIndex) -{ - rawData = std::move(nRawData); - rawDataIndex = nRawDataIndex; - ParseXML(reader); - ParseRawData(); -} - void ZNormalAnimation::ParseRawData() { ZAnimation::ParseRawData(); @@ -196,16 +181,6 @@ std::string ZLinkAnimation::GetSourceTypeName() const return "LinkAnimationHeader"; } -void ZLinkAnimation::ExtractFromXML(tinyxml2::XMLElement* reader, - const std::vector<uint8_t>& nRawData, - const uint32_t nRawDataIndex) -{ - rawData = std::move(nRawData); - rawDataIndex = nRawDataIndex; - ParseXML(reader); - ParseRawData(); -} - void ZLinkAnimation::ParseRawData() { ZAnimation::ParseRawData(); @@ -251,6 +226,7 @@ std::string TransformData::GetSourceTypeName() ZCurveAnimation::ZCurveAnimation(ZFile* nParent) : ZAnimation(nParent) { + RegisterOptionalAttribute("SkelOffset"); } ZCurveAnimation::~ZCurveAnimation() @@ -262,15 +238,16 @@ void ZCurveAnimation::ParseXML(tinyxml2::XMLElement* reader) { ZAnimation::ParseXML(reader); - const char* skelOffsetXml = reader->Attribute("SkelOffset"); - if (skelOffsetXml == nullptr) + std::string skelOffsetXml = registeredAttributes.at("SkelOffset").value; + if (skelOffsetXml == "") { - throw std::runtime_error(StringHelper::Sprintf( - "ZCurveAnimation::ParseXML: Fatal error in '%s'. Missing 'SkelOffset' attribute in " - "ZCurveAnimation. You need to provide the offset of the curve skeleton.", - name.c_str())); + throw std::runtime_error( + StringHelper::Sprintf("ZCurveAnimation::ParseXML: Fatal error in '%s'.\n" + "\t Missing 'SkelOffset' attribute in ZCurveAnimation.\n" + "\t You need to provide the offset of the curve skeleton.", + name.c_str())); } - skelOffset = std::strtoul(skelOffsetXml, nullptr, 0); + skelOffset = StringHelper::StrToL(skelOffsetXml, 0); } void ZCurveAnimation::ParseRawData() |
