diff --git a/libs/xassets/xphyspreset.cpp b/libs/xassets/xphyspreset.cpp index 7016b31..085b58c 100644 --- a/libs/xassets/xphyspreset.cpp +++ b/libs/xassets/xphyspreset.cpp @@ -2,16 +2,14 @@ XPhysPreset::XPhysPreset() : XAsset() - , mNamePtr(0) - , mName("") + , mName() , mType(0) , mMass(0) , mBounce(0) , mFriction(0) , mBulletForceScale(0) , mExplosiveForceScale(0) - , mSndAliasPrefixPtr(0) - , mSndAliasPrefix("") + , mSndAliasPrefix() , mPiecesSpreadFraction(0) , mPiecesUpwardVelocity(0) , mTempDefaultToCylinder(false) @@ -27,21 +25,40 @@ XPhysPreset::~XPhysPreset() void XPhysPreset::ParseData(QDataStream *aStream) { - + if (GetPtr() == -1) + { + mName.ParsePtr(aStream, false); + + *aStream + >> mType + >> mMass + >> mBounce + >> mFriction + >> mBulletForceScale + >> mExplosiveForceScale; + + mSndAliasPrefix.ParsePtr(aStream, false); + + *aStream + >> mPiecesSpreadFraction + >> mPiecesUpwardVelocity + >> mTempDefaultToCylinder; + + mName.ParseData(aStream); + mSndAliasPrefix.ParseData(aStream); + } } void XPhysPreset::Clear() { - mNamePtr = 0; - mName.clear(); + mName.Clear(); mType = 0; mMass = 0; mBounce = 0; mFriction = 0; mBulletForceScale = 0; mExplosiveForceScale = 0; - mSndAliasPrefixPtr = 0; - mSndAliasPrefix.clear(); + mSndAliasPrefix.Clear(); mPiecesSpreadFraction = 0; mPiecesUpwardVelocity = 0; mTempDefaultToCylinder = false; diff --git a/libs/xassets/xphyspreset.h b/libs/xassets/xphyspreset.h index d105417..10ebe80 100644 --- a/libs/xassets/xphyspreset.h +++ b/libs/xassets/xphyspreset.h @@ -2,36 +2,28 @@ #define XPHYSPRESET_H #include "xasset.h" - -#include +#include "xstring.h" class XPhysPreset : public XAsset { public: - XPhysPreset(); + explicit XPhysPreset(); ~XPhysPreset(); virtual void ParseData(QDataStream* aStream) override; virtual void Clear() override; private: - qint32 mNamePtr; - QString mName; - + XString mName; int mType; - float mMass; float mBounce; float mFriction; float mBulletForceScale; float mExplosiveForceScale; - - qint32 mSndAliasPrefixPtr; - QString mSndAliasPrefix; - + XString mSndAliasPrefix; float mPiecesSpreadFraction; float mPiecesUpwardVelocity; - bool mTempDefaultToCylinder; };