Updated xwater

This commit is contained in:
njohnson 2025-09-07 23:16:15 -04:00
parent a1a54665d9
commit 2f044a8d94
2 changed files with 55 additions and 19 deletions

View File

@ -3,19 +3,19 @@
XWater::XWater()
: XAsset()
, mWritable()
, mH0X(0)
, mH0Y(0)
, mWTerm(0)
, mH0X()
, mH0Y()
, mWTerm()
, mM(0)
, mN(0)
, mLx(0)
, mLz(0)
, mGravity(0)
, mWindvel(0)
, mWinddir({ 0, 0 })
, mWindVel(0)
, mWindDir(1)
, mAmplitude(0)
, mCodeConstant({ 0, 0, 0, 0 })
, mImage(new XGfxImage())
, mCodeConstant(4)
, mImage()
{
}
@ -27,12 +27,48 @@ XWater::~XWater()
void XWater::ParseData(QDataStream *aStream)
{
mWritable.ParseData(aStream);
qint32 h0xPtr, h0yPtr, wTermPtr;
*aStream
>> h0xPtr
>> h0yPtr
>> wTermPtr
>> mM
>> mN
>> mLx
>> mLz
>> mGravity
>> mWindVel
>> mWindDir[0]
>> mWindDir[1]
>> mAmplitude
>> mWindDir[0]
>> mWindDir[1]
>> mWindDir[2]
>> mWindDir[3];
mImage.ParsePtr(aStream, false);
if (h0xPtr)
{
aStream->readRawData(mH0X.data(), 4 * mM * mN);
}
if (h0yPtr)
{
aStream->readRawData(mH0X.data(), 4 * mM * mN);
}
if (wTermPtr)
{
aStream->readRawData(mWTerm.data(), 4 * mM * mN);
}
mImage.ParseData(aStream);
}
void XWater::Clear()
{
mWritable = XWaterWritable();
mWritable.Clear();
mH0X = 0;
mH0Y = 0;
mWTerm = 0;
@ -41,9 +77,9 @@ void XWater::Clear()
mLx = 0;
mLz = 0;
mGravity = 0;
mWindvel = 0;
mWinddir = { 0, 0 };
mWindVel = 0;
mWindDir.clear();
mAmplitude = 0;
mCodeConstant = { 0, 0, 0, 0 };
mImage = new XGfxImage();
mCodeConstant.clear();
mImage.Clear();
}

View File

@ -18,19 +18,19 @@ public:
private:
XWaterWritable mWritable;
float *mH0X;
float *mH0Y;
float *mWTerm;
QByteArray mH0X;
QByteArray mH0Y;
QByteArray mWTerm;
int mM;
int mN;
float mLx;
float mLz;
float mGravity;
float mWindvel;
QVector<float> mWinddir;
float mWindVel;
QVector<float> mWindDir;
float mAmplitude;
QVector<float> mCodeConstant;
XGfxImage *mImage;
XGfxImage mImage;
};
#endif // XWATER_H