mirror of
https://github.com/zeldaret/ss
synced 2026-06-10 12:55:12 -04:00
d_lyt_save_mgr OK
This commit is contained in:
@@ -1571,6 +1571,7 @@ d/lyt/d_lyt_save_mgr.cpp:
|
||||
.ctors start:0x804DB864 end:0x804DB868
|
||||
.rodata start:0x804EE778 end:0x804EE790
|
||||
.data start:0x80538160 end:0x80538498
|
||||
.sdata start:0x80573B80 end:0x80573B88
|
||||
.sbss start:0x80575950 end:0x80575958
|
||||
.bss start:0x805B5F00 end:0x805B6000
|
||||
|
||||
|
||||
+101
-74
@@ -15022,54 +15022,53 @@ __dt__29sFStateID_c<14dLytGameOver_c>Fv = .text:0x80284DD0; // type:function siz
|
||||
__dt__32sFStateID_c<17dLytGameOverMgr_c>Fv = .text:0x80284E30; // type:function size:0x58
|
||||
isSameName__32sFStateID_c<17dLytGameOverMgr_c>CFPCc = .text:0x80284E90; // type:function size:0x88
|
||||
isSameName__29sFStateID_c<14dLytGameOver_c>CFPCc = .text:0x80284F20; // type:function size:0x88
|
||||
LytSaveMgr__ctor = .text:0x80284FB0; // type:function size:0x30
|
||||
LytSaveMgr__ctorCont = .text:0x80284FE0; // type:function size:0xB0
|
||||
fn_80285090 = .text:0x80285090; // type:function size:0x58
|
||||
fn_802850F0 = .text:0x802850F0; // type:function size:0x6C
|
||||
fn_80285160 = .text:0x80285160; // type:function size:0xA0
|
||||
fn_80285200 = .text:0x80285200; // type:function size:0xA4
|
||||
fn_802852B0 = .text:0x802852B0; // type:function size:0x23C
|
||||
LytSaveMgr__init = .text:0x802854F0; // type:function size:0x54
|
||||
fn_80285550 = .text:0x80285550; // type:function size:0x10
|
||||
fn_80285560 = .text:0x80285560; // type:function size:0x28
|
||||
LytSaveMgr__update = .text:0x80285590; // type:function size:0x30
|
||||
fn_802855C0 = .text:0x802855C0; // type:function size:0x10
|
||||
LytSaveMgr__draw = .text:0x802855D0; // type:function size:0x28
|
||||
fn_80285600 = .text:0x80285600; // type:function size:0x18
|
||||
fn_80285620 = .text:0x80285620; // type:function size:0x1C
|
||||
fn_80285640 = .text:0x80285640; // type:function size:0x10
|
||||
fn_80285650__13dLytSaveMgr_cCFv = .text:0x80285650; // type:function size:0x4C
|
||||
LytSaveMgr__stateInitEnter = .text:0x802856A0; // type:function size:0x14
|
||||
LytSaveMgr__stateInitUpdate = .text:0x802856C0; // type:function size:0x28
|
||||
LytSaveMgr__stateInitLeave = .text:0x802856F0; // type:function size:0x4
|
||||
LytSaveMgr__stateFadeOutEnter = .text:0x80285700; // type:function size:0x74
|
||||
LytSaveMgr__stateFadeOutUpdate = .text:0x80285780; // type:function size:0xC4
|
||||
LytSaveMgr__stateFadeOutLeave = .text:0x80285850; // type:function size:0x4
|
||||
LytSaveMgr__stateSelectEnter = .text:0x80285860; // type:function size:0x4C
|
||||
LytSaveMgr__stateSelectUpdate = .text:0x802858B0; // type:function size:0xD18
|
||||
LytSaveMgr__stateSelectLeave = .text:0x802865D0; // type:function size:0x4
|
||||
fn_802865E0 = .text:0x802865E0; // type:function size:0x30
|
||||
fn_80286610 = .text:0x80286610; // type:function size:0x40
|
||||
fn_80286650 = .text:0x80286650; // type:function size:0x4
|
||||
fn_80286660 = .text:0x80286660; // type:function size:0x4
|
||||
fn_80286670 = .text:0x80286670; // type:function size:0x28
|
||||
fn_802866A0 = .text:0x802866A0; // type:function size:0x60
|
||||
fn_80286700 = .text:0x80286700; // type:function size:0xC
|
||||
fn_80286710 = .text:0x80286710; // type:function size:0x1C
|
||||
fn_80286730 = .text:0x80286730; // type:function size:0x1C
|
||||
fn_80286750 = .text:0x80286750; // type:function size:0x1C
|
||||
fn_80286770 = .text:0x80286770; // type:function size:0x10
|
||||
fn_80286780 = .text:0x80286780; // type:function size:0x10
|
||||
fn_80286790 = .text:0x80286790; // type:function size:0x10
|
||||
fn_802867A0 = .text:0x802867A0; // type:function size:0x10
|
||||
fn_802867B0 = .text:0x802867B0; // type:function size:0x10
|
||||
fn_802867C0 = .text:0x802867C0; // type:function size:0x10
|
||||
fn_802867D0 = .text:0x802867D0; // type:function size:0x30
|
||||
fn_80286800 = .text:0x80286800; // type:function size:0x30
|
||||
fn_80286830 = .text:0x80286830; // type:function size:0x30
|
||||
LytSaveMgr__initStates = .text:0x80286860; // type:function size:0x338
|
||||
LytSaveMgr__ActorState__dtor = .text:0x80286BA0; // type:function size:0x58
|
||||
fn_80286C00 = .text:0x80286C00; // type:function size:0x88
|
||||
dLytSaveMgr_c_classInit__Fv = .text:0x80284FB0; // type:function size:0x30
|
||||
__ct__13dLytSaveMgr_cFv = .text:0x80284FE0; // type:function size:0xB0
|
||||
__dt__26sFState_c<13dLytSaveMgr_c>Fv = .text:0x80285090; // type:function size:0x58 scope:weak
|
||||
__dt__29sFStateFct_c<13dLytSaveMgr_c>Fv = .text:0x802850F0; // type:function size:0x6C scope:weak
|
||||
__dt__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80285160; // type:function size:0xA0 scope:weak
|
||||
__dt__52sFStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c>Fv = .text:0x80285200; // type:function size:0xA4 scope:weak
|
||||
__dt__13dLytSaveMgr_cFv = .text:0x802852B0; // type:function size:0x23C
|
||||
create__13dLytSaveMgr_cFv = .text:0x802854F0; // type:function size:0x54
|
||||
changeState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80285550; // type:function size:0x10 scope:weak
|
||||
doDelete__13dLytSaveMgr_cFv = .text:0x80285560; // type:function size:0x28
|
||||
execute__13dLytSaveMgr_cFv = .text:0x80285590; // type:function size:0x30
|
||||
executeState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802855C0; // type:function size:0x10 scope:weak
|
||||
draw__13dLytSaveMgr_cFv = .text:0x802855D0; // type:function size:0x28
|
||||
setPrompt__13dLytSaveMgr_cFlb = .text:0x80285600; // type:function size:0x18
|
||||
setSaveobjPrompt__13dLytSaveMgr_cFlUcb = .text:0x80285620; // type:function size:0x1C
|
||||
getStateID__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80285640; // type:function size:0x10 scope:weak
|
||||
isBusy__13dLytSaveMgr_cCFv = .text:0x80285650; // type:function size:0x4C
|
||||
initializeState_Init__13dLytSaveMgr_cFv = .text:0x802856A0; // type:function size:0x14
|
||||
executeState_Init__13dLytSaveMgr_cFv = .text:0x802856C0; // type:function size:0x28
|
||||
finalizeState_Init__13dLytSaveMgr_cFv = .text:0x802856F0; // type:function size:0x4
|
||||
initializeState_FadeOut__13dLytSaveMgr_cFv = .text:0x80285700; // type:function size:0x74
|
||||
executeState_FadeOut__13dLytSaveMgr_cFv = .text:0x80285780; // type:function size:0xC4
|
||||
finalizeState_FadeOut__13dLytSaveMgr_cFv = .text:0x80285850; // type:function size:0x4
|
||||
initializeState_Select__13dLytSaveMgr_cFv = .text:0x80285860; // type:function size:0x4C
|
||||
executeState_Select__13dLytSaveMgr_cFv = .text:0x802858B0; // type:function size:0xD18
|
||||
finalizeState_Select__13dLytSaveMgr_cFv = .text:0x802865D0; // type:function size:0x4
|
||||
initializeState_FadeIn__13dLytSaveMgr_cFv = .text:0x802865E0; // type:function size:0x30
|
||||
executeState_FadeIn__13dLytSaveMgr_cFv = .text:0x80286610; // type:function size:0x44
|
||||
finalizeState_FadeIn__13dLytSaveMgr_cFv = .text:0x80286660; // type:function size:0x4
|
||||
init__13dLytSaveMgr_cFv = .text:0x80286670; // type:function size:0x28
|
||||
build__29sFStateFct_c<13dLytSaveMgr_c>FRC12sStateIDIf_c = .text:0x802866A0; // type:function size:0x60 scope:weak
|
||||
dispose__29sFStateFct_c<13dLytSaveMgr_c>FRP10sStateIf_c = .text:0x80286700; // type:function size:0xC scope:weak
|
||||
initialize__26sFState_c<13dLytSaveMgr_c>Fv = .text:0x80286710; // type:function size:0x1C scope:weak
|
||||
execute__26sFState_c<13dLytSaveMgr_c>Fv = .text:0x80286730; // type:function size:0x1C scope:weak
|
||||
finalize__26sFState_c<13dLytSaveMgr_c>Fv = .text:0x80286750; // type:function size:0x1C scope:weak
|
||||
initializeState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80286770; // type:function size:0x10 scope:weak
|
||||
finalizeState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80286780; // type:function size:0x10 scope:weak
|
||||
refreshState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80286790; // type:function size:0x10 scope:weak
|
||||
getState__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802867A0; // type:function size:0x10 scope:weak
|
||||
getNewStateID__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802867B0; // type:function size:0x10 scope:weak
|
||||
getOldStateID__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802867C0; // type:function size:0x10 scope:weak
|
||||
finalizeState__28sFStateID_c<13dLytSaveMgr_c>CFR13dLytSaveMgr_c = .text:0x802867D0; // type:function size:0x30 scope:weak
|
||||
executeState__28sFStateID_c<13dLytSaveMgr_c>CFR13dLytSaveMgr_c = .text:0x80286800; // type:function size:0x30 scope:weak
|
||||
initializeState__28sFStateID_c<13dLytSaveMgr_c>CFR13dLytSaveMgr_c = .text:0x80286830; // type:function size:0x30 scope:weak
|
||||
__sinit_\d_lyt_save_mgr_cpp = .text:0x80286860; // type:function size:0x338 scope:local
|
||||
__dt__28sFStateID_c<13dLytSaveMgr_c>Fv = .text:0x80286BA0; // type:function size:0x58 scope:weak
|
||||
isSameName__28sFStateID_c<13dLytSaveMgr_c>CFPCc = .text:0x80286C00; // type:function size:0x88 scope:weak
|
||||
fn_80286C90 = .text:0x80286C90; // type:function size:0x28
|
||||
fn_80286CC0 = .text:0x80286CC0; // type:function size:0x40
|
||||
fn_80286D00 = .text:0x80286D00; // type:function size:0x58
|
||||
@@ -28674,7 +28673,7 @@ lbl_804EE6C0 = .rodata:0x804EE6C0; // type:object size:0x40 data:4byte
|
||||
lbl_804EE700 = .rodata:0x804EE700; // type:object size:0x28 data:4byte
|
||||
lbl_804EE728 = .rodata:0x804EE728; // type:object size:0x28
|
||||
lbl_804EE750 = .rodata:0x804EE750; // type:object size:0x28
|
||||
lbl_804EE778 = .rodata:0x804EE778; // type:object size:0x18
|
||||
@LOCAL@executeState_FadeOut__13dLytSaveMgr_cFv@sFadeOutModes@0 = .rodata:0x804EE778; // type:object size:0x18 scope:local
|
||||
lbl_804EE790 = .rodata:0x804EE790; // type:object size:0x48
|
||||
lbl_804EE7D8 = .rodata:0x804EE7D8; // type:object size:0x18 data:4byte
|
||||
lbl_804EE7F0 = .rodata:0x804EE7F0; // type:object size:0x150 data:4byte
|
||||
@@ -36437,24 +36436,48 @@ __vt__27sFState_c<14dLytGameOver_c> = .data:0x80537D68; // type:object size:0x39
|
||||
__vt__32sFStateID_c<17dLytGameOverMgr_c> = .data:0x805380F8; // type:object size:0x34
|
||||
__vt__29sFStateID_c<14dLytGameOver_c> = .data:0x8053812C; // type:object size:0x34
|
||||
g_profile_LYT_SAVE_MGR = .data:0x80538160; // type:object size:0xC
|
||||
lbl_8053816C = .data:0x8053816C; // type:object size:0xC data:string
|
||||
lbl_80538178 = .data:0x80538178; // type:object size:0xC data:string
|
||||
lbl_80538184 = .data:0x80538184; // type:object size:0xC data:string
|
||||
lbl_80538190 = .data:0x80538190; // type:object size:0xC data:string
|
||||
lbl_8053819C = .data:0x8053819C; // type:object size:0xC data:string
|
||||
lbl_805381A8 = .data:0x805381A8; // type:object size:0x10
|
||||
lbl_805381B8 = .data:0x805381B8; // type:object size:0x18
|
||||
lbl_805381D0 = .data:0x805381D0; // type:object size:0xC data:string
|
||||
lbl_805381DC = .data:0x805381DC; // type:object size:0xC data:string
|
||||
lbl_805381E8 = .data:0x805381E8; // type:object size:0xC data:string
|
||||
lbl_805381F4 = .data:0x805381F4; // type:object size:0xC data:string
|
||||
lbl_80538200 = .data:0x80538200; // type:object size:0x78
|
||||
vtable = .data:0x80538278; // type:object size:0x50
|
||||
lbl_805382C8 = .data:0x805382C8; // type:object size:0x30
|
||||
lbl_805382F8 = .data:0x805382F8; // type:object size:0x30
|
||||
lbl_80538328 = .data:0x80538328; // type:object size:0x18
|
||||
lbl_80538340 = .data:0x80538340; // type:object size:0x124
|
||||
lbl_80538464 = .data:0x80538464; // type:object size:0x34
|
||||
...data.0 = .data:0x80538160; // type:label scope:local
|
||||
@25212 = .data:0x8053816C; // type:object size:0xC scope:local data:string
|
||||
@25213 = .data:0x80538178; // type:object size:0xC scope:local data:string
|
||||
@25214 = .data:0x80538184; // type:object size:0xC scope:local data:string
|
||||
@25215 = .data:0x80538190; // type:object size:0xC scope:local data:string
|
||||
@25216 = .data:0x8053819C; // type:object size:0xC scope:local data:string
|
||||
@25217 = .data:0x805381A8; // type:object size:0xC scope:local data:string
|
||||
@LOCAL@executeState_FadeOut__13dLytSaveMgr_cFv@sFadeOutTexts = .data:0x805381B8; // type:object size:0x18 scope:local
|
||||
@25241 = .data:0x805381D0; // type:object size:0xC scope:local data:string
|
||||
@25242 = .data:0x805381DC; // type:object size:0xC scope:local data:string
|
||||
@25243 = .data:0x805381E8; // type:object size:0xC scope:local data:string
|
||||
@25244 = .data:0x805381F4; // type:object size:0xC scope:local data:string
|
||||
@25245 = .data:0x80538200; // type:object size:0xC scope:local data:string
|
||||
@LOCAL@executeState_Select__13dLytSaveMgr_cFv@sConfirmTexts = .data:0x80538210; // type:object size:0x18 scope:local
|
||||
@27092 = .data:0x80538228; // type:object size:0xC scope:local data:string
|
||||
@27093 = .data:0x80538238; // type:object size:0x10 scope:local data:string
|
||||
@27094 = .data:0x80538248; // type:object size:0xC scope:local data:string
|
||||
@27095 = .data:0x80538254; // type:object size:0xC scope:local data:string
|
||||
@27096 = .data:0x80538260; // type:object size:0xC scope:local data:string
|
||||
@27097 = .data:0x8053826C; // type:object size:0xC scope:local data:string
|
||||
__vt__13dLytSaveMgr_c = .data:0x80538278; // type:object size:0x4C
|
||||
__vt__52sFStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c> = .data:0x805382C8; // type:object size:0x30 scope:weak
|
||||
__vt__82sStateMgr_c<13dLytSaveMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x805382F8; // type:object size:0x30 scope:weak
|
||||
__vt__29sFStateFct_c<13dLytSaveMgr_c> = .data:0x80538328; // type:object size:0x14 scope:weak
|
||||
__vt__26sFState_c<13dLytSaveMgr_c> = .data:0x80538340; // type:object size:0x18 scope:weak
|
||||
@27154 = .data:0x80538358; // type:object size:0xC scope:local
|
||||
@27155 = .data:0x80538364; // type:object size:0xC scope:local
|
||||
@27156 = .data:0x80538370; // type:object size:0xC scope:local
|
||||
@27157 = .data:0x8053837C; // type:object size:0xC scope:local
|
||||
@27158 = .data:0x80538388; // type:object size:0xC scope:local
|
||||
@27159 = .data:0x80538394; // type:object size:0xC scope:local
|
||||
@27160 = .data:0x805383A0; // type:object size:0xC scope:local
|
||||
@27161 = .data:0x805383AC; // type:object size:0xC scope:local
|
||||
@27162 = .data:0x805383B8; // type:object size:0xC scope:local
|
||||
@27163 = .data:0x805383C4; // type:object size:0xC scope:local
|
||||
@27164 = .data:0x805383D0; // type:object size:0xC scope:local
|
||||
@27165 = .data:0x805383DC; // type:object size:0xC scope:local
|
||||
@27167 = .data:0x805383E8; // type:object size:0x1C scope:local data:string
|
||||
@27168 = .data:0x80538404; // type:object size:0x1F scope:local data:string
|
||||
@27169 = .data:0x80538424; // type:object size:0x1E scope:local data:string
|
||||
@27170 = .data:0x80538444; // type:object size:0x1E scope:local data:string
|
||||
__vt__28sFStateID_c<13dLytSaveMgr_c> = .data:0x80538464; // type:object size:0x34 scope:weak
|
||||
g_profile_LYT_DROP_LINE = .data:0x80538498; // type:object size:0xC
|
||||
lbl_805384A4 = .data:0x805384A4; // type:object size:0xC
|
||||
lbl_805384B0 = .data:0x805384B0; // type:object size:0x50
|
||||
@@ -40875,7 +40898,7 @@ lbl_80573B60 = .sdata:0x80573B60; // type:object size:0x5 data:string
|
||||
lbl_80573B68 = .sdata:0x80573B68; // type:object size:0x5 data:string
|
||||
lbl_80573B70 = .sdata:0x80573B70; // type:object size:0x5 data:string
|
||||
lbl_80573B78 = .sdata:0x80573B78; // type:object size:0x5 data:string
|
||||
lbl_80573B80 = .sdata:0x80573B80; // type:object size:0x8
|
||||
@27091 = .sdata:0x80573B80; // type:object size:0x5 scope:local data:string
|
||||
lbl_80573B88 = .sdata:0x80573B88; // type:object size:0x8 data:string
|
||||
lbl_80573B90 = .sdata:0x80573B90; // type:object size:0x4 data:4byte
|
||||
lbl_80573B94 = .sdata:0x80573B94; // type:object size:0x4 data:4byte
|
||||
@@ -42200,7 +42223,7 @@ sDisp00ArrowRotation__14dLytPauseMgr_c = .sbss:0x80575938; // type:object size:0
|
||||
sDisp00ArrowLength__14dLytPauseMgr_c = .sbss:0x8057593C; // type:object size:0x4 align:4 data:float
|
||||
sInstance__14dLytPauseMgr_c = .sbss:0x80575940; // type:object size:0x4 data:4byte
|
||||
sInstance__17dLytGameOverMgr_c = .sbss:0x80575948; // type:object size:0x4 data:4byte
|
||||
sInstance__13dLytSaveMgr_c = .sbss:0x80575950; // type:object size:0x8 data:4byte
|
||||
sInstance__13dLytSaveMgr_c = .sbss:0x80575950; // type:object size:0x4 data:4byte
|
||||
lbl_80575958 = .sbss:0x80575958; // type:object size:0x1 data:byte
|
||||
lbl_80575959 = .sbss:0x80575959; // type:object size:0x1 data:byte
|
||||
lbl_8057595C = .sbss:0x8057595C; // type:object size:0x4 data:4byte
|
||||
@@ -52031,11 +52054,15 @@ LytGameOver__STATE_OUT = .bss:0x805B5E10; // type:object size:0x40 data:4byte
|
||||
LytGameOverMgr__STATE_INIT = .bss:0x805B5E50; // type:object size:0x40 data:4byte
|
||||
LytGameOverMgr__STATE_FADE_OUT = .bss:0x805B5E90; // type:object size:0x40 data:4byte
|
||||
LytGameOverMgr__STATE_SELECT = .bss:0x805B5ED0; // type:object size:0x30 data:4byte
|
||||
lbl_805B5F00 = .bss:0x805B5F00; // type:object size:0x10
|
||||
LytSaveMgr__STATE_INIT = .bss:0x805B5F10; // type:object size:0x40 data:4byte
|
||||
LytSaveMgr__STATE_FADE_OUT = .bss:0x805B5F50; // type:object size:0x40 data:4byte
|
||||
LytSaveMgr__STATE_SELECT = .bss:0x805B5F90; // type:object size:0x40 data:4byte
|
||||
LytSaveMgr__STATE_FADE_IN = .bss:0x805B5FD0; // type:object size:0x30 data:4byte
|
||||
@25076 = .bss:0x805B5F00; // type:object size:0xC scope:local
|
||||
...bss.0 = .bss:0x805B5F00; // type:label scope:local
|
||||
StateID_Init__13dLytSaveMgr_c = .bss:0x805B5F10; // type:object size:0x30 data:4byte
|
||||
@25080 = .bss:0x805B5F40; // type:object size:0xC scope:local
|
||||
StateID_FadeOut__13dLytSaveMgr_c = .bss:0x805B5F50; // type:object size:0x30 data:4byte
|
||||
@25084 = .bss:0x805B5F80; // type:object size:0xC scope:local
|
||||
StateID_Select__13dLytSaveMgr_c = .bss:0x805B5F90; // type:object size:0x30 data:4byte
|
||||
@25088 = .bss:0x805B5FC0; // type:object size:0xC scope:local
|
||||
StateID_FadeIn__13dLytSaveMgr_c = .bss:0x805B5FD0; // type:object size:0x30 data:4byte
|
||||
lbl_805B6000 = .bss:0x805B6000; // type:object size:0x10
|
||||
lbl_805B6010 = .bss:0x805B6010; // type:object size:0x20
|
||||
LytDropLineParts__STATE_WAIT = .bss:0x805B6030; // type:object size:0x40 data:4byte
|
||||
|
||||
+1
-1
@@ -627,7 +627,7 @@ config.libs = [
|
||||
Object(NonMatching, "toBeSorted/d_a_npc_str.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_pause.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_game_over.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_save_mgr.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_save_mgr.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_drop_line.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_force_line.cpp"),
|
||||
Object(NonMatching, "d/lyt/d_lyt_enemy_icon.cpp"),
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#define D_FLAG_STORYFLAG_MANAGER_H
|
||||
|
||||
#include "d/flag/baseflag_manager.h"
|
||||
#include "d/flag/storyflag_map.h"
|
||||
#include "d/flag/storyflag_map.h" // IWYU pragma: export
|
||||
#include "toBeSorted/file_manager.h"
|
||||
|
||||
class StoryflagManager : public ItemStoryManagerBase {
|
||||
|
||||
@@ -197,7 +197,7 @@ enum StoryFlags_e {
|
||||
* Sealed Grounds layer 1 / Behind The Temple layer 1 / Goddess Statue layers 2&3)] Story Flag #36 (0x0024) - JP
|
||||
* 805ACD5D 0x10 / US 805A9ADD 0x10
|
||||
*/
|
||||
STORYFLAG_36,
|
||||
STORYFLAG_HEROS_TUNIC_FI,
|
||||
|
||||
/** [Horwell Z-target tutorial]
|
||||
* Story Flag #37 (0x0025) - JP 805ACD65 0x08 / US 805A9AE5 0x08
|
||||
@@ -1150,7 +1150,7 @@ enum StoryFlags_e {
|
||||
/** [Hero Mode]
|
||||
* Story Flag #226 (0x00E2) - JP 805ACD72 0x08 / US 805A9AF2 0x08
|
||||
*/
|
||||
STORYFLAG_226,
|
||||
STORYFLAG_HERO_MODE,
|
||||
|
||||
/** [First Goddess Cube (Unlocks ability to skyward strike Goddess Cubes)]
|
||||
* Story Flag #227 (0x00E3) - JP 805ACD72 0x20 / US 805A9AF2 0x20
|
||||
|
||||
@@ -1,17 +1,73 @@
|
||||
#ifndef D_LYT_SAVE_MGR_H
|
||||
#define D_LYT_SAVE_MGR_H
|
||||
|
||||
class dLytSaveMgr_c {
|
||||
public:
|
||||
#include "d/d_base.h"
|
||||
#include "d/lyt/d_lyt_save_msg_window.h"
|
||||
#include "s/s_State.hpp"
|
||||
|
||||
static dLytSaveMgr_c* GetInstance() {
|
||||
class dLytSaveMgr_c : public dBase_c {
|
||||
public:
|
||||
dLytSaveMgr_c();
|
||||
virtual ~dLytSaveMgr_c();
|
||||
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int execute() override;
|
||||
virtual int draw() override;
|
||||
|
||||
static dLytSaveMgr_c *GetInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
bool fn_80285650() const;
|
||||
|
||||
void init();
|
||||
|
||||
enum FadeInPrompt_e {
|
||||
PROMPT_SAVEOBJ_NORMAL,
|
||||
PROMPT_SAVEOBJ_TOSKY,
|
||||
PROMPT_SAVEOBJ_DUNGEON,
|
||||
PROMPT_SAVE_NORMAL,
|
||||
PROMPT_HERO_MODE,
|
||||
PROMPT_HERO_MODE_CONFIRM,
|
||||
|
||||
PROMPT_MAX,
|
||||
|
||||
PROMPT_SAVEOBJ_NUM = PROMPT_SAVEOBJ_DUNGEON + 1,
|
||||
};
|
||||
|
||||
bool setPrompt(s32 prompt, bool setTempflag2);
|
||||
bool setSaveobjPrompt(s32 prompt, u8 saveobjId, bool setTempflag2);
|
||||
bool unused_weakfnorder();
|
||||
bool isBusy() const;
|
||||
|
||||
enum Action_e {
|
||||
ACTION_0,
|
||||
ACTION_1,
|
||||
ACTION_2,
|
||||
ACTION_3,
|
||||
ACTION_MAX,
|
||||
};
|
||||
|
||||
private:
|
||||
static dLytSaveMgr_c *sInstance;
|
||||
|
||||
STATE_FUNC_DECLARE(dLytSaveMgr_c, Init);
|
||||
STATE_FUNC_DECLARE(dLytSaveMgr_c, FadeOut);
|
||||
STATE_FUNC_DECLARE(dLytSaveMgr_c, Select);
|
||||
STATE_FUNC_DECLARE(dLytSaveMgr_c, FadeIn);
|
||||
|
||||
/* 0x0068 */ UI_STATE_MGR_DECLARE(dLytSaveMgr_c);
|
||||
/* 0x00A4 */ dLytSaveMsgWindow_c mWindow;
|
||||
/* 0x1184 */ s32 mSavePrompt;
|
||||
/* 0x1188 */ s32 mStep;
|
||||
/* 0x118C */ s32 mChosenAction;
|
||||
|
||||
/* 0x1190 */ u8 _0x1190[0x119A - 0x1190];
|
||||
|
||||
/* 0x119A */ u8 mSaveobjId;
|
||||
/* 0x119B */ bool mFadeOutRequested;
|
||||
/* 0x119C */ bool mIsFinishedFadingIn;
|
||||
/* 0x119D */ bool mShouldSetTempflag2;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11,6 +11,13 @@ public:
|
||||
dLytSaveMsgWindow_c();
|
||||
virtual ~dLytSaveMsgWindow_c() {}
|
||||
|
||||
enum Mode_e {
|
||||
MODE_NONE,
|
||||
MODE_2_BUTTONS,
|
||||
MODE_3_BUTTONS,
|
||||
MODE_4_BUTTONS,
|
||||
};
|
||||
|
||||
bool build(bool);
|
||||
bool remove();
|
||||
bool execute();
|
||||
@@ -28,6 +35,30 @@ public:
|
||||
return mWillFinishOut;
|
||||
}
|
||||
|
||||
void setField0x10B8(s32 val) {
|
||||
field_0x10B8 = val;
|
||||
}
|
||||
|
||||
void setField0x10BC(s32 val) {
|
||||
field_0x10BC = val;
|
||||
}
|
||||
|
||||
s32 getField0x10C4() const {
|
||||
return field_0x10C4;
|
||||
}
|
||||
|
||||
s32 getField0x10C8() const {
|
||||
return field_0x10C8;
|
||||
}
|
||||
|
||||
void setField0x10DC(u8 val) {
|
||||
field_0x10DC = val;
|
||||
}
|
||||
|
||||
void setSaveObjId(s32 id) {
|
||||
mSaveobjId = id;
|
||||
}
|
||||
|
||||
private:
|
||||
void resetProperties();
|
||||
void setupSaveTextMaybe();
|
||||
|
||||
@@ -124,9 +124,15 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
bool isIdle() const {
|
||||
return mIsIdle;
|
||||
}
|
||||
bool getField_0x83D() const {
|
||||
return field_0x83D;
|
||||
}
|
||||
void setField_0x83D(bool v) {
|
||||
field_0x83D = v;
|
||||
}
|
||||
bool getField_0x83F() const {
|
||||
return field_0x83F;
|
||||
}
|
||||
@@ -226,14 +232,14 @@ private:
|
||||
/* 0x830 */ s32 mDelayTimer;
|
||||
/* 0x834 */ u8 mCopyToFile;
|
||||
/* 0x835 */ u8 mCopyFromFile;
|
||||
/* 0x836 */ u8 field_0x836;
|
||||
/* 0x836 */ bool mIsIdle;
|
||||
/* 0x837 */ u8 field_0x837;
|
||||
/* 0x838 */ u8 field_0x838;
|
||||
/* 0x839 */ u8 field_0x839;
|
||||
/* 0x83A */ u8 field_0x83A;
|
||||
/* 0x83B */ u8 field_0x83B;
|
||||
/* 0x83C */ u8 field_0x83C;
|
||||
/* 0x83D */ u8 field_0x83D;
|
||||
/* 0x83D */ bool field_0x83D;
|
||||
/* 0x83E */ u8 field_0x83E;
|
||||
/* 0x83F */ u8 field_0x83F;
|
||||
|
||||
|
||||
@@ -0,0 +1,633 @@
|
||||
#include "d/lyt/d_lyt_save_mgr.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_player.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/d_sc_title.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "d/lyt/d_lyt_save_msg_window.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/save_manager.h"
|
||||
|
||||
SPECIAL_BASE_PROFILE(LYT_SAVE_MGR, dLytSaveMgr_c, fProfile::LYT_SAVE_MGR, 0x2AD, 1);
|
||||
|
||||
STATE_DEFINE(dLytSaveMgr_c, Init);
|
||||
STATE_DEFINE(dLytSaveMgr_c, FadeOut);
|
||||
STATE_DEFINE(dLytSaveMgr_c, Select);
|
||||
STATE_DEFINE(dLytSaveMgr_c, FadeIn);
|
||||
|
||||
dLytSaveMgr_c *dLytSaveMgr_c::sInstance;
|
||||
|
||||
dLytSaveMgr_c::dLytSaveMgr_c() : mStateMgr(*this) {
|
||||
sInstance = this;
|
||||
init();
|
||||
}
|
||||
|
||||
dLytSaveMgr_c::~dLytSaveMgr_c() {
|
||||
sInstance = nullptr;
|
||||
}
|
||||
|
||||
int dLytSaveMgr_c::create() {
|
||||
mWindow.build(true);
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytSaveMgr_c::doDelete() {
|
||||
mWindow.remove();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytSaveMgr_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytSaveMgr_c::draw() {
|
||||
mWindow.draw();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
bool dLytSaveMgr_c::setPrompt(s32 prompt, bool setTempflag2) {
|
||||
mSavePrompt = prompt;
|
||||
mShouldSetTempflag2 = setTempflag2;
|
||||
mFadeOutRequested = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMgr_c::setSaveobjPrompt(s32 prompt, u8 saveobjId, bool setTempflag2) {
|
||||
mSavePrompt = prompt;
|
||||
mSaveobjId = saveobjId;
|
||||
mShouldSetTempflag2 = setTempflag2;
|
||||
mFadeOutRequested = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytSaveMgr_c::unused_weakfnorder() {
|
||||
return mStateMgr.getStateID()->isEqual(StateID_Init);
|
||||
}
|
||||
|
||||
bool dLytSaveMgr_c::isBusy() const {
|
||||
return !mStateMgr.getStateID()->isEqual(StateID_Init);
|
||||
}
|
||||
|
||||
void dLytSaveMgr_c::initializeState_Init() {
|
||||
mStep = 0;
|
||||
mFadeOutRequested = false;
|
||||
mIsFinishedFadingIn = false;
|
||||
}
|
||||
void dLytSaveMgr_c::executeState_Init() {
|
||||
if (mFadeOutRequested == true) {
|
||||
mStateMgr.changeState(StateID_FadeOut);
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::finalizeState_Init() {}
|
||||
|
||||
void dLytSaveMgr_c::initializeState_FadeOut() {
|
||||
if (mSavePrompt == PROMPT_HERO_MODE) {
|
||||
StoryflagManager::sInstance->setFlag(STORYFLAG_490);
|
||||
if (StoryflagManager::sInstance->getFlag(STORYFLAG_HERO_MODE)) {
|
||||
// Skip hero mode prompt if we were in hero mode
|
||||
mSavePrompt = PROMPT_HERO_MODE_CONFIRM;
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::executeState_FadeOut() {
|
||||
static const char *sFadeOutTexts[] = {
|
||||
"SYS_SAVE_03", // "[1]Save[2]Save and quit[3-]Cancel"
|
||||
"SYS_SAVE_05", // "[1]Save[2]Save and quit[3]To the sky[4-]Cancel"
|
||||
"SYS_SAVE_07", // "[1]Save[2]Save and quit[3]Go outside[4-]Cancel"
|
||||
"SYS_SAVE_09", // "Do you want to save your progress? [1]Save[2]Save and quit[3-]Cancel"
|
||||
"SYS_SAVE_16", // "You can play again in Hero Mode using this save data. Do you want to continue? [1]Yes[2-]No"
|
||||
"SYS_SAVE_14", // "Your progress up to this point will be deleted. Are you sure you want to play Hero Mode?
|
||||
// [1]Bring it on[2-]No, thanks"
|
||||
};
|
||||
|
||||
static const s32 sFadeOutModes[] = {
|
||||
dLytSaveMsgWindow_c::MODE_3_BUTTONS, dLytSaveMsgWindow_c::MODE_4_BUTTONS, dLytSaveMsgWindow_c::MODE_4_BUTTONS,
|
||||
dLytSaveMsgWindow_c::MODE_3_BUTTONS, dLytSaveMsgWindow_c::MODE_2_BUTTONS, dLytSaveMsgWindow_c::MODE_2_BUTTONS,
|
||||
};
|
||||
|
||||
if (mWindow.setProperties(sFadeOutTexts[mSavePrompt], sFadeOutModes[mSavePrompt], 0, 1)) {
|
||||
mWindow.setField0x10DC(1);
|
||||
mWindow.setField0x10B8(0);
|
||||
mStateMgr.changeState(StateID_Select);
|
||||
|
||||
if (mSavePrompt < PROMPT_SAVEOBJ_NUM) {
|
||||
mWindow.setSaveObjId(mSaveobjId);
|
||||
}
|
||||
}
|
||||
|
||||
if (mSavePrompt == PROMPT_SAVE_NORMAL) {
|
||||
dBase_c::s_NextExecuteControlFlags |= 1;
|
||||
dBase_c::s_DrawControlFlags |= 1;
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::finalizeState_FadeOut() {}
|
||||
|
||||
void dLytSaveMgr_c::initializeState_Select() {
|
||||
mStep = 0;
|
||||
if (mSavePrompt == PROMPT_HERO_MODE) {
|
||||
mStep = 200;
|
||||
} else if (mSavePrompt == PROMPT_HERO_MODE_CONFIRM) {
|
||||
mStep = 300;
|
||||
StoryflagManager::sInstance->setFlag(STORYFLAG_HEROS_TUNIC_FI);
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::executeState_Select() {
|
||||
static const char *sConfirmTexts[] = {
|
||||
"SYS_SAVE_04", // "Are you sure you want to quit? [1]Yes[2-]No"
|
||||
"SYS_SAVE_06", // "Do you want to return to the sky? [1]Yes[2-]No"
|
||||
"SYS_SAVE_08", // "Leave the area? [1]Leave[2-]Stay"
|
||||
"SYS_SAVE_04", // "Are you sure you want to quit? [1]Yes[2-]No"
|
||||
"SYS_SAVE_17", // "Your progress up to this point will be deleted. Are you sure you want to play Hero Mode?
|
||||
// [1]Bring it on[2-]No, thanks"
|
||||
"SYS_SAVE_15", // "Are you sure you want to return to the title screen without saving? [1]Don't save[2-]Save"
|
||||
};
|
||||
|
||||
mWindow.execute();
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
if (mWindow.getField0x10C8() == 0 || mWindow.getField0x10C8() == 1) {
|
||||
SaveMgr::GetInstance()->setField_0x83D(true);
|
||||
}
|
||||
s32 confirmedButton = mWindow.getField0x10C4();
|
||||
if (confirmedButton >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mStep = 1;
|
||||
if (confirmedButton == 0 || confirmedButton == 1) {
|
||||
mWindow.setField0x10BC(1);
|
||||
} else if (mSavePrompt == PROMPT_SAVEOBJ_TOSKY || mSavePrompt == PROMPT_SAVEOBJ_DUNGEON) {
|
||||
if (confirmedButton == 2) {
|
||||
mWindow.setField0x10BC(1);
|
||||
} else {
|
||||
mWindow.setField0x10BC(0);
|
||||
}
|
||||
} else {
|
||||
mWindow.setField0x10BC(0);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
s32 confirmedButton = mWindow.getField0x10C4();
|
||||
if (confirmedButton == 0) {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 20;
|
||||
if (mShouldSetTempflag2 == true) {
|
||||
mShouldSetTempflag2 = false;
|
||||
if (FileManager::GetInstance()->get_0xA84C() == 0) {
|
||||
SceneflagManager::sInstance->setTempflag_i(dStage_c::GetInstance()->getCurrRoomId(), 0x2);
|
||||
}
|
||||
}
|
||||
} else if (confirmedButton == 1) {
|
||||
mChosenAction = ACTION_3;
|
||||
mStep = 20;
|
||||
} else if (mSavePrompt == PROMPT_SAVEOBJ_NORMAL || mSavePrompt == PROMPT_SAVE_NORMAL) {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
} else if (mSavePrompt == PROMPT_SAVEOBJ_TOSKY) {
|
||||
if (confirmedButton == 2) {
|
||||
mStep = 10;
|
||||
mChosenAction = ACTION_1;
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
}
|
||||
} else {
|
||||
if (confirmedButton == 2) {
|
||||
mChosenAction = ACTION_1;
|
||||
mStep = 10;
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
}
|
||||
}
|
||||
|
||||
if (mStep == 20 &&
|
||||
(FileManager::GetInstance()->get_0xA84C() != 0 || !FileManager::GetInstance()->checkRegionCode())) {
|
||||
mStep = 30;
|
||||
SaveMgr::GetInstance()->setField_0x83D(false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 10: {
|
||||
if (mWindow.setProperties(sConfirmTexts[mSavePrompt], dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep = 11;
|
||||
break;
|
||||
}
|
||||
// fall-through
|
||||
}
|
||||
case 11: {
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(0);
|
||||
mStep = 12;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 12: {
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() == 0) {
|
||||
FileManager::GetInstance()->setPlayerInfoFileA();
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
}
|
||||
mStep = 100;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case 20: {
|
||||
bool b = false;
|
||||
if (mSavePrompt == PROMPT_SAVE_NORMAL) {
|
||||
b = true;
|
||||
}
|
||||
if (mSavePrompt != PROMPT_SAVE_NORMAL && mSavePrompt != PROMPT_HERO_MODE) {
|
||||
dAcPy_c *link = getLinkPtr();
|
||||
if (link != nullptr && !dScGame_c::isCurrentStage("F202")) {
|
||||
// not Boko Base
|
||||
FileManager::GetInstance()->setT3Info(link->mPosition, link->mAngle);
|
||||
StoryflagManager::sInstance->setFlag(STORYFLAG_RESPAWN_AT_STATUE);
|
||||
}
|
||||
}
|
||||
FileManager::GetInstance()->fn_8000CBD0(b);
|
||||
mStep = 29;
|
||||
break;
|
||||
}
|
||||
case 29: {
|
||||
bool t1Flag = false;
|
||||
if (mSavePrompt == PROMPT_SAVE_NORMAL) {
|
||||
t1Flag = true;
|
||||
}
|
||||
if (SaveMgr::GetInstance()->save(t1Flag, true) == true) {
|
||||
mStep = 21;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 21: {
|
||||
if (SaveMgr::GetInstance()->isIdle() == true) {
|
||||
if (mChosenAction == ACTION_3) {
|
||||
mStep = 22;
|
||||
} else {
|
||||
mStep = 40;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 22: {
|
||||
if (mWindow.setProperties(
|
||||
sConfirmTexts[PROMPT_SAVEOBJ_NORMAL], dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1
|
||||
)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep = 23;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 23: {
|
||||
s32 confirmedButton = mWindow.getField0x10C4();
|
||||
if (confirmedButton >= 0) {
|
||||
if (confirmedButton != 0) {
|
||||
mWindow.checkIsWait();
|
||||
mStep = 24;
|
||||
mWindow.setField0x10BC(0);
|
||||
} else {
|
||||
mStep = 25;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 24: {
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 25: {
|
||||
dScTitle_c::loadTitleScreen(1);
|
||||
mStep = 1000;
|
||||
break;
|
||||
}
|
||||
case 30: {
|
||||
// "It is not possible to save. Continue your adventure anyway? [1]Continue[2]Quit"
|
||||
if (mWindow.setProperties("SYS_SAVE_11", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mWindow.setNumLines(2);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 31: {
|
||||
s32 confirmedButton = mWindow.getField0x10C4();
|
||||
if (confirmedButton >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
if (confirmedButton != 0) {
|
||||
mWindow.setField0x10BC(1);
|
||||
} else {
|
||||
mWindow.setField0x10BC(0);
|
||||
}
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 32: {
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4()) {
|
||||
mStep = 50;
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 40:
|
||||
if (mWindow.checkIsWait()) {
|
||||
mWindow.setField0x10BC(2);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 41:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
mStep = 100;
|
||||
}
|
||||
break;
|
||||
case 50:
|
||||
// "Are you sure you want to quit? [1]Quit[2-]Cancel"
|
||||
if (mWindow.setProperties("SYS_GAMEOVER_03", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 51:
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(0);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 52:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() == 0) {
|
||||
dScTitle_c::loadTitleScreen(0);
|
||||
mStep = 1000;
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
mStep = 100;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 60:
|
||||
if (mWindow.setProperties(sConfirmTexts[mSavePrompt], dLytSaveMsgWindow_c::MODE_3_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep = 61;
|
||||
}
|
||||
break;
|
||||
case 61:
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(0);
|
||||
mStep = 62;
|
||||
}
|
||||
break;
|
||||
case 62:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
s32 confirmedButton = mWindow.getField0x10C4();
|
||||
if (confirmedButton == 0) {
|
||||
mChosenAction = ACTION_1;
|
||||
FileManager::GetInstance()->setPlayerInfoFileA();
|
||||
} else if (confirmedButton == 1) {
|
||||
mChosenAction = ACTION_2;
|
||||
FileManager::GetInstance()->setPlayerInfoFileA();
|
||||
} else {
|
||||
mChosenAction = ACTION_0;
|
||||
}
|
||||
mStep = 100;
|
||||
}
|
||||
break;
|
||||
case 100: {
|
||||
mStateMgr.changeState(StateID_FadeIn);
|
||||
break;
|
||||
}
|
||||
case 200:
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 201:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() != 0) {
|
||||
mStep = 230;
|
||||
} else {
|
||||
mStep = 210;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 210:
|
||||
// "Your progress up to this point will be deleted. Are you sure you want to play Hero Mode? [1]Bring it on[2-]No, thanks"
|
||||
if (mWindow.setProperties("SYS_SAVE_17", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 211:
|
||||
if (mWindow.getField0x10C8() == 0) {
|
||||
SaveMgr::GetInstance()->setField_0x83D(true);
|
||||
}
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 212:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() != 0) {
|
||||
mWindow.setField0x10BC(1);
|
||||
mStep = 230;
|
||||
} else {
|
||||
mWindow.setField0x10BC(1);
|
||||
mStep++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 213:
|
||||
FileManager::GetInstance()->fn_8000CBD0(true);
|
||||
if (SaveMgr::GetInstance()->saveAfterCredits() == true) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 214:
|
||||
if (SaveMgr::GetInstance()->isIdle() == true) {
|
||||
mStep = 40;
|
||||
}
|
||||
break;
|
||||
case 230:
|
||||
// "Are you sure you want to return to the title screen without saving? [1]Don't save[2-]Save"
|
||||
if (mWindow.setProperties("SYS_SAVE_15", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 231: {
|
||||
s32 tmp = mWindow.getField0x10C4();
|
||||
if (tmp >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
if (tmp != 0) {
|
||||
mWindow.setField0x10BC(1);
|
||||
} else {
|
||||
mWindow.setField0x10BC(0);
|
||||
}
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 232:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() != 0) {
|
||||
mStep++;
|
||||
} else {
|
||||
mStep = 100;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 233:
|
||||
// "You can play again in Hero Mode using this save data. Do you want to continue? [1]Yes[2-]No"
|
||||
if (mWindow.setProperties("SYS_SAVE_16", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep = 200;
|
||||
}
|
||||
break;
|
||||
case 300:
|
||||
if (mWindow.getField0x10C8() == 0) {
|
||||
SaveMgr::GetInstance()->setField_0x83D(true);
|
||||
}
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 301:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() != 0) {
|
||||
mStep = 320;
|
||||
} else if (FileManager::GetInstance()->get_0xA84C()) {
|
||||
mStep = 330;
|
||||
SaveMgr::GetInstance()->setField_0x83D(false);
|
||||
} else {
|
||||
mStep = 310;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 310:
|
||||
FileManager::GetInstance()->fn_8000CBD0(true);
|
||||
if (SaveMgr::GetInstance()->saveAfterCredits() == true) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 311:
|
||||
if (SaveMgr::GetInstance()->isIdle() == true) {
|
||||
mStep = 40;
|
||||
}
|
||||
break;
|
||||
case 320:
|
||||
if (mWindow.setProperties(sConfirmTexts[mSavePrompt], dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 321: {
|
||||
s32 tmp = mWindow.getField0x10C4();
|
||||
if (tmp >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
if (tmp != 0) {
|
||||
mWindow.setField0x10BC(1);
|
||||
} else {
|
||||
mWindow.setField0x10BC(0);
|
||||
}
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 322:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
if (mWindow.getField0x10C4() != 0) {
|
||||
mStep++;
|
||||
} else {
|
||||
mStep = 100;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 323:
|
||||
// "You have conquered Hero Mode! Congratulations! Do you want to create a save just before the final
|
||||
// battle? [1]Save[2-]Don't save"
|
||||
if (mWindow.setProperties("SYS_SAVE_14", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mStep = 300;
|
||||
}
|
||||
break;
|
||||
case 330:
|
||||
// "It is not possible to save. Continue your adventure anyway? [1]Continue[2]Quit"
|
||||
if (mWindow.setProperties("SYS_SAVE_11", dLytSaveMsgWindow_c::MODE_2_BUTTONS, 0, 1)) {
|
||||
mWindow.setField0x10B8(1);
|
||||
mWindow.setNumLines(2);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 331:
|
||||
if (mWindow.getField0x10C4() >= 0) {
|
||||
mWindow.checkIsWait();
|
||||
mWindow.setField0x10BC(0);
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
case 332:
|
||||
if (mWindow.getWillFinishOut() == true) {
|
||||
mStep = 100;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::finalizeState_Select() {}
|
||||
|
||||
void dLytSaveMgr_c::initializeState_FadeIn() {
|
||||
mStep = 0;
|
||||
if (mSavePrompt == PROMPT_SAVE_NORMAL) {
|
||||
dBase_c::s_NextExecuteControlFlags &= ~1;
|
||||
dBase_c::s_DrawControlFlags &= ~1;
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::executeState_FadeIn() {
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
mIsFinishedFadingIn = true;
|
||||
mStep = 1;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytSaveMgr_c::finalizeState_FadeIn() {}
|
||||
|
||||
void dLytSaveMgr_c::init() {
|
||||
mStep = 0;
|
||||
mChosenAction = ACTION_MAX;
|
||||
mSavePrompt = PROMPT_MAX;
|
||||
mFadeOutRequested = false;
|
||||
mIsFinishedFadingIn = false;
|
||||
mSaveobjId = 0;
|
||||
}
|
||||
@@ -1079,7 +1079,7 @@ bool dLytMeterMain_c::fn_800D5680() {
|
||||
}
|
||||
|
||||
bool dLytMeterMain_c::fn_800D56B0() {
|
||||
if (dLytSaveMgr_c::GetInstance() != nullptr && dLytSaveMgr_c::GetInstance()->fn_80285650()) {
|
||||
if (dLytSaveMgr_c::GetInstance() != nullptr && dLytSaveMgr_c::GetInstance()->isBusy()) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -69,14 +69,14 @@ void SaveMgr::init() {
|
||||
mCheckForFreeSpaceResult = 0;
|
||||
mCopyToFile = 0;
|
||||
mCopyFromFile = 0;
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
field_0x837 = 0;
|
||||
field_0x838 = 0;
|
||||
field_0x839 = 0;
|
||||
field_0x83A = 0;
|
||||
field_0x83B = 0;
|
||||
field_0x83C = 0;
|
||||
field_0x83D = 0;
|
||||
field_0x83D = false;
|
||||
field_0x83E = 0;
|
||||
mDelayTimer = 0;
|
||||
FileManager::GetInstance()->setField0xA840(1);
|
||||
@@ -116,7 +116,7 @@ bool SaveMgr::checkForSave() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeCheckForSave();
|
||||
return true;
|
||||
}
|
||||
@@ -125,7 +125,7 @@ bool SaveMgr::checkForFreeSpace() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeCheckForFreeSpace();
|
||||
return true;
|
||||
}
|
||||
@@ -134,7 +134,7 @@ bool SaveMgr::createFiles() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeCreateFiles();
|
||||
return true;
|
||||
}
|
||||
@@ -143,7 +143,7 @@ bool SaveMgr::loadSave() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeLoadSave();
|
||||
return true;
|
||||
}
|
||||
@@ -155,7 +155,7 @@ bool SaveMgr::save(bool entranceT1LoadFlag, bool full) {
|
||||
if (FileManager::GetInstance()->get_0xA84C()) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
if (full == 1) {
|
||||
FileManager::GetInstance()->saveT1SaveInfo(entranceT1LoadFlag);
|
||||
} else {
|
||||
@@ -174,7 +174,7 @@ bool SaveMgr::saveAfterCredits() {
|
||||
if (FileManager::GetInstance()->get_0xA84C()) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
dDvdUnk::FontUnk::GetInstance()->setNeedsPad(true);
|
||||
FileManager::GetInstance()->setFileTimes();
|
||||
FileManager::GetInstance()->saveAfterCredits();
|
||||
@@ -187,7 +187,7 @@ bool SaveMgr::writeSkipDat() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeWriteSkipDat();
|
||||
return true;
|
||||
}
|
||||
@@ -196,7 +196,7 @@ bool SaveMgr::copySave(u8 to, u8 from) {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
mCopyToFile = to;
|
||||
mCopyFromFile = from;
|
||||
initializeCopySave();
|
||||
@@ -208,7 +208,7 @@ bool SaveMgr::clearSelectedFile() {
|
||||
if (mCurrentState != STATE_MAX) {
|
||||
return false;
|
||||
}
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
initializeClearSelectedFile();
|
||||
field_0x83F = 0;
|
||||
return true;
|
||||
@@ -723,7 +723,7 @@ void SaveMgr::initializeWriteSave() {
|
||||
mDelayTimer = 0;
|
||||
dDvdUnk::FontUnk::GetInstance()->setNeedsPad(false);
|
||||
FileManager::GetInstance()->setField0xA84D(1);
|
||||
field_0x83D = 1;
|
||||
field_0x83D = true;
|
||||
}
|
||||
|
||||
void SaveMgr::executeWriteSave() {
|
||||
@@ -1216,7 +1216,7 @@ void SaveMgr::executeDeleteAllData() {
|
||||
|
||||
void SaveMgr::initializeError() {
|
||||
FileManager::GetInstance()->setField0xA84D(0);
|
||||
field_0x83D = 0;
|
||||
field_0x83D = false;
|
||||
beginState(STATE_ERROR);
|
||||
dDvdUnk::FontUnk::GetInstance()->setNeedsPad(true);
|
||||
field_0x83F = 0;
|
||||
@@ -1371,7 +1371,7 @@ void SaveMgr::executeError() {
|
||||
|
||||
void SaveMgr::initializeNandError() {
|
||||
FileManager::GetInstance()->setField0xA84D(0);
|
||||
field_0x83D = 0;
|
||||
field_0x83D = false;
|
||||
dDvdUnk::FontUnk::GetInstance()->setNeedsPad(true);
|
||||
beginState(STATE_NAND_ERROR);
|
||||
}
|
||||
@@ -1458,7 +1458,7 @@ void SaveMgr::executeNandError() {
|
||||
dCsBase_c::GetInstance()->setDrawDirectly(false);
|
||||
dReset::Manage_c::GetInstance()->SetInteriorReturnDataManager();
|
||||
endState();
|
||||
field_0x836 = 0;
|
||||
mIsIdle = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -1519,9 +1519,9 @@ void SaveMgr::beginState(SaveMgrState_e state) {
|
||||
}
|
||||
|
||||
void SaveMgr::endState() {
|
||||
field_0x836 = 1;
|
||||
mIsIdle = true;
|
||||
FileManager::GetInstance()->setField0xA840(1);
|
||||
field_0x83D = 0;
|
||||
field_0x83D = false;
|
||||
dDvdUnk::FontUnk::GetInstance()->setNeedsPad(true);
|
||||
field_0x83B = 0;
|
||||
field_0x83C = 0;
|
||||
|
||||
Reference in New Issue
Block a user