Updated xsunflare

This commit is contained in:
njohnson 2025-09-07 23:16:13 -04:00
parent eebd333e11
commit 53f690c554
2 changed files with 66 additions and 13 deletions

View File

@ -1,10 +1,10 @@
#include "xsunflare.h" #include "xsunflare.h"
XSunflare::XSunflare() XSunFlare::XSunFlare()
: XAsset() : XAsset()
, mHasValidData(false) , mHasValidData(false)
, mSpriteMaterial(new XMaterial()) , mSpriteMaterial()
, mFlareMaterial(new XMaterial()) , mFlareMaterial()
, mSpriteSize(0.0f) , mSpriteSize(0.0f)
, mFlareMinSize(0.0f) , mFlareMinSize(0.0f)
, mFlareMinDot(0.0f) , mFlareMinDot(0.0f)
@ -28,17 +28,70 @@ XSunflare::XSunflare()
} }
XSunflare::~XSunflare() XSunFlare::~XSunFlare()
{ {
} }
void XSunflare::ParseData(QDataStream *aStream) void XSunFlare::ParseData(QDataStream *aStream)
{ {
*aStream
>> mHasValidData;
aStream->skipRawData(3);
mSpriteMaterial.ParsePtr(aStream, false);
mFlareMaterial.ParsePtr(aStream, false);
*aStream
>> mSpriteSize
>> mFlareMinSize
>> mFlareMinDot
>> mFlareMaxSize
>> mFlareMaxDot
>> mFlareMaxAlpha
>> mFlareFadeInTime
>> mFlareFadeOutTime
>> mBlindMinDot
>> mBlindMaxDot
>> mBlindMaxDarken
>> mBlindFadeInTime
>> mBlindFadeOutTime
>> mGlareMinDot
>> mGlareMaxDot
>> mGlareMaxLighten
>> mGlareFadeInTime
>> mGlareFadeOutTime
>> mSunFxPosition[0]
>> mSunFxPosition[1]
>> mSunFxPosition[2];
mSpriteMaterial.ParseData(aStream);
mFlareMaterial.ParseData(aStream);
} }
void XSunflare::Clear() void XSunFlare::Clear()
{ {
mHasValidData = false;
mSpriteMaterial.Clear();
mFlareMaterial.Clear();
mSpriteSize = 0.0f;
mFlareMinSize = 0.0f;
mFlareMinDot = 0.0f;
mFlareMaxSize = 0.0f;
mFlareMaxDot = 0.0f;
mFlareMaxAlpha = 0.0f;
mFlareFadeInTime = 0;
mFlareFadeOutTime = 0;
mBlindMinDot = 0.0f;
mBlindMaxDot = 0.0f;
mBlindMaxDarken = 0.0f;
mBlindFadeInTime = 0;
mBlindFadeOutTime = 0;
mGlareMinDot = 0.0f;
mGlareMaxDot = 0.0f;
mGlareMaxLighten = 0.0f;
mGlareFadeInTime = 0;
mGlareFadeOutTime = 0;
mSunFxPosition = QVector3D();
} }

View File

@ -6,19 +6,19 @@
#include <QVector3D> #include <QVector3D>
class XSunflare : public XAsset class XSunFlare : public XAsset
{ {
public: public:
XSunflare(); explicit XSunFlare();
~XSunflare(); ~XSunFlare();
virtual void ParseData(QDataStream* aStream) override; virtual void ParseData(QDataStream* aStream) override;
virtual void Clear() override; virtual void Clear() override;
private: private:
bool mHasValidData; bool mHasValidData;
XMaterial *mSpriteMaterial; XMaterial mSpriteMaterial;
XMaterial *mFlareMaterial; XMaterial mFlareMaterial;
float mSpriteSize; float mSpriteSize;
float mFlareMinSize; float mFlareMinSize;
float mFlareMinDot; float mFlareMinDot;