summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/d/actor/d_a_player.h21
-rw-r--r--include/d/d_com_inf_game.h18
-rw-r--r--src/d/actor/d_a_player_bottle.inc2
-rw-r--r--src/d/actor/d_a_player_crawl.inc14
-rw-r--r--src/d/actor/d_a_player_main.cpp24
-rw-r--r--src/d/actor/d_a_player_rope.inc4
-rw-r--r--src/d/actor/d_a_player_ship.inc2
-rw-r--r--src/d/actor/d_a_player_sword.inc22
-rw-r--r--src/d/actor/d_a_player_tact.inc14
-rw-r--r--src/d/d_com_inf_game.cpp4
-rw-r--r--src/d/d_meter.cpp18
11 files changed, 76 insertions, 67 deletions
diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h
index 97b08077..f0970176 100644
--- a/include/d/actor/d_a_player.h
+++ b/include/d/actor/d_a_player.h
@@ -190,7 +190,7 @@ public:
daPyFlg1_SHIP_TACT = 0x00001000,
daPyFlg1_USE_ARROW_EFFECT = 0x00002000,
daPyFlg1_LETTER_READ_EYE_MOVE = 0x00004000,
- daPyFlg1_UNK8000 = 0x00008000,
+ daPyFlg1_SOUP_POWER_UP = 0x00008000,
daPyFlg1_FORCE_VOMIT_JUMP_SHORT = 0x00010000,
daPyFlg1_FOREST_WATER_USE = 0x00020000,
daPyFlg1_UNK40000 = 0x00040000,
@@ -217,10 +217,10 @@ public:
daPyRFlg0_AUTO_JUMP_LAND = 0x00000040,
daPyRFlg0_UNK80 = 0x00000080,
daPyRFlg0_UNK100 = 0x00000100,
- daPyRFlg0_UNK200 = 0x00000200,
+ daPyRFlg0_ROPE_JUMP_LAND = 0x00000200,
daPyRFlg0_RIGHT_FOOT_ON_GROUND = 0x00000400,
daPyRFlg0_LEFT_FOOT_ON_GROUND = 0x00000800,
- daPyRFlg0_UNK1000 = 0x00001000,
+ daPyRFlg0_CRAWL_AUTO_MOVE = 0x00001000,
daPyRFlg0_FRONT_ROLL_CRASH = 0x00002000,
daPyRFlg0_UNK4000 = 0x00004000,
daPyRFlg0_GRAB_UP_START = 0x00008000,
@@ -234,14 +234,11 @@ public:
daPyRFlg0_UNK800000 = 0x00800000,
daPyRFlg0_TACT_INPUT = 0x01000000,
daPyRFlg0_FAIRY_USE = 0x02000000,
- daPyRFlg0_UNK4000000 = 0x04000000,
+ daPyRFlg0_SUBJECT_ACCEPT = 0x04000000,
daPyRFlg0_UNK8000000 = 0x08000000,
daPyRFlg0_UNK10000000 = 0x10000000,
daPyRFlg0_ARROW_SHOOT = 0x20000000,
- daPyRFlg0_UNK40000000 = 0x40000000,
- // 0x00000001 and 0x00000002 set in daPy_lk_c::dProcLastCombo
- // 0x00001000 set in daPy_lk_c::procCrawlMove_init, checked in checkNoCollisionCorret__9daPy_lk_cFv
- // 0x04000000 set in daPy_lk_c::procShipPaddle
+ daPyRFlg0_ROPE_FORCE_END = 0x40000000,
};
enum daPy_FACE {
@@ -510,6 +507,7 @@ public:
void onUseArrowEffect() { onNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
void offUseArrowEffect() { offNoResetFlg1(daPyFlg1_USE_ARROW_EFFECT); }
void onLetterReadEyeMove() { onNoResetFlg1(daPyFlg1_LETTER_READ_EYE_MOVE); }
+ u32 checkSoupPowerUp() const { return checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP); }
void onForceVomitJumpShort() { onNoResetFlg1(daPyFlg1_FORCE_VOMIT_JUMP_SHORT); }
u32 checkForestWaterUse() const { return checkNoResetFlg1(daPyFlg1_FOREST_WATER_USE); }
void onWaterDrop() { onNoResetFlg1(daPyFlg1_WATER_DROP); }
@@ -522,6 +520,7 @@ public:
u32 getRopeGrabRightHand() const { return checkResetFlg0(daPyRFlg0_ROPE_GRAB_RIGHT_HAND); }
u32 getGrabUpEnd() const { return checkResetFlg0(daPyRFlg0_GRAB_UP_END); }
u32 getAutoJumpLand() const { return checkResetFlg0(daPyRFlg0_AUTO_JUMP_LAND); }
+ u32 getRopeJumpLand() const { return checkResetFlg0(daPyRFlg0_ROPE_JUMP_LAND); }
u32 getRightFootOnGround() const { return checkResetFlg0(daPyRFlg0_RIGHT_FOOT_ON_GROUND); }
u32 getLeftFootOnGround() const { return checkResetFlg0(daPyRFlg0_LEFT_FOOT_ON_GROUND); }
u32 getFootOnGround() const { return getRightFootOnGround() || getLeftFootOnGround(); }
@@ -533,7 +532,9 @@ public:
u32 getGrabPutStart() const { return checkResetFlg0(daPyRFlg0_GRAB_PUT_START); }
u32 checkFairyUse() const { return checkResetFlg0(daPyRFlg0_FAIRY_USE); }
u32 checkTactInput() const { return checkResetFlg0(daPyRFlg0_TACT_INPUT); }
+ u32 checkSubjectAccept() const { return checkResetFlg0(daPyRFlg0_SUBJECT_ACCEPT); }
u32 checkArrowShoot() const { return checkResetFlg0(daPyRFlg0_ARROW_SHOOT); }
+ u32 checkRopeForceEnd() const { return checkResetFlg0(daPyRFlg0_ROPE_FORCE_END); }
BOOL checkGrabWear() const { return field_0x2b0 < 0.0f; }
BOOL checkNormalSwordEquip() const {
@@ -552,10 +553,6 @@ public:
BOOL checkSwordMiniGame() const { return dComIfGp_getMiniGameType() == 2; }
BOOL checkBowMiniGame() const { return mDemo.getDemoMode() == daPy_demo_c::DEMO_BOW_MINIGAME_e; }
- void checkSoupPowerUp() const {}
- void checkSubjectAccept() const {}
- u32 getRopeJumpLand() const { return checkResetFlg0(daPyRFlg0_UNK200); }
- u32 checkRopeForceEnd() const { return checkResetFlg0(daPyRFlg0_UNK40000000); }
virtual MtxP getLeftHandMatrix() = 0;
virtual MtxP getRightHandMatrix() = 0;
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h
index 2692e224..ee437c05 100644
--- a/include/d/d_com_inf_game.h
+++ b/include/d/d_com_inf_game.h
@@ -488,6 +488,10 @@ public:
inline void setHeapLockFlag(u8 flag) { mHeapLockFlag = flag; }
inline void offHeapLockFlag() { mHeapLockFlag = 0; }
+ bool getMetronome() { return mMetronome; }
+ void setMetronomeOn() { mMetronome = true; }
+ void setMetronomeOff() { mMetronome = false; }
+
#if VERSION > VERSION_DEMO
// These inlines aren't present in WW demo debug maps, but are present in TP debug.
inline u8 getNowVibration() { return mNowVibration; }
@@ -741,7 +745,7 @@ public:
/* 0x4944 */ u8 field_0x4944;
/* 0x4945 */ u8 mScopeType;
/* 0x4946 */ u8 mOperateWind;
- /* 0x4947 */ u8 field_0x4947;
+ /* 0x4947 */ bool mMetronome;
/* 0x4948 */ u8 mMesgSendButton;
/* 0x4949 */ u8 mMesgCancelButton;
/* 0x494A */ u8 field_0x494a[6];
@@ -3247,6 +3251,18 @@ inline u8 dComIfGp_event_getTactFreeCStick(int which) {
return g_dComIfG_gameInfo.play.getEvent().getTactFreeCStick(which);
}
+inline bool dComIfGp_getMetronome() {
+ return g_dComIfG_gameInfo.play.getMetronome();
+}
+
+inline void dComIfGp_setMetronomeOn() {
+ g_dComIfG_gameInfo.play.setMetronomeOn();
+}
+
+inline void dComIfGp_setMetronomeOff() {
+ g_dComIfG_gameInfo.play.setMetronomeOff();
+}
+
/**
* === EVENT MANAGER ===
*/
diff --git a/src/d/actor/d_a_player_bottle.inc b/src/d/actor/d_a_player_bottle.inc
index 7b600010..bbe8eff5 100644
--- a/src/d/actor/d_a_player_bottle.inc
+++ b/src/d/actor/d_a_player_bottle.inc
@@ -144,7 +144,7 @@ BOOL daPy_lk_c::procBottleDrink() {
dComIfGp_setItemMagicCount(dComIfGs_getMaxMagic());
}
if (mEquipItem == dItem_SOUP_BOTTLE_e || mEquipItem == dItem_HALF_SOUP_BOTTLE_e) {
- onNoResetFlg1(daPyFlg1_UNK8000);
+ onNoResetFlg1(daPyFlg1_SOUP_POWER_UP);
}
resetCurse();
} else {
diff --git a/src/d/actor/d_a_player_crawl.inc b/src/d/actor/d_a_player_crawl.inc
index 3a1fc9b0..111dc324 100644
--- a/src/d/actor/d_a_player_crawl.inc
+++ b/src/d/actor/d_a_player_crawl.inc
@@ -245,7 +245,7 @@ void daPy_lk_c::setDoStatusCrawl() {
}
} else if (dCam_getBody()->ChangeModeOK(4)) {
if (m35D0 <= current.pos.y) {
- onResetFlg0(daPyRFlg0_UNK4000000);
+ onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
setSubjectMode();
}
@@ -349,7 +349,7 @@ BOOL daPy_lk_c::procCrawlMove_init(s16 param_0, s16 param_1) {
current.angle.y = shape_angle.y;
setSingleMoveAnime(ANM_LIEFORWARD, dVar4, 0.0f, -1, m_HIO->mCrouch.m.field_0x38);
} else {
- onResetFlg0(daPyRFlg0_UNK1000);
+ onResetFlg0(daPyRFlg0_CRAWL_AUTO_MOVE);
}
m35A0 = -1.0f;
mProcVar0.m3570 = var_r29 ^ 1;
@@ -397,8 +397,8 @@ BOOL daPy_lk_c::procCrawlMove() {
iVar6 = checkNotCrawlStand(&sp118);
iVar7 = checkNotCrawlStand(&sp124);
iVar8 = checkNotCrawlStand(&sp10C);
- if ((((iVar6 != 0 || iVar7 != 0) || iVar8 != 0) ||
- (checkNotCrawlStand(&sp124, &sp100) || checkNotCrawlStand(&sp10C, &sp100))) ||
+ if (iVar6 != 0 || iVar7 != 0 || iVar8 != 0 ||
+ checkNotCrawlStand(&sp124, &sp100) || checkNotCrawlStand(&sp10C, &sp100) ||
checkNotCrawlStand(&sp118, &sp100))
{
bVar5 = false;
@@ -462,7 +462,7 @@ BOOL daPy_lk_c::procCrawlMove() {
checkCrawlSideWall(&spF4, &spDC, &spC4, &spD0, &sp08, &sp0A)))
{
mProcVar0.m3570 = 1;
- onResetFlg0(daPyRFlg0_UNK1000);
+ onResetFlg0(daPyRFlg0_CRAWL_AUTO_MOVE);
m370C = ((spD0 + spC4) * 0.5f) - spB8;
m34D4 = sp0A + 0x4000;
}
@@ -541,7 +541,7 @@ BOOL daPy_lk_c::procCrawlAutoMove_init(int param_0, cXyz* param_1) {
dComIfGp_setPlayerStatus0(0, daPyStts0_CRAWL_e);
setCrawlMoveDirectionArrow();
mVelocity = 0.0f;
- onResetFlg0(daPyRFlg0_UNK1000);
+ onResetFlg0(daPyRFlg0_CRAWL_AUTO_MOVE);
for (int i = 0; i < 3; i++) {
mAcchCir[i].SetWallR(9.99f);
}
@@ -558,7 +558,7 @@ BOOL daPy_lk_c::procCrawlAutoMove() {
dComIfGp_setRStatus(dActStts_CROUCH_e);
J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[UNDER_MOVE0_e];
- onResetFlg0(daPyRFlg0_UNK1000);
+ onResetFlg0(daPyRFlg0_CRAWL_AUTO_MOVE);
s16 sVar4 = shape_angle.y;
s16 sVar5 = current.angle.y;
if (m34D0 > 0) {
diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp
index b7144f8f..4a8b7f45 100644
--- a/src/d/actor/d_a_player_main.cpp
+++ b/src/d/actor/d_a_player_main.cpp
@@ -1381,7 +1381,7 @@ BOOL daPy_lk_c::checkNoCollisionCorret() {
mDemo.getDemoType() == 1 ||
mDemo.getDemoMode() == daPy_demo_c::DEMO_OPEN_TREASURE_e ||
mDemo.getDemoMode() == daPy_demo_c::DEMO_UNK_030_e ||
- checkResetFlg0(daPyRFlg0_UNK1000) ||
+ checkResetFlg0(daPyRFlg0_CRAWL_AUTO_MOVE) ||
eventInfo.checkCommandDoor() ||
mCurProc == daPyProc_VERTICAL_JUMP_e ||
mCurProc == daPyProc_CRAWL_END_e ||
@@ -1997,7 +1997,7 @@ BOOL daPy_lk_c::draw() {
}
entryDLSetLight(mpEquipItemModel, checkFreezeState());
if (mpSwordModel1 != NULL) {
- if (checkChanceMode() || checkNoResetFlg1(daPyFlg1_UNK8000) || checkFinalMasterSwordEquip()) {
+ if (checkChanceMode() || checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP) || checkFinalMasterSwordEquip()) {
updateDLSetLight(mpSwordModel1, 0);
}
}
@@ -4342,7 +4342,7 @@ BOOL daPy_lk_c::checkNextActionFromButton() {
if ((daPy_getPlayerActorClass() == this && !dComIfGp_event_runCheck()) &&
!checkGrabWear())
{
- onResetFlg0(daPyRFlg0_UNK4000000);
+ onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000)) {
return procSubjectivity_init(0);
}
@@ -5019,7 +5019,7 @@ BOOL daPy_lk_c::setDamagePoint(f32 amount) {
if (!checkNoDamageMode()) {
dComIfGp_setItemLifeCount(amount);
if (amount < 0.0f) {
- offNoResetFlg1(daPyFlg1_UNK8000);
+ offNoResetFlg1(daPyFlg1_SOUP_POWER_UP);
#if VERSION > VERSION_JPN
if (!checkFinalMasterSwordEquip())
#endif
@@ -6437,7 +6437,7 @@ BOOL daPy_lk_c::procCrouchDefense_init() {
BOOL daPy_lk_c::procCrouchDefense() {
dComIfGp_setRStatus(dActStts_DEFEND_e);
if (dCam_getBody()->ChangeModeOK(4) && current.pos.y >= m35D0) {
- onResetFlg0(daPyRFlg0_UNK4000000);
+ onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
return procSubjectivity_init(1);
}
@@ -6564,7 +6564,7 @@ BOOL daPy_lk_c::procCrouch() {
dComIfGp_setRStatus(dActStts_CROUCH_e);
if (dCam_getBody()->ChangeModeOK(4) && current.pos.y >= m35D0) {
- onResetFlg0(daPyRFlg0_UNK4000000);
+ onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
return procSubjectivity_init(1);
}
@@ -9640,7 +9640,7 @@ void daPy_lk_c::setWorldMatrix() {
/* 8011D070-8011D0E4 .text setAtParam__9daPy_lk_cFUli11dCcG_At_SplUcUcUcf */
void daPy_lk_c::setAtParam(u32 type, int atp, dCcG_At_Spl spl, u8 se, u8 hitMark, u8 cutType, f32 radius) {
dCcD_Cps* cps = mAtCps;
- if (type == AT_TYPE_SWORD && checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (type == AT_TYPE_SWORD && checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
atp *= 2;
}
if (type != AT_TYPE_SWORD) {
@@ -9868,7 +9868,7 @@ void daPy_lk_c::setCollision() {
if (mpCutfBrk != NULL) {
if (checkModeFlg(ModeFlg_PARRY)) {
mpCutfBrk->setFrame(2.0f);
- } else if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ } else if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mpCutfBrk->setFrame(1.0f);
} else {
mpCutfBrk->setFrame(0.0f);
@@ -9931,7 +9931,7 @@ void daPy_lk_c::setCollision() {
prm0 = &nm_turn_prm0;
prm1 = &nm_turn_prm1;
env = &nm_turn_env;
- } else if (mCurProc == daPyProc_CUT_ROLL_e || checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ } else if (mCurProc == daPyProc_CUT_ROLL_e || checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
if (checkNormalSwordEquip()) {
if (mCurProc == daPyProc_CUT_ROLL_e) {
dVar27 = m_HIO->mCut.mCutRoll.m.field_0x18;
@@ -11531,7 +11531,7 @@ BOOL daPy_lk_c::execute() {
}
offNoResetFlg0(daPyFlg0_UNK20000);
if (checkNoResetFlg0(daPyFlg0_UNK400000)) {
- onResetFlg0(daPyRFlg0_UNK200);
+ onResetFlg0(daPyRFlg0_ROPE_JUMP_LAND);
}
offNoResetFlg0(daPyFlg0_UNK400000);
if (current.pos.y < 2000.0f && dComIfG_Bgsp()->GetSpecialCode(mAcch.m_gnd) != 1) {
@@ -11860,7 +11860,7 @@ BOOL daPy_lk_c::playerDelete() {
dComIfGp_clearPlayerStatus0(0, daPyStts0_BOOMERANG_WAIT_e);
dComIfGp_clearPlayerStatus1(0, daPyStts1_UNK40000_e);
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
cancelNoDamageMode();
@@ -12706,7 +12706,7 @@ cPhs_State daPy_lk_c::makeBgWait() {
#if VERSION > VERSION_DEMO
if ((dComIfGs_getLastSceneMode() & 0x4000) != 0) {
- onNoResetFlg1(daPyFlg1_UNK8000);
+ onNoResetFlg1(daPyFlg1_SOUP_POWER_UP);
}
l_debug_keep_pos = current.pos;
diff --git a/src/d/actor/d_a_player_rope.inc b/src/d/actor/d_a_player_rope.inc
index a9041a92..c2a55fb5 100644
--- a/src/d/actor/d_a_player_rope.inc
+++ b/src/d/actor/d_a_player_rope.inc
@@ -29,13 +29,13 @@ void daPy_lk_c::freeRopeItem() {
if (mEquipItem == dItem_GRAPPLING_HOOK_e) {
fopAc_ac_c* rope = mActorKeepRope.getActor();
if (mActorKeepEquip.getActor() != NULL) {
- onResetFlg0(daPyRFlg0_UNK40000000);
+ onResetFlg0(daPyRFlg0_ROPE_FORCE_END);
}
if (rope != NULL) {
if (fopAcM_GetName(rope) == PROC_HIMO2) {
fopAcM_SetParam(rope, 4);
mActorKeepRope.clearData();
- onResetFlg0(daPyRFlg0_UNK40000000);
+ onResetFlg0(daPyRFlg0_ROPE_FORCE_END);
} else if (fopAcM_GetName(rope) == PROC_HIMO3) {
mEquipItem = daPyItem_NONE_e;
fopAcM_SetParam(rope, 3);
diff --git a/src/d/actor/d_a_player_ship.inc b/src/d/actor/d_a_player_ship.inc
index 6a29f0f3..2512537b 100644
--- a/src/d/actor/d_a_player_ship.inc
+++ b/src/d/actor/d_a_player_ship.inc
@@ -655,7 +655,7 @@ BOOL daPy_lk_c::procShipPaddle() {
dComIfGp_clearPlayerStatus0(0, daPyStts0_UNK2000_e);
}
} else {
- onResetFlg0(daPyRFlg0_UNK4000000);
+ onResetFlg0(daPyRFlg0_SUBJECT_ACCEPT);
if (dComIfGp_checkCameraAttentionStatus(mCameraInfoIdx, 0x1000) && !dComIfGp_event_runCheck()) {
setSubjectMode();
}
diff --git a/src/d/actor/d_a_player_sword.inc b/src/d/actor/d_a_player_sword.inc
index 6c4d8a60..1c417f12 100644
--- a/src/d/actor/d_a_player_sword.inc
+++ b/src/d/actor/d_a_player_sword.inc
@@ -156,7 +156,7 @@ void daPy_lk_c::setLightSaver() {
}
if (checkChanceMode()) {
mpEquipItemBrk->setFrame(1.0f);
- } else if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ } else if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mpEquipItemBrk->setFrame(0.0f);
} else {
mpEquipItemBrk->setFrame(2.0f);
@@ -168,10 +168,10 @@ void daPy_lk_c::setLightSaver() {
#else
!checkDemoSwordNoDraw(0) &&
#endif
- ((checkChanceMode() || checkNoResetFlg1(daPyFlg1_UNK8000)) || checkFinalMasterSwordEquip()))
+ ((checkChanceMode() || checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) || checkFinalMasterSwordEquip()))
{
simpleAnmPlay(mpSwordBtk);
- if ((m3454.getEmitter() == NULL) && (checkChanceMode() || checkNoResetFlg1(daPyFlg1_UNK8000))) {
+ if ((m3454.getEmitter() == NULL) && (checkChanceMode() || checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP))) {
pJVar7 = m3454.makeEmitter(dPa_name::ID_COMMON_0309, mpSwordModel1->getAnmMtx(2), &current.pos, NULL);
if (pJVar7 != 0) {
if (checkMasterSwordEquip()) {
@@ -179,7 +179,7 @@ void daPy_lk_c::setLightSaver() {
pJVar7->setGlobalParticleScale(p_scale);
}
}
- } else if (!checkChanceMode() && (!checkNoResetFlg1(daPyFlg1_UNK8000) && checkFinalMasterSwordEquip())) {
+ } else if (!checkChanceMode() && (!checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP) && checkFinalMasterSwordEquip())) {
m3454.end();
}
if (checkChanceMode()) {
@@ -195,14 +195,14 @@ void daPy_lk_c::setLightSaver() {
pJVar7->setGlobalEnvColor(pbVar9->r, pbVar9->g, pbVar9->b);
}
if ((dComIfGp_getDoStatus() == dActStts_PARRY_e && m355C == 0) ||
- ((checkNoResetFlg1(daPyFlg1_UNK8000) || checkFinalMasterSwordEquip()) &&
+ ((checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP) || checkFinalMasterSwordEquip()) &&
!checkNoResetFlg1(daPyFlg1_UNK200000)))
{
if (dComIfGp_getDoStatus() == dActStts_PARRY_e && m355C == 0) {
pbVar9 = &g_prm1;
pbVar8 = pbVar9;
dComIfGp_getVibration().StartShock(6, 1, cXyz(0.0f, 1.0f, 0.0f));
- } else if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ } else if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
pbVar9 = &y_prm1;
pbVar8 = &y_env1;
} else {
@@ -288,7 +288,7 @@ int daPy_lk_c::getSwordBlurColor() {
if (checkChanceMode()) {
return 2;
}
- if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
return 1;
}
}
@@ -1336,14 +1336,14 @@ BOOL daPy_lk_c::procCutTurn_init(int param_0) {
}
if (checkNormalSwordEquip()) {
m35A4 = m_HIO->mCut.mCutTurn.m.field_0x40;
- if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mAtCyl.SetAtAtp(4);
} else {
mAtCyl.SetAtAtp(2);
}
} else {
m35A4 = m_HIO->mCut.mCutTurn.m.field_0x44;
- if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mAtCyl.SetAtAtp(8);
} else {
mAtCyl.SetAtAtp(4);
@@ -1509,14 +1509,14 @@ BOOL daPy_lk_c::procCutRoll_init() {
offResetFlg0(daPyRFlg0_UNK8000000);
if (checkNormalSwordEquip()) {
m35A4 = m_HIO->mCut.mCutRoll.m.field_0x20;
- if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mAtCyl.SetAtAtp(4);
} else {
mAtCyl.SetAtAtp(2);
}
} else {
m35A4 = m_HIO->mCut.mCutRoll.m.field_0x24;
- if (checkNoResetFlg1(daPyFlg1_UNK8000)) {
+ if (checkNoResetFlg1(daPyFlg1_SOUP_POWER_UP)) {
mAtCyl.SetAtAtp(8);
} else {
mAtCyl.SetAtAtp(4);
diff --git a/src/d/actor/d_a_player_tact.inc b/src/d/actor/d_a_player_tact.inc
index 5b7fcbb9..5d03a405 100644
--- a/src/d/actor/d_a_player_tact.inc
+++ b/src/d/actor/d_a_player_tact.inc
@@ -198,9 +198,9 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
}
mProcVar0.m3570 = r30;
if (mProcVar0.m3570 != -4) {
- g_dComIfG_gameInfo.play.field_0x4947 = 1;
+ dComIfGp_setMetronomeOn();
} else {
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
}
return TRUE;
} else if (r30 == -1) {
@@ -292,7 +292,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
setTactZev(-1, -1, NULL);
if (mProcVar0.m3570 != -4) {
- g_dComIfG_gameInfo.play.field_0x4947 = 1;
+ dComIfGp_setMetronomeOn();
}
mDoAud_taktModeMute();
@@ -316,7 +316,7 @@ BOOL daPy_lk_c::procTactWait() {
if (m34D2 == 0) {
if (mProcVar0.m3570 == -5 || mProcVar0.m3570 == 6 || mProcVar0.m3570 == 7) {
dComIfGp_evmng_cutEnd(mStaffIdx);
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
} else if (mProcVar0.m3570 == -1 || mProcVar0.m3570 == -3 || mProcVar0.m3570 >= 0) {
procTactPlay_init(m3574, mProcVar0.m3570 == -1, mProcVar0.m3570 >= 0);
}
@@ -342,7 +342,7 @@ BOOL daPy_lk_c::procTactWait() {
seStartSystem(JA_SE_TAKT_USE_CANCEL);
}
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
if (cancelTrigger() && mProcVar0.m3570 == 5) {
m35AC = -1000.0f;
@@ -587,7 +587,7 @@ BOOL daPy_lk_c::procTactPlay() {
if (m34D0 != 0) {
if (m34D8 != 0) {
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
dComIfGp_evmng_cutEnd(mStaffIdx);
return TRUE;
}
@@ -595,7 +595,7 @@ BOOL daPy_lk_c::procTactPlay() {
msg_class* msg_p = fopMsgM_SearchByID(m3628);
if (msg_p == NULL || msg_p->mStatus == fopMsgStts_BOX_CLOSED_e) {
fopAc_ac_c* tactZevPartner = NULL;
- g_dComIfG_gameInfo.play.field_0x4947 = 0;
+ dComIfGp_setMetronomeOff();
if (msg_p != NULL) {
msg_p->mStatus = fopMsgStts_MSG_DESTROYED_e;
diff --git a/src/d/d_com_inf_game.cpp b/src/d/d_com_inf_game.cpp
index 24402696..e9df273e 100644
--- a/src/d/d_com_inf_game.cpp
+++ b/src/d/d_com_inf_game.cpp
@@ -135,7 +135,7 @@ void dComIfG_play_c::itemInit() {
field_0x4944 = 7;
mScopeType = 0;
mOperateWind = 0;
- field_0x4947 = 0;
+ mMetronome = false;
mMesgSendButton = 0;
mMesgCancelButton = 0;
@@ -660,7 +660,7 @@ void dComIfGp_setNextStage(const char* i_stageName, s16 i_point, s8 i_roomNo, s8
i_lastMode |= link->checkTinkleShield() << 0x10;
- if (link->checkNoResetFlg1(daPy_lk_c::daPyFlg1_UNK8000)) {
+ if (link->checkNoResetFlg1(daPy_lk_c::daPyFlg1_SOUP_POWER_UP)) {
i_lastMode |= 0x4000;
}
}
diff --git a/src/d/d_meter.cpp b/src/d/d_meter.cpp
index 448fa368..2e21e9a3 100644
--- a/src/d/d_meter.cpp
+++ b/src/d/d_meter.cpp
@@ -750,9 +750,9 @@ void dMeter_statusCheck(sub_meter_class* i_Meter) {
} else if ((dComIfGp_checkPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e)) && (dComIfGp_getAStatus() == dActStts_RETURN_e)) {
i_Meter->mStatusFlags |= dMtrStts_UNK200000_e;
} else if ((dComIfGp_event_runCheck()) && (dMenu_getMenuStatus() != 4)) {
- if (((dComIfGp_demo_mode() != 1) && (dComIfGp_getMesgStatus() != 0)) && (g_dComIfG_gameInfo.play.field_0x4947 == 0)) {
+ if (((dComIfGp_demo_mode() != 1) && (dComIfGp_getMesgStatus() != 0)) && !dComIfGp_getMetronome()) {
i_Meter->mStatusFlags |= dMtrStts_UNK100_e;
- } else if ((dComIfGp_demo_mode() != 1) && (g_dComIfG_gameInfo.play.field_0x4947 != 0)) {
+ } else if ((dComIfGp_demo_mode() != 1) && dComIfGp_getMetronome()) {
i_Meter->mStatusFlags |= dMtrStts_UNK200000_e;
dComIfGp_setAStatusForce(dActStts_HIDDEN_e);
} else {
@@ -1450,7 +1450,7 @@ void dMeter_heartColor(sub_meter_class* i_Meter) {
JUtility::TColor white(0xFF, 0xFF, 0xFF, 0xFF);
JUtility::TColor black(0x00, 0x00, 0x00, 0x00);
- if ((daPy_getPlayerActorClass()->checkNoResetFlg1(daPy_lk_c::daPyFlg1_UNK8000)) && (dComIfGp_getMiniGameType() != 6)) {
+ if ((daPy_getPlayerActorClass()->checkSoupPowerUp()) && (dComIfGp_getMiniGameType() != 6)) {
JUtility::TColor white2 = -1;
JUtility::TColor black2 = -1;
if (i_Meter->mHeartShadow[0].mUserArea == 0) {
@@ -4638,7 +4638,7 @@ void dMeter_windMove(sub_meter_class* i_Meter) {
/* 801FBD7C-801FBF24 .text dMeter_metronomeMove__FP15sub_meter_class */
void dMeter_metronomeMove(sub_meter_class* i_Meter) {
- if ((((g_dComIfG_gameInfo.play.field_0x4947 != 0) && (!(i_Meter->mStatusFlags & dMtrStts_UNK8_e))) && (!(i_Meter->mStatusFlags & dMtrStts_UNK10_e))) &&
+ if (((dComIfGp_getMetronome() && (!(i_Meter->mStatusFlags & dMtrStts_UNK8_e))) && (!(i_Meter->mStatusFlags & dMtrStts_UNK10_e))) &&
((!(i_Meter->mStatusFlags & dMtrStts_UNK800000_e)) && (!(i_Meter->mStatusFlags & dMtrStts_UNK20_e))))
{
if ((i_Meter->field_0x3028 == 0) && (dMn_c == NULL)) {
@@ -7090,7 +7090,7 @@ static BOOL dMeter_Draw(sub_meter_class* i_Meter) {
}
dComIfGd_set2DOpaTop(&meter2);
dMeter_moveItemDraw(i_Meter);
- if ((i_Meter->field_0x3028 == 1) && (g_dComIfG_gameInfo.play.field_0x4947 != 0) && (!(i_Meter->mStatusFlags & dMtrStts_UNK8_e)) &&
+ if ((i_Meter->field_0x3028 == 1) && dComIfGp_getMetronome() && (!(i_Meter->mStatusFlags & dMtrStts_UNK8_e)) &&
(!(i_Meter->mStatusFlags & dMtrStts_UNK10_e)) && (!(i_Meter->mStatusFlags & dMtrStts_UNK800000_e)) && (!(i_Meter->mStatusFlags & dMtrStts_UNK20_e)))
{
dComIfGd_set2DOpa(dMn_c);
@@ -7430,7 +7430,6 @@ void mapCtrlDisp_c::initMapCtrlDisp() {
/* 80205A44-80205D24 .text moveMapCtrlDisp__13mapCtrlDisp_cFv */
void mapCtrlDisp_c::moveMapCtrlDisp() {
f32 fVar1;
- bool bVar5;
s8 uVar6;
f32 dVar7;
@@ -7468,11 +7467,8 @@ void mapCtrlDisp_c::moveMapCtrlDisp() {
}
if (dComIfGp_checkCameraAttentionStatus(0, 0x400)) {
daPy_py_c* player = daPy_getPlayerActorClass();
- bVar5 = false;
- if ((player->checkResetFlg0(daPy_py_c::daPyRFlg0_UNK4000000)) && (dComIfGp_event_getMode() == dEvtMode_NONE_e)) {
- bVar5 = true;
- }
- if (bVar5) {
+ BOOL temp = player->checkSubjectAccept() && !dComIfGp_event_runCheck();
+ if (temp) {
dMap_c::mIconSelfAlpha = 0xcc;
dMap_c::mIconDispMode = 2;
}