XPlor/libs/xassets/xwater.cpp

86 lines
1.3 KiB
C++
Raw Normal View History

2025-09-03 13:28:13 -04:00
#include "xwater.h"
XWater::XWater()
: XAsset()
, mWritable()
2025-09-07 23:16:15 -04:00
, mH0X()
, mH0Y()
, mWTerm()
2025-09-03 13:28:13 -04:00
, mM(0)
, mN(0)
, mLx(0)
, mLz(0)
, mGravity(0)
2025-09-07 23:16:15 -04:00
, mWindVel(0)
, mWindDir(1)
2025-09-03 13:28:13 -04:00
, mAmplitude(0)
2025-09-07 23:16:15 -04:00
, mCodeConstant(4)
, mImage()
2025-09-03 13:28:13 -04:00
{
}
XWater::~XWater()
{
}
void XWater::ParseData(QDataStream *aStream)
{
2025-09-07 23:16:15 -04:00
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);
2025-09-03 13:28:13 -04:00
}
void XWater::Clear()
{
2025-09-07 23:16:15 -04:00
mWritable.Clear();
2025-09-03 13:28:13 -04:00
mH0X = 0;
mH0Y = 0;
mWTerm = 0;
mM = 0;
mN = 0;
mLx = 0;
mLz = 0;
mGravity = 0;
2025-09-07 23:16:15 -04:00
mWindVel = 0;
mWindDir.clear();
2025-09-03 13:28:13 -04:00
mAmplitude = 0;
2025-09-07 23:16:15 -04:00
mCodeConstant.clear();
mImage.Clear();
2025-09-03 13:28:13 -04:00
}