diff options
| author | louist103 <35883445+louist103@users.noreply.github.com> | 2022-06-02 13:20:36 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-02 13:20:36 -0400 |
| commit | f54f2fa96bfc476a15fcc3ebcd6124bc19164fcd (patch) | |
| tree | 1f3eff4a540daef6a8679ba2b78c4580185d73dd /ZAPD/ZCollisionPoly.cpp | |
| parent | 87cb648b4311d20673452111edaf4d38a5290c28 (diff) | |
Extract palette data from external file (#249)
* WIP
* Done
* Fix
* Fixes
* More fixes
* Fixes for backgrounds.
* Roman's fixes and format.
* Update docs and use tinyxml function for validation.
* Update docs/zapd_extraction_xml_reference.md
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
* move tlut texture data to stack variable
Co-authored-by: EllipticEllipsis <elliptic.ellipsis@gmail.com>
Diffstat (limited to 'ZAPD/ZCollisionPoly.cpp')
| -rw-r--r-- | ZAPD/ZCollisionPoly.cpp | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/ZAPD/ZCollisionPoly.cpp b/ZAPD/ZCollisionPoly.cpp index eb2c14a..c4eb2d4 100644 --- a/ZAPD/ZCollisionPoly.cpp +++ b/ZAPD/ZCollisionPoly.cpp @@ -16,61 +16,63 @@ ZCollisionPoly::~ZCollisionPoly() void ZCollisionPoly::ParseRawData() { - const auto& rawData = parent->GetRawData(); - type = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0); - - vtxA = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); - vtxB = BitConverter::ToUInt16BE(rawData, rawDataIndex + 4); - vtxC = BitConverter::ToUInt16BE(rawData, rawDataIndex + 6); - - normX = BitConverter::ToUInt16BE(rawData, rawDataIndex + 8); - normY = BitConverter::ToUInt16BE(rawData, rawDataIndex + 10); - normZ = BitConverter::ToUInt16BE(rawData, rawDataIndex + 12); - - dist = BitConverter::ToUInt16BE(rawData, rawDataIndex + 14); + const auto& rawData = parent->GetRawData(); + type = BitConverter::ToUInt16BE(rawData, rawDataIndex + 0); + + vtxA = BitConverter::ToUInt16BE(rawData, rawDataIndex + 2); + vtxB = BitConverter::ToUInt16BE(rawData, rawDataIndex + 4); + vtxC = BitConverter::ToUInt16BE(rawData, rawDataIndex + 6); + + normX = BitConverter::ToUInt16BE(rawData, rawDataIndex + 8); + normY = BitConverter::ToUInt16BE(rawData, rawDataIndex + 10); + normZ = BitConverter::ToUInt16BE(rawData, rawDataIndex + 12); + + dist = BitConverter::ToUInt16BE(rawData, rawDataIndex + 14); } void ZCollisionPoly::DeclareReferences(const std::string& prefix) { - std::string declaration; - std::string auxName = name; + std::string declaration; + std::string auxName = name; - if (name == "") - auxName = GetDefaultName(prefix); + if (name == "") + auxName = GetDefaultName(prefix); - parent->AddDeclaration(rawDataIndex, DeclarationAlignment::Align4,GetRawDataSize(), GetSourceTypeName(), name.c_str(),GetBodySourceCode()); + parent->AddDeclaration(rawDataIndex, DeclarationAlignment::Align4, GetRawDataSize(), + GetSourceTypeName(), name.c_str(), GetBodySourceCode()); } std::string ZCollisionPoly::GetBodySourceCode() const { - std::string declaration; + std::string declaration; - declaration += StringHelper::Sprintf("{0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X}", type, vtxA, vtxB, vtxC, normX, normY, normZ, dist); - return declaration; + declaration += + StringHelper::Sprintf("{0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X, 0x%04X}", + type, vtxA, vtxB, vtxC, normX, normY, normZ, dist); + return declaration; } std::string ZCollisionPoly::GetDefaultName(const std::string& prefix) const { - return StringHelper::Sprintf("%sCollisionPoly_%06X", prefix.c_str(), rawDataIndex); + return StringHelper::Sprintf("%sCollisionPoly_%06X", prefix.c_str(), rawDataIndex); } - ZResourceType ZCollisionPoly::GetResourceType() const { - return ZResourceType::CollisionPoly; + return ZResourceType::CollisionPoly; } size_t ZCollisionPoly::GetRawDataSize() const { - return 16; + return 16; } std::string ZCollisionPoly::GetSourceTypeName() const { - return "CollisionPoly"; + return "CollisionPoly"; } bool ZCollisionPoly::DoesSupportArray() const { - return true; + return true; }
\ No newline at end of file |
