mirror of
https://github.com/zeldaret/ss
synced 2026-06-07 20:01:37 -04:00
Merge pull request #234 from robojumper/d_lyt_game_over
d_lyt_game_over almost OK
This commit is contained in:
@@ -1539,7 +1539,9 @@ d/lyt/d_lyt_game_over.cpp:
|
||||
.ctors start:0x804DB860 end:0x804DB864
|
||||
.rodata start:0x804EE700 end:0x804EE778
|
||||
.data start:0x80537970 end:0x80538160
|
||||
.sdata start:0x80573B58 end:0x80573B80
|
||||
.sbss start:0x80575948 end:0x80575950
|
||||
.sdata2 start:0x8057C6A0 end:0x8057C6B0
|
||||
.bss start:0x805B5D40 end:0x805B5F00
|
||||
|
||||
d/lyt/d_lyt_save_mgr.cpp:
|
||||
|
||||
+125
-113
@@ -10447,7 +10447,7 @@ isInSkyKeepPuzzleRoom = .text:0x80194F40; // type:function size:0xA4
|
||||
isInAnySkyKeepRoom = .text:0x80194FF0; // type:function size:0x38
|
||||
maybeResetSkykeepPuzzle = .text:0x80195030; // type:function size:0xB4
|
||||
saveSkykeepPuzzleToGlobal = .text:0x801950F0; // type:function size:0x58
|
||||
restoreSkykeepPuzzleFromGlobal = .text:0x80195150; // type:function size:0x68
|
||||
restoreSkykeepPuzzleFromGlobal__Fv = .text:0x80195150; // type:function size:0x68
|
||||
relatedToSkeepMapStuff = .text:0x801951C0; // type:function size:0x120
|
||||
getSKDoorSceneflag = .text:0x801952E0; // type:function size:0x18
|
||||
checkSKDoorHasSceneflag = .text:0x80195300; // type:function size:0x34
|
||||
@@ -11179,7 +11179,7 @@ clearSpawnInfo__9dScGame_cFv = .text:0x801BAE10; // type:function size:0x48
|
||||
fn_801BAE60 = .text:0x801BAE60; // type:function size:0x90
|
||||
fn_801BAEF0 = .text:0x801BAEF0; // type:function size:0x50
|
||||
fn_801BAF40 = .text:0x801BAF40; // type:function size:0x54
|
||||
Reloader__triggerEntrance = .text:0x801BAFA0; // type:function size:0xDC
|
||||
triggerEntrance__9dScGame_cFPCcUcUcUciiUcUsSc = .text:0x801BAFA0; // type:function size:0xDC
|
||||
triggerExit__9dScGame_cFlUsll = .text:0x801BB080; // type:function size:0xC0
|
||||
Reloader__triggerExitInner = .text:0x801BB140; // type:function size:0x154
|
||||
fn_801BB2A0 = .text:0x801BB2A0; // type:function size:0x28
|
||||
@@ -14932,95 +14932,95 @@ LytPauseMain__dtor = .text:0x802824A0; // type:function size:0x58
|
||||
LytPauseMgr__dtor = .text:0x80282500; // type:function size:0x58
|
||||
fn_80282560 = .text:0x80282560; // type:function size:0x88
|
||||
fn_802825F0 = .text:0x802825F0; // type:function size:0x88
|
||||
fn_80282680 = .text:0x80282680; // type:function size:0x22C
|
||||
fn_802828B0 = .text:0x802828B0; // type:function size:0xA4
|
||||
fn_80282960 = .text:0x80282960; // type:function size:0xA0
|
||||
fn_80282A00 = .text:0x80282A00; // type:function size:0x6C
|
||||
fn_80282A70 = .text:0x80282A70; // type:function size:0x58
|
||||
fn_80282AD0 = .text:0x80282AD0; // type:function size:0x2D0
|
||||
fn_80282DA0 = .text:0x80282DA0; // type:function size:0x10
|
||||
fn_80282DB0 = .text:0x80282DB0; // type:function size:0xF4
|
||||
fn_80282EB0 = .text:0x80282EB0; // type:function size:0x68
|
||||
fn_80282F20 = .text:0x80282F20; // type:function size:0x10
|
||||
fn_80282F30 = .text:0x80282F30; // type:function size:0x3C
|
||||
fn_80282F70 = .text:0x80282F70; // type:function size:0xC0
|
||||
fn_80283030 = .text:0x80283030; // type:function size:0x80
|
||||
fn_802830B0 = .text:0x802830B0; // type:function size:0x10
|
||||
fn_802830C0 = .text:0x802830C0; // type:function size:0x4
|
||||
fn_802830D0 = .text:0x802830D0; // type:function size:0x30
|
||||
fn_80283100 = .text:0x80283100; // type:function size:0x4
|
||||
fn_80283110 = .text:0x80283110; // type:function size:0x64
|
||||
fn_80283180 = .text:0x80283180; // type:function size:0xC4
|
||||
fn_80283250 = .text:0x80283250; // type:function size:0x3C
|
||||
fn_80283290 = .text:0x80283290; // type:function size:0xC
|
||||
fn_802832A0 = .text:0x802832A0; // type:function size:0xB4
|
||||
fn_80283360 = .text:0x80283360; // type:function size:0x4
|
||||
fn_80283370 = .text:0x80283370; // type:function size:0x24
|
||||
fn_802833A0 = .text:0x802833A0; // type:function size:0x114
|
||||
fn_802834C0 = .text:0x802834C0; // type:function size:0x4
|
||||
fn_802834D0 = .text:0x802834D0; // type:function size:0x1C
|
||||
fn_802834F0 = .text:0x802834F0; // type:function size:0x50
|
||||
fn_80283540 = .text:0x80283540; // type:function size:0x10
|
||||
fn_80283550 = .text:0x80283550; // type:function size:0xAC
|
||||
fn_80283600 = .text:0x80283600; // type:function size:0xC4
|
||||
LytGameOver__ctor = .text:0x802836D0; // type:function size:0x30
|
||||
LytGameOver__ctorCont = .text:0x80283700; // type:function size:0xB0
|
||||
fn_802837B0 = .text:0x802837B0; // type:function size:0x200
|
||||
fn_802839B0 = .text:0x802839B0; // type:function size:0x58
|
||||
fn_80283A10 = .text:0x80283A10; // type:function size:0x6C
|
||||
fn_80283A80 = .text:0x80283A80; // type:function size:0xA0
|
||||
fn_80283B20 = .text:0x80283B20; // type:function size:0xA4
|
||||
fn_80283BD0 = .text:0x80283BD0; // type:function size:0x268
|
||||
fn_80283E40 = .text:0x80283E40; // type:function size:0x50
|
||||
fn_80283E90 = .text:0x80283E90; // type:function size:0x10
|
||||
fn_80283EA0 = .text:0x80283EA0; // type:function size:0x28
|
||||
fn_80283ED0 = .text:0x80283ED0; // type:function size:0x30
|
||||
fn_80283F00 = .text:0x80283F00; // type:function size:0x10
|
||||
fn_80283F10 = .text:0x80283F10; // type:function size:0x28
|
||||
fn_80283F40 = .text:0x80283F40; // type:function size:0x4
|
||||
fn_80283F50 = .text:0x80283F50; // type:function size:0x18
|
||||
fn_80283F70 = .text:0x80283F70; // type:function size:0x4
|
||||
fn_80283F80 = .text:0x80283F80; // type:function size:0x10
|
||||
fn_80283F90 = .text:0x80283F90; // type:function size:0xA0
|
||||
fn_80284030 = .text:0x80284030; // type:function size:0x4
|
||||
fn_80284040 = .text:0x80284040; // type:function size:0x10
|
||||
LytGameOver__triggerRespawn = .text:0x80284050; // type:function size:0x44C
|
||||
fn_802844A0 = .text:0x802844A0; // type:function size:0x4
|
||||
fn_802844B0 = .text:0x802844B0; // type:function size:0x10
|
||||
fn_802844C0 = .text:0x802844C0; // type:function size:0x60
|
||||
fn_80284520 = .text:0x80284520; // type:function size:0xC
|
||||
fn_80284530 = .text:0x80284530; // type:function size:0x60
|
||||
fn_80284590 = .text:0x80284590; // type:function size:0xC
|
||||
fn_802845A0 = .text:0x802845A0; // type:function size:0x1C
|
||||
fn_802845C0 = .text:0x802845C0; // type:function size:0x1C
|
||||
fn_802845E0 = .text:0x802845E0; // type:function size:0x1C
|
||||
fn_80284600 = .text:0x80284600; // type:function size:0x1C
|
||||
fn_80284620 = .text:0x80284620; // type:function size:0x1C
|
||||
fn_80284640 = .text:0x80284640; // type:function size:0x1C
|
||||
fn_80284660 = .text:0x80284660; // type:function size:0x10
|
||||
fn_80284670 = .text:0x80284670; // type:function size:0x10
|
||||
fn_80284680 = .text:0x80284680; // type:function size:0x10
|
||||
fn_80284690 = .text:0x80284690; // type:function size:0x10
|
||||
fn_802846A0 = .text:0x802846A0; // type:function size:0x10
|
||||
fn_802846B0 = .text:0x802846B0; // type:function size:0x10
|
||||
fn_802846C0 = .text:0x802846C0; // type:function size:0x10
|
||||
fn_802846D0 = .text:0x802846D0; // type:function size:0x10
|
||||
fn_802846E0 = .text:0x802846E0; // type:function size:0x10
|
||||
fn_802846F0 = .text:0x802846F0; // type:function size:0x10
|
||||
fn_80284700 = .text:0x80284700; // type:function size:0x10
|
||||
fn_80284710 = .text:0x80284710; // type:function size:0x10
|
||||
fn_80284720 = .text:0x80284720; // type:function size:0x10
|
||||
fn_80284730 = .text:0x80284730; // type:function size:0x30
|
||||
fn_80284760 = .text:0x80284760; // type:function size:0x30
|
||||
fn_80284790 = .text:0x80284790; // type:function size:0x30
|
||||
fn_802847C0 = .text:0x802847C0; // type:function size:0x30
|
||||
fn_802847F0 = .text:0x802847F0; // type:function size:0x30
|
||||
fn_80284820 = .text:0x80284820; // type:function size:0x30
|
||||
LytGameOver__initStates = .text:0x80284850; // type:function size:0x578
|
||||
LytGameOver__dtor = .text:0x80284DD0; // type:function size:0x58
|
||||
LytGameOverMgr__dtor = .text:0x80284E30; // type:function size:0x58
|
||||
fn_80284E90 = .text:0x80284E90; // type:function size:0x88
|
||||
fn_80284F20 = .text:0x80284F20; // type:function size:0x88
|
||||
__ct__14dLytGameOver_cFv = .text:0x80282680; // type:function size:0x22C
|
||||
__dt__53sFStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c>Fv = .text:0x802828B0; // type:function size:0xA4
|
||||
__dt__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80282960; // type:function size:0xA0
|
||||
__dt__30sFStateFct_c<14dLytGameOver_c>Fv = .text:0x80282A00; // type:function size:0x6C
|
||||
__dt__27sFState_c<14dLytGameOver_c>Fv = .text:0x80282A70; // type:function size:0x58
|
||||
build__14dLytGameOver_cFv = .text:0x80282AD0; // type:function size:0x2D0
|
||||
changeState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80282DA0; // type:function size:0x10
|
||||
remove__14dLytGameOver_cFv = .text:0x80282DB0; // type:function size:0xF4
|
||||
execute__14dLytGameOver_cFv = .text:0x80282EB0; // type:function size:0x68
|
||||
executeState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80282F20; // type:function size:0x10
|
||||
draw__14dLytGameOver_cFv = .text:0x80282F30; // type:function size:0x3C
|
||||
requestIn__14dLytGameOver_cFPCcll = .text:0x80282F70; // type:function size:0xC0
|
||||
requestOut__14dLytGameOver_cFl = .text:0x80283030; // type:function size:0x80
|
||||
getStateID__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802830B0; // type:function size:0x10
|
||||
initializeState_Init__14dLytGameOver_cFv = .text:0x802830C0; // type:function size:0x4
|
||||
executeState_Init__14dLytGameOver_cFv = .text:0x802830D0; // type:function size:0x30
|
||||
finalizeState_Init__14dLytGameOver_cFv = .text:0x80283100; // type:function size:0x4
|
||||
initializeState_In__14dLytGameOver_cFv = .text:0x80283110; // type:function size:0x64
|
||||
executeState_In__14dLytGameOver_cFv = .text:0x80283180; // type:function size:0xC4
|
||||
finalizeState_In__14dLytGameOver_cFv = .text:0x80283250; // type:function size:0x3C
|
||||
initializeState_Wait__14dLytGameOver_cFv = .text:0x80283290; // type:function size:0xC
|
||||
executeState_Wait__14dLytGameOver_cFv = .text:0x802832A0; // type:function size:0xB4
|
||||
finalizeState_Wait__14dLytGameOver_cFv = .text:0x80283360; // type:function size:0x4
|
||||
initializeState_Out__14dLytGameOver_cFv = .text:0x80283370; // type:function size:0x24
|
||||
executeState_Out__14dLytGameOver_cFv = .text:0x802833A0; // type:function size:0x114
|
||||
finalizeState_Out__14dLytGameOver_cFv = .text:0x802834C0; // type:function size:0x4
|
||||
init__14dLytGameOver_cFv = .text:0x802834D0; // type:function size:0x1C
|
||||
setAnm__14dLytGameOver_cFi = .text:0x802834F0; // type:function size:0x50
|
||||
stopAnm__14dLytGameOver_cFi = .text:0x80283540; // type:function size:0x10
|
||||
applyText__14dLytGameOver_cFv = .text:0x80283550; // type:function size:0xAC
|
||||
setupButtons__14dLytGameOver_cFv = .text:0x80283600; // type:function size:0xC4
|
||||
dLytGameOverMgr_c_classInit__Fv = .text:0x802836D0; // type:function size:0x30
|
||||
__ct__17dLytGameOverMgr_cFv = .text:0x80283700; // type:function size:0xB0
|
||||
__dt__14dLytGameOver_cFv = .text:0x802837B0; // type:function size:0x200
|
||||
__dt__30sFState_c<17dLytGameOverMgr_c>Fv = .text:0x802839B0; // type:function size:0x58
|
||||
__dt__33sFStateFct_c<17dLytGameOverMgr_c>Fv = .text:0x80283A10; // type:function size:0x6C
|
||||
__dt__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80283A80; // type:function size:0xA0
|
||||
__dt__56sFStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c>Fv = .text:0x80283B20; // type:function size:0xA4
|
||||
__dt__17dLytGameOverMgr_cFv = .text:0x80283BD0; // type:function size:0x268
|
||||
create__17dLytGameOverMgr_cFv = .text:0x80283E40; // type:function size:0x50
|
||||
changeState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x80283E90; // type:function size:0x10
|
||||
doDelete__17dLytGameOverMgr_cFv = .text:0x80283EA0; // type:function size:0x28
|
||||
execute__17dLytGameOverMgr_cFv = .text:0x80283ED0; // type:function size:0x30
|
||||
executeState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80283F00; // type:function size:0x10
|
||||
draw__17dLytGameOverMgr_cFv = .text:0x80283F10; // type:function size:0x28
|
||||
initializeState_Init__17dLytGameOverMgr_cFv = .text:0x80283F40; // type:function size:0x4
|
||||
executeState_Init__17dLytGameOverMgr_cFv = .text:0x80283F50; // type:function size:0x18
|
||||
finalizeState_Init__17dLytGameOverMgr_cFv = .text:0x80283F70; // type:function size:0x4
|
||||
initializeState_FadeOut__17dLytGameOverMgr_cFv = .text:0x80283F80; // type:function size:0x10
|
||||
executeState_FadeOut__17dLytGameOverMgr_cFv = .text:0x80283F90; // type:function size:0xA0
|
||||
finalizeState_FadeOut__17dLytGameOverMgr_cFv = .text:0x80284030; // type:function size:0x4
|
||||
initializeState_Select__17dLytGameOverMgr_cFv = .text:0x80284040; // type:function size:0x10
|
||||
executeState_Select__17dLytGameOverMgr_cFv = .text:0x80284050; // type:function size:0x44C
|
||||
finalizeState_Select__17dLytGameOverMgr_cFv = .text:0x802844A0; // type:function size:0x4
|
||||
init__17dLytGameOverMgr_cFv = .text:0x802844B0; // type:function size:0x10
|
||||
build__33sFStateFct_c<17dLytGameOverMgr_c>FRC12sStateIDIf_c = .text:0x802844C0; // type:function size:0x60
|
||||
dispose__33sFStateFct_c<17dLytGameOverMgr_c>FRP10sStateIf_c = .text:0x80284520; // type:function size:0xC
|
||||
build__30sFStateFct_c<14dLytGameOver_c>FRC12sStateIDIf_c = .text:0x80284530; // type:function size:0x60
|
||||
dispose__30sFStateFct_c<14dLytGameOver_c>FRP10sStateIf_c = .text:0x80284590; // type:function size:0xC
|
||||
initialize__30sFState_c<17dLytGameOverMgr_c>Fv = .text:0x802845A0; // type:function size:0x1C
|
||||
execute__30sFState_c<17dLytGameOverMgr_c>Fv = .text:0x802845C0; // type:function size:0x1C
|
||||
finalize__30sFState_c<17dLytGameOverMgr_c>Fv = .text:0x802845E0; // type:function size:0x1C
|
||||
initialize__27sFState_c<14dLytGameOver_c>Fv = .text:0x80284600; // type:function size:0x1C
|
||||
execute__27sFState_c<14dLytGameOver_c>Fv = .text:0x80284620; // type:function size:0x1C
|
||||
finalize__27sFState_c<14dLytGameOver_c>Fv = .text:0x80284640; // type:function size:0x1C
|
||||
initializeState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80284660; // type:function size:0x10
|
||||
finalizeState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80284670; // type:function size:0x10
|
||||
refreshState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x80284680; // type:function size:0x10
|
||||
getState__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80284690; // type:function size:0x10
|
||||
getNewStateID__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802846A0; // type:function size:0x10
|
||||
getStateID__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802846B0; // type:function size:0x10
|
||||
getOldStateID__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x802846C0; // type:function size:0x10
|
||||
initializeState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802846D0; // type:function size:0x10
|
||||
finalizeState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802846E0; // type:function size:0x10
|
||||
refreshState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x802846F0; // type:function size:0x10
|
||||
getState__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80284700; // type:function size:0x10
|
||||
getNewStateID__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80284710; // type:function size:0x10
|
||||
getOldStateID__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x80284720; // type:function size:0x10
|
||||
finalizeState__29sFStateID_c<14dLytGameOver_c>CFR14dLytGameOver_c = .text:0x80284730; // type:function size:0x30
|
||||
executeState__29sFStateID_c<14dLytGameOver_c>CFR14dLytGameOver_c = .text:0x80284760; // type:function size:0x30
|
||||
initializeState__29sFStateID_c<14dLytGameOver_c>CFR14dLytGameOver_c = .text:0x80284790; // type:function size:0x30
|
||||
finalizeState__32sFStateID_c<17dLytGameOverMgr_c>CFR17dLytGameOverMgr_c = .text:0x802847C0; // type:function size:0x30
|
||||
executeState__32sFStateID_c<17dLytGameOverMgr_c>CFR17dLytGameOverMgr_c = .text:0x802847F0; // type:function size:0x30
|
||||
initializeState__32sFStateID_c<17dLytGameOverMgr_c>CFR17dLytGameOverMgr_c = .text:0x80284820; // type:function size:0x30
|
||||
__sinit_\d_lyt_game_over_cpp = .text:0x80284850; // type:function size:0x578
|
||||
__dt__29sFStateID_c<14dLytGameOver_c>Fv = .text:0x80284DD0; // type:function size:0x58
|
||||
__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
|
||||
@@ -28667,7 +28667,9 @@ lbl_804EE578 = .rodata:0x804EE578; // type:object size:0x30 align:4 data:float
|
||||
TgMassObj__GRASS_A_TYPES = .rodata:0x804EE5A8; // type:object size:0xF8 data:4byte
|
||||
lbl_804EE6A0 = .rodata:0x804EE6A0; // type:object size:0x20
|
||||
lbl_804EE6C0 = .rodata:0x804EE6C0; // type:object size:0x40 data:4byte
|
||||
lbl_804EE700 = .rodata:0x804EE700; // type:object size:0x78 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
|
||||
lbl_804EE790 = .rodata:0x804EE790; // type:object size:0x48
|
||||
lbl_804EE7D8 = .rodata:0x804EE7D8; // type:object size:0x18 data:4byte
|
||||
@@ -36055,22 +36057,32 @@ lbl_80537ACC = .data:0x80537ACC; // type:object size:0x18
|
||||
lbl_80537AE4 = .data:0x80537AE4; // type:object size:0x1C
|
||||
lbl_80537B00 = .data:0x80537B00; // type:object size:0x1C
|
||||
lbl_80537B1C = .data:0x80537B1C; // type:object size:0x18
|
||||
lbl_80537B34 = .data:0x80537B34; // type:object size:0xA0
|
||||
lbl_80537B34 = .data:0x80537B34; // type:object size:0xC
|
||||
lbl_80537B40 = .data:0x80537B40; // type:object size:0xC data:string
|
||||
lbl_80537B4C = .data:0x80537B4C; // type:object size:0xC data:string
|
||||
lbl_80537B58 = .data:0x80537B58; // type:object size:0xC data:string
|
||||
lbl_80537B64 = .data:0x80537B64; // type:object size:0x9 data:string
|
||||
lbl_80537B70 = .data:0x80537B70; // type:object size:0x12 data:string
|
||||
lbl_80537B84 = .data:0x80537B84; // type:object size:0x12 data:string
|
||||
lbl_80537B98 = .data:0x80537B98; // type:object size:0x12 data:string
|
||||
lbl_80537BAC = .data:0x80537BAC; // type:object size:0xC data:string
|
||||
lbl_80537BB8 = .data:0x80537BB8; // type:object size:0xD data:string
|
||||
lbl_80537BC8 = .data:0x80537BC8; // type:object size:0x9 data:string
|
||||
g_profile_LYT_GAMEOVER_MGR = .data:0x80537BD4; // type:object size:0xC
|
||||
lbl_80537BE0 = .data:0x80537BE0; // type:object size:0x10 data:string
|
||||
lbl_80537BF0 = .data:0x80537BF0; // type:object size:0x10 data:string
|
||||
lbl_80537C00 = .data:0x80537C00; // type:object size:0x50
|
||||
lbl_80537C50 = .data:0x80537C50; // type:object size:0x30
|
||||
lbl_80537C80 = .data:0x80537C80; // type:object size:0x30
|
||||
lbl_80537CB0 = .data:0x80537CB0; // type:object size:0x18
|
||||
lbl_80537CC8 = .data:0x80537CC8; // type:object size:0x18
|
||||
lbl_80537CE0 = .data:0x80537CE0; // type:object size:0x10
|
||||
lbl_80537CF0 = .data:0x80537CF0; // type:object size:0x30
|
||||
lbl_80537D20 = .data:0x80537D20; // type:object size:0x30
|
||||
lbl_80537D50 = .data:0x80537D50; // type:object size:0x18
|
||||
lbl_80537D68 = .data:0x80537D68; // type:object size:0x390
|
||||
lbl_805380F8 = .data:0x805380F8; // type:object size:0x34
|
||||
lbl_8053812C = .data:0x8053812C; // type:object size:0x34
|
||||
__vt__17dLytGameOverMgr_c = .data:0x80537C00; // type:object size:0x50
|
||||
__vt__56sFStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c> = .data:0x80537C50; // type:object size:0x30
|
||||
__vt__86sStateMgr_c<17dLytGameOverMgr_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80537C80; // type:object size:0x30
|
||||
__vt__33sFStateFct_c<17dLytGameOverMgr_c> = .data:0x80537CB0; // type:object size:0x18
|
||||
__vt__30sFState_c<17dLytGameOverMgr_c> = .data:0x80537CC8; // type:object size:0x18
|
||||
__vt__14dLytGameOver_c = .data:0x80537CE0; // type:object size:0x10
|
||||
__vt__53sFStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c> = .data:0x80537CF0; // type:object size:0x30
|
||||
__vt__83sStateMgr_c<14dLytGameOver_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x80537D20; // type:object size:0x30
|
||||
__vt__30sFStateFct_c<14dLytGameOver_c> = .data:0x80537D50; // type:object size:0x18
|
||||
__vt__27sFState_c<14dLytGameOver_c> = .data:0x80537D68; // type:object size:0x390
|
||||
__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
|
||||
@@ -40503,10 +40515,10 @@ lbl_80573B48 = .sdata:0x80573B48; // type:object size:0x8
|
||||
lbl_80573B50 = .sdata:0x80573B50; // type:object size:0x8
|
||||
lbl_80573B58 = .sdata:0x80573B58; // type:object size:0x4 data:4byte
|
||||
lbl_80573B5C = .sdata:0x80573B5C; // type:object size:0x4
|
||||
lbl_80573B60 = .sdata:0x80573B60; // type:object size:0x8
|
||||
lbl_80573B68 = .sdata:0x80573B68; // type:object size:0x8
|
||||
lbl_80573B70 = .sdata:0x80573B70; // type:object size:0x8
|
||||
lbl_80573B78 = .sdata:0x80573B78; // type:object size:0x8
|
||||
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
|
||||
lbl_80573B88 = .sdata:0x80573B88; // type:object size:0x8 data:string
|
||||
lbl_80573B90 = .sdata:0x80573B90; // type:object size:0x4 data:4byte
|
||||
@@ -41688,9 +41700,9 @@ lbl_80575778 = .sbss:0x80575778; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057577C = .sbss:0x8057577C; // type:object size:0x4 data:4byte
|
||||
sInstance__10dScTitle_c = .sbss:0x80575780; // type:object size:0x4 data:4byte
|
||||
sPreventEmptyFilesTitle__10dScTitle_c = .sbss:0x80575784; // type:object size:0x1 data:byte
|
||||
lbl_80575785 = .sbss:0x80575785; // type:object size:0x1
|
||||
lbl_80575786 = .sbss:0x80575786; // type:object size:0x1 data:byte
|
||||
lbl_80575787 = .sbss:0x80575787; // type:object size:0x1 data:byte
|
||||
lbl_80575785__10dScTitle_c = .sbss:0x80575785; // type:object size:0x1
|
||||
lbl_80575786__10dScTitle_c = .sbss:0x80575786; // type:object size:0x1 data:byte
|
||||
lbl_80575787__10dScTitle_c = .sbss:0x80575787; // type:object size:0x1 data:byte
|
||||
CAMERAS = .sbss:0x80575788; // type:object size:0x4 data:4byte
|
||||
LINK__7dAcPy_c = .sbss:0x8057578C; // type:object size:0x4 data:4byte
|
||||
SCRAPPER_PTR = .sbss:0x80575790; // type:object size:0x4 data:4byte
|
||||
@@ -41831,7 +41843,7 @@ lbl_80575934 = .sbss:0x80575934; // type:object size:0x4 data:4byte
|
||||
lbl_80575938 = .sbss:0x80575938; // type:object size:0x4 align:4 data:float
|
||||
lbl_8057593C = .sbss:0x8057593C; // type:object size:0x4 align:4 data:float
|
||||
LYT_PAUSE_DISP = .sbss:0x80575940; // type:object size:0x8 data:4byte
|
||||
sInstance__14dLytGameOver_c = .sbss:0x80575948; // type:object size:0x8 data:4byte
|
||||
sInstance__17dLytGameOverMgr_c = .sbss:0x80575948; // type:object size:0x8 data:4byte
|
||||
sInstance__13dLytSaveMgr_c = .sbss:0x80575950; // type:object size:0x8 data:4byte
|
||||
lbl_80575958 = .sbss:0x80575958; // type:object size:0x1 data:byte
|
||||
lbl_80575959 = .sbss:0x80575959; // type:object size:0x1 data:byte
|
||||
|
||||
@@ -8,6 +8,13 @@
|
||||
|
||||
class dFader_c : public mFader_c {
|
||||
public:
|
||||
enum FadeType_e {
|
||||
FADER_BLACK = 0,
|
||||
FADER_GREY = 1,
|
||||
FADER_LYT = 2,
|
||||
FADER_SCREEN = 3,
|
||||
};
|
||||
|
||||
dFader_c() : mpColorFader(nullptr), mpLytFader(nullptr), mpScreenFader(nullptr), field_0x14(0) {}
|
||||
virtual ~dFader_c();
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/d_camera.h"
|
||||
#include "d/d_dylink.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_scene.h"
|
||||
#include "d/d_camera.h"
|
||||
#include "egg/gfx/eggScreen.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m2d.h"
|
||||
@@ -130,6 +130,10 @@ public:
|
||||
virtual void deleteReady() override;
|
||||
|
||||
void triggerExit(s32 room, u16 exitIndex, s32 forcedNight = 2, s32 forcedTrial = 2);
|
||||
void triggerEntrance(
|
||||
const char *stageName, u8 roomid, u8 layer, u8 entrance, int forcedNight = SpawnInfo::RETAIN_TOD, int forcedTrial = SpawnInfo::RETAIN_TRIAL, u8 transitionType = dFader_c::FADER_BLACK,
|
||||
u16 transitionFadeFrames = 15, s8 field0x28 = -1
|
||||
);
|
||||
// void triggerEntrance(const char *stageName, u8 room, );
|
||||
const LinkReloadInfo &getLinkReloadInfo() const;
|
||||
|
||||
@@ -152,7 +156,6 @@ public:
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
|
||||
bool setReloadTrigger(fProfile::PROFILE_NAME_e reloadTrigger);
|
||||
void setRespawnInfo(const mVec3_c &linkPos, const mAng3_c &linkRot, bool unk);
|
||||
void setSpawnInfo(u8 roomid, const mVec3_c &pos, mAng rot);
|
||||
@@ -206,13 +209,14 @@ public:
|
||||
return mScreen1.fn_801BBEC0();
|
||||
}
|
||||
|
||||
static bool sCopyFileBToCurrentAfterRespawn;
|
||||
static bool sDoSomethingWithFileAOnTransition;
|
||||
static bool sPreventClearingSomeFlag;
|
||||
|
||||
protected:
|
||||
static u32 sUpdateFrameCount;
|
||||
static u8 sCurrentLayer;
|
||||
static u8 sReloaderType;
|
||||
static bool sCopyFileBToCurrentAfterRespawn;
|
||||
static bool sDoSomethingWithFileAOnTransition;
|
||||
static bool sPreventClearingSomeFlag;
|
||||
|
||||
static void someGfxThingCallback();
|
||||
void somethingWithScreen();
|
||||
|
||||
@@ -15,6 +15,14 @@ public:
|
||||
|
||||
static dScTitle_c *sInstance;
|
||||
|
||||
static void setLbl_80575787(bool v) {
|
||||
lbl_80575787 = v;
|
||||
}
|
||||
|
||||
static u8 lbl_80575785;
|
||||
static u8 lbl_80575786;
|
||||
static u8 lbl_80575787;
|
||||
|
||||
static void loadTitleScreen(u32 params);
|
||||
static void setSomethingSkbRelated();
|
||||
|
||||
|
||||
@@ -1,19 +1,100 @@
|
||||
#ifndef D_LYT_GAME_OVER_H
|
||||
#define D_LYT_GAME_OVER_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "d/lyt/msg_window/d_lyt_msg_window_select_btn.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "sized_string.h"
|
||||
|
||||
class dLytGameOver_c : public dBase_c {
|
||||
class dLytGameOver_c {
|
||||
public:
|
||||
dLytGameOver_c();
|
||||
virtual ~dLytGameOver_c();
|
||||
virtual ~dLytGameOver_c() {}
|
||||
|
||||
static dLytGameOver_c *GetInstance() {
|
||||
bool build();
|
||||
bool remove();
|
||||
bool execute();
|
||||
bool draw();
|
||||
|
||||
bool requestIn(const char *text, s32 p1, s32 p2);
|
||||
bool requestOut(s32 outType);
|
||||
|
||||
s32 getSelectedOption() const {
|
||||
return mSelectedOption;
|
||||
}
|
||||
|
||||
bool isChangingState() const {
|
||||
return mIsChangingState;
|
||||
}
|
||||
|
||||
void setField_0x1338(bool v) {
|
||||
field_0x1338 = v;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Init);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, In);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Wait);
|
||||
STATE_FUNC_DECLARE(dLytGameOver_c, Out);
|
||||
|
||||
void init();
|
||||
|
||||
void setAnm(int idx);
|
||||
void stopAnm(int idx);
|
||||
void applyText();
|
||||
void setupButtons();
|
||||
|
||||
/* 0x0004 */ UI_STATE_MGR_DECLARE(dLytGameOver_c);
|
||||
/* 0x0044 */ d2d::ResAccIf_c mResAcc1;
|
||||
/* 0x03B0 */ d2d::ResAccIf_c mResAcc2;
|
||||
/* 0x0720 */ d2d::LytBase_c mLyt;
|
||||
/* 0x07B0 */ d2d::AnmGroup_c mAnm[5];
|
||||
/* 0x08F0 */ d2d::SubPaneList mSubpaneList;
|
||||
/* 0x08FC */ d2d::SubPaneListNode mSubpanes[1];
|
||||
/* 0x090C */ dLytMsgWindowSelectBtn_c mSelectBtn;
|
||||
/* 0x12E0 */ SizedString<0x40> mLabel;
|
||||
/* 0x1320 */ s32 mVariant;
|
||||
/* 0x1324 */ s32 mInType;
|
||||
/* 0x1328 */ s32 mOutType;
|
||||
/* 0x132C */ s32 mStep;
|
||||
/* 0x1330 */ s32 mSelectedOption;
|
||||
/* 0x1334 */ bool mIsVisible;
|
||||
/* 0x1335 */ bool mIsChangingState;
|
||||
/* 0x1336 */ bool mInRequest;
|
||||
/* 0x1337 */ bool mOutRequest;
|
||||
/* 0x1338 */ bool field_0x1338;
|
||||
};
|
||||
|
||||
class dLytGameOverMgr_c : public dBase_c {
|
||||
public:
|
||||
dLytGameOverMgr_c();
|
||||
virtual ~dLytGameOverMgr_c();
|
||||
|
||||
int create() override;
|
||||
int doDelete() override;
|
||||
int execute() override;
|
||||
int draw() override;
|
||||
|
||||
static dLytGameOverMgr_c *GetInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
private:
|
||||
static dLytGameOver_c *sInstance;
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, Init);
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, FadeOut);
|
||||
STATE_FUNC_DECLARE(dLytGameOverMgr_c, Select);
|
||||
|
||||
void init();
|
||||
|
||||
static dLytGameOverMgr_c *sInstance;
|
||||
|
||||
/* 0x0068 */ UI_STATE_MGR_DECLARE(dLytGameOverMgr_c);
|
||||
/* 0x00A4 */ dLytGameOver_c mMain;
|
||||
/* 0x13E0 */ s32 mStep;
|
||||
/* 0x13E4 */ s32 mTimer;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -174,16 +174,16 @@ public:
|
||||
/* 8000BDD0 */ u16 getHitCountFromEnemy(u8 enemy);
|
||||
|
||||
/* 8000BE50 */ void setLoadRoomT1_FileB(s16 roomId);
|
||||
/* 8000BE80 */ s16 getLoadRoomT1_FileB();
|
||||
/* 8000BE80 */ u16 getLoadRoomT1_FileB();
|
||||
/* 8000BE90 */ void setEntranceT1_FileB(u8 entrance);
|
||||
/* 8000BEC0 */ u8 getEntranceT1_FileB();
|
||||
/* 8000BED0 */ void setAreaT1_FileB(const char *name);
|
||||
/* 8000BF80 */ char *getAreaT1_FileB();
|
||||
/* 8000C080 */ void setNightT1_FileB(bool night);
|
||||
/* 8000C0B0 */ bool getNightT1_FileB();
|
||||
/* 8000C0B0 */ u8 getNightT1_FileB();
|
||||
/* 8000C0C0 */ void setEntranceT1LoadFlag_FileB(u8 flag);
|
||||
/* 8000C0F0 */ void setForcedLayerT1_FileB(u8 layer);
|
||||
/* 8000C120 */ void getForcedLayerT1_FileB();
|
||||
/* 8000C120 */ u8 getForcedLayerT1_FileB();
|
||||
/* 8000C130 */ void setCurrentHealth_FileB(s16 health);
|
||||
|
||||
/* 8000C160 */ void setHeroname(const wchar_t *name);
|
||||
@@ -208,7 +208,7 @@ public:
|
||||
|
||||
/* 8000CA00 */ bool getNightT1();
|
||||
/* 8000CA50 */ void setNightT3(bool night);
|
||||
/* 8000CA80 */ bool getNightT3();
|
||||
/* 8000CA80 */ u8 getNightT3();
|
||||
|
||||
/* 8000CAD0 */ bool isNew_FileA();
|
||||
|
||||
@@ -358,8 +358,8 @@ public:
|
||||
mSelectedFile = val;
|
||||
}
|
||||
|
||||
private:
|
||||
static FileManager *sInstance;
|
||||
private:
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -24,6 +24,7 @@ public:
|
||||
static void create();
|
||||
static void destroy();
|
||||
static void execute();
|
||||
|
||||
private:
|
||||
MinigameManager() {}
|
||||
virtual ~MinigameManager() {}
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
#define MISC_ACTOR_H
|
||||
|
||||
bool checkIsInSkykeepPuzzle();
|
||||
void restoreSkykeepPuzzleFromGlobal();
|
||||
|
||||
#endif
|
||||
|
||||
+7
-7
@@ -36,18 +36,18 @@ bool dFader_c::create() {
|
||||
return false;
|
||||
}
|
||||
|
||||
mFadeOutType = 0;
|
||||
mFadeInType = 0;
|
||||
mFadeOutType = FADER_BLACK;
|
||||
mFadeInType = FADER_BLACK;
|
||||
mFadeInFrame = 0x1E;
|
||||
mFadeOutFrame = 0x1E;
|
||||
setFader(0);
|
||||
setFader(FADER_BLACK);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dFader_c::setFader(s32 fader) {
|
||||
switch (fader) {
|
||||
case 0:
|
||||
case FADER_BLACK:
|
||||
if (mFader_c::setFader(mpColorFader)) {
|
||||
if (mpColorFader->getStatus() == mFaderBase_c::FADED_IN) {
|
||||
mpColorFader->setColor(mColor(0, 0, 0, 0xFF));
|
||||
@@ -55,7 +55,7 @@ bool dFader_c::setFader(s32 fader) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
case FADER_GREY:
|
||||
if (mFader_c::setFader(mpColorFader)) {
|
||||
if (mpColorFader->getStatus() == mFaderBase_c::FADED_IN) {
|
||||
mpColorFader->setColor(mFaderColor);
|
||||
@@ -63,7 +63,7 @@ bool dFader_c::setFader(s32 fader) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
case FADER_LYT:
|
||||
if (mFader_c::setFader(mpLytFader)) {
|
||||
if (mpLytFader->getStatus() == mFaderBase_c::FADED_IN) {
|
||||
mpLytFader->setColor(mColor(0, 0, 0, 0xFF));
|
||||
@@ -71,7 +71,7 @@ bool dFader_c::setFader(s32 fader) {
|
||||
return true;
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
case FADER_SCREEN:
|
||||
if (mFader_c::setFader(mpScreenFader)) {
|
||||
if (mpScreenFader->getStatus() == mFaderBase_c::FADED_IN) {
|
||||
mpScreenFader->setColor(mColor(0, 0, 0, 0xFF));
|
||||
|
||||
+2
-1
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_gfx.h"
|
||||
#include "d/d_stage_mgr.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
@@ -104,7 +105,7 @@ void dScGame_c::deleteReady() {
|
||||
sFPhaseBase::sFPhaseState dScGame_c::cb1() {
|
||||
mFader.create();
|
||||
mFader.setFrames(15, 15);
|
||||
mFader.setTypes(1, 1);
|
||||
mFader.setTypes(dFader_c::FADER_GREY, dFader_c::FADER_GREY);
|
||||
mFader.initForLyt();
|
||||
mRelCtrl.do_link();
|
||||
mLayoutCtrl.load(nullptr);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_dvd_unk.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_message.h"
|
||||
#include "d/d_pad.h"
|
||||
@@ -24,11 +25,10 @@ SPECIAL_BASE_PROFILE(TITLE, dScTitle_c, fProfile::TITLE, 0, 0);
|
||||
|
||||
dScTitle_c *dScTitle_c::sInstance;
|
||||
bool dScTitle_c::sPreventEmptyFilesTitle;
|
||||
extern "C" {
|
||||
u8 lbl_80575785;
|
||||
u8 lbl_80575786;
|
||||
u8 lbl_80575787;
|
||||
}
|
||||
|
||||
u8 dScTitle_c::lbl_80575785;
|
||||
u8 dScTitle_c::lbl_80575786;
|
||||
u8 dScTitle_c::lbl_80575787;
|
||||
|
||||
static u16 sModulesToLoad[] = {
|
||||
// ??? not sure what these correspond to
|
||||
@@ -159,11 +159,11 @@ void dScTitle_c::loadTitleScreen(u32 params) {
|
||||
params = 2;
|
||||
}
|
||||
TITLE_SCREEN_CHANGE = params;
|
||||
setRootActor(fProfile::TITLE, params, 0, 0);
|
||||
setRootActor(fProfile::TITLE, params, dFader_c::FADER_BLACK, dFader_c::FADER_BLACK);
|
||||
if (checkAllSaveFilesEmpty() == true) {
|
||||
actuallyTriggerEntrance("F000", 0, 26, 55, 0, 0, 0, 15, -1);
|
||||
actuallyTriggerEntrance("F000", 0, 26, 55, 0, 0, dFader_c::FADER_BLACK, 15, -1);
|
||||
} else {
|
||||
actuallyTriggerEntrance("F000", 0, 28, 48, 0, 0, 0, 15, -1);
|
||||
actuallyTriggerEntrance("F000", 0, 28, 48, 0, 0, dFader_c::FADER_BLACK, 15, -1);
|
||||
}
|
||||
fn_80362150(ENEMY_SOUND_MGR, 30);
|
||||
}
|
||||
|
||||
+2
-1
@@ -4,6 +4,7 @@
|
||||
#include "d/col/bg/d_bg_s.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_bzs_types.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_room.h"
|
||||
#include "d/d_rumble.h"
|
||||
#include "d/d_sc_game.h"
|
||||
@@ -124,7 +125,7 @@ sFPhaseBase::sFPhaseState dStage_c::createRooms() {
|
||||
// TODO
|
||||
// if (dScGame_c::sCo)
|
||||
mFader.create();
|
||||
mFader.setTypes(1, 1);
|
||||
mFader.setTypes(dFader_c::FADER_GREY, dFader_c::FADER_GREY);
|
||||
mFader.setFadeInFrame(1);
|
||||
mFader.fadeIn();
|
||||
mFader.calc();
|
||||
|
||||
@@ -0,0 +1,584 @@
|
||||
#include "d/lyt/d_lyt_game_over.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_message.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/lyt/d2d.h"
|
||||
#include "d/lyt/d_window.h"
|
||||
#include "d/snd/d_snd_wzsound.h"
|
||||
#include "f/f_base.h"
|
||||
#include "nw4r/lyt/lyt_group.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/minigame_mgr.h"
|
||||
#include "toBeSorted/misc_actor.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
|
||||
STATE_DEFINE(dLytGameOver_c, Init);
|
||||
STATE_DEFINE(dLytGameOver_c, In);
|
||||
STATE_DEFINE(dLytGameOver_c, Wait);
|
||||
STATE_DEFINE(dLytGameOver_c, Out);
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap2[] = {
|
||||
{"gameOver_02_gameOver.brlan", "G_gameOver_00"},
|
||||
{ "gameOver_02_loop.brlan", "G_loop_00"},
|
||||
{ "gameOver_02_textOut.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_02_textIn.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_02_fade.brlan", "G_fade_00"},
|
||||
};
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap3[] = {
|
||||
{"gameOver_03_gameOver.brlan", "G_gameOver_00"},
|
||||
{ "gameOver_03_loop.brlan", "G_loop_00"},
|
||||
{ "gameOver_03_textOut.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_03_textIn.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_03_fade.brlan", "G_fade_00"},
|
||||
};
|
||||
|
||||
static const d2d::LytBrlanMapping brlanMap1[] = {
|
||||
{"gameOver_01_gameOver.brlan", "G_gameOver_00"},
|
||||
{ "gameOver_01_loop.brlan", "G_loop_00"},
|
||||
{ "gameOver_01_textOut.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_01_textIn.brlan", "G_textInOut_00"},
|
||||
{ "gameOver_01_fade.brlan", "G_fade_00"},
|
||||
};
|
||||
|
||||
#define GAME_OVER_ANIM_GAME_OVER 0
|
||||
#define GAME_OVER_ANIM_LOOP 1
|
||||
#define GAME_OVER_ANIM_TEXT_OUT 2
|
||||
#define GAME_OVER_ANIM_TEXT_IN 3
|
||||
#define GAME_OVER_ANIM_TEXT_FADE 4
|
||||
|
||||
#define GAME_OVER_NUM_ANIMS 5
|
||||
|
||||
static const char *sGroupName = "G_ref_00";
|
||||
|
||||
dLytGameOver_c::dLytGameOver_c() : mStateMgr(*this) {
|
||||
init();
|
||||
}
|
||||
|
||||
extern "C" u8 fn_80054F30();
|
||||
|
||||
bool dLytGameOver_c::build() {
|
||||
u8 lang = fn_80054F30();
|
||||
s32 variant;
|
||||
if (lang == 3) {
|
||||
variant = 1;
|
||||
} else if (lang == 4) {
|
||||
variant = 2;
|
||||
} else {
|
||||
variant = 0;
|
||||
}
|
||||
|
||||
if (variant == 0) {
|
||||
void *data = LayoutArcManager::GetInstance()->getLoadedData("gameOver_01");
|
||||
mResAcc1.attach(data, "");
|
||||
} else if (variant == 1) {
|
||||
void *data = LayoutArcManager::GetInstance()->getLoadedData("gameOver_02");
|
||||
mResAcc1.attach(data, "");
|
||||
} else {
|
||||
void *data = LayoutArcManager::GetInstance()->getLoadedData("gameOver_03");
|
||||
mResAcc1.attach(data, "");
|
||||
}
|
||||
void *data2 = LayoutArcManager::GetInstance()->getLoadedData("System2D");
|
||||
mResAcc2.attach(data2, "");
|
||||
|
||||
switch (variant) {
|
||||
case 1: {
|
||||
mLyt.setResAcc(&mResAcc1);
|
||||
mLyt.build("gameOver_02.brlyt", nullptr);
|
||||
for (int i = 0; i < GAME_OVER_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap2[i].mFile, &mResAcc1, mLyt.getLayout(), brlanMap2[i].mName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2: {
|
||||
mLyt.setResAcc(&mResAcc1);
|
||||
mLyt.build("gameOver_03.brlyt", nullptr);
|
||||
for (int i = 0; i < GAME_OVER_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap3[i].mFile, &mResAcc1, mLyt.getLayout(), brlanMap3[i].mName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
default: {
|
||||
mLyt.setResAcc(&mResAcc1);
|
||||
mLyt.build("gameOver_01.brlyt", nullptr);
|
||||
for (int i = 0; i < GAME_OVER_NUM_ANIMS; i++) {
|
||||
mAnm[i].init(brlanMap1[i].mFile, &mResAcc1, mLyt.getLayout(), brlanMap1[i].mName);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mLyt.setPriority(0x8A);
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane = &mSelectBtn;
|
||||
mSelectBtn.build(&mResAcc2);
|
||||
mSubpaneList.PushBack(&mSubpanes[i]);
|
||||
}
|
||||
|
||||
if (mLyt.getLayout()->GetGroupContainer() != nullptr) {
|
||||
nw4r::lyt::Group *g = mLyt.getLayout()->GetGroupContainer()->FindGroupByName(sGroupName);
|
||||
if (g != nullptr) {
|
||||
d2d::dSubPane::linkMeters(g, &mSubpaneList);
|
||||
}
|
||||
}
|
||||
|
||||
mSelectBtn.setField_0x9C4(1);
|
||||
mSelectBtn.setField_0x99C(1);
|
||||
mSelectBtn.setField_0x9A0(2);
|
||||
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
|
||||
field_0x1338 = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytGameOver_c::remove() {
|
||||
for (d2d::SubPaneList::Iterator it = mSubpaneList.GetBeginIter(); it != mSubpaneList.GetEndIter(); ++it) {
|
||||
d2d::dSubPane *subPane = it->mpLytPane;
|
||||
if (subPane != nullptr) {
|
||||
nw4r::lyt::Pane *parent = subPane->getPane()->GetParent();
|
||||
parent->RemoveChild(subPane->getPane());
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane->remove();
|
||||
}
|
||||
|
||||
mLyt.unbindAnims();
|
||||
|
||||
for (int i = 0; i < GAME_OVER_NUM_ANIMS; i++) {
|
||||
mAnm[i].remove();
|
||||
}
|
||||
|
||||
mResAcc2.detach();
|
||||
mResAcc1.detach();
|
||||
|
||||
dBase_c::s_NextExecuteControlFlags &= ~0x200;
|
||||
dBase_c::s_DrawControlFlags &= ~0x200;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytGameOver_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
mLyt.calc();
|
||||
for (int i = 0; i < 1; i++) {
|
||||
mSubpanes[i].mpLytPane->execute();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytGameOver_c::draw() {
|
||||
if (mIsVisible != true) {
|
||||
return true;
|
||||
}
|
||||
mLyt.addToDrawList();
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytGameOver_c::requestIn(const char *label, s32 p1, s32 p2) {
|
||||
mLabel = label;
|
||||
mVariant = p1;
|
||||
mInType = p2;
|
||||
mInRequest = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool dLytGameOver_c::requestOut(s32 type) {
|
||||
if (!mStateMgr.getStateID()->isEqual(StateID_Wait)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
mOutType = type;
|
||||
mOutRequest = true;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void dLytGameOver_c::initializeState_Init() {
|
||||
init();
|
||||
}
|
||||
void dLytGameOver_c::executeState_Init() {
|
||||
if (mInRequest == true) {
|
||||
mInRequest = false;
|
||||
mStateMgr.changeState(StateID_In);
|
||||
}
|
||||
}
|
||||
void dLytGameOver_c::finalizeState_Init() {}
|
||||
|
||||
void dLytGameOver_c::initializeState_In() {
|
||||
mStep = 0;
|
||||
mIsVisible = true;
|
||||
u32 anim = GAME_OVER_ANIM_TEXT_IN;
|
||||
if (mInType == 0) {
|
||||
anim = GAME_OVER_ANIM_GAME_OVER;
|
||||
}
|
||||
setAnm(anim);
|
||||
applyText();
|
||||
field_0x1338 = 0;
|
||||
}
|
||||
void dLytGameOver_c::executeState_In() {
|
||||
u32 anim = GAME_OVER_ANIM_TEXT_IN;
|
||||
if (mInType == 0) {
|
||||
anim = GAME_OVER_ANIM_GAME_OVER;
|
||||
}
|
||||
|
||||
d2d::AnmGroup_c &anm = mAnm[anim];
|
||||
if (anm.isEndReached() == true) {
|
||||
stopAnm(anim);
|
||||
setAnm(GAME_OVER_ANIM_LOOP);
|
||||
mStateMgr.changeState(StateID_Wait);
|
||||
setupButtons();
|
||||
}
|
||||
anm.play();
|
||||
}
|
||||
void dLytGameOver_c::finalizeState_In() {
|
||||
mSelectBtn.getPane()->SetVisible(true);
|
||||
}
|
||||
|
||||
void dLytGameOver_c::initializeState_Wait() {
|
||||
mStep = 0;
|
||||
}
|
||||
void dLytGameOver_c::executeState_Wait() {
|
||||
d2d::AnmGroup_c &anm = mAnm[GAME_OVER_ANIM_LOOP];
|
||||
anm.play();
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
if (mSelectBtn.getField_0x9B4() >= 0) {
|
||||
mSelectedOption = mSelectBtn.getField_0x9B4();
|
||||
mStep += 1;
|
||||
mIsChangingState = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
if (mStep == 1 && mOutRequest == true) {
|
||||
mIsChangingState = false;
|
||||
mOutRequest = false;
|
||||
mStateMgr.changeState(StateID_Out);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytGameOver_c::finalizeState_Wait() {}
|
||||
|
||||
void dLytGameOver_c::initializeState_Out() {
|
||||
mStep = 0;
|
||||
if (mOutType == 0) {
|
||||
setAnm(GAME_OVER_ANIM_TEXT_OUT);
|
||||
} else {
|
||||
setAnm(GAME_OVER_ANIM_TEXT_FADE);
|
||||
}
|
||||
}
|
||||
void dLytGameOver_c::executeState_Out() {
|
||||
u32 anim = GAME_OVER_ANIM_TEXT_OUT;
|
||||
if (mOutType != 0) {
|
||||
anim = GAME_OVER_ANIM_TEXT_FADE;
|
||||
}
|
||||
d2d::AnmGroup_c &anm = mAnm[anim];
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
if (anm.isEndReached() == true) {
|
||||
stopAnm(GAME_OVER_ANIM_TEXT_OUT);
|
||||
stopAnm(GAME_OVER_ANIM_LOOP);
|
||||
mIsVisible = false;
|
||||
mIsChangingState = true;
|
||||
mSelectBtn.getPane()->SetVisible(false);
|
||||
mStep = 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
break;
|
||||
}
|
||||
}
|
||||
anm.play();
|
||||
}
|
||||
void dLytGameOver_c::finalizeState_Out() {}
|
||||
|
||||
void dLytGameOver_c::init() {
|
||||
mIsVisible = false;
|
||||
mIsChangingState = false;
|
||||
mInRequest = false;
|
||||
mOutRequest = false;
|
||||
mSelectedOption = 0;
|
||||
}
|
||||
|
||||
void dLytGameOver_c::setAnm(int idx) {
|
||||
d2d::AnmGroup_c &anm = mAnm[idx];
|
||||
anm.bind(false);
|
||||
anm.setFrame(0.0f);
|
||||
}
|
||||
|
||||
void dLytGameOver_c::stopAnm(int idx) {
|
||||
d2d::AnmGroup_c &anm = mAnm[idx];
|
||||
anm.unbind();
|
||||
}
|
||||
|
||||
void dLytGameOver_c::applyText() {
|
||||
const wchar_t *text = dMessage_c::getTextMessageByLabel(mLabel, true, nullptr, 0);
|
||||
mLyt.getTextBox("T_select_00")->setTextWithGlobalTextProcessor(text);
|
||||
mLyt.getTextBox("T_selectS_00")->setTextWithGlobalTextProcessor(text);
|
||||
|
||||
dWindow_c *window = mLyt.getWindow("W_bgP_00");
|
||||
window->UpdateSize(mLyt.getSizeBoxInWindow("W_bgP_00"), 32.0f);
|
||||
}
|
||||
|
||||
void dLytGameOver_c::setupButtons() {
|
||||
s32 numOptions = 2;
|
||||
if (mVariant == 1) {
|
||||
numOptions = 3;
|
||||
} else if (mVariant == 2) {
|
||||
numOptions = 4;
|
||||
}
|
||||
|
||||
for (int i = 0; i < numOptions; i++) {
|
||||
const wchar_t *buf = dMessage_c::getGlobalTagProcessor()->getBuf(i);
|
||||
mSelectBtn.getSelectTextBox(i, 0)->setTextWithGlobalTextProcessor(buf);
|
||||
mSelectBtn.getSelectTextBox(i, 1)->setTextWithGlobalTextProcessor(buf);
|
||||
}
|
||||
mSelectBtn.setTagProcessor(dMessage_c::getGlobalTagProcessor());
|
||||
u32 tmp = dMessage_c::getGlobalTagProcessor()->getField_0x828();
|
||||
mSelectBtn.setField_0x9BC(tmp);
|
||||
mSelectBtn.setField_0x990(tmp);
|
||||
mSelectBtn.fn_8011E5D0(numOptions, true);
|
||||
}
|
||||
|
||||
SPECIAL_BASE_PROFILE(LYT_GAMEOVER_MGR, dLytGameOverMgr_c, fProfile::LYT_GAMEOVER_MGR, 0x02AC, 0x0201);
|
||||
|
||||
STATE_DEFINE(dLytGameOverMgr_c, Init);
|
||||
STATE_DEFINE(dLytGameOverMgr_c, FadeOut);
|
||||
STATE_DEFINE(dLytGameOverMgr_c, Select);
|
||||
|
||||
dLytGameOverMgr_c::dLytGameOverMgr_c() : mStateMgr(*this) {
|
||||
sInstance = this;
|
||||
init();
|
||||
}
|
||||
|
||||
dLytGameOverMgr_c::~dLytGameOverMgr_c() {
|
||||
sInstance = nullptr;
|
||||
}
|
||||
|
||||
int dLytGameOverMgr_c::create() {
|
||||
mMain.build();
|
||||
mStateMgr.changeState(StateID_Init);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytGameOverMgr_c::doDelete() {
|
||||
mMain.remove();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytGameOverMgr_c::execute() {
|
||||
mStateMgr.executeState();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dLytGameOverMgr_c::draw() {
|
||||
mMain.draw();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
void dLytGameOverMgr_c::initializeState_Init() {}
|
||||
void dLytGameOverMgr_c::executeState_Init() {
|
||||
mStateMgr.changeState(StateID_FadeOut);
|
||||
}
|
||||
void dLytGameOverMgr_c::finalizeState_Init() {}
|
||||
|
||||
void dLytGameOverMgr_c::initializeState_FadeOut() {
|
||||
dStage_c::GetInstance()->fadeOut(dFader_c::FADER_BLACK, 40);
|
||||
}
|
||||
void dLytGameOverMgr_c::executeState_FadeOut() {
|
||||
if (dStage_c::GetInstance()->isFadedOut() == true) {
|
||||
// "Do you want to continue adventuring? [1]Continue[2]Quit"
|
||||
if (mMain.requestIn("SYS_GAMEOVER_01", 0, 0)) {
|
||||
mMain.setField_0x1338(true);
|
||||
mStateMgr.changeState(StateID_Select);
|
||||
AnotherSoundMgr__playSound(FANFARE_SOUND_MGR, FAN_GAMEOVER);
|
||||
}
|
||||
}
|
||||
}
|
||||
void dLytGameOverMgr_c::finalizeState_FadeOut() {}
|
||||
|
||||
void dLytGameOverMgr_c::initializeState_Select() {
|
||||
mStep = 0;
|
||||
mTimer = 0;
|
||||
}
|
||||
void dLytGameOverMgr_c::executeState_Select() {
|
||||
// TODO - regswaps https://decomp.me/scratch/IPWjo
|
||||
// FileManager::GetInstance() causes even more regswaps
|
||||
FileManager *fileManager = FileManager::sInstance;
|
||||
|
||||
// I'm not sure if all these were declared here - it'd make
|
||||
// sense for a switch statement...
|
||||
const char *stage;
|
||||
u8 entrance;
|
||||
u16 room;
|
||||
u8 layer;
|
||||
bool isSpecialMinigame;
|
||||
|
||||
switch (mStep) {
|
||||
case 0: {
|
||||
if (mTimer < 20) {
|
||||
mTimer++;
|
||||
if (mTimer == 20) {
|
||||
dBase_c::s_NextExecuteControlFlags |= 1;
|
||||
dBase_c::s_DrawControlFlags |= 1;
|
||||
}
|
||||
}
|
||||
if (mMain.isChangingState() == true) {
|
||||
if (mMain.getSelectedOption() == 0) {
|
||||
mStep = 20;
|
||||
} else {
|
||||
mStep = 1;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 1:
|
||||
case 10: {
|
||||
if (mMain.requestOut(0) == true) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
case 11: {
|
||||
if (mMain.isChangingState() == true) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
// "Are you sure you want to quit? [1]Quit[2-]Cancel"
|
||||
if (mMain.requestIn("SYS_GAMEOVER_03", 0, 1)) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
if (mMain.isChangingState() == true) {
|
||||
if (mMain.getSelectedOption() == 0) {
|
||||
mStep++;
|
||||
} else {
|
||||
mStep = 10;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 5:
|
||||
case 20: {
|
||||
if (mMain.requestOut(1) == true) {
|
||||
mStep++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
dScTitle_c::loadTitleScreen(1);
|
||||
mStep = 100;
|
||||
// break;
|
||||
}
|
||||
case 12: {
|
||||
// "Do you want to continue adventuring? [1]Continue[2]Quit"
|
||||
if (mMain.requestIn("SYS_GAMEOVER_01", 0, 1)) {
|
||||
mStep = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 21: {
|
||||
if (mMain.isChangingState() == true) {
|
||||
dScTitle_c::setLbl_80575787(true);
|
||||
dScGame_c::sPreventClearingSomeFlag = true;
|
||||
// Maybe an inline? Would have to use the inverse condition and then negate...
|
||||
isSpecialMinigame = false;
|
||||
if (MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) ||
|
||||
MinigameManager::isInMinigameState(MinigameManager::BOSS_RUSH)) {
|
||||
isSpecialMinigame = true;
|
||||
}
|
||||
|
||||
if (params != 0 && !isSpecialMinigame) {
|
||||
dScGame_c::setReloaderType(1);
|
||||
dScGame_c::sCopyFileBToCurrentAfterRespawn = true;
|
||||
entrance = fileManager->getEntranceT1_FileB();
|
||||
room = fileManager->getLoadRoomT1_FileB();
|
||||
layer = fileManager->getForcedLayerT1_FileB();
|
||||
// TODO document this logic
|
||||
if (dScGame_c::isCurrentStage("F403") && layer == 2) {
|
||||
layer = 7;
|
||||
}
|
||||
stage = fileManager->getAreaT1_FileB();
|
||||
// TODO - this is weird, why is dScGame_c::sInstance being loaded first?
|
||||
// inlines? But we're using the fileManager from above for this call...
|
||||
// Probably the reason for the regswaps...
|
||||
dScGame_c::GetInstance()->triggerEntrance(
|
||||
stage, room, layer, entrance, fileManager->getNightT1_FileB()
|
||||
);
|
||||
} else {
|
||||
dScGame_c::setReloaderType(3);
|
||||
entrance = fileManager->getEntranceT3();
|
||||
room = fileManager->getLoadRoomT3();
|
||||
layer = fileManager->getForcedLayerT3();
|
||||
// TODO - document this logic
|
||||
if (dScGame_c::isCurrentStage("B400") && !isSpecialMinigame) {
|
||||
dScGame_c::setReloaderType(4);
|
||||
entrance = 8;
|
||||
room = 1;
|
||||
layer = 3;
|
||||
}
|
||||
stage = fileManager->getAreaT3();
|
||||
// TODO - same as above
|
||||
dScGame_c::GetInstance()->triggerEntrance(stage, room, layer, entrance, fileManager->getNightT3());
|
||||
}
|
||||
|
||||
// TODO - document this logic
|
||||
if (dScGame_c::isCurrentStage("F401")) {
|
||||
if (fileManager->getCurrentHealth() < 24) {
|
||||
fileManager->setCurrentHealth(24);
|
||||
}
|
||||
} else {
|
||||
fileManager->setCurrentHealth(24);
|
||||
}
|
||||
|
||||
// TODO - document this logic
|
||||
if (dScGame_c::isCurrentStage("F302")) {
|
||||
// "Minecart Escort related"
|
||||
SceneflagManager::sInstance->unsetTempflag_i(0x3F, 0);
|
||||
}
|
||||
restoreSkykeepPuzzleFromGlobal();
|
||||
mStep = 100;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case 100: {
|
||||
dBase_c::s_NextExecuteControlFlags &= ~0x1;
|
||||
dBase_c::s_DrawControlFlags &= ~0x1;
|
||||
|
||||
dBase_c::s_NextExecuteControlFlags |= 0x200;
|
||||
dBase_c::s_DrawControlFlags |= 0x200;
|
||||
|
||||
mStep++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
mMain.execute();
|
||||
}
|
||||
void dLytGameOverMgr_c::finalizeState_Select() {}
|
||||
|
||||
void dLytGameOverMgr_c::init() {
|
||||
mStep = 0;
|
||||
mTimer = 0;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "d/lyt/d_lyt_wipe.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/lyt/d2d.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
@@ -148,7 +149,7 @@ void dLytWipe_c::executeState_None() {
|
||||
mIsSettled = false;
|
||||
// State IN fades OUT, because I guess the fader fades the scene out,
|
||||
// which means Wipe is In
|
||||
if (dStage_c::GetInstance()->fadeOut(2, 16)) {
|
||||
if (dStage_c::GetInstance()->fadeOut(dFader_c::FADER_LYT, 16)) {
|
||||
mStateMgr.changeState(StateID_In);
|
||||
mWantsIn = false;
|
||||
mVisible = true;
|
||||
@@ -207,7 +208,7 @@ void dLytWipe_c::executeState_Out() {
|
||||
dStage_c::GetInstance()->forceFadeOut();
|
||||
mFadeDelay--;
|
||||
if (mFadeDelay == 0) {
|
||||
dStage_c::GetInstance()->fadeIn(2, 16);
|
||||
dStage_c::GetInstance()->fadeIn(dFader_c::FADER_LYT, 16);
|
||||
mMain.gotoNone();
|
||||
mTransitionStage = 2;
|
||||
}
|
||||
|
||||
@@ -322,7 +322,7 @@ void dLytMeterHeart_c::executeInternal() {
|
||||
mStoredHealth = mStoredHealth + 1;
|
||||
if (mpAlphaPane->IsVisible() && mpAlphaPane->GetGlobalAlpha() != 0 && mStoredHealth % 4 == 0 &&
|
||||
(!(dScGame_c::currentSpawnInfo.stageName == "F406") || dScGame_c::currentSpawnInfo.layer != 13) &&
|
||||
dLytGameOver_c::GetInstance() == nullptr) {
|
||||
dLytGameOverMgr_c::GetInstance() == nullptr) {
|
||||
dSndSmallEffectMgr_c::GetInstance()->playSound(SE_S_HP_GAUGE_UP);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -199,16 +199,16 @@ u16 *FileManager::getStoryFlagsMut() {
|
||||
/* 8000BDD0 */ u16 FileManager::getHitCountFromEnemy(u8 enemy) {}
|
||||
|
||||
/* 8000BE50 */ void FileManager::setLoadRoomT1_FileB(s16 roomId) {}
|
||||
/* 8000BE80 */ s16 FileManager::getLoadRoomT1_FileB() {}
|
||||
/* 8000BE80 */ u16 FileManager::getLoadRoomT1_FileB() {}
|
||||
/* 8000BE90 */ void FileManager::setEntranceT1_FileB(u8 entrance) {}
|
||||
/* 8000BEC0 */ u8 FileManager::getEntranceT1_FileB() {}
|
||||
/* 8000BED0 */ void FileManager::setAreaT1_FileB(const char *name) {}
|
||||
/* 8000BF80 */ char *FileManager::getAreaT1_FileB() {}
|
||||
/* 8000C080 */ void FileManager::setNightT1_FileB(bool night) {}
|
||||
/* 8000C0B0 */ bool FileManager::getNightT1_FileB() {}
|
||||
/* 8000C0B0 */ u8 FileManager::getNightT1_FileB() {}
|
||||
/* 8000C0C0 */ void FileManager::setEntranceT1LoadFlag_FileB(u8 flag) {}
|
||||
/* 8000C0F0 */ void FileManager::setForcedLayerT1_FileB(u8 layer) {}
|
||||
/* 8000C120 */ void FileManager::getForcedLayerT1_FileB() {}
|
||||
/* 8000C120 */ u8 FileManager::getForcedLayerT1_FileB() {}
|
||||
/* 8000C130 */ void FileManager::setCurrentHealth_FileB(s16 health) {}
|
||||
|
||||
/* 8000C160 */ void FileManager::setHeroname(const wchar_t *name) {}
|
||||
@@ -233,7 +233,7 @@ u16 *FileManager::getStoryFlagsMut() {
|
||||
|
||||
/* 8000CA00 */ bool FileManager::getNightT1() {}
|
||||
/* 8000CA50 */ void FileManager::setNightT3(bool night) {}
|
||||
/* 8000CA80 */ bool FileManager::getNightT3() {}
|
||||
/* 8000CA80 */ u8 FileManager::getNightT3() {}
|
||||
|
||||
/* 8000CAD0 */ bool FileManager::isNew_FileA() {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user