diff options
author | Colin Noga <Tempus@chronometry.ca> | 2012-09-21 20:43:21 -0500 |
---|---|---|
committer | Colin Noga <Tempus@chronometry.ca> | 2012-09-21 20:43:21 -0500 |
commit | d47a9ed57a826d60c37bfa8a4ae00ccaba0ed806 (patch) | |
tree | c3f6657118d71abcd1ce3b4584b3e0472841e53f /src/msgbox.cpp | |
parent | 8d0a306f0a526a76182c8d2b513d7a0441d6f466 (diff) | |
parent | 5654d5c0a056f9cfc99ac608d16aa0a601b997f5 (diff) | |
download | kamek-d47a9ed57a826d60c37bfa8a4ae00ccaba0ed806.tar.gz kamek-d47a9ed57a826d60c37bfa8a4ae00ccaba0ed806.zip |
Merge branch 'level-select' of ssh://treeki.rustedlogic.net:30000/Kamek into level-select
Diffstat (limited to 'src/msgbox.cpp')
-rw-r--r-- | src/msgbox.cpp | 50 |
1 files changed, 5 insertions, 45 deletions
diff --git a/src/msgbox.cpp b/src/msgbox.cpp index adbeb24..968b607 100644 --- a/src/msgbox.cpp +++ b/src/msgbox.cpp @@ -1,52 +1,9 @@ #include <common.h> #include <game.h> +#include "msgbox.h" // Replaces: EN_LIFT_ROTATION_HALF (Sprite 107; Profile ID 481 @ 80AF96F8) -class dMsgBoxManager_c : public dStageActor_c { - public: - void showMessage(int id); - - dMsgBoxManager_c() : state(this, &StateID_LoadRes) { } - - int onCreate(); - int onDelete(); - int onExecute(); - int onDraw(); - - int beforeExecute() { return true; } - int afterExecute(int) { return true; } - - m2d::EmbedLayout_c layout; - dDvdLoader_c msgDataLoader; - - bool layoutLoaded; - bool visible; - - dStateWrapper_c<dMsgBoxManager_c> state; - - USING_STATES(dMsgBoxManager_c); - DECLARE_STATE(LoadRes); - DECLARE_STATE(Wait); - DECLARE_STATE(BoxAppearWait); - DECLARE_STATE(ShownWait); - DECLARE_STATE(BoxDisappearWait); - - static dMsgBoxManager_c *instance; - static dMsgBoxManager_c *build(); - - private: - struct entry_s { - u32 id; - u32 titleOffset; - u32 msgOffset; - }; - - struct header_s { - u32 count; - entry_s entry[1]; - }; -}; dMsgBoxManager_c *dMsgBoxManager_c::instance = 0; dMsgBoxManager_c *dMsgBoxManager_c::build() { @@ -322,7 +279,10 @@ daEnMsgBlock_c *daEnMsgBlock_c::build() { void daEnMsgBlock_c::blockWasHit(bool isDown) { pos.y = initialY; - dMsgBoxManager_c::instance->showMessage(settings); + if (dMsgBoxManager_c::instance) + dMsgBoxManager_c::instance->showMessage(settings); + else + Delete(false); physics.setup(this, &physicsInfo, 3, currentLayerID); physics.addToList(); |