diff --git a/src/band3/meta_band/BandSongMetadata.h b/src/band3/meta_band/BandSongMetadata.h index c1c52af69..c3f2c452c 100644 --- a/src/band3/meta_band/BandSongMetadata.h +++ b/src/band3/meta_band/BandSongMetadata.h @@ -1,6 +1,7 @@ #pragma once #include "meta/SongMetadata.h" #include "meta_band/BandSongMgr.h" +#include "obj/Data.h" #include "os/DateTime.h" class BandSongMetadata : public SongMetadata { @@ -95,4 +96,7 @@ class BandSongMetadata : public SongMetadata { bool mIsTriFrame; // 0xfb bool mHasDiscUpdate; // 0xfc BandSongMgr *mSongMgr; // 0x100 -}; \ No newline at end of file +}; + + DECLARE_MESSAGE(MetadataLoadedMsg, "metadata_loaded") + END_MESSAGE \ No newline at end of file diff --git a/src/band3/meta_band/StoreRootPanel.cpp b/src/band3/meta_band/StoreRootPanel.cpp new file mode 100644 index 000000000..c2fa8a428 --- /dev/null +++ b/src/band3/meta_band/StoreRootPanel.cpp @@ -0,0 +1,30 @@ +#include "StoreRootPanel.h" +StoreRootPanel::StoreRootPanel() {} + +StoreRootPanel::~StoreRootPanel() { + +} + +void StoreRootPanel::Enter() { + UIPanel::Enter(); +} + +void StoreRootPanel::Exit() { + UIPanel::Exit(); +} + +void StoreRootPanel::Unload() { + UIPanel::Unload(); +} + +DataNode StoreRootPanel::OnMsg(const MetadataLoadedMsg &msg) { return DataNode(kDataFloat, 6); } + +BEGIN_HANDLERS(StoreRootPanel) + HANDLE_MESSAGE(MetadataLoadedMsg) + HANDLE_SUPERCLASS(UIPanel) + HANDLE_CHECK(149) +END_HANDLERS + +int InitStoreOverlay() { + gStoreUIOverlay = RndOverlay::Find(store, false); +} \ No newline at end of file diff --git a/src/band3/meta_band/StoreRootPanel.h b/src/band3/meta_band/StoreRootPanel.h new file mode 100644 index 000000000..9bf12326f --- /dev/null +++ b/src/band3/meta_band/StoreRootPanel.h @@ -0,0 +1,31 @@ +#pragma once + +#include "obj/Data.h" +#include "rndobj/Overlay.h" +#include "ui/UIPanel.h" +#include "BandSongMetadata.h" +#include "obj/ObjMacros.h" +#include "rndobj/Dir.h" +#include "utl/Symbols.h" + + +class StoreRootPanel : public UIPanel { +public: + StoreRootPanel(); + OBJ_CLASSNAME(StoreRootPanel); + OBJ_SET_TYPE(StoreRootPanel); + virtual ~StoreRootPanel(); + virtual DataNode Handle(DataArray *, bool); + virtual void Enter(); + virtual void Exit(); + virtual void Unload(); + + DataNode OnMsg(const MetadataLoadedMsg&); + + State mMetadataState; + DataArray *mDLCMetadata; + DataArray *mUGCMetadata; +}; + +int InitStoreOverlay(); +extern RndOverlay *gStoreUIOverlay; \ No newline at end of file