Lotta changes
This commit is contained in:
parent
324e84eafc
commit
ba83aa5247
@ -54,302 +54,274 @@ XClipMap::XClipMap()
|
|||||||
, mChecksum(0)
|
, mChecksum(0)
|
||||||
{
|
{
|
||||||
SetType(ASSET_TYPE_CLIPMAP);
|
SetType(ASSET_TYPE_CLIPMAP);
|
||||||
SetName("ClipMap");
|
SetName("Clip Map");
|
||||||
}
|
}
|
||||||
|
|
||||||
XClipMap::~XClipMap()
|
void XClipMap::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XClipMap::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
if (GetPtr() == -1)
|
if (GetPtr() == -1)
|
||||||
{
|
{
|
||||||
|
// name / header
|
||||||
mName.ParsePtr(aStream, false);
|
mName.ParsePtr(aStream, false);
|
||||||
|
|
||||||
qint32 planePtr, staticModelPtr, materialsPtr, brushSidesPtr,
|
mIsInUse = aStream->ParseUInt32(QString("%1 is in use").arg(GetName()));
|
||||||
brushEdgesPtr, nodesPtr, leafsPtr, leafsBrushNodesPtr,
|
mPlaneCount = aStream->ParseInt32 (QString("%1 plane count").arg(GetName()));
|
||||||
leafBrushesPtr, leafSurfacesPtr, vertPtr,
|
qint32 planePtr = aStream->ParseInt32(QString("%1 plane ptr").arg(GetName()));
|
||||||
triIndicesPtr, triEdgeWalkablePtr, bordersPtr, partitionsPtr, aabbTreesPtr,
|
|
||||||
cModelsPtr;
|
|
||||||
*aStream
|
|
||||||
>> mIsInUse
|
|
||||||
>> mPlaneCount
|
|
||||||
>> planePtr
|
|
||||||
>> mNumStaticModels
|
|
||||||
>> staticModelPtr
|
|
||||||
>> mNumMaterials
|
|
||||||
>> materialsPtr
|
|
||||||
>> mNumBrushSides
|
|
||||||
>> brushSidesPtr
|
|
||||||
>> mNumBrushEdges
|
|
||||||
>> brushEdgesPtr
|
|
||||||
>> mNumNodes
|
|
||||||
>> nodesPtr
|
|
||||||
>> mNumLeafs
|
|
||||||
>> leafsPtr
|
|
||||||
>> mLeafBrushNodesCount
|
|
||||||
>> leafsBrushNodesPtr
|
|
||||||
>> mNumLeafBrushes
|
|
||||||
>> leafBrushesPtr
|
|
||||||
>> mNumLeafSurfaces
|
|
||||||
>> leafSurfacesPtr
|
|
||||||
>> mVertCount
|
|
||||||
>> vertPtr
|
|
||||||
>> mTriCount
|
|
||||||
>> triIndicesPtr
|
|
||||||
>> triEdgeWalkablePtr
|
|
||||||
>> mBorderCount
|
|
||||||
>> bordersPtr
|
|
||||||
>> mPartitionCount
|
|
||||||
>> partitionsPtr
|
|
||||||
>> mAabbTreeCount
|
|
||||||
>> aabbTreesPtr
|
|
||||||
>> mNumSubModels
|
|
||||||
>> cModelsPtr
|
|
||||||
>> mNumBrushes;
|
|
||||||
|
|
||||||
|
// static models / materials / brushes
|
||||||
|
mNumStaticModels = aStream->ParseUInt32(QString("%1 num static models").arg(GetName()));
|
||||||
|
qint32 staticModelPtr = aStream->ParseInt32(QString("%1 static model ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumMaterials = aStream->ParseUInt32(QString("%1 num materials").arg(GetName()));
|
||||||
|
qint32 materialsPtr = aStream->ParseInt32(QString("%1 materials ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumBrushSides = aStream->ParseUInt32(QString("%1 num brush sides").arg(GetName()));
|
||||||
|
qint32 brushSidesPtr = aStream->ParseInt32(QString("%1 brush sides ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumBrushEdges = aStream->ParseUInt32(QString("%1 num brush edges").arg(GetName()));
|
||||||
|
qint32 brushEdgesPtr = aStream->ParseInt32(QString("%1 brush edges ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumNodes = aStream->ParseUInt32(QString("%1 num nodes").arg(GetName()));
|
||||||
|
qint32 nodesPtr = aStream->ParseInt32(QString("%1 nodes ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumLeafs = aStream->ParseUInt32(QString("%1 num leafs").arg(GetName()));
|
||||||
|
qint32 leafsPtr = aStream->ParseInt32(QString("%1 leafs ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mLeafBrushNodesCount = aStream->ParseUInt32(QString("%1 leaf brush nodes count").arg(GetName()));
|
||||||
|
qint32 leafsBrushNodesPtr= aStream->ParseInt32(QString("%1 leaf brush nodes ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumLeafBrushes = aStream->ParseUInt32(QString("%1 num leaf brushes").arg(GetName()));
|
||||||
|
qint32 leafBrushesPtr = aStream->ParseInt32(QString("%1 leaf brushes ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumLeafSurfaces = aStream->ParseUInt32(QString("%1 num leaf surfaces").arg(GetName()));
|
||||||
|
qint32 leafSurfacesPtr = aStream->ParseInt32(QString("%1 leaf surfaces ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mVertCount = aStream->ParseUInt32(QString("%1 vert count").arg(GetName()));
|
||||||
|
qint32 vertPtr = aStream->ParseInt32(QString("%1 vert ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mTriCount = aStream->ParseInt32(QString("%1 tri count").arg(GetName()));
|
||||||
|
qint32 triIndicesPtr = aStream->ParseInt32(QString("%1 tri indices ptr").arg(GetName()));
|
||||||
|
qint32 triEdgeWalkablePtr= aStream->ParseInt32(QString("%1 tri edge walkable ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mBorderCount = aStream->ParseInt32(QString("%1 border count").arg(GetName()));
|
||||||
|
qint32 bordersPtr = aStream->ParseInt32(QString("%1 borders ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mPartitionCount = aStream->ParseInt32(QString("%1 partition count").arg(GetName()));
|
||||||
|
qint32 partitionsPtr = aStream->ParseInt32(QString("%1 partitions ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mAabbTreeCount = aStream->ParseInt32(QString("%1 aabb tree count").arg(GetName()));
|
||||||
|
qint32 aabbTreesPtr = aStream->ParseInt32(QString("%1 aabb trees ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumSubModels = aStream->ParseUInt32(QString("%1 num sub models").arg(GetName()));
|
||||||
|
qint32 cModelsPtr = aStream->ParseInt32(QString("%1 c models ptr").arg(GetName()));
|
||||||
|
|
||||||
|
mNumBrushes = aStream->ParseUInt32(QString("%1 num brushes").arg(GetName()));
|
||||||
|
|
||||||
|
// skip padding
|
||||||
aStream->skipRawData(2);
|
aStream->skipRawData(2);
|
||||||
|
|
||||||
qint32 brushesPtr, visibilityPtr, mapEntsPtr;
|
// visibility + ents
|
||||||
*aStream
|
qint32 brushesPtr = aStream->ParseInt32(QString("%1 brushes ptr").arg(GetName()));
|
||||||
>> brushesPtr
|
mNumClusters = aStream->ParseInt32(QString("%1 num clusters").arg(GetName()));
|
||||||
>> mNumClusters
|
mClusterBytes = aStream->ParseInt32(QString("%1 cluster bytes").arg(GetName()));
|
||||||
>> mClusterBytes
|
qint32 visibilityPtr = aStream->ParseInt32(QString("%1 visibility ptr").arg(GetName()));
|
||||||
>> visibilityPtr
|
mVised = aStream->ParseInt32(QString("%1 vised").arg(GetName()));
|
||||||
>> mVised
|
qint32 mapEntsPtr = aStream->ParseInt32(QString("%1 map ents ptr").arg(GetName()));
|
||||||
>> mapEntsPtr;
|
|
||||||
|
|
||||||
mMapEnts.ParsePtr(aStream, false);
|
mMapEnts.ParsePtr(aStream, false);
|
||||||
mBoxBrush.ParsePtr(aStream, false);
|
mBoxBrush.ParsePtr(aStream, false);
|
||||||
|
|
||||||
mBoxModel.ParseData(aStream);
|
mBoxModel.ParseData(aStream);
|
||||||
|
|
||||||
|
// dynEnt counts
|
||||||
quint16 dynEntCount;
|
quint16 dynEntCount;
|
||||||
*aStream >> dynEntCount;
|
dynEntCount = aStream->ParseUInt16(QString("%1 dyn ent count [0]").arg(GetName()));
|
||||||
mDynEntCounts.append(dynEntCount);
|
mDynEntCounts.append(dynEntCount);
|
||||||
*aStream >> dynEntCount;
|
dynEntCount = aStream->ParseUInt16(QString("%1 dyn ent count [1]").arg(GetName()));
|
||||||
mDynEntCounts.append(dynEntCount);
|
mDynEntCounts.append(dynEntCount);
|
||||||
|
|
||||||
|
// dynEnt lists (ParsePtr once each)
|
||||||
mDynEntDefList[0].ParsePtr(aStream, false);
|
mDynEntDefList[0].ParsePtr(aStream, false);
|
||||||
mDynEntDefList[0].ParsePtr(aStream, false);
|
mDynEntDefList[1].ParsePtr(aStream, false);
|
||||||
|
|
||||||
mDynEntPoseList[0].ParsePtr(aStream, false);
|
mDynEntPoseList[0].ParsePtr(aStream, false);
|
||||||
mDynEntPoseList[0].ParsePtr(aStream, false);
|
mDynEntPoseList[1].ParsePtr(aStream, false);
|
||||||
|
|
||||||
mDynEntClientList[0].ParsePtr(aStream, false);
|
mDynEntClientList[0].ParsePtr(aStream, false);
|
||||||
mDynEntClientList[0].ParsePtr(aStream, false);
|
mDynEntClientList[1].ParsePtr(aStream, false);
|
||||||
|
|
||||||
mDynEntCollList[0].ParsePtr(aStream, false);
|
mDynEntCollList[0].ParsePtr(aStream, false);
|
||||||
mDynEntCollList[0].ParsePtr(aStream, false);
|
mDynEntCollList[1].ParsePtr(aStream, false);
|
||||||
|
|
||||||
*aStream >> mChecksum;
|
mChecksum = aStream->ParseUInt32(QString("%1 checksum").arg(GetName()));
|
||||||
|
|
||||||
if (planePtr)
|
// =====================
|
||||||
{
|
// Sectioned data blocks
|
||||||
for (int i = 0; i < mPlaneCount; i++)
|
// =====================
|
||||||
{
|
if (planePtr) {
|
||||||
|
for (int i = 0; i < mPlaneCount; i++) {
|
||||||
XCPlane newCPlane;
|
XCPlane newCPlane;
|
||||||
newCPlane.ParseData(aStream);
|
newCPlane.ParseData(aStream);
|
||||||
mPlanes.append(newCPlane);
|
mPlanes.append(newCPlane);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (staticModelPtr)
|
if (staticModelPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumStaticModels; i++) {
|
||||||
for (int i = 0; i < mNumStaticModels; i++)
|
|
||||||
{
|
|
||||||
XCStaticModel newModel;
|
XCStaticModel newModel;
|
||||||
newModel.ParseData(aStream);
|
newModel.ParseData(aStream);
|
||||||
mStaticModelList.append(newModel);
|
mStaticModelList.append(newModel);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (materialsPtr)
|
if (materialsPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumMaterials; i++) {
|
||||||
for (int i = 0; i < mNumMaterials; i++)
|
XDMaterial newMat;
|
||||||
{
|
newMat.ParseData(aStream);
|
||||||
XDMaterial newDMaterial;
|
mMaterials.append(newMat);
|
||||||
newDMaterial.ParseData(aStream);
|
|
||||||
mMaterials.append(newDMaterial);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (brushSidesPtr)
|
if (brushSidesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumBrushSides; i++) {
|
||||||
for (int i = 0; i < mNumBrushSides; i++)
|
XCBrushSide newSide;
|
||||||
{
|
newSide.ParseData(aStream);
|
||||||
XCBrushSide newBrushSide;
|
mBrushsides.append(newSide);
|
||||||
newBrushSide.ParseData(aStream);
|
|
||||||
mBrushsides.append(newBrushSide);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (brushEdgesPtr)
|
if (brushEdgesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumBrushEdges; i++) {
|
||||||
for (int i = 0; i < mNumBrushEdges; i++)
|
quint8 edge = aStream->ParseUInt8(QString("%1 edge %2").arg(GetName()).arg(i));
|
||||||
{
|
mBrushEdges.append(edge);
|
||||||
quint8 newBrushEdge;
|
|
||||||
*aStream >> newBrushEdge;
|
|
||||||
mBrushEdges.append(newBrushEdge);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nodesPtr)
|
if (nodesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumNodes; i++) {
|
||||||
for (int i = 0; i < mNumNodes; i++)
|
|
||||||
{
|
|
||||||
XCNode newNode;
|
XCNode newNode;
|
||||||
newNode.ParseData(aStream);
|
newNode.ParseData(aStream);
|
||||||
mNodes.append(newNode);
|
mNodes.append(newNode);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leafsPtr)
|
if (leafsPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumLeafs; i++) {
|
||||||
for (int i = 0; i < mNumLeafs; i++)
|
|
||||||
{
|
|
||||||
XCLeaf newLeaf;
|
XCLeaf newLeaf;
|
||||||
newLeaf.ParseData(aStream);
|
newLeaf.ParseData(aStream);
|
||||||
mLeafs.append(newLeaf);
|
mLeafs.append(newLeaf);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leafBrushesPtr)
|
if (leafBrushesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumLeafBrushes; i++) {
|
||||||
for (int i = 0; i < mNumLeafBrushes; i++)
|
quint32 brush = aStream->ParseUInt32(QString("%1 brush %2").arg(GetName()).arg(i));
|
||||||
{
|
mLeafBrushes.append(brush);
|
||||||
quint32 newBrush;
|
|
||||||
*aStream >> newBrush;
|
|
||||||
mLeafBrushes.append(newBrush);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leafsBrushNodesPtr)
|
if (leafsBrushNodesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mLeafBrushNodesCount; i++) {
|
||||||
for (int i = 0; i < mNumLeafBrushes; i++)
|
XCLeafBrushNode newNode;
|
||||||
{
|
newNode.ParseData(aStream);
|
||||||
XCLeafBrushNode newBrushNode;
|
mLeafBrushNodes.append(newNode);
|
||||||
newBrushNode.ParseData(aStream);
|
|
||||||
mLeafBrushNodes.append(newBrushNode);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (leafSurfacesPtr)
|
if (leafSurfacesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumLeafSurfaces; i++) {
|
||||||
for (int i = 0; i < mNumLeafBrushes; i++)
|
quint32 surf = aStream->ParseUInt32(QString("%1 surf %2").arg(GetName()).arg(i));
|
||||||
{
|
mLeafSurfaces.append(surf);
|
||||||
quint32 newBrush;
|
|
||||||
*aStream >> newBrush;
|
|
||||||
mLeafSurfaces.append(newBrush);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (vertPtr)
|
if (vertPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mVertCount; i++) {
|
||||||
for (int i = 0; i < mVertCount; i++)
|
for (int j = 0; j < 3; j++) {
|
||||||
{
|
QVector3D v;
|
||||||
QVector3D newVert;
|
v[j] = aStream->ParseSingle(QString("%1 vert (%2, %3)").arg(GetName()).arg(i).arg(j));
|
||||||
*aStream
|
mVerts.append(v);
|
||||||
>> newVert[0]
|
}
|
||||||
>> newVert[1]
|
|
||||||
>> newVert[2];
|
|
||||||
mVerts.append(newVert);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (triIndicesPtr)
|
if (triIndicesPtr) {
|
||||||
{
|
for (int i = 0; i < mTriCount; i++) {
|
||||||
for (int i = 0; i < mTriCount; i++)
|
quint32 tri = aStream->ParseUInt32(QString("%1 tri %2").arg(GetName()).arg(i));
|
||||||
{
|
mTriIndices.append(tri);
|
||||||
quint32 newTri;
|
|
||||||
*aStream >> newTri;
|
|
||||||
mTriIndices.append(newTri);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (triEdgeWalkablePtr)
|
if (triEdgeWalkablePtr) {
|
||||||
{
|
aStream->readRawData(mTriEdgeIsWalkable.data(),
|
||||||
aStream->readRawData(mTriEdgeIsWalkable.data(), ((3 * mTriCount + 31) >> 3) & 0xFFFFFFFC);
|
((3 * mTriCount + 31) >> 3) & 0xFFFFFFFC);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bordersPtr)
|
if (bordersPtr) {
|
||||||
{
|
for (int i = 0; i < mBorderCount; i++) {
|
||||||
for (int i = 0; i < mBorderCount; i++)
|
XCollisionBorder b;
|
||||||
{
|
b.ParseData(aStream);
|
||||||
XCollisionBorder newBorder;
|
mBorders.append(b);
|
||||||
newBorder.ParseData(aStream);
|
|
||||||
mBorders.append(newBorder);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (partitionsPtr)
|
if (partitionsPtr) {
|
||||||
{
|
for (int i = 0; i < mPartitionCount; i++) {
|
||||||
for (int i = 0; i < mPartitionCount; i++)
|
XCollisionPartition p;
|
||||||
{
|
p.ParseData(aStream);
|
||||||
XCollisionPartition newPartition;
|
mPartitions.append(p);
|
||||||
newPartition.ParseData(aStream);
|
|
||||||
mPartitions.append(newPartition);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aabbTreesPtr)
|
if (aabbTreesPtr) {
|
||||||
{
|
for (int i = 0; i < mAabbTreeCount; i++) {
|
||||||
for (int i = 0; i < mAabbTreeCount; i++)
|
XCollisionAabbTree t;
|
||||||
{
|
t.ParseData(aStream);
|
||||||
XCollisionAabbTree newTree;
|
mAabbTrees.append(t);
|
||||||
newTree.ParseData(aStream);
|
|
||||||
mAabbTrees.append(newTree);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (cModelsPtr)
|
if (cModelsPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumSubModels; i++) {
|
||||||
for (int i = 0; i < mNumSubModels; i++)
|
XCModel m;
|
||||||
{
|
m.ParseData(aStream);
|
||||||
XCModel newCModel;
|
mCModels.append(m);
|
||||||
newCModel.ParseData(aStream);
|
|
||||||
mCModels.append(newCModel);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (brushesPtr)
|
if (brushesPtr) {
|
||||||
{
|
for (quint32 i = 0; i < mNumBrushes; i++) {
|
||||||
for (int i = 0; i < mNumBrushes; i++)
|
XCBrush b;
|
||||||
{
|
b.ParseData(aStream);
|
||||||
XCBrush newCBrush;
|
mBrushes.append(b);
|
||||||
newCBrush.ParseData(aStream);
|
|
||||||
mBrushes.append(newCBrush);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (visibilityPtr)
|
if (visibilityPtr) {
|
||||||
{
|
|
||||||
aStream->readRawData(mVisibility.data(), mClusterBytes * mNumClusters);
|
aStream->readRawData(mVisibility.data(), mClusterBytes * mNumClusters);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mapEntsPtr)
|
if (mapEntsPtr) {
|
||||||
{
|
|
||||||
mMapEnts.ParseData(aStream);
|
mMapEnts.ParseData(aStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// box brush / dynEnt blocks
|
||||||
mBoxBrush.ParseData(aStream);
|
mBoxBrush.ParseData(aStream);
|
||||||
|
|
||||||
mDynEntDefList[0].ParseData(aStream);
|
mDynEntDefList[0].ParseData(aStream);
|
||||||
mDynEntDefList[0].ParseData(aStream);
|
mDynEntDefList[1].ParseData(aStream);
|
||||||
|
|
||||||
mDynEntPoseList[0].ParseData(aStream);
|
mDynEntPoseList[0].ParseData(aStream);
|
||||||
mDynEntPoseList[0].ParseData(aStream);
|
mDynEntPoseList[1].ParseData(aStream);
|
||||||
|
|
||||||
mDynEntClientList[0].ParseData(aStream);
|
mDynEntClientList[0].ParseData(aStream);
|
||||||
mDynEntClientList[0].ParseData(aStream);
|
mDynEntClientList[1].ParseData(aStream);
|
||||||
|
|
||||||
mDynEntCollList[0].ParseData(aStream);
|
mDynEntCollList[0].ParseData(aStream);
|
||||||
mDynEntCollList[0].ParseData(aStream);
|
mDynEntCollList[1].ParseData(aStream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void XClipMap::Clear()
|
void XClipMap::Clear()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|||||||
@ -23,9 +23,9 @@ class XClipMap : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XClipMap();
|
explicit XClipMap();
|
||||||
~XClipMap();
|
~XClipMap() = default;
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -33,7 +33,7 @@ private:
|
|||||||
|
|
||||||
quint32 mIsInUse;
|
quint32 mIsInUse;
|
||||||
|
|
||||||
int mPlaneCount;
|
qint32 mPlaneCount;
|
||||||
QVector<XCPlane> mPlanes;
|
QVector<XCPlane> mPlanes;
|
||||||
|
|
||||||
quint32 mNumStaticModels;
|
quint32 mNumStaticModels;
|
||||||
@ -66,20 +66,20 @@ private:
|
|||||||
quint32 mVertCount;
|
quint32 mVertCount;
|
||||||
QVector<QVector3D> mVerts;
|
QVector<QVector3D> mVerts;
|
||||||
|
|
||||||
int mTriCount;
|
qint32 mTriCount;
|
||||||
QVector<quint32> mTriIndices;
|
QVector<quint32> mTriIndices;
|
||||||
QByteArray mTriEdgeIsWalkable;
|
QByteArray mTriEdgeIsWalkable;
|
||||||
|
|
||||||
int mBorderCount;
|
qint32 mBorderCount;
|
||||||
QVector<XCollisionBorder> mBorders;
|
QVector<XCollisionBorder> mBorders;
|
||||||
|
|
||||||
int mPartitionCount;
|
qint32 mPartitionCount;
|
||||||
QVector<XCollisionPartition> mPartitions;
|
QVector<XCollisionPartition> mPartitions;
|
||||||
|
|
||||||
int mAabbTreeCount;
|
qint32 mAabbTreeCount;
|
||||||
QVector<XCollisionAabbTree> mAabbTrees;
|
QVector<XCollisionAabbTree> mAabbTrees;
|
||||||
|
|
||||||
uint mNumSubModels;
|
quint32 mNumSubModels;
|
||||||
QVector<XCModel> mCModels;
|
QVector<XCModel> mCModels;
|
||||||
|
|
||||||
quint32 mNumBrushes;
|
quint32 mNumBrushes;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ XCModel::XCModel()
|
|||||||
, mRadius(0.0f)
|
, mRadius(0.0f)
|
||||||
, mLeaf()
|
, mLeaf()
|
||||||
{
|
{
|
||||||
|
SetName("C Model");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCModel::~XCModel()
|
XCModel::~XCModel()
|
||||||
@ -15,16 +15,17 @@ XCModel::~XCModel()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCModel::ParseData(QDataStream *aStream)
|
void XCModel::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream
|
for (int i = 0; i < 3; i++) {
|
||||||
>> mMins[0]
|
mMins[i] = aStream->ParseSingle(QString("%1 min %2").arg(GetName()).arg(i));
|
||||||
>> mMins[1]
|
}
|
||||||
>> mMins[2]
|
|
||||||
>> mMaxs[0]
|
for (int i = 0; i < 3; i++) {
|
||||||
>> mMaxs[1]
|
mMaxs[i] = aStream->ParseSingle(QString("%1 max %2").arg(GetName()).arg(i));
|
||||||
>> mMaxs[2]
|
}
|
||||||
>> mRadius;
|
|
||||||
|
mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName()));
|
||||||
|
|
||||||
mLeaf.ParseData(aStream);
|
mLeaf.ParseData(aStream);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
XCModel();
|
XCModel();
|
||||||
~XCModel();
|
~XCModel();
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -3,23 +3,23 @@
|
|||||||
XCNode::XCNode()
|
XCNode::XCNode()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
, mPlane()
|
, mPlane()
|
||||||
, mChildren()
|
, mChildren(2)
|
||||||
{
|
{
|
||||||
|
SetName("C Node");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCNode::~XCNode()
|
XCNode::~XCNode()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCNode::ParseData(QDataStream *aStream) {
|
void XCNode::ParseData(XDataStream *aStream)
|
||||||
if (GetPtr() == -1) {
|
{
|
||||||
|
if (GetPtr() == -1)
|
||||||
|
{
|
||||||
mPlane.ParsePtr(aStream);
|
mPlane.ParsePtr(aStream);
|
||||||
|
|
||||||
// Parse children
|
mChildren[0] = aStream->ParseInt16(QString("%1 child 0").arg(GetName()));
|
||||||
*aStream
|
mChildren[1] = aStream->ParseInt16(QString("%1 child 1").arg(GetName()));
|
||||||
>> mChildren[0]
|
|
||||||
>> mChildren[1];
|
|
||||||
|
|
||||||
mPlane.ParseData(aStream);
|
mPlane.ParseData(aStream);
|
||||||
}
|
}
|
||||||
@ -30,7 +30,3 @@ void XCNode::Clear()
|
|||||||
mPlane.Clear();
|
mPlane.Clear();
|
||||||
mChildren.clear();
|
mChildren.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public:
|
|||||||
explicit XCNode();
|
explicit XCNode();
|
||||||
~XCNode();
|
~XCNode();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -8,30 +8,41 @@ XCollisionAabbTree::XCollisionAabbTree()
|
|||||||
, mChildCount(0)
|
, mChildCount(0)
|
||||||
, mTreeIndex()
|
, mTreeIndex()
|
||||||
{
|
{
|
||||||
|
SetName("Collision AABB Tree");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCollisionAabbTree::~XCollisionAabbTree()
|
XCollisionAabbTree::~XCollisionAabbTree()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCollisionAabbTree::ParseData(QDataStream *aStream) {
|
void XCollisionAabbTree::ParseData(XDataStream *aStream)
|
||||||
if (GetPtr() == -1) {
|
{
|
||||||
*aStream
|
if (GetPtr() == -1)
|
||||||
>> mOrigin[0]
|
{
|
||||||
>> mOrigin[1]
|
mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName())));
|
||||||
>> mOrigin[2]
|
mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName())));
|
||||||
>> mHalfSize[0]
|
mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName())));
|
||||||
>> mHalfSize[1]
|
|
||||||
>> mHalfSize[2]
|
mHalfSize.setX(aStream->ParseSingle(QString("%1 half size x").arg(GetName())));
|
||||||
>> mMaterialIndex
|
mHalfSize.setY(aStream->ParseSingle(QString("%1 half size y").arg(GetName())));
|
||||||
>> mChildCount;
|
mHalfSize.setZ(aStream->ParseSingle(QString("%1 half size z").arg(GetName())));
|
||||||
|
|
||||||
|
mMaterialIndex = aStream->ParseUInt32(QString("%1 material index").arg(GetName()));
|
||||||
|
mChildCount = aStream->ParseUInt32(QString("%1 child count").arg(GetName()));
|
||||||
|
|
||||||
// Parse union
|
|
||||||
mTreeIndex.ParseData(aStream);
|
mTreeIndex.ParseData(aStream);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void XCollisionAabbTree::Clear()
|
||||||
|
{
|
||||||
|
mOrigin = QVector3D();
|
||||||
|
mHalfSize = QVector3D();
|
||||||
|
mMaterialIndex = 0;
|
||||||
|
mChildCount = 0;
|
||||||
|
mTreeIndex.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
QVector3D XCollisionAabbTree::GetOrigin() const {
|
QVector3D XCollisionAabbTree::GetOrigin() const {
|
||||||
return mOrigin;
|
return mOrigin;
|
||||||
}
|
}
|
||||||
@ -71,6 +82,3 @@ XCollisionAabbTreeIndex& XCollisionAabbTree::GetTreeIndex() {
|
|||||||
void XCollisionAabbTree::SetTreeIndex(const XCollisionAabbTreeIndex& aTreeIndex) {
|
void XCollisionAabbTree::SetTreeIndex(const XCollisionAabbTreeIndex& aTreeIndex) {
|
||||||
mTreeIndex = aTreeIndex;
|
mTreeIndex = aTreeIndex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,8 @@ public:
|
|||||||
explicit XCollisionAabbTree();
|
explicit XCollisionAabbTree();
|
||||||
~XCollisionAabbTree();
|
~XCollisionAabbTree();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
void Clear() override;
|
||||||
|
|
||||||
QVector3D GetOrigin() const;
|
QVector3D GetOrigin() const;
|
||||||
void SetOrigin(QVector3D aOrigin);
|
void SetOrigin(QVector3D aOrigin);
|
||||||
@ -32,8 +33,8 @@ public:
|
|||||||
private:
|
private:
|
||||||
QVector3D mOrigin;
|
QVector3D mOrigin;
|
||||||
QVector3D mHalfSize;
|
QVector3D mHalfSize;
|
||||||
quint32 mMaterialIndex = 0;
|
quint32 mMaterialIndex;
|
||||||
quint32 mChildCount = 0;
|
quint32 mChildCount;
|
||||||
XCollisionAabbTreeIndex mTreeIndex;
|
XCollisionAabbTreeIndex mTreeIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XCollisionAabbTreeIndex::XCollisionAabbTreeIndex()
|
|||||||
, mFirstChildIndex(0)
|
, mFirstChildIndex(0)
|
||||||
, mPartitionIndex(0)
|
, mPartitionIndex(0)
|
||||||
{
|
{
|
||||||
|
SetName("Collision AABB Tree Index");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCollisionAabbTreeIndex::~XCollisionAabbTreeIndex()
|
XCollisionAabbTreeIndex::~XCollisionAabbTreeIndex()
|
||||||
@ -13,11 +13,10 @@ XCollisionAabbTreeIndex::~XCollisionAabbTreeIndex()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCollisionAabbTreeIndex::ParseData(QDataStream *aStream) {
|
void XCollisionAabbTreeIndex::ParseData(XDataStream *aStream) {
|
||||||
if (GetPtr() == -1) {
|
if (GetPtr() == -1) {
|
||||||
*aStream
|
mFirstChildIndex = aStream->ParseInt32(QString("%1 first child index").arg(GetName()));
|
||||||
>> mFirstChildIndex
|
mPartitionIndex = aStream->ParseInt32(QString("%1 partition index").arg(GetName()));
|
||||||
>> mPartitionIndex;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public:
|
|||||||
explicit XCollisionAabbTreeIndex();
|
explicit XCollisionAabbTreeIndex();
|
||||||
~XCollisionAabbTreeIndex();
|
~XCollisionAabbTreeIndex();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
// Option 1: First child index
|
// Option 1: First child index
|
||||||
int GetFirstChildIndex() const;
|
int GetFirstChildIndex() const;
|
||||||
@ -20,8 +20,8 @@ public:
|
|||||||
void SetPartitionIndex(int index);
|
void SetPartitionIndex(int index);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mFirstChildIndex;
|
qint32 mFirstChildIndex;
|
||||||
int mPartitionIndex;
|
qint32 mPartitionIndex;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // XCOLLISIONAABBTREEINDEX_H
|
#endif // XCOLLISIONAABBTREEINDEX_H
|
||||||
|
|||||||
@ -2,29 +2,33 @@
|
|||||||
|
|
||||||
XCollisionBorder::XCollisionBorder()
|
XCollisionBorder::XCollisionBorder()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
, mDistEq(3)
|
, mDistEq(3) // Always 3 elements
|
||||||
, mZBase(0.0f)
|
, mZBase(0.0f)
|
||||||
, mZSlope(0.0f)
|
, mZSlope(0.0f)
|
||||||
, mStart(0.0f)
|
, mStart(0.0f)
|
||||||
, mLength(0.0f)
|
, mLength(0.0f)
|
||||||
{
|
{
|
||||||
|
SetName("Collision Border");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCollisionBorder::~XCollisionBorder()
|
XCollisionBorder::~XCollisionBorder()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCollisionBorder::ParseData(QDataStream *aStream) {
|
void XCollisionBorder::ParseData(XDataStream *aStream)
|
||||||
if (GetPtr() == -1) {
|
{
|
||||||
*aStream
|
if (GetPtr() == -1)
|
||||||
>> mDistEq[0]
|
{
|
||||||
>> mDistEq[1]
|
// Distance equation components
|
||||||
>> mDistEq[2]
|
mDistEq[0] = aStream->ParseSingle(QString("%1 dist eq x").arg(GetName()));
|
||||||
>> mZBase
|
mDistEq[1] = aStream->ParseSingle(QString("%1 dist eq y").arg(GetName()));
|
||||||
>> mZSlope
|
mDistEq[2] = aStream->ParseSingle(QString("%1 dist eq z").arg(GetName()));
|
||||||
>> mStart
|
|
||||||
>> mLength;
|
// Other properties
|
||||||
|
mZBase = aStream->ParseSingle(QString("%1 z base").arg(GetName()));
|
||||||
|
mZSlope = aStream->ParseSingle(QString("%1 z slope").arg(GetName()));
|
||||||
|
mStart = aStream->ParseSingle(QString("%1 start").arg(GetName()));
|
||||||
|
mLength = aStream->ParseSingle(QString("%1 length").arg(GetName()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
explicit XCollisionBorder();
|
explicit XCollisionBorder();
|
||||||
~XCollisionBorder();
|
~XCollisionBorder();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -7,6 +7,7 @@ XCollisionPartition::XCollisionPartition()
|
|||||||
, mFirstTri(0)
|
, mFirstTri(0)
|
||||||
, mBorders()
|
, mBorders()
|
||||||
{
|
{
|
||||||
|
SetName("Collision Partition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCollisionPartition::~XCollisionPartition()
|
XCollisionPartition::~XCollisionPartition()
|
||||||
@ -14,7 +15,7 @@ XCollisionPartition::~XCollisionPartition()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCollisionPartition::ParseData(QDataStream *aStream) {
|
void XCollisionPartition::ParseData(XDataStream *aStream) {
|
||||||
if (GetPtr() == -1) {
|
if (GetPtr() == -1) {
|
||||||
*aStream
|
*aStream
|
||||||
>> mTriCount
|
>> mTriCount
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
explicit XCollisionPartition();
|
explicit XCollisionPartition();
|
||||||
~XCollisionPartition();
|
~XCollisionPartition();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -7,17 +7,14 @@ XColumnInfo::XColumnInfo()
|
|||||||
, mMaxChars(0)
|
, mMaxChars(0)
|
||||||
, mAlignment(0)
|
, mAlignment(0)
|
||||||
{
|
{
|
||||||
|
SetName("Column Info");
|
||||||
}
|
}
|
||||||
|
|
||||||
XColumnInfo::~XColumnInfo()
|
void XColumnInfo::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XColumnInfo::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODOL Fill in XColumnInfo::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XColumnInfo::Clear()
|
void XColumnInfo::Clear()
|
||||||
|
|||||||
@ -7,9 +7,9 @@ class XColumnInfo : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XColumnInfo();
|
explicit XColumnInfo();
|
||||||
~XColumnInfo();
|
~XColumnInfo() = default;
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -15,9 +15,9 @@ XComPrimaryLight::XComPrimaryLight()
|
|||||||
, mCosHalfFovExpanded(0.0)
|
, mCosHalfFovExpanded(0.0)
|
||||||
, mRotationLimit(0.0)
|
, mRotationLimit(0.0)
|
||||||
, mTranslationLimit(0.0)
|
, mTranslationLimit(0.0)
|
||||||
, mDefName(new XString())
|
, mDefName()
|
||||||
{
|
{
|
||||||
|
SetName("Com Primary Light");
|
||||||
}
|
}
|
||||||
|
|
||||||
XComPrimaryLight::~XComPrimaryLight()
|
XComPrimaryLight::~XComPrimaryLight()
|
||||||
@ -27,10 +27,10 @@ XComPrimaryLight::~XComPrimaryLight()
|
|||||||
|
|
||||||
void XComPrimaryLight::Clear()
|
void XComPrimaryLight::Clear()
|
||||||
{
|
{
|
||||||
delete mDefName;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
XComPrimaryLightArray *XComPrimaryLight::ParseArray(QDataStream *aStream, int aCount)
|
XComPrimaryLightArray *XComPrimaryLight::ParseArray(XDataStream *aStream, int aCount)
|
||||||
{
|
{
|
||||||
XComPrimaryLightArray* result = new XComPrimaryLightArray();
|
XComPrimaryLightArray* result = new XComPrimaryLightArray();
|
||||||
|
|
||||||
@ -45,24 +45,37 @@ XComPrimaryLightArray *XComPrimaryLight::ParseArray(QDataStream *aStream, int aC
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XComPrimaryLight::ParseData(QDataStream *aStream)
|
void XComPrimaryLight::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream
|
if (GetPtr() == -1)
|
||||||
>> mType
|
{
|
||||||
>> mCanUseShadowMap
|
mType = aStream->ParseUInt8(QString("%1 type").arg(GetName()));
|
||||||
>> mExponent
|
mCanUseShadowMap = aStream->ParseUInt8(QString("%1 can use shadow map").arg(GetName()));
|
||||||
>> mUnused
|
mExponent = aStream->ParseUInt8(QString("%1 exponent").arg(GetName()));
|
||||||
>> mColor
|
mUnused = aStream->ParseUInt8(QString("%1 unused").arg(GetName()));
|
||||||
>> mDir
|
|
||||||
>> mOrigin
|
|
||||||
>> mRadius
|
|
||||||
>> mCosHalfFovOuter
|
|
||||||
>> mCosHalfFovInner
|
|
||||||
>> mCosHalfFovExpanded
|
|
||||||
>> mRotationLimit
|
|
||||||
>> mTranslationLimit;
|
|
||||||
|
|
||||||
mDefName->ParseData(aStream);
|
float r = aStream->ParseSingle(QString("%1 color r").arg(GetName()));
|
||||||
|
float g = aStream->ParseSingle(QString("%1 color g").arg(GetName()));
|
||||||
|
float b = aStream->ParseSingle(QString("%1 color b").arg(GetName()));
|
||||||
|
mColor = QColor::fromRgbF(r, g, b);
|
||||||
|
|
||||||
|
mDir.setX(aStream->ParseSingle(QString("%1 dir x").arg(GetName())));
|
||||||
|
mDir.setY(aStream->ParseSingle(QString("%1 dir y").arg(GetName())));
|
||||||
|
mDir.setZ(aStream->ParseSingle(QString("%1 dir z").arg(GetName())));
|
||||||
|
|
||||||
|
mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName())));
|
||||||
|
mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName())));
|
||||||
|
mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName())));
|
||||||
|
|
||||||
|
mRadius = aStream->ParseSingle(QString("%1 radius").arg(GetName()));
|
||||||
|
mCosHalfFovOuter = aStream->ParseSingle(QString("%1 cos half fov outer").arg(GetName()));
|
||||||
|
mCosHalfFovInner = aStream->ParseSingle(QString("%1 cos half fov inner").arg(GetName()));
|
||||||
|
mCosHalfFovExpanded = aStream->ParseSingle(QString("%1 cos half fov expanded").arg(GetName()));
|
||||||
|
mRotationLimit = aStream->ParseSingle(QString("%1 rotation limit").arg(GetName()));
|
||||||
|
mTranslationLimit = aStream->ParseSingle(QString("%1 translation limit").arg(GetName()));
|
||||||
|
|
||||||
|
mDefName.ParseData(aStream);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
quint8 XComPrimaryLight::GetType() const
|
quint8 XComPrimaryLight::GetType() const
|
||||||
@ -130,11 +143,6 @@ float XComPrimaryLight::GetTranslationLimit() const
|
|||||||
return mTranslationLimit;
|
return mTranslationLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
XString* XComPrimaryLight::GetDefName() const
|
|
||||||
{
|
|
||||||
return mDefName;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XComPrimaryLight::SetType(quint8 aType)
|
void XComPrimaryLight::SetType(quint8 aType)
|
||||||
{
|
{
|
||||||
mType = aType;
|
mType = aType;
|
||||||
@ -199,15 +207,3 @@ void XComPrimaryLight::SetTranslationLimit(float aTranslationLimit)
|
|||||||
{
|
{
|
||||||
mTranslationLimit = aTranslationLimit;
|
mTranslationLimit = aTranslationLimit;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XComPrimaryLight::SetDefName(XString* aDefName)
|
|
||||||
{
|
|
||||||
mDefName = aDefName;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XComPrimaryLight::SetDefName(const QString aDefName)
|
|
||||||
{
|
|
||||||
if (mDefName != nullptr) {
|
|
||||||
mDefName->SetString(aDefName);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -29,12 +29,11 @@ public:
|
|||||||
float GetCosHalfFovExpanded() const;
|
float GetCosHalfFovExpanded() const;
|
||||||
float GetRotationLimit() const;
|
float GetRotationLimit() const;
|
||||||
float GetTranslationLimit() const;
|
float GetTranslationLimit() const;
|
||||||
XString* GetDefName() const;
|
|
||||||
|
|
||||||
static XComPrimaryLightArray* ParseArray(QDataStream *aStream, int aCount);
|
static XComPrimaryLightArray* ParseArray(XDataStream *aStream, int aCount);
|
||||||
|
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
virtual void ParseData(QDataStream *aStream) override;
|
virtual void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void SetType(quint8 aType);
|
void SetType(quint8 aType);
|
||||||
@ -50,8 +49,6 @@ public slots:
|
|||||||
void SetCosHalfFovExpanded(float aCosHalfFovExpanded);
|
void SetCosHalfFovExpanded(float aCosHalfFovExpanded);
|
||||||
void SetRotationLimit(float aRotationLimit);
|
void SetRotationLimit(float aRotationLimit);
|
||||||
void SetTranslationLimit(float aTranslationLimit);
|
void SetTranslationLimit(float aTranslationLimit);
|
||||||
void SetDefName(XString* aDefName);
|
|
||||||
void SetDefName(const QString aDefName);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
quint8 mType;
|
quint8 mType;
|
||||||
@ -67,7 +64,7 @@ private:
|
|||||||
float mCosHalfFovExpanded;
|
float mCosHalfFovExpanded;
|
||||||
float mRotationLimit;
|
float mRotationLimit;
|
||||||
float mTranslationLimit;
|
float mTranslationLimit;
|
||||||
XString* mDefName;
|
XString mDefName;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // XCOMPRIMARYLIGHT_H
|
#endif // XCOMPRIMARYLIGHT_H
|
||||||
|
|||||||
@ -8,7 +8,7 @@ XComWorld::XComWorld()
|
|||||||
, mPrimaryLights(new XComPrimaryLightArray())
|
, mPrimaryLights(new XComPrimaryLightArray())
|
||||||
{
|
{
|
||||||
SetType(ASSET_TYPE_COMWORLD);
|
SetType(ASSET_TYPE_COMWORLD);
|
||||||
SetName("ComWorld");
|
SetName("Com World");
|
||||||
}
|
}
|
||||||
|
|
||||||
XComWorld::~XComWorld()
|
XComWorld::~XComWorld()
|
||||||
@ -27,7 +27,7 @@ void XComWorld::Clear()
|
|||||||
delete mName;
|
delete mName;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XComWorld::ParseData(QDataStream *aStream)
|
void XComWorld::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
mName->ParsePtr(aStream, false);
|
mName->ParsePtr(aStream, false);
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,7 @@ public:
|
|||||||
~XComWorld();
|
~XComWorld();
|
||||||
|
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
virtual void ParseData(QDataStream *aStream) override;
|
virtual void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
QString GetName() const;
|
QString GetName() const;
|
||||||
bool IsInUse() const;
|
bool IsInUse() const;
|
||||||
|
|||||||
@ -8,7 +8,7 @@ XCPlane::XCPlane()
|
|||||||
, mSignbits(0)
|
, mSignbits(0)
|
||||||
, mPad()
|
, mPad()
|
||||||
{
|
{
|
||||||
|
SetName("C Plane");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCPlane::~XCPlane()
|
XCPlane::~XCPlane()
|
||||||
@ -16,19 +16,18 @@ XCPlane::~XCPlane()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCPlane::ParseData(QDataStream *aStream)
|
void XCPlane::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr() == -1)
|
if (GetPtr() == -1)
|
||||||
{
|
{
|
||||||
*aStream
|
mNormal.setX(aStream->ParseSingle(QString("%1 normal x").arg(GetName())));
|
||||||
>> mNormal[0]
|
mNormal.setY(aStream->ParseSingle(QString("%1 normal y").arg(GetName())));
|
||||||
>> mNormal[1]
|
mNormal.setZ(aStream->ParseSingle(QString("%1 normal z").arg(GetName())));
|
||||||
>> mNormal[2]
|
mDist = aStream->ParseSingle(QString("%1 dist").arg(GetName()));
|
||||||
>> mDist
|
mType = aStream->ParseUInt8(QString("%1 type").arg(GetName()));
|
||||||
>> mType
|
mSignbits = aStream->ParseUInt8(QString("%1 signbits").arg(GetName()));
|
||||||
>> mSignbits
|
mPad[0] = aStream->ParseUInt8(QString("%1 pad 0").arg(GetName()));
|
||||||
>> mPad[0]
|
mPad[1] = aStream->ParseUInt8(QString("%1 pad 1").arg(GetName()));
|
||||||
>> mPad[1];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
XCPlane();
|
XCPlane();
|
||||||
~XCPlane();
|
~XCPlane();
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -9,6 +9,7 @@ XCStaticModel::XCStaticModel()
|
|||||||
, mAbsmin()
|
, mAbsmin()
|
||||||
, mAbsmax()
|
, mAbsmax()
|
||||||
{
|
{
|
||||||
|
SetName("C Static Model");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCStaticModel::~XCStaticModel()
|
XCStaticModel::~XCStaticModel()
|
||||||
@ -16,36 +17,40 @@ XCStaticModel::~XCStaticModel()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCStaticModel::ParseData(QDataStream *aStream) {
|
void XCStaticModel::ParseData(XDataStream *aStream)
|
||||||
if (GetPtr() == -1) {
|
{
|
||||||
// Parse writable
|
if (GetPtr() == -1)
|
||||||
|
{
|
||||||
mWritable.ParseData(aStream);
|
mWritable.ParseData(aStream);
|
||||||
|
|
||||||
aStream->skipRawData(2);
|
aStream->skipRawData(2);
|
||||||
|
|
||||||
qint32 xModelPtr;
|
qint32 xModelPtr = aStream->ParseInt32(QString("%1 model ptr").arg(GetName()));
|
||||||
*aStream
|
|
||||||
>> xModelPtr
|
|
||||||
>> mOrigin[0]
|
|
||||||
>> mOrigin[1]
|
|
||||||
>> mOrigin[2];
|
|
||||||
|
|
||||||
// Parse invScaledAxis
|
mOrigin.setX(aStream->ParseSingle(QString("%1 origin x").arg(GetName())));
|
||||||
for (int i = 0; i < 3; ++i) {
|
mOrigin.setY(aStream->ParseSingle(QString("%1 origin y").arg(GetName())));
|
||||||
*aStream
|
mOrigin.setZ(aStream->ParseSingle(QString("%1 origin z").arg(GetName())));
|
||||||
>> mInvScaledAxis[i][0]
|
|
||||||
>> mInvScaledAxis[i][1]
|
if (xModelPtr)
|
||||||
>> mInvScaledAxis[i][2];
|
{
|
||||||
|
mModel.ParsePtr(aStream, false);
|
||||||
|
mModel.ParseData(aStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse absmin and absmax
|
for (int i = 0; i < 3; ++i)
|
||||||
*aStream
|
{
|
||||||
>> mAbsmin[0]
|
mInvScaledAxis[i].setX(aStream->ParseSingle(QString("%1 inv scaled axis[%2] x").arg(GetName()).arg(i)));
|
||||||
>> mAbsmin[1]
|
mInvScaledAxis[i].setY(aStream->ParseSingle(QString("%1 inv scaled axis[%2] y").arg(GetName()).arg(i)));
|
||||||
>> mAbsmin[2]
|
mInvScaledAxis[i].setZ(aStream->ParseSingle(QString("%1 inv scaled axis[%2] z").arg(GetName()).arg(i)));
|
||||||
>> mAbsmax[0]
|
}
|
||||||
>> mAbsmax[1]
|
|
||||||
>> mAbsmax[2];
|
mAbsmin.setX(aStream->ParseSingle(QString("%1 absmin x").arg(GetName())));
|
||||||
|
mAbsmin.setY(aStream->ParseSingle(QString("%1 absmin y").arg(GetName())));
|
||||||
|
mAbsmin.setZ(aStream->ParseSingle(QString("%1 absmin z").arg(GetName())));
|
||||||
|
|
||||||
|
mAbsmax.setX(aStream->ParseSingle(QString("%1 absmax x").arg(GetName())));
|
||||||
|
mAbsmax.setY(aStream->ParseSingle(QString("%1 absmax y").arg(GetName())));
|
||||||
|
mAbsmax.setZ(aStream->ParseSingle(QString("%1 absmax z").arg(GetName())));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
explicit XCStaticModel();
|
explicit XCStaticModel();
|
||||||
~XCStaticModel();
|
~XCStaticModel();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -4,6 +4,7 @@ XCStaticModelWritable::XCStaticModelWritable()
|
|||||||
: XAsset()
|
: XAsset()
|
||||||
, mNextModelInWorldSector(0)
|
, mNextModelInWorldSector(0)
|
||||||
{
|
{
|
||||||
|
SetName("C Static Model Writable");
|
||||||
}
|
}
|
||||||
|
|
||||||
XCStaticModelWritable::~XCStaticModelWritable()
|
XCStaticModelWritable::~XCStaticModelWritable()
|
||||||
@ -11,7 +12,7 @@ XCStaticModelWritable::~XCStaticModelWritable()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XCStaticModelWritable::ParseData(QDataStream *aStream) {
|
void XCStaticModelWritable::ParseData(XDataStream *aStream) {
|
||||||
if (GetPtr() == -1) {
|
if (GetPtr() == -1) {
|
||||||
*aStream >> mNextModelInWorldSector;
|
*aStream >> mNextModelInWorldSector;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public:
|
|||||||
explicit XCStaticModelWritable();
|
explicit XCStaticModelWritable();
|
||||||
~XCStaticModelWritable();
|
~XCStaticModelWritable();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
quint32 GetNextModelInWorldSector() const;
|
quint32 GetNextModelInWorldSector() const;
|
||||||
void SetNextModelInWorldSector(quint32 nextModel);
|
void SetNextModelInWorldSector(quint32 nextModel);
|
||||||
|
|||||||
@ -6,17 +6,14 @@ XD3DBaseTexture::XD3DBaseTexture()
|
|||||||
, mFormat()
|
, mFormat()
|
||||||
, mResource()
|
, mResource()
|
||||||
{
|
{
|
||||||
|
SetName("D3D Base Texture");
|
||||||
}
|
}
|
||||||
|
|
||||||
XD3DBaseTexture::~XD3DBaseTexture()
|
void XD3DBaseTexture::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XD3DBaseTexture::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XD3DBaseTexture::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DBaseTexture::Clear()
|
void XD3DBaseTexture::Clear()
|
||||||
|
|||||||
@ -9,9 +9,9 @@ class XD3DBaseTexture : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
XD3DBaseTexture();
|
XD3DBaseTexture();
|
||||||
~XD3DBaseTexture();
|
~XD3DBaseTexture() = default;
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -1,33 +0,0 @@
|
|||||||
#include "xgfximageloaddef.h"
|
|
||||||
|
|
||||||
#include "xgfxtexture.h"
|
|
||||||
|
|
||||||
XGfxImageLoadDef::XGfxImageLoadDef()
|
|
||||||
: XAsset()
|
|
||||||
, mLevelCount(0)
|
|
||||||
, mFlags(0)
|
|
||||||
, mDimensions(QVector<qint16>(3))
|
|
||||||
, mFormat(0)
|
|
||||||
, mTexture(new XGfxTexture())
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
XGfxImageLoadDef::~XGfxImageLoadDef()
|
|
||||||
{
|
|
||||||
delete mTexture;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XGfxImageLoadDef::ParseData(QDataStream *aStream)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XGfxImageLoadDef::Clear()
|
|
||||||
{
|
|
||||||
mLevelCount = 0;
|
|
||||||
mFlags = 0;
|
|
||||||
mDimensions = QVector<qint16>(3);
|
|
||||||
mFormat = 0;
|
|
||||||
mTexture->Clear();
|
|
||||||
}
|
|
||||||
@ -5,16 +5,25 @@ XD3DIndexBuffer::XD3DIndexBuffer()
|
|||||||
, mAddress(0)
|
, mAddress(0)
|
||||||
, mSize(0)
|
, mSize(0)
|
||||||
{
|
{
|
||||||
|
SetName("D3D Index Buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DIndexBuffer::ParseData(QDataStream *aStream)
|
void XD3DIndexBuffer::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
XD3DResource::ParseData(aStream);
|
XD3DResource::ParseData(aStream);
|
||||||
|
|
||||||
*aStream
|
*aStream >> mAddress;
|
||||||
>> mAddress
|
if (IsDebug())
|
||||||
>> mSize;
|
{
|
||||||
|
qDebug() << QString("[%1] mAddress = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mAddress);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
*aStream >> mSize;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mSize = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DIndexBuffer::Clear()
|
void XD3DIndexBuffer::Clear()
|
||||||
|
|||||||
@ -8,7 +8,7 @@ class XD3DIndexBuffer : public XD3DResource
|
|||||||
public:
|
public:
|
||||||
explicit XD3DIndexBuffer();
|
explicit XD3DIndexBuffer();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -9,7 +9,7 @@ XD3DResource::XD3DResource()
|
|||||||
, mIdentifier(0)
|
, mIdentifier(0)
|
||||||
, mBaseFlush(0)
|
, mBaseFlush(0)
|
||||||
{
|
{
|
||||||
|
SetName("D3D Resource");
|
||||||
}
|
}
|
||||||
|
|
||||||
XD3DResource::~XD3DResource()
|
XD3DResource::~XD3DResource()
|
||||||
@ -17,15 +17,43 @@ XD3DResource::~XD3DResource()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DResource::ParseData(QDataStream *aStream)
|
void XD3DResource::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream
|
*aStream >> mCommon;
|
||||||
>> mCommon
|
if (IsDebug())
|
||||||
>> mReferenceCount
|
{
|
||||||
>> mFence
|
qDebug() << QString("[%1] mCommon = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mCommon);
|
||||||
>> mReadFence
|
}
|
||||||
>> mIdentifier
|
|
||||||
>> mBaseFlush;
|
*aStream >> mReferenceCount;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mReferenceCount = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mReferenceCount);
|
||||||
|
}
|
||||||
|
|
||||||
|
*aStream >> mFence;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mFence = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mFence);
|
||||||
|
}
|
||||||
|
|
||||||
|
*aStream >> mReadFence;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mReadFence = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mReadFence);
|
||||||
|
}
|
||||||
|
|
||||||
|
*aStream >> mIdentifier;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mIdentifier = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mIdentifier);
|
||||||
|
}
|
||||||
|
|
||||||
|
*aStream >> mBaseFlush;
|
||||||
|
if (IsDebug())
|
||||||
|
{
|
||||||
|
qDebug() << QString("[%1] mBaseFlush = %2").arg(aStream->device()->pos(), 10, 10, QChar('0')).arg(mBaseFlush);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DResource::Clear()
|
void XD3DResource::Clear()
|
||||||
|
|||||||
@ -6,10 +6,10 @@
|
|||||||
class XD3DResource : public XAsset
|
class XD3DResource : public XAsset
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
XD3DResource();
|
explicit XD3DResource();
|
||||||
~XD3DResource();
|
~XD3DResource();
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -4,12 +4,14 @@ XD3DVertexBuffer::XD3DVertexBuffer()
|
|||||||
: XD3DResource()
|
: XD3DResource()
|
||||||
, mFormat()
|
, mFormat()
|
||||||
{
|
{
|
||||||
|
SetName("D3D Vertex Buffer");
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DVertexBuffer::ParseData(QDataStream *aStream)
|
void XD3DVertexBuffer::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
XD3DResource::ParseData(aStream);
|
||||||
|
|
||||||
|
mFormat.ParseData(aStream);
|
||||||
}
|
}
|
||||||
|
|
||||||
void XD3DVertexBuffer::Clear()
|
void XD3DVertexBuffer::Clear()
|
||||||
|
|||||||
@ -9,7 +9,7 @@ class XD3DVertexBuffer : XD3DResource
|
|||||||
public:
|
public:
|
||||||
explicit XD3DVertexBuffer();
|
explicit XD3DVertexBuffer();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -2,7 +2,9 @@
|
|||||||
#include "xstring.h"
|
#include "xstring.h"
|
||||||
|
|
||||||
XDMaterial::XDMaterial()
|
XDMaterial::XDMaterial()
|
||||||
: XAsset() {
|
: XAsset()
|
||||||
|
{
|
||||||
|
SetName("D Material");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDMaterial::~XDMaterial()
|
XDMaterial::~XDMaterial()
|
||||||
@ -10,7 +12,7 @@ XDMaterial::~XDMaterial()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDMaterial::ParseData(QDataStream *aStream) {
|
void XDMaterial::ParseData(XDataStream *aStream) {
|
||||||
if (GetPtr() == -1) {
|
if (GetPtr() == -1) {
|
||||||
mMaterial = XString::ParseCustom(aStream);
|
mMaterial = XString::ParseCustom(aStream);
|
||||||
|
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public:
|
|||||||
explicit XDMaterial();
|
explicit XDMaterial();
|
||||||
~XDMaterial();
|
~XDMaterial();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
const QString& GetMaterial() const;
|
const QString& GetMaterial() const;
|
||||||
void SetMaterial(const QString& material);
|
void SetMaterial(const QString& material);
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
XDObjAnimMat::XDObjAnimMat()
|
XDObjAnimMat::XDObjAnimMat()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
, mQuat()
|
, mQuat(4)
|
||||||
, mTrans()
|
, mTrans(3)
|
||||||
, mTransWeight(0)
|
, mTransWeight(0)
|
||||||
{
|
{
|
||||||
|
SetName("Object Animation Map");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDObjAnimMat::~XDObjAnimMat()
|
XDObjAnimMat::~XDObjAnimMat()
|
||||||
@ -14,19 +14,27 @@ XDObjAnimMat::~XDObjAnimMat()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDObjAnimMat::ParseData(QDataStream *aStream)
|
void XDObjAnimMat::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr() == -1)
|
if (GetPtr() == -1)
|
||||||
{
|
{
|
||||||
*aStream
|
for (int i = 0; i < 4; i++)
|
||||||
>> mQuat[0]
|
{
|
||||||
>> mQuat[1]
|
quint32 rawQuat;
|
||||||
>> mQuat[2]
|
*aStream >> rawQuat;
|
||||||
>> mQuat[3]
|
memcpy(&mQuat[i], &rawQuat, sizeof(mQuat[i]));
|
||||||
>> mTrans[0]
|
}
|
||||||
>> mTrans[1]
|
|
||||||
>> mTrans[2]
|
for (int i = 0; i < 3; i++)
|
||||||
>> mTransWeight;
|
{
|
||||||
|
quint32 rawTrans;
|
||||||
|
*aStream >> rawTrans;
|
||||||
|
memcpy(&mTrans[i], &rawTrans, sizeof(mTrans[i]));
|
||||||
|
}
|
||||||
|
|
||||||
|
quint32 rawTransWeight;
|
||||||
|
*aStream >> rawTransWeight;
|
||||||
|
memcpy(&mTransWeight, &rawTransWeight, sizeof(mTransWeight));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
XDObjAnimMat();
|
XDObjAnimMat();
|
||||||
~XDObjAnimMat();
|
~XDObjAnimMat();
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -6,17 +6,14 @@ XDpvsPlane::XDpvsPlane()
|
|||||||
, mSide()
|
, mSide()
|
||||||
, mPad(0)
|
, mPad(0)
|
||||||
{
|
{
|
||||||
|
SetName("DPVS Plane");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDpvsPlane::~XDpvsPlane()
|
void XDpvsPlane::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XDpvsPlane::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XDpvsPlane::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDpvsPlane::Clear()
|
void XDpvsPlane::Clear()
|
||||||
|
|||||||
@ -9,9 +9,9 @@ class XDpvsPlane : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XDpvsPlane();
|
explicit XDpvsPlane();
|
||||||
~XDpvsPlane();
|
~XDpvsPlane() = default;
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ XDynEntityClient::XDynEntityClient()
|
|||||||
, mLightingHandle(0)
|
, mLightingHandle(0)
|
||||||
, mHealth(0)
|
, mHealth(0)
|
||||||
{
|
{
|
||||||
|
SetName("Dynamic Entity Client");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDynEntityClient::~XDynEntityClient()
|
XDynEntityClient::~XDynEntityClient()
|
||||||
@ -15,7 +15,7 @@ XDynEntityClient::~XDynEntityClient()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDynEntityClient::ParseData(QDataStream *aStream)
|
void XDynEntityClient::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr())
|
if (GetPtr())
|
||||||
{
|
{
|
||||||
|
|||||||
@ -9,7 +9,7 @@ public:
|
|||||||
explicit XDynEntityClient();
|
explicit XDynEntityClient();
|
||||||
~XDynEntityClient();
|
~XDynEntityClient();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -7,7 +7,7 @@ XDynEntityColl::XDynEntityColl()
|
|||||||
, mLinkMins()
|
, mLinkMins()
|
||||||
, mLinkMaxs()
|
, mLinkMaxs()
|
||||||
{
|
{
|
||||||
|
SetName("Dynamic Entity Coll");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDynEntityColl::~XDynEntityColl()
|
XDynEntityColl::~XDynEntityColl()
|
||||||
@ -15,7 +15,7 @@ XDynEntityColl::~XDynEntityColl()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDynEntityColl::ParseData(QDataStream *aStream)
|
void XDynEntityColl::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (GetPtr())
|
if (GetPtr())
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
explicit XDynEntityColl();
|
explicit XDynEntityColl();
|
||||||
~XDynEntityColl();
|
~XDynEntityColl();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -14,7 +14,7 @@ XDynEntityDef::XDynEntityDef()
|
|||||||
, mMass()
|
, mMass()
|
||||||
, mContents(0)
|
, mContents(0)
|
||||||
{
|
{
|
||||||
|
SetName("Dynamic Entity Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDynEntityDef::~XDynEntityDef()
|
XDynEntityDef::~XDynEntityDef()
|
||||||
@ -22,7 +22,7 @@ XDynEntityDef::~XDynEntityDef()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDynEntityDef::ParseData(QDataStream *aStream)
|
void XDynEntityDef::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr())
|
if (GetPtr())
|
||||||
{
|
{
|
||||||
|
|||||||
@ -21,7 +21,7 @@ public:
|
|||||||
explicit XDynEntityDef();
|
explicit XDynEntityDef();
|
||||||
~XDynEntityDef();
|
~XDynEntityDef();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XDynEntityPose::XDynEntityPose()
|
|||||||
, mPose()
|
, mPose()
|
||||||
, mRadius(0.0f)
|
, mRadius(0.0f)
|
||||||
{
|
{
|
||||||
|
SetName("Dynamic Entity Pose");
|
||||||
}
|
}
|
||||||
|
|
||||||
XDynEntityPose::~XDynEntityPose()
|
XDynEntityPose::~XDynEntityPose()
|
||||||
@ -13,7 +13,7 @@ XDynEntityPose::~XDynEntityPose()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XDynEntityPose::ParseData(QDataStream *aStream)
|
void XDynEntityPose::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr())
|
if (GetPtr())
|
||||||
{
|
{
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public:
|
|||||||
explicit XDynEntityPose();
|
explicit XDynEntityPose();
|
||||||
~XDynEntityPose();
|
~XDynEntityPose();
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -10,59 +10,25 @@ XEditFieldDefinition::XEditFieldDefinition()
|
|||||||
, mMaxCharsGotoNext(0)
|
, mMaxCharsGotoNext(0)
|
||||||
, mMaxPaintChars(0)
|
, mMaxPaintChars(0)
|
||||||
, mPaintOffset(0)
|
, mPaintOffset(0)
|
||||||
{}
|
|
||||||
|
|
||||||
float XEditFieldDefinition::GetMinVal() const
|
|
||||||
{
|
{
|
||||||
return mMinVal;
|
SetName("Edit Field Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
float XEditFieldDefinition::GetMaxVal() const
|
XEditFieldDefinition::~XEditFieldDefinition()
|
||||||
{
|
{
|
||||||
return mMaxVal;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
float XEditFieldDefinition::GetDefVal() const
|
void XEditFieldDefinition::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
return mDefVal;
|
mMinVal = aStream->ParseSingle(QString("%1 min val").arg(GetName()));
|
||||||
}
|
mMaxVal = aStream->ParseSingle(QString("%1 max val").arg(GetName()));
|
||||||
|
mDefVal = aStream->ParseSingle(QString("%1 def val").arg(GetName()));
|
||||||
float XEditFieldDefinition::GetRange() const
|
mRange = aStream->ParseSingle(QString("%1 range").arg(GetName()));
|
||||||
{
|
mMaxChars = aStream->ParseInt32(QString("%1 max chars").arg(GetName()));
|
||||||
return mRange;
|
mMaxCharsGotoNext = aStream->ParseInt32(QString("%1 max chars goto next").arg(GetName()));
|
||||||
}
|
mMaxPaintChars = aStream->ParseInt32(QString("%1 max paint chars").arg(GetName()));
|
||||||
|
mPaintOffset = aStream->ParseInt32(QString("%1 paint offset").arg(GetName()));
|
||||||
int XEditFieldDefinition::GetMaxChars() const
|
|
||||||
{
|
|
||||||
return mMaxChars;
|
|
||||||
}
|
|
||||||
|
|
||||||
int XEditFieldDefinition::GetMaxCharsGotoNext() const
|
|
||||||
{
|
|
||||||
return mMaxCharsGotoNext;
|
|
||||||
}
|
|
||||||
|
|
||||||
int XEditFieldDefinition::GetMaxPaintChars() const
|
|
||||||
{
|
|
||||||
return mMaxPaintChars;
|
|
||||||
}
|
|
||||||
|
|
||||||
int XEditFieldDefinition::GetPaintOffset() const
|
|
||||||
{
|
|
||||||
return mPaintOffset;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::ParseData(QDataStream *aStream)
|
|
||||||
{
|
|
||||||
*aStream
|
|
||||||
>> mMinVal
|
|
||||||
>> mMaxVal
|
|
||||||
>> mDefVal
|
|
||||||
>> mRange
|
|
||||||
>> mMaxChars
|
|
||||||
>> mMaxCharsGotoNext
|
|
||||||
>> mMaxPaintChars
|
|
||||||
>> mPaintOffset;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XEditFieldDefinition::Clear()
|
void XEditFieldDefinition::Clear()
|
||||||
@ -76,43 +42,3 @@ void XEditFieldDefinition::Clear()
|
|||||||
mMaxPaintChars = 0;
|
mMaxPaintChars = 0;
|
||||||
mPaintOffset = 0;
|
mPaintOffset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XEditFieldDefinition::SetMinVal(float aMinVal)
|
|
||||||
{
|
|
||||||
mMinVal = aMinVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetMaxVal(float aMaxVal)
|
|
||||||
{
|
|
||||||
mMaxVal = aMaxVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetDefVal(float aDefVal)
|
|
||||||
{
|
|
||||||
mDefVal = aDefVal;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetRange(float aRange)
|
|
||||||
{
|
|
||||||
mRange = aRange;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetMaxChars(int aMaxChars)
|
|
||||||
{
|
|
||||||
mMaxChars = aMaxChars;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetMaxCharsGotoNext(int aMaxCharsGotoNext)
|
|
||||||
{
|
|
||||||
mMaxCharsGotoNext = aMaxCharsGotoNext;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetMaxPaintChars(int aMaxPaintChars)
|
|
||||||
{
|
|
||||||
mMaxPaintChars = aMaxPaintChars;
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEditFieldDefinition::SetPaintOffset(int aPaintOffset)
|
|
||||||
{
|
|
||||||
mPaintOffset = aPaintOffset;
|
|
||||||
}
|
|
||||||
|
|||||||
@ -6,34 +6,11 @@
|
|||||||
class XEditFieldDefinition : public XAsset
|
class XEditFieldDefinition : public XAsset
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
XEditFieldDefinition();
|
explicit XEditFieldDefinition();
|
||||||
|
~XEditFieldDefinition();
|
||||||
|
|
||||||
float GetMinVal() const;
|
void ParseData(XDataStream* aStream) override;
|
||||||
void SetMinVal(float aMinVal);
|
void Clear() override;
|
||||||
|
|
||||||
float GetMaxVal() const;
|
|
||||||
void SetMaxVal(float aMaxVal);
|
|
||||||
|
|
||||||
float GetDefVal() const;
|
|
||||||
void SetDefVal(float aDefVal);
|
|
||||||
|
|
||||||
float GetRange() const;
|
|
||||||
void SetRange(float aRange);
|
|
||||||
|
|
||||||
int GetMaxChars() const;
|
|
||||||
void SetMaxChars(int aMaxChars);
|
|
||||||
|
|
||||||
int GetMaxCharsGotoNext() const;
|
|
||||||
void SetMaxCharsGotoNext(int aMaxCharsGotoNext);
|
|
||||||
|
|
||||||
int GetMaxPaintChars() const;
|
|
||||||
void SetMaxPaintChars(int aMaxPaintChars);
|
|
||||||
|
|
||||||
int GetPaintOffset() const;
|
|
||||||
void SetPaintOffset(int aPaintOffset);
|
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream);
|
|
||||||
virtual void Clear();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float mMinVal;
|
float mMinVal;
|
||||||
|
|||||||
@ -11,7 +11,7 @@ XEffectDef::XEffectDef()
|
|||||||
, mElemDefCountEmission(0)
|
, mElemDefCountEmission(0)
|
||||||
, mElemDefs()
|
, mElemDefs()
|
||||||
{
|
{
|
||||||
|
SetName("Effect Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XEffectDef::~XEffectDef()
|
XEffectDef::~XEffectDef()
|
||||||
@ -31,7 +31,9 @@ void XEffectDef::Clear()
|
|||||||
mElemDefs.clear();
|
mElemDefs.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XEffectDef::ParseData(QDataStream *aStream)
|
void XEffectDef::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XEffectDef::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public:
|
|||||||
~XEffectDef();
|
~XEffectDef();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString mName;
|
QString mName;
|
||||||
|
|||||||
@ -3,29 +3,27 @@
|
|||||||
|
|
||||||
XEffectDefRef::XEffectDefRef()
|
XEffectDefRef::XEffectDefRef()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
, mHandlePtr(0)
|
|
||||||
, mHandle(new XEffectDef())
|
, mHandle(new XEffectDef())
|
||||||
, mNamePtr(0)
|
, mName()
|
||||||
, mName("")
|
|
||||||
{
|
{
|
||||||
|
SetName("Effect Definition Reference");
|
||||||
}
|
}
|
||||||
|
|
||||||
XEffectDefRef::~XEffectDefRef()
|
XEffectDefRef::~XEffectDefRef()
|
||||||
{
|
{
|
||||||
|
delete mHandle;
|
||||||
|
}
|
||||||
|
|
||||||
|
void XEffectDefRef::ParseData(XDataStream *aStream)
|
||||||
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XEffectDefRef::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XEffectDefRef::Clear()
|
void XEffectDefRef::Clear()
|
||||||
{
|
{
|
||||||
mHandlePtr = 0;
|
delete mHandle;
|
||||||
mHandle = new XEffectDef();
|
mHandle = new XEffectDef();
|
||||||
|
mName.Clear();
|
||||||
mNamePtr = 0;
|
|
||||||
mName = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEffectDefRef::ParseData(QDataStream *aStream)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,6 +2,7 @@
|
|||||||
#define XEFFECTDEFREF_H
|
#define XEFFECTDEFREF_H
|
||||||
|
|
||||||
#include "xasset.h"
|
#include "xasset.h"
|
||||||
|
#include "xstring.h"
|
||||||
|
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
@ -11,17 +12,14 @@ class XEffectDefRef : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XEffectDefRef();
|
explicit XEffectDefRef();
|
||||||
~XEffectDefRef();
|
~XEffectDefRef() override;
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qint32 mHandlePtr;
|
XEffectDef* mHandle;
|
||||||
const XEffectDef *mHandle;
|
XString mName;
|
||||||
|
|
||||||
qint32 mNamePtr;
|
|
||||||
QString mName;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // XEFFECTDEFREF_H
|
#endif // XEFFECTDEFREF_H
|
||||||
|
|||||||
@ -1,29 +0,0 @@
|
|||||||
#include "xeffecttable.h"
|
|
||||||
|
|
||||||
XImpactTable::XImpactTable()
|
|
||||||
: XAsset()
|
|
||||||
, mNamePtr(0)
|
|
||||||
, mName("")
|
|
||||||
, mTablePtr(0)
|
|
||||||
, mTable()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
XImpactTable::~XImpactTable()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XImpactTable::Clear()
|
|
||||||
{
|
|
||||||
mNamePtr = 0;
|
|
||||||
mName = "";
|
|
||||||
mTablePtr = 0;
|
|
||||||
mTable = QVector<XFxImpactEntry>();
|
|
||||||
}
|
|
||||||
|
|
||||||
void XImpactTable::ParseData(QDataStream *aStream)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
#ifndef EFFECTTABLE_H
|
|
||||||
#define EFFECTTABLE_H
|
|
||||||
|
|
||||||
#include "xasset.h"
|
|
||||||
#include "xfximpactentry.h"
|
|
||||||
|
|
||||||
class XImpactTable : public XAsset
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit XImpactTable();
|
|
||||||
~XImpactTable();
|
|
||||||
|
|
||||||
void Clear() override;
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
|
||||||
|
|
||||||
private:
|
|
||||||
qint32 mNamePtr;
|
|
||||||
QString mName;
|
|
||||||
|
|
||||||
qint32 mTablePtr;
|
|
||||||
QVector<XFxImpactEntry> mTable;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // EFFECTTABLE_H
|
|
||||||
@ -5,17 +5,14 @@ XEntryInternalData::XEntryInternalData()
|
|||||||
, mOp()
|
, mOp()
|
||||||
, mOperand()
|
, mOperand()
|
||||||
{
|
{
|
||||||
|
SetName("Entry Internal Data");
|
||||||
}
|
}
|
||||||
|
|
||||||
XEntryInternalData::~XEntryInternalData()
|
void XEntryInternalData::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XEntryInternalData::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XEntryInternalData::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XEntryInternalData::Clear()
|
void XEntryInternalData::Clear()
|
||||||
|
|||||||
@ -9,9 +9,9 @@ class XEntryInternalData : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XEntryInternalData();
|
explicit XEntryInternalData();
|
||||||
~XEntryInternalData();
|
~XEntryInternalData() = default;
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -5,17 +5,14 @@ XExpressionEntry::XExpressionEntry()
|
|||||||
, mType(0)
|
, mType(0)
|
||||||
, mData()
|
, mData()
|
||||||
{
|
{
|
||||||
|
SetName("Expression Entry");
|
||||||
}
|
}
|
||||||
|
|
||||||
XExpressionEntry::~XExpressionEntry()
|
void XExpressionEntry::ParseData(XDataStream *aStream)
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void XExpressionEntry::ParseData(QDataStream *aStream)
|
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XExpressionEntry::ParseData
|
||||||
}
|
}
|
||||||
|
|
||||||
void XExpressionEntry::Clear()
|
void XExpressionEntry::Clear()
|
||||||
|
|||||||
@ -8,9 +8,9 @@ class XExpressionEntry : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XExpressionEntry();
|
explicit XExpressionEntry();
|
||||||
~XExpressionEntry();
|
~XExpressionEntry() = default;
|
||||||
|
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -5,10 +5,10 @@
|
|||||||
XFile::XFile()
|
XFile::XFile()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
{
|
{
|
||||||
|
SetName("File");
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFile::ParseData(QDataStream *aStream)
|
void XFile::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
quint32 contentLength;
|
quint32 contentLength;
|
||||||
*aStream
|
*aStream
|
||||||
|
|||||||
@ -8,7 +8,7 @@ class XFile : public XAsset
|
|||||||
public:
|
public:
|
||||||
explicit XFile();
|
explicit XFile();
|
||||||
|
|
||||||
virtual void ParseData(QDataStream* aStream) override;
|
virtual void ParseData(XDataStream* aStream) override;
|
||||||
virtual void Clear() override;
|
virtual void Clear() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -28,7 +28,7 @@ void XFont::Clear()
|
|||||||
mGlyphs.clear();
|
mGlyphs.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFont::ParseData(QDataStream *aStream)
|
void XFont::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
if (GetPtr() == -1)
|
if (GetPtr() == -1)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
~XFont();
|
~XFont();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XString mFontName;
|
XString mFontName;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ XFxEffectDef::XFxEffectDef()
|
|||||||
, mElemDefs()
|
, mElemDefs()
|
||||||
{
|
{
|
||||||
SetType(ASSET_TYPE_FX);
|
SetType(ASSET_TYPE_FX);
|
||||||
SetName("Effect Def");
|
SetName("Effect Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxEffectDef::~XFxEffectDef()
|
XFxEffectDef::~XFxEffectDef()
|
||||||
@ -25,19 +25,18 @@ void XFxEffectDef::Clear()
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxEffectDef::ParseData(QDataStream *aStream)
|
void XFxEffectDef::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
mName.ParsePtr(aStream, false);
|
mName.ParsePtr(aStream, false);
|
||||||
|
|
||||||
qint32 elemDefsPtr;
|
qint32 elemDefsPtr;
|
||||||
*aStream
|
mFlags = aStream->ParseInt32(QString("%1 flags").arg(GetName()));
|
||||||
>> mFlags
|
mTotalSize = aStream->ParseInt32(QString("%1 total size").arg(GetName()));
|
||||||
>> mTotalSize
|
mMsecLoopingLife = aStream->ParseInt32(QString("%1 msec looping life").arg(GetName()));
|
||||||
>> mMsecLoopingLife
|
mElemDefCountLooping = aStream->ParseInt32(QString("%1 elem def count looping").arg(GetName()));
|
||||||
>> mElemDefCountLooping
|
mElemDefCountOneShot = aStream->ParseInt32(QString("%1 elem def count one shot").arg(GetName()));
|
||||||
>> mElemDefCountOneShot
|
mElemDefCountEmission = aStream->ParseInt32(QString("%1 elem def count emission").arg(GetName()));
|
||||||
>> mElemDefCountEmission
|
elemDefsPtr = aStream->ParseInt32(QString("%1 elem defs ptr").arg(GetName()));
|
||||||
>> elemDefsPtr;
|
|
||||||
|
|
||||||
mName.ParseData(aStream);
|
mName.ParseData(aStream);
|
||||||
|
|
||||||
@ -51,3 +50,5 @@ void XFxEffectDef::ParseData(QDataStream *aStream)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxEffectDef();
|
~XFxEffectDef();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XString mName;
|
XString mName;
|
||||||
|
|||||||
@ -10,12 +10,7 @@ XFxElemAtlas::XFxElemAtlas()
|
|||||||
, mRowIndexBits(0)
|
, mRowIndexBits(0)
|
||||||
, mEntryCount(0)
|
, mEntryCount(0)
|
||||||
{
|
{
|
||||||
|
SetName("Element Atlas");
|
||||||
}
|
|
||||||
|
|
||||||
XFxElemAtlas::~XFxElemAtlas()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemAtlas::Clear()
|
void XFxElemAtlas::Clear()
|
||||||
@ -29,7 +24,9 @@ void XFxElemAtlas::Clear()
|
|||||||
mEntryCount = 0;
|
mEntryCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemAtlas::ParseData(QDataStream *aStream)
|
void XFxElemAtlas::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxElemAtlas::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,10 +7,10 @@ class XFxElemAtlas : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XFxElemAtlas();
|
explicit XFxElemAtlas();
|
||||||
~XFxElemAtlas();
|
~XFxElemAtlas() = default;
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
quint8 mBehavior;
|
quint8 mBehavior;
|
||||||
|
|||||||
@ -40,7 +40,7 @@ XFxElemDef::XFxElemDef()
|
|||||||
, mLightingFrac(0)
|
, mLightingFrac(0)
|
||||||
, mUseItemClip(0)
|
, mUseItemClip(0)
|
||||||
{
|
{
|
||||||
|
SetName("Element Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemDef::~XFxElemDef()
|
XFxElemDef::~XFxElemDef()
|
||||||
@ -89,70 +89,65 @@ void XFxElemDef::Clear()
|
|||||||
mUseItemClip = 0;
|
mUseItemClip = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemDef::ParseData(QDataStream *aStream)
|
void XFxElemDef::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream >> mFlags;
|
mFlags = aStream->ParseInt32(QString("%1 flags").arg(GetName()));
|
||||||
|
|
||||||
mSpawn.ParseData(aStream);
|
mSpawn.ParseData(aStream);
|
||||||
mSpawnRange.ParseData(aStream);
|
mSpawnRange.ParseData(aStream);
|
||||||
mFadeInRange.ParseData(aStream);
|
mFadeInRange.ParseData(aStream);
|
||||||
mFadeOutRange.ParseData(aStream);
|
mFadeOutRange.ParseData(aStream);
|
||||||
|
|
||||||
*aStream >> mSpawnFrustumCullRadius;
|
mSpawnFrustumCullRadius = aStream->ParseSingle(QString("%1 spawn frustum cull radius").arg(GetName()));
|
||||||
|
|
||||||
mSpawnDelayMsec.ParseData(aStream);
|
mSpawnDelayMsec.ParseData(aStream);
|
||||||
mLifeSpanMsec.ParseData(aStream);
|
mLifeSpanMsec.ParseData(aStream);
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
|
||||||
mSpawnOrigin[i].ParseData(aStream);
|
mSpawnOrigin[i].ParseData(aStream);
|
||||||
}
|
|
||||||
mSpawnOffsetRadius.ParseData(aStream);
|
mSpawnOffsetRadius.ParseData(aStream);
|
||||||
mSpawnOffsetHeight.ParseData(aStream);
|
mSpawnOffsetHeight.ParseData(aStream);
|
||||||
|
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
|
||||||
mSpawnAngles[i].ParseData(aStream);
|
mSpawnAngles[i].ParseData(aStream);
|
||||||
}
|
|
||||||
for (int i = 0; i < 3; i++)
|
for (int i = 0; i < 3; i++)
|
||||||
{
|
|
||||||
mAngularVelocity[i].ParseData(aStream);
|
mAngularVelocity[i].ParseData(aStream);
|
||||||
}
|
|
||||||
mInitialRotation.ParseData(aStream);
|
mInitialRotation.ParseData(aStream);
|
||||||
mGravity.ParseData(aStream);
|
mGravity.ParseData(aStream);
|
||||||
mReflectionFactor.ParseData(aStream);
|
mReflectionFactor.ParseData(aStream);
|
||||||
mAtlas.ParseData(aStream);
|
mAtlas.ParseData(aStream);
|
||||||
|
|
||||||
qint32 velSamplesPtr, visSamplesPtr;
|
qint32 velSamplesPtr, visSamplesPtr;
|
||||||
*aStream
|
mElemType = aStream->ParseUInt8(QString("%1 elem type").arg(GetName()));
|
||||||
>> mElemType
|
mVisualCount = aStream->ParseUInt8(QString("%1 visual count").arg(GetName()));
|
||||||
>> mVisualCount
|
mVelIntervalCount = aStream->ParseUInt8(QString("%1 vel interval count").arg(GetName()));
|
||||||
>> mVelIntervalCount
|
mVisStateIntervalCount = aStream->ParseUInt8(QString("%1 vis state interval count").arg(GetName()));
|
||||||
>> mVisStateIntervalCount
|
velSamplesPtr = aStream->ParseInt32(QString("%1 vel samples ptr").arg(GetName()));
|
||||||
>> velSamplesPtr
|
visSamplesPtr = aStream->ParseInt32(QString("%1 vis samples ptr").arg(GetName()));
|
||||||
>> visSamplesPtr;
|
|
||||||
|
|
||||||
mVisuals.ParseData(aStream);
|
mVisuals.ParseData(aStream);
|
||||||
|
|
||||||
*aStream
|
mCollMins.setX(aStream->ParseSingle(QString("%1 coll mins x").arg(GetName())));
|
||||||
>> mCollMins[0]
|
mCollMins.setY(aStream->ParseSingle(QString("%1 coll mins y").arg(GetName())));
|
||||||
>> mCollMins[1]
|
mCollMins.setZ(aStream->ParseSingle(QString("%1 coll mins z").arg(GetName())));
|
||||||
>> mCollMins[2]
|
mCollMaxs.setX(aStream->ParseSingle(QString("%1 coll maxs x").arg(GetName())));
|
||||||
>> mCollMaxs[0]
|
mCollMaxs.setY(aStream->ParseSingle(QString("%1 coll maxs y").arg(GetName())));
|
||||||
>> mCollMaxs[1]
|
mCollMaxs.setZ(aStream->ParseSingle(QString("%1 coll maxs z").arg(GetName())));
|
||||||
>> mCollMaxs[2];
|
|
||||||
|
|
||||||
mEffectOnImpact.ParseData(aStream);
|
mEffectOnImpact.ParseData(aStream);
|
||||||
mEffectOnDeath.ParseData(aStream);
|
mEffectOnDeath.ParseData(aStream);
|
||||||
mEffectEmitted.ParseData(aStream);
|
mEffectEmitted.ParseData(aStream);
|
||||||
mEmitDist.ParseData(aStream);
|
mEmitDist.ParseData(aStream);
|
||||||
mEmitDistVariance.ParseData(aStream);
|
mEmitDistVariance.ParseData(aStream);
|
||||||
mEffectOnImpact.ParseData(aStream);
|
|
||||||
|
|
||||||
qint32 trailDefPtr;
|
qint32 trailDefPtr;
|
||||||
*aStream
|
trailDefPtr = aStream->ParseInt32(QString("%1 trail def ptr").arg(GetName()));
|
||||||
>> trailDefPtr
|
mSortOrder = aStream->ParseUInt8(QString("%1 sort order").arg(GetName()));
|
||||||
>> mSortOrder
|
mLightingFrac = aStream->ParseUInt8(QString("%1 lighting frac").arg(GetName()));
|
||||||
>> mLightingFrac
|
mUseItemClip = aStream->ParseUInt8(QString("%1 use item clip").arg(GetName()));
|
||||||
>> mUseItemClip;
|
|
||||||
|
|
||||||
aStream->skipRawData(1);
|
aStream->skipRawData(1);
|
||||||
|
|
||||||
|
|||||||
@ -19,7 +19,7 @@ public:
|
|||||||
~XFxElemDef();
|
~XFxElemDef();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mFlags;
|
int mFlags;
|
||||||
|
|||||||
@ -2,30 +2,23 @@
|
|||||||
|
|
||||||
XFxElemDefVisuals::XFxElemDefVisuals()
|
XFxElemDefVisuals::XFxElemDefVisuals()
|
||||||
: XAsset()
|
: XAsset()
|
||||||
, mMarkArrayPtr(0)
|
|
||||||
, mMarkArray()
|
, mMarkArray()
|
||||||
, mArrayPtr(0)
|
|
||||||
, mArray()
|
, mArray()
|
||||||
, mInstance()
|
, mInstance()
|
||||||
{
|
{
|
||||||
|
SetName("Element Definition Visuals");
|
||||||
}
|
|
||||||
|
|
||||||
XFxElemDefVisuals::~XFxElemDefVisuals()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemDefVisuals::Clear()
|
void XFxElemDefVisuals::Clear()
|
||||||
{
|
{
|
||||||
mMarkArrayPtr = 0;
|
|
||||||
mMarkArray.clear();
|
mMarkArray.clear();
|
||||||
mArrayPtr = 0;
|
|
||||||
mArray.clear();
|
mArray.clear();
|
||||||
mInstance = XFxElemVisuals();
|
mInstance.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemDefVisuals::ParseData(QDataStream *aStream)
|
void XFxElemDefVisuals::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxElemDefVisuals::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,18 +9,14 @@ class XFxElemDefVisuals : public XAsset
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit XFxElemDefVisuals();
|
explicit XFxElemDefVisuals();
|
||||||
~XFxElemDefVisuals();
|
~XFxElemDefVisuals() = default;
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qint32 mMarkArrayPtr;
|
|
||||||
QVector<XFxElemMarkVisuals> mMarkArray;
|
QVector<XFxElemMarkVisuals> mMarkArray;
|
||||||
|
|
||||||
qint32 mArrayPtr;
|
|
||||||
QVector<XFxElemVisuals> mArray;
|
QVector<XFxElemVisuals> mArray;
|
||||||
|
|
||||||
XFxElemVisuals mInstance;
|
XFxElemVisuals mInstance;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -5,12 +5,7 @@ XFxElemMarkVisuals::XFxElemMarkVisuals()
|
|||||||
, mMaterialPtrs()
|
, mMaterialPtrs()
|
||||||
, mMaterials()
|
, mMaterials()
|
||||||
{
|
{
|
||||||
|
SetName("Element Mark Visuals");
|
||||||
}
|
|
||||||
|
|
||||||
XFxElemMarkVisuals::~XFxElemMarkVisuals()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemMarkVisuals::Clear()
|
void XFxElemMarkVisuals::Clear()
|
||||||
@ -19,7 +14,9 @@ void XFxElemMarkVisuals::Clear()
|
|||||||
mMaterials.clear();
|
mMaterials.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemMarkVisuals::ParseData(QDataStream *aStream)
|
void XFxElemMarkVisuals::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxElemMarkVisuals::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public:
|
|||||||
~XFxElemMarkVisuals();
|
~XFxElemMarkVisuals();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVector<qint32> mMaterialPtrs;
|
QVector<qint32> mMaterialPtrs;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxElemVec3Range::XFxElemVec3Range()
|
|||||||
, mBase()
|
, mBase()
|
||||||
, mAmplitude()
|
, mAmplitude()
|
||||||
{
|
{
|
||||||
|
SetName("Element Vec3 Range");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVec3Range::~XFxElemVec3Range()
|
XFxElemVec3Range::~XFxElemVec3Range()
|
||||||
@ -19,7 +19,7 @@ void XFxElemVec3Range::Clear()
|
|||||||
mAmplitude = QVector3D();
|
mAmplitude = QVector3D();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVec3Range::ParseData(QDataStream *aStream)
|
void XFxElemVec3Range::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
*aStream
|
*aStream
|
||||||
>> mBase[0]
|
>> mBase[0]
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
~XFxElemVec3Range();
|
~XFxElemVec3Range();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVector3D mBase;
|
QVector3D mBase;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxElemVelStateInFrame::XFxElemVelStateInFrame()
|
|||||||
, mVelocity()
|
, mVelocity()
|
||||||
, mTotalDelta()
|
, mTotalDelta()
|
||||||
{
|
{
|
||||||
|
SetName("Element Vel State in Frame");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVelStateInFrame::~XFxElemVelStateInFrame()
|
XFxElemVelStateInFrame::~XFxElemVelStateInFrame()
|
||||||
@ -19,7 +19,7 @@ void XFxElemVelStateInFrame::Clear()
|
|||||||
mTotalDelta.Clear();
|
mTotalDelta.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVelStateInFrame::ParseData(QDataStream *aStream)
|
void XFxElemVelStateInFrame::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
mVelocity.ParseData(aStream);
|
mVelocity.ParseData(aStream);
|
||||||
mTotalDelta.ParseData(aStream);
|
mTotalDelta.ParseData(aStream);
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxElemVelStateInFrame();
|
~XFxElemVelStateInFrame();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XFxElemVec3Range mVelocity;
|
XFxElemVec3Range mVelocity;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxElemVelStateSample::XFxElemVelStateSample()
|
|||||||
, mLocal()
|
, mLocal()
|
||||||
, mWorld()
|
, mWorld()
|
||||||
{
|
{
|
||||||
|
SetName("Element Vel State Sample");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVelStateSample::~XFxElemVelStateSample()
|
XFxElemVelStateSample::~XFxElemVelStateSample()
|
||||||
@ -19,7 +19,7 @@ void XFxElemVelStateSample::Clear()
|
|||||||
mWorld.Clear();
|
mWorld.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVelStateSample::ParseData(QDataStream *aStream)
|
void XFxElemVelStateSample::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
mLocal.ParseData(aStream);
|
mLocal.ParseData(aStream);
|
||||||
mWorld.ParseData(aStream);
|
mWorld.ParseData(aStream);
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxElemVelStateSample();
|
~XFxElemVelStateSample();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XFxElemVelStateInFrame mLocal;
|
XFxElemVelStateInFrame mLocal;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxElemVisStateSample::XFxElemVisStateSample()
|
|||||||
, mBase()
|
, mBase()
|
||||||
, mAmplitude()
|
, mAmplitude()
|
||||||
{
|
{
|
||||||
|
SetName("Element Vis State Sample");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVisStateSample::~XFxElemVisStateSample()
|
XFxElemVisStateSample::~XFxElemVisStateSample()
|
||||||
@ -19,7 +19,7 @@ void XFxElemVisStateSample::Clear()
|
|||||||
mAmplitude.Clear();
|
mAmplitude.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVisStateSample::ParseData(QDataStream *aStream)
|
void XFxElemVisStateSample::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
mBase.ParseData(aStream);
|
mBase.ParseData(aStream);
|
||||||
mAmplitude.ParseData(aStream);
|
mAmplitude.ParseData(aStream);
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxElemVisStateSample();
|
~XFxElemVisStateSample();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XFxElemVisualState mBase;
|
XFxElemVisualState mBase;
|
||||||
|
|||||||
@ -12,7 +12,7 @@ XFxElemVisuals::XFxElemVisuals()
|
|||||||
, mSoundNamePtr(0)
|
, mSoundNamePtr(0)
|
||||||
, mSoundName("")
|
, mSoundName("")
|
||||||
{
|
{
|
||||||
|
SetName("Element Visuals");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVisuals::~XFxElemVisuals()
|
XFxElemVisuals::~XFxElemVisuals()
|
||||||
@ -37,7 +37,9 @@ void XFxElemVisuals::Clear()
|
|||||||
mSoundName = "";
|
mSoundName = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVisuals::ParseData(QDataStream *aStream)
|
void XFxElemVisuals::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxElemVisuals::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,7 +15,7 @@ public:
|
|||||||
~XFxElemVisuals();
|
~XFxElemVisuals();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qint32 mAnonymousPtr;
|
qint32 mAnonymousPtr;
|
||||||
|
|||||||
@ -8,7 +8,7 @@ XFxElemVisualState::XFxElemVisualState()
|
|||||||
, mSize(0, 0)
|
, mSize(0, 0)
|
||||||
, mScale(0)
|
, mScale(0)
|
||||||
{
|
{
|
||||||
|
SetName("Element Visual State");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxElemVisualState::~XFxElemVisualState()
|
XFxElemVisualState::~XFxElemVisualState()
|
||||||
@ -25,7 +25,7 @@ void XFxElemVisualState::Clear()
|
|||||||
mScale = 0;
|
mScale = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxElemVisualState::ParseData(QDataStream *aStream)
|
void XFxElemVisualState::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
quint8 r, g, b, a;
|
quint8 r, g, b, a;
|
||||||
*aStream
|
*aStream
|
||||||
|
|||||||
@ -13,7 +13,7 @@ public:
|
|||||||
~XFxElemVisualState();
|
~XFxElemVisualState();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QColor mColor;
|
QColor mColor;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxFloatRange::XFxFloatRange()
|
|||||||
, mBase(0)
|
, mBase(0)
|
||||||
, mAmplitude(0)
|
, mAmplitude(0)
|
||||||
{
|
{
|
||||||
|
SetName("Float Range");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxFloatRange::~XFxFloatRange()
|
XFxFloatRange::~XFxFloatRange()
|
||||||
@ -19,7 +19,9 @@ void XFxFloatRange::Clear()
|
|||||||
mAmplitude = 0;
|
mAmplitude = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxFloatRange::ParseData(QDataStream *aStream)
|
void XFxFloatRange::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxFloatRange::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public:
|
|||||||
~XFxFloatRange();
|
~XFxFloatRange();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float mBase;
|
float mBase;
|
||||||
|
|||||||
@ -7,7 +7,7 @@ XFxImpactEntry::XFxImpactEntry()
|
|||||||
, mFleshPtrs()
|
, mFleshPtrs()
|
||||||
, mFlesh()
|
, mFlesh()
|
||||||
{
|
{
|
||||||
|
SetName("Impact Entry");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxImpactEntry::~XFxImpactEntry()
|
XFxImpactEntry::~XFxImpactEntry()
|
||||||
@ -23,7 +23,9 @@ void XFxImpactEntry::Clear()
|
|||||||
mFlesh.clear();
|
mFlesh.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxImpactEntry::ParseData(QDataStream *aStream)
|
void XFxImpactEntry::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxImpactEntry::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxImpactEntry();
|
~XFxImpactEntry();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QVector<qint32> mNonFleshPtrs;
|
QVector<qint32> mNonFleshPtrs;
|
||||||
|
|||||||
@ -24,7 +24,9 @@ void XFxImpactTable::Clear()
|
|||||||
mTable = QVector<XFxImpactEntry>();
|
mTable = QVector<XFxImpactEntry>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxImpactTable::ParseData(QDataStream *aStream)
|
void XFxImpactTable::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxImpactTable::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -11,7 +11,7 @@ public:
|
|||||||
~XFxImpactTable();
|
~XFxImpactTable();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qint32 mNamePtr;
|
qint32 mNamePtr;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxIntRange::XFxIntRange()
|
|||||||
, mBase(0)
|
, mBase(0)
|
||||||
, mAmplitude(0)
|
, mAmplitude(0)
|
||||||
{
|
{
|
||||||
|
SetName("Int Range");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxIntRange::~XFxIntRange()
|
XFxIntRange::~XFxIntRange()
|
||||||
@ -19,7 +19,9 @@ void XFxIntRange::Clear()
|
|||||||
mAmplitude = 0;
|
mAmplitude = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxIntRange::ParseData(QDataStream *aStream)
|
void XFxIntRange::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxIntRange::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -10,7 +10,7 @@ public:
|
|||||||
~XFxIntRange();
|
~XFxIntRange();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mBase;
|
int mBase;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxSpawnDef::XFxSpawnDef()
|
|||||||
, mLooping()
|
, mLooping()
|
||||||
, mOneShot()
|
, mOneShot()
|
||||||
{
|
{
|
||||||
|
SetName("Spawn Definition");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxSpawnDef::~XFxSpawnDef()
|
XFxSpawnDef::~XFxSpawnDef()
|
||||||
@ -19,7 +19,9 @@ void XFxSpawnDef::Clear()
|
|||||||
mOneShot.Clear();
|
mOneShot.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxSpawnDef::ParseData(QDataStream *aStream)
|
void XFxSpawnDef::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxSpawnDef::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
~XFxSpawnDef();
|
~XFxSpawnDef();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
XFxSpawnDefLooping mLooping;
|
XFxSpawnDefLooping mLooping;
|
||||||
|
|||||||
@ -5,7 +5,7 @@ XFxSpawnDefLooping::XFxSpawnDefLooping()
|
|||||||
, mIntervalMsec(0)
|
, mIntervalMsec(0)
|
||||||
, mCount(0)
|
, mCount(0)
|
||||||
{
|
{
|
||||||
|
SetName("Spawn Definition Looping");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxSpawnDefLooping::~XFxSpawnDefLooping()
|
XFxSpawnDefLooping::~XFxSpawnDefLooping()
|
||||||
@ -19,7 +19,9 @@ void XFxSpawnDefLooping::Clear()
|
|||||||
mCount = 0;
|
mCount = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxSpawnDefLooping::ParseData(QDataStream *aStream)
|
void XFxSpawnDefLooping::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxSpawnDefLooping::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
@ -12,7 +12,7 @@ public:
|
|||||||
~XFxSpawnDefLooping();
|
~XFxSpawnDefLooping();
|
||||||
|
|
||||||
void Clear() override;
|
void Clear() override;
|
||||||
void ParseData(QDataStream *aStream) override;
|
void ParseData(XDataStream *aStream) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mIntervalMsec;
|
int mIntervalMsec;
|
||||||
|
|||||||
@ -4,7 +4,7 @@ XFxSpawnDefOneShot::XFxSpawnDefOneShot()
|
|||||||
: XAsset()
|
: XAsset()
|
||||||
, mCount()
|
, mCount()
|
||||||
{
|
{
|
||||||
|
SetName("Spawn Definition Oneshot");
|
||||||
}
|
}
|
||||||
|
|
||||||
XFxSpawnDefOneShot::~XFxSpawnDefOneShot()
|
XFxSpawnDefOneShot::~XFxSpawnDefOneShot()
|
||||||
@ -17,7 +17,9 @@ void XFxSpawnDefOneShot::Clear()
|
|||||||
mCount.Clear();
|
mCount.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void XFxSpawnDefOneShot::ParseData(QDataStream *aStream)
|
void XFxSpawnDefOneShot::ParseData(XDataStream *aStream)
|
||||||
{
|
{
|
||||||
|
Q_UNUSED(aStream);
|
||||||
|
|
||||||
|
// TODO: Fill in XFxSpawnDefOneShot::ParseData
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user