mirror of
https://github.com/zeldaret/ss
synced 2026-08-10 19:16:59 -04:00
Merge pull request #234 from robojumper/d_lyt_game_over
d_lyt_game_over almost OK
This commit is contained in:
@@ -8,6 +8,13 @@
|
||||
|
||||
class dFader_c : public mFader_c {
|
||||
public:
|
||||
enum FadeType_e {
|
||||
FADER_BLACK = 0,
|
||||
FADER_GREY = 1,
|
||||
FADER_LYT = 2,
|
||||
FADER_SCREEN = 3,
|
||||
};
|
||||
|
||||
dFader_c() : mpColorFader(nullptr), mpLytFader(nullptr), mpScreenFader(nullptr), field_0x14(0) {}
|
||||
virtual ~dFader_c();
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/d_camera.h"
|
||||
#include "d/d_dylink.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_scene.h"
|
||||
#include "d/d_camera.h"
|
||||
#include "egg/gfx/eggScreen.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m2d.h"
|
||||
@@ -130,6 +130,10 @@ public:
|
||||
virtual void deleteReady() override;
|
||||
|
||||
void triggerExit(s32 room, u16 exitIndex, s32 forcedNight = 2, s32 forcedTrial = 2);
|
||||
void triggerEntrance(
|
||||
const char *stageName, u8 roomid, u8 layer, u8 entrance, int forcedNight = SpawnInfo::RETAIN_TOD, int forcedTrial = SpawnInfo::RETAIN_TRIAL, u8 transitionType = dFader_c::FADER_BLACK,
|
||||
u16 transitionFadeFrames = 15, s8 field0x28 = -1
|
||||
);
|
||||
// void triggerEntrance(const char *stageName, u8 room, );
|
||||
const LinkReloadInfo &getLinkReloadInfo() const;
|
||||
|
||||
@@ -152,7 +156,6 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
|
||||
bool setReloadTrigger(fProfile::PROFILE_NAME_e reloadTrigger);
|
||||
void setRespawnInfo(const mVec3_c &linkPos, const mAng3_c &linkRot, bool unk);
|
||||
void setSpawnInfo(u8 roomid, const mVec3_c &pos, mAng rot);
|
||||
@@ -206,13 +209,14 @@ public:
|
||||
return mScreen1.fn_801BBEC0();
|
||||
}
|
||||
|
||||
static bool sCopyFileBToCurrentAfterRespawn;
|
||||
static bool sDoSomethingWithFileAOnTransition;
|
||||
static bool sPreventClearingSomeFlag;
|
||||
|
||||
protected:
|
||||
static u32 sUpdateFrameCount;
|
||||
static u8 sCurrentLayer;
|
||||
static u8 sReloaderType;
|
||||
static bool sCopyFileBToCurrentAfterRespawn;
|
||||
static bool sDoSomethingWithFileAOnTransition;
|
||||
static bool sPreventClearingSomeFlag;
|
||||
|
||||
static void someGfxThingCallback();
|
||||
void somethingWithScreen();
|
||||
|
||||
@@ -15,6 +15,14 @@ public:
|
||||
|
||||
static dScTitle_c *sInstance;
|
||||
|
||||
static void setLbl_80575787(bool v) {
|
||||
lbl_80575787 = v;
|
||||
}
|
||||
|
||||
static u8 lbl_80575785;
|
||||
static u8 lbl_80575786;
|
||||
static u8 lbl_80575787;
|
||||
|
||||
static void loadTitleScreen(u32 params);
|
||||
static void setSomethingSkbRelated();
|
||||
|
||||
|
||||
@@ -1,19 +1,100 @@
|
||||
#ifndef D_LYT_GAME_OVER_H
|
||||
#define D_LYT_GAME_OVER_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window_select_btn.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "sized_string.h"
|
||||
|
||||
class dLytGameOver_c : public dBase_c {
|
||||
class dLytGameOver_c {
|
||||
public:
|
||||
dLytGameOver_c();
|
||||
virtual ~dLytGameOver_c();
|
||||
virtual ~dLytGameOver_c() {}
|
||||
|
||||
static dLytGameOver_c *GetInstance() {
|
||||
bool build();
|
||||
bool remove();
|
||||
bool execute();
|
||||
bool draw();
|
||||
|
||||
bool requestIn(const char *text, s32 p1, s32 p2);
|
||||
bool requestOut(s32 outType);
|
||||
|
||||
s32 getSelectedOption() const {
|
||||
return mSelectedOption;
|
||||
}
|
||||
|
||||
bool isChangingState() const {
|
||||
return mIsChangingState;
|
||||
}
|
||||
|
||||
void setField_0x1338(bool v) {
|
||||
field_0x1338 = v;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Init);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, In);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Out);
|
||||
|
||||
void init();
|
||||
|
||||
void setAnm(int idx);
|
||||
void stopAnm(int idx);
|
||||
void applyText();
|
||||
void setupButtons();
|
||||
|
||||
/* 0x0004 */ UI_STATE_MGR_DECLARE(dLytGameOver_c);
|
||||
/* 0x0044 */ d2d::ResAccIf_c mResAcc1;
|
||||
/* 0x03B0 */ d2d::ResAccIf_c mResAcc2;
|
||||
/* 0x0720 */ d2d::LytBase_c mLyt;
|
||||
/* 0x07B0 */ d2d::AnmGroup_c mAnm[5];
|
||||
/* 0x08F0 */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0x08FC */ d2d::SubPaneListNode mSubpanes[1];
|
||||
/* 0x090C */ dLytMsgWindowSelectBtn_c mSelectBtn;
|
||||
/* 0x12E0 */ SizedString<0x40> mLabel;
|
||||
/* 0x1320 */ s32 mVariant;
|
||||
/* 0x1324 */ s32 mInType;
|
||||
/* 0x1328 */ s32 mOutType;
|
||||
/* 0x132C */ s32 mStep;
|
||||
/* 0x1330 */ s32 mSelectedOption;
|
||||
/* 0x1334 */ bool mIsVisible;
|
||||
/* 0x1335 */ bool mIsChangingState;
|
||||
/* 0x1336 */ bool mInRequest;
|
||||
/* 0x1337 */ bool mOutRequest;
|
||||
/* 0x1338 */ bool field_0x1338;
|
||||
};
|
||||
|
||||
class dLytGameOverMgr_c : public dBase_c {
|
||||
public:
|
||||
dLytGameOverMgr_c();
|
||||
virtual ~dLytGameOverMgr_c();
|
||||
|
||||
int create() override;
|
||||
int doDelete() override;
|
||||
int execute() override;
|
||||
int draw() override;
|
||||
|
||||
static dLytGameOverMgr_c *GetInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
private:
|
||||
static dLytGameOver_c *sInstance;
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, Init);
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, FadeOut);
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, Select);
|
||||
|
||||
void init();
|
||||
|
||||
static dLytGameOverMgr_c *sInstance;
|
||||
|
||||
/* 0x0068 */ UI_STATE_MGR_DECLARE(dLytGameOverMgr_c);
|
||||
/* 0x00A4 */ dLytGameOver_c mMain;
|
||||
/* 0x13E0 */ s32 mStep;
|
||||
/* 0x13E4 */ s32 mTimer;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -174,16 +174,16 @@ public:
|
||||
/* 8000BDD0 */ u16 getHitCountFromEnemy(u8 enemy);
|
||||
|
||||
/* 8000BE50 */ void setLoadRoomT1_FileB(s16 roomId);
|
||||
/* 8000BE80 */ s16 getLoadRoomT1_FileB();
|
||||
/* 8000BE80 */ u16 getLoadRoomT1_FileB();
|
||||
/* 8000BE90 */ void setEntranceT1_FileB(u8 entrance);
|
||||
/* 8000BEC0 */ u8 getEntranceT1_FileB();
|
||||
/* 8000BED0 */ void setAreaT1_FileB(const char *name);
|
||||
/* 8000BF80 */ char *getAreaT1_FileB();
|
||||
/* 8000C080 */ void setNightT1_FileB(bool night);
|
||||
/* 8000C0B0 */ bool getNightT1_FileB();
|
||||
/* 8000C0B0 */ u8 getNightT1_FileB();
|
||||
/* 8000C0C0 */ void setEntranceT1LoadFlag_FileB(u8 flag);
|
||||
/* 8000C0F0 */ void setForcedLayerT1_FileB(u8 layer);
|
||||
/* 8000C120 */ void getForcedLayerT1_FileB();
|
||||
/* 8000C120 */ u8 getForcedLayerT1_FileB();
|
||||
/* 8000C130 */ void setCurrentHealth_FileB(s16 health);
|
||||
|
||||
/* 8000C160 */ void setHeroname(const wchar_t *name);
|
||||
@@ -208,7 +208,7 @@ public:
|
||||
|
||||
/* 8000CA00 */ bool getNightT1();
|
||||
/* 8000CA50 */ void setNightT3(bool night);
|
||||
/* 8000CA80 */ bool getNightT3();
|
||||
/* 8000CA80 */ u8 getNightT3();
|
||||
|
||||
/* 8000CAD0 */ bool isNew_FileA();
|
||||
|
||||
@@ -358,8 +358,8 @@ public:
|
||||
mSelectedFile = val;
|
||||
}
|
||||
|
||||
private:
|
||||
static FileManager *sInstance;
|
||||
private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,6 +24,7 @@ public:
|
||||
static void create();
|
||||
static void destroy();
|
||||
static void execute();
|
||||
|
||||
private:
|
||||
MinigameManager() {}
|
||||
virtual ~MinigameManager() {}
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
#define MISC_ACTOR_H
|
||||
|
||||
bool checkIsInSkykeepPuzzle();
|
||||
void restoreSkykeepPuzzleFromGlobal();
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user