Merge pull request #277 from robojumper/meter-mode

Meter mode cleanups
This commit is contained in:
robojumper
2025-11-27 14:26:11 +01:00
committed by GitHub
12 changed files with 122 additions and 121 deletions
+5 -5
View File
@@ -4741,16 +4741,16 @@ __dt__16dLytMeterTimer_cFv = .text:0x800D4DE0; // type:function size:0xB4 scope:
__dt__14dLytSkyGauge_cFv = .text:0x800D4EA0; // type:function size:0x164 scope:weak
__dt__15dLytBirdGauge_cFv = .text:0x800D5010; // type:function size:0x164 scope:weak
__dt__15dLytBossGauge_cFv = .text:0x800D5180; // type:function size:0x108 scope:weak
fn_800D5290__15dLytMeterMain_cFv = .text:0x800D5290; // type:function size:0xB4
fn_800D5350__15dLytMeterMain_cFv = .text:0x800D5350; // type:function size:0x30
executeMap__15dLytMeterMain_cFv = .text:0x800D5290; // type:function size:0xB4
isInMapEvent__15dLytMeterMain_cFv = .text:0x800D5350; // type:function size:0x30
fn_800D5380__15dLytMeterMain_cFUc = .text:0x800D5380; // type:function size:0x44
fn_800D53D0__15dLytMeterMain_cFv = .text:0x800D53D0; // type:function size:0x50
isDoingSkyKeepPuzzle__15dLytMeterMain_cFv = .text:0x800D53D0; // type:function size:0x50
fn_800D5420__15dLytMeterMain_cFv = .text:0x800D5420; // type:function size:0x114
isSilentRealm__15dLytMeterMain_cFv = .text:0x800D5540; // type:function size:0x4C
fn_800D5590__15dLytMeterMain_cFv = .text:0x800D5590; // type:function size:0x98
fn_800D5630__15dLytMeterMain_cFv = .text:0x800D5630; // type:function size:0x18
fn_800D5650__15dLytMeterMain_cFv = .text:0x800D5650; // type:function size:0x24
fn_800D5680__15dLytMeterMain_cFv = .text:0x800D5680; // type:function size:0x28
isInModeMap__15dLytMeterMain_cFv = .text:0x800D5650; // type:function size:0x24
isInModePause__15dLytMeterMain_cFv = .text:0x800D5680; // type:function size:0x28
fn_800D56B0__15dLytMeterMain_cFv = .text:0x800D56B0; // type:function size:0xFC
checkPaneVisibility__15dLytMeterMain_cFv = .text:0x800D57B0; // type:function size:0x1A58
execute__15dLytMeterMain_cFv = .text:0x800D7210; // type:function size:0x92C
+15 -14
View File
@@ -77,7 +77,8 @@ public:
enum Mode_e {
MODE_MAP_INIT = 0,
MODE_MAP = 1,
MODE_PAUSE = 2,
MODE_PAUSE_INIT = 2,
MODE_PAUSE = 3,
MODE_NONE = 4,
};
@@ -94,20 +95,20 @@ public:
bool fn_800C9FE0();
bool fn_800CA040();
bool fn_800D5350();
bool isInMapEvent();
bool fn_800D5380(u8);
void fn_800D5290();
void executeMap();
bool fn_800D5590();
void fn_800D5630();
bool fn_800D5650();
bool fn_800D5680();
bool isInModeMap();
bool isInModePause();
bool fn_800D56B0();
void checkPaneVisibility();
bool execute();
bool isSilentRealm();
bool fn_800D53D0();
bool isDoingSkyKeepPuzzle();
bool fn_800D5420();
void setUiMode(u16 value) const;
@@ -129,8 +130,8 @@ public:
mPanesNotHiddenByAreaCaption[15] = visible;
}
bool getField_0x1377E() const {
return field_0x1377E;
bool isInSwordDrawEvent() const {
return mIsInSwordDrawEvent;
}
bool getField_0x1377F() const {
@@ -184,7 +185,7 @@ private:
/* 0x1373C */ mVec3_c mRupyPos;
/* 0x13748 */ s32 mBasicPosition;
/* 0x1374C */ s32 mSavedBasicPosition;
/* 0x13750 */ s32 field_0x13750;
/* 0x13750 */ s32 mMode;
/* 0x13754 */ s32 field_0x13754;
/* 0x13758 */ s32 mShieldPosIndex;
/* 0x1375C */ s32 mRupyPosIndex;
@@ -206,7 +207,7 @@ private:
/* 0x1377B */ bool mBossKeyVisible;
/* 0x1377C */ bool mSmallKeyVisible;
/* 0x1377D */ bool mDrinkVisible;
/* 0x1377E */ bool field_0x1377E;
/* 0x1377E */ bool mIsInSwordDrawEvent;
/* 0x1377F */ bool field_0x1377F;
/* 0x13780 */ bool field_0x13780;
/* 0x13781 */ bool field_0x13781;
@@ -281,12 +282,12 @@ public:
// because accessing via GetMeter->get... causes
// different instructions sometimes
s32 getMeterField_0x13750() const {
return mMain.field_0x13750;
s32 getMeterMode() const {
return mMain.mMode;
}
void setMeterField_0x13750(s32 value) {
mMain.field_0x13750 = value;
void setMeterMode(s32 value) {
mMain.mMode = value;
}
u8 getMeterField_0x13770() const {
+6 -6
View File
@@ -79,7 +79,7 @@ static const char *const sMapSky = "MapSky";
static const char *const sCommonArrow = "CommonArrow";
void dLytControlGame_c::initializeState_Pause_SetRes() {
dLytMeter_c::GetInstance()->setMeterField_0x13750(dLytMeterMain_c::MODE_PAUSE);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_PAUSE_INIT);
dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x1;
static const char *sLytArcs[] = {sMenuPause, sCommonArrow};
mLytArcControl.set(sLytArcs, ARRAY_LENGTH(sLytArcs));
@@ -132,7 +132,7 @@ void dLytControlGame_c::executeState_Pause_DelRes() {
mStateMgr.changeState(StateID_Normal);
}
void dLytControlGame_c::finalizeState_Pause_DelRes() {
dLytMeter_c::GetInstance()->setMeterField_0x13750(dLytMeterMain_c::MODE_NONE);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_NONE);
}
void dLytControlGame_c::initializeState_Map_SetRes() {
@@ -140,7 +140,7 @@ void dLytControlGame_c::initializeState_Map_SetRes() {
if (!EventManager::isInEvent() || mMapEvent == dLytMapMain_c::MAP_EVENT_11) {
dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x10;
}
dLytMeter_c::GetInstance()->setMeterField_0x13750(dLytMeterMain_c::MODE_MAP_INIT);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_MAP_INIT);
}
void dLytControlGame_c::executeState_Map_SetRes() {
LayoutArcManager::GetInstance()->loadLayoutArcFromDisk(sMap2D, nullptr);
@@ -180,8 +180,8 @@ void dLytControlGame_c::initializeState_Map() {
}
void dLytControlGame_c::executeState_Map() {
if (dLytMap_c::GetInstance()->isOpen()) {
if (dLytMeter_c::GetInstance()->getMeterField_0x13750() != dLytMeterMain_c::MODE_MAP) {
dLytMeter_c::GetInstance()->setMeterField_0x13750(dLytMeterMain_c::MODE_MAP);
if (dLytMeter_c::GetInstance()->getMeterMode() != dLytMeterMain_c::MODE_MAP) {
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_MAP);
if (StoryflagManager::sInstance->getCounterOrFlag(STORYFLAG_PLUS_BTN_NOTICE)) {
StoryflagManager::sInstance->unsetFlag(STORYFLAG_PLUS_BTN_NOTICE);
}
@@ -250,7 +250,7 @@ void dLytControlGame_c::executeState_Map_DelRes() {
}
}
void dLytControlGame_c::finalizeState_Map_DelRes() {
dLytMeter_c::GetInstance()->setMeterField_0x13750(dLytMeterMain_c::MODE_NONE);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_NONE);
dLytMeter_c::GetInstance()->setBasicPosition(dLytMeterMain_c::POSITION_NORMAL);
dMessage_c::getInstance()->setMapEvent(dLytMapMain_c::MAP_EVENT_MAX);
}
+1 -1
View File
@@ -4598,7 +4598,7 @@ void dLytMapMain_c::initializeState_Out() {
if (mMapEvent == MAP_EVENT_SAVE_OBJ) {
mPopupInfo.mStateMgr.changeState(StateID_Out);
}
dLytMeter_c::GetInstance()->setMeterField_0x13750(0);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_MAP_INIT);
if (mDoCameraTransition || mMapEvent == MAP_EVENT_MAP_INTRO) {
mpInOutAnmGroup = &mAnmGroups[MAP_MAIN_ANIM_OUT];
} else {
+1 -1
View File
@@ -581,7 +581,7 @@ void dLytPauseMgr_c::executeState_None() {
mMain.requestIn();
mStateMgr.changeState(StateID_In);
dBase_c::s_NextExecuteControlFlags |= BASE_PROP_0x1;
dLytMeter_c::GetInstance()->setMeterField_0x13750(3);
dLytMeter_c::GetInstance()->setMeterMode(dLytMeterMain_c::MODE_PAUSE);
dLytControlGame_c *lytControl = dLytControlGame_c::getInstance();
if (lytControl->isPauseDemo()) {
mSavedPauseDisp = lytControl->getCurrentPauseDisp();
+66 -66
View File
@@ -568,21 +568,21 @@ bool dLytMeterMain_c::isNotSilentRealmOrLoftwing() {
}
bool dLytMeterMain_c::fn_800C9F70() {
if ((fn_800D56B0() && !field_0x13775) || fn_800D5650() || fn_800D5680()) {
if ((fn_800D56B0() && !field_0x13775) || isInModeMap() || isInModePause()) {
return true;
}
return false;
}
bool dLytMeterMain_c::fn_800C9FE0() {
if (fn_800D56B0() || !field_0x13750 || fn_800D5680()) {
if (fn_800D56B0() || mMode == MODE_MAP_INIT || isInModePause()) {
return true;
}
return false;
}
bool dLytMeterMain_c::fn_800CA040() {
if (mHelpOpen || fn_800D5650() || fn_800D5680()) {
if (mHelpOpen || isInModeMap() || isInModePause()) {
return true;
}
return false;
@@ -854,7 +854,7 @@ bool dLytMeterMain_c::build(d2d::ResAccIf_c *resAcc) {
mSavedBasicPosition = 0;
mBasicPosition = POSITION_NORMAL;
field_0x13750 = 4;
mMode = MODE_NONE;
field_0x13770 = 3;
mHelpOpen = false;
field_0x13775 = 0;
@@ -869,8 +869,8 @@ bool dLytMeterMain_c::build(d2d::ResAccIf_c *resAcc) {
mBossKeyVisible = false;
mSmallKeyVisible = false;
mDrinkVisible = false;
field_0x1377E = 0;
field_0x1377F = 0;
mIsInSwordDrawEvent = false;
field_0x1377F = false;
field_0x13754 = 0;
mAnmGroups[METER_ANIM_POSITION].setFrame(zero);
@@ -993,7 +993,7 @@ bool dLytMeterMain_c::remove() {
return true;
}
void dLytMeterMain_c::fn_800D5290() {
void dLytMeterMain_c::executeMap() {
dLytMeter_c *meter = dLytMeter_c::GetInstance();
if (dLytMap_c::GetInstance() != nullptr && !dLytMap_c::GetInstance()->isMapEventEq2Or4Or5Or6()) {
@@ -1007,7 +1007,7 @@ void dLytMeterMain_c::fn_800D5290() {
}
}
bool dLytMeterMain_c::fn_800D5350() {
bool dLytMeterMain_c::isInMapEvent() {
if (mBasicPosition == POSITION_MAP && dMessage_c::getInstance()->getInMapEvent()) {
return true;
}
@@ -1023,7 +1023,7 @@ bool dLytMeterMain_c::fn_800D5380(u8 arg) {
return false;
}
bool dLytMeterMain_c::fn_800D53D0() {
bool dLytMeterMain_c::isDoingSkyKeepPuzzle() {
if (checkIsInSkykeepPuzzle() && !mHelpOpen) {
return true;
}
@@ -1031,7 +1031,7 @@ bool dLytMeterMain_c::fn_800D53D0() {
}
bool dLytMeterMain_c::fn_800D5420() {
if (!fn_800D5650()) {
if (!isInModeMap()) {
if (!dStageMgr_c::GetInstance()->isFaderSettled() || !dScGame_c::GetInstance()->isFaderSettled() ||
!dStageMgr_c::GetInstance()->fn_80199250() || !dStage_c::GetInstance()->fn_801B3EE0()) {
return true;
@@ -1064,15 +1064,15 @@ void dLytMeterMain_c::fn_800D5630() {
}
}
bool dLytMeterMain_c::fn_800D5650() {
if (field_0x13750 >= 0 && field_0x13750 <= 1) {
bool dLytMeterMain_c::isInModeMap() {
if (mMode == MODE_MAP_INIT || mMode == MODE_MAP) {
return true;
}
return false;
}
bool dLytMeterMain_c::fn_800D5680() {
if (field_0x13750 >= 2 && field_0x13750 <= 3) {
bool dLytMeterMain_c::isInModePause() {
if (mMode == MODE_PAUSE_INIT || mMode == MODE_PAUSE) {
return true;
}
return false;
@@ -1083,11 +1083,11 @@ bool dLytMeterMain_c::fn_800D56B0() {
return true;
}
if (fn_800D5350()) {
if (isInMapEvent()) {
return true;
}
if ((EventManager::isInEvent() && field_0x1377E == 0 && dAcPy_c::GetLink()->getCurrentAction() != 0x8C &&
if ((EventManager::isInEvent() && !mIsInSwordDrawEvent && dAcPy_c::GetLink()->getCurrentAction() != 0x8C &&
dMessage_c::getInstance()->getMapEvent() == dLytMapMain_c::MAP_EVENT_MAX) ||
mHelpOpen) {
return true;
@@ -1127,12 +1127,12 @@ void dLytMeterMain_c::checkPaneVisibility() {
mBossKeyVisible = true;
mSmallKeyVisible = true;
mDrinkVisible = true;
field_0x1377E = false;
mIsInSwordDrawEvent = false;
if (EventManager::getCurrentEventName() != nullptr) {
const char *name = EventManager::getCurrentEventName();
if (strequals(name, "SwordDraw") || strequals(name, "SwordDrawDoorNew")) {
field_0x1377E = true;
mIsInSwordDrawEvent = true;
if (dLytDobutton_c::getNextActionToShow() != dLytDobutton_c::ACT_DO_DRAW) {
dLytDobutton_c::setActionTextStuff(dLytDobutton_c::ICON_NONE, dLytDobutton_c::ACT_DO_INVALID, true);
}
@@ -1148,7 +1148,7 @@ void dLytMeterMain_c::checkPaneVisibility() {
mPanesVisible[i] = true;
}
if (dAcPy_c::GetLink2()->canDowseProbably() && !fn_800D5650() && !fn_800D5680()) {
if (dAcPy_c::GetLink2()->canDowseProbably() && !isInModeMap() && !isInModePause()) {
if (!field_0x1377F) {
field_0x1377F = true;
}
@@ -1179,92 +1179,92 @@ void dLytMeterMain_c::checkPaneVisibility() {
|| (MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_B) == LytDoButtonRelated::ACT_IE_NONE) ||
(dLytMeter_c::getField_0x13B66() || (fn_800D56B0() && !mItemSelect.fn_800F02F0() && !fn_800D53D0()) ||
fn_800D5650() || fn_800D5680())) {
(dLytMeter_c::getField_0x13B66() || (fn_800D56B0() && !mItemSelect.fn_800F02F0() && !isDoingSkyKeepPuzzle()) ||
isInModeMap() || isInModePause())) {
mPanesVisible[METER_ANIM_ITEM_SELECT] = false;
}
if ((fn_800D56B0() && !fn_800D53D0() && !mMinusBtn.fn_800F75E0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle() && !mMinusBtn.fn_800F75E0())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())) {
mPanesVisible[METER_ANIM_MINUS_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() > 1 && !mPlusBtn.getField_0x1C0() && !mPlusBtn.isCalling())) {
mPanesVisible[METER_ANIM_PLUS_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() > 1 && !mCrossBtn.fn_800FA730())) {
mPanesVisible[METER_ANIM_CROSS_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0 && !mp1Button->shouldCall())) {
mPanesVisible[METER_ANIM_1_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0 && !mp2Button->shouldCall())) {
mPanesVisible[METER_ANIM_2_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() > 1)) {
mPanesVisible[METER_ANIM_A_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0)) {
mPanesVisible[METER_ANIM_REMOCON_BG] = false;
}
if ((fn_800D56B0() && !fn_800D53D0() && !mDowsing.fn_800FE490())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle() && !mDowsing.fn_800FE490())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0 && !fn_800D5380(true) && !mDowsing.shouldCall() && !mDowsing.fn_800FE490())) {
mPanesVisible[METER_ANIM_DOWSING] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0 && !fn_800D5380(true) && !mZBtn.isCalling())) {
mPanesVisible[METER_ANIM_Z_BTN] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0)) {
mPanesVisible[METER_ANIM_NUN_STK] = false;
}
if ((fn_800D56B0() && !fn_800D53D0())
if ((fn_800D56B0() && !isDoingSkyKeepPuzzle())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())
|| (getUiMode() != 0)) {
mPanesVisible[METER_ANIM_NUN_BG] = false;
@@ -1278,11 +1278,11 @@ void dLytMeterMain_c::checkPaneVisibility() {
MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) ||
MinigameManager::isInMinigameState(MinigameManager::PUMPKIN_ARCHERY) ||
MinigameManager::isInMinigameState(MinigameManager::SPIRAL_CHARGE_TUTORIAL) ||
MinigameManager::isInMinigameState(MinigameManager::ROLLERCOASTER) || fn_800D56B0() || field_0x1377E)
MinigameManager::isInMinigameState(MinigameManager::ROLLERCOASTER) || fn_800D56B0() || mIsInSwordDrawEvent)
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() ||
(dLytSimpleWindow_c::getInstance() != nullptr && dLytSimpleWindow_c::getInstance()->isOutputText()) ||
fn_800D5650() || fn_800D5680())) {
isInModeMap() || isInModePause())) {
mPanesVisible[METER_ANIM_RUPY] = false;
}
@@ -1303,11 +1303,11 @@ void dLytMeterMain_c::checkPaneVisibility() {
|| (fn_800D56B0() &&
(dMessage_c::getInstance()->getField_0x2FC() == 0 || dMessage_c::getInstance()->getField_0x2FC() == -2)) ||
field_0x1377E
mIsInSwordDrawEvent
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() ||
(dLytSimpleWindow_c::getInstance() != nullptr && dLytSimpleWindow_c::getInstance()->isOutputText()) ||
fn_800D5650() || fn_800D5680())) {
isInModeMap() || isInModePause())) {
mPanesVisible[METER_ANIM_SHIELD] = false;
}
@@ -1330,17 +1330,17 @@ void dLytMeterMain_c::checkPaneVisibility() {
|| (dScGame_c::currentSpawnInfo.stageName == "F406" && dScGame_c::currentSpawnInfo.layer == 13)
|| (field_0x1377E != 0)
|| (mIsInSwordDrawEvent)
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() ||
(dLytSimpleWindow_c::getInstance() != nullptr && dLytSimpleWindow_c::getInstance()->isOutputText()) ||
fn_800D5650() || fn_800D5680())) {
isInModeMap() || isInModePause())) {
mPanesVisible[METER_ANIM_HEART] = false;
}
if (!isSilentRealm() || (fn_800D56B0() && !fn_800D5590())
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || field_0x13750 == 0 || fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || mMode == MODE_MAP_INIT || isInModePause())) {
mTimerVisible = false;
}
@@ -1361,12 +1361,12 @@ void dLytMeterMain_c::checkPaneVisibility() {
MinigameManager::isInMinigameState(MinigameManager::SPIRAL_CHARGE_TUTORIAL) ||
MinigameManager::isInMinigameState(MinigameManager::ROLLERCOASTER))
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mPanesVisible[METER_ANIM_GANBARI_GAUGE] = false;
}
if ((dAcPy_c::GetLink()->getRidingActorType() != dAcPy_c::RIDING_LOFTWING || fn_800D56B0()) ||
(dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
(dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mSkyGaugeVisible = false;
} else if (bird != nullptr && mpSkyGauge != nullptr) {
mpSkyGauge->setHeight(dAcPy_c::GetLink()->vt_0x260());
@@ -1383,7 +1383,7 @@ void dLytMeterMain_c::checkPaneVisibility() {
if (dAcPy_c::GetLink()->getRidingActorType() != dAcPy_c::RIDING_LOFTWING || !field_0x13780 ||
(dLytDobutton_c::getAction() != dLytDobutton_c::ACT_DO_INVALID || fn_800D56B0() ||
dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mBirdGaugeVisible = false;
}
@@ -1410,7 +1410,7 @@ void dLytMeterMain_c::checkPaneVisibility() {
if (!field_0x13781 || fn_800D56B0() ||
(dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
(dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mBossGaugeVisible = false;
}
@@ -1436,8 +1436,8 @@ void dLytMeterMain_c::checkPaneVisibility() {
if (dAcItem_c::getKeyPieceCount() == 0 || dLytAreaCaption_c::getVisible() || fn_800D5380(false) ||
SceneflagManager::sInstance->checkSceneflagGlobal(4, 0x21) || MinigameManager::isInAnyMinigame()
|| (dLytMeter_c::getField_0x13B66() || fn_800D56B0() || field_0x1377E || fn_800D5420() || fn_800D5650() ||
fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D56B0() || mIsInSwordDrawEvent || fn_800D5420() ||
isInModeMap() || isInModePause())) {
mKakeraKeyVisible = false;
}
if (mKakeraKeyVisible != oldKakeraKeyVisible) {
@@ -1454,9 +1454,9 @@ void dLytMeterMain_c::checkPaneVisibility() {
|| DungeonflagManager::sInstance->getCounterOrFlag(16, 8) != 0 ||
dAcPy_c::GetLink()->getCurrentAction() == 0x8C || dLytAreaCaption_c::getVisible() || fn_800D5380(false) ||
MinigameManager::isInAnyMinigame() || fn_800D56B0() || field_0x1377E
MinigameManager::isInAnyMinigame() || fn_800D56B0() || mIsInSwordDrawEvent
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mBossKeyVisible = false;
}
@@ -1471,9 +1471,9 @@ void dLytMeterMain_c::checkPaneVisibility() {
if (mpSmallKey != nullptr) {
if (dAcItem_c::getSmallKeyCount() == 0 || dLytAreaCaption_c::getVisible() || fn_800D5380(false) ||
MinigameManager::isInAnyMinigame() || fn_800D56B0() || field_0x1377E
MinigameManager::isInAnyMinigame() || fn_800D56B0() || mIsInSwordDrawEvent
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680())) {
|| (dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause())) {
mSmallKeyVisible = false;
}
@@ -1488,9 +1488,9 @@ void dLytMeterMain_c::checkPaneVisibility() {
if (mpDrink != nullptr) {
if (!field_0x137B2 || dLytAreaCaption_c::getVisible() || fn_800D5380(false) ||
MinigameManager::isInAnyMinigame() || field_0x1377E
MinigameManager::isInAnyMinigame() || mIsInSwordDrawEvent
|| fn_800D56B0() || dLytMeter_c::getField_0x13B66() || fn_800D5420() || fn_800D5650() || fn_800D5680()) {
|| fn_800D56B0() || dLytMeter_c::getField_0x13B66() || fn_800D5420() || isInModeMap() || isInModePause()) {
mDrinkVisible = false;
}
@@ -1522,8 +1522,8 @@ bool dLytMeterMain_c::execute() {
meter->clearFlags(METER_BTN_PLUS);
}
if (field_0x13750 != 0 && mBasicPosition == POSITION_MAP) {
fn_800D5290();
if (mMode != MODE_MAP_INIT && mBasicPosition == POSITION_MAP) {
executeMap();
}
checkPaneVisibility();
@@ -1866,7 +1866,7 @@ bool dLytMeter_c::execute() {
bool dLytMeter_c::draw() {
if (mVisible) {
mMain.draw();
if (mMain.field_0x13750 != 3) {
if (mMain.mMode != dLytMeterMain_c::MODE_PAUSE) {
if (mpEventSkip != nullptr) {
mpEventSkip->draw();
}
@@ -1884,7 +1884,7 @@ bool dLytMeter_c::draw() {
}
bool dLytMeter_c::fn_800D5670() {
return mMain.fn_800D5350();
return mMain.isInMapEvent();
}
void dLytMeter_c::setAreaCaptionOverrideVisibility(bool visible) {
+2 -2
View File
@@ -215,7 +215,7 @@ bool dLytMeterABtn_c::execute() {
return true;
}
if (dLytMeter_c::GetInstance()->getMeterField_0x13750() == 0) {
if (dLytMeter_c::GetInstance()->getMeterMode() == dLytMeterMain_c::MODE_MAP_INIT) {
LytDoButtonRelated::set(LytDoButtonRelated::DO_BUTTON_A, LytDoButtonRelated::ACT_IE_NONE);
if (field_0x1BC != LytDoButtonRelated::ACT_IE_NONE) {
@@ -228,7 +228,7 @@ bool dLytMeterABtn_c::execute() {
bool state = false;
if (EventManager::isInEvent() && !dLytMeter_c::GetInstance()->fn_800D5670() &&
dLytMeter_c::GetMain()->getField_0x1377E() == 0 && !checkIsInSkykeepPuzzle() &&
!dLytMeter_c::GetMain()->isInSwordDrawEvent() && !checkIsInSkykeepPuzzle() &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_A) == LytDoButtonRelated::ACT_IE_NONE) {
field_0x1C9 = 0;
+2 -2
View File
@@ -34,7 +34,7 @@ void dLytMeterCrossBtnParts_c::initializeState_Wait() {
mOnDelay = 15;
}
void dLytMeterCrossBtnParts_c::executeState_Wait() {
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
mOnDelay = 0;
}
@@ -150,7 +150,7 @@ void dLytMeterCrossBtnParts_c::execute(bool bIsVisible) {
return;
}
if (dLytMeter_c::GetInstance()->getMeterField_0x13750() == 0) {
if (dLytMeter_c::GetInstance()->getMeterMode() == dLytMeterMain_c::MODE_MAP_INIT) {
if (mIndex == CROSS_BTN_PART_TOP) {
LytDoButtonRelated::setCrossTop(LytDoButtonRelated::ACT_IE_NONE, true);
} else if (mIndex == CROSS_BTN_PART_DOWN) {
+15 -15
View File
@@ -395,14 +395,14 @@ void dLytMeterDowsing_c::executeState_Wait() {
mStateMgr.changeState(StateID_DemoMove);
} else if (field_0x5505 != 0) {
mStateMgr.changeState(StateID_MenuSelectingIn);
} else if (field_0x550A != 0 && (!dLytMeter_c::GetMain()->fn_800D5380(0) || dLytMeter_c::GetMain()->fn_800D5650() ||
dLytMeter_c::GetMain()->fn_800D5680())) {
} else if (field_0x550A != 0 && (!dLytMeter_c::GetMain()->fn_800D5380(0) || dLytMeter_c::GetMain()->isInModeMap() ||
dLytMeter_c::GetMain()->isInModePause())) {
mStateMgr.changeState(StateID_Reset);
} else if (!dLytMeter_c::GetInstance()->checkAllFlags(METER_BTN_C)) {
mStateMgr.changeState(StateID_ToUnuse);
} else if (dLytMeter_c::GetInstance()->getMeterField_0x1377F() != 0 && field_0x550A == 0 &&
dLytMeter_c::GetMain()->fn_800D5380(0) && !dLytMeter_c::GetMain()->fn_800D5650() &&
!dLytMeter_c::GetMain()->fn_800D5680() && getSelectedDowsingSlot() != DowsingTarget::SLOT_LOOK &&
} else if (dLytMeter_c::GetInstance()->getMeterField_0x1377F() && field_0x550A == 0 &&
dLytMeter_c::GetMain()->fn_800D5380(0) && !dLytMeter_c::GetMain()->isInModeMap() &&
!dLytMeter_c::GetMain()->isInModePause() && getSelectedDowsingSlot() != DowsingTarget::SLOT_LOOK &&
getSelectedDowsingSlot() != DowsingTarget::SLOT_NONE &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_C) == 0x52) {
mAnm[DOWSING_ANIM_IN].setBackwardsOnce();
@@ -552,7 +552,7 @@ void dLytMeterDowsing_c::initializeState_ToUse() {
if (FileManager::GetInstance()->getDowsingSlotIdx() != 8 &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_C) == 0x52 && dLytMeter_c::GetMain()->fn_800D5380(0) &&
!dLytMeter_c::GetMain()->fn_800D5650() && !dLytMeter_c::GetMain()->fn_800D5680()) {
!dLytMeter_c::GetMain()->isInModeMap() && !dLytMeter_c::GetMain()->isInModePause()) {
mAnm[DOWSING_ANIM_RESET].setAnimEnable(true);
mAnm[DOWSING_ANIM_RESET].setBackwardsOnce();
mAnm[DOWSING_ANIM_RESET].setToStart();
@@ -561,7 +561,7 @@ void dLytMeterDowsing_c::initializeState_ToUse() {
void dLytMeterDowsing_c::executeState_ToUse() {
if (FileManager::GetInstance()->getDowsingSlotIdx() != 8 &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_C) == 0x52 && dLytMeter_c::GetMain()->fn_800D5380(0) &&
!dLytMeter_c::GetMain()->fn_800D5650() && !dLytMeter_c::GetMain()->fn_800D5680()) {
!dLytMeter_c::GetMain()->isInModeMap() && !dLytMeter_c::GetMain()->isInModePause()) {
if (mAnm[DOWSING_ANIM_INPUT_0].isStop2()) {
if (!mAnm[DOWSING_ANIM_RESET].isEnabled() || mAnm[DOWSING_ANIM_RESET].isStop2()) {
mStateMgr.changeState(StateID_Wait);
@@ -586,7 +586,7 @@ void dLytMeterDowsing_c::finalizeState_ToUse() {
void dLytMeterDowsing_c::initializeState_ToUnuse() {
mAnm[DOWSING_ANIM_INPUT_0].setForwardOnce();
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
mAnm[DOWSING_ANIM_INPUT_0].setToEnd2();
} else {
mAnm[DOWSING_ANIM_INPUT_0].setToStart();
@@ -595,7 +595,7 @@ void dLytMeterDowsing_c::initializeState_ToUnuse() {
if (FileManager::GetInstance()->getDowsingSlotIdx() != 8 &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_C) == 0x52 && dLytMeter_c::GetMain()->fn_800D5380(0) &&
!dLytMeter_c::GetMain()->fn_800D5650() && !dLytMeter_c::GetMain()->fn_800D5680()) {
!dLytMeter_c::GetMain()->isInModeMap() && !dLytMeter_c::GetMain()->isInModePause()) {
mAnm[DOWSING_ANIM_RESET].setAnimEnable(true);
mAnm[DOWSING_ANIM_RESET].setForwardOnce();
mAnm[DOWSING_ANIM_RESET].setToStart();
@@ -631,7 +631,7 @@ void dLytMeterDowsing_c::executeState_Unuse() {
mLyt.calc();
mAnm[DOWSING_ANIM_INPUT_0].setAnimEnable(false);
mStateMgr.changeState(StateID_DemoMove);
} else if (!dLytMeter_c::GetMain()->fn_800D5680() && !dLytMeter_c::GetInstance()->isHelpOpen() &&
} else if (!dLytMeter_c::GetMain()->isInModePause() && !dLytMeter_c::GetInstance()->isHelpOpen() &&
dLytMeter_c::GetInstance()->checkAllFlags(METER_BTN_C)) {
if (field_0x54D8 <= 0) {
mStateMgr.changeState(StateID_ToUse);
@@ -1104,7 +1104,7 @@ void dLytMeterDowsing_c::fn_800FE110() {
mText[0].setShouldBeSelect(false);
}
if (dLytMeter_c::GetInstance()->getMeterField_0x1377F() != 0 && field_0x550A == 0) {
if (dLytMeter_c::GetInstance()->getMeterField_0x1377F() && field_0x550A == 0) {
mInput.setShouldBeSelect(true);
} else {
mInput.setShouldBeSelect(false);
@@ -1114,8 +1114,8 @@ void dLytMeterDowsing_c::fn_800FE110() {
void dLytMeterDowsing_c::fn_800FE220() {
if (getSelectedDowsingSlot() != DowsingTarget::SLOT_NONE &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_C) == LytDoButtonRelated::ACT_IE_INFO_DOWSE &&
dLytMeter_c::GetMain()->fn_800D5380(0) && !dLytMeter_c::GetMain()->fn_800D5650() &&
!dLytMeter_c::GetMain()->fn_800D5680()) {
dLytMeter_c::GetMain()->fn_800D5380(0) && !dLytMeter_c::GetMain()->isInModeMap() &&
!dLytMeter_c::GetMain()->isInModePause()) {
mAnm[DOWSING_ANIM_RESET].setAnimEnable(true);
mAnm[DOWSING_ANIM_RESET].setForwardOnce();
mAnm[DOWSING_ANIM_RESET].setToStart();
@@ -1169,7 +1169,7 @@ bool dLytMeterDowsing_c::fn_800FE4B0() const {
bool dLytMeterDowsing_c::fn_800FE610() {
if ((!dLytMeter_c::GetMain()->getDowsingNotHiddenByAreaCaption() && !dLytAreaCaption_c::getVisible()) ||
!getPane()->IsVisible() || dLytMeter_c::GetMain()->fn_800D5680()) {
!getPane()->IsVisible() || dLytMeter_c::GetMain()->isInModePause()) {
return false;
}
return true;
@@ -1196,7 +1196,7 @@ s32 dLytMeterDowsing_c::convertToLytIndex(s32 slot) const {
}
u8 dLytMeterDowsing_c::getSelectedDowsingSlot() const {
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
return DowsingTarget::SLOT_NONE;
} else {
return FileManager::GetInstance()->getDowsingSlotIdx();
+4 -4
View File
@@ -688,7 +688,7 @@ void dLytMeterItemSelect_c::executeState_Wait() {
mStateMgr.changeState(StateID_SetSpecialItemIn);
} else if (!dLytMeter_c::GetInstance()->checkAllFlags(METER_BTN_B)) {
mStateMgr.changeState(StateID_ToUnuse);
} else if (!dLytMeter_c::GetMain()->fn_800D5650() && !dLytMeter_c::GetMain()->fn_800D5680() &&
} else if (!dLytMeter_c::GetMain()->isInModeMap() && !dLytMeter_c::GetMain()->isInModePause() &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_B) != LytDoButtonRelated::ACT_IE_ETC_ITEMS &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_B) != LytDoButtonRelated::ACT_IE_ETC_RETURN &&
LytDoButtonRelated::get(LytDoButtonRelated::DO_BUTTON_B) != LytDoButtonRelated::ACT_IE_ETC_DONE &&
@@ -2483,8 +2483,8 @@ bool dLytMeterItemSelect_c::fn_800EFDF0(bool b) const {
bool dLytMeterItemSelect_c::fn_800F0030() const {
if (!StoryflagManager::sInstance->getCounterOrFlag(STORYFLAG_B_WHEEL_UNLOCKED) &&
!(EventManager::isInEvent() && EventManager::isCurrentEvent("ItemGetGorgeous")) ||
(mpOwnerPane == nullptr || !mpOwnerPane->IsVisible() || dLytMeter_c::GetMain()->fn_800D5650() ||
dLytMeter_c::GetMain()->fn_800D5680() || !dLytMeter_c::GetMain()->getItemSelectNotHiddenByAreaCaption())) {
(mpOwnerPane == nullptr || !mpOwnerPane->IsVisible() || dLytMeter_c::GetMain()->isInModeMap() ||
dLytMeter_c::GetMain()->isInModePause() || !dLytMeter_c::GetMain()->getItemSelectNotHiddenByAreaCaption())) {
// If we don't have a B-Wheel and we're not currently in the ItemGetGorgeous event,
// or (random other conditions), return false
return false;
@@ -2715,7 +2715,7 @@ bool dLytMeterItemSelect_c::isWheelBlockedByCurrentAction() {
dAcPy_c::LINK->checkActionFlags(dAcPy_c::FLG0_SWING_ROPE) || dAcPy_c::LINK->checkCurrentAction(0x9C) ||
dAcPy_c::LINK->getRidingActorType() == dAcPy_c::RIDING_TRUCK_MINECART ||
dAcPy_c::LINK->checkCurrentAction(0x95) || isInSpiralChargeTutorialMinigame() || isInRollercoasterMinigame() ||
dAcPy_c::LINK->checkCurrentAction(0x8C) || dLytMeter_c::GetMain()->getField_0x1377E() != 0 ||
dAcPy_c::LINK->checkCurrentAction(0x8C) || dLytMeter_c::GetMain()->isInSwordDrawEvent() ||
checkIsInSkykeepPuzzle() || dLytMeter_c::GetInstance()->getMeterField_0x13770() == 0) {
return true;
}
+2 -2
View File
@@ -1039,8 +1039,8 @@ bool dLytMeterMinusBtn_c::fn_800F7600() const {
bool dLytMeterMinusBtn_c::fn_800F7760() const {
if (!StoryflagManager::sInstance->getCounterOrFlag(STORYFLAG_POUCH_UNLOCKED) ||
(mpOwnerPane == nullptr || !mpOwnerPane->IsVisible() || dLytMeter_c::GetMain()->fn_800D5650() ||
dLytMeter_c::GetMain()->fn_800D5680() || !dLytMeter_c::GetMain()->getMinusBtnNotHiddenByAreaCaption())) {
(mpOwnerPane == nullptr || !mpOwnerPane->IsVisible() || dLytMeter_c::GetMain()->isInModeMap() ||
dLytMeter_c::GetMain()->isInModePause() || !dLytMeter_c::GetMain()->getMinusBtnNotHiddenByAreaCaption())) {
return false;
}
+3 -3
View File
@@ -201,7 +201,7 @@ void LytMeterTimerPart1_c::initOutAnim() {
}
void LytMeterTimerPart1_c::startInAnim() {
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
mAnm[TIMER_01_ANIM_MAP_POSITION].setFrame(1.0f);
} else {
mAnm[TIMER_01_ANIM_MAP_POSITION].setFrame(0.0f);
@@ -620,7 +620,7 @@ void LytMeterTimerPart2_c::initChangeFruitAnim() {
}
void LytMeterTimerPart2_c::startInAnim() {
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
mAnm[TIMER_02_ANIM_MAP_POSITION].setFrame(1.0f);
} else {
mAnm[TIMER_02_ANIM_MAP_POSITION].setFrame(0.0f);
@@ -1365,7 +1365,7 @@ void dLytMeterTimer_c::startIn() {
mpPart2->stopOutAnim();
mpPart1->startInAnim();
mpPart2->startInAnim();
if (dLytMeter_c::GetMain()->fn_800D5650()) {
if (dLytMeter_c::GetMain()->isInModeMap()) {
if (mStateMgr.isState(StateID_ChangeSiren)) {
mpPart2->stopFlowerLoopAnim();
mpPart2->resetFlowerLoopAnim();