mirror of
https://github.com/zeldaret/ss
synced 2026-05-28 08:25:06 -04:00
95%
This commit is contained in:
@@ -1620,7 +1620,7 @@ d/lyt/d_lyt_mini_game.cpp:
|
||||
.text start:0x8028BCE0 end:0x802969E0 align:16
|
||||
.rodata start:0x804EE7D8 end:0x804EEB68
|
||||
.data start:0x80538E58 end:0x80539B68
|
||||
.sdata start:0x80573B90 end:0x80573BB0
|
||||
.sdata start:0x80573B88 end:0x80573BB0
|
||||
.sbss start:0x80575970 end:0x80575990
|
||||
.sdata2 start:0x8057C700 end:0x8057C760
|
||||
|
||||
|
||||
+54
-54
@@ -4500,7 +4500,7 @@ executeState__85sStateMgr_c<16dLytMeterParts_c,20sStateMethodUsr_FI_c,12sFStateF
|
||||
isNotSilentRealmOrLoftwing__15dLytMeterMain_cFv = .text:0x800C9F20; // type:function size:0x44
|
||||
fn_800C9F70__15dLytMeterMain_cFv = .text:0x800C9F70; // type:function size:0x70
|
||||
fn_800C9FE0__15dLytMeterMain_cFv = .text:0x800C9FE0; // type:function size:0x60
|
||||
fn_800CA040__15dLytMeterMain_cFv = .text:0x800CA040; // type:function size:0x60
|
||||
isPopupOpen__15dLytMeterMain_cFv = .text:0x800CA040; // type:function size:0x60
|
||||
setUiMode__15dLytMeterMain_cCFUs = .text:0x800CA0A0; // type:function size:0x1C
|
||||
getUiMode__15dLytMeterMain_cFv = .text:0x800CA0C0; // type:function size:0x38
|
||||
__ct__15dLytMeterMain_cFv = .text:0x800CA100; // type:function size:0x1C0
|
||||
@@ -13142,7 +13142,7 @@ checkBambooCuttingMinigameState2 = .text:0x8023BCE0; // type:function size:0x4
|
||||
checkMinigameThrillDigger = .text:0x8023BCF0; // type:function size:0x4
|
||||
checkMinigameThrillDigger2 = .text:0x8023BD00; // type:function size:0x8
|
||||
checkFunFunIslandMinigameState = .text:0x8023BD10; // type:function size:0x4
|
||||
checkFunFunIslandMinigameState2 = .text:0x8023BD20; // type:function size:0x8
|
||||
checkInFunFunIsland__15MinigameManagerFv = .text:0x8023BD20; // type:function size:0x8
|
||||
checkMinigameHouseCleaning = .text:0x8023BD30; // type:function size:0x4
|
||||
checkMinigameHouseCleaning2 = .text:0x8023BD40; // type:function size:0x8
|
||||
checkTrialTimeAttackMinigameState = .text:0x8023BD50; // type:function size:0x4
|
||||
@@ -15254,13 +15254,13 @@ init__18dLytMiniGameBugs_cFv = .text:0x8028CB30; // type:function size:0x90
|
||||
startAllIconsIn__18dLytMiniGameBugs_cFv = .text:0x8028CBC0; // type:function size:0xB8
|
||||
startOut__18dLytMiniGameBugs_cFv = .text:0x8028CC80; // type:function size:0x90
|
||||
startIn__18dLytMiniGameBugs_cFv = .text:0x8028CD10; // type:function size:0x8C
|
||||
startOutForced__18dLytMiniGameBugs_cFv = .text:0x8028CDA0; // type:function size:0x80
|
||||
startOutTemp__18dLytMiniGameBugs_cFv = .text:0x8028CDA0; // type:function size:0x80
|
||||
collectBug__18dLytMiniGameBugs_cFl = .text:0x8028CE20; // type:function size:0x150
|
||||
startBugsFlash__18dLytMiniGameBugs_cFv = .text:0x8028CF70; // type:function size:0xC0
|
||||
setBug__18dLytMiniGameBugs_cFll = .text:0x8028D030; // type:function size:0xE0
|
||||
isSlotIconOnEndReached__18dLytMiniGameBugs_cCFl = .text:0x8028D110; // type:function size:0x48
|
||||
isSlotIconOnEnabled__18dLytMiniGameBugs_cCFl = .text:0x8028D160; // type:function size:0x38
|
||||
isSlotBugCollected__18dLytMiniGameBugs_cFl = .text:0x8028D1A0; // type:function size:0x2C
|
||||
isSlotBugCollected__18dLytMiniGameBugs_cCFl = .text:0x8028D1A0; // type:function size:0x2C
|
||||
resetBugIconsIn__18dLytMiniGameBugs_cFv = .text:0x8028D1D0; // type:function size:0xC0
|
||||
resetIn__18dLytMiniGameBugs_cFv = .text:0x8028D290; // type:function size:0x80
|
||||
resetOut__18dLytMiniGameBugs_cFv = .text:0x8028D310; // type:function size:0x80
|
||||
@@ -15284,9 +15284,9 @@ execute__18dLytMiniGameTime_cFv = .text:0x8028DA00; // type:function size:0x224
|
||||
draw__18dLytMiniGameTime_cFv = .text:0x8028DC30; // type:function size:0x48
|
||||
init__18dLytMiniGameTime_cFv = .text:0x8028DC80; // type:function size:0x100
|
||||
fn_8028DD80__18dLytMiniGameTime_cFv = .text:0x8028DD80; // type:function size:0xC0
|
||||
fn_8028DE40__18dLytMiniGameTime_cFv = .text:0x8028DE40; // type:function size:0x84
|
||||
fn_8028DED0__18dLytMiniGameTime_cFv = .text:0x8028DED0; // type:function size:0x100
|
||||
fn_8028DFD0__18dLytMiniGameTime_cFv = .text:0x8028DFD0; // type:function size:0xEC
|
||||
startOut__18dLytMiniGameTime_cFv = .text:0x8028DE40; // type:function size:0x84
|
||||
startIn__18dLytMiniGameTime_cFv = .text:0x8028DED0; // type:function size:0x100
|
||||
startOutTemp__18dLytMiniGameTime_cFv = .text:0x8028DFD0; // type:function size:0xEC
|
||||
startAlphaIn__18dLytMiniGameTime_cFv = .text:0x8028E0C0; // type:function size:0xAC
|
||||
startAlphaOut__18dLytMiniGameTime_cFv = .text:0x8028E170; // type:function size:0x60
|
||||
startFinish__18dLytMiniGameTime_cFv = .text:0x8028E1D0; // type:function size:0xC4
|
||||
@@ -15356,9 +15356,9 @@ execute__19dLytMiniGameScore_cFv = .text:0x80290140; // type:function size:0x2EC
|
||||
draw__19dLytMiniGameScore_cFv = .text:0x80290430; // type:function size:0x48
|
||||
init__19dLytMiniGameScore_cFv = .text:0x80290480; // type:function size:0xF84
|
||||
fn_80291410__19dLytMiniGameScore_cFv = .text:0x80291410; // type:function size:0x1A0
|
||||
fn_802915B0__19dLytMiniGameScore_cFv = .text:0x802915B0; // type:function size:0x84
|
||||
fn_80291640__19dLytMiniGameScore_cFv = .text:0x80291640; // type:function size:0x100
|
||||
fn_80291740__19dLytMiniGameScore_cFv = .text:0x80291740; // type:function size:0xEC
|
||||
startOut__19dLytMiniGameScore_cFv = .text:0x802915B0; // type:function size:0x84
|
||||
startIn__19dLytMiniGameScore_cFv = .text:0x80291640; // type:function size:0x100
|
||||
startOutTemp__19dLytMiniGameScore_cFv = .text:0x80291740; // type:function size:0xEC
|
||||
startAlphaIn__19dLytMiniGameScore_cFv = .text:0x80291830; // type:function size:0xD0
|
||||
startAlphaOut__19dLytMiniGameScore_cFv = .text:0x80291900; // type:function size:0x60
|
||||
startGetScore__19dLytMiniGameScore_cFv = .text:0x80291960; // type:function size:0xD0
|
||||
@@ -15440,46 +15440,46 @@ draw__14dLytMiniGame_cFv = .text:0x802956D0; // type:function size:0x6C
|
||||
scoreRelatedExecute__14dLytMiniGame_cFv = .text:0x80295740; // type:function size:0x8C
|
||||
scoreRelated__14dLytMiniGame_cFv = .text:0x802957D0; // type:function size:0x78
|
||||
setDisplayedPoints__14dLytMiniGame_cFl = .text:0x80295850; // type:function size:0xA8
|
||||
fn_80295900 = .text:0x80295900; // type:function size:0x38
|
||||
fn_80295940__14dLytMiniGame_cFv = .text:0x80295940; // type:function size:0x38
|
||||
fn_80295980__14dLytMiniGame_cFv = .text:0x80295980; // type:function size:0x98
|
||||
fn_80295A20 = .text:0x80295A20; // type:function size:0x90
|
||||
fn_80295AB0__14dLytMiniGame_cFv = .text:0x80295AB0; // type:function size:0x20
|
||||
fn_80295AD0__14dLytMiniGame_cFv = .text:0x80295AD0; // type:function size:0x20
|
||||
fn_80295AF0 = .text:0x80295AF0; // type:function size:0x2C
|
||||
fn_80295B20 = .text:0x80295B20; // type:function size:0x8
|
||||
fn_80295B30 = .text:0x80295B30; // type:function size:0x8
|
||||
fn_80295900__14dLytMiniGame_cFl = .text:0x80295900; // type:function size:0x38
|
||||
startCountdown__14dLytMiniGame_cFv = .text:0x80295940; // type:function size:0x38
|
||||
startFinish__14dLytMiniGame_cFv = .text:0x80295980; // type:function size:0x98
|
||||
fn_80295A20__14dLytMiniGame_cFv = .text:0x80295A20; // type:function size:0x90
|
||||
isStartCountdownDone__14dLytMiniGame_cFv = .text:0x80295AB0; // type:function size:0x20
|
||||
isFinishAnimDone__14dLytMiniGame_cFv = .text:0x80295AD0; // type:function size:0x20
|
||||
isTimeupAnimDone__14dLytMiniGame_cFv = .text:0x80295AF0; // type:function size:0x2C
|
||||
fn_80295B20__14dLytMiniGame_cFl = .text:0x80295B20; // type:function size:0x8
|
||||
fn_80295B30__14dLytMiniGame_cFl = .text:0x80295B30; // type:function size:0x8
|
||||
timeRelatedExecute__14dLytMiniGame_cFv = .text:0x80295B40; // type:function size:0xA8
|
||||
timeRelated__14dLytMiniGame_cFv = .text:0x80295BF0; // type:function size:0x24
|
||||
setDisplayedTime__14dLytMiniGame_cFl = .text:0x80295C20; // type:function size:0x4C
|
||||
setHighscore__14dLytMiniGame_cFl = .text:0x80295C70; // type:function size:0x38
|
||||
fn_80295CB0__14dLytMiniGame_cFb = .text:0x80295CB0; // type:function size:0x38
|
||||
fn_80295CF0 = .text:0x80295CF0; // type:function size:0x8
|
||||
fn_80295D00 = .text:0x80295D00; // type:function size:0xC
|
||||
fn_80295D10 = .text:0x80295D10; // type:function size:0xC
|
||||
fn_80295D20 = .text:0x80295D20; // type:function size:0x8
|
||||
fn_80295D30 = .text:0x80295D30; // type:function size:0x8
|
||||
fn_80295D40 = .text:0x80295D40; // type:function size:0x8
|
||||
fn_80295D50 = .text:0x80295D50; // type:function size:0x8
|
||||
fn_80295D60 = .text:0x80295D60; // type:function size:0x8
|
||||
fn_80295D70 = .text:0x80295D70; // type:function size:0x8
|
||||
fn_80295D80 = .text:0x80295D80; // type:function size:0x4
|
||||
fn_80295D90 = .text:0x80295D90; // type:function size:0x4
|
||||
fn_80295DA0 = .text:0x80295DA0; // type:function size:0x8
|
||||
fn_80295DB0 = .text:0x80295DB0; // type:function size:0x60
|
||||
fn_80295E10 = .text:0x80295E10; // type:function size:0x34
|
||||
fn_80295E50 = .text:0x80295E50; // type:function size:0x54
|
||||
fn_80295EB0 = .text:0x80295EB0; // type:function size:0x54
|
||||
fn_80295F10 = .text:0x80295F10; // type:function size:0x80
|
||||
fn_80295F90 = .text:0x80295F90; // type:function size:0x70
|
||||
fn_80296000 = .text:0x80296000; // type:function size:0x6C
|
||||
fn_80296070 = .text:0x80296070; // type:function size:0xE0
|
||||
fn_80296150 = .text:0x80296150; // type:function size:0xB8
|
||||
fn_80296210 = .text:0x80296210; // type:function size:0x88
|
||||
fn_802962A0 = .text:0x802962A0; // type:function size:0x88
|
||||
fn_80296330 = .text:0x80296330; // type:function size:0xA4
|
||||
fn_802963E0 = .text:0x802963E0; // type:function size:0x98
|
||||
fn_80296480 = .text:0x80296480; // type:function size:0x98
|
||||
setShowBestTime__14dLytMiniGame_cFb = .text:0x80295CB0; // type:function size:0x38
|
||||
startBugsAllIconsIn__14dLytMiniGame_cFv = .text:0x80295CF0; // type:function size:0x8
|
||||
set5Bugs__14dLytMiniGame_cFv = .text:0x80295D00; // type:function size:0xC
|
||||
set10Bugs__14dLytMiniGame_cFv = .text:0x80295D10; // type:function size:0xC
|
||||
reInitBugs__14dLytMiniGame_cFv = .text:0x80295D20; // type:function size:0x8
|
||||
setBug__14dLytMiniGame_cFll = .text:0x80295D30; // type:function size:0x8
|
||||
collectBug__14dLytMiniGame_cFl = .text:0x80295D40; // type:function size:0x8
|
||||
startBugsFlash__14dLytMiniGame_cFv = .text:0x80295D50; // type:function size:0x8
|
||||
isBugIconOnEndReached__14dLytMiniGame_cCFl = .text:0x80295D60; // type:function size:0x8
|
||||
isBugCollected__14dLytMiniGame_cCFl = .text:0x80295D70; // type:function size:0x8
|
||||
fn_80295D80__14dLytMiniGame_cFv = .text:0x80295D80; // type:function size:0x4
|
||||
fn_80295D90__14dLytMiniGame_cFl = .text:0x80295D90; // type:function size:0x4
|
||||
getPumpkin__14dLytMiniGame_cFRC7mVec3_clb = .text:0x80295DA0; // type:function size:0x8
|
||||
fn_80295DB0__14dLytMiniGame_cFv = .text:0x80295DB0; // type:function size:0x60
|
||||
isInEvent__14dLytMiniGame_cCFv = .text:0x80295E10; // type:function size:0x34
|
||||
isPopupOpen__14dLytMiniGame_cCFv = .text:0x80295E50; // type:function size:0x54
|
||||
isPopupOpenExceptHelp__14dLytMiniGame_cCFv = .text:0x80295EB0; // type:function size:0x54
|
||||
isFadingOut__14dLytMiniGame_cCFv = .text:0x80295F10; // type:function size:0x80
|
||||
fn_80295F90__14dLytMiniGame_cFv = .text:0x80295F90; // type:function size:0x70
|
||||
fn_80296000__14dLytMiniGame_cFv = .text:0x80296000; // type:function size:0x6C
|
||||
fn_80296070__14dLytMiniGame_cFv = .text:0x80296070; // type:function size:0xE0
|
||||
fn_80296150__14dLytMiniGame_cFv = .text:0x80296150; // type:function size:0xB8
|
||||
fn_80296210__14dLytMiniGame_cFv = .text:0x80296210; // type:function size:0x88
|
||||
fn_802962A0__14dLytMiniGame_cFv = .text:0x802962A0; // type:function size:0x88
|
||||
fn_80296330__14dLytMiniGame_cFv = .text:0x80296330; // type:function size:0xA4
|
||||
fn_802963E0__14dLytMiniGame_cFv = .text:0x802963E0; // type:function size:0x98
|
||||
fn_80296480__14dLytMiniGame_cFv = .text:0x80296480; // type:function size:0x98
|
||||
init__14dLytMiniGame_cFv = .text:0x80296520; // type:function size:0x58
|
||||
loadData__14dLytMiniGame_cFPCcl = .text:0x80296580; // type:function size:0x130
|
||||
isLoading__14dLytMiniGame_cCFPCc = .text:0x802966B0; // type:function size:0x30
|
||||
@@ -36891,14 +36891,14 @@ jumptable_805399B4 = .data:0x805399B4; // type:object size:0x44 scope:local
|
||||
jumptable_805399F8 = .data:0x805399F8; // type:object size:0x38 scope:local
|
||||
jumptable_80539A30 = .data:0x80539A30; // type:object size:0x38 scope:local
|
||||
jumptable_80539A68 = .data:0x80539A68; // type:object size:0x34 scope:local
|
||||
LytMiniGame__vtable = .data:0x80539A9C; // type:object size:0x4C
|
||||
lbl_80539AE8 = .data:0x80539AE8; // type:object size:0xC
|
||||
lbl_80539AF4 = .data:0x80539AF4; // type:object size:0xC
|
||||
lbl_80539B00 = .data:0x80539B00; // type:object size:0xC
|
||||
lbl_80539B0C = .data:0x80539B0C; // type:object size:0xC
|
||||
lbl_80539B18 = .data:0x80539B18; // type:object size:0xC
|
||||
lbl_80539B24 = .data:0x80539B24; // type:object size:0xC
|
||||
lbl_80539B30 = .data:0x80539B30; // type:object size:0x38
|
||||
__vt__14dLytMiniGame_c = .data:0x80539A9C; // type:object size:0x4C
|
||||
__vt__21dLytMiniGameScoreSd_c = .data:0x80539AE8; // type:object size:0xC
|
||||
__vt__19dLytMiniGameScore_c = .data:0x80539AF4; // type:object size:0xC
|
||||
__vt__19dLytMiniGameStart_c = .data:0x80539B00; // type:object size:0xC
|
||||
__vt__18dLytMiniGameTime_c = .data:0x80539B0C; // type:object size:0xC
|
||||
__vt__18dLytMiniGameBugs_c = .data:0x80539B18; // type:object size:0xC
|
||||
__vt__21dLytMiniGamePumpkin_c = .data:0x80539B24; // type:object size:0xC
|
||||
__vt__26dLytMiniGamePumpkinParts_c = .data:0x80539B30; // type:object size:0xC
|
||||
lbl_80539B68 = .data:0x80539B68; // type:object size:0x1C data:string
|
||||
lbl_80539B84 = .data:0x80539B84; // type:object size:0xE data:string
|
||||
lbl_80539B94 = .data:0x80539B94; // type:object size:0x23 data:string
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m2d.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_fader_base.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "s/s_FPhase.h"
|
||||
#include "s/s_State.hpp"
|
||||
@@ -210,6 +211,14 @@ public:
|
||||
return mFader.isSettled();
|
||||
}
|
||||
|
||||
bool isFadingOut() const {
|
||||
return mFader.isStatus(mFaderBase_c::FADING_OUT);
|
||||
}
|
||||
|
||||
bool isFadingIn() const {
|
||||
return mFader.isStatus(mFaderBase_c::FADING_IN);
|
||||
}
|
||||
|
||||
f32 targetingScreenFn_801BBEC0() const {
|
||||
return mScreen1.fn_801BBEC0();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "egg/gfx/eggScreen.h"
|
||||
#include "m/m_allocator.h"
|
||||
#include "m/m_dvd.h"
|
||||
#include "m/m_fader_base.h"
|
||||
#include "nw4r/g3d/g3d_camera.h"
|
||||
#include "s/s_FPhase.h"
|
||||
#include "s/s_State.hpp"
|
||||
@@ -176,6 +177,10 @@ public:
|
||||
return mFader.isSettled();
|
||||
}
|
||||
|
||||
bool isFadingOut() const {
|
||||
return mFader.isStatus(mFaderBase_c::FADING_OUT);
|
||||
}
|
||||
|
||||
bool isInLastBoss() const {
|
||||
return mIsInLastBoss;
|
||||
}
|
||||
|
||||
+125
-68
@@ -99,17 +99,22 @@ public:
|
||||
ELDIN_ROLLER,
|
||||
};
|
||||
|
||||
private:
|
||||
void startAllIconsIn();
|
||||
void startOut();
|
||||
void startIn();
|
||||
void startOutForced();
|
||||
void setBugsNumLevel(u8 level) {
|
||||
mBugsNumLevel = level;
|
||||
}
|
||||
void setBug(s32 slot, s32 bugIndex);
|
||||
void collectBug(s32 slot);
|
||||
void startBugsFlash();
|
||||
void setBug(s32 slot, s32 bugIndex);
|
||||
bool isSlotIconOnEndReached(s32 slot) const;
|
||||
bool isSlotBugCollected(s32 slot) const;
|
||||
|
||||
void startOut();
|
||||
void startIn();
|
||||
void startOutTemp();
|
||||
|
||||
private:
|
||||
bool isSlotIconOnEnabled(s32 slot) const;
|
||||
bool isSlotBugCollected(s32 slot);
|
||||
void resetBugIconsIn();
|
||||
void resetIn();
|
||||
void resetOut();
|
||||
@@ -147,12 +152,12 @@ private:
|
||||
class dLytMiniGameTime_c {
|
||||
public:
|
||||
enum Variant_e {
|
||||
TIME_VARIANT_0,
|
||||
TIME_VARIANT_1,
|
||||
TIME_VARIANT_2,
|
||||
TIME_VARIANT_3,
|
||||
TIME_VARIANT_4,
|
||||
TIME_VARIANT_5,
|
||||
TIME_VARIANT_INSECT_CAPTURE,
|
||||
TIME_VARIANT_SPIRAL_CHARGE_TUTORIAL,
|
||||
TIME_VARIANT_PUMPKIN_ARCHERY,
|
||||
TIME_VARIANT_ROLLERCOASTER,
|
||||
TIME_VARIANT_BOSS_RUSH,
|
||||
TIME_VARIANT_TRIAL_TIME_ATTACK,
|
||||
};
|
||||
|
||||
public:
|
||||
@@ -185,27 +190,29 @@ public:
|
||||
field_0x7EE = v;
|
||||
}
|
||||
|
||||
void fn_8028DD80();
|
||||
void startOut();
|
||||
void startIn();
|
||||
void startOutTemp();
|
||||
void startFinish();
|
||||
void startAlphaIn();
|
||||
void startAlphaOut();
|
||||
|
||||
void setTimerValueInMilliSeconds(s32 time);
|
||||
void setTimerSecondsValueInMilliSeconds(s32 time);
|
||||
void setBestTime(s32 time);
|
||||
void setShowBestTime(bool show);
|
||||
|
||||
private:
|
||||
enum TimeFormat_e {
|
||||
TIMER_LONG,
|
||||
TIMER_SECONDS,
|
||||
};
|
||||
|
||||
void fn_8028DD80();
|
||||
void fn_8028DE40();
|
||||
void fn_8028DED0();
|
||||
void fn_8028DFD0();
|
||||
void startAlphaIn();
|
||||
void startAlphaOut();
|
||||
void startFinish();
|
||||
void startLoop();
|
||||
void setTimerValueInMilliSeconds(s32 time);
|
||||
void updateLongTimer();
|
||||
void setTimerSecondsValueInMilliSeconds(s32 time);
|
||||
void updateSecondsTimer();
|
||||
void saveSecondsTimer();
|
||||
void setBestTime(s32 time);
|
||||
void setShowBestTime(bool show);
|
||||
void resetIn();
|
||||
void resetOut();
|
||||
void resetAlphaIn();
|
||||
@@ -264,7 +271,6 @@ public:
|
||||
bool draw();
|
||||
void init();
|
||||
|
||||
private:
|
||||
void startCountdown();
|
||||
void startCountdown120();
|
||||
void startFinish();
|
||||
@@ -272,6 +278,8 @@ private:
|
||||
bool isCountdownEndReached() const;
|
||||
bool isFinishEndReached() const;
|
||||
bool isTimeupEndReached() const;
|
||||
|
||||
private:
|
||||
void resetPlayedSounds();
|
||||
void resetCountdown();
|
||||
void resetFinish();
|
||||
@@ -298,11 +306,11 @@ private:
|
||||
class dLytMiniGameScore_c {
|
||||
public:
|
||||
enum Variant_e {
|
||||
SCORE_VARIANT_0,
|
||||
SCORE_VARIANT_1,
|
||||
SCORE_VARIANT_2,
|
||||
SCORE_VARIANT_3,
|
||||
SCORE_VARIANT_4,
|
||||
SCORE_VARIANT_BAMBOO_CUTTING,
|
||||
SCORE_VARIANT_FUN_FUN_ISLAND,
|
||||
SCORE_VARIANT_THRILL_DIGGER,
|
||||
SCORE_VARIANT_PUMPKIN_ARCHERY,
|
||||
SCORE_VARIANT_SPIRAL_CHARGE_TUTORIAL,
|
||||
};
|
||||
|
||||
public:
|
||||
@@ -325,7 +333,7 @@ public:
|
||||
field_0x814(false),
|
||||
field_0x815(false),
|
||||
field_0x816(false),
|
||||
mVariant(SCORE_VARIANT_0),
|
||||
mVariant(SCORE_VARIANT_BAMBOO_CUTTING),
|
||||
field_0x81C(0),
|
||||
field_0x820(false),
|
||||
field_0x824(0),
|
||||
@@ -350,22 +358,31 @@ public:
|
||||
field_0x816 = v;
|
||||
}
|
||||
|
||||
private:
|
||||
void setField_0x828(bool v) {
|
||||
field_0x828 = v;
|
||||
}
|
||||
|
||||
s32 getScore() const {
|
||||
return mScore;
|
||||
}
|
||||
|
||||
void startIn();
|
||||
void startOut();
|
||||
void startOutTemp();
|
||||
void setScore(s32 score);
|
||||
void fn_80291410();
|
||||
void fn_802915B0();
|
||||
void fn_80291640();
|
||||
void fn_80291740();
|
||||
void startAlphaIn();
|
||||
void startAlphaOut();
|
||||
void startGetScore();
|
||||
void fn_80291D40(s32 score);
|
||||
void fn_80291ED0(s32);
|
||||
void startFinish();
|
||||
|
||||
private:
|
||||
void startGetScore();
|
||||
void startLoop();
|
||||
void setScore(s32 score);
|
||||
void fn_80291BC0();
|
||||
void fn_80291D40(s32 arg);
|
||||
bool hasIncreasedScore() const;
|
||||
bool hasDecreasedScore() const;
|
||||
void fn_80291ED0(s32);
|
||||
void fn_80291EF0();
|
||||
void increaseScore(s32);
|
||||
void fn_80292040();
|
||||
@@ -455,11 +472,12 @@ public:
|
||||
bool draw();
|
||||
void init();
|
||||
|
||||
void setScoreUp(s32 score);
|
||||
void setScoreDown(s32 score);
|
||||
|
||||
private:
|
||||
static dLytMiniGameScoreSd_c *sInstance;
|
||||
|
||||
void setScoreUp(s32 score);
|
||||
void setScoreDown(s32 score);
|
||||
void setScoreInternal(s32 score);
|
||||
void setHighestDigitIndex(s32);
|
||||
void setDigit(s32 digitIndex, s32 number);
|
||||
@@ -485,15 +503,18 @@ class dLytMiniGame_c : public dBase_c {
|
||||
public:
|
||||
enum Variant_e {
|
||||
VARIANT_0,
|
||||
VARIANT_1,
|
||||
VARIANT_2,
|
||||
VARIANT_3,
|
||||
VARIANT_4,
|
||||
VARIANT_5,
|
||||
VARIANT_6,
|
||||
VARIANT_7,
|
||||
VARIANT_8,
|
||||
VARIANT_9,
|
||||
VARIANT_BAMBOO_CUTTING,
|
||||
VARIANT_FUN_FUN_ISLAND,
|
||||
VARIANT_THRILL_DIGGER,
|
||||
VARIANT_INSECT_CAPTURE,
|
||||
VARIANT_SPIRAL_CHARGE_TUTORIAL,
|
||||
VARIANT_PUMPKIN_ARCHERY,
|
||||
VARIANT_ROLLERCOASTER,
|
||||
VARIANT_BOSS_RUSH,
|
||||
VARIANT_TRIAL_TIME_ATTACK,
|
||||
// These are created by dFlow_c and correspond to above entries.
|
||||
// They also cause things to behave a bit differently. What is the purpose
|
||||
// of these special variants?
|
||||
VARIANT_10,
|
||||
VARIANT_11,
|
||||
VARIANT_12,
|
||||
@@ -515,12 +536,12 @@ private:
|
||||
|
||||
public:
|
||||
dLytMiniGame_c()
|
||||
: field_0x0068(0),
|
||||
field_0x0069(0),
|
||||
field_0x006A(0),
|
||||
field_0x006B(0),
|
||||
field_0x006C(0),
|
||||
field_0x006D(0),
|
||||
: field_0x0068(false),
|
||||
field_0x0069(false),
|
||||
field_0x006A(false),
|
||||
field_0x006B(false),
|
||||
field_0x006C(false),
|
||||
field_0x006D(false),
|
||||
mVariant(1),
|
||||
field_0x3864(0),
|
||||
field_0x3865(0),
|
||||
@@ -539,28 +560,35 @@ public:
|
||||
}
|
||||
|
||||
/** Updates some window */
|
||||
void fn_80295940();
|
||||
void startCountdown();
|
||||
/** ??? */
|
||||
void fn_80295980();
|
||||
void startFinish();
|
||||
void fn_80295A20();
|
||||
/** Checks to see if in BAMBOO_CUTTING .. BOSS_RUSH and returns some boolean (start?) */
|
||||
bool fn_80295AB0();
|
||||
bool isStartCountdownDone();
|
||||
/** Checks to see if in BAMBOO_CUTTING .. BOSS_RUSH and returns some boolean (end?) */
|
||||
bool fn_80295AD0();
|
||||
bool isFinishAnimDone();
|
||||
bool isTimeupAnimDone();
|
||||
|
||||
void fn_80295B20(s32);
|
||||
void fn_80295B30(s32);
|
||||
|
||||
void setHighscore(s32 time);
|
||||
|
||||
/** GUESS: sets the start for the high score? */
|
||||
void fn_80295CB0(bool);
|
||||
void setShowBestTime(bool);
|
||||
|
||||
void timeRelatedExecute();
|
||||
void scoreRelatedExecute();
|
||||
|
||||
void setDisplayedTime(s32 time);
|
||||
void setDisplayedPoints(s32 time);
|
||||
void setDisplayedPoints(s32 points);
|
||||
|
||||
void timeRelated();
|
||||
void scoreRelated();
|
||||
|
||||
void fn_80295900(s32);
|
||||
|
||||
/** GUESS: Assumption based on function caller */
|
||||
void setComplete() {
|
||||
field_0x3866 = true;
|
||||
@@ -573,16 +601,45 @@ private:
|
||||
bool loadData(const char *name, s32 slot);
|
||||
void unloadData(const char *name);
|
||||
void attachLoadedData(const char *name, d2d::ResAccIf_c &resAcc);
|
||||
|
||||
|
||||
void init();
|
||||
|
||||
/* 0x0068 */ u8 field_0x0068;
|
||||
/* 0x0069 */ u8 field_0x0069;
|
||||
/* 0x006A */ u8 field_0x006A;
|
||||
/* 0x006B */ u8 field_0x006B;
|
||||
/* 0x006C */ u8 field_0x006C;
|
||||
/* 0x006D */ u8 field_0x006D;
|
||||
void startBugsAllIconsIn();
|
||||
void set5Bugs();
|
||||
void set10Bugs();
|
||||
void reInitBugs();
|
||||
void setBug(s32 slot, s32 bugIndex);
|
||||
void collectBug(s32 slot);
|
||||
void startBugsFlash();
|
||||
bool isBugIconOnEndReached(s32 slot) const;
|
||||
bool isBugCollected(s32 slot) const;
|
||||
void fn_80295D80();
|
||||
void fn_80295D90(s32 points);
|
||||
void getPumpkin(const mVec3_c &pumpkinPos, s32 unk, bool doubleScore);
|
||||
bool fn_80295DB0();
|
||||
bool isInEvent() const;
|
||||
bool isPopupOpen() const;
|
||||
bool isPopupOpenExceptHelp() const;
|
||||
bool isFadingOut() const;
|
||||
|
||||
void fn_80295F90();
|
||||
void fn_80296000();
|
||||
void fn_80296070();
|
||||
void fn_80296150();
|
||||
void fn_80296210();
|
||||
void fn_802962A0();
|
||||
void fn_80296330();
|
||||
|
||||
// These two do the same thing
|
||||
void fn_802963E0();
|
||||
void fn_80296480();
|
||||
|
||||
/* 0x0068 */ bool field_0x0068;
|
||||
/* 0x0069 */ bool field_0x0069;
|
||||
/* 0x006A */ bool field_0x006A;
|
||||
/* 0x006B */ bool field_0x006B;
|
||||
/* 0x006C */ bool field_0x006C;
|
||||
/* 0x006D */ bool field_0x006D;
|
||||
|
||||
/* 0x0070 */ d2d::ResAccIf_c mResAccStart;
|
||||
/* 0x03E0 */ d2d::ResAccIf_c mResAccScore;
|
||||
|
||||
@@ -93,7 +93,7 @@ public:
|
||||
|
||||
bool fn_800C9F70();
|
||||
bool fn_800C9FE0();
|
||||
bool fn_800CA040();
|
||||
bool isPopupOpen();
|
||||
|
||||
bool isInMapEvent();
|
||||
bool fn_800D5380(u8);
|
||||
@@ -402,6 +402,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static s32 getRupeeDifference() {
|
||||
if (sInstance != nullptr) {
|
||||
return sInstance->mMain.mRupy.getRupeeDifference();
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void setField_0x13B61(u8 val) {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->field_0x13B61 = val;
|
||||
@@ -452,6 +460,14 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
static bool isPopupOpen() {
|
||||
if (sInstance != nullptr) {
|
||||
return sInstance->mMain.isPopupOpen();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
static bool getfn_800D97A0() {
|
||||
if (sInstance != nullptr) {
|
||||
return sInstance->fn_800D97A0();
|
||||
|
||||
@@ -117,10 +117,11 @@ public:
|
||||
mSize = size;
|
||||
}
|
||||
|
||||
s32 getRupeeDifference() const;
|
||||
|
||||
private:
|
||||
bool updateDisplayedAmount(bool suppressSound);
|
||||
bool hasChangeInRupees() const;
|
||||
s32 getRupeeDifference() const;
|
||||
void setDigit(s32 index, s32 digit);
|
||||
void executeDigitJump();
|
||||
void executeDigitBlink(s32 amount);
|
||||
|
||||
@@ -34,6 +34,9 @@ public:
|
||||
static bool checkInBossRush() {
|
||||
return isInMinigameState(BOSS_RUSH);
|
||||
}
|
||||
static bool checkInFunFunIsland() {
|
||||
return isInMinigameState(FUN_FUN_ISLAND);
|
||||
}
|
||||
|
||||
private:
|
||||
MinigameManager() {}
|
||||
|
||||
@@ -68,12 +68,12 @@ int dTgSwordBattleGame_c::actorExecuteInEvent() {
|
||||
} break;
|
||||
case 'cndn': {
|
||||
if (advance) {
|
||||
dLytMiniGame_c::GetInstance()->fn_80295940();
|
||||
dLytMiniGame_c::GetInstance()->startCountdown();
|
||||
|
||||
} else if (dLytMiniGame_c::GetInstance()->fn_80295AB0()) {
|
||||
} else if (dLytMiniGame_c::GetInstance()->isStartCountdownDone()) {
|
||||
dLytMiniGame_c::GetInstance()->timeRelatedExecute();
|
||||
dLytMiniGame_c::GetInstance()->setHighscore(getBossHighscore());
|
||||
dLytMiniGame_c::GetInstance()->fn_80295CB0(true);
|
||||
dLytMiniGame_c::GetInstance()->setShowBestTime(true);
|
||||
mTimer.initUpCounter();
|
||||
field_0x1A8 = true;
|
||||
field_0x1AC = true;
|
||||
@@ -83,8 +83,8 @@ int dTgSwordBattleGame_c::actorExecuteInEvent() {
|
||||
} break;
|
||||
case 'fnsh': {
|
||||
if (advance) {
|
||||
dLytMiniGame_c::GetInstance()->fn_80295980();
|
||||
} else if (dLytMiniGame_c::GetInstance()->fn_80295AD0()) {
|
||||
dLytMiniGame_c::GetInstance()->startFinish();
|
||||
} else if (dLytMiniGame_c::GetInstance()->isFinishAnimDone()) {
|
||||
mEventRelated.advanceNext();
|
||||
}
|
||||
ret = SUCCEEDED;
|
||||
@@ -112,7 +112,7 @@ int dTgSwordBattleGame_c::actorExecuteInEvent() {
|
||||
setInBossRushFlag();
|
||||
setCurrentBossNumber(mBossNumber + 1);
|
||||
if (MinigameManager::endMinigame(MinigameManager::BOSS_RUSH)) {
|
||||
dLytMiniGame_c::GetInstance()->fn_80295980();
|
||||
dLytMiniGame_c::GetInstance()->startFinish();
|
||||
dLytMiniGame_c::GetInstance()->timeRelated();
|
||||
}
|
||||
}
|
||||
@@ -163,7 +163,7 @@ void dTgSwordBattleGame_c::finalizeState_Manage() {}
|
||||
|
||||
void dTgSwordBattleGame_c::init() {
|
||||
if (MinigameManager::GetInstance()->checkInBossRush()) {
|
||||
createBase(fProfile::LYT_MINI_GAME, this, 8, OTHER);
|
||||
createBase(fProfile::LYT_MINI_GAME, this, dLytMiniGame_c::VARIANT_BOSS_RUSH, OTHER);
|
||||
}
|
||||
mTimer.vt_0x0C();
|
||||
|
||||
|
||||
+33
-11
@@ -437,9 +437,7 @@ bool dFlow_c::handleEventInternal(const MsbFlowInfo *element) {
|
||||
dMessage_c::getInstance()->setInMapEvent(true);
|
||||
dMessage_c::getInstance()->clearLightPillarRelatedArgs();
|
||||
if (dLytControlGame_c::getInstance()->isStateNotNormalOrInEvent()) {
|
||||
dLytControlGame_c::getInstance()->openMapEvent(
|
||||
mapEvent, arg1, arg2
|
||||
);
|
||||
dLytControlGame_c::getInstance()->openMapEvent(mapEvent, arg1, arg2);
|
||||
}
|
||||
} else {
|
||||
dLytMap_c::GetInstance()->queueMapEvent(mapEvent, arg1, arg2);
|
||||
@@ -1196,28 +1194,52 @@ void dFlow_c::createLytMiniGame() {
|
||||
if (dLytMiniGame_c::GetInstance() == nullptr) {
|
||||
switch (dMessage_c::getInstance()->getMiniGameVariant()) {
|
||||
case 0:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 11, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_11,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 1:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 10, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_10,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 2:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 12, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_12,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 3:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 14, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_14,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 4:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 13, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_13,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 5:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 2, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_FUN_FUN_ISLAND,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 6:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 16, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_16,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
case 7:
|
||||
dBase_c::createBase(fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), 15, fBase_c::OTHER);
|
||||
dBase_c::createBase(
|
||||
fProfile::LYT_MINI_GAME, dLytControlGame_c::getInstance(), dLytMiniGame_c::VARIANT_15,
|
||||
fBase_c::OTHER
|
||||
);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
+714
-74
File diff suppressed because it is too large
Load Diff
@@ -581,7 +581,7 @@ bool dLytMeterMain_c::fn_800C9FE0() {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool dLytMeterMain_c::fn_800CA040() {
|
||||
bool dLytMeterMain_c::isPopupOpen() {
|
||||
if (mHelpOpen || isInModeMap() || isInModePause()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user