mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
Merge pull request #124 from robojumper/d_sc_game_title
dScTitle_c OK, dScGame_c about halfway
This commit is contained in:
@@ -619,15 +619,57 @@ d/lyt/d_screen_fader.cpp:
|
||||
.data start:0x80528D68 end:0x80528D90
|
||||
.sdata2 start:0x8057ABE0 end:0x8057AC08
|
||||
|
||||
d/a/d_a_fish_mgr_base.cpp:
|
||||
.text start:0x8018B880 end:0x8018BFC8
|
||||
.ctors start:0x804DB7E4 end:0x804DB7E8
|
||||
|
||||
d/a/d_a_fish_base.cpp:
|
||||
.text start:0x8018BFD0 end:0x8018E378
|
||||
.ctors start:0x804DB7E8 end:0x804DB7EC
|
||||
|
||||
d/a/d_a_insect.cpp:
|
||||
.text start:0x8018F190 end:0x80190710
|
||||
.data start:0x8052ABD8 end:0x8052ACC0
|
||||
.sdata2 start:0x8057ADD8 end:0x8057AE30
|
||||
|
||||
d/a/d_a_salbage_obj.cpp:
|
||||
.text start:0x80190AB0 end:0x80192AF8
|
||||
.ctors start:0x804DB7EC end:0x804DB7F0
|
||||
|
||||
d/a/d_a_salbage_npc.cpp:
|
||||
.text start:0x80192B00 end:0x80194080
|
||||
.ctors start:0x804DB7F0 end:0x804DB7F4
|
||||
|
||||
d/tg/d_t_weather.cpp:
|
||||
.text start:0x801A65D0 end:0x801AF7D8
|
||||
.ctors start:0x804DB804 end:0x804DB808
|
||||
|
||||
d/d_room_mgr.cpp:
|
||||
.text start:0x801B32A0 end:0x801B5BC8
|
||||
.ctors start:0x804DB80C end:0x804DB810
|
||||
|
||||
d/d_room.cpp:
|
||||
.text start:0x801B5C80 end:0x801B84D8
|
||||
.ctors start:0x804DB810 end:0x804DB814
|
||||
|
||||
d/d_sc_title.cpp:
|
||||
.text start:0x801B9230 end:0x801BA3A0
|
||||
.ctors start:0x804DB818 end:0x804DB81C
|
||||
.data start:0x8052E438 end:0x8052E5F8
|
||||
.sdata start:0x805733D0 end:0x805733E8
|
||||
.sbss start:0x80575780 end:0x80575788
|
||||
.sdata2 start:0x8057B580 end:0x8057B588
|
||||
.bss start:0x805B3760 end:0x805B37E0
|
||||
|
||||
d/d_sc_game.cpp:
|
||||
.text start:0x801BA3A0 end:0x801BC6B8
|
||||
.ctors start:0x804DB81C end:0x804DB820
|
||||
.data start:0x8052E5F8 end:0x8052E860
|
||||
.sdata start:0x805733E8 end:0x80573430
|
||||
.sbss start:0x80575788 end:0x805757A8
|
||||
.sdata2 start:0x8057B588 end:0x8057B5A8
|
||||
.bss start:0x805B37E0 end:0x805B38B8
|
||||
|
||||
d/d_cs_base.cpp:
|
||||
.text start:0x801BC6C0 end:0x801BD250
|
||||
.data start:0x8052E860 end:0x8052E968
|
||||
|
||||
+148
-146
@@ -427,14 +427,14 @@ getFileB__11FileManagerFv = .text:0x80011270; // type:function size:0x8
|
||||
calcFileCRC__11FileManagerFPCvUl = .text:0x80011280; // type:function size:0xC
|
||||
updateEmptyFiles__11FileManagerFv = .text:0x80011290; // type:function size:0x34
|
||||
updateEmptyFileFlags__11FileManagerFv = .text:0x800112D0; // type:function size:0x9C
|
||||
isFileEmpty__11FileManagerFi = .text:0x80011370; // type:function size:0x20
|
||||
isFileEmpty__11FileManagerFUc = .text:0x80011370; // type:function size:0x20
|
||||
isFileDirty__11FileManagerFi = .text:0x80011390; // type:function size:0x20
|
||||
get_0xA84C__11FileManagerFv = .text:0x800113B0; // type:function size:0xC
|
||||
checkRegionCode__11FileManagerFv = .text:0x800113C0; // type:function size:0x78
|
||||
checkFileCRC__11FileManagerFUc = .text:0x80011440; // type:function size:0x50
|
||||
isFileInactive__11FileManagerCFv = .text:0x80011490; // type:function size:0x6C
|
||||
setPlayerInfoFileA__11FileManagerFv = .text:0x80011500; // type:function size:0xE0
|
||||
setT3Info__11FileManagerFP7mVec3_cP7mAng3_c = .text:0x800115E0; // type:function size:0xD8
|
||||
setT3Info__11FileManagerFRC7mVec3_cRC7mAng3_c = .text:0x800115E0; // type:function size:0xD8
|
||||
getRegionVersion__11FileManagerFPc = .text:0x800116C0; // type:function size:0x28
|
||||
__sinit_\file_manager_cpp = .text:0x800116F0; // type:function size:0x3C scope:local
|
||||
fn_80011730 = .text:0x80011730; // type:function size:0x2C
|
||||
@@ -2832,7 +2832,7 @@ EGG__ConfigurationData__onEndFrame = .text:0x80064430; // type:function size:0x4
|
||||
dSys_c__setBlack = .text:0x80064440; // type:function size:0x80
|
||||
setFrameRate__4dSysFUl = .text:0x800644C0; // type:function size:0x10
|
||||
dSys_c__getFrameRate = .text:0x800644D0; // type:function size:0x10
|
||||
dSys_c__setClearColor = .text:0x800644E0; // type:function size:0x60
|
||||
setClearColor__4dSysF6mColor = .text:0x800644E0; // type:function size:0x60
|
||||
dSys_c__getClearColor = .text:0x80064540; // type:function size:0x14
|
||||
dSys_c__create = .text:0x80064560; // type:function size:0x3BC
|
||||
setPosParam__Q23EGG14CoreControllerFff = .text:0x80064920; // type:function size:0x8
|
||||
@@ -2980,7 +2980,7 @@ fn_80068E50 = .text:0x80068E50; // type:function size:0x4
|
||||
fn_80068E60 = .text:0x80068E60; // type:function size:0x8
|
||||
fn_80068E70 = .text:0x80068E70; // type:function size:0xC
|
||||
fn_80068E80 = .text:0x80068E80; // type:function size:0x6C
|
||||
fn_80068EF0 = .text:0x80068EF0; // type:function size:0xC0
|
||||
fn_80067EF0__16ReloadColorFaderFl = .text:0x80068EF0; // type:function size:0xC0
|
||||
fn_80068FB0 = .text:0x80068FB0; // type:function size:0x20
|
||||
__ct__22CurrentStageArcManagerFv = .text:0x80068FD0; // type:function size:0x54
|
||||
__dt__22CurrentStageArcManagerFv = .text:0x80069030; // type:function size:0x64
|
||||
@@ -3034,11 +3034,11 @@ decrement__16LayoutArcManagerFPCc = .text:0x8006A220; // type:function size:0x30
|
||||
getData__16LayoutArcManagerFPCcPCc = .text:0x8006A250; // type:function size:0x8
|
||||
getLoadedData__16LayoutArcManagerFPCc = .text:0x8006A260; // type:function size:0x8
|
||||
create__16LayoutArcManagerFPQ23EGG4Heap = .text:0x8006A270; // type:function size:0x64
|
||||
fn_8006A2E0 = .text:0x8006A2E0; // type:function size:0x6C
|
||||
fn_8006A350 = .text:0x8006A350; // type:function size:0xC
|
||||
fn_8006A360 = .text:0x8006A360; // type:function size:0x88
|
||||
__dt__16LayoutArcControlFv = .text:0x8006A2E0; // type:function size:0x6C
|
||||
set__16LayoutArcControlFPCPCcl = .text:0x8006A350; // type:function size:0xC
|
||||
load__16LayoutArcControlFPQ23EGG4Heap = .text:0x8006A360; // type:function size:0x88
|
||||
fn_8006A3F0 = .text:0x8006A3F0; // type:function size:0x88
|
||||
fn_8006A480 = .text:0x8006A480; // type:function size:0xC4
|
||||
release__16LayoutArcControlFv = .text:0x8006A480; // type:function size:0xC4
|
||||
getActorInfoForObjName = .text:0x8006A550; // type:function size:0x98
|
||||
getActorIdForObjName = .text:0x8006A5F0; // type:function size:0x34
|
||||
getActorIdForObjName2 = .text:0x8006A630; // type:function size:0x34
|
||||
@@ -3628,12 +3628,12 @@ debugPrint10 = .text:0x800A50D0; // type:function size:0x50
|
||||
fn_800A5120 = .text:0x800A5120; // type:function size:0x10
|
||||
fn_800A5130 = .text:0x800A5130; // type:function size:0x10
|
||||
fn_800A5140 = .text:0x800A5140; // type:function size:0x18
|
||||
fn_800A5160 = .text:0x800A5160; // type:function size:0x50
|
||||
fn_800A51B0 = .text:0x800A51B0; // type:function size:0x44
|
||||
create__15MinigameManagerFv = .text:0x800A5160; // type:function size:0x50
|
||||
destroy__15MinigameManagerFv = .text:0x800A51B0; // type:function size:0x44
|
||||
fn_800A5200 = .text:0x800A5200; // type:function size:0x40
|
||||
fn_800A5240 = .text:0x800A5240; // type:function size:0x30
|
||||
execute__15MinigameManagerFv = .text:0x800A5240; // type:function size:0x30
|
||||
isSpecialMinigameState1 = .text:0x800A5270; // type:function size:0x2C
|
||||
isInSpecialMinigameState = .text:0x800A52A0; // type:function size:0x28
|
||||
isInMinigameState__15MinigameManagerFQ215MinigameManager8Minigame = .text:0x800A52A0; // type:function size:0x28
|
||||
setNextStoredSpecialMinigameState = .text:0x800A52D0; // type:function size:0x54
|
||||
endSpecialMinigameState = .text:0x800A5330; // type:function size:0x50
|
||||
fn_800A5380 = .text:0x800A5380; // type:function size:0x3C
|
||||
@@ -4745,7 +4745,7 @@ fn_800D5350 = .text:0x800D5350; // type:function size:0x30
|
||||
fn_800D5380 = .text:0x800D5380; // type:function size:0x44
|
||||
fn_800D53D0 = .text:0x800D53D0; // type:function size:0x50
|
||||
fn_800D5420 = .text:0x800D5420; // type:function size:0x114
|
||||
isSilentRealmModeButNotSkykeep = .text:0x800D5540; // type:function size:0x4C
|
||||
isSilentRealm__11dLytMeter_cFv = .text:0x800D5540; // type:function size:0x4C
|
||||
fn_800D5590 = .text:0x800D5590; // type:function size:0x98
|
||||
fn_800D5630 = .text:0x800D5630; // type:function size:0x18
|
||||
fn_800D5650 = .text:0x800D5650; // type:function size:0x24
|
||||
@@ -5545,7 +5545,7 @@ finalizeState_Active__19dLytMeterSmallKey_cFv = .text:0x800E3670; // type:functi
|
||||
initializeState_Off__19dLytMeterSmallKey_cFv = .text:0x800E3680; // type:function size:0x48
|
||||
executeState_Off__19dLytMeterSmallKey_cFv = .text:0x800E36D0; // type:function size:0x78
|
||||
finalizeState_Off__19dLytMeterSmallKey_cFv = .text:0x800E3750; // type:function size:0x4
|
||||
LytMeterSmallKey__init = .text:0x800E3760; // type:function size:0x230
|
||||
build__19dLytMeterSmallKey_cFPQ23d2d10ResAccIf_c = .text:0x800E3760; // type:function size:0x230
|
||||
remove__19dLytMeterSmallKey_cFv = .text:0x800E3990; // type:function size:0x58
|
||||
fn_800E39F0 = .text:0x800E39F0; // type:function size:0x224
|
||||
draw__19dLytMeterSmallKey_cFv = .text:0x800E3C20; // type:function size:0x28
|
||||
@@ -10568,13 +10568,13 @@ getPCAMfromId = .text:0x80199540; // type:function size:0x34
|
||||
StageManager__overrideLayer0WithLyse = .text:0x80199580; // type:function size:0xF8
|
||||
StageManager__setSTIF = .text:0x80199680; // type:function size:0x1AC
|
||||
StageManager__getFlagindex = .text:0x80199830; // type:function size:0x2C
|
||||
StageManager__getAreaType = .text:0x80199860; // type:function size:0x1C
|
||||
getAreaType__11dStageMgr_cCFv = .text:0x80199860; // type:function size:0x1C
|
||||
StageManager__isAreaTypeNormal = .text:0x80199880; // type:function size:0x28
|
||||
StageManager__isAreaTypeDungeon = .text:0x801998B0; // type:function size:0x2C
|
||||
isAreaTypeDungeon__11dStageMgr_cCFv = .text:0x801998B0; // type:function size:0x2C
|
||||
StageManager__isAreaTypeBoss = .text:0x801998E0; // type:function size:0x2C
|
||||
StageManager__isAreaTypeSkyloft = .text:0x80199910; // type:function size:0x2C
|
||||
StageManager__isAreaTypeHouse = .text:0x80199940; // type:function size:0x2C
|
||||
StageManager__isAreaTypeSky = .text:0x80199970; // type:function size:0x2C
|
||||
isAreaTypeSky__11dStageMgr_cCFv = .text:0x80199970; // type:function size:0x2C
|
||||
StageManager__isAreaTypeOverworldOrSkyloft = .text:0x801999A0; // type:function size:0x3C
|
||||
StageManager__isAreaTypeDungeonOrBoss = .text:0x801999E0; // type:function size:0x3C
|
||||
StageManager__getSTIFmapNameId = .text:0x80199A20; // type:function size:0x20
|
||||
@@ -11112,87 +11112,87 @@ TagVrbox__update = .text:0x801B8EF0; // type:function size:0x78
|
||||
TagVrbox__draw = .text:0x801B8F70; // type:function size:0x1F0
|
||||
TagVrbox__dtor = .text:0x801B9160; // type:function size:0xA4
|
||||
fn_801B9210 = .text:0x801B9210; // type:function size:0x1C
|
||||
AcTitleReloader__ctor = .text:0x801B9230; // type:function size:0x30
|
||||
AcTitleReloader__ctorCont = .text:0x801B9260; // type:function size:0xFC
|
||||
Reloader__dtor = .text:0x801B9360; // type:function size:0x138
|
||||
fn_801B94A0 = .text:0x801B94A0; // type:function size:0x58
|
||||
fn_801B9500 = .text:0x801B9500; // type:function size:0x5C
|
||||
fn_801B9560 = .text:0x801B9560; // type:function size:0xA4
|
||||
fn_801B9610 = .text:0x801B9610; // type:function size:0xA0
|
||||
fn_801B96B0 = .text:0x801B96B0; // type:function size:0x6C
|
||||
fn_801B9720 = .text:0x801B9720; // type:function size:0x58
|
||||
fn_801B9780 = .text:0x801B9780; // type:function size:0x58
|
||||
AcTitleReloader__dtor = .text:0x801B97E0; // type:function size:0x140
|
||||
AcTitleReloader__init = .text:0x801B9920; // type:function size:0x158
|
||||
fn_801B9A80 = .text:0x801B9A80; // type:function size:0x54
|
||||
fn_801B9AE0 = .text:0x801B9AE0; // type:function size:0x10
|
||||
AcTitleReloader__destroy = .text:0x801B9AF0; // type:function size:0xF0
|
||||
fn_801B9BE0 = .text:0x801B9BE0; // type:function size:0x24
|
||||
LoadTitleScreen = .text:0x801B9C10; // type:function size:0xD4
|
||||
fn_801B9CF0 = .text:0x801B9CF0; // type:function size:0x18
|
||||
fn_801B9D10 = .text:0x801B9D10; // type:function size:0x4
|
||||
fn_801B9D20 = .text:0x801B9D20; // type:function size:0x4
|
||||
fn_801B9D30 = .text:0x801B9D30; // type:function size:0x4
|
||||
fn_801B9D40 = .text:0x801B9D40; // type:function size:0x4
|
||||
fn_801B9D50 = .text:0x801B9D50; // type:function size:0x4
|
||||
fn_801B9D60 = .text:0x801B9D60; // type:function size:0x4
|
||||
checkAllSaveFilesEmpty = .text:0x801B9D70; // type:function size:0x88
|
||||
ScTitle__initStates = .text:0x801B9E00; // type:function size:0x1E0
|
||||
fn_801B9FE0 = .text:0x801B9FE0; // type:function size:0x58
|
||||
ScTitle__dtor = .text:0x801BA040; // type:function size:0x5C
|
||||
fn_801BA0A0 = .text:0x801BA0A0; // type:function size:0xC
|
||||
fn_801BA0B0 = .text:0x801BA0B0; // type:function size:0xC
|
||||
fn_801BA0C0 = .text:0x801BA0C0; // type:function size:0xDC
|
||||
fn_801BA1A0 = .text:0x801BA1A0; // type:function size:0xE0
|
||||
fn_801BA280 = .text:0x801BA280; // type:function size:0x88
|
||||
fn_801BA310 = .text:0x801BA310; // type:function size:0x30
|
||||
fn_801BA340 = .text:0x801BA340; // type:function size:0x30
|
||||
fn_801BA370 = .text:0x801BA370; // type:function size:0x30
|
||||
fn_801BA3A0 = .text:0x801BA3A0; // type:function size:0x30
|
||||
fn_801BA3D0 = .text:0x801BA3D0; // type:function size:0xC
|
||||
fn_801BA3E0 = .text:0x801BA3E0; // type:function size:0xC
|
||||
fn_801BA3F0 = .text:0x801BA3F0; // type:function size:0x38
|
||||
Reloader__ctor = .text:0x801BA430; // type:function size:0x23C
|
||||
Reloader__init = .text:0x801BA670; // type:function size:0x50
|
||||
Reloader__destroy = .text:0x801BA6C0; // type:function size:0x40
|
||||
Reloader__update = .text:0x801BA700; // type:function size:0x58
|
||||
Reloader__draw = .text:0x801BA760; // type:function size:0x3C
|
||||
fn_801BA7A0 = .text:0x801BA7A0; // type:function size:0x10
|
||||
fn_801BA7B0 = .text:0x801BA7B0; // type:function size:0x68
|
||||
fn_801BA820 = .text:0x801BA820; // type:function size:0xA8
|
||||
fn_801BA8D0 = .text:0x801BA8D0; // type:function size:0x10
|
||||
fn_801BA8E0 = .text:0x801BA8E0; // type:function size:0x30
|
||||
fn_801BA910 = .text:0x801BA910; // type:function size:0x6C
|
||||
fn_801BA980 = .text:0x801BA980; // type:function size:0x18
|
||||
fn_801BA9A0 = .text:0x801BA9A0; // type:function size:0x4
|
||||
fn_801BA9B0 = .text:0x801BA9B0; // type:function size:0x54
|
||||
fn_801BAA10 = .text:0x801BAA10; // type:function size:0xBC
|
||||
fn_801BAAD0 = .text:0x801BAAD0; // type:function size:0x4
|
||||
fn_801BAAE0 = .text:0x801BAAE0; // type:function size:0xC4
|
||||
Reloader__setRespawnInfo = .text:0x801BABB0; // type:function size:0x17C
|
||||
Reloader__getReloadInfoKeep = .text:0x801BAD30; // type:function size:0x8
|
||||
fn_801BAD40 = .text:0x801BAD40; // type:function size:0x44
|
||||
Reloader__setReloadTrigger = .text:0x801BAD90; // type:function size:0x20
|
||||
fn_801BADB0 = .text:0x801BADB0; // type:function size:0x4C
|
||||
fn_801BAE00 = .text:0x801BAE00; // type:function size:0x8
|
||||
fn_801BAE10 = .text:0x801BAE10; // type:function size:0x48
|
||||
dScTitle_c_classInit__Fv = .text:0x801B9230; // type:function size:0x30
|
||||
__ct__10dScTitle_cFv = .text:0x801B9260; // type:function size:0xFC
|
||||
__dt__9dScGame_cFv = .text:0x801B9360; // type:function size:0x138
|
||||
__dt__12ScGameScreenFv = .text:0x801B94A0; // type:function size:0x58
|
||||
__dt__21ScGameScreenTargetingFv = .text:0x801B9500; // type:function size:0x5C
|
||||
__dt__47sFStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c>Fv = .text:0x801B9560; // type:function size:0xA4
|
||||
__dt__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801B9610; // type:function size:0xA0
|
||||
__dt__24sFStateFct_c<9dScGame_c>Fv = .text:0x801B96B0; // type:function size:0x6C
|
||||
__dt__21sFState_c<9dScGame_c>Fv = .text:0x801B9720; // type:function size:0x58
|
||||
__dt__19sFPhase<9dScGame_c>Fv = .text:0x801B9780; // type:function size:0x58
|
||||
__dt__10dScTitle_cFv = .text:0x801B97E0; // type:function size:0x140
|
||||
create__10dScTitle_cFv = .text:0x801B9920; // type:function size:0x158
|
||||
execute__10dScTitle_cFv = .text:0x801B9A80; // type:function size:0x54
|
||||
executeState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801B9AE0; // type:function size:0x10
|
||||
doDelete__10dScTitle_cFv = .text:0x801B9AF0; // type:function size:0xF0
|
||||
draw__10dScTitle_cFv = .text:0x801B9BE0; // type:function size:0x24
|
||||
loadTitleScreen__10dScTitle_cFUl = .text:0x801B9C10; // type:function size:0xD4
|
||||
setSomethingSkbRelated__10dScTitle_cFv = .text:0x801B9CF0; // type:function size:0x18
|
||||
initializeState_Stanby__10dScTitle_cFv = .text:0x801B9D10; // type:function size:0x4
|
||||
executeState_Stanby__10dScTitle_cFv = .text:0x801B9D20; // type:function size:0x4
|
||||
finalizeState_Stanby__10dScTitle_cFv = .text:0x801B9D30; // type:function size:0x4
|
||||
initializeState_Action__10dScTitle_cFv = .text:0x801B9D40; // type:function size:0x4
|
||||
executeState_Action__10dScTitle_cFv = .text:0x801B9D50; // type:function size:0x4
|
||||
finalizeState_Action__10dScTitle_cFv = .text:0x801B9D60; // type:function size:0x4
|
||||
checkAllSaveFilesEmpty__10dScTitle_cFv = .text:0x801B9D70; // type:function size:0x88
|
||||
__sinit_\d_sc_title_cpp = .text:0x801B9E00; // type:function size:0x1E0 scope:local
|
||||
__dt__25sFStateID_c<10dScTitle_c>Fv = .text:0x801B9FE0; // type:function size:0x58
|
||||
__dt__32sFStateVirtualID_c<10dScTitle_c>Fv = .text:0x801BA040; // type:function size:0x5C
|
||||
baseID_Action<9dScGame_c>__Fv_RC10sStateID_c = .text:0x801BA0A0; // type:function size:0xC
|
||||
baseID_Stanby<9dScGame_c>__Fv_RC10sStateID_c = .text:0x801BA0B0; // type:function size:0xC
|
||||
number__32sFStateVirtualID_c<10dScTitle_c>CFv = .text:0x801BA0C0; // type:function size:0xDC
|
||||
superID__32sFStateVirtualID_c<10dScTitle_c>CFv = .text:0x801BA1A0; // type:function size:0xE0
|
||||
isSameName__25sFStateID_c<10dScTitle_c>CFPCc = .text:0x801BA280; // type:function size:0x88
|
||||
initializeState__25sFStateID_c<10dScTitle_c>CFR10dScTitle_c = .text:0x801BA310; // type:function size:0x30
|
||||
executeState__25sFStateID_c<10dScTitle_c>CFR10dScTitle_c = .text:0x801BA340; // type:function size:0x30
|
||||
finalizeState__25sFStateID_c<10dScTitle_c>CFR10dScTitle_c = .text:0x801BA370; // type:function size:0x30
|
||||
dScGame_c_classInit__Fv = .text:0x801BA3A0; // type:function size:0x30
|
||||
baseID_Stanby<10sStateID_c>__Fv_RC10sStateID_c = .text:0x801BA3D0; // type:function size:0xC
|
||||
baseID_Action<10sStateID_c>__Fv_RC10sStateID_c = .text:0x801BA3E0; // type:function size:0xC
|
||||
someGfxThingCallback__9dScGame_cFv = .text:0x801BA3F0; // type:function size:0x38
|
||||
__ct__9dScGame_cFv = .text:0x801BA430; // type:function size:0x23C
|
||||
create__9dScGame_cFv = .text:0x801BA670; // type:function size:0x50
|
||||
doDelete__9dScGame_cFv = .text:0x801BA6C0; // type:function size:0x40
|
||||
execute__9dScGame_cFv = .text:0x801BA700; // type:function size:0x58
|
||||
draw__9dScGame_cFv = .text:0x801BA760; // type:function size:0x3C
|
||||
deleteReady__9dScGame_cFv = .text:0x801BA7A0; // type:function size:0x10
|
||||
cb1__9dScGame_cFv = .text:0x801BA7B0; // type:function size:0x68
|
||||
cb2__9dScGame_cFv = .text:0x801BA820; // type:function size:0xA8
|
||||
changeState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>FRC12sStateIDIf_c = .text:0x801BA8D0; // type:function size:0x10
|
||||
cb3__9dScGame_cFv = .text:0x801BA8E0; // type:function size:0x30
|
||||
initializeState_Stanby__9dScGame_cFv = .text:0x801BA910; // type:function size:0x6C
|
||||
executeState_Stanby__9dScGame_cFv = .text:0x801BA980; // type:function size:0x18
|
||||
finalizeState_Stanby__9dScGame_cFv = .text:0x801BA9A0; // type:function size:0x4
|
||||
initializeState_Action__9dScGame_cFv = .text:0x801BA9B0; // type:function size:0x54
|
||||
executeState_Action__9dScGame_cFv = .text:0x801BAA10; // type:function size:0xBC
|
||||
finalizeState_Action__9dScGame_cFv = .text:0x801BAAD0; // type:function size:0x4
|
||||
somethingWithScreen__9dScGame_cFv = .text:0x801BAAE0; // type:function size:0xC4
|
||||
setRespawnInfo__9dScGame_cFRC7mVec3_cRC7mAng3_cb = .text:0x801BABB0; // type:function size:0x17C
|
||||
getLinkReloadInfo__9dScGame_cCFv = .text:0x801BAD30; // type:function size:0x8
|
||||
attemptDelete__9dScGame_cFv = .text:0x801BAD40; // type:function size:0x44
|
||||
setReloadTrigger__9dScGame_cFQ28fProfile14PROFILE_NAME_e = .text:0x801BAD90; // type:function size:0x20
|
||||
setSpawnInfo__9dScGame_cFUcRC7mVec3_c4mAng = .text:0x801BADB0; // type:function size:0x4C
|
||||
getSpawnInfo__9dScGame_cCFv = .text:0x801BAE00; // type:function size:0x8
|
||||
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
|
||||
triggerExit__6ScGameFlUcll = .text:0x801BB080; // type:function size:0xC0
|
||||
triggerExit__9dScGame_cFlUcll = .text:0x801BB080; // type:function size:0xC0
|
||||
Reloader__triggerExitInner = .text:0x801BB140; // type:function size:0x154
|
||||
fn_801BB2A0 = .text:0x801BB2A0; // type:function size:0x28
|
||||
fn_801BB2D0 = .text:0x801BB2D0; // type:function size:0x8
|
||||
fn_801BB2E0 = .text:0x801BB2E0; // type:function size:0xC
|
||||
fn_801BB2F0 = .text:0x801BB2F0; // type:function size:0x88
|
||||
LinkReloadInfoKeep__set = .text:0x801BB380; // type:function size:0x34
|
||||
isCurrentStage__6ScGameFPCc = .text:0x801BB3C0; // type:function size:0x10
|
||||
setSpawnData__12SpawnInfoExtFPCcUcUcUcRC7mVec3_c4mAng = .text:0x801BB2F0; // type:function size:0x88
|
||||
set__14LinkReloadInfoFUcRC7mVec3_c4mAngUl = .text:0x801BB380; // type:function size:0x34
|
||||
isCurrentStage__9dScGame_cFPCc = .text:0x801BB3C0; // type:function size:0x10
|
||||
isStageSkyloftLayer20 = .text:0x801BB3D0; // type:function size:0x54
|
||||
isInCredits = .text:0x801BB430; // type:function size:0x54
|
||||
isStateLayerWithSeekerStoneHintMenu = .text:0x801BB490; // type:function size:0x78
|
||||
copySpawnNextToCurrent = .text:0x801BB510; // type:function size:0xBC
|
||||
actuallyTriggerEntrance = .text:0x801BB5D0; // type:function size:0x104
|
||||
copySpawnNextToCurrent__9dScGame_cFv = .text:0x801BB510; // type:function size:0xBC
|
||||
actuallyTriggerEntrance__9dScGame_cFPCcUcUcUciiUcUsSc = .text:0x801BB5D0; // type:function size:0x104
|
||||
setCamera = .text:0x801BB6E0; // type:function size:0x10
|
||||
getCamera = .text:0x801BB6F0; // type:function size:0x10
|
||||
fn_801BB700 = .text:0x801BB700; // type:function size:0x4C
|
||||
@@ -11203,38 +11203,38 @@ startNewGameFile = .text:0x801BB8C0; // type:function size:0x100
|
||||
fn_801BB9C0 = .text:0x801BB9C0; // type:function size:0x3C
|
||||
unsetFlagsAfterStart = .text:0x801BBA00; // type:function size:0x110
|
||||
fn_801BBB10 = .text:0x801BBB10; // type:function size:0x3C
|
||||
SpawnStruct__setData = .text:0x801BBB50; // type:function size:0xD4
|
||||
setData__9SpawnInfoFPCcUcUcUcllUcUsSc = .text:0x801BBB50; // type:function size:0xD4
|
||||
fn_801BBC30 = .text:0x801BBC30; // type:function size:0x4
|
||||
fn_801BBC40 = .text:0x801BBC40; // type:function size:0xE4
|
||||
fn_801BBD30 = .text:0x801BBD30; // type:function size:0x14
|
||||
fn_801BBD50 = .text:0x801BBD50; // type:function size:0x15C
|
||||
fn_801BBEB0 = .text:0x801BBEB0; // type:function size:0x8
|
||||
fn_801BBEC0 = .text:0x801BBEC0; // type:function size:0x18
|
||||
fn_801BBEE0 = .text:0x801BBEE0; // type:function size:0x10
|
||||
fn_801BBEF0 = .text:0x801BBEF0; // type:function size:0x60
|
||||
fn_801BBF50 = .text:0x801BBF50; // type:function size:0xC
|
||||
fn_801BBF60 = .text:0x801BBF60; // type:function size:0x1C
|
||||
fn_801BBF80 = .text:0x801BBF80; // type:function size:0x1C
|
||||
fn_801BBFA0 = .text:0x801BBFA0; // type:function size:0x1C
|
||||
fn_801BBFC0 = .text:0x801BBFC0; // type:function size:0x10
|
||||
fn_801BBFD0 = .text:0x801BBFD0; // type:function size:0x10
|
||||
fn_801BBFE0 = .text:0x801BBFE0; // type:function size:0x10
|
||||
fn_801BBFF0 = .text:0x801BBFF0; // type:function size:0x10
|
||||
fn_801BC000 = .text:0x801BC000; // type:function size:0x10
|
||||
fn_801BC010 = .text:0x801BC010; // type:function size:0x10
|
||||
fn_801BC020 = .text:0x801BC020; // type:function size:0x30
|
||||
fn_801BC050 = .text:0x801BC050; // type:function size:0xC
|
||||
fn_801BC060 = .text:0x801BC060; // type:function size:0x10
|
||||
fn_801BC070 = .text:0x801BC070; // type:function size:0x2C
|
||||
fn_801BC0A0 = .text:0x801BC0A0; // type:function size:0x30
|
||||
fn_801BC0D0 = .text:0x801BC0D0; // type:function size:0x30
|
||||
fn_801BC100 = .text:0x801BC100; // type:function size:0x30
|
||||
ScGame__sinit = .text:0x801BC130; // type:function size:0x27C
|
||||
fn_801BC3B0 = .text:0x801BC3B0; // type:function size:0x58
|
||||
ScGame__state_dtor = .text:0x801BC410; // type:function size:0x5C
|
||||
fn_801BC470 = .text:0x801BC470; // type:function size:0xDC
|
||||
fn_801BC550 = .text:0x801BC550; // type:function size:0xE0
|
||||
fn_801BC630 = .text:0x801BC630; // type:function size:0x88
|
||||
getStateID__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801BBEE0; // type:function size:0x10
|
||||
build__24sFStateFct_c<9dScGame_c>FRC12sStateIDIf_c = .text:0x801BBEF0; // type:function size:0x60
|
||||
dispose__24sFStateFct_c<9dScGame_c>FRP10sStateIf_c = .text:0x801BBF50; // type:function size:0xC
|
||||
initialize__21sFState_c<9dScGame_c>Fv = .text:0x801BBF60; // type:function size:0x1C
|
||||
execute__21sFState_c<9dScGame_c>Fv = .text:0x801BBF80; // type:function size:0x1C
|
||||
finalize__21sFState_c<9dScGame_c>Fv = .text:0x801BBFA0; // type:function size:0x1C
|
||||
initializeState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801BBFC0; // type:function size:0x10
|
||||
finalizeState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801BBFD0; // type:function size:0x10
|
||||
refreshState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>Fv = .text:0x801BBFE0; // type:function size:0x10
|
||||
getState__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801BBFF0; // type:function size:0x10
|
||||
getNewStateID__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801BC000; // type:function size:0x10
|
||||
getOldStateID__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c>CFv = .text:0x801BC010; // type:function size:0x10
|
||||
callPhase__19sFPhase<9dScGame_c>Fv = .text:0x801BC020; // type:function size:0x30
|
||||
onReset__19sFPhase<9dScGame_c>Fv = .text:0x801BC050; // type:function size:0xC
|
||||
nextPhase__19sFPhase<9dScGame_c>Fv = .text:0x801BC060; // type:function size:0x10
|
||||
hasReachedEnd__19sFPhase<9dScGame_c>CFv = .text:0x801BC070; // type:function size:0x2C
|
||||
finalizeState__23sFStateID_c<9dScGame_c>CFR9dScGame_c = .text:0x801BC0A0; // type:function size:0x30
|
||||
executeState__23sFStateID_c<9dScGame_c>CFR9dScGame_c = .text:0x801BC0D0; // type:function size:0x30
|
||||
initializeState__23sFStateID_c<9dScGame_c>CFR9dScGame_c = .text:0x801BC100; // type:function size:0x30
|
||||
__sinit_\d_sc_game_cpp = .text:0x801BC130; // type:function size:0x27C
|
||||
__dt__23sFStateID_c<9dScGame_c>Fv = .text:0x801BC3B0; // type:function size:0x58
|
||||
__dt__30sFStateVirtualID_c<9dScGame_c>Fv = .text:0x801BC410; // type:function size:0x5C
|
||||
number__30sFStateVirtualID_c<9dScGame_c>CFv = .text:0x801BC470; // type:function size:0xDC
|
||||
superID__30sFStateVirtualID_c<9dScGame_c>CFv = .text:0x801BC550; // type:function size:0xE0
|
||||
isSameName__23sFStateID_c<9dScGame_c>CFPCc = .text:0x801BC630; // type:function size:0x88
|
||||
dCsBase_c_classInit__Fv = .text:0x801BC6C0; // type:function size:0x30
|
||||
__ct__9dCsBase_cFv = .text:0x801BC6F0; // type:function size:0x1AC
|
||||
__dt__30sFState_c<17dLytCursorStick_c>Fv = .text:0x801BC8A0; // type:function size:0x58
|
||||
@@ -17679,7 +17679,7 @@ destroy__Q23m3d9mShadow_cFv = .text:0x802ED2D0; // type:function size:0x60
|
||||
__dt__Q23m3d14mShadowChild_cFv = .text:0x802ED330; // type:function size:0x9C
|
||||
create__Q23m3d14mShadowChild_cFUcPQ23EGG4Heap = .text:0x802ED3D0; // type:function size:0x7C
|
||||
set__Q23m3d14mShadowChild_cFRC7mVec3_cf6mColor = .text:0x802ED450; // type:function size:0x40
|
||||
addMdl__Q23m3d14mShadowChild_cFRQ23m3d9scnLeaf_cRC7mQuat_c = .text:0x802ED490; // type:function size:0x16C
|
||||
addMdl__Q23m3d14mShadowChild_cFRQ23m3d9scnLeaf_cR7mQuat_c = .text:0x802ED490; // type:function size:0x16C
|
||||
setGeom__Q23m3d14mShadowChild_cFPC9_GXTexObjRC6mMtx_cRC7mQuat_c = .text:0x802ED600; // type:function size:0xF8
|
||||
updateMtx__Q23m3d14mShadowChild_cFv = .text:0x802ED700; // type:function size:0x148
|
||||
drawMdl__Q23m3d14mShadowChild_cFv = .text:0x802ED850; // type:function size:0x24C
|
||||
@@ -30804,7 +30804,7 @@ __vt__22CurrentStageArcManager = .data:0x8050E004; // type:object size:0xC
|
||||
__vt__11OarcManager = .data:0x8050E02C; // type:object size:0xC
|
||||
lbl_8050E038 = .data:0x8050E038; // type:object size:0x10
|
||||
__vt__16LayoutArcManager = .data:0x8050E048; // type:object size:0xC
|
||||
lbl_8050E054 = .data:0x8050E054; // type:object size:0xC
|
||||
__vt__16LayoutArcControl = .data:0x8050E054; // type:object size:0xC
|
||||
lbl_8050E060 = .data:0x8050E060; // type:object size:0x30
|
||||
lbl_8050E090 = .data:0x8050E090; // type:object size:0x2FC
|
||||
lbl_8050E38C = .data:0x8050E38C; // type:object size:0xCC
|
||||
@@ -34215,22 +34215,22 @@ lbl_8052E380 = .data:0x8052E380; // type:object size:0x20
|
||||
lbl_8052E3A0 = .data:0x8052E3A0; // type:object size:0x20
|
||||
TagVrbox__vtable = .data:0x8052E3C0; // type:object size:0x78
|
||||
g_profile_TITLE = .data:0x8052E438; // type:object size:0xC
|
||||
actorInit.defaultFlags2 = .data:0x8052E444; // type:object size:0xC
|
||||
lbl_8052E450 = .data:0x8052E450; // type:object size:0xC
|
||||
lbl_8052E45C = .data:0x8052E45C; // type:object size:0x4C
|
||||
AcTitleReloader__vtable = .data:0x8052E4A8; // type:object size:0xE4
|
||||
lbl_8052E58C = .data:0x8052E58C; // type:object size:0x6C
|
||||
g_profile_GAME = .data:0x8052E5F8; // type:object size:0x10
|
||||
lbl_8052E608 = .data:0x8052E608; // type:object size:0x30
|
||||
Reloader__vtable = .data:0x8052E638; // type:object size:0x68
|
||||
Reloader__stateMgr__vtable = .data:0x8052E6A0; // type:object size:0x30
|
||||
lbl_8052E6D0 = .data:0x8052E6D0; // type:object size:0x30
|
||||
lbl_8052E700 = .data:0x8052E700; // type:object size:0x18
|
||||
lbl_8052E718 = .data:0x8052E718; // type:object size:0x18
|
||||
sModulesToLoad = .data:0x8052E444; // type:object size:0xA scope:local
|
||||
lbl_8052E450 = .data:0x8052E450; // type:object size:0xB data:string
|
||||
lbl_8052E45C = .data:0x8052E45C; // type:object size:0x11 data:string
|
||||
__vt__10dScTitle_c = .data:0x8052E4A8; // type:object size:0x64
|
||||
__vt__32sFStateVirtualID_c<10dScTitle_c> = .data:0x8052E58C; // type:object size:0x34
|
||||
g_profile_GAME = .data:0x8052E5F8; // type:object size:0xC
|
||||
sCallbacks__9dScGame_c = .data:0x8052E608; // type:object size:0x30
|
||||
__vt__9dScGame_c = .data:0x8052E638; // type:object size:0x64
|
||||
__vt__47sFStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c> = .data:0x8052E6A0; // type:object size:0x30
|
||||
__vt__77sStateMgr_c<9dScGame_c,20sStateMethodUsr_FI_c,12sFStateFct_c,13sStateIDChk_c> = .data:0x8052E6D0; // type:object size:0x30
|
||||
__vt__24sFStateFct_c<9dScGame_c> = .data:0x8052E700; // type:object size:0x14
|
||||
__vt__21sFState_c<9dScGame_c> = .data:0x8052E718; // type:object size:0x18
|
||||
lbl_8052E730 = .data:0x8052E730; // type:object size:0x10
|
||||
lbl_8052E740 = .data:0x8052E740; // type:object size:0x10
|
||||
lbl_8052E750 = .data:0x8052E750; // type:object size:0xA4
|
||||
lbl_8052E7F4 = .data:0x8052E7F4; // type:object size:0x6C
|
||||
__vt__19sFPhase<9dScGame_c> = .data:0x8052E750; // type:object size:0x24
|
||||
__vt__30sFStateVirtualID_c<9dScGame_c> = .data:0x8052E7F4; // type:object size:0x34
|
||||
g_profile_C_BASE = .data:0x8052E860; // type:object size:0xC
|
||||
lbl_8052E86C = .data:0x8052E86C; // type:object size:0x10
|
||||
lbl_8052E87C = .data:0x8052E87C; // type:object size:0x10
|
||||
@@ -38687,8 +38687,8 @@ lbl_805733B8 = .sdata:0x805733B8; // type:object size:0x8 data:string
|
||||
lbl_805733C0 = .sdata:0x805733C0; // type:object size:0x8 data:string
|
||||
lbl_805733C8 = .sdata:0x805733C8; // type:object size:0x8 data:string
|
||||
lbl_805733D0 = .sdata:0x805733D0; // type:object size:0x8 data:string
|
||||
lbl_805733D8 = .sdata:0x805733D8; // type:object size:0x4
|
||||
lbl_805733DC = .sdata:0x805733DC; // type:object size:0xC
|
||||
sLayoutArcsToLoad = .sdata:0x805733D8; // type:object size:0x4
|
||||
lbl_805733DC = .sdata:0x805733DC; // type:object size:0x5 data:string
|
||||
lbl_805733E8 = .sdata:0x805733E8; // type:object size:0x4
|
||||
lbl_805733EC = .sdata:0x805733EC; // type:object size:0x8
|
||||
lbl_805733F4 = .sdata:0x805733F4; // type:object size:0x8
|
||||
@@ -40195,7 +40195,7 @@ IS_IN_SKYKEEP_PUZZLE = .sbss:0x805756E8; // type:object size:0x1 data:byte
|
||||
lbl_805756E9 = .sbss:0x805756E9; // type:object size:0x1 data:byte
|
||||
sInstance__10dTgSndMg_c = .sbss:0x805756EC; // type:object size:0x4 data:4byte
|
||||
HBM_stuff = .sbss:0x805756F0; // type:object size:0x8 data:4byte
|
||||
STAGE_MANAGER = .sbss:0x805756F8; // type:object size:0x4 data:4byte
|
||||
sInstance__11dStageMgr_c = .sbss:0x805756F8; // type:object size:0x4 data:4byte
|
||||
lbl_805756FC = .sbss:0x805756FC; // type:object size:0x1 data:byte
|
||||
lbl_805756FD = .sbss:0x805756FD; // type:object size:0x1 data:byte
|
||||
lbl_805756FE = .sbss:0x805756FE; // type:object size:0x1 data:byte
|
||||
@@ -40240,21 +40240,21 @@ lbl_80575770 = .sbss:0x80575770; // type:object size:0x4 data:float
|
||||
lbl_80575774 = .sbss:0x80575774; // type:object size:0x4 data:4byte
|
||||
lbl_80575778 = .sbss:0x80575778; // type:object size:0x4 data:float
|
||||
lbl_8057577C = .sbss:0x8057577C; // type:object size:0x4 data:4byte
|
||||
lbl_80575780 = .sbss:0x80575780; // type:object size:0x4 data:4byte
|
||||
lbl_80575784 = .sbss:0x80575784; // type:object size:0x1 data:byte
|
||||
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
|
||||
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
|
||||
sInstance__6ScGame = .sbss:0x80575794; // type:object size:0x4 data:4byte
|
||||
StageUpdateCountFrameNum = .sbss:0x80575798; // type:object size:0x4 data:4byte
|
||||
CURRENT_SPAWN_LAYER = .sbss:0x8057579C; // type:object size:0x1 data:byte
|
||||
RELOADER_TYPE = .sbss:0x8057579D; // type:object size:0x1 data:byte
|
||||
COPY_FILE_B_TO_CURRENT_AFTER_RESPAWN = .sbss:0x8057579E; // type:object size:0x1 data:byte
|
||||
lbl_8057579F = .sbss:0x8057579F; // type:object size:0x1 data:byte
|
||||
lbl_805757A0 = .sbss:0x805757A0; // type:object size:0x8 data:byte
|
||||
sInstance__9dScGame_c = .sbss:0x80575794; // type:object size:0x4 data:4byte
|
||||
sUpdateFrameCount__9dScGame_c = .sbss:0x80575798; // type:object size:0x4 data:4byte
|
||||
sCurrentLayer__9dScGame_c = .sbss:0x8057579C; // type:object size:0x1 data:byte
|
||||
sReloaderType__9dScGame_c = .sbss:0x8057579D; // type:object size:0x1 data:byte
|
||||
sCopyFileBToCurrentAfterRespawn__9dScGame_c = .sbss:0x8057579E; // type:object size:0x1 data:byte
|
||||
sDoSomethingWithFileAOnTransition__9dScGame_c = .sbss:0x8057579F; // type:object size:0x1 data:byte
|
||||
sPreventClearingSomeFlag__9dScGame_c = .sbss:0x805757A0; // type:object size:0x1 data:byte
|
||||
sInstance__9dCsBase_c = .sbss:0x805757A8; // type:object size:0x8 data:4byte
|
||||
C_GAME = .sbss:0x805757B0; // type:object size:0x8 data:4byte
|
||||
LINK_PTR2 = .sbss:0x805757B8; // type:object size:0x4 data:4byte
|
||||
@@ -49134,12 +49134,14 @@ lbl_805B3660 = .bss:0x805B3660; // type:object size:0x80 data:byte
|
||||
lbl_805B36E0 = .bss:0x805B36E0; // type:object size:0x10
|
||||
Room__STATE_ACTIVE = .bss:0x805B36F0; // type:object size:0x40 data:4byte
|
||||
Room__STATE_NON_ACTIVE = .bss:0x805B3730; // type:object size:0x30 data:4byte
|
||||
lbl_805B3760 = .bss:0x805B3760; // type:object size:0x80
|
||||
lbl_805B3760 = .bss:0x805B3760; // type:object size:0xC
|
||||
StateID_Stanby__10dScTitle_c = .bss:0x805B376C; // type:object size:0x34
|
||||
StateID_Action__10dScTitle_c = .bss:0x805B37AC; // type:object size:0x34
|
||||
lbl_805B37E0 = .bss:0x805B37E0; // type:object size:0xC
|
||||
ScGame__STATE_STANBY = .bss:0x805B37EC; // type:object size:0x40 data:4byte
|
||||
ScGame__STATE_ACTION = .bss:0x805B382C; // type:object size:0x34 data:4byte
|
||||
currentSpawnInfo__6ScGame = .bss:0x805B3860; // type:object size:0x2C data:4byte
|
||||
NEXT_SPAWN_INFO = .bss:0x805B388C; // type:object size:0x2C data:byte
|
||||
StateID_Stanby__9dScGame_c = .bss:0x805B37EC; // type:object size:0x34 data:4byte
|
||||
StateID_Action__9dScGame_c = .bss:0x805B382C; // type:object size:0x34 data:4byte
|
||||
currentSpawnInfo__9dScGame_c = .bss:0x805B3860; // type:object size:0x2A
|
||||
nextSpawnInfo__9dScGame_c = .bss:0x805B388C; // type:object size:0x2A data:byte
|
||||
lbl_805B38B8 = .bss:0x805B38B8; // type:object size:0x50
|
||||
CsGame__lytItemCursor__STATE_INVISIBLE = .bss:0x805B3908; // type:object size:0x40 data:4byte
|
||||
CsGame__lytItemCursor__STATE_BOW = .bss:0x805B3948; // type:object size:0x40 data:4byte
|
||||
|
||||
@@ -431,6 +431,8 @@ config.libs = [
|
||||
Object(NonMatching, "d/a/d_a_insect.cpp"),
|
||||
Object(NonMatching, "d/d_cs_base.cpp"),
|
||||
Object(NonMatching, "d/d_cs_game.cpp"),
|
||||
Object(Matching, "d/d_sc_title.cpp"),
|
||||
Object(NonMatching, "d/d_sc_game.cpp"),
|
||||
Object(Matching, "d/lyt/d_lyt_common_arrow.cpp"),
|
||||
Object(NonMatching, "toBeSorted/file_manager.cpp"),
|
||||
Object(NonMatching, "toBeSorted/save_manager.cpp"),
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
class dDynamicModuleControl {
|
||||
public:
|
||||
dDynamicModuleControl() {}
|
||||
dDynamicModuleControl(): mPtr(nullptr) {}
|
||||
virtual ~dDynamicModuleControl();
|
||||
|
||||
void set(u16 *ptr, int count);
|
||||
|
||||
@@ -33,11 +33,28 @@ public:
|
||||
mFadeOutType = fadeOutType;
|
||||
}
|
||||
|
||||
void setFadeInType(s32 fadeInType) {
|
||||
mFadeInType = fadeInType;
|
||||
}
|
||||
|
||||
void setFadeOutType(s32 fadeOutType) {
|
||||
mFadeOutType = fadeOutType;
|
||||
}
|
||||
|
||||
void resetFrames() {
|
||||
mFadeInFrame = 30;
|
||||
mFadeOutFrame = 30;
|
||||
}
|
||||
|
||||
void setFrames(u16 fadeIn, u16 fadeOut) {
|
||||
mFadeInFrame = fadeIn;
|
||||
mFadeOutFrame = fadeOut;
|
||||
}
|
||||
|
||||
u16 getFadeOutFrame() const {
|
||||
return mFadeOutFrame;
|
||||
}
|
||||
|
||||
void setFadeInFrame(u16 frame) {
|
||||
mFadeInFrame = frame;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
#ifndef D_SC_GAME_H
|
||||
#define D_SC_GAME_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/a/d_a_base.h"
|
||||
#include "d/d_dylink.h"
|
||||
#include "d/d_fader.h"
|
||||
#include "d/d_scene.h"
|
||||
#include "egg/gfx/eggScreen.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m2d.h"
|
||||
#include "m/m_angle.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "s/s_FPhase.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "sized_string.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
|
||||
class ScGameScreen : public m2d::Base_c {
|
||||
public:
|
||||
ScGameScreen(u8 priority) {
|
||||
setPriority(priority);
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x10 */ EGG::Screen mScreen;
|
||||
};
|
||||
|
||||
class ScGameScreenTargeting : public ScGameScreen {
|
||||
public:
|
||||
ScGameScreenTargeting(u8 priority) : ScGameScreen(priority), mLetterboxAmount(0.0f) {}
|
||||
|
||||
private:
|
||||
f32 mLetterboxAmount;
|
||||
};
|
||||
|
||||
struct SpawnInfo {
|
||||
SpawnInfo() {
|
||||
reset();
|
||||
}
|
||||
|
||||
SpawnInfo(const SpawnInfo &other) {
|
||||
*this = other;
|
||||
}
|
||||
|
||||
SpawnInfo &operator=(const SpawnInfo &other) {
|
||||
setData(
|
||||
other.stageName, other.room, other.layer, other.entrance, other.night, other.trial, other.transitionType,
|
||||
other.transitionFadeFrames & 0xFF, other.unk
|
||||
);
|
||||
return *this;
|
||||
}
|
||||
|
||||
void reset() {
|
||||
setData("", 0, 0, 0, 0, 0, 0, 0xf, 0xff);
|
||||
}
|
||||
|
||||
/* 0x00 */ SizedString<32> stageName;
|
||||
/* 0x20 */ u16 transitionFadeFrames;
|
||||
/* 0x22 */ s8 room;
|
||||
/* 0x23 */ u8 layer;
|
||||
/* 0x24 */ s8 entrance;
|
||||
/* 0x25 */ u8 night;
|
||||
/* 0x26 */ u8 trial;
|
||||
/* 0x27 */ s8 transitionType;
|
||||
/* 0x28 */ s8 unk;
|
||||
|
||||
enum DayNight {
|
||||
DAY,
|
||||
NIGHT,
|
||||
RETAIN_TOD,
|
||||
};
|
||||
|
||||
enum Trial {
|
||||
NO_TRIAL,
|
||||
TRIAL,
|
||||
RETAIN_TRIAL,
|
||||
};
|
||||
|
||||
DayNight getTimeOfDay() {
|
||||
return (DayNight)night;
|
||||
}
|
||||
|
||||
Trial getTrial() {
|
||||
return (Trial)trial;
|
||||
}
|
||||
|
||||
bool isNight() {
|
||||
return getTimeOfDay() == NIGHT;
|
||||
}
|
||||
|
||||
void setData(
|
||||
const char *i_stageName, u8 i_roomid, u8 i_layer, u8 i_entrance, s32 i_night, s32 i_trial, u8 i_transitionType,
|
||||
u16 i_fadeFrames, s8 i_field0x28
|
||||
);
|
||||
};
|
||||
|
||||
struct SpawnInfoExt : public SpawnInfo {
|
||||
/* 0x2C */ mVec3_c mType0Pos;
|
||||
/* 0x38 */ s16 mType0RotY;
|
||||
|
||||
void setSpawnData(const char *i_stageName, u8 i_roomid, u8 i_layer, u8 i_entrance, const mVec3_c &pos, mAng rot);
|
||||
};
|
||||
|
||||
struct LinkReloadInfo {
|
||||
LinkReloadInfo() : mType0CsFlag(0) {}
|
||||
void set(u8 roomid, const mVec3_c &pos, mAng rot, u32 flags);
|
||||
|
||||
/* 0x00 */ mVec3_c mPosition;
|
||||
/* 0x0C */ mAng mRotY;
|
||||
/* 0x0E */ u8 mRoomId;
|
||||
/* 0x0F */ u8 mType0CsFlag;
|
||||
/* 0x10 */ u32 mUnkFlags;
|
||||
};
|
||||
|
||||
class dScGame_c : public dScene_c {
|
||||
public:
|
||||
dScGame_c();
|
||||
virtual ~dScGame_c() {
|
||||
sInstance = nullptr;
|
||||
}
|
||||
|
||||
virtual int create() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int execute() override;
|
||||
virtual int draw() override;
|
||||
virtual void deleteReady() override;
|
||||
|
||||
void triggerExit(s32 room, u8 exitIndex, s32 forcedNight = 2, s32 forcedTrial = 2);
|
||||
// void triggerEntrance(const char *stageName, u8 room, );
|
||||
const LinkReloadInfo &getLinkReloadInfo() const;
|
||||
|
||||
static void copySpawnNextToCurrent();
|
||||
|
||||
STATE_VIRTUAL_FUNC_DECLARE(dScGame_c, Stanby); // sic
|
||||
STATE_VIRTUAL_FUNC_DECLARE(dScGame_c, Action);
|
||||
|
||||
static bool isCurrentStage(const char *stageName);
|
||||
|
||||
static SpawnInfo currentSpawnInfo;
|
||||
static SpawnInfo nextSpawnInfo;
|
||||
static dScGame_c *sInstance;
|
||||
|
||||
static dScGame_c *GetInstance() {
|
||||
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);
|
||||
void clearSpawnInfo();
|
||||
const SpawnInfoExt &getSpawnInfo() const;
|
||||
|
||||
protected:
|
||||
static u32 sUpdateFrameCount;
|
||||
static u8 sCurrentLayer;
|
||||
static u8 sReloaderType;
|
||||
static bool sCopyFileBToCurrentAfterRespawn;
|
||||
static bool sDoSomethingWithFileAOnTransition;
|
||||
static bool sPreventClearingSomeFlag;
|
||||
|
||||
static void someGfxThingCallback();
|
||||
void somethingWithScreen();
|
||||
bool attemptDelete();
|
||||
|
||||
static void actuallyTriggerEntrance(
|
||||
const char *stageName, u8 roomid, u8 layer, u8 entrance, int forcedNight, int forcedTrial, u8 transitionType,
|
||||
u16 transitionFadeFrames, s8 field0x28
|
||||
);
|
||||
|
||||
void setFadeInType(u8 transitionType) {
|
||||
mFader.setFadeInType(transitionType);
|
||||
}
|
||||
|
||||
void setFadeOutType(u8 transitionType) {
|
||||
mFader.setFadeOutType(transitionType);
|
||||
}
|
||||
|
||||
void setFaderFrames(u16 transitionFadeFrames) {
|
||||
mFader.setFrames(transitionFadeFrames, transitionFadeFrames);
|
||||
}
|
||||
|
||||
void setBeedleShopState(u8 state) {
|
||||
mBeedleShopState = state;
|
||||
}
|
||||
|
||||
void resetLinkState() {
|
||||
mInitialSpeedAfterLoadZone = 0.0f;
|
||||
mStaminaAmount = -1;
|
||||
mItemToUseOnReload = -1;
|
||||
mActionIndex = -1;
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState cb1();
|
||||
sFPhaseBase::sFPhaseState cb2();
|
||||
sFPhaseBase::sFPhaseState cb3();
|
||||
|
||||
static sFPhase<dScGame_c>::phaseCallback sCallbacks[];
|
||||
|
||||
/* 0x068 */ sFPhase<dScGame_c> mPhases;
|
||||
/* 0x07C */ STATE_MGR_DECLARE(dScGame_c);
|
||||
/* 0x0B8 */ dDynamicModuleControl mRelCtrl;
|
||||
/* 0x0C4 */ LayoutArcControl mLayoutCtrl;
|
||||
/* 0x0D0 */ dFader_c mFader;
|
||||
|
||||
/* 0x0F8 */ ScGameScreenTargeting mScreen1;
|
||||
/* 0x194 */ ScGameScreen mScreen2;
|
||||
/* 0x228 */ UNKWORD field_0x228;
|
||||
/* 0x22C */ u8 _0x22C[0x230 - 0x22C];
|
||||
/* 0x230 */ dAcRefBase_c mStageMgrRef;
|
||||
/* 0x23C */ u16 mReloadTrigger;
|
||||
/* 0x23E */ u16 field_0x23E;
|
||||
/* 0x240 */ SpawnInfoExt mSpawnInfo;
|
||||
/* 0x27C */ LinkReloadInfo mReloadInfo;
|
||||
/* 0x290 */ f32 mInitialSpeedAfterLoadZone;
|
||||
/* 0x294 */ s32 mStaminaAmount;
|
||||
/* 0x298 */ s8 mItemToUseOnReload;
|
||||
/* 0x299 */ s8 mBeedleShopState;
|
||||
/* 0x29A */ u16 mActionIndex;
|
||||
/* 0x29C */ s32 mLastAreaType;
|
||||
/* 0x2A0 */ u8 mType0PosFlag;
|
||||
/* 0x2A1 */ u8 field_0x2A1;
|
||||
/* 0x2A2 */ u8 mSavePromptFlag;
|
||||
/* 0x2A3 */ bool mPreventSaveRespawnInfo;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,40 @@
|
||||
#ifndef D_SC_TITLE_H
|
||||
#define D_SC_TITLE_H
|
||||
|
||||
#include "d/d_sc_game.h"
|
||||
#include "s/s_FPhase.h"
|
||||
#include "s/s_State.hpp"
|
||||
|
||||
class dScTitle_c : public dScGame_c {
|
||||
public:
|
||||
dScTitle_c();
|
||||
virtual ~dScTitle_c();
|
||||
|
||||
STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dScTitle_c, dScGame_c, Stanby);
|
||||
STATE_VIRTUAL_OVERRIDE_FUNC_DECLARE(dScTitle_c, dScGame_c, Action);
|
||||
|
||||
static dScTitle_c *sInstance;
|
||||
|
||||
static void loadTitleScreen(u32 params);
|
||||
static void setSomethingSkbRelated();
|
||||
|
||||
private:
|
||||
static bool sPreventEmptyFilesTitle;
|
||||
static bool checkAllSaveFilesEmpty();
|
||||
|
||||
virtual int create() override;
|
||||
virtual int execute() override;
|
||||
virtual int doDelete() override;
|
||||
virtual int draw() override;
|
||||
|
||||
static void *dvdCallback(void *data);
|
||||
|
||||
static sFPhase<dScTitle_c>::phaseCallback sCallbacks[];
|
||||
|
||||
/* 0x2A4 */ mDvd_toMainRam_normal_c *mpSkbArc;
|
||||
/* 0x2A8 */ mDvd_toMainRam_normal_c *mpSkbFont;
|
||||
/* 0x2AC */ u8 field_0x2AC;
|
||||
/* 0x2AD */ u8 field_0x2AD;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -2,10 +2,12 @@
|
||||
#define D_SYS_H
|
||||
|
||||
#include "common.h"
|
||||
#include "m/m_color.h"
|
||||
|
||||
namespace dSys {
|
||||
|
||||
void setFrameRate(u32);
|
||||
void setClearColor(mColor clr);
|
||||
|
||||
} // namespace dSys_c
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
struct mColor : public nw4r::ut::Color {
|
||||
mColor() : nw4r::ut::Color() {}
|
||||
mColor(int red, int green, int blue, int alpha) : nw4r::ut::Color(red, green, blue, alpha) {}
|
||||
mColor(int hex) : nw4r::ut::Color(hex) {}
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef LAYOUT_ARC_MANAGER_H
|
||||
#define LAYOUT_ARC_MANAGER_H
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_rawarchive.h"
|
||||
#include "egg/core/eggHeap.h"
|
||||
|
||||
@@ -21,7 +22,7 @@ public:
|
||||
|
||||
bool loadLayoutArcFromDisk(const char *object, EGG::Heap *heap);
|
||||
int ensureLoaded1(const char *object);
|
||||
void ensureLoaded2(const char *object);
|
||||
int ensureLoaded2(const char *object);
|
||||
bool hasEntry(const char *object);
|
||||
bool decrement(const char *path);
|
||||
void *getData(const char *oarcName, const char *fileName);
|
||||
@@ -31,4 +32,17 @@ private:
|
||||
dRawArcTable_c mArcTable;
|
||||
};
|
||||
|
||||
class LayoutArcControl {
|
||||
public:
|
||||
LayoutArcControl() : mLayoutArcs(nullptr), mNumArcs(0) {}
|
||||
virtual ~LayoutArcControl();
|
||||
void set(const char *const *layoutArcs, s32 numArcs);
|
||||
void load(EGG::Heap *heap);
|
||||
void release();
|
||||
|
||||
private:
|
||||
const char **mLayoutArcs;
|
||||
s32 mNumArcs;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -270,14 +270,14 @@ public:
|
||||
/* 80011280 */ u32 calcFileCRC(const void *data, u32 length);
|
||||
/* 80011290 */ void updateEmptyFiles();
|
||||
/* 800112D0 */ void updateEmptyFileFlags();
|
||||
/* 80011370 */ bool isFileEmpty(int fileNum);
|
||||
/* 80011370 */ bool isFileEmpty(u8 fileNum);
|
||||
/* 80011390 */ bool isFileDirty(int fileNum);
|
||||
/* 800113B0 */ u8 get_0xA84C();
|
||||
/* 800113C0 */ bool checkRegionCode();
|
||||
/* 80011440 */ bool checkFileCRC(u8 fileNum);
|
||||
/* 80011490 */ bool isFileInactive() const;
|
||||
/* 80011500 */ void setPlayerInfoFileA();
|
||||
/* 800115E0 */ void setT3Info(mVec3_c *pos, mAng3_c *rot);
|
||||
/* 800115E0 */ void setT3Info(const mVec3_c &pos, const mAng3_c &rot);
|
||||
/* 800116C0 */ static void getRegionVersion(char *out);
|
||||
// /* 800116F0 */ void sinit();
|
||||
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
#ifndef MINIGAME_MGR_H
|
||||
#define MINIGAME_MGR_H
|
||||
|
||||
class MinigameManager {
|
||||
public:
|
||||
enum Minigame {
|
||||
NONE,
|
||||
BAMBOO_CUTTING,
|
||||
FUN_FUN_ISLAND,
|
||||
THRILL_DIGGER,
|
||||
PUMPKIN_CARRY,
|
||||
INSECT_CAPTURE,
|
||||
PUMPKIN_ARCHERY,
|
||||
ROLLERCOASTER,
|
||||
TRIAL_TIME_ATTACK,
|
||||
BOSS_RUSH,
|
||||
HOUSE_CLEANING,
|
||||
SPIRAL_CHARGE_TUTORIAL,
|
||||
HARP_PLAYING,
|
||||
};
|
||||
static bool isInMinigameState(Minigame game);
|
||||
|
||||
static void create();
|
||||
static void destroy();
|
||||
static void execute();
|
||||
private:
|
||||
MinigameManager() {}
|
||||
virtual ~MinigameManager() {}
|
||||
|
||||
static MinigameManager *sInstance;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,7 +1,13 @@
|
||||
#ifndef MUSIC_MGRS_H
|
||||
#define MUSIC_MGRS_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern "C" void *BGM_MGR;
|
||||
extern "C" void fn_8035E000();
|
||||
extern "C" void fn_8035E310(void *);
|
||||
|
||||
extern "C" void *ENEMY_SOUND_MGR;
|
||||
extern "C" void fn_80362150(void *, u16);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,6 +6,7 @@ class ReloadColorFader {
|
||||
public:
|
||||
static ReloadColorFader *GetInstance();
|
||||
void fn_80067ED0();
|
||||
void fn_80067EF0(s32);
|
||||
void fn_80067F00();
|
||||
void fn_80067F50();
|
||||
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
#ifndef SCGAME_H
|
||||
#define SCGAME_H
|
||||
|
||||
#include "common.h"
|
||||
#include "sized_string.h"
|
||||
|
||||
struct SpawnInfo {
|
||||
/* 0x00 */ SizedString<32> stageName;
|
||||
/* 0x20 */ s16 transitionFadeFrames;
|
||||
/* 0x22 */ s8 room;
|
||||
/* 0x23 */ u8 layer;
|
||||
/* 0x24 */ s8 entrance;
|
||||
/* 0x25 */ s8 night;
|
||||
/* 0x26 */ s8 trial;
|
||||
/* 0x27 */ s8 transitionType;
|
||||
/* 0x28 */ s32 unk;
|
||||
|
||||
bool isNight() {
|
||||
return night == 1;
|
||||
}
|
||||
};
|
||||
|
||||
class ScGame {
|
||||
public:
|
||||
static SpawnInfo currentSpawnInfo;
|
||||
static SpawnInfo nextSpawnInfo;
|
||||
static ScGame *sInstance;
|
||||
|
||||
static bool isCurrentStage(const char *stageName);
|
||||
void triggerExit(s32 room, u8 exitIndex, s32 forcedNight = 2, s32 forcedTrial = 2);
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,28 @@
|
||||
#ifndef SOME_GFX_THING_H
|
||||
#define SOME_GFX_THING_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
class SomeGfxThing;
|
||||
extern SomeGfxThing *SOME_GFX_THING;
|
||||
|
||||
class SomeGfxThing {
|
||||
public:
|
||||
typedef void (*drawCallback)(void);
|
||||
static void setDrawCallback(drawCallback cb) {
|
||||
SOME_GFX_THING->mDrawCb = cb;
|
||||
}
|
||||
|
||||
static void setField0x09(u8 val) {
|
||||
SOME_GFX_THING->field_0x09 = val;
|
||||
}
|
||||
|
||||
private:
|
||||
u8 _0x00[0x04 - 0x00];
|
||||
drawCallback mDrawCb;
|
||||
u8 field_0x08;
|
||||
u8 field_0x09;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
@@ -0,0 +1,20 @@
|
||||
#ifndef STAGE_MANAGER_H
|
||||
#define STAGE_MANAGER_H
|
||||
|
||||
#include "d/d_base.h"
|
||||
|
||||
class dStageMgr_c : dBase_c {
|
||||
public:
|
||||
bool isAreaTypeDungeon() const;
|
||||
bool isAreaTypeSky() const;
|
||||
s32 getAreaType() const;
|
||||
|
||||
static dStageMgr_c *GetInstance() {
|
||||
return sInstance;
|
||||
}
|
||||
|
||||
private:
|
||||
static dStageMgr_c *sInstance;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -1,9 +1,9 @@
|
||||
#include "d/a/obj/d_a_obj_sun_light.h"
|
||||
|
||||
#include "d/d_sc_game.h"
|
||||
#include "nw4r/g3d/res/g3d_resfile.h"
|
||||
#include "toBeSorted/arc_managers/current_stage_arc_manager.h"
|
||||
#include "toBeSorted/room_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_SUN_LIGHT, dAcOsunLight_c, fProfile::OBJ_SUN_LIGHT, 0x0219, 0, 3);
|
||||
|
||||
@@ -58,7 +58,5 @@ void dAcOsunLight_c::executeState_Wait() {}
|
||||
void dAcOsunLight_c::finalizeState_Wait() {}
|
||||
|
||||
bool dAcOsunLight_c::isDay() {
|
||||
// return !ScGame::currentSpawnInfo.isNight();
|
||||
// TODO TempFix?
|
||||
return !(u8)ScGame::currentSpawnInfo.night;
|
||||
return dScGame_c::currentSpawnInfo.getTimeOfDay() == SpawnInfo::DAY;
|
||||
}
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
#include "d/a/d_a_item.h"
|
||||
#include "d/col/cc/d_cc_s.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "toBeSorted/attention.h"
|
||||
#include "toBeSorted/event.h"
|
||||
#include "toBeSorted/event_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(OBJ_TOD3_STONE, dAcOtoD3StoneFigure_c, fProfile::OBJ_TOD3_STONE, 0x1B3, 0, 0);
|
||||
|
||||
@@ -117,14 +117,14 @@ int dAcOtoD3StoneFigure_c::actorExecute() {
|
||||
}
|
||||
|
||||
int dAcOtoD3StoneFigure_c::draw() {
|
||||
if (ScGame::currentSpawnInfo.layer != 0x12) {
|
||||
if (dScGame_c::currentSpawnInfo.layer != 0x12) {
|
||||
drawModelType1(&mMdl);
|
||||
}
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
void dAcOtoD3StoneFigure_c::initializeState_OneEye() {
|
||||
if (ScGame::currentSpawnInfo.night == 1) {
|
||||
if (dScGame_c::currentSpawnInfo.getTimeOfDay() == SpawnInfo::NIGHT) {
|
||||
rotation.y.mVal += -0x8000;
|
||||
updateMatrix();
|
||||
mMdl.setLocalMtx(mWorldMtx);
|
||||
@@ -133,9 +133,9 @@ void dAcOtoD3StoneFigure_c::initializeState_OneEye() {
|
||||
|
||||
void dAcOtoD3StoneFigure_c::executeState_OneEye() {
|
||||
if (EventManager::isInEvent(this, "D3OpenStart")) {
|
||||
ScGame::sInstance->triggerExit(roomid, mExitId);
|
||||
dScGame_c::sInstance->triggerExit(roomid, mExitId);
|
||||
} else {
|
||||
if (hasStoneOfTrials() && ScGame::currentSpawnInfo.night != 1) {
|
||||
if (hasStoneOfTrials() && dScGame_c::currentSpawnInfo.getTimeOfDay() != SpawnInfo::NIGHT) {
|
||||
// These are interaction related
|
||||
-0.0f;
|
||||
AttentionManager::sInstance->addExamineTalkTarget(*this, 1, 300.0f, 50.0f, -100.0f, 100.0f);
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/arc_managers/oarc_manager.h"
|
||||
#include "toBeSorted/hbm.h"
|
||||
#include "toBeSorted/some_gxf_thing.h"
|
||||
#include "toBeSorted/reload_color_fader.h"
|
||||
|
||||
sFPhase<dScBoot_c>::phaseCallback dScBoot_c::sCallbacks[] = {&dScBoot_c::cb1, &dScBoot_c::cb2, &dScBoot_c::cb3,
|
||||
@@ -44,7 +45,6 @@ extern "C" const char *getEventFlowFileNameByIndex(int, int);
|
||||
extern "C" const char *getUsedLanguageString();
|
||||
extern "C" u8 fn_80054F30();
|
||||
extern "C" nw4r::ut::ResFont *lbl_805750D8;
|
||||
extern "C" u8 *SOME_GFX_THING;
|
||||
|
||||
sFPhaseBase::sFPhaseState dScBoot_c::cb1() {
|
||||
LayoutArcManager::sInstance->loadLayoutArcFromDisk("cursor", mHeap::g_archiveHeap);
|
||||
@@ -520,7 +520,7 @@ void dScBoot_c::executeState_Strap() {
|
||||
|
||||
void dScBoot_c::finalizeState_Strap() {
|
||||
// TODO
|
||||
SOME_GFX_THING[9] = 1;
|
||||
SomeGfxThing::setField0x09(1);
|
||||
}
|
||||
|
||||
void dScBoot_c::initializeState_Connect() {
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
#include "d/t/d_t_genki_dws_tgt.h"
|
||||
|
||||
#include "toBeSorted/room_manager.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
#include "toBeSorted/room_manager.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(TAG_GENKI_DOWSING_TARGET, dTgGenkiDwsTgt_c, fProfile::TAG_GENKI_DOWSING_TARGET, 0x02A5, 0, 0);
|
||||
|
||||
int dTgGenkiDwsTgt_c::create() {
|
||||
u16 batQuestActivated = StoryflagManager::sInstance->getCounterOrFlag(304);
|
||||
if (batQuestActivated == 0 || !ScGame::sInstance->currentSpawnInfo.isNight()) {
|
||||
if (batQuestActivated == 0 || !dScGame_c::sInstance->currentSpawnInfo.isNight()) {
|
||||
return FAILED;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/a/obj/d_a_obj_base.h"
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/flag/enemyflag_manager.h"
|
||||
#include "f/f_list_nd.h"
|
||||
#include "m/m_vec.h"
|
||||
@@ -10,7 +11,6 @@
|
||||
#include "toBeSorted/event_manager.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/room_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
#include "toBeSorted/special_item_drop_mgr.h"
|
||||
|
||||
// .sdata
|
||||
@@ -232,7 +232,7 @@ bool dAcBase_c::restorePosRotFromCopy() {
|
||||
|
||||
// 8002cf10
|
||||
u32 dAcBase_c::itemDroppingAndGivingRelated(mVec3_c *spawnPos, int subtype) {
|
||||
if (ScGame::currentSpawnInfo.trial == 1) {
|
||||
if (dScGame_c::currentSpawnInfo.getTrial() == SpawnInfo::TRIAL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
#include "d/col/c/c_bg_s_shdw_draw.h"
|
||||
#include "d/col/c/c_m3d.h"
|
||||
#include "d/col/c/c_partition.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "toBeSorted/arc_managers/oarc_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
const char *MAP_SOLID_MATERIAL_NAMES[31] = {
|
||||
0,
|
||||
@@ -409,7 +409,7 @@ void dBgS::Ct() {
|
||||
|
||||
mInSkyKeep = false;
|
||||
for (int i = 0; i < 8; ++i) {
|
||||
if (ScGame::isCurrentStage(SKYKEEP_STAGE_NAMES[i])) {
|
||||
if (dScGame_c::isCurrentStage(SKYKEEP_STAGE_NAMES[i])) {
|
||||
mInSkyKeep = true;
|
||||
return;
|
||||
}
|
||||
@@ -575,7 +575,7 @@ int dBgS::GetPolyAtt1(cBgS_PolyInfo const &info) {
|
||||
|
||||
// TODO: Map to Enums And Cleanup??
|
||||
int dBgS::GetMapCode(int att0, int att1, bool bAlt) {
|
||||
if (bAlt && ScGame::currentSpawnInfo.trial == 1) {
|
||||
if (bAlt && dScGame_c::currentSpawnInfo.getTrial() == SpawnInfo::TRIAL) {
|
||||
return 0x1E;
|
||||
}
|
||||
if (att0 == 4 && att1 == 1) {
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "d/col/c/c_bg_s_chk.h"
|
||||
#include "d/col/c/c_bg_s_lin_chk.h"
|
||||
#include "d/col/c/c_bg_s_shdw_draw.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
#include "d/d_sc_game.h"
|
||||
|
||||
bool cBgW::sLineCheck;
|
||||
bool cBgW::sGndCheck;
|
||||
@@ -855,7 +855,7 @@ bool dBgW::GetMapCode(int polyIdx, int *pOut) {
|
||||
bool target = GetZTargetThrough(info);
|
||||
if (att0 >= 0x20) {
|
||||
*pOut = dBgS::GetMapCode(att0 - 0x20, att1, target);
|
||||
if (Chk0x24_0x20() && ScGame::currentSpawnInfo.trial == 1) {
|
||||
if (Chk0x24_0x20() && dScGame_c::currentSpawnInfo.getTrial() == SpawnInfo::TRIAL) {
|
||||
*pOut = 0x1E;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "d/col/bg/d_bg_s.h"
|
||||
#include "d/col/bg/d_bg_s_gnd_chk.h"
|
||||
#include "d/col/bg/d_bg_s_lin_chk.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
#include "d/d_sc_game.h"
|
||||
|
||||
char STAGE_FS_A[] = "D201";
|
||||
char STAGE_FS_B[] = "D201_1";
|
||||
@@ -518,7 +518,7 @@ void dBgWKCol::DrawOnMap(int idx, bool param2) {
|
||||
|
||||
if (param2) {
|
||||
// FS Room 9 /* Spiral Staircase */
|
||||
if (GetRoomId() == 9 && (ScGame::isCurrentStage(STAGE_FS_A) || ScGame::isCurrentStage(STAGE_FS_B))) {
|
||||
if (GetRoomId() == 9 && (dScGame_c::isCurrentStage(STAGE_FS_A) || dScGame_c::isCurrentStage(STAGE_FS_B))) {
|
||||
int all = mMapRelated[idx].mCount;
|
||||
mVec3_c AB, CA, BC;
|
||||
mVec3_c v0, v1, v2;
|
||||
@@ -646,13 +646,13 @@ void dBgWKCol::DrawOnMap(int idx, bool param2) {
|
||||
f32 yPos = (bnd->GetMinP()->y + bnd->GetMaxP()->y) * 0.5f;
|
||||
|
||||
// Sandship
|
||||
if (GetRoomId() == 15 && ScGame::isCurrentStage(STAGE_SSH)) {
|
||||
if (GetRoomId() == 15 && dScGame_c::isCurrentStage(STAGE_SSH)) {
|
||||
yPos = 0.0f;
|
||||
}
|
||||
if (idx == 0x12 /* Abyss `Common/tex/naraku.bti`)*/) {
|
||||
yPos -= 1.0f;
|
||||
}
|
||||
if (ScGame::isCurrentStage(STAGE_FS_A) || ScGame::isCurrentStage(STAGE_FS_B)) {
|
||||
if (dScGame_c::isCurrentStage(STAGE_FS_A) || dScGame_c::isCurrentStage(STAGE_FS_B)) {
|
||||
int room = GetRoomId();
|
||||
/* FS Room 9 - Spiral Staircse */
|
||||
if (room == 9) {
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "d/col/c/c_m3d_g_aab.h"
|
||||
#include "f/f_base.h"
|
||||
#include "rvl/MTX/mtx.h"
|
||||
#include "toBeSorted/stage_manager.h"
|
||||
|
||||
dCcS *dCcS::sInstance;
|
||||
|
||||
@@ -167,11 +168,11 @@ void dCcS::ClearArea() {
|
||||
mAreaCount = 0;
|
||||
}
|
||||
|
||||
extern "C" void *STAGE_MANAGER;
|
||||
|
||||
extern "C" bool fn_8019A7A0(void *stg, f32 *, f32 *);
|
||||
void dCcS::AdjustHitPos() {
|
||||
f32 x, z;
|
||||
if (STAGE_MANAGER && fn_8019A7A0(STAGE_MANAGER, &x, &z)) {
|
||||
if (dStageMgr_c::GetInstance() != nullptr && fn_8019A7A0(dStageMgr_c::GetInstance(), &x, &z)) {
|
||||
for (cCcD_Obj **obj = mpObj; obj < mpObj + mObjCount; ++obj) {
|
||||
(*obj)->AdjustHitPos(x, z);
|
||||
(*obj)->GetShapeAttr()->TranslateXZ(x, z);
|
||||
|
||||
@@ -0,0 +1,325 @@
|
||||
#include "d/d_sc_game.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_base.h"
|
||||
#include "d/flag/storyflag_manager.h"
|
||||
#include "f/f_base.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m_fader_base.h"
|
||||
#include "m/m_vec.h"
|
||||
#include "s/s_FPhase.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/arc_managers/oarc_manager.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/minigame_mgr.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/room_manager.h"
|
||||
#include "toBeSorted/some_gxf_thing.h"
|
||||
#include "toBeSorted/stage_manager.h"
|
||||
|
||||
#include <cstring>
|
||||
|
||||
SPECIAL_BASE_PROFILE(GAME, dScGame_c, fProfile::GAME, 0x4, 0x6F9);
|
||||
|
||||
STATE_VIRTUAL_DEFINE(dScGame_c, Stanby);
|
||||
STATE_VIRTUAL_DEFINE(dScGame_c, Action);
|
||||
|
||||
SpawnInfo dScGame_c::currentSpawnInfo;
|
||||
SpawnInfo dScGame_c::nextSpawnInfo(dScGame_c::currentSpawnInfo);
|
||||
|
||||
dScGame_c *dScGame_c::sInstance;
|
||||
u32 dScGame_c::sUpdateFrameCount;
|
||||
u8 dScGame_c::sCurrentLayer;
|
||||
u8 dScGame_c::sReloaderType;
|
||||
bool dScGame_c::sCopyFileBToCurrentAfterRespawn;
|
||||
bool dScGame_c::sDoSomethingWithFileAOnTransition;
|
||||
bool dScGame_c::sPreventClearingSomeFlag;
|
||||
|
||||
sFPhase<dScGame_c>::phaseCallback dScGame_c::sCallbacks[] = {
|
||||
&dScGame_c::cb1, &dScGame_c::cb2, &dScGame_c::cb3, nullptr
|
||||
};
|
||||
|
||||
void dScGame_c::someGfxThingCallback() {
|
||||
dScGame_c *scGame = dScGame_c::GetInstance();
|
||||
scGame->somethingWithScreen();
|
||||
scGame->mFader.draw();
|
||||
}
|
||||
|
||||
dScGame_c::dScGame_c()
|
||||
: mPhases(this, sCallbacks),
|
||||
mStateMgr(*this),
|
||||
mStageMgrRef(nullptr),
|
||||
mScreen1(0x85),
|
||||
mScreen2(0x89),
|
||||
field_0x228(0),
|
||||
mReloadTrigger(fProfile::PROFILE_MAX) {
|
||||
resetLinkState();
|
||||
mBeedleShopState = 0;
|
||||
mLastAreaType = 6;
|
||||
mType0PosFlag = 0;
|
||||
mSavePromptFlag = false;
|
||||
mPreventSaveRespawnInfo = true;
|
||||
sInstance = this;
|
||||
currentSpawnInfo.reset();
|
||||
}
|
||||
|
||||
int dScGame_c::create() {
|
||||
sFPhaseBase::sFPhaseState phaseResult = mPhases.step();
|
||||
if (phaseResult != sFPhaseBase::PHASE_ALL_DONE) {
|
||||
return NOT_READY;
|
||||
}
|
||||
|
||||
SomeGfxThing::setDrawCallback(someGfxThingCallback);
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dScGame_c::doDelete() {
|
||||
MinigameManager::destroy();
|
||||
mRelCtrl.do_unlink();
|
||||
mLayoutCtrl.release();
|
||||
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dScGame_c::execute() {
|
||||
mFader.calc();
|
||||
mStateMgr.executeState();
|
||||
MinigameManager::execute();
|
||||
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dScGame_c::draw() {
|
||||
mScreen1.addToDrawList();
|
||||
mScreen2.addToDrawList();
|
||||
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
void dScGame_c::deleteReady() {
|
||||
SomeGfxThing::setDrawCallback(nullptr);
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState dScGame_c::cb1() {
|
||||
mFader.create();
|
||||
mFader.setFrames(15, 15);
|
||||
mFader.setTypes(1, 1);
|
||||
mFader.initForLyt();
|
||||
mRelCtrl.do_link();
|
||||
mLayoutCtrl.load(nullptr);
|
||||
|
||||
return sFPhaseBase::PHASE_NEXT;
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState dScGame_c::cb2() {
|
||||
if (!mRelCtrl.do_link()) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (OarcManager::sInstance->ensureAllEntriesLoaded()) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
if (LayoutArcManager::sInstance->ensureAllEntriesLoaded()) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
|
||||
MinigameManager::create();
|
||||
setReloadTrigger(fProfile::STAGE_MANAGER);
|
||||
mStateMgr.changeState(StateID_Stanby);
|
||||
return sFPhaseBase::PHASE_NEXT;
|
||||
}
|
||||
|
||||
sFPhaseBase::sFPhaseState dScGame_c::cb3() {
|
||||
if (checkChildProcessCreateState()) {
|
||||
return sFPhaseBase::PHASE_RETRY;
|
||||
}
|
||||
return sFPhaseBase::PHASE_NEXT;
|
||||
}
|
||||
|
||||
void dScGame_c::initializeState_Stanby() {
|
||||
setProcControlFlag(ROOT_DISABLE_EXECUTE | ROOT_DISABLE_DRAW);
|
||||
if (mReloadTrigger == fProfile::STAGE_MANAGER) {
|
||||
copySpawnNextToCurrent();
|
||||
}
|
||||
dBase_c *base = dBase_c::createBase(mReloadTrigger, this, 0, OTHER);
|
||||
mStageMgrRef.link(base);
|
||||
mReloadTrigger = fProfile::PROFILE_MAX;
|
||||
}
|
||||
|
||||
void dScGame_c::executeState_Stanby() {
|
||||
mStateMgr.changeState(StateID_Action);
|
||||
}
|
||||
|
||||
void dScGame_c::finalizeState_Stanby() {}
|
||||
|
||||
void dScGame_c::initializeState_Action() {
|
||||
mFader.fadeIn();
|
||||
}
|
||||
|
||||
void dScGame_c::executeState_Action() {
|
||||
if (mFader.isStatus(mFaderBase_c::FADED_OUT)) {
|
||||
if (attemptDelete()) {
|
||||
mStateMgr.changeState(StateID_Stanby);
|
||||
}
|
||||
} else if (mReloadTrigger != fProfile::PROFILE_MAX) {
|
||||
mFader.fadeOut();
|
||||
fn_80362150(ENEMY_SOUND_MGR, mFader.getFadeOutFrame());
|
||||
}
|
||||
}
|
||||
|
||||
void dScGame_c::finalizeState_Action() {}
|
||||
|
||||
void dScGame_c::somethingWithScreen() {}
|
||||
|
||||
void dScGame_c::setRespawnInfo(const mVec3_c &linkPos, const mAng3_c &linkRot, bool unk) {
|
||||
bool isInThunderDragonTrial = MinigameManager::isInMinigameState(MinigameManager::TRIAL_TIME_ATTACK) ||
|
||||
MinigameManager::isInMinigameState(MinigameManager::BOSS_RUSH) ?
|
||||
true :
|
||||
false;
|
||||
bool isInHordeFight = isCurrentStage("F403") && !StoryflagManager::sInstance->getFlag(134);
|
||||
s32 areaType = dStageMgr_c::GetInstance()->getAreaType();
|
||||
if (mPreventSaveRespawnInfo != true && !isInThunderDragonTrial && !isInHordeFight &&
|
||||
(areaType != 2 && !isCurrentStage("B100_1") && !sPreventClearingSomeFlag &&
|
||||
(areaType != 1 || (mLastAreaType != 1 && mLastAreaType != 2)))) {
|
||||
FileManager::sInstance->setT3Info(linkPos, linkRot);
|
||||
if (mLastAreaType != 5 && unk) {
|
||||
StoryflagManager::sInstance->unsetFlag(752);
|
||||
}
|
||||
}
|
||||
|
||||
if (!isInThunderDragonTrial && isCurrentStage("B400") && mLastAreaType != 2) {
|
||||
FileManager::sInstance->copyCurrentToFileB();
|
||||
}
|
||||
sPreventClearingSomeFlag = 0;
|
||||
mPreventSaveRespawnInfo = false;
|
||||
mLastAreaType = areaType;
|
||||
}
|
||||
|
||||
const LinkReloadInfo &dScGame_c::getLinkReloadInfo() const {
|
||||
return mReloadInfo;
|
||||
}
|
||||
|
||||
bool dScGame_c::attemptDelete() {
|
||||
if (mStageMgrRef.p_owner == nullptr) {
|
||||
return true;
|
||||
} else {
|
||||
if (!mStageMgrRef.p_owner->delete_request) {
|
||||
mStageMgrRef.p_owner->deleteRequest();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool dScGame_c::setReloadTrigger(fProfile::PROFILE_NAME_e trigger) {
|
||||
if (mReloadTrigger != fProfile::PROFILE_MAX) {
|
||||
return false;
|
||||
}
|
||||
mReloadTrigger = trigger;
|
||||
return true;
|
||||
}
|
||||
|
||||
void dScGame_c::setSpawnInfo(u8 roomid, const mVec3_c &pos, mAng rot) {
|
||||
mSpawnInfo.setSpawnData(currentSpawnInfo.stageName, roomid, sCurrentLayer, 0, pos, rot);
|
||||
}
|
||||
|
||||
const SpawnInfoExt &dScGame_c::getSpawnInfo() const {
|
||||
return mSpawnInfo;
|
||||
}
|
||||
|
||||
void dScGame_c::clearSpawnInfo() {
|
||||
mSpawnInfo.setSpawnData("", 0, 0, 0, mVec3_c::Zero, 0);
|
||||
}
|
||||
|
||||
extern "C" void processEventFlags();
|
||||
void dScGame_c::triggerExit(s32 room, u8 exitIndex, s32 forcedNight, s32 forcedTrial) {
|
||||
processEventFlags();
|
||||
// TODO
|
||||
}
|
||||
|
||||
void SpawnInfoExt::setSpawnData(
|
||||
const char *i_stageName, u8 i_roomid, u8 i_layer, u8 i_entrance, const mVec3_c &pos, mAng rot
|
||||
) {
|
||||
setData(
|
||||
i_stageName, i_roomid, i_layer, i_entrance, dScGame_c::currentSpawnInfo.night,
|
||||
dScGame_c::currentSpawnInfo.trial, 0, 15, -1
|
||||
);
|
||||
mType0Pos = pos;
|
||||
mType0RotY = rot;
|
||||
}
|
||||
|
||||
void LinkReloadInfo::set(u8 roomid, const mVec3_c &pos, mAng rot, u32 flags) {
|
||||
mRoomId = roomid;
|
||||
mPosition = pos;
|
||||
mRotY = rot;
|
||||
mUnkFlags = flags;
|
||||
mType0CsFlag = 1;
|
||||
}
|
||||
|
||||
bool dScGame_c::isCurrentStage(const char *stage) {
|
||||
return dScGame_c::currentSpawnInfo.stageName == stage;
|
||||
}
|
||||
|
||||
extern "C" void fn_801BB9C0();
|
||||
extern "C" void *lbl_80575688;
|
||||
extern "C" void fn_801909A0(void *);
|
||||
extern "C" void maybeResetSkykeepPuzzle(bool);
|
||||
|
||||
void dScGame_c::copySpawnNextToCurrent() {
|
||||
if (sDoSomethingWithFileAOnTransition == true) {
|
||||
fn_801BB9C0();
|
||||
sDoSomethingWithFileAOnTransition = false;
|
||||
}
|
||||
if (std::strncmp(currentSpawnInfo.stageName, nextSpawnInfo.stageName, 2)) {
|
||||
fn_801909A0(lbl_80575688);
|
||||
}
|
||||
currentSpawnInfo = nextSpawnInfo;
|
||||
sCurrentLayer = currentSpawnInfo.layer;
|
||||
maybeResetSkykeepPuzzle(false);
|
||||
}
|
||||
|
||||
void dScGame_c::actuallyTriggerEntrance(
|
||||
const char *stageName, u8 roomid, u8 layer, u8 entrance, int forcedNight, int forcedTrial, u8 transitionType,
|
||||
u16 transitionFadeFrames, s8 field0x28
|
||||
) {
|
||||
s32 trial, night;
|
||||
if (forcedTrial == 2) {
|
||||
trial = currentSpawnInfo.trial;
|
||||
} else {
|
||||
trial = forcedTrial;
|
||||
}
|
||||
|
||||
if (forcedNight == 2) {
|
||||
night = currentSpawnInfo.night;
|
||||
} else {
|
||||
night = forcedNight;
|
||||
}
|
||||
|
||||
nextSpawnInfo.setData(
|
||||
stageName, roomid, layer, entrance, night, trial, transitionType, transitionFadeFrames, field0x28
|
||||
);
|
||||
|
||||
if (dScGame_c::GetInstance() != nullptr) {
|
||||
dScGame_c::GetInstance()->setFadeInType(transitionType);
|
||||
dScGame_c::GetInstance()->setFadeOutType(transitionType);
|
||||
dScGame_c::GetInstance()->setFaderFrames(transitionFadeFrames);
|
||||
dScGame_c::GetInstance()->resetLinkState();
|
||||
dScGame_c::GetInstance()->setBeedleShopState(0);
|
||||
}
|
||||
}
|
||||
|
||||
void SpawnInfo::setData(
|
||||
const char *i_stageName, u8 i_roomid, u8 i_layer, u8 i_entrance, s32 i_night, s32 i_trial, u8 i_transitionType,
|
||||
u16 i_fadeFrames, s8 i_field0x28
|
||||
) {
|
||||
stageName = i_stageName;
|
||||
room = i_roomid;
|
||||
layer = i_layer;
|
||||
entrance = i_entrance;
|
||||
night = i_night;
|
||||
trial = i_trial;
|
||||
transitionType = i_transitionType;
|
||||
transitionFadeFrames = i_fadeFrames;
|
||||
unk = i_field0x28;
|
||||
}
|
||||
@@ -0,0 +1,218 @@
|
||||
#include "d/d_sc_title.h"
|
||||
|
||||
#include "common.h"
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/d_sys.h"
|
||||
#include "f/f_base.h"
|
||||
#include "f/f_profile_name.h"
|
||||
#include "m/m_color.h"
|
||||
#include "m/m_dvd.h"
|
||||
#include "s/s_State.hpp"
|
||||
#include "sized_string.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/file_manager.h"
|
||||
#include "toBeSorted/music_mgrs.h"
|
||||
#include "toBeSorted/reload_color_fader.h"
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
static u16 sModulesToLoad[] = {
|
||||
// ??? not sure what these correspond to
|
||||
0x229, 0x2B0, 0x2B6, 0x2AF, 0x2B7,
|
||||
};
|
||||
|
||||
static const char *sLayoutArcsToLoad[] = {
|
||||
"Title2D",
|
||||
};
|
||||
|
||||
STATE_VIRTUAL_DEFINE(dScTitle_c, Stanby);
|
||||
STATE_VIRTUAL_DEFINE(dScTitle_c, Action);
|
||||
|
||||
extern "C" void *lbl_80575688;
|
||||
extern "C" void fn_801907F0(void *);
|
||||
extern "C" void *lbl_805750D8;
|
||||
extern "C" void fn_80052D50(void *);
|
||||
|
||||
dScTitle_c::dScTitle_c() {
|
||||
sInstance = this;
|
||||
mRelCtrl.set(sModulesToLoad, ARRAY_LENGTH(sModulesToLoad));
|
||||
mLayoutCtrl.set(sLayoutArcsToLoad, ARRAY_LENGTH(sLayoutArcsToLoad));
|
||||
fn_801907F0(lbl_80575688);
|
||||
if (checkAllSaveFilesEmpty() == true) {
|
||||
actuallyTriggerEntrance("F000", 0, 26, 55, 0, 0, 0, 15, -1);
|
||||
} else {
|
||||
actuallyTriggerEntrance("F000", 0, 28, 48, 0, 0, 0, 15, -1);
|
||||
}
|
||||
FileManager::sInstance->clearTempFileData();
|
||||
FileManager::sInstance->initFile(1);
|
||||
fn_80052D50(lbl_805750D8);
|
||||
lbl_80575787 = 0;
|
||||
field_0x2AC = 0;
|
||||
}
|
||||
|
||||
dScTitle_c::~dScTitle_c() {
|
||||
sInstance = nullptr;
|
||||
}
|
||||
|
||||
extern "C" u32 TITLE_SCREEN_CHANGE;
|
||||
extern "C" void fn_80059450();
|
||||
extern "C" void fn_80058C90(s32);
|
||||
extern "C" void fn_80015E40();
|
||||
extern "C" const char *getUsedLanguageString();
|
||||
|
||||
static const char *const sFileSelect = "FileSelect";
|
||||
static const char *const sSkb = "SoftwareKeyboard";
|
||||
|
||||
int dScTitle_c::create() {
|
||||
int ret = dScGame_c::create();
|
||||
if (ret == SUCCEEDED && ReloadColorFader::GetInstance()->field_0x0C == 1) {
|
||||
if (field_0x2AC == 0) {
|
||||
ReloadColorFader::GetInstance()->fn_80067EF0(0);
|
||||
if (checkAllSaveFilesEmpty() != true) {
|
||||
TITLE_SCREEN_CHANGE = 0;
|
||||
}
|
||||
field_0x2AC = 1;
|
||||
ret = NOT_READY;
|
||||
} else {
|
||||
ReloadColorFader::GetInstance()->fn_80067EF0(1);
|
||||
}
|
||||
}
|
||||
|
||||
if (ret == SUCCEEDED) {
|
||||
dSys::setFrameRate(2);
|
||||
dSys::setClearColor(mColor(0x00000000));
|
||||
fn_80059450();
|
||||
fn_80058C90(0);
|
||||
fn_80015E40();
|
||||
field_0x2AD = 0;
|
||||
LayoutArcManager::sInstance->loadLayoutArcFromDisk(sFileSelect, nullptr);
|
||||
LayoutArcManager::sInstance->loadLayoutArcFromDisk(sSkb, nullptr);
|
||||
mDvd_toMainRam_normal_c::create2(&mpSkbArc, "/SKB/sofkeybd.arc", 0, dHeap::work2Heap.heap);
|
||||
SizedString<128> fntPath;
|
||||
fntPath.sprintf("/US/Font/%s/%s", getUsedLanguageString(), "normal_02.brfnt");
|
||||
mDvd_toMainRam_normal_c::create2(&mpSkbFont, fntPath, 0, dHeap::work2Heap.heap);
|
||||
fn_8035E310(BGM_MGR);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int dScTitle_c::execute() {
|
||||
mFader.calc();
|
||||
mStateMgr.executeState();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
extern "C" void fn_80015E80();
|
||||
|
||||
int dScTitle_c::doDelete() {
|
||||
// TODO return codes
|
||||
int result;
|
||||
result = LayoutArcManager::sInstance->ensureLoaded2(sFileSelect);
|
||||
if (result != -2) {
|
||||
if (result != 0) {
|
||||
return NOT_READY;
|
||||
}
|
||||
LayoutArcManager::sInstance->decrement(sFileSelect);
|
||||
}
|
||||
|
||||
result = LayoutArcManager::sInstance->ensureLoaded2(sSkb);
|
||||
if (result != -2) {
|
||||
if (result != 0) {
|
||||
return NOT_READY;
|
||||
}
|
||||
LayoutArcManager::sInstance->decrement(sSkb);
|
||||
}
|
||||
|
||||
// TODO here's the other half of the ::destroy fakematch...
|
||||
if (mpSkbArc->mStatus != 0) {
|
||||
mDvd_command_c::destroy((mDvd_command_c **)&mpSkbArc);
|
||||
} else {
|
||||
return NOT_READY;
|
||||
}
|
||||
|
||||
if (mpSkbFont->mStatus != 0) {
|
||||
mDvd_command_c::destroy((mDvd_command_c **)&mpSkbFont);
|
||||
} else {
|
||||
return NOT_READY;
|
||||
}
|
||||
|
||||
dScGame_c::doDelete();
|
||||
fn_80015E80();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
int dScTitle_c::draw() {
|
||||
dScGame_c::draw();
|
||||
return SUCCEEDED;
|
||||
}
|
||||
|
||||
extern "C" u32 TITLE_SCREEN_CHANGE;
|
||||
void dScTitle_c::loadTitleScreen(u32 params) {
|
||||
FileManager::sInstance->updateEmptyFiles();
|
||||
if (checkAllSaveFilesEmpty() == true && params != 1) {
|
||||
params = 2;
|
||||
}
|
||||
TITLE_SCREEN_CHANGE = params;
|
||||
setRootActor(fProfile::TITLE, params, 0, 0);
|
||||
if (checkAllSaveFilesEmpty() == true) {
|
||||
actuallyTriggerEntrance("F000", 0, 26, 55, 0, 0, 0, 15, -1);
|
||||
} else {
|
||||
actuallyTriggerEntrance("F000", 0, 28, 48, 0, 0, 0, 15, -1);
|
||||
}
|
||||
fn_80362150(ENEMY_SOUND_MGR, 30);
|
||||
}
|
||||
|
||||
void dScTitle_c::setSomethingSkbRelated() {
|
||||
if (sInstance != nullptr) {
|
||||
sInstance->field_0x2AD = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void dScTitle_c::initializeState_Stanby() {
|
||||
dScGame_c::initializeState_Stanby();
|
||||
}
|
||||
|
||||
void dScTitle_c::executeState_Stanby() {
|
||||
dScGame_c::executeState_Stanby();
|
||||
}
|
||||
|
||||
void dScTitle_c::finalizeState_Stanby() {
|
||||
dScGame_c::finalizeState_Stanby();
|
||||
}
|
||||
|
||||
void dScTitle_c::initializeState_Action() {
|
||||
dScGame_c::initializeState_Action();
|
||||
}
|
||||
|
||||
void dScTitle_c::executeState_Action() {
|
||||
dScGame_c::executeState_Action();
|
||||
}
|
||||
|
||||
void dScTitle_c::finalizeState_Action() {
|
||||
dScGame_c::finalizeState_Action();
|
||||
}
|
||||
|
||||
bool dScTitle_c::checkAllSaveFilesEmpty() {
|
||||
FileManager *mgr = FileManager::sInstance;
|
||||
bool allEmpty = true;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
if (!mgr->isFileEmpty(i)) {
|
||||
allEmpty = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!sPreventEmptyFilesTitle && allEmpty == true) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
// clang-format off
|
||||
#include "common.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/d_sc_title.h"
|
||||
#include "d/lyt/d_lyt_area_caption.h"
|
||||
#include "d/lyt/d_lyt_meter_configuration.h"
|
||||
#include "d/lyt/d_window.h"
|
||||
#include "d/lyt/meter/d_lyt_meter.h"
|
||||
#include "toBeSorted/stage_manager.h"
|
||||
#include "toBeSorted/arc_managers/layout_arc_manager.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
// clang-format on
|
||||
|
||||
static dLytMeterConfiguration_c sConf;
|
||||
@@ -277,7 +279,6 @@ void floats2() {
|
||||
dLytMeter_c::dLytMeter_c() {}
|
||||
#pragma dont_inline reset
|
||||
|
||||
extern "C" void *GLOBAL_TITLE_RELOADER;
|
||||
extern "C" void fn_800D97E0(int i);
|
||||
extern "C" void fn_800D9800(int i);
|
||||
extern "C" void fn_801B2D10(void *);
|
||||
@@ -322,10 +323,6 @@ static const d2d::LytBrlanMapping meterBrlanMap[] = {
|
||||
{"basicPosition_00_rupyPosition.brlan", "G_rupyPosi_00"},
|
||||
};
|
||||
|
||||
extern "C" void *STAGE_MANAGER;
|
||||
extern "C" bool StageManager__isAreaTypeSky(void *stageMgr);
|
||||
extern "C" bool StageManager__isAreaTypeDungeon(void *stageMgr);
|
||||
|
||||
bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mLyt.setResAcc(resAcc);
|
||||
mLyt.build("basicPosition_00.brlyt", nullptr);
|
||||
@@ -341,7 +338,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
// out G_shield_00
|
||||
mShield.setContainerGroup(&mAnmGroups[28]);
|
||||
|
||||
if (GLOBAL_TITLE_RELOADER == nullptr) {
|
||||
if (dScTitle_c::sInstance == nullptr) {
|
||||
mp1Button = new dLytMeter1Button_c();
|
||||
mp2Button = new dLytMeter2Button_c();
|
||||
} else {
|
||||
@@ -406,7 +403,7 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mpTimerPart2 = nullptr;
|
||||
}
|
||||
|
||||
if (GLOBAL_TITLE_RELOADER == nullptr && StageManager__isAreaTypeSky(STAGE_MANAGER)) {
|
||||
if (dScTitle_c::sInstance == nullptr && dStageMgr_c::GetInstance()->isAreaTypeSky()) {
|
||||
mpSkyGauge = new dLytSkyGauge_c();
|
||||
mpSkyGauge->build(resAcc);
|
||||
|
||||
@@ -417,38 +414,38 @@ bool dLytMeter_c::build(d2d::ResAccIf_c *resAcc) {
|
||||
mpBirdGauge = nullptr;
|
||||
}
|
||||
|
||||
if (ScGame::currentSpawnInfo.stageName == "F401") {
|
||||
if (dScGame_c::currentSpawnInfo.stageName == "F401") {
|
||||
mpBossGauge = new dLytBossGauge_c();
|
||||
mpBossGauge->build();
|
||||
} else {
|
||||
mpBossGauge = nullptr;
|
||||
}
|
||||
|
||||
if (ScGame::isCurrentStage("F200") || ScGame::isCurrentStage("F210") || ScGame::isCurrentStage("F211")) {
|
||||
if (dScGame_c::isCurrentStage("F200") || dScGame_c::isCurrentStage("F210") || dScGame_c::isCurrentStage("F211")) {
|
||||
mpKakeraKey = new dLytMeterKakeraKey_c();
|
||||
mpKakeraKey->build(resAcc);
|
||||
} else {
|
||||
mpKakeraKey = nullptr;
|
||||
}
|
||||
|
||||
if (!StageManager__isAreaTypeDungeon(STAGE_MANAGER) || ScGame::currentSpawnInfo.stageName == "F100_1" ||
|
||||
ScGame::currentSpawnInfo.stageName == "F103_1") {
|
||||
if (!dStageMgr_c::GetInstance()->isAreaTypeDungeon() || dScGame_c::currentSpawnInfo.stageName == "F100_1" ||
|
||||
dScGame_c::currentSpawnInfo.stageName == "F103_1") {
|
||||
mpBossKey = nullptr;
|
||||
} else {
|
||||
mpBossKey = new dLytMeterBossKey_c();
|
||||
mpBossKey->build(resAcc);
|
||||
}
|
||||
|
||||
if (StageManager__isAreaTypeDungeon(STAGE_MANAGER) &&
|
||||
(!(ScGame::currentSpawnInfo.stageName == "F100_1") && !(ScGame::currentSpawnInfo.stageName == "F103_1")) ||
|
||||
ScGame::currentSpawnInfo.stageName == "F302" || ScGame::currentSpawnInfo.stageName == "F302") {
|
||||
if (dStageMgr_c::GetInstance()->isAreaTypeDungeon() &&
|
||||
(!(dScGame_c::currentSpawnInfo.stageName == "F100_1") && !(dScGame_c::currentSpawnInfo.stageName == "F103_1")) ||
|
||||
dScGame_c::currentSpawnInfo.stageName == "F302" || dScGame_c::currentSpawnInfo.stageName == "F302") {
|
||||
mpSmallKey = new dLytMeterSmallKey_c();
|
||||
mpSmallKey->build(resAcc);
|
||||
} else {
|
||||
mpSmallKey = nullptr;
|
||||
}
|
||||
|
||||
if (GLOBAL_TITLE_RELOADER != nullptr) {
|
||||
if (dScTitle_c::sInstance != nullptr) {
|
||||
mpDrink = nullptr;
|
||||
} else {
|
||||
mpDrink = new dLytMeterDrink_c();
|
||||
@@ -597,7 +594,7 @@ dLytMeterContainer_c::dLytMeterContainer_c() {
|
||||
bool dLytMeterContainer_c::build() {
|
||||
void *data = LayoutArcManager::sInstance->getLoadedData("DoButton");
|
||||
mResAcc.attach(data, "");
|
||||
if (GLOBAL_TITLE_RELOADER != nullptr) {
|
||||
if (dScTitle_c::sInstance != nullptr) {
|
||||
mpEventSkip = nullptr;
|
||||
} else {
|
||||
mpEventSkip = new dLytMeterEventSkip_c();
|
||||
@@ -609,7 +606,7 @@ bool dLytMeterContainer_c::build() {
|
||||
|
||||
dLytAreaCaption_c::create();
|
||||
mMeter.build(&mResAcc);
|
||||
if (GLOBAL_TITLE_RELOADER != nullptr) {
|
||||
if (dScTitle_c::sInstance != nullptr) {
|
||||
mpDoButton = nullptr;
|
||||
mpDoButtonRelated = nullptr;
|
||||
mpBirdRelated = nullptr;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include "d/t/d_t_switch.h"
|
||||
|
||||
#include "d/d_sc_game.h"
|
||||
#include "d/flag/sceneflag_manager.h"
|
||||
#include "s/s_Math.h"
|
||||
#include "toBeSorted/event.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
SPECIAL_ACTOR_PROFILE(SW_TAG, dTgSw_c, fProfile::SW_TAG, 0x24, 0, 0);
|
||||
|
||||
@@ -35,7 +35,7 @@ int dTgSw_c::create() {
|
||||
mTrigSceneFlagIdEnd += (params >> 0x1C);
|
||||
}
|
||||
|
||||
if (ScGame::isCurrentStage("D201")) {
|
||||
if (dScGame_c::isCurrentStage("D201")) {
|
||||
if (roomid == 4) {
|
||||
if (!SceneflagManager::sInstance->checkBoolFlag(roomid, 0x2F)) {
|
||||
SceneflagManager::sInstance->unsetFlag(roomid, mSetSceneFlagId);
|
||||
@@ -107,7 +107,7 @@ bool dTgSw_c::isPuzzleSolved() {
|
||||
}
|
||||
|
||||
bool dTgSw_c::isLmfBossKeyPuzzle() {
|
||||
return ScGame::isCurrentStage("D300_1") && roomid == 8 && mSetSceneFlagId == 0x1C;
|
||||
return dScGame_c::isCurrentStage("D300_1") && roomid == 8 && mSetSceneFlagId == 0x1C;
|
||||
}
|
||||
|
||||
void dTgSw_c::initializeState_OnWait() {
|
||||
|
||||
@@ -28,8 +28,8 @@ int LayoutArcManager::ensureLoaded1(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe2(object);
|
||||
}
|
||||
|
||||
void LayoutArcManager::ensureLoaded2(const char *object) {
|
||||
mArcTable.ensureLoadedMaybe(object);
|
||||
int LayoutArcManager::ensureLoaded2(const char *object) {
|
||||
return mArcTable.ensureLoadedMaybe(object);
|
||||
}
|
||||
|
||||
bool LayoutArcManager::hasEntry(const char *object) {
|
||||
|
||||
@@ -447,7 +447,7 @@ extern "C" void fn_800C01F0(); // todo flag managers
|
||||
}
|
||||
}
|
||||
}
|
||||
/* 80011370 */ bool FileManager::isFileEmpty(int fileNum) {}
|
||||
/* 80011370 */ bool FileManager::isFileEmpty(u8 fileNum) {}
|
||||
/* 80011390 */ bool FileManager::isFileDirty(int fileNum) {}
|
||||
/* 800113B0 */ u8 FileManager::get_0xA84C() {}
|
||||
/* 800113C0 */ bool FileManager::checkRegionCode() {}
|
||||
@@ -464,5 +464,5 @@ bool FileManager::isFileInactive() const {
|
||||
return false;
|
||||
}
|
||||
/* 80011500 */ void FileManager::setPlayerInfoFileA() {}
|
||||
/* 800115E0 */ void FileManager::setT3Info(mVec3_c *pos, mAng3_c *rot) {}
|
||||
/* 800115E0 */ void FileManager::setT3Info(const mVec3_c &pos, const mAng3_c &rot) {}
|
||||
/* 800116C0 */ void FileManager::getRegionVersion(char *out) {}
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
SpawnInfo ScGame::currentSpawnInfo = {};
|
||||
SpawnInfo ScGame::nextSpawnInfo = {};
|
||||
ScGame* ScGame::sInstance = nullptr;
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "toBeSorted/time_area_mgr.h"
|
||||
|
||||
#include "d/d_heap.h"
|
||||
#include "d/d_sc_game.h"
|
||||
#include "nw4r/g3d/g3d_obj.h"
|
||||
#include "toBeSorted/scgame.h"
|
||||
|
||||
dTimeAreaMgr_c::dTimeAreaMgr_c() {
|
||||
sInstance = this;
|
||||
@@ -17,7 +17,7 @@ bool dTimeAreaMgr_c::init() {
|
||||
mProcA.create(&mAllocator);
|
||||
mProcB.create(&mAllocator);
|
||||
mAllocator.adjustFrmHeap();
|
||||
mIsInLanayruMiningFacility = ScGame::isCurrentStage("D300") || ScGame::isCurrentStage("D300_1");
|
||||
mIsInLanayruMiningFacility = dScGame_c::isCurrentStage("D300") || dScGame_c::isCurrentStage("D300_1");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user