From 43e925ae231a65dc229dd7f4e811077da40ceef8 Mon Sep 17 00:00:00 2001 From: njohnson Date: Sun, 7 Sep 2025 23:16:07 -0400 Subject: [PATCH] Updated xmenudef --- libs/xassets/xmenudef.cpp | 91 ++++++++++++++++++++++++++++++++++----- libs/xassets/xmenudef.h | 30 ++++++------- 2 files changed, 96 insertions(+), 25 deletions(-) diff --git a/libs/xassets/xmenudef.cpp b/libs/xassets/xmenudef.cpp index 4213163..12ca922 100644 --- a/libs/xassets/xmenudef.cpp +++ b/libs/xassets/xmenudef.cpp @@ -5,15 +5,15 @@ XMenuDef::XMenuDef() : XAsset() , mWindow() , mFont() - , mFullScreen() - , mItemCount() - , mFontIndex() - , mCursorItem() - , mFadeCycle() - , mFadeClamp() - , mFadeAmount() - , mFadeInAmount() - , mBlurRadius() + , mFullScreen(0) + , mItemCount(0) + , mFontIndex(0) + , mCursorItem(4) + , mFadeCycle(0) + , mFadeClamp(0.0f) + , mFadeAmount(0.0f) + , mFadeInAmount(0.0f) + , mBlurRadius(0.0f) , mOnOpen() , mOnClose() , mOnESC() @@ -21,7 +21,7 @@ XMenuDef::XMenuDef() , mVisibleExp() , mAllowedBinding() , mSoundName() - , mImageTrack() + , mImageTrack(0) , mFocusColor() , mDisableColor() , mRectXExp() @@ -44,5 +44,76 @@ void XMenuDef::Clear() void XMenuDef::ParseData(QDataStream *aStream) { + mWindow.ParseData(aStream); + mFont.ParsePtr(aStream, false); + + *aStream + >> mFullScreen + >> mItemCount + >> mFontIndex; + + for (int i = 0; i < 4; i++) + { + *aStream >> mCursorItem[i]; + } + + *aStream + >> mFadeCycle + >> mFadeClamp + >> mFadeAmount + >> mFadeInAmount + >> mBlurRadius; + + mOnOpen.ParsePtr(aStream, false); + mOnClose.ParsePtr(aStream, false); + mOnESC.ParsePtr(aStream, false); + mOnKey.ParsePtr(aStream, false); + + mVisibleExp.ParseData(aStream); + + mAllowedBinding.ParsePtr(aStream, false); + mSoundName.ParsePtr(aStream, false); + + *aStream >> mImageTrack; + + float focusR, focusG, focusB, focusA, + disableR, disableG, disableB, disableA; + + *aStream + >> focusR + >> focusG + >> focusB + >> focusA + >> disableR + >> disableG + >> disableB + >> disableA; + + mRectXExp.ParseData(aStream); + mRectYExp.ParseData(aStream); + + qint32 itemsPtr; + *aStream >> itemsPtr; + + mFont.ParseData(aStream); + mOnOpen.ParseData(aStream); + mOnClose.ParseData(aStream); + mOnESC.ParseData(aStream); + mOnKey.ParseData(aStream); + mVisibleExp.ParseData(aStream); + mAllowedBinding.ParseData(aStream); + mSoundName.ParseData(aStream); + mRectXExp.ParseData(aStream); + mRectYExp.ParseData(aStream); + + if (itemsPtr) + { + for (int i = 0; i < mItemCount; i++) + { + XItemDef newItemDef; + newItemDef.ParsePtr(aStream); + mItems.append(newItemDef); + } + } } diff --git a/libs/xassets/xmenudef.h b/libs/xassets/xmenudef.h index 7391e32..de6ce54 100644 --- a/libs/xassets/xmenudef.h +++ b/libs/xassets/xmenudef.h @@ -13,7 +13,7 @@ class XItemDef; class XMenuDef : public XAsset { public: - XMenuDef(); + explicit XMenuDef(); ~XMenuDef(); virtual void Clear() override; @@ -21,29 +21,29 @@ public: private: XWindowDef mWindow; - XString* mFont; - int mFullScreen; - int mItemCount; - int mFontIndex; - int mCursorItem[4]; - int mFadeCycle; + XString mFont; + qint32 mFullScreen; + qint32 mItemCount; + qint32 mFontIndex; + QVector mCursorItem; + qint32 mFadeCycle; float mFadeClamp; float mFadeAmount; float mFadeInAmount; float mBlurRadius; - XString* mOnOpen; - XString* mOnClose; - XString* mOnESC; - XItemKeyHandler *mOnKey; + XString mOnOpen; + XString mOnClose; + XString mOnESC; + XItemKeyHandler mOnKey; XStatement mVisibleExp; - XString* mAllowedBinding; - XString* mSoundName; - int mImageTrack; + XString mAllowedBinding; + XString mSoundName; + qint32 mImageTrack; QColor mFocusColor; QColor mDisableColor; XStatement mRectXExp; XStatement mRectYExp; - QVector mItems; + QVector mItems; }; #endif // XMENUDEF_H