From a1a54665d9a1a5a7f76fe4da082c366a4bf3fa77 Mon Sep 17 00:00:00 2001 From: njohnson Date: Sun, 7 Sep 2025 23:16:14 -0400 Subject: [PATCH] Updated xsurfacevertexinfo --- libs/xassets/xsurfacevertexinfo.cpp | 19 ++++++++++++++++--- libs/xassets/xsurfacevertexinfo.h | 5 ++--- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/libs/xassets/xsurfacevertexinfo.cpp b/libs/xassets/xsurfacevertexinfo.cpp index 88ce566..9584805 100644 --- a/libs/xassets/xsurfacevertexinfo.cpp +++ b/libs/xassets/xsurfacevertexinfo.cpp @@ -2,8 +2,7 @@ XSurfaceVertexInfo::XSurfaceVertexInfo() : XAsset() - , mVertCount() - , mVertsBlendPtr() + , mVertCount(4) , mVertsBlend() { @@ -11,7 +10,21 @@ XSurfaceVertexInfo::XSurfaceVertexInfo() void XSurfaceVertexInfo::ParseData(QDataStream *aStream) { - + if (GetPtr() == -1) + { + qint32 vertBlendPtr; + *aStream + >> mVertCount[0] + >> mVertCount[1] + >> mVertCount[2] + >> mVertCount[3] + >> vertBlendPtr; + + if (vertBlendPtr == -1) + { + aStream->readRawData(mVertsBlend.data(), 2 * (mVertCount[0] + 3 * mVertCount[1] + 5 * mVertCount[2] + 7 * mVertCount[3])); + } + } } void XSurfaceVertexInfo::Clear() diff --git a/libs/xassets/xsurfacevertexinfo.h b/libs/xassets/xsurfacevertexinfo.h index 005e649..9de9976 100644 --- a/libs/xassets/xsurfacevertexinfo.h +++ b/libs/xassets/xsurfacevertexinfo.h @@ -12,9 +12,8 @@ public: void Clear() override; private: - qint16 mVertCount[4]; - qint32 mVertsBlendPtr; - quint32 mVertsBlend; + QVector mVertCount; + QByteArray mVertsBlend; }; #endif // XSURFACEVERTEXINFO_H