From c7291b567fcf16c88fd158bb383b0b9d22b546ff Mon Sep 17 00:00:00 2001 From: njohnson Date: Wed, 10 Sep 2025 21:57:02 -0400 Subject: [PATCH] Fixes: Parse data from XDataStream --- libs/xassets/xcleaf.cpp | 103 +++++++++------------------------------- 1 file changed, 22 insertions(+), 81 deletions(-) diff --git a/libs/xassets/xcleaf.cpp b/libs/xassets/xcleaf.cpp index 2ea5952..dec35cd 100644 --- a/libs/xassets/xcleaf.cpp +++ b/libs/xassets/xcleaf.cpp @@ -11,6 +11,7 @@ XCLeaf::XCLeaf() , mLeafBrushNode(0) , mCluster(0) { + SetName("C Leaf"); } XCLeaf::~XCLeaf() @@ -18,91 +19,31 @@ XCLeaf::~XCLeaf() } -void XCLeaf::ParseData(QDataStream *aStream) { +void XCLeaf::ParseData(XDataStream *aStream) { if (GetPtr() == -1) { - *aStream - >> mFirstCollAabbIndex - >> mCollAabbCount - >> mBrushContents - >> mTerrainContents - >> mMins[0] - >> mMins[1] - >> mMins[2] - >> mMaxs[0] - >> mMaxs[1] - >> mMaxs[2] - >> mLeafBrushNode - >> mCluster; + mFirstCollAabbIndex = aStream->ParseUInt32(QString("%1 first collision AABB index").arg(GetName())); + mCollAabbCount = aStream->ParseUInt32(QString("%1 collision AABB count").arg(GetName())); + mBrushContents = aStream->ParseInt32(QString("%1 brush contents").arg(GetName())); + mTerrainContents = aStream->ParseInt32(QString("%1 terrain contents").arg(GetName())); + + for (int i = 0; i < 3; i++) + { + mMins[i] = aStream->ParseSingle(QString("%1 min %2").arg(GetName()).arg(i)); + } + + for (int i = 0; i < 3; i++) + { + mMaxs[i] = aStream->ParseSingle(QString("%1 max %2").arg(GetName()).arg(i)); + } + + mLeafBrushNode = aStream->ParseInt32(QString("%1 leaf brush node").arg(GetName())); + mCluster = aStream->ParseInt16(QString("%1 cluster").arg(GetName())); aStream->skipRawData(2); } } -quint32 XCLeaf::GetFirstCollAabbIndex() const { - return mFirstCollAabbIndex; +void XCLeaf::Clear() +{ + } - -void XCLeaf::SetFirstCollAabbIndex(quint32 index) { - mFirstCollAabbIndex = index; -} - -quint32 XCLeaf::GetCollAabbCount() const { - return mCollAabbCount; -} - -void XCLeaf::SetCollAabbCount(quint32 count) { - mCollAabbCount = count; -} - -int XCLeaf::GetBrushContents() const { - return mBrushContents; -} - -void XCLeaf::SetBrushContents(int contents) { - mBrushContents = contents; -} - -int XCLeaf::GetTerrainContents() const { - return mTerrainContents; -} - -void XCLeaf::SetTerrainContents(int contents) { - mTerrainContents = contents; -} - -QVector XCLeaf::GetMins() const { - return mMins; -} - -void XCLeaf::SetMins(QVector aMins) { - mMins = aMins; -} - -QVector XCLeaf::GetMaxs() const { - return mMaxs; -} - -void XCLeaf::SetMaxs(QVector aMaxs) { - mMaxs = aMaxs; -} - -int XCLeaf::GetLeafBrushNode() const { - return mLeafBrushNode; -} - -void XCLeaf::SetLeafBrushNode(int node) { - mLeafBrushNode = node; -} - -qint16 XCLeaf::GetCluster() const { - return mCluster; -} - -void XCLeaf::SetCluster(qint16 cluster) { - mCluster = cluster; -} - - - - -