mirror of
https://github.com/zeldaret/ss
synced 2026-05-24 07:10:53 -04:00
Scaffold markers
This commit is contained in:
+64
-66
@@ -7761,15 +7761,15 @@ __ct__16dLytMapPinIcon_cFv = .text:0x80134780; // type:function size:0x134
|
||||
__dt__25dLytMapPinIconAggregate_cFv = .text:0x801348C0; // type:function size:0xCC
|
||||
__ct__16dLytMapMarkers_cFv = .text:0x80134990; // type:function size:0x464
|
||||
__dt__14dLytMapPopup_cFv = .text:0x80134E00; // type:function size:0x74
|
||||
__ct__13MapUnkStruct1Fv = .text:0x80134E80; // type:function size:0x10
|
||||
__dt__13MapUnkStruct1Fv = .text:0x80134E90; // type:function size:0x40
|
||||
__ct__13MapUnkStruct2Fv = .text:0x80134ED0; // type:function size:0x4
|
||||
__dt__13MapUnkStruct2Fv = .text:0x80134EE0; // type:function size:0x40
|
||||
__ct__13MapUnkStruct3Fv = .text:0x80134F20; // type:function size:0x10
|
||||
__dt__13MapUnkStruct3Fv = .text:0x80134F30; // type:function size:0x40
|
||||
__ct__17dLytMapPopupStateFv = .text:0x80134E80; // type:function size:0x10
|
||||
__dt__17dLytMapPopupStateFv = .text:0x80134E90; // type:function size:0x40
|
||||
__ct__24dLytMapIcon01DrawCommandFv = .text:0x80134ED0; // type:function size:0x4
|
||||
__dt__24dLytMapIcon01DrawCommandFv = .text:0x80134EE0; // type:function size:0x40
|
||||
__ct__18dLytMapPopupConfigFv = .text:0x80134F20; // type:function size:0x10
|
||||
__dt__18dLytMapPopupConfigFv = .text:0x80134F30; // type:function size:0x40
|
||||
__dt__15dLytMapIcon01_cFv = .text:0x80134F70; // type:function size:0xBC
|
||||
__ct__13MapUnkStruct4Fv = .text:0x80135030; // type:function size:0x4
|
||||
__dt__13MapUnkStruct4Fv = .text:0x80135040; // type:function size:0x40
|
||||
__ct__24dLytMapIcon00DrawCommandFv = .text:0x80135030; // type:function size:0x4
|
||||
__dt__24dLytMapIcon00DrawCommandFv = .text:0x80135040; // type:function size:0x40
|
||||
__dt__14dLytMapPlace_cFv = .text:0x80135080; // type:function size:0x74
|
||||
__dt__15dLytMapIcon00_cFv = .text:0x80135100; // type:function size:0x108
|
||||
__dt__16dLytMapMarkers_cFv = .text:0x80135210; // type:function size:0x234
|
||||
@@ -7899,12 +7899,10 @@ initializeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x80140580; /
|
||||
executeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x801405C0; // type:function size:0xF4
|
||||
finalizeState_ResetPosWithFloorChange__13dLytMapMain_cFv = .text:0x801406C0; // type:function size:0x4
|
||||
initializeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x801406D0; // type:function size:0x20
|
||||
executeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x801406F0; // type:function size:0x3C
|
||||
fn_8014072C = .text:0x8014072C; // type:function size:0x4
|
||||
executeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x801406F0; // type:function size:0x40
|
||||
finalizeState_EventSwBankSmall_Step1__13dLytMapMain_cFv = .text:0x80140730; // type:function size:0x4
|
||||
initializeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x80140740; // type:function size:0x38
|
||||
executeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x80140780; // type:function size:0x34
|
||||
fn_801407B4 = .text:0x801407B4; // type:function size:0x4
|
||||
executeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x80140780; // type:function size:0x38
|
||||
finalizeState_EventSwBankSmall_Step2__13dLytMapMain_cFv = .text:0x801407C0; // type:function size:0x4
|
||||
initializeState_EventSwBankSmall_Step3__13dLytMapMain_cFv = .text:0x801407D0; // type:function size:0x18
|
||||
executeState_EventSwBankSmall_Step3__13dLytMapMain_cFv = .text:0x801407F0; // type:function size:0x28
|
||||
@@ -9927,13 +9925,13 @@ remove__15dLytMapIcon01_cFv = .text:0x8017B030; // type:function size:0x70
|
||||
execute__15dLytMapIcon01_cFv = .text:0x8017B0A0; // type:function size:0x2B8
|
||||
draw__15dLytMapIcon01_cFv = .text:0x8017B360; // type:function size:0x704
|
||||
resetDrawCommands__15dLytMapIcon01_cFv = .text:0x8017BA70; // type:function size:0x4FC
|
||||
setMapIcons = .text:0x8017BF70; // type:function size:0x2C8
|
||||
loadFlags__15dLytMapIcon01_cFv = .text:0x8017BF70; // type:function size:0x2C8
|
||||
setLinkTunic__15dLytMapIcon01_cFl = .text:0x8017C240; // type:function size:0x98
|
||||
drawAreaLight__15dLytMapIcon01_cFlPQ34nw4r3lyt4Pane = .text:0x8017C2E0; // type:function size:0xA0
|
||||
drawCloud__15dLytMapIcon01_cFlPQ34nw4r3lyt4Pane = .text:0x8017C380; // type:function size:0xA0
|
||||
setGoddessStatue__15dLytMapIcon01_cFb = .text:0x8017C420; // type:function size:0x74
|
||||
drawSaveObj__15dLytMapIcon01_cFlPQ34nw4r3lyt4Pane = .text:0x8017C4A0; // type:function size:0xA0
|
||||
fn_8017C540 = .text:0x8017C540; // type:function size:0x1C
|
||||
setAreaLight__15dLytMapIcon01_cFUlPQ34nw4r3lyt4Pane = .text:0x8017C2E0; // type:function size:0xA0
|
||||
setCloud__15dLytMapIcon01_cFUlPQ34nw4r3lyt4Pane = .text:0x8017C380; // type:function size:0xA0
|
||||
setGoddessStatue__15dLytMapIcon01_cFUl = .text:0x8017C420; // type:function size:0x74
|
||||
setSaveObj__15dLytMapIcon01_cFUlPQ34nw4r3lyt4Pane = .text:0x8017C4A0; // type:function size:0xA0
|
||||
setTerry__15dLytMapIcon01_cFb = .text:0x8017C540; // type:function size:0x1C
|
||||
fn_8017C560 = .text:0x8017C560; // type:function size:0x80
|
||||
fn_8017C5E0 = .text:0x8017C5E0; // type:function size:0x80
|
||||
fn_8017C660 = .text:0x8017C660; // type:function size:0x80
|
||||
@@ -9954,47 +9952,47 @@ drawWithAnimOut__15dLytMapIcon01_cFUlPQ34nw4r3lyt4Panef = .text:0x8017CBF0; // t
|
||||
drawFullyIn__15dLytMapIcon01_cFUlPQ34nw4r3lyt4Pane = .text:0x8017CCB0; // type:function size:0xAC
|
||||
checkMapMode__15dLytMapIcon01_cFv = .text:0x8017CD60; // type:function size:0xAC
|
||||
setupActorDrawCommands__15dLytMapIcon01_cFv = .text:0x8017CE10; // type:function size:0x150
|
||||
fn_8017CF60 = .text:0x8017CF60; // type:function size:0xFC
|
||||
setupNpcKenseiDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017CF60; // type:function size:0xFC
|
||||
setupTboxDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017D060; // type:function size:0xF4
|
||||
setupTboxDrawCommandClosed__15dLytMapIcon01_cFP9dAcTbox_c = .text:0x8017D160; // type:function size:0x17C
|
||||
setupTboxDrawCommandOpen__15dLytMapIcon01_cFP9dAcTbox_c = .text:0x8017D2E0; // type:function size:0xB4
|
||||
setupTboxDrawCommandGoddessClosed__15dLytMapIcon01_cFP9dAcTbox_c = .text:0x8017D3A0; // type:function size:0xB4
|
||||
fn_8017D460 = .text:0x8017D460; // type:function size:0x3E4
|
||||
fn_8017D850 = .text:0x8017D850; // type:function size:0x3F4
|
||||
fn_8017DC50 = .text:0x8017DC50; // type:function size:0x398
|
||||
fn_8017DFF0 = .text:0x8017DFF0; // type:function size:0x478
|
||||
fn_8017E470 = .text:0x8017E470; // type:function size:0x2B0
|
||||
fn_8017E720 = .text:0x8017E720; // type:function size:0x190
|
||||
fn_8017E8B0 = .text:0x8017E8B0; // type:function size:0xFC
|
||||
fn_8017E9B0 = .text:0x8017E9B0; // type:function size:0xA20
|
||||
fn_8017F3D0 = .text:0x8017F3D0; // type:function size:0x110
|
||||
fn_8017F4E0 = .text:0x8017F4E0; // type:function size:0x1C0
|
||||
fn_8017F6A0 = .text:0x8017F6A0; // type:function size:0x1D8
|
||||
setupObjShutterDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017D460; // type:function size:0x3E4
|
||||
setupObjDoorDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017D850; // type:function size:0x3F4
|
||||
setupObjSaveDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017DC50; // type:function size:0x398
|
||||
setupObjLightLineDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017DFF0; // type:function size:0x478
|
||||
setupNpcBNusiDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017E470; // type:function size:0x2B0
|
||||
setupObjTerryShopDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017E720; // type:function size:0x190
|
||||
setupObjRoAtTargetDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017E8B0; // type:function size:0xFC
|
||||
setupObjD3DummyDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017E9B0; // type:function size:0xA20
|
||||
setupObjSealedDoorDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017F3D0; // type:function size:0x110
|
||||
setupObjHarpHintDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017F4E0; // type:function size:0x1C0
|
||||
setupNpcBeeDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017F6A0; // type:function size:0x1D8
|
||||
setupStageDrawCommands__15dLytMapIcon01_cFv = .text:0x8017F880; // type:function size:0xA8
|
||||
fn_8017F930 = .text:0x8017F930; // type:function size:0x268
|
||||
fn_8017FBA0 = .text:0x8017FBA0; // type:function size:0x954
|
||||
fn_80180500 = .text:0x80180500; // type:function size:0x750
|
||||
fn_80180C50 = .text:0x80180C50; // type:function size:0x1C8
|
||||
fn_80180E20 = .text:0x80180E20; // type:function size:0x134
|
||||
fn_80180F60 = .text:0x80180F60; // type:function size:0x240
|
||||
setupTgMapMarkDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x8017F930; // type:function size:0x268
|
||||
setupTgMapMarkDrawCommand1__15dLytMapIcon01_cFP12dTgMapMark_c = .text:0x8017FBA0; // type:function size:0x954
|
||||
setupTgMapMarkDrawCommand2__15dLytMapIcon01_cFP12dTgMapMark_c = .text:0x80180500; // type:function size:0x750
|
||||
setupTgMapInstDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x80180C50; // type:function size:0x1C8
|
||||
setupTgForceGetFlagDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x80180E20; // type:function size:0x134
|
||||
setupTgInsectDrawCommand__15dLytMapIcon01_cFP9dAcBase_c = .text:0x80180F60; // type:function size:0x240
|
||||
setupLinkDrawCommand__15dLytMapIcon01_cFv = .text:0x801811A0; // type:function size:0x50
|
||||
fn_801811F0 = .text:0x801811F0; // type:function size:0x14C
|
||||
fn_80181340 = .text:0x80181340; // type:function size:0x1B8
|
||||
fn_80181500 = .text:0x80181500; // type:function size:0xC8
|
||||
setupLinkDrawCommand1__15dLytMapIcon01_cFP7dAcPy_c = .text:0x801811F0; // type:function size:0x14C
|
||||
setupLinkDrawCommand2__15dLytMapIcon01_cFv = .text:0x80181340; // type:function size:0x1B8
|
||||
setupCloudBigDrawCommand__15dLytMapIcon01_cFv = .text:0x80181500; // type:function size:0xC8
|
||||
setupTriforceDrawCommands__15dLytMapIcon01_cFv = .text:0x801815D0; // type:function size:0x130
|
||||
fn_80181700 = .text:0x80181700; // type:function size:0x178
|
||||
fn_80181880 = .text:0x80181880; // type:function size:0xC4
|
||||
fn_80181950 = .text:0x80181950; // type:function size:0x30
|
||||
fn_80181980 = .text:0x80181980; // type:function size:0x64
|
||||
fn_801819F0 = .text:0x801819F0; // type:function size:0xB0
|
||||
fn_80181AA0 = .text:0x80181AA0; // type:function size:0x11C
|
||||
fn_80181BC0 = .text:0x80181BC0; // type:function size:0x78
|
||||
updateScale__15dLytMapIcon01_cFv = .text:0x80181700; // type:function size:0x178
|
||||
fn_80181880__15dLytMapIcon01_cCFPQ34nw4r3lyt4PanePQ34nw4r3lyt4PaneR7mVec2_c = .text:0x80181880; // type:function size:0xC4
|
||||
recordAnimVisState__15dLytMapIcon01_cFv = .text:0x80181950; // type:function size:0x30
|
||||
transitionAnims__15dLytMapIcon01_cFv = .text:0x80181980; // type:function size:0x64
|
||||
checkBoundingPointing__15dLytMapIcon01_cFv = .text:0x801819F0; // type:function size:0xB0
|
||||
sortPanes__15dLytMapIcon01_cFv = .text:0x80181AA0; // type:function size:0x11C
|
||||
isPointingAtBounding__15dLytMapIcon01_cCFPQ34nw4r3lyt4Pane = .text:0x80181BC0; // type:function size:0x78
|
||||
fn_80181C40__15dLytMapIcon01_cFv = .text:0x80181C40; // type:function size:0x94
|
||||
fn_80181CE0 = .text:0x80181CE0; // type:function size:0x68C
|
||||
fn_80182370 = .text:0x80182370; // type:function size:0x78
|
||||
fn_801823F0 = .text:0x801823F0; // type:function size:0x28C
|
||||
fn_80182680 = .text:0x80182680; // type:function size:0x8C8
|
||||
fn_80182F50 = .text:0x80182F50; // type:function size:0x42C
|
||||
build__15dLytMapIcon00_cFPQ23d2d10ResAccIf_c = .text:0x80181CE0; // type:function size:0x68C
|
||||
remove__15dLytMapIcon00_cFv = .text:0x80182370; // type:function size:0x78
|
||||
execute__15dLytMapIcon00_cFv = .text:0x801823F0; // type:function size:0x28C
|
||||
draw__15dLytMapIcon00_cFv = .text:0x80182680; // type:function size:0x8C8
|
||||
resetDrawCommands__15dLytMapIcon00_cFv = .text:0x80182F50; // type:function size:0x42C
|
||||
checksDungeonCompletionFlags = .text:0x80183380; // type:function size:0x1C0
|
||||
fn_80183540 = .text:0x80183540; // type:function size:0x8
|
||||
fn_80183550 = .text:0x80183550; // type:function size:0x8
|
||||
@@ -10062,15 +10060,15 @@ fn_80189530 = .text:0x80189530; // type:function size:0x80
|
||||
fn_801895B0 = .text:0x801895B0; // type:function size:0x114
|
||||
fn_801896D0 = .text:0x801896D0; // type:function size:0x78
|
||||
fn_80189750 = .text:0x80189750; // type:function size:0x74
|
||||
fn_801897D0 = .text:0x801897D0; // type:function size:0x168
|
||||
fn_80189940 = .text:0x80189940; // type:function size:0x8C
|
||||
fn_801899D0 = .text:0x801899D0; // type:function size:0xEC
|
||||
fn_80189AC0 = .text:0x80189AC0; // type:function size:0x68
|
||||
build__16dLytMapMarkers_cFPQ23d2d10ResAccIf_c = .text:0x801897D0; // type:function size:0x168
|
||||
remove__16dLytMapMarkers_cFv = .text:0x80189940; // type:function size:0x8C
|
||||
execute__16dLytMapMarkers_cFv = .text:0x801899D0; // type:function size:0xEC
|
||||
draw__16dLytMapMarkers_cFv = .text:0x80189AC0; // type:function size:0x68
|
||||
setIslandNamesOn__16dLytMapMarkers_cFb = .text:0x80189B30; // type:function size:0x50
|
||||
fn_80189B80 = .text:0x80189B80; // type:function size:0x4
|
||||
fn_80189B90 = .text:0x80189B90; // type:function size:0x27C
|
||||
fn_80189E10 = .text:0x80189E10; // type:function size:0xF4
|
||||
fn_80189F10 = .text:0x80189F10; // type:function size:0x8C
|
||||
drawPopups__16dLytMapMarkers_cFv = .text:0x80189B90; // type:function size:0x27C
|
||||
resetPopups__16dLytMapMarkers_cFv = .text:0x80189E10; // type:function size:0xF4
|
||||
loadPopups__16dLytMapMarkers_cFv = .text:0x80189F10; // type:function size:0x8C
|
||||
getPouchSlotCount__Fb = .text:0x80189FA0; // type:function size:0x6C
|
||||
isPouchItem = .text:0x8018A010; // type:function size:0x88
|
||||
isItemShield__Fl = .text:0x8018A0A0; // type:function size:0x18
|
||||
@@ -10420,11 +10418,11 @@ GoddessChestsOpenedCounter__getMaxGoddessChests = .text:0x80194820; // type:func
|
||||
GoddessChestsOpenedCounter__init = .text:0x80194830; // type:function size:0x3C
|
||||
angleToRotate = .text:0x80194870; // type:function size:0x194
|
||||
fn_80194A10 = .text:0x80194A10; // type:function size:0xC
|
||||
fn_80194A20 = .text:0x80194A20; // type:function size:0xC
|
||||
fn_80194A30 = .text:0x80194A30; // type:function size:0x24
|
||||
getStatueType__10dAcOSave_cCFv = .text:0x80194A20; // type:function size:0xC
|
||||
getStatueNameId__10dAcOSave_cCFv = .text:0x80194A30; // type:function size:0x24
|
||||
fn_80194A60 = .text:0x80194A60; // type:function size:0x2C
|
||||
fn_80194A90 = .text:0x80194A90; // type:function size:0x58
|
||||
fn_80194AF0 = .text:0x80194AF0; // type:function size:0x28
|
||||
checkStatueFlag__10dAcOSave_cCFv = .text:0x80194AF0; // type:function size:0x28
|
||||
fn_80194B20 = .text:0x80194B20; // type:function size:0x8
|
||||
fn_80194B30 = .text:0x80194B30; // type:function size:0x44
|
||||
fn_80194B80 = .text:0x80194B80; // type:function size:0x8
|
||||
@@ -13507,7 +13505,7 @@ AcItem__isLifeTreeFruit = .text:0x80251060; // type:function size:0x8
|
||||
AcItem__isItemAnyRupee = .text:0x80251070; // type:function size:0x34
|
||||
AcItem__isItemAnyTear = .text:0x802510B0; // type:function size:0x8
|
||||
AcItem__isBombRefill = .text:0x802510C0; // type:function size:0x8
|
||||
AcItem__isAnyTriforce = .text:0x802510D0; // type:function size:0x8
|
||||
isTriforce__9dAcItem_cCFv = .text:0x802510D0; // type:function size:0x8
|
||||
fn_802510E0 = .text:0x802510E0; // type:function size:0x44
|
||||
fn_80251130 = .text:0x80251130; // type:function size:0x44
|
||||
fn_80251180 = .text:0x80251180; // type:function size:0x44
|
||||
@@ -33865,7 +33863,7 @@ __vt__29sFState_c<16dLytMapPinIcon_c> = .data:0x80520B38; // type:object size:0x
|
||||
lbl_80520B50 = .data:0x80520B50; // type:object size:0xC
|
||||
lbl_80520B5C = .data:0x80520B5C; // type:object size:0xC
|
||||
lbl_80520B68 = .data:0x80520B68; // type:object size:0xC
|
||||
lbl_80520B74 = .data:0x80520B74; // type:object size:0xC
|
||||
__vt__14dLytMapPlace_c = .data:0x80520B74; // type:object size:0xC
|
||||
__vt__14dLytMapPopup_c = .data:0x80520B80; // type:object size:0xC
|
||||
__vt__16dLytMapCapture_c = .data:0x80520B8C; // type:object size:0xC
|
||||
__vt__55sFStateMgr_c<16dLytMapCapture_c,20sStateMethodUsr_FI_c> = .data:0x80520B98; // type:object size:0x30
|
||||
@@ -35352,7 +35350,7 @@ lbl_8052A6D0 = .data:0x8052A6D0; // type:object size:0x88
|
||||
jumptable_8052A758 = .data:0x8052A758; // type:object size:0xA4 scope:local
|
||||
lbl_8052A7FC = .data:0x8052A7FC; // type:object size:0xC
|
||||
lbl_8052A808 = .data:0x8052A808; // type:object size:0x18
|
||||
lbl_8052A820 = .data:0x8052A820; // type:object size:0x20
|
||||
__vt__16dLytMapMarkers_c = .data:0x8052A820; // type:object size:0x20
|
||||
__vt__15dLytMapIcon00_c = .data:0x8052A840; // type:object size:0x20
|
||||
__vt__15dLytMapIcon01_c = .data:0x8052A860; // type:object size:0x20
|
||||
lbl_8052A880 = .data:0x8052A880; // type:object size:0x10
|
||||
@@ -40125,8 +40123,8 @@ lbl_80572838 = .sdata:0x80572838; // type:object size:0x8
|
||||
lbl_80572840 = .sdata:0x80572840; // type:object size:0x8
|
||||
lbl_80572848 = .sdata:0x80572848; // type:object size:0x8
|
||||
lbl_80572850 = .sdata:0x80572850; // type:object size:0x4
|
||||
lbl_80572854 = .sdata:0x80572854; // type:object size:0x8
|
||||
lbl_8057285C = .sdata:0x8057285C; // type:object size:0xC
|
||||
lbl_80572854 = .sdata:0x80572854; // type:object size:0x7 data:string
|
||||
lbl_8057285C = .sdata:0x8057285C; // type:object size:0x7 data:string
|
||||
@LOCAL@build__10dLytNote_cFPQ23d2d10ResAccIf_c@sPaneName = .sdata:0x80572868; // type:object size:0x4 scope:local data:4byte
|
||||
@8144 = .sdata:0x80572870; // type:object size:0x1 scope:local data:string
|
||||
@24731 = .sdata:0x80572878; // type:object size:0x1 scope:local
|
||||
|
||||
@@ -79,6 +79,7 @@ public:
|
||||
static bool isRupee(ITEM_ID item);
|
||||
static bool isKeyPiece(ITEM_ID item);
|
||||
static bool isTreasure(ITEM_ID item);
|
||||
bool isTriforce() const;
|
||||
|
||||
static bool getItemGetEventName(u16 item, const char **outName);
|
||||
static void itemGetEventStart(dAcBase_c *);
|
||||
|
||||
@@ -17,6 +17,16 @@ public:
|
||||
STATE_FUNC_DECLARE(dAcOSave_c, LightShaft);
|
||||
STATE_FUNC_DECLARE(dAcOSave_c, Escape);
|
||||
|
||||
bool checkStatueFlag() const;
|
||||
u32 getStatueType() const;
|
||||
u32 getStatueNameId() const;
|
||||
|
||||
enum StatueType {
|
||||
TYPE_NORMAL = 0,
|
||||
TYPE_OVERWORLD = 1,
|
||||
TYPE_DUNGEON = 2,
|
||||
};
|
||||
|
||||
private:
|
||||
/* 0x??? */ STATE_MGR_DECLARE(dAcOSave_c);
|
||||
};
|
||||
|
||||
@@ -247,17 +247,17 @@ enum StoryFlags_e {
|
||||
/** [Faron light pillar]
|
||||
* Story Flag #46 (0x002E) - JP 805ACD67 0x80 / US 805A9AE7 0x80
|
||||
*/
|
||||
STORYFLAG_46,
|
||||
STORYFLAG_FARON_PILLAR_OPENED,
|
||||
|
||||
/** [Eldin light pillar]
|
||||
* Story Flag #47 (0x002F) - JP 805ACD66 0x01 / US 805A9AE6 0x01
|
||||
*/
|
||||
STORYFLAG_47,
|
||||
STORYFLAG_ELDIN_PILLAR_OPENED,
|
||||
|
||||
/** [Lanayru light pillar (Eldin Volcano, Digging Mitts Cave, FS Entrance, Volcano Summit Waterfall layer 2 /
|
||||
* Lanayru Mines layer 1 / Temple of Time layer 1)] Story Flag #48 (0x0030) - JP 805ACD66 0x02 / US 805A9AE6 0x02
|
||||
*/
|
||||
STORYFLAG_48,
|
||||
STORYFLAG_LANAYRU_PILLAR_OPENED,
|
||||
|
||||
/** [Talk to Headmaster to learn about Windmills]
|
||||
* Story Flag #49 (0x0031) - JP 805ACD66 0x04 / US 805A9AE6 0x04
|
||||
@@ -703,7 +703,7 @@ enum StoryFlags_e {
|
||||
* Screen) (Faron Woods, Deep Woods, Inside Great Tree layer 1)] Story Flag #137 (0x0089) - JP 805ACD64 0x80 / US
|
||||
* 805A9AE4 0x80
|
||||
*/
|
||||
STORYFLAG_137,
|
||||
STORYFLAG_FARON_DISCOVERED,
|
||||
|
||||
/** [Cutscene near sealed temple entrance first time in sealed grounds (Sealed Temple layer 1)]
|
||||
* Story Flag #138 (0x008A) - JP 805ACD67 0x01 / US 805A9AE7 0x01
|
||||
@@ -928,7 +928,7 @@ enum StoryFlags_e {
|
||||
/** [Eldin Volcano Introductory Cutscene (Eldin Layer 1 only) (if set it activates Statue select screen on entering
|
||||
* Eldin Pillar)] Story Flag #182 (0x00B6) - JP 805ACD66 0x20 / US 805A9AE6 0x20
|
||||
*/
|
||||
STORYFLAG_182,
|
||||
STORYFLAG_ELDIN_DISCOVERED,
|
||||
|
||||
/** [Earth Temple Introductory Cutscene]
|
||||
* Story Flag #183 (0x00B7) - JP 805ACD66 0x40 / US 805A9AE6 0x40
|
||||
@@ -968,7 +968,7 @@ enum StoryFlags_e {
|
||||
/** [Lanayru Mines Introductory Cutscene (Lanayru Desert layer 1)]
|
||||
* Story Flag #190 (0x00BE) - JP 805ACD6D 0x80 / US 805A9AED 0x80
|
||||
*/
|
||||
STORYFLAG_190,
|
||||
STORYFLAG_LANAYRU_DISCOVERED,
|
||||
|
||||
/** [(not implemented yet -- 7F62)]
|
||||
* Story Flag #191 (0x00BF) - JP from 805ACE57 0x40 to 805ACE56 0x01 / US from 805A9BD7 0x40 to 805A9BD6 0x01
|
||||
@@ -1425,7 +1425,7 @@ enum StoryFlags_e {
|
||||
/** [Land on Fun Fun Island for first time (name on map appears)]
|
||||
* Story Flag #281 (0x0119) - JP 805ACD7B 0x08 / US 805A9AFB 0x08
|
||||
*/
|
||||
STORYFLAG_281,
|
||||
STORYFLAG_FUN_FUN_ISLAND_DISCOVERED,
|
||||
|
||||
/** [Land on Lumpy Pumpkin Island for first time (name on map appears)]
|
||||
* Story Flag #282 (0x011A) - JP 805ACD7B 0x10 / US 805A9AFB 0x10
|
||||
@@ -1435,7 +1435,7 @@ enum StoryFlags_e {
|
||||
/** [Talk to Beedle on his island for first time (name on map appears)]
|
||||
* Story Flag #283 (0x011B) - JP 805ACD7B 0x20 / US 805A9AFB 0x20
|
||||
*/
|
||||
STORYFLAG_283,
|
||||
STORYFLAG_BEEDLE_ISLAND_DISCOVERED,
|
||||
|
||||
/** [Land on Bamboo Island for first time (name on map appears)]
|
||||
* Story Flag #284 (0x011C) - JP 805ACD7B 0x40 / US 805A9AFB 0x40
|
||||
@@ -1450,7 +1450,7 @@ enum StoryFlags_e {
|
||||
/** [Talk to Strich at Bug Heaven for first time (name on map appears)]
|
||||
* Story Flag #286 (0x011E) - JP 805ACD7A 0x01 / US 805A9AFA 0x01
|
||||
*/
|
||||
STORYFLAG_286,
|
||||
STORYFLAG_BUG_HAVEN_DISCOVERED,
|
||||
|
||||
/** []
|
||||
* Story Flag #287 (0x011F) - JP 805ACD7A 0x02 / US 805A9AFA 0x02
|
||||
@@ -1460,7 +1460,7 @@ enum StoryFlags_e {
|
||||
/** [Bilocyte fight triggered]
|
||||
* Story Flag #288 (0x0120) - JP 805ACD7A 0x04 / US 805A9AFA 0x04
|
||||
*/
|
||||
STORYFLAG_288,
|
||||
STORYFLAG_BILOCYCTE_FIGHT_TRIGGERED,
|
||||
|
||||
/** [Owlan's wooden shield]
|
||||
* Story Flag #289 (0x0121) - JP 805ACD7A 0x08 / US 805A9AFA 0x08
|
||||
@@ -1917,7 +1917,7 @@ enum StoryFlags_e {
|
||||
/** [Thunderhead entered for first time]
|
||||
* Story Flag #379 (0x017B) - JP 805ACD85 0x02 / US 805A9B05 0x02
|
||||
*/
|
||||
STORYFLAG_379,
|
||||
STORYFLAG_THUNDERHEAD_ENTERED,
|
||||
|
||||
/** [Parrow gives his Crystal Sidequest (to find Orielle)]
|
||||
* Story Flag #380 (0x017C) - JP 805ACD8A 0x40 / US 805A9B0A 0x40
|
||||
@@ -3568,7 +3568,7 @@ enum StoryFlags_e {
|
||||
/** [Enter Beedle's Shop for first time]
|
||||
* Story Flag #709 (0x02C5) - JP 805ACDA2 0x80 / US 805A9B22 0x80
|
||||
*/
|
||||
STORYFLAG_709,
|
||||
STORYFLAG_BEEDLE_SHOP_ENTERED,
|
||||
|
||||
/** [Sets after Treasure dowsing]
|
||||
* Story Flag #710 (0x02C6) - JP 805ACDA5 0x01 / US 805A9B25 0x01
|
||||
|
||||
@@ -596,11 +596,7 @@ private:
|
||||
/* 0x0FA0 */ dLytMapFloorBtnMgr_c mFloorBtnMgr;
|
||||
/* 0x16B4 */ dLytMapPinIconAggregate_c mPinIconAggregate;
|
||||
/* 0x2060 */ dLytMapMarkers_c mMarkers;
|
||||
|
||||
/* 0x5F54 */ u8 _0x5F54[0x64C0 - 0x5F54];
|
||||
|
||||
/* 0x64C0 */ dLytMapFootPrints_c mFootPrints;
|
||||
|
||||
/* 0x6664 */ dLytMapPutIcon_c mPutIcon;
|
||||
/* 0x6704 */ dLytMapSaveObj_c mSaveObjs[12];
|
||||
/* 0x79C4 */ dLytMapSaveCaption_c mSaveCaption;
|
||||
@@ -674,7 +670,12 @@ private:
|
||||
/* 0x8CAC */ u8 field_0x8CAC;
|
||||
/* 0x8CAD */ u8 field_0x8CAD;
|
||||
|
||||
/* 0x8CAE */ u8 _0x8CAE[0x8CBC - 0x8CAE];
|
||||
/* 0x8CAE */ u8 _0x8CAE[0x8CB0 - 0x8CAE];
|
||||
|
||||
/* 0x8CB0 */ u32 field_0x8CB0;
|
||||
/* 0x8CB4 */ UNKWORD field_0x8CB4;
|
||||
|
||||
/* 0x8CB8 */ u8 _0x8CB8[0x8CBC - 0x8CB8];
|
||||
|
||||
/* 0x8CBC */ nw4r::lyt::Bounding *mpMapBounding;
|
||||
/* 0x8CC0 */ bool field_0x8CC0;
|
||||
|
||||
@@ -116,6 +116,26 @@ public:
|
||||
mFloor = floor;
|
||||
}
|
||||
|
||||
u8 getField_0x4C() const {
|
||||
return field_0x4C;
|
||||
}
|
||||
|
||||
u8 getField_0x4D() const {
|
||||
return field_0x4D;
|
||||
}
|
||||
|
||||
u8 getField_0x4F() const {
|
||||
return field_0x4F;
|
||||
}
|
||||
|
||||
UNKWORD getField_0x50() const {
|
||||
return field_0x50;
|
||||
}
|
||||
|
||||
u8 getField_0x54() const {
|
||||
return field_0x54;
|
||||
}
|
||||
|
||||
void projectOntoMap(mVec2_c &result, const mVec3_c &position) const;
|
||||
void unprojectFromMap(mVec3_c &result, const mVec2_c &position) const;
|
||||
void unprojectFromMap(mVec3_c &result, const mVec2_c &position, const mAng &rot) const;
|
||||
|
||||
@@ -13,14 +13,21 @@
|
||||
|
||||
class dAcBase_c;
|
||||
class dAcTbox_c;
|
||||
class dAcPy_c;
|
||||
class dTgMapMark_c;
|
||||
|
||||
// Size: 0x1C
|
||||
struct MapUnkStruct1 {
|
||||
struct dLytMapPopupState {
|
||||
public:
|
||||
MapUnkStruct1() {}
|
||||
~MapUnkStruct1() {}
|
||||
dLytMapPopupState() : textPos(0.0f, 0.0f) {}
|
||||
~dLytMapPopupState() {}
|
||||
|
||||
/* 0x00 */ u8 _0x00[0x1C];
|
||||
/* 0x00 */ f32 inAnimFrame;
|
||||
/* 0x04 */ mVec2_c textPos;
|
||||
/* 0x0C */ mVec2_c boundingPos;
|
||||
/* 0x14 */ bool visible;
|
||||
/* 0x15 */ u8 objId;
|
||||
/* 0x18 */ const char *labelPrefix;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -44,32 +51,34 @@ public:
|
||||
};
|
||||
|
||||
// Size: 0x20
|
||||
struct MapUnkStruct3 {
|
||||
struct dLytMapPopupConfig {
|
||||
public:
|
||||
MapUnkStruct3() {}
|
||||
~MapUnkStruct3() {}
|
||||
dLytMapPopupConfig() : textPos(0.0f, 0.0f) {}
|
||||
~dLytMapPopupConfig() {}
|
||||
|
||||
/* 0x00 */ UNKWORD field_0x00;
|
||||
/* 0x00 */ s32 cmdIdx;
|
||||
/* 0x04 */ nw4r::lyt::Bounding *bounding;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0C;
|
||||
/* 0x10 */ mVec2_c field_0x10;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
/* 0x1C */ const char *field_0x1C;
|
||||
/* 0x08 */ mVec2_c textPos;
|
||||
/* 0x10 */ mVec2_c boundingPos;
|
||||
/* 0x18 */ bool pointedAt;
|
||||
/* 0x19 */ u8 objId;
|
||||
/* 0x1C */ const char *labelPrefix;
|
||||
};
|
||||
|
||||
// Size: 0xC
|
||||
struct MapUnkStruct4 {
|
||||
/**
|
||||
* Copy of dLytMapIcon01DrawCommand
|
||||
*
|
||||
* Size: 0xC
|
||||
*/
|
||||
struct dLytMapIcon00DrawCommand {
|
||||
public:
|
||||
MapUnkStruct4() {}
|
||||
~MapUnkStruct4() {}
|
||||
dLytMapIcon00DrawCommand() {}
|
||||
~dLytMapIcon00DrawCommand() {}
|
||||
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ f32 field_0x04;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x0A */ u8 field_0x0A;
|
||||
/* 0x0B */ u8 field_0x0B;
|
||||
/* 0x00 */ mVec2_c position;
|
||||
/* 0x08 */ mAng rotation;
|
||||
/* 0x0A */ u8 paneIdx;
|
||||
/* 0x0B */ u8 passIdx;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -82,19 +91,25 @@ struct dLytMapIconAnimState {
|
||||
public:
|
||||
// no ctor/dtor
|
||||
|
||||
/* 0x00 */ UNKWORD cmdIndex;
|
||||
/* 0x00 */ s32 cmdIndex;
|
||||
/* 0x04 */ f32 frame;
|
||||
/* 0x08 */ u8 animIn;
|
||||
/* 0x09 */ u8 animOut;
|
||||
/* 0x0A */ u8 idleVisible;
|
||||
/* 0x0B */ u8 field_0x0B;
|
||||
/* 0x0C */ bool visible;
|
||||
/* 0x08 */ bool animIn;
|
||||
/* 0x09 */ bool animOut;
|
||||
/* 0x0A */ bool visible;
|
||||
/* 0x0B */ bool prevVisible;
|
||||
/* 0x0C */ bool render;
|
||||
};
|
||||
|
||||
/** 2D UI - Map - Popup text that appears when pointing at certain points of interest */
|
||||
class dLytMapPopup_c {
|
||||
public:
|
||||
dLytMapPopup_c() : mLabel("MAP_00") {}
|
||||
dLytMapPopup_c()
|
||||
: mLabel("MAP_00"),
|
||||
mModeCheckResult(MODE_MAX),
|
||||
field_0x178(0),
|
||||
mMaxScale(0.0f),
|
||||
field_0x180(0),
|
||||
field_0x184(0) {}
|
||||
virtual ~dLytMapPopup_c() {}
|
||||
|
||||
bool build(d2d::ResAccIf_c *resAcc);
|
||||
@@ -103,18 +118,27 @@ public:
|
||||
void draw();
|
||||
|
||||
void setLabel(const char *label);
|
||||
void realizeText();
|
||||
void setInout(f32 value);
|
||||
f32 getTextRenderWidth() const;
|
||||
|
||||
f32 getInAnimDuration() const {
|
||||
return mAnm[1].getLastFrame();
|
||||
}
|
||||
|
||||
void setPosition(const mVec2_c &pos) {
|
||||
mPosition = pos;
|
||||
}
|
||||
|
||||
private:
|
||||
enum ModeCheck_e {
|
||||
MODE_TRANSITION_TO_ZOOM = 2,
|
||||
MODE_TRANSITION_TO_STAGE = 3,
|
||||
MODE_STABLE_STAGE = 4,
|
||||
MODE_STABLE_ZOOM = 5,
|
||||
MODE_MAX = 6,
|
||||
};
|
||||
|
||||
void realizeText();
|
||||
void setInitialState();
|
||||
|
||||
void checkMapMode();
|
||||
@@ -132,12 +156,14 @@ private:
|
||||
/* 0x178 */ u8 field_0x178;
|
||||
/* 0x17C */ f32 mMaxScale;
|
||||
/* 0x180 */ UNKWORD field_0x180;
|
||||
/* 0x184 */ UNKWORD field_0x184;
|
||||
};
|
||||
|
||||
/** 2D UI - Map - Text holding area names (on the world/province view, or exits on the stage view) */
|
||||
class dLytMapPlace_c {
|
||||
public:
|
||||
dLytMapPlace_c() {}
|
||||
dLytMapPlace_c()
|
||||
: mLabel("MAP_02"), mModeCheckResult(MODE_MAX), field_0x1C0(0.0f), field_0x1C4(0.0f), mMaxScale(0.0f) {}
|
||||
virtual ~dLytMapPlace_c() {}
|
||||
|
||||
bool build(d2d::ResAccIf_c *resAcc);
|
||||
@@ -157,6 +183,7 @@ private:
|
||||
MODE_TRANSITION_TO_STAGE = 3,
|
||||
MODE_STABLE_STAGE = 4,
|
||||
MODE_STABLE_ZOOM = 5,
|
||||
MODE_MAX = 6,
|
||||
};
|
||||
|
||||
void realizeText();
|
||||
@@ -181,27 +208,25 @@ private:
|
||||
/* 0x1D8 */ f32 mMaxScale;
|
||||
};
|
||||
|
||||
class dLytMapIcon00_c : public m2d::Base_c {
|
||||
public:
|
||||
dLytMapIcon00_c() {}
|
||||
|
||||
private:
|
||||
/* 0x0104 */ d2d::LytBase_c mLyt;
|
||||
/* 0x0194 */ d2d::AnmGroup_c mAnm[29];
|
||||
/* 0x0970 */ dCursorHitCheckLyt_c mCsHitCheck;
|
||||
/* 0x0998 */ MapUnkStruct4 mUnk4[100];
|
||||
/* 0x0E5B */ u8 field_0x0E5B[100];
|
||||
/* 0x0F20 */ u8 field_0x0F20[100];
|
||||
/* 0x0F84 */ mVec3_c field_0x0F84[77];
|
||||
/* 0x1342 */ u8 field_0x1342[100];
|
||||
/* 0x13A8 */ u8 field_0x13A8[100];
|
||||
/* 0x1410 */ MapUnkStruct3 mUnk3[30];
|
||||
/* 0x1D70 */ dLytMapPlace_c mPlace;
|
||||
};
|
||||
|
||||
class dLytMapIcon01_c : public m2d::Base_c {
|
||||
friend class dLytMapMarkers_c;
|
||||
|
||||
public:
|
||||
dLytMapIcon01_c() {}
|
||||
dLytMapIcon01_c()
|
||||
: field_0x000D(0),
|
||||
mShowIslandNames(false),
|
||||
mModeCheckResult(MODE_MAX),
|
||||
field_0x0C70(0),
|
||||
field_0x0C83(0),
|
||||
field_0x0C84(0),
|
||||
field_0x1838(0.0f),
|
||||
field_0x183C(0.0f),
|
||||
field_0x1840(0.0f),
|
||||
field_0x1844(false),
|
||||
field_0x1845(0),
|
||||
field_0x1848(0),
|
||||
field_0x184C(false),
|
||||
field_0x184D(false) {}
|
||||
virtual void draw() override;
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc);
|
||||
virtual bool remove();
|
||||
@@ -214,36 +239,69 @@ private:
|
||||
MODE_TRANSITION_TO_STAGE = 3,
|
||||
MODE_STABLE_STAGE = 4,
|
||||
MODE_STABLE_ZOOM = 5,
|
||||
MODE_MAX = 6,
|
||||
};
|
||||
|
||||
void setupActorDrawCommands();
|
||||
void setupStageDrawCommands();
|
||||
void setupLinkDrawCommand();
|
||||
void setupLinkDrawCommand1(dAcPy_c *ac);
|
||||
void setupLinkDrawCommand2();
|
||||
void setupCloudBigDrawCommand();
|
||||
void setupTriforceDrawCommands();
|
||||
void setupUnkDrawCommand();
|
||||
|
||||
void sortDrawCommands();
|
||||
void sortPanes();
|
||||
|
||||
void setupTboxDrawCommand(dAcBase_c *actor);
|
||||
void setupTboxDrawCommandGoddessClosed(dAcTbox_c *box);
|
||||
void setupTboxDrawCommandOpen(dAcTbox_c *box);
|
||||
void setupTboxDrawCommandClosed(dAcTbox_c *box);
|
||||
void setupNpcKenseiDrawCommand(dAcBase_c *actor);
|
||||
void setupObjShutterDrawCommand(dAcBase_c *actor);
|
||||
void setupObjDoorDrawCommand(dAcBase_c *actor);
|
||||
void setupObjSaveDrawCommand(dAcBase_c *actor);
|
||||
void setupObjLightLineDrawCommand(dAcBase_c *actor);
|
||||
void setupNpcBNusiDrawCommand(dAcBase_c *actor);
|
||||
void setupObjTerryShopDrawCommand(dAcBase_c *actor);
|
||||
void setupObjRoAtTargetDrawCommand(dAcBase_c *actor);
|
||||
void setupObjD3DummyDrawCommand(dAcBase_c *actor);
|
||||
void setupObjSealedDoorDrawCommand(dAcBase_c *actor);
|
||||
void setupObjHarpHintDrawCommand(dAcBase_c *actor);
|
||||
void setupNpcBeeDrawCommand(dAcBase_c *actor);
|
||||
|
||||
void setupTgMapMarkDrawCommand(dAcBase_c *actor);
|
||||
void setupTgMapMarkDrawCommand1(dTgMapMark_c *actor);
|
||||
void setupTgMapMarkDrawCommand2(dTgMapMark_c *actor);
|
||||
void setupTgMapInstDrawCommand(dAcBase_c *actor);
|
||||
void setupTgForceGetFlagDrawCommand(dAcBase_c *actor);
|
||||
void setupTgInsectDrawCommand(dAcBase_c *actor);
|
||||
|
||||
void setLinkTunic(s32 type);
|
||||
void setGoddessStatue(bool present);
|
||||
void setGoddessStatue(u32 present);
|
||||
void setTerry(bool present);
|
||||
void drawAreaLight(s32 color, nw4r::lyt::Pane *pane);
|
||||
void drawSaveObj(s32 color, nw4r::lyt::Pane *pane);
|
||||
void drawCloud(s32 alpha, nw4r::lyt::Pane *pane);
|
||||
void setAreaLight(u32 color, nw4r::lyt::Pane *pane);
|
||||
void setCloud(u32 alpha, nw4r::lyt::Pane *pane);
|
||||
void setSaveObj(u32 color, nw4r::lyt::Pane *pane);
|
||||
|
||||
void drawWithAnimIn(u32 paneIdx, nw4r::lyt::Pane *pane, f32 frame);
|
||||
void drawWithAnimOut(u32 paneIdx, nw4r::lyt::Pane *pane, f32 frame);
|
||||
void drawFullyIn(u32 paneIdx, nw4r::lyt::Pane *pane);
|
||||
|
||||
void fn_80181C40();
|
||||
|
||||
void fn_80181880(nw4r::lyt::Pane *, nw4r::lyt::Pane *, mVec2_c &) const;
|
||||
|
||||
void checkMapMode();
|
||||
void loadFlags();
|
||||
void updateScale();
|
||||
|
||||
void recordAnimVisState();
|
||||
void transitionAnims();
|
||||
void checkBoundingPointing();
|
||||
bool isPointingAtBounding(nw4r::lyt::Pane *pane) const;
|
||||
|
||||
/* 0x000D */ u8 field_0x000D;
|
||||
/* 0x000E */ bool mShowIslandNames;
|
||||
/* 0x0010 */ nw4r::lyt::Bounding *mpBoundings[59];
|
||||
/* 0x00FC */ nw4r::lyt::Pane *mpSpecialPanes[27];
|
||||
/* 0x0168 */ nw4r::lyt::Pane *mpSpecialPictures[27];
|
||||
@@ -256,28 +314,27 @@ private:
|
||||
/* 0x07BC */ dLytMapIcon01DrawCommand mCommands[100];
|
||||
/* 0x0C6C */ s32 mModeCheckResult;
|
||||
/* 0x0C70 */ s32 field_0x0C70;
|
||||
|
||||
/* 0x0C74 */ u8 field_0x0C74;
|
||||
/* 0x0C75 */ u8 field_0x0C75;
|
||||
/* 0x0C76 */ u8 field_0x0C76;
|
||||
/* 0x0C77 */ u8 field_0x0C77;
|
||||
/* 0x0C78 */ u8 field_0x0C78;
|
||||
/* 0x0C79 */ u8 field_0x0C79;
|
||||
/* 0x0C7A */ u8 field_0x0C7A;
|
||||
/* 0x0C7B */ u8 field_0x0C7B;
|
||||
/* 0x0C7C */ u8 field_0x0C7C;
|
||||
/* 0x0C7D */ u8 field_0x0C7D;
|
||||
/* 0x0C7E */ u8 field_0x0C7E;
|
||||
/* 0x0C7F */ u8 field_0x0C7F;
|
||||
/* 0x0C80 */ u8 field_0x0C80;
|
||||
/* 0x0C81 */ u8 field_0x0C81;
|
||||
/* 0x0C82 */ u8 field_0x0C82;
|
||||
/* 0x0C74 */ bool mFunFunIslandDiscovered;
|
||||
/* 0x0C75 */ bool mLumpyPumkpinDiscovered;
|
||||
/* 0x0C76 */ bool mBeedleIslandDiscovered;
|
||||
/* 0x0C77 */ bool mBambooIslandDiscovered;
|
||||
/* 0x0C78 */ bool mIsleOfSongsDiscovered;
|
||||
/* 0x0C79 */ bool mBugHavenDiscovered;
|
||||
/* 0x0C7A */ bool mBilocyteFightTriggered;
|
||||
/* 0x0C7B */ bool mFaronPillarOpened;
|
||||
/* 0x0C7C */ bool mFaronDiscovered;
|
||||
/* 0x0C7D */ bool mEldinPillarOpened;
|
||||
/* 0x0C7E */ bool mEldinDiscovered;
|
||||
/* 0x0C7F */ bool mLanayruPillarOpened;
|
||||
/* 0x0C80 */ bool mLanaryuDiscovered;
|
||||
/* 0x0C81 */ bool mThunderheadEntered;
|
||||
/* 0x0C82 */ bool mBeedleShopEntered;
|
||||
/* 0x0C83 */ u8 field_0x0C83;
|
||||
/* 0x0C84 */ u8 field_0x0C84;
|
||||
/* 0x0C85 */ u8 field_0x0C85[100];
|
||||
/* 0x0CE9 */ u8 mPassIdxes[35];
|
||||
/* 0x0D0C */ s32 field_0xD0C;
|
||||
/* 0x0D10 */ s32 field_0xD10;
|
||||
/* 0x0D0C */ s32 mCurrentFloor;
|
||||
/* 0x0D10 */ s32 mLastFloor;
|
||||
/* 0x0D14 */ u8 mNumCommandsPerPass[35];
|
||||
/* 0x0D37 */ u8 mNumCommands;
|
||||
|
||||
@@ -296,41 +353,149 @@ private:
|
||||
/* 0x0DAF */ u8 _0x0DAF[0x0E13 - 0x0DAF];
|
||||
|
||||
/* 0x0E13 */ u8 field_0x0E13;
|
||||
/* 0x0E14 */ MapUnkStruct3 mUnk3[56];
|
||||
/* 0x0E14 */ dLytMapPopupConfig mPopupConfigs[56];
|
||||
/* 0x1514 */ dLytMapIconAnimState mIconAnims[50];
|
||||
/* 0x1834 */ s32 mNumAnims;
|
||||
/* 0x1838 */ f32 field_0x1838;
|
||||
/* 0x183C */ f32 field_0x183C;
|
||||
|
||||
/* 0x1840 */ u8 _0x183C[0x1845 - 0x1840];
|
||||
|
||||
/* 0x1840 */ f32 field_0x1840;
|
||||
/* 0x1844 */ bool field_0x1844;
|
||||
/* 0x1845 */ u8 field_0x1845;
|
||||
|
||||
/* 0x1846 */ u8 _0x1846[0x184C - 0x1846];
|
||||
/* 0x1848 */ UNKWORD field_0x1848;
|
||||
|
||||
/* 0x184C */ bool field_0x184C;
|
||||
/* 0x184D */ bool field_0x184D;
|
||||
};
|
||||
|
||||
class dLytMapIcon00_c : public m2d::Base_c {
|
||||
public:
|
||||
dLytMapIcon00_c()
|
||||
: mModeCheckResult(MODE_MAX),
|
||||
field_0x0E4C(0),
|
||||
field_0x0E59(0),
|
||||
field_0x0E5A(0),
|
||||
field_0x13A6(0),
|
||||
field_0x13A7(0),
|
||||
field_0x1CD0(0.0f, 0.0f, 0.0f),
|
||||
field_0x1CDC(0),
|
||||
field_0x1CDD(0),
|
||||
field_0x1CDE(0),
|
||||
field_0x1CE0(0),
|
||||
field_0x1CE4(0),
|
||||
field_0x1CE5(0),
|
||||
field_0x1CE6(0),
|
||||
field_0x1CE7(0) {}
|
||||
|
||||
virtual void draw() override;
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc);
|
||||
virtual bool remove();
|
||||
virtual bool execute();
|
||||
virtual void resetDrawCommands();
|
||||
|
||||
private:
|
||||
enum ModeCheck_e {
|
||||
MODE_TRANSITION_TO_ZOOM = 2,
|
||||
MODE_TRANSITION_TO_STAGE = 3,
|
||||
MODE_STABLE_STAGE = 4,
|
||||
MODE_STABLE_ZOOM = 5,
|
||||
MODE_MAX = 6,
|
||||
};
|
||||
|
||||
void fn_80189750();
|
||||
|
||||
/* 0x0010 */ u8 _0x0010[0x0104 - 0x0010];
|
||||
|
||||
/* 0x0104 */ d2d::LytBase_c mLyt;
|
||||
/* 0x0194 */ d2d::AnmGroup_c mAnm[29];
|
||||
|
||||
/* 0x08D4 */ u8 _0x08D4[0x0970 - 0x08D4];
|
||||
|
||||
/* 0x0970 */ dCursorHitCheckLyt_c mCsHitCheck;
|
||||
/* 0x0998 */ dLytMapIcon00DrawCommand mCommands[100];
|
||||
/* 0x0E48 */ s32 mModeCheckResult;
|
||||
/* 0x0E4C */ UNKWORD field_0x0E4C;
|
||||
/* 0x0E50 */ u8 field_0x0E50;
|
||||
/* 0x0E51 */ u8 field_0x0E51;
|
||||
/* 0x0E52 */ u8 field_0x0E52;
|
||||
/* 0x0E53 */ u8 field_0x0E53;
|
||||
/* 0x0E54 */ u8 field_0x0E54;
|
||||
/* 0x0E55 */ u8 field_0x0E55;
|
||||
/* 0x0E56 */ u8 field_0x0E56;
|
||||
/* 0x0E57 */ u8 field_0x0E57;
|
||||
/* 0x0E58 */ u8 field_0x0E58;
|
||||
/* 0x0E59 */ u8 field_0x0E59;
|
||||
/* 0x0E59 */ u8 field_0x0E5A;
|
||||
/* 0x0E5B */ u8 field_0x0E5B[100];
|
||||
|
||||
/* 0x0EC0 */ u8 _0x0EC0[0x0EE4 - 0x0EC0];
|
||||
|
||||
/* 0x0EE4 */ s32 mNumCommands;
|
||||
/* 0x0EE8 */ s32 field_0x0EE8;
|
||||
/* 0x0EEC */ u8 field_0x0EEC[36];
|
||||
|
||||
/* 0x0F10 */ u8 _0x0F10[0x0F20 - 0x0F10];
|
||||
|
||||
/* 0x0F20 */ u8 field_0x0F20[100];
|
||||
|
||||
/* 0x0F84 */ mVec3_c field_0x0F84[77];
|
||||
|
||||
/* 0x1320 */ u8 _0x1320[0x1331 - 0x1320];
|
||||
|
||||
/* 0x1331 */ u8 mNumCommandsPerPass[17];
|
||||
/* 0x1342 */ u8 field_0x1342[100];
|
||||
/* 0x13A6 */ u8 field_0x13A6;
|
||||
/* 0x13A6 */ u8 field_0x13A7;
|
||||
/* 0x13A8 */ u8 field_0x13A8[100];
|
||||
/* 0x140C */ u8 field_0x140C;
|
||||
/* 0x1410 */ dLytMapPopupConfig mPopupConfigs[30];
|
||||
/* 0x17D0 */ dLytMapPlace_c mPlace;
|
||||
/* 0x19B8 */ dLytMapIconAnimState mIconAnims[50];
|
||||
/* 0x1CCC */ s32 mNumAnims;
|
||||
/* 0x1CD0 */ mVec3_c field_0x1CD0;
|
||||
/* 0x1CDC */ u8 field_0x1CDC;
|
||||
/* 0x1CDD */ u8 field_0x1CDD;
|
||||
/* 0x1CDE */ u8 field_0x1CDE;
|
||||
/* 0x1CE0 */ UNKWORD field_0x1CE0;
|
||||
/* 0x1CE4 */ u8 field_0x1CE4;
|
||||
/* 0x1CE5 */ u8 field_0x1CE5;
|
||||
/* 0x1CE6 */ u8 field_0x1CE6;
|
||||
/* 0x1CE7 */ u8 field_0x1CE7;
|
||||
};
|
||||
|
||||
// TODO, name made up
|
||||
class dLytMapMarkers_c : public m2d::Base_c {
|
||||
public:
|
||||
dLytMapMarkers_c() : field_0x6F0(0), field_0x0702(0), field_0x0703(0), field_0x0704(0.0f) {}
|
||||
dLytMapMarkers_c()
|
||||
: mShowIslandNames(false), field_0x0702(0), field_0x0703(0), field_0x0704(0.0f), mNumPopups(0) {}
|
||||
virtual ~dLytMapMarkers_c() {}
|
||||
virtual void draw() override;
|
||||
virtual void build(d2d::ResAccIf_c *resAcc);
|
||||
virtual bool build(d2d::ResAccIf_c *resAcc);
|
||||
virtual bool remove();
|
||||
virtual bool execute();
|
||||
|
||||
void setIslandNamesOn(bool on);
|
||||
void fn_80189B90();
|
||||
void drawPopups();
|
||||
|
||||
void setField_0x6F4(const mVec2_c &v) {
|
||||
field_0x06F4 = v;
|
||||
}
|
||||
|
||||
private:
|
||||
/* 0x0010 */ d2d::ResAccIf_c mResAcc1;
|
||||
/* 0x0380 */ d2d::ResAccIf_c mResAcc2;
|
||||
void setField_0x0703(u8 v) {
|
||||
field_0x0703 = v;
|
||||
}
|
||||
|
||||
/* 0x06F0 */ u8 field_0x6F0;
|
||||
f32 getField_0x0704() const {
|
||||
return field_0x0704;
|
||||
}
|
||||
|
||||
private:
|
||||
void resetPopups();
|
||||
void loadPopups();
|
||||
|
||||
/* 0x0010 */ d2d::ResAccIf_c mResAcc00;
|
||||
/* 0x0380 */ d2d::ResAccIf_c mResAcc01;
|
||||
|
||||
/* 0x06F0 */ bool mShowIslandNames;
|
||||
/* 0x06F4 */ mVec2_c field_0x06F4;
|
||||
|
||||
/* 0x06FC */ u8 _0x6FC[0x0702 - 0x06FC];
|
||||
@@ -339,11 +504,11 @@ private:
|
||||
/* 0x0702 */ u8 field_0x0703;
|
||||
/* 0x0704 */ f32 field_0x0704;
|
||||
/* 0x0708 */ dLytMapPopup_c mMapPopup;
|
||||
/* 0x088C */ u8 _0x088C[0x0894 - 0x088C];
|
||||
/* 0x0894 */ MapUnkStruct1 mUnk1[60];
|
||||
|
||||
/* 0x0F30 */ dLytMapIcon01_c mIcon01;
|
||||
/* 0x2780 */ dLytMapIcon00_c mIcon00;
|
||||
/* 0x0890 */ s32 mNumPopups;
|
||||
/* 0x0894 */ dLytMapPopupState mPopups[60];
|
||||
/* 0x0F24 */ const dLytMapPopupConfig *mpPopupConfigs;
|
||||
/* 0x0F28 */ dLytMapIcon01_c mIcon01;
|
||||
/* 0x2778 */ dLytMapIcon00_c mIcon00;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#ifndef MISC_ACTOR_H
|
||||
#define MISC_ACTOR_H
|
||||
|
||||
// TODO - this header might be unnecessary; a lot of functions in
|
||||
// the split corresponding to this header clearly are REL functions
|
||||
// that were moved to the DOL because they need to be called from the DOL.
|
||||
// So ideally all of these declarations were moved to REL class definitions...
|
||||
|
||||
bool checkIsInSkykeepPuzzle();
|
||||
void restoreSkykeepPuzzleFromGlobal();
|
||||
|
||||
|
||||
+63
-15
@@ -2296,7 +2296,7 @@ void dLytMapMain_c::build() {
|
||||
}
|
||||
|
||||
mMarkers.setField_0x6F4(boundingPos2);
|
||||
|
||||
|
||||
mPinIconAggregate.setUnk(&field_0xF1C);
|
||||
|
||||
mpPaneBgAll01 = mLyt.findPane("N_mapBgAll_01");
|
||||
@@ -2344,17 +2344,19 @@ void dLytMapMain_c::draw() {
|
||||
mFootPrints.draw();
|
||||
}
|
||||
|
||||
if (mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM || mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) {
|
||||
if (mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM ||
|
||||
mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) {
|
||||
mMarkers.draw();
|
||||
}
|
||||
|
||||
if (field_0x8C68 != 3 && field_0x8C68 != 5 && field_0x8C94 != 2) {
|
||||
mPinIconAggregate.draw();
|
||||
}
|
||||
|
||||
|
||||
fn_80143120(0);
|
||||
|
||||
if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) && (mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM)) {
|
||||
if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mCurrentMapMode == dLytMapGlobal_c::MAPMODE_ZOOM) &&
|
||||
(mNextMapMode == dLytMapGlobal_c::MAPMODE_STAGE || mNextMapMode == dLytMapGlobal_c::MAPMODE_ZOOM)) {
|
||||
mpZoomInOutPane->SetVisible(false);
|
||||
} else {
|
||||
mpZoomInOutPane->SetVisible(true);
|
||||
@@ -2362,11 +2364,12 @@ void dLytMapMain_c::draw() {
|
||||
|
||||
mpScaleFlamePane->SetVisible(field_0x8DB5 ? true : false);
|
||||
mLyt.getLayout()->GetRootPane()->Draw(mLyt.getDrawInfo());
|
||||
if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE || mNextMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE) && field_0x8C94 == 10) {
|
||||
if ((mCurrentMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE || mNextMapMode == dLytMapGlobal_c::MAPMODE_PROVINCE) &&
|
||||
field_0x8C94 == 10) {
|
||||
fn_80138D80();
|
||||
}
|
||||
fn_80143120(-2);
|
||||
mMarkers.fn_80189B90();
|
||||
mMarkers.drawPopups();
|
||||
mPutIcon.draw();
|
||||
if (field_0x8C94 == 10) {
|
||||
mPopupInfo.draw();
|
||||
@@ -2844,23 +2847,68 @@ void dLytMapMain_c::executeState_ResetPos() {
|
||||
}
|
||||
void dLytMapMain_c::finalizeState_ResetPos() {}
|
||||
|
||||
void dLytMapMain_c::initializeState_ResetPosWithFloorChange() {}
|
||||
void dLytMapMain_c::executeState_ResetPosWithFloorChange() {}
|
||||
void dLytMapMain_c::initializeState_ResetPosWithFloorChange() {
|
||||
dPadNav::stopFSStickNav();
|
||||
mMapCapture.renderRequest();
|
||||
}
|
||||
void dLytMapMain_c::executeState_ResetPosWithFloorChange() {
|
||||
if (mMapCapture.isBusyRendering()) {
|
||||
return;
|
||||
}
|
||||
dLytMapGlobal_c *global = getGlobal();
|
||||
mVec3_c pos;
|
||||
fn_80142F00(pos, mCurrentMapMode, mMapUpDirection, global->getMapRotationCenter(), global->getField_0x56());
|
||||
if (global->getMapScroll().squareDistanceToXZ(pos) >= 1.0f) {
|
||||
mStateMgr.changeState(StateID_ResetPos);
|
||||
} else {
|
||||
mStateMgr.changeState(StateID_Active);
|
||||
}
|
||||
}
|
||||
void dLytMapMain_c::finalizeState_ResetPosWithFloorChange() {}
|
||||
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step1() {}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step1() {}
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step1() {
|
||||
field_0x8CB0 = sHio.field_0x1D;
|
||||
field_0x8CB4 = 0;
|
||||
}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step1() {
|
||||
if (field_0x8CB0 != 0) {
|
||||
field_0x8CB0--;
|
||||
return;
|
||||
}
|
||||
|
||||
mMarkers.setField_0x0703(1);
|
||||
mStateMgr.changeState(StateID_EventSwBankSmall_Step2);
|
||||
}
|
||||
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step1() {}
|
||||
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step2() {}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step2() {}
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step2() {
|
||||
field_0x8CB0 = mMarkers.getField_0x0704();
|
||||
}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step2() {
|
||||
if (field_0x8CB0 != 0) {
|
||||
field_0x8CB0--;
|
||||
return;
|
||||
}
|
||||
mStateMgr.changeState(StateID_EventSwBankSmall_Step3);
|
||||
}
|
||||
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step2() {}
|
||||
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step3() {}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step3() {}
|
||||
void dLytMapMain_c::initializeState_EventSwBankSmall_Step3() {
|
||||
field_0x8CB0 = sHio.field_0x1E;
|
||||
}
|
||||
void dLytMapMain_c::executeState_EventSwBankSmall_Step3() {
|
||||
if (field_0x8CB0 != 0) {
|
||||
field_0x8CB0--;
|
||||
return;
|
||||
}
|
||||
|
||||
field_0x8D6B = 1;
|
||||
}
|
||||
void dLytMapMain_c::finalizeState_EventSwBankSmall_Step3() {}
|
||||
|
||||
void dLytMapMain_c::initializeState_EventMapIntro_Step1() {}
|
||||
void dLytMapMain_c::initializeState_EventMapIntro_Step1() {
|
||||
field_0x8CB0 = sHio.field_0x1F;
|
||||
}
|
||||
void dLytMapMain_c::executeState_EventMapIntro_Step1() {}
|
||||
void dLytMapMain_c::finalizeState_EventMapIntro_Step1() {}
|
||||
|
||||
|
||||
+755
-64
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user