mirror of
https://github.com/zeldaret/ph
synced 2026-05-23 06:54:18 -04:00
LinkStateInteract (#135)
* Map symbol in Game * LinkStateInteract 19% * DebugHierarchy -> Bhio * LinkStateInteract 89% * LinkStateInteract 93% * Japanese strings * Fix build * Fix regression * Fix regressions * Rename BhioBase.cpp
This commit is contained in:
@@ -18,3 +18,4 @@ build.ninja
|
||||
.ninja_lock
|
||||
.ninja_deps
|
||||
/wibo
|
||||
/sjiswrap.exe
|
||||
|
||||
@@ -82,7 +82,7 @@ func_01ffbbcc kind:function(arm,size=0x2c) addr:0x01ffbbcc
|
||||
func_01ffbbf8 kind:function(arm,size=0x1d8) addr:0x01ffbbf8
|
||||
func_01ffbdd0 kind:function(arm,size=0x64) addr:0x01ffbdd0
|
||||
func_01ffbe34 kind:function(arm,size=0x44) addr:0x01ffbe34
|
||||
_ZN10MapManager13func_01ffbe78EP5Vec3pS1_S1_P5Vec4p kind:function(arm,size=0xe4) addr:0x01ffbe78
|
||||
_ZN10MapManager13func_01ffbe78EP9UnkStructP5Vec3pS3_P6Sphereitii kind:function(arm,size=0xe4) addr:0x01ffbe78
|
||||
_ZN10MapManager13func_01ffbf5cEP9UnkStructP5Vec3pS3_iiiP24UnkStruct_ov000_020beba8i kind:function(arm,size=0x1bc) addr:0x01ffbf5c
|
||||
_ZN10MapManager13func_01ffc118EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0x10c8) addr:0x01ffc118
|
||||
_ZN10MapManager13func_01ffd1e0EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0xfec) addr:0x01ffd1e0
|
||||
|
||||
@@ -106,7 +106,7 @@ src/00_Core/Player/LinkStateBase.cpp:
|
||||
|
||||
src/00_Core/Player/LinkStateDamage.cpp:
|
||||
.text start:0x020abfa4 end:0x020ad020
|
||||
.rodata start:0x020dc560 end:0x020dc574
|
||||
.rodata start:0x020dc528 end:0x020dc574
|
||||
.data start:0x020e5a8c end:0x020e5c58
|
||||
|
||||
src/00_Core/Player/LinkStateFollow.cpp:
|
||||
@@ -115,7 +115,6 @@ src/00_Core/Player/LinkStateFollow.cpp:
|
||||
|
||||
src/00_Core/Player/LinkStateInteract.cpp:
|
||||
.text start:0x020aa32c end:0x020abd78
|
||||
.rodata start:0x020dc528 end:0x020dc560
|
||||
.data start:0x020e58e8 end:0x020e5a40
|
||||
|
||||
src/00_Core/Player/LinkStateItem.cpp:
|
||||
|
||||
@@ -4970,17 +4970,17 @@ from:0x020aa4b8 kind:thumb_call_arm to:0x020a8dec module:overlay(0)
|
||||
from:0x020aa4c6 kind:thumb_call_arm to:0x020a8dec module:overlay(0)
|
||||
from:0x020aa4e6 kind:thumb_call_arm to:0x020a8dec module:overlay(0)
|
||||
from:0x020aa4f0 kind:load to:0x020e59b8 module:overlay(0)
|
||||
from:0x020aa4f8 kind:load to:0x020e5940 module:overlay(0)
|
||||
from:0x020aa4f8 kind:load to:0x020e593c add:0x4 module:overlay(0)
|
||||
from:0x020aa4fc kind:load to:0x020e5908 module:overlay(0)
|
||||
from:0x020aa500 kind:load to:0x020e59cc module:overlay(0)
|
||||
from:0x020aa504 kind:load to:0x020e5944 module:overlay(0)
|
||||
from:0x020aa504 kind:load to:0x020e593c add:0x8 module:overlay(0)
|
||||
from:0x020aa508 kind:load to:0x020e59e4 module:overlay(0)
|
||||
from:0x020aa50c kind:load to:0x020e5948 module:overlay(0)
|
||||
from:0x020aa50c kind:load to:0x020e593c add:0xc module:overlay(0)
|
||||
from:0x020aa510 kind:load to:0x020e59fc module:overlay(0)
|
||||
from:0x020aa514 kind:load to:0x020e5960 module:overlay(0)
|
||||
from:0x020aa518 kind:load to:0x020e5964 module:overlay(0)
|
||||
from:0x020aa514 kind:load to:0x020e595c add:0x4 module:overlay(0)
|
||||
from:0x020aa518 kind:load to:0x020e595c add:0x8 module:overlay(0)
|
||||
from:0x020aa51c kind:load to:0x020e5a0c module:overlay(0)
|
||||
from:0x020aa520 kind:load to:0x020e5968 module:overlay(0)
|
||||
from:0x020aa520 kind:load to:0x020e595c add:0xc module:overlay(0)
|
||||
from:0x020aa524 kind:load to:0x020e5a20 module:overlay(0)
|
||||
from:0x020aa528 kind:load to:0x020e5a34 module:overlay(0)
|
||||
from:0x020aa52c kind:load to:0x020e5928 module:overlay(0)
|
||||
|
||||
@@ -682,7 +682,7 @@ _ZN10MapManager18func_ov00_02085594EP5Vec3p kind:function(arm,size=0x2a8) addr:0
|
||||
_ZN10MapManager18func_ov00_0208583cEPS_P5Vec3pi kind:function(arm,size=0x74) addr:0x0208583c
|
||||
_ZN10MapManager18func_ov00_020858b0EPS_P5Vec3pi kind:function(arm,size=0x184) addr:0x020858b0
|
||||
_ZN10MapManager18func_ov00_02085a34EP5Vec3pi kind:function(arm,size=0x22c) addr:0x02085a34
|
||||
_ZN10MapManager18func_ov00_02085c60EP5Vec3pPiS2_j kind:function(arm,size=0x3e4) addr:0x02085c60
|
||||
_ZN10MapManager18func_ov00_02085c60EP9UnkStructPiS2_j kind:function(arm,size=0x3e4) addr:0x02085c60
|
||||
_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x02086044
|
||||
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x02086284
|
||||
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x02086a84
|
||||
@@ -1890,7 +1890,7 @@ _ZN13LinkStateBase15ChangeLinkStateEi kind:function(arm,size=0x10) addr:0x020a81
|
||||
_ZN13LinkStateBase18ChangeLinkSubStateEii kind:function(arm,size=0x10) addr:0x020a8148
|
||||
_ZN13LinkStateBase18EquipItem_vfunc_28Ev kind:function(arm,size=0x48) addr:0x020a8158
|
||||
_ZN13LinkStateBase22UpdateSwordShieldInUseEv kind:function(arm,size=0x18) addr:0x020a81a0
|
||||
_ZN13LinkStateBase18func_ov00_020a81b8Eii kind:function(arm,size=0x24) addr:0x020a81b8
|
||||
_ZN13LinkStateBase18func_ov00_020a81b8EiP5Vec3p kind:function(arm,size=0x24) addr:0x020a81b8
|
||||
_ZN13LinkStateBase16GetLinkItemStateEv kind:function(arm,size=0x10) addr:0x020a81dc
|
||||
_ZN13LinkStateBase6LookAtEP5Vec3p kind:function(arm,size=0x10) addr:0x020a81ec
|
||||
_ZN13LinkStateBase18func_ov00_020a81fcEP5Vec3pi kind:function(arm,size=0x10) addr:0x020a81fc
|
||||
@@ -1958,11 +1958,11 @@ _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei kind:function(arm,size=0x30) ad
|
||||
_ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev kind:function(arm,size=0x14) addr:0x020a8db8
|
||||
_ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev kind:function(arm,size=0x14) addr:0x020a8dcc
|
||||
_ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev kind:function(arm,size=0xc) addr:0x020a8de0
|
||||
_ZN13LinkStateBase18GetDebugHierarchy0Ev kind:function(arm,size=0xc) addr:0x020a8dec
|
||||
_ZN13LinkStateBase18GetDebugHierarchy1Ev kind:function(arm,size=0xc) addr:0x020a8df8
|
||||
_ZN13LinkStateBase8GetBhio0Ev kind:function(arm,size=0xc) addr:0x020a8dec
|
||||
_ZN13LinkStateBase8GetBhio1Ev kind:function(arm,size=0xc) addr:0x020a8df8
|
||||
_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020a8e04
|
||||
_ZN13LinkStateMove5GetIdEv kind:function(arm,size=0x8) addr:0x020a8e08
|
||||
_ZN13LinkStateMove20CreateDebugHierarchyEv kind:function(thumb,size=0x48) addr:0x020a8e10
|
||||
_ZN13LinkStateMove8LoadBhioEv kind:function(thumb,size=0x48) addr:0x020a8e10
|
||||
_ZN13LinkStateMove12OnStateEnterEv kind:function(arm,size=0x74) addr:0x020a8e58
|
||||
_ZN13LinkStateMove12OnStateLeaveEi kind:function(arm,size=0x20) addr:0x020a8ecc
|
||||
_ZN13LinkStateMove8vfunc_24Ei kind:function(arm,size=0x40) addr:0x020a8eec
|
||||
@@ -2048,8 +2048,8 @@ func_ov000_020aa0f0 kind:function(arm,size=0x34) addr:0x020aa0f0
|
||||
func_ov000_020aa124 kind:function(arm,size=0x208) addr:0x020aa124
|
||||
_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020aa32c
|
||||
_ZN17LinkStateInteract5GetIdEv kind:function(arm,size=0x8) addr:0x020aa330
|
||||
_ZN17LinkStateInteract20CreateDebugHierarchyEv kind:function(arm,size=0x24) addr:0x020aa338
|
||||
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(thumb,size=0x1d8) addr:0x020aa35c
|
||||
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(arm,size=0x24) addr:0x020aa338
|
||||
_ZN17LinkStateInteract8LoadBhioEv kind:function(thumb,size=0x1d8) addr:0x020aa35c
|
||||
_ZN17LinkStateInteract12OnStateEnterEv kind:function(arm,size=0x27c) addr:0x020aa534
|
||||
_ZN17LinkStateInteract12OnStateLeaveEi kind:function(arm,size=0x68) addr:0x020aa7b0
|
||||
_ZN17LinkStateInteract18func_ov00_020aa818Ev kind:function(arm,size=0x2c) addr:0x020aa818
|
||||
@@ -2083,7 +2083,7 @@ _ZN13LinkStateItem16GetLinkStateMoveEv kind:function(arm,size=0x10) addr:0x020ab
|
||||
_ZN13LinkStateItem18func_ov00_020abf70Ev kind:function(arm,size=0x20) addr:0x020abf70
|
||||
_ZN13LinkStateItem8vfunc_28Ev kind:function(arm,size=0x14) addr:0x020abf90
|
||||
_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020abfa4
|
||||
_ZN15LinkStateDamage20CreateDebugHierarchyEv kind:function(thumb,size=0x218) addr:0x020abfa8
|
||||
_ZN15LinkStateDamage8LoadBhioEv kind:function(thumb,size=0x218) addr:0x020abfa8
|
||||
_ZN15LinkStateDamage12OnStateEnterEv kind:function(arm,size=0x630) addr:0x020ac1c0
|
||||
_ZN15LinkStateDamage12OnStateLeaveEi kind:function(arm,size=0x1f4) addr:0x020ac7f0
|
||||
_ZN15LinkStateDamage18func_ov00_020ac9e4Ei kind:function(arm,size=0x6c) addr:0x020ac9e4
|
||||
@@ -2172,7 +2172,7 @@ _ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x26) addr:0
|
||||
_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x22) addr:0x020ae76c
|
||||
_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020ae790
|
||||
_ZN13LinkStateRoll5GetIdEv kind:function(arm,size=0x8) addr:0x020ae794
|
||||
_ZN13LinkStateRoll20CreateDebugHierarchyEv kind:function(thumb,size=0x8) addr:0x020ae79c
|
||||
_ZN13LinkStateRoll8LoadBhioEv kind:function(thumb,size=0x8) addr:0x020ae79c
|
||||
_ZN13LinkStateRoll12OnStateEnterEv kind:function(arm,size=0x394) addr:0x020ae7a4
|
||||
_ZN13LinkStateRoll12OnStateLeaveEi kind:function(arm,size=0xd8) addr:0x020aeb38
|
||||
_ZN13LinkStateRoll8vfunc_20Ei kind:function(arm,size=0x180) addr:0x020aec10
|
||||
@@ -2257,7 +2257,7 @@ _ZN24UnkStruct_ov004_0210abb88vfunc_08Ei kind:function(arm,size=0x28) addr:0x020
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1e98Ei kind:function(arm,size=0x20) addr:0x020b1e98
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1eb8Ev kind:function(arm,size=0x34) addr:0x020b1eb8
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1eecEv kind:function(arm,size=0x58) addr:0x020b1eec
|
||||
_ZN17LinkStateCutscene20CreateDebugHierarchyEv kind:function(thumb,size=0x168) addr:0x020b1f44
|
||||
_ZN17LinkStateCutscene8LoadBhioEv kind:function(thumb,size=0x168) addr:0x020b1f44
|
||||
_ZN17LinkStateCutscene12OnStateEnterEv kind:function(arm,size=0x3f4) addr:0x020b20ac
|
||||
_ZN17LinkStateCutscene12OnStateLeaveEi kind:function(arm,size=0x60) addr:0x020b24a0
|
||||
_ZN17LinkStateCutscene5GetIdEv kind:function(arm,size=0x8) addr:0x020b2500
|
||||
@@ -3613,9 +3613,9 @@ func_ov000_020d75dc kind:function(arm,size=0x208) addr:0x020d75dc
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d77e4Ei kind:function(arm,size=0x9c) addr:0x020d77e4
|
||||
func_ov000_020d7880 kind:function(arm,size=0x20) addr:0x020d7880
|
||||
func_ov000_020d78a0 kind:function(arm,size=0x1e4) addr:0x020d78a0
|
||||
func_ov000_020d7a84 kind:function(arm,size=0x50) addr:0x020d7a84
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7a84EiP5Vec3p kind:function(arm,size=0x50) addr:0x020d7a84
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7ad4Ei kind:function(arm,size=0x4c) addr:0x020d7ad4
|
||||
func_ov000_020d7b20 kind:function(arm,size=0x40) addr:0x020d7b20
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7b20EiP5Vec3p kind:function(arm,size=0x40) addr:0x020d7b20
|
||||
func_ov000_020d7b60 kind:function(arm,size=0x20) addr:0x020d7b60
|
||||
func_ov000_020d7b80 kind:function(arm,size=0xec) addr:0x020d7b80
|
||||
func_ov000_020d7c6c kind:function(arm,size=0x20) addr:0x020d7c6c
|
||||
@@ -4821,13 +4821,13 @@ data_ov000_020e5960 kind:data(any) addr:0x020e5960
|
||||
data_ov000_020e5964 kind:data(any) addr:0x020e5964
|
||||
data_ov000_020e5968 kind:data(any) addr:0x020e5968
|
||||
_ZTV17LinkStateInteract kind:data(any) addr:0x020e5974
|
||||
data_ov000_020e59b8 kind:data(any) addr:0x020e59b8
|
||||
data_ov000_020e59cc kind:data(any) addr:0x020e59cc
|
||||
data_ov000_020e59e4 kind:data(any) addr:0x020e59e4
|
||||
data_ov000_020e59fc kind:data(any) addr:0x020e59fc
|
||||
data_ov000_020e5a0c kind:data(any) addr:0x020e5a0c
|
||||
data_ov000_020e5a20 kind:data(any) addr:0x020e5a20
|
||||
data_ov000_020e5a34 kind:data(any) addr:0x020e5a34
|
||||
@1235 kind:data(any) addr:0x020e59b8 local
|
||||
@1236 kind:data(any) addr:0x020e59cc local
|
||||
@1237 kind:data(any) addr:0x020e59e4 local
|
||||
@1238 kind:data(any) addr:0x020e59fc local
|
||||
@1239 kind:data(any) addr:0x020e5a0c local
|
||||
@1240 kind:data(any) addr:0x020e5a20 local
|
||||
@1241 kind:data(any) addr:0x020e5a34 local
|
||||
_ZTV13LinkStateItem kind:data(any) addr:0x020e5a40
|
||||
@1126 kind:data(any) addr:0x020e5a8c
|
||||
@1125 kind:data(any) addr:0x020e5a90
|
||||
|
||||
@@ -100,8 +100,8 @@ func_ov004_0210372c kind:function(thumb,size=0x12) addr:0x0210372c
|
||||
func_ov004_02103740 kind:function(thumb,size=0x12) addr:0x02103740
|
||||
func_ov004_02103754 kind:function(thumb,size=0xc94) addr:0x02103754
|
||||
func_ov004_021043e8 kind:function(thumb,size=0x2) addr:0x021043e8
|
||||
_ZN14DebugHierarchyD0Ev kind:function(arm,size=0x1c) addr:0x021043ec
|
||||
_ZN14DebugHierarchyD1Ev kind:function(arm,size=0x14) addr:0x02104408
|
||||
_ZN4BhioD0Ev kind:function(arm,size=0x1c) addr:0x021043ec
|
||||
_ZN4BhioD1Ev kind:function(arm,size=0x14) addr:0x02104408
|
||||
_ZN14AdventureFlagsC1Ev kind:function(thumb,size=0x4c) addr:0x0210441c
|
||||
_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x3e) addr:0x02104468
|
||||
_ZN14AdventureFlags6CreateEv kind:function(thumb,size=0x2c) addr:0x021044a8
|
||||
@@ -293,7 +293,7 @@ _ZN13LinkStateBaseC2EP14PlayerLinkBase kind:function(thumb,size=0x10) addr:0x021
|
||||
_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x2) addr:0x0210ade4
|
||||
_ZN13LinkStateBaseD0Ev kind:function(thumb,size=0xc) addr:0x0210ade8
|
||||
_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x2) addr:0x0210adf4
|
||||
_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x2) addr:0x0210adf8
|
||||
_ZN13LinkStateBase8LoadBhioEv kind:function(thumb,size=0x2) addr:0x0210adf8
|
||||
_ZN13LinkStateRollC2EP14PlayerLinkBase kind:function(thumb,size=0x84) addr:0x0210adfc
|
||||
_ZN13LinkStateRollD1Ev kind:function(thumb,size=0x28) addr:0x0210ae80
|
||||
_ZN13LinkStateRollD0Ev kind:function(thumb,size=0x2c) addr:0x0210aea8
|
||||
@@ -587,7 +587,7 @@ data_ov004_02110468 kind:data(any) addr:0x02110468
|
||||
data_ov004_0211047c kind:data(any) addr:0x0211047c
|
||||
data_ov004_02110484 kind:data(any) addr:0x02110484
|
||||
data_ov004_0211048c kind:data(any) addr:0x0211048c
|
||||
_ZTV14DebugHierarchy kind:data(any) addr:0x021104a0
|
||||
_ZTV4Bhio kind:data(any) addr:0x021104a0
|
||||
data_ov004_021104e0 kind:data(any) addr:0x021104e0
|
||||
data_ov004_021104f0 kind:data(any) addr:0x021104f0
|
||||
data_ov004_021104f8 kind:data(any) addr:0x021104f8
|
||||
|
||||
+20
-20
@@ -1520,25 +1520,25 @@ func_02030204 kind:function(arm,size=0x1c) addr:0x02030204
|
||||
func_02030220 kind:function(arm,size=0x14) addr:0x02030220
|
||||
CopyDebugNodeDescription kind:function(arm,size=0x10) addr:0x02030234
|
||||
DebugNodeDescriptionEquals kind:function(arm,size=0x30) addr:0x02030244
|
||||
_ZN18DebugHierarchyBaseC2Ev kind:function(thumb,size=0x10) addr:0x02030274
|
||||
_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x2) addr:0x02030284
|
||||
_ZN18DebugHierarchyBaseD0Ev kind:function(thumb,size=0xc) addr:0x02030288
|
||||
_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x2) addr:0x02030294
|
||||
_ZN18DebugHierarchyBase8FindNodeEj kind:function(thumb,size=0x3c) addr:0x02030298
|
||||
_ZN18DebugHierarchyBase12GetChildNodeEiPKcjPi kind:function(thumb,size=0x4c) addr:0x020302d4
|
||||
_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x02030320
|
||||
_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x02030324
|
||||
_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x02030328
|
||||
_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x0203032c
|
||||
_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x02030330
|
||||
_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x02030334
|
||||
_ZN18DebugHierarchyBase8vfunc_20Ev kind:function(thumb,size=0x4) addr:0x02030338
|
||||
_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x0203033c
|
||||
_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x02030340
|
||||
_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x02030344
|
||||
_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x02030348
|
||||
_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x0203034c
|
||||
_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x2) addr:0x02030350
|
||||
_ZN8BhioBaseC2Ev kind:function(thumb,size=0x10) addr:0x02030274
|
||||
_ZN8BhioBaseD1Ev kind:function(thumb,size=0x2) addr:0x02030284
|
||||
_ZN8BhioBaseD0Ev kind:function(thumb,size=0xc) addr:0x02030288
|
||||
_ZN8BhioBaseD2Ev kind:function(thumb,size=0x2) addr:0x02030294
|
||||
_ZN8BhioBase9FindGroupEj kind:function(thumb,size=0x3c) addr:0x02030298
|
||||
_ZN8BhioBase8GetFieldEbPKcjPiiiii kind:function(thumb,size=0x4c) addr:0x020302d4
|
||||
_ZN8BhioBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x02030320
|
||||
_ZN8BhioBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x02030324
|
||||
_ZN8BhioBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x02030328
|
||||
_ZN8BhioBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x0203032c
|
||||
_ZN8BhioBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x02030330
|
||||
_ZN8BhioBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x02030334
|
||||
_ZN8BhioBase8vfunc_20EiPKciiii kind:function(thumb,size=0x4) addr:0x02030338
|
||||
_ZN8BhioBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x0203033c
|
||||
_ZN8BhioBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x02030340
|
||||
_ZN8BhioBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x02030344
|
||||
_ZN8BhioBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x02030348
|
||||
_ZN8BhioBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x0203034c
|
||||
_ZN8BhioBase8vfunc_3cEjPi kind:function(thumb,size=0x2) addr:0x02030350
|
||||
_ZN18UnkStruct_0206322c13func_02030354Ebb kind:function(thumb,size=0xb4) addr:0x02030354
|
||||
_ZN18UnkStruct_0206322c13func_02030408Ev kind:function(thumb,size=0x16) addr:0x02030408
|
||||
func_02030420 kind:function(thumb,size=0x44) addr:0x02030420
|
||||
@@ -2710,7 +2710,7 @@ data_02057808 kind:data(any) addr:0x02057808
|
||||
data_02057840 kind:data(any) addr:0x02057840
|
||||
data_0205785c kind:data(any) addr:0x0205785c
|
||||
data_02057878 kind:data(any) addr:0x02057878
|
||||
_ZTV18DebugHierarchyBase kind:data(any) addr:0x02057894
|
||||
_ZTV8BhioBase kind:data(any) addr:0x02057894
|
||||
data_020578d4 kind:data(any) addr:0x020578d4
|
||||
data_020578d8 kind:data(any) addr:0x020578d8
|
||||
data_020578ec kind:data(any) addr:0x020578ec
|
||||
|
||||
@@ -82,7 +82,7 @@ func_01ffbbcc kind:function(arm,size=0x2c) addr:0x01ffbbcc
|
||||
func_01ffbbf8 kind:function(arm,size=0x1d8) addr:0x01ffbbf8
|
||||
func_01ffbdd0 kind:function(arm,size=0x64) addr:0x01ffbdd0
|
||||
func_01ffbe34 kind:function(arm,size=0x44) addr:0x01ffbe34
|
||||
_ZN10MapManager13func_01ffbe78EP5Vec3pS1_S1_P5Vec4p kind:function(arm,size=0xe4) addr:0x01ffbe78
|
||||
_ZN10MapManager13func_01ffbe78EP9UnkStructP5Vec3pS3_P6Sphereitii kind:function(arm,size=0xe4) addr:0x01ffbe78
|
||||
_ZN10MapManager13func_01ffbf5cEP9UnkStructP5Vec3pS3_iiiP24UnkStruct_ov000_020beba8i kind:function(arm,size=0x1bc) addr:0x01ffbf5c
|
||||
_ZN10MapManager13func_01ffc118EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0x10c8) addr:0x01ffc118
|
||||
_ZN10MapManager13func_01ffd1e0EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0xfec) addr:0x01ffd1e0
|
||||
|
||||
@@ -106,7 +106,7 @@ src/00_Core/Player/LinkStateBase.cpp:
|
||||
|
||||
src/00_Core/Player/LinkStateDamage.cpp:
|
||||
.text start:0x020abf44 end:0x020acfc0
|
||||
.rodata start:0x020dc500 end:0x020dc514
|
||||
.rodata start:0x020dc4c8 end:0x020dc514
|
||||
.data start:0x020e5a2c end:0x020e5bf8
|
||||
|
||||
src/00_Core/Player/LinkStateFollow.cpp:
|
||||
@@ -115,7 +115,6 @@ src/00_Core/Player/LinkStateFollow.cpp:
|
||||
|
||||
src/00_Core/Player/LinkStateInteract.cpp:
|
||||
.text start:0x020aa2cc end:0x020abd18
|
||||
.rodata start:0x020dc4c8 end:0x020dc500
|
||||
.data start:0x020e5888 end:0x020e59e0
|
||||
|
||||
src/00_Core/Player/LinkStateItem.cpp:
|
||||
|
||||
@@ -4970,17 +4970,17 @@ from:0x020aa458 kind:thumb_call_arm to:0x020a8d8c module:overlay(0)
|
||||
from:0x020aa466 kind:thumb_call_arm to:0x020a8d8c module:overlay(0)
|
||||
from:0x020aa486 kind:thumb_call_arm to:0x020a8d8c module:overlay(0)
|
||||
from:0x020aa490 kind:load to:0x020e5958 module:overlay(0)
|
||||
from:0x020aa498 kind:load to:0x020e58e0 module:overlay(0)
|
||||
from:0x020aa498 kind:load to:0x020e58dc add:0x4 module:overlay(0)
|
||||
from:0x020aa49c kind:load to:0x020e58a8 module:overlay(0)
|
||||
from:0x020aa4a0 kind:load to:0x020e596c module:overlay(0)
|
||||
from:0x020aa4a4 kind:load to:0x020e58e4 module:overlay(0)
|
||||
from:0x020aa4a4 kind:load to:0x020e58dc add:0x8 module:overlay(0)
|
||||
from:0x020aa4a8 kind:load to:0x020e5984 module:overlay(0)
|
||||
from:0x020aa4ac kind:load to:0x020e58e8 module:overlay(0)
|
||||
from:0x020aa4ac kind:load to:0x020e58dc add:0xc module:overlay(0)
|
||||
from:0x020aa4b0 kind:load to:0x020e599c module:overlay(0)
|
||||
from:0x020aa4b4 kind:load to:0x020e5900 module:overlay(0)
|
||||
from:0x020aa4b8 kind:load to:0x020e5904 module:overlay(0)
|
||||
from:0x020aa4b4 kind:load to:0x020e58fc add:0x4 module:overlay(0)
|
||||
from:0x020aa4b8 kind:load to:0x020e58fc add:0x8 module:overlay(0)
|
||||
from:0x020aa4bc kind:load to:0x020e59ac module:overlay(0)
|
||||
from:0x020aa4c0 kind:load to:0x020e5908 module:overlay(0)
|
||||
from:0x020aa4c0 kind:load to:0x020e58fc add:0xc module:overlay(0)
|
||||
from:0x020aa4c4 kind:load to:0x020e59c0 module:overlay(0)
|
||||
from:0x020aa4c8 kind:load to:0x020e59d4 module:overlay(0)
|
||||
from:0x020aa4cc kind:load to:0x020e58c8 module:overlay(0)
|
||||
|
||||
@@ -682,7 +682,7 @@ _ZN10MapManager18func_ov00_02085594EP5Vec3p kind:function(arm,size=0x2a8) addr:0
|
||||
_ZN10MapManager18func_ov00_0208583cEPS_P5Vec3pi kind:function(arm,size=0x74) addr:0x020857dc
|
||||
_ZN10MapManager18func_ov00_020858b0EPS_P5Vec3pi kind:function(arm,size=0x184) addr:0x02085850
|
||||
_ZN10MapManager18func_ov00_02085a34EP5Vec3pi kind:function(arm,size=0x22c) addr:0x020859d4
|
||||
_ZN10MapManager18func_ov00_02085c60EP5Vec3pPiS2_j kind:function(arm,size=0x3e4) addr:0x02085c00
|
||||
_ZN10MapManager18func_ov00_02085c60EP9UnkStructPiS2_j kind:function(arm,size=0x3e4) addr:0x02085c00
|
||||
_ZN10MapManager18func_ov00_02086044EP5Vec3pS1_i kind:function(arm,size=0x240) addr:0x02085fe4
|
||||
_ZN10MapManager18func_ov00_02086284EPiP5Vec3pS2_itS2_S2_ kind:function(arm,size=0x800) addr:0x02086224
|
||||
_ZN10MapManager18func_ov00_02086a84EPiP5Vec3pS2_iiiS2_S2_ kind:function(arm,size=0x24c) addr:0x02086a24
|
||||
@@ -1890,7 +1890,7 @@ _ZN13LinkStateBase15ChangeLinkStateEi kind:function(arm,size=0x10) addr:0x020a80
|
||||
_ZN13LinkStateBase18ChangeLinkSubStateEii kind:function(arm,size=0x10) addr:0x020a80e8
|
||||
_ZN13LinkStateBase18EquipItem_vfunc_28Ev kind:function(arm,size=0x48) addr:0x020a80f8
|
||||
_ZN13LinkStateBase22UpdateSwordShieldInUseEv kind:function(arm,size=0x18) addr:0x020a8140
|
||||
_ZN13LinkStateBase18func_ov00_020a81b8Eii kind:function(arm,size=0x24) addr:0x020a8158
|
||||
_ZN13LinkStateBase18func_ov00_020a81b8EiP5Vec3p kind:function(arm,size=0x24) addr:0x020a8158
|
||||
_ZN13LinkStateBase16GetLinkItemStateEv kind:function(arm,size=0x10) addr:0x020a817c
|
||||
_ZN13LinkStateBase6LookAtEP5Vec3p kind:function(arm,size=0x10) addr:0x020a818c
|
||||
_ZN13LinkStateBase18func_ov00_020a81fcEP5Vec3pi kind:function(arm,size=0x10) addr:0x020a819c
|
||||
@@ -1958,11 +1958,11 @@ _ZN13LinkStateBase26PlayerControlData_vfunc_14Ei kind:function(arm,size=0x30) ad
|
||||
_ZN13LinkStateBase28Get_PlayerControlData_Unk100Ev kind:function(arm,size=0x14) addr:0x020a8d58
|
||||
_ZN13LinkStateBase28Get_PlayerControlData_Unk120Ev kind:function(arm,size=0x14) addr:0x020a8d6c
|
||||
_ZN13LinkStateBase24Get_PlayerLinkBase_Unk38Ev kind:function(arm,size=0xc) addr:0x020a8d80
|
||||
_ZN13LinkStateBase18GetDebugHierarchy0Ev kind:function(arm,size=0xc) addr:0x020a8d8c
|
||||
_ZN13LinkStateBase18GetDebugHierarchy1Ev kind:function(arm,size=0xc) addr:0x020a8d98
|
||||
_ZN13LinkStateBase8GetBhio0Ev kind:function(arm,size=0xc) addr:0x020a8d8c
|
||||
_ZN13LinkStateBase8GetBhio1Ev kind:function(arm,size=0xc) addr:0x020a8d98
|
||||
_ZN13LinkStateMove8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020a8da4
|
||||
_ZN13LinkStateMove5GetIdEv kind:function(arm,size=0x8) addr:0x020a8da8
|
||||
_ZN13LinkStateMove20CreateDebugHierarchyEv kind:function(thumb,size=0x48) addr:0x020a8db0
|
||||
_ZN13LinkStateMove8LoadBhioEv kind:function(thumb,size=0x48) addr:0x020a8db0
|
||||
_ZN13LinkStateMove12OnStateEnterEv kind:function(arm,size=0x74) addr:0x020a8df8
|
||||
_ZN13LinkStateMove12OnStateLeaveEi kind:function(arm,size=0x20) addr:0x020a8e6c
|
||||
_ZN13LinkStateMove8vfunc_24Ei kind:function(arm,size=0x40) addr:0x020a8e8c
|
||||
@@ -2048,8 +2048,8 @@ func_ov000_020aa0f0 kind:function(arm,size=0x34) addr:0x020aa090
|
||||
func_ov000_020aa124 kind:function(arm,size=0x208) addr:0x020aa0c4
|
||||
_ZN17LinkStateInteract8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020aa2cc
|
||||
_ZN17LinkStateInteract5GetIdEv kind:function(arm,size=0x8) addr:0x020aa2d0
|
||||
_ZN17LinkStateInteract20CreateDebugHierarchyEv kind:function(arm,size=0x24) addr:0x020aa2d8
|
||||
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(thumb,size=0x1d8) addr:0x020aa2fc
|
||||
_ZN17LinkStateInteract14GetGrabActorIdEv kind:function(arm,size=0x24) addr:0x020aa2d8
|
||||
_ZN17LinkStateInteract8LoadBhioEv kind:function(thumb,size=0x1d8) addr:0x020aa2fc
|
||||
_ZN17LinkStateInteract12OnStateEnterEv kind:function(arm,size=0x27c) addr:0x020aa4d4
|
||||
_ZN17LinkStateInteract12OnStateLeaveEi kind:function(arm,size=0x68) addr:0x020aa750
|
||||
_ZN17LinkStateInteract18func_ov00_020aa818Ev kind:function(arm,size=0x2c) addr:0x020aa7b8
|
||||
@@ -2083,7 +2083,7 @@ _ZN13LinkStateItem16GetLinkStateMoveEv kind:function(arm,size=0x10) addr:0x020ab
|
||||
_ZN13LinkStateItem18func_ov00_020abf70Ev kind:function(arm,size=0x20) addr:0x020abf10
|
||||
_ZN13LinkStateItem8vfunc_28Ev kind:function(arm,size=0x14) addr:0x020abf30
|
||||
_ZN15LinkStateDamage8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020abf44
|
||||
_ZN15LinkStateDamage20CreateDebugHierarchyEv kind:function(thumb,size=0x218) addr:0x020abf48
|
||||
_ZN15LinkStateDamage8LoadBhioEv kind:function(thumb,size=0x218) addr:0x020abf48
|
||||
_ZN15LinkStateDamage12OnStateEnterEv kind:function(arm,size=0x630) addr:0x020ac160
|
||||
_ZN15LinkStateDamage12OnStateLeaveEi kind:function(arm,size=0x1f4) addr:0x020ac790
|
||||
_ZN15LinkStateDamage18func_ov00_020ac9e4Ei kind:function(arm,size=0x6c) addr:0x020ac984
|
||||
@@ -2172,7 +2172,7 @@ _ZNK11ItemManager21HasTreasurePriceShownEj kind:function(thumb,size=0x26) addr:0
|
||||
_ZN11ItemManager21AddTreasurePriceShownEj kind:function(thumb,size=0x22) addr:0x020ae70c
|
||||
_ZN13LinkStateRoll8vfunc_00Ev kind:function(thumb,size=0x2) addr:0x020ae730
|
||||
_ZN13LinkStateRoll5GetIdEv kind:function(arm,size=0x8) addr:0x020ae734
|
||||
_ZN13LinkStateRoll20CreateDebugHierarchyEv kind:function(thumb,size=0x8) addr:0x020ae73c
|
||||
_ZN13LinkStateRoll8LoadBhioEv kind:function(thumb,size=0x8) addr:0x020ae73c
|
||||
_ZN13LinkStateRoll12OnStateEnterEv kind:function(arm,size=0x394) addr:0x020ae744
|
||||
_ZN13LinkStateRoll12OnStateLeaveEi kind:function(arm,size=0xd8) addr:0x020aead8
|
||||
_ZN13LinkStateRoll8vfunc_20Ei kind:function(arm,size=0x180) addr:0x020aebb0
|
||||
@@ -2257,7 +2257,7 @@ _ZN24UnkStruct_ov004_0210abb88vfunc_08Ei kind:function(arm,size=0x28) addr:0x020
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1e98Ei kind:function(arm,size=0x20) addr:0x020b1e38
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1eb8Ev kind:function(arm,size=0x34) addr:0x020b1e58
|
||||
_ZN17LinkStateCutscene19func_ov000_020b1eecEv kind:function(arm,size=0x58) addr:0x020b1e8c
|
||||
_ZN17LinkStateCutscene20CreateDebugHierarchyEv kind:function(thumb,size=0x168) addr:0x020b1ee4
|
||||
_ZN17LinkStateCutscene8LoadBhioEv kind:function(thumb,size=0x168) addr:0x020b1ee4
|
||||
_ZN17LinkStateCutscene12OnStateEnterEv kind:function(arm,size=0x3f4) addr:0x020b204c
|
||||
_ZN17LinkStateCutscene12OnStateLeaveEi kind:function(arm,size=0x60) addr:0x020b2440
|
||||
_ZN17LinkStateCutscene5GetIdEv kind:function(arm,size=0x8) addr:0x020b24a0
|
||||
@@ -3613,9 +3613,9 @@ func_ov000_020d75dc kind:function(arm,size=0x208) addr:0x020d757c
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d77e4Ei kind:function(arm,size=0x9c) addr:0x020d7784
|
||||
func_ov000_020d7880 kind:function(arm,size=0x20) addr:0x020d7820
|
||||
func_ov000_020d78a0 kind:function(arm,size=0x1e4) addr:0x020d7840
|
||||
func_ov000_020d7a84 kind:function(arm,size=0x50) addr:0x020d7a24
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7a84EiP5Vec3p kind:function(arm,size=0x50) addr:0x020d7a24
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7ad4Ei kind:function(arm,size=0x4c) addr:0x020d7a74
|
||||
func_ov000_020d7b20 kind:function(arm,size=0x40) addr:0x020d7ac0
|
||||
_ZN18UnkStruct_020eec9c19func_ov000_020d7b20EiP5Vec3p kind:function(arm,size=0x40) addr:0x020d7ac0
|
||||
func_ov000_020d7b60 kind:function(arm,size=0x20) addr:0x020d7b00
|
||||
func_ov000_020d7b80 kind:function(arm,size=0xec) addr:0x020d7b20
|
||||
func_ov000_020d7c6c kind:function(arm,size=0x20) addr:0x020d7c0c
|
||||
@@ -4821,13 +4821,13 @@ data_ov000_020e5960 kind:data(any) addr:0x020e5900
|
||||
data_ov000_020e5964 kind:data(any) addr:0x020e5904
|
||||
data_ov000_020e5968 kind:data(any) addr:0x020e5908
|
||||
_ZTV17LinkStateInteract kind:data(any) addr:0x020e5914
|
||||
data_ov000_020e59b8 kind:data(any) addr:0x020e5958
|
||||
data_ov000_020e59cc kind:data(any) addr:0x020e596c
|
||||
data_ov000_020e59e4 kind:data(any) addr:0x020e5984
|
||||
data_ov000_020e59fc kind:data(any) addr:0x020e599c
|
||||
data_ov000_020e5a0c kind:data(any) addr:0x020e59ac
|
||||
data_ov000_020e5a20 kind:data(any) addr:0x020e59c0
|
||||
data_ov000_020e5a34 kind:data(any) addr:0x020e59d4
|
||||
@1235 kind:data(any) addr:0x020e5958 local
|
||||
@1236 kind:data(any) addr:0x020e596c local
|
||||
@1237 kind:data(any) addr:0x020e5984 local
|
||||
@1238 kind:data(any) addr:0x020e599c local
|
||||
@1239 kind:data(any) addr:0x020e59ac local
|
||||
@1240 kind:data(any) addr:0x020e59c0 local
|
||||
@1241 kind:data(any) addr:0x020e59d4 local
|
||||
_ZTV13LinkStateItem kind:data(any) addr:0x020e59e0
|
||||
@1126 kind:data(any) addr:0x020e5a2c
|
||||
@1125 kind:data(any) addr:0x020e5a30
|
||||
|
||||
@@ -100,8 +100,8 @@ func_ov004_0210372c kind:function(thumb,size=0x12) addr:0x021036ac
|
||||
func_ov004_02103740 kind:function(thumb,size=0x12) addr:0x021036c0
|
||||
func_ov004_02103754 kind:function(thumb,size=0xc94) addr:0x021036d4
|
||||
func_ov004_021043e8 kind:function(thumb,size=0x2) addr:0x02104368
|
||||
_ZN14DebugHierarchyD0Ev kind:function(arm,size=0x1c) addr:0x0210436c
|
||||
_ZN14DebugHierarchyD1Ev kind:function(arm,size=0x14) addr:0x02104388
|
||||
_ZN4BhioD0Ev kind:function(arm,size=0x1c) addr:0x0210436c
|
||||
_ZN4BhioD1Ev kind:function(arm,size=0x14) addr:0x02104388
|
||||
_ZN14AdventureFlagsC1Ev kind:function(thumb,size=0x4c) addr:0x0210439c
|
||||
_ZN14AdventureFlagsD1Ev kind:function(thumb,size=0x3e) addr:0x021043e8
|
||||
_ZN14AdventureFlags6CreateEv kind:function(thumb,size=0x2c) addr:0x02104428
|
||||
@@ -293,7 +293,7 @@ _ZN13LinkStateBaseC2EP14PlayerLinkBase kind:function(thumb,size=0x10) addr:0x021
|
||||
_ZN13LinkStateBaseD1Ev kind:function(thumb,size=0x2) addr:0x0210ad64
|
||||
_ZN13LinkStateBaseD0Ev kind:function(thumb,size=0xc) addr:0x0210ad68
|
||||
_ZN13LinkStateBaseD2Ev kind:function(thumb,size=0x2) addr:0x0210ad74
|
||||
_ZN13LinkStateBase20CreateDebugHierarchyEv kind:function(thumb,size=0x2) addr:0x0210ad78
|
||||
_ZN13LinkStateBase8LoadBhioEv kind:function(thumb,size=0x2) addr:0x0210ad78
|
||||
_ZN13LinkStateRollC2EP14PlayerLinkBase kind:function(thumb,size=0x84) addr:0x0210ad7c
|
||||
_ZN13LinkStateRollD1Ev kind:function(thumb,size=0x28) addr:0x0210ae00
|
||||
_ZN13LinkStateRollD0Ev kind:function(thumb,size=0x2c) addr:0x0210ae28
|
||||
@@ -587,7 +587,7 @@ data_ov004_02110468 kind:data(any) addr:0x021103e8
|
||||
data_ov004_0211047c kind:data(any) addr:0x021103fc
|
||||
data_ov004_02110484 kind:data(any) addr:0x02110404
|
||||
data_ov004_0211048c kind:data(any) addr:0x0211040c
|
||||
_ZTV14DebugHierarchy kind:data(any) addr:0x02110420
|
||||
_ZTV4Bhio kind:data(any) addr:0x02110420
|
||||
data_ov004_021104e0 kind:data(any) addr:0x02110460
|
||||
data_ov004_021104f0 kind:data(any) addr:0x02110470
|
||||
data_ov004_021104f8 kind:data(any) addr:0x02110478
|
||||
|
||||
+21
-21
@@ -1520,31 +1520,31 @@ func_02030204 kind:function(arm,size=0x1c) addr:0x02030200
|
||||
func_02030220 kind:function(arm,size=0x14) addr:0x0203021c
|
||||
CopyDebugNodeDescription kind:function(arm,size=0x10) addr:0x02030230
|
||||
DebugNodeDescriptionEquals kind:function(arm,size=0x30) addr:0x02030240
|
||||
_ZN18DebugHierarchyBaseC2Ev kind:function(thumb,size=0x10) addr:0x02030270
|
||||
_ZN18DebugHierarchyBaseD1Ev kind:function(thumb,size=0x2) addr:0x02030280
|
||||
_ZN18DebugHierarchyBaseD0Ev kind:function(thumb,size=0xc) addr:0x02030284
|
||||
_ZN18DebugHierarchyBaseD2Ev kind:function(thumb,size=0x2) addr:0x02030290
|
||||
_ZN18DebugHierarchyBase8FindNodeEj kind:function(thumb,size=0x3c) addr:0x02030294
|
||||
_ZN18DebugHierarchyBase12GetChildNodeEiPKcjPi kind:function(thumb,size=0x4c) addr:0x020302d0
|
||||
_ZN18DebugHierarchyBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x0203031c
|
||||
_ZN18DebugHierarchyBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x02030320
|
||||
_ZN18DebugHierarchyBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x02030324
|
||||
_ZN18DebugHierarchyBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x02030328
|
||||
_ZN18DebugHierarchyBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x0203032c
|
||||
_ZN18DebugHierarchyBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x02030330
|
||||
_ZN18DebugHierarchyBase8vfunc_20Ev kind:function(thumb,size=0x4) addr:0x02030334
|
||||
_ZN18DebugHierarchyBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x02030338
|
||||
_ZN18DebugHierarchyBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x0203033c
|
||||
_ZN18DebugHierarchyBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x02030340
|
||||
_ZN18DebugHierarchyBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x02030344
|
||||
_ZN18DebugHierarchyBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x02030348
|
||||
_ZN18DebugHierarchyBase8vfunc_3cEv kind:function(thumb,size=0x2) addr:0x0203034c
|
||||
_ZN8BhioBaseC2Ev kind:function(thumb,size=0x10) addr:0x02030270
|
||||
_ZN8BhioBaseD1Ev kind:function(thumb,size=0x2) addr:0x02030280
|
||||
_ZN8BhioBaseD0Ev kind:function(thumb,size=0xc) addr:0x02030284
|
||||
_ZN8BhioBaseD2Ev kind:function(thumb,size=0x2) addr:0x02030290
|
||||
_ZN8BhioBase9FindGroupEj kind:function(thumb,size=0x3c) addr:0x02030294
|
||||
_ZN8BhioBase8GetFieldEbPKcjPiiiii kind:function(thumb,size=0x4c) addr:0x020302d0
|
||||
_ZN8BhioBase8vfunc_08Ev kind:function(thumb,size=0x2) addr:0x0203031c
|
||||
_ZN8BhioBase8vfunc_0cEv kind:function(thumb,size=0x2) addr:0x02030320
|
||||
_ZN8BhioBase8vfunc_10Ev kind:function(thumb,size=0x2) addr:0x02030324
|
||||
_ZN8BhioBase8vfunc_14Ev kind:function(thumb,size=0x2) addr:0x02030328
|
||||
_ZN8BhioBase8vfunc_18Ev kind:function(thumb,size=0x2) addr:0x0203032c
|
||||
_ZN8BhioBase8vfunc_1cEv kind:function(thumb,size=0x2) addr:0x02030330
|
||||
_ZN8BhioBase8vfunc_20EiPKciiii kind:function(thumb,size=0x4) addr:0x02030334
|
||||
_ZN8BhioBase8vfunc_24Ev kind:function(thumb,size=0x2) addr:0x02030338
|
||||
_ZN8BhioBase8vfunc_28Ev kind:function(thumb,size=0x2) addr:0x0203033c
|
||||
_ZN8BhioBase8vfunc_2cEv kind:function(thumb,size=0x2) addr:0x02030340
|
||||
_ZN8BhioBase8vfunc_30Ev kind:function(thumb,size=0x2) addr:0x02030344
|
||||
_ZN8BhioBase8vfunc_38Ev kind:function(thumb,size=0x2) addr:0x02030348
|
||||
_ZN8BhioBase8vfunc_3cEjPi kind:function(thumb,size=0x2) addr:0x0203034c
|
||||
_ZN18UnkStruct_0206322c13func_02030354Ebb kind:function(thumb,size=0xb4) addr:0x02030350
|
||||
_ZN18UnkStruct_0206322c13func_02030408Ev kind:function(thumb,size=0x16) addr:0x02030404
|
||||
func_02030420 kind:function(thumb,size=0x44) addr:0x0203041c
|
||||
_ZN18UnkStruct_0206322c13func_02030464Ebb kind:function(thumb,size=0x42) addr:0x02030460
|
||||
_ZN18UnkStruct_0206322c13func_020304a8Ebb kind:function(thumb,size=0x2c) addr:0x020304a4
|
||||
DisplayDebugText kind:function(thumb,size=0xd8) addr:0x020304d0
|
||||
_Z16DisplayDebugTextiiiiPci kind:function(thumb,size=0xd8) addr:0x020304d0
|
||||
func_020305ac kind:function(thumb,size=0x88) addr:0x020305a8
|
||||
_Z22DisplayDebugTextFormatiiiiiPcS_ kind:function(thumb,size=0x30) addr:0x02030630
|
||||
_Z28DisplayDebugTextFormat_thunkiiiiiPcz kind:function(thumb,size=0x26) addr:0x02030660
|
||||
@@ -2711,7 +2711,7 @@ data_02057808 kind:data(any) addr:0x020577c0
|
||||
data_02057840 kind:data(any) addr:0x020577f8
|
||||
data_0205785c kind:data(any) addr:0x02057814
|
||||
data_02057878 kind:data(any) addr:0x02057830
|
||||
_ZTV18DebugHierarchyBase kind:data(any) addr:0x0205784c
|
||||
_ZTV8BhioBase kind:data(any) addr:0x0205784c
|
||||
data_020578d4 kind:data(any) addr:0x0205788c
|
||||
data_020578d8 kind:data(any) addr:0x02057890
|
||||
data_020578ec kind:data(any) addr:0x020578a4
|
||||
|
||||
@@ -45,6 +45,8 @@ enum ActorTypeId_ {
|
||||
ActorTypeId_StorageDrum = 'DRUM',
|
||||
|
||||
ActorTypeId_SmallKey = 'NKEY',
|
||||
ActorTypeId_BossKey = 'BKEY',
|
||||
ActorTypeId_ForceGem = 'FORC',
|
||||
ActorTypeId_SwitchObject = 'SWOB',
|
||||
ActorTypeId_EventIcon = 'EVIC',
|
||||
ActorTypeId_ActionObject = 'ACOB',
|
||||
@@ -74,7 +76,6 @@ enum ActorTypeId_ {
|
||||
ActorTypeId_Postman = 'PSTM',
|
||||
|
||||
ActorTypeId_BIGR = 'BIGR',
|
||||
ActorTypeId_BKEY = 'BKEY',
|
||||
ActorTypeId_BMRN = 'BMRN',
|
||||
ActorTypeId_BMTY = 'BMTY',
|
||||
ActorTypeId_BTRF = 'BTRF',
|
||||
@@ -85,7 +86,6 @@ enum ActorTypeId_ {
|
||||
ActorTypeId_FLBT = 'FLBT',
|
||||
ActorTypeId_FLTB = 'FLTB',
|
||||
ActorTypeId_FLTM = 'FLTM',
|
||||
ActorTypeId_FORC = 'FORC',
|
||||
ActorTypeId_PWBS = 'PWBS',
|
||||
ActorTypeId_SBEM = 'SBEM',
|
||||
ActorTypeId_STNE = 'STNE',
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchyBase.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
|
||||
struct UnkStruct_027e0c68 {
|
||||
/* 00 */ unk8 mUnk_00[4];
|
||||
@@ -20,7 +20,7 @@ struct UnkStruct_027e0c68 {
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ s32 *mUnk_28;
|
||||
/* 2c */ unk8 mUnk_2c[0x1c];
|
||||
/* 48 */ DebugHierarchyBase *mDebug;
|
||||
/* 48 */ BhioBase *mDebug;
|
||||
/* 4c */
|
||||
};
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
|
||||
struct UnkStruct_027e0f64_04 {
|
||||
/* 000 */ u8 pad[0x1B4 - 0x00];
|
||||
@@ -12,7 +12,7 @@ struct UnkStruct_027e0f64_04 {
|
||||
|
||||
class UnkStruct_027e0f64 {
|
||||
public:
|
||||
/* 0 */ DebugHierarchyBase *mUnk_0;
|
||||
/* 0 */ Bhio *mUnk_0;
|
||||
/* 4 */ UnkStruct_027e0f64_04 *mUnk_4;
|
||||
/* 8 */ UnkStruct_027e0f64_04 *mUnk_8;
|
||||
/* c */
|
||||
|
||||
@@ -80,7 +80,7 @@ public:
|
||||
/* 0e0 */ Actor *mUnk_0e0;
|
||||
/* 0e4 */ unk32 mUnk_0e4;
|
||||
/* 0e8 */ unk32 mUnk_0e8;
|
||||
/* 0ec */ unk32 mUnk_0ec;
|
||||
/* 0ec */ Actor *mUnk_0ec;
|
||||
/* 0f0 */ unk32 mUnk_0f0;
|
||||
/* 0f4 */ unk32 mUnk_0f4;
|
||||
/* 0f8 */ unk32 mUnk_0f8;
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchyBase.hpp"
|
||||
|
||||
class DebugHierarchy : public DebugHierarchyBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */
|
||||
|
||||
/* 00 */ virtual ~DebugHierarchy() override;
|
||||
/* 40 */
|
||||
};
|
||||
@@ -1,35 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchyNode.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
class DebugHierarchyBase : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ void *mNodes;
|
||||
/* 08 */
|
||||
|
||||
/* 00 */ virtual ~DebugHierarchyBase();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0c */ virtual void vfunc_0c();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
/* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
/* 30 */ virtual void vfunc_30();
|
||||
/* 34 */ virtual bool GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
|
||||
unk32 param6, unk32 param7, unk32 param8);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3c */ virtual void vfunc_3c(unk32 param1, void *param2);
|
||||
/* 40 */
|
||||
|
||||
DebugHierarchyBase();
|
||||
DebugHierarchyNode *FindNode(u32 id);
|
||||
};
|
||||
@@ -1,11 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class DebugHierarchyChild {
|
||||
public:
|
||||
/* 00 */ char mUnk_00[0xc];
|
||||
/* 0c */ s32 mUnk_0c;
|
||||
/* 10 */
|
||||
};
|
||||
@@ -1,19 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchyChild.hpp"
|
||||
|
||||
class DebugHierarchyNode {
|
||||
public:
|
||||
/* 00 */ u32 mNodeId;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 0c */ unk8 mUnk_0c[0x4];
|
||||
/* 10 */ u32 mId;
|
||||
/* 14 */ s32 mUnk_14;
|
||||
/* 18 */ unk8 mUnk_18[0x8];
|
||||
/* 20 */ DebugHierarchyChild mChildren;
|
||||
/* 30 */
|
||||
};
|
||||
@@ -68,7 +68,18 @@ struct UnkStruct_0208210c_param3 {
|
||||
};
|
||||
|
||||
struct UnkStruct {
|
||||
/* 00 */ unk8 mUnk_00[0x24];
|
||||
union {
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
struct {
|
||||
/* 00 */ u16 mUnk_00_x;
|
||||
/* 02 */ u16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 06 */ u16 mUnk_06;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
};
|
||||
/* 0c */ Vec3p mUnk_0c;
|
||||
/* 18 */ unk8 mUnk_18[0x24 - 0x18];
|
||||
/* 24 */ u16 mUnk_24;
|
||||
/* 26 */ u16 mUnk_26;
|
||||
/* 28 */ u16 mUnk_28;
|
||||
@@ -92,7 +103,7 @@ struct UnkStruct {
|
||||
/* 50 */ u8 mUnk_50;
|
||||
/* 51 */ u8 mUnk_51;
|
||||
/* 52 */ unk8 mUnk_52[0x6];
|
||||
/* 58 */ u8 mUnk_58;
|
||||
/* 58 */ volatile u8 mUnk_58;
|
||||
/* 59 */ u8 mUnk_59;
|
||||
/* 5a */ u8 mUnk_5a;
|
||||
/* 5b */ u8 mUnk_5b;
|
||||
@@ -132,7 +143,8 @@ public:
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */
|
||||
|
||||
bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4);
|
||||
bool func_01ffbe78(UnkStruct *param1, Vec3p *param2, Vec3p *param3, Sphere *param4, s32 actorId, u16 param6, unk32 param7,
|
||||
unk32 param8);
|
||||
bool func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length, unk32 param5, unk32 param6,
|
||||
UnkStruct_ov000_020beba8 *param7, unk32 param8);
|
||||
bool func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7);
|
||||
@@ -332,7 +344,7 @@ public:
|
||||
static unk32 func_ov00_0208583c(MapManager *param_1, Vec3p *param_2, unk32 param_3);
|
||||
static unk32 func_ov00_020858b0(MapManager *param_1, Vec3p *param_2, unk32 param_3);
|
||||
s32 func_ov00_02085a34(Vec3p *param_2, unk32 param_3);
|
||||
unk8 func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param_4, u32 param_5);
|
||||
unk8 func_ov00_02085c60(UnkStruct *param_2, unk32 *param_3, unk32 *param_4, u32 param_5);
|
||||
unk8 func_ov00_02086044(Vec3p *param_2, Vec3p *param_3, unk32 param_4);
|
||||
bool func_ov00_02086284(s32 *param_2, Vec3p *param_3, Vec3p *param_4, s32 param_5, u16 param_6, Vec3p *param_7,
|
||||
Vec3p *param_8);
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Message/BMG.hpp"
|
||||
#include "Message/MsgProc.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "nds/math.h"
|
||||
|
||||
@@ -36,7 +36,7 @@ public:
|
||||
/* 0x20 */ UnkStruct_02037750 *mUnk_20[2];
|
||||
/* 0x28 */ UnkStruct_02038aa0 *mUnk_28[6]; //! TODO: is it the right type?
|
||||
/* 0x40 */ UnkStruct_020397f8 *mUnk_40[2]; // is array size 6?
|
||||
/* 0x48 */ DebugHierarchy *mDebug;
|
||||
/* 0x48 */ Bhio *mBhio;
|
||||
/* 0x4C */
|
||||
|
||||
static void func_0203643c(u32 *param_1, MessageManager *param_2, u32 param_3);
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
#define BHIO_GROUP_MAGIC 'HFND'
|
||||
|
||||
struct BhioField {
|
||||
/* 00 */ char mName[0xc];
|
||||
/* 0c */ s32 mValue;
|
||||
/* 10 */
|
||||
};
|
||||
|
||||
struct BhioGroup {
|
||||
/* 00 */ u32 mMagic;
|
||||
/* 04 */ u32 mUnk_04;
|
||||
/* 08 */ u32 mUnk_08;
|
||||
/* 0c */ u32 mUnk_0c;
|
||||
/* 10 */ u32 mGroupId;
|
||||
/* 14 */ u32 mNumFields;
|
||||
/* 18 */ unk8 mUnk_18[0x8];
|
||||
/* 20 */ BhioField mFields[];
|
||||
};
|
||||
|
||||
class BhioBase : public SysObject {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ void *mNodes;
|
||||
/* 08 */
|
||||
|
||||
/* 00 */ virtual ~BhioBase();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0c */ virtual void vfunc_0c();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18();
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
/* 20 */ virtual void vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2c */ virtual void vfunc_2c();
|
||||
/* 30 */ virtual void vfunc_30();
|
||||
/* 34 */ virtual bool GetField(bool param1, const char *fieldName, u32 groupId, s32 *pValue, unk32 param5, unk32 param6,
|
||||
unk32 param7, unk32 param8);
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3c */ virtual void vfunc_3c(u32 groupId, s32 *pValue);
|
||||
/* 40 */
|
||||
|
||||
BhioBase();
|
||||
BhioGroup *FindGroup(u32 id);
|
||||
|
||||
inline bool GetField2(bool param1, u32 groupId, const char *fieldName, s32 *pValue, unk32 param5, unk32 param6,
|
||||
unk32 param7) {
|
||||
if (param1) {
|
||||
this->vfunc_3c(groupId, pValue);
|
||||
}
|
||||
return this->GetField(param1, fieldName, groupId, pValue, param5, param6, param7, 0);
|
||||
}
|
||||
};
|
||||
|
||||
class Bhio : public BhioBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 08 */
|
||||
|
||||
/* 00 */ virtual ~Bhio() override;
|
||||
/* 40 */
|
||||
};
|
||||
@@ -7,7 +7,7 @@
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "DTCM/UnkStruct_027e0fd4.hpp"
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
#include "Player/EquipItem.hpp"
|
||||
#include "Player/PlayerControlData.hpp"
|
||||
#include "Player/PlayerLinkBase.hpp"
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual ~LinkStateBase();
|
||||
/* 0c */ virtual LinkStateId GetId() = 0;
|
||||
/* 10 */ virtual void CreateDebugHierarchy();
|
||||
/* 10 */ virtual void LoadBhio();
|
||||
/* 14 */ virtual void OnStateEnter();
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1);
|
||||
/* 1c */ virtual void vfunc_1c();
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
void ChangeLinkSubState(LinkStateId id, s32 subState);
|
||||
void EquipItem_vfunc_28();
|
||||
void UpdateSwordShieldInUse();
|
||||
void func_ov00_020a81b8(unk32 param1, unk32 param2);
|
||||
void func_ov00_020a81b8(unk32 param1, Vec3p *param2);
|
||||
LinkStateItem *GetLinkItemState();
|
||||
void LookAt(Vec3p *target);
|
||||
void func_ov00_020a81fc(Vec3p *param1, unk32 param2);
|
||||
@@ -116,13 +116,13 @@ public:
|
||||
Vec3p *GetPlayerPos();
|
||||
Vec3p *GetPlayerVel();
|
||||
unk8 *func_ov00_020a8c64();
|
||||
s16 *GetPlayerAngle();
|
||||
u16 *GetPlayerAngle();
|
||||
void *GetPlayer_Unk18();
|
||||
s32 Get_PlayerControlData_Unk32();
|
||||
Actor *GetGrabActor();
|
||||
ActorRef *GetGrabActorRef();
|
||||
unk32 Grab();
|
||||
s32 Get_PlayerLinkBase_Unk44();
|
||||
s32 *Get_PlayerLinkBase_Unk44();
|
||||
bool IsEquipBeingUsed(ItemFlag id);
|
||||
EquipItem *GetEquipItem(ItemFlag id);
|
||||
UnkStruct_027e0fd4 *func_ov00_020a8d40();
|
||||
@@ -132,8 +132,8 @@ public:
|
||||
unk32 Get_PlayerControlData_Unk100();
|
||||
unk32 Get_PlayerControlData_Unk120();
|
||||
s32 Get_PlayerLinkBase_Unk38();
|
||||
DebugHierarchy *GetDebugHierarchy0();
|
||||
DebugHierarchy *GetDebugHierarchy1();
|
||||
Bhio *GetBhio0();
|
||||
Bhio *GetBhio1();
|
||||
|
||||
LinkStateBase(PlayerLinkBase *link);
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ public:
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 04 */ virtual ~LinkStateCutscene() override;
|
||||
/* 0c */ virtual LinkStateId GetId() override;
|
||||
/* 10 */ virtual void CreateDebugHierarchy() override;
|
||||
/* 10 */ virtual void LoadBhio() override;
|
||||
/* 14 */ virtual void OnStateEnter() override;
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
|
||||
@@ -43,7 +43,7 @@ public:
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 04 */ virtual ~LinkStateDamage() override;
|
||||
/* 0c */ virtual LinkStateId GetId() override;
|
||||
/* 10 */ virtual void CreateDebugHierarchy() override;
|
||||
/* 10 */ virtual void LoadBhio() override;
|
||||
/* 14 */ virtual void OnStateEnter() override;
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
|
||||
@@ -8,22 +8,26 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Player/LinkStateBase.hpp"
|
||||
#include "Player/LinkStateRoll.hpp"
|
||||
#include "Unknown/UnkStruct_02035064.hpp"
|
||||
|
||||
class LinkStateInteract : public LinkStateBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 0c */ void *mUnk_0c;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ ActorRef mGrabRef;
|
||||
/* 18 */ Vec3p mThrowOffset;
|
||||
/* 24 */ unk8 mUnk_24[0x88]; // non-documented struct
|
||||
/* 24 */ UnkStruct_02035064 mUnk_24;
|
||||
/* ac */ unk32 mUnk_ac;
|
||||
/* b0 */ unk8 mUnk_b0[4];
|
||||
/* b0 */ bool mUnk_b0;
|
||||
/* b1 */ bool mUnk_b1;
|
||||
/* b2 */ bool mUnk_b2;
|
||||
/* b3 */ unk8 mUnk_b3;
|
||||
/* b4 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 04 */ virtual ~LinkStateInteract() override;
|
||||
/* 0c */ virtual LinkStateId GetId() override;
|
||||
/* 10 */ virtual void CreateDebugHierarchy() override;
|
||||
/* 10 */ virtual void LoadBhio() override;
|
||||
/* 14 */ virtual void OnStateEnter() override;
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
@@ -36,7 +40,7 @@ public:
|
||||
s32 GetGrabActorId();
|
||||
bool func_ov00_020aa818();
|
||||
void func_ov00_020aa844(Actor *param1);
|
||||
LinkStateRoll *GetLinkStateRoll();
|
||||
static LinkStateRoll *GetLinkStateRoll();
|
||||
void SetGrabActorVelocity(Vec3p *velocity);
|
||||
void SetBombVelocity(Vec3p *velocity);
|
||||
void func_ov00_020ab6c8();
|
||||
@@ -46,8 +50,8 @@ public:
|
||||
void SetThrowOffset(Vec3p *target);
|
||||
void func_ov00_020ab934(Vec3p *target);
|
||||
void func_ov00_020ab97c(Vec3p *target);
|
||||
void func_ov00_020ab9b8(u32 param1, bool param2);
|
||||
void Grab(ActorRef *ref);
|
||||
void func_ov00_020ab9b8(s32 param1, bool param2);
|
||||
bool Grab(ActorRef *ref);
|
||||
void func_ov00_020abba0(ActorRef *ref);
|
||||
void func_ov00_020abbdc(ActorRef *ref); // duplicate of func_ov00_020abba0
|
||||
void func_ov00_020abc18(ActorRef *ref);
|
||||
|
||||
@@ -22,7 +22,7 @@ public:
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 04 */ virtual ~LinkStateMove() override;
|
||||
/* 0c */ virtual LinkStateId GetId() override;
|
||||
/* 10 */ virtual void CreateDebugHierarchy() override;
|
||||
/* 10 */ virtual void LoadBhio() override;
|
||||
/* 14 */ virtual void OnStateEnter() override;
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
|
||||
@@ -32,7 +32,7 @@ public:
|
||||
/* 00 */ virtual void vfunc_00() override;
|
||||
/* 04 */ virtual ~LinkStateRoll() override;
|
||||
/* 0c */ virtual LinkStateId GetId() override;
|
||||
/* 10 */ virtual void CreateDebugHierarchy() override;
|
||||
/* 10 */ virtual void LoadBhio() override;
|
||||
/* 14 */ virtual void OnStateEnter() override;
|
||||
/* 18 */ virtual void OnStateLeave(s32 param1) override;
|
||||
/* 1c */ virtual void vfunc_1c() override;
|
||||
|
||||
@@ -7,9 +7,9 @@
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Map/TilePos.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
#include "Player/TouchControl.hpp"
|
||||
#include "Player/TouchGesture.hpp"
|
||||
|
||||
@@ -72,7 +72,7 @@ public:
|
||||
/* c8 */ s32 mUnk_c8;
|
||||
/* cc */ s32 mUnk_cc;
|
||||
/* d0 */ TouchGesture **mTouchGesture;
|
||||
/* d4 */ DebugHierarchy *mDebug;
|
||||
/* d4 */ Bhio *mBhio;
|
||||
/* d8 */
|
||||
|
||||
static bool func_ov00_020aeeac();
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
#include "types.h"
|
||||
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/Bhio.hpp"
|
||||
#include "Player/MotionParams.hpp"
|
||||
#include "Player/PlayerBase.hpp"
|
||||
#include "Player/PlayerControlData.hpp"
|
||||
@@ -40,9 +40,9 @@ public:
|
||||
/* 5c */ unk8 mUnk_5c[3];
|
||||
/* 5f */ bool mUnk_5f;
|
||||
/* 60 */ MotionParams *mMotionParams;
|
||||
/* 64 */ DebugHierarchy *mDebugHierarchy_0;
|
||||
/* 68 */ DebugHierarchy *mDebugHierarchy_1;
|
||||
/* 6c */ DebugHierarchy *mDebugHierarchy_2;
|
||||
/* 64 */ Bhio *mBhio_0;
|
||||
/* 68 */ Bhio *mBhio_1;
|
||||
/* 6c */ Bhio *mBhio_2;
|
||||
/* 70 */
|
||||
|
||||
/* 00 */ virtual s32 GetMaxHealth() override;
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nds/math.h>
|
||||
|
||||
struct UnkStruct_020eec9c_28 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
@@ -38,7 +40,9 @@ public:
|
||||
|
||||
void func_ov000_020d77e4(unk32);
|
||||
unk32 func_ov000_020d7f18(unk32);
|
||||
void func_ov000_020d7a84(unk32, Vec3p *);
|
||||
void func_ov000_020d7ad4(unk32);
|
||||
void func_ov000_020d7b20(unk32, Vec3p *);
|
||||
void func_ov008_0211337c();
|
||||
};
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@ typedef s16 q4;
|
||||
#define DIV_Q20(a, b) (((a) << 12) / (b))
|
||||
|
||||
#define DEG_TO_ANG(n) ((n) * 0x10000 / 360)
|
||||
#define SIN(n) (gSinCosTable[2 * ((n) >> 4)])
|
||||
#define COS(n) (gSinCosTable[2 * ((n) >> 4) + 1])
|
||||
#define SIN(n) (FX_SinCosTable_[2 * ((n) >> 4)])
|
||||
#define COS(n) (FX_SinCosTable_[2 * ((n) >> 4) + 1])
|
||||
|
||||
u32 func_01ff9f3c(s32 a, s32 b);
|
||||
s32 FX_Atan2Idx(s32 x, s32 y);
|
||||
@@ -49,7 +49,7 @@ u32 CoRemainder(u32 a, u32 b);
|
||||
|
||||
bool Approach(unk32 *src, unk32 dest, unk32 step);
|
||||
bool Approach_thunk(unk32 *src, unk32 dest, unk32 step);
|
||||
extern q4 gSinCosTable[];
|
||||
extern q4 FX_SinCosTable_[];
|
||||
|
||||
typedef struct {
|
||||
/* 0 */ s16 x;
|
||||
@@ -121,6 +121,7 @@ bool Vec3p_TryNormalize(Vec3p *vec);
|
||||
q20 Vec3p_DistanceSquared(Vec3p *a, Vec3p *b);
|
||||
void Vec3p_Scale(Vec3p *vec, q20 scale);
|
||||
bool Vec3p_CalculateNormal(Vec3p *vec, Vec3p *a, Vec3p *b, Vec3p *c);
|
||||
void Vec3p_SetLength(Vec3p *vec, q20 len, Vec3p *out);
|
||||
|
||||
inline void Vec3p_Rotate(Vec3p *vec, q20 sin, q20 cos, Vec3p *out) {
|
||||
out->x += MUL_Q20(vec->z, sin);
|
||||
|
||||
@@ -604,8 +604,8 @@ ARM bool Actor::func_ov00_020c243c(ActorTypeId *actorTypes, Actor **out) {
|
||||
case ActorTypeId_BTRF:
|
||||
case ActorTypeId_STNE:
|
||||
case ActorTypeId_TARU:
|
||||
case ActorTypeId_BKEY:
|
||||
case ActorTypeId_FORC:
|
||||
case ActorTypeId_BossKey:
|
||||
case ActorTypeId_ForceGem:
|
||||
case ActorTypeId_FLTB:
|
||||
case ActorTypeId_TSUB:
|
||||
knockback.mUnk_10 = 10;
|
||||
@@ -748,8 +748,8 @@ ARM void Actor::GetHitbox(Cylinder *hitbox) {
|
||||
hitbox->pos.z = mPos.z;
|
||||
hitbox->pos.y += mHitbox.pos.y;
|
||||
|
||||
q20 sin = gSinCosTable[angle];
|
||||
q20 cos = gSinCosTable[angle + 1];
|
||||
q20 sin = FX_SinCosTable_[angle];
|
||||
q20 cos = FX_SinCosTable_[angle + 1];
|
||||
Vec3p_Rotate(&mHitbox.pos, sin, cos, &hitbox->pos);
|
||||
}
|
||||
|
||||
@@ -761,8 +761,8 @@ ARM void Actor::GetUnk_08c(Cylinder *param1) {
|
||||
param1->pos.z = mPos.z;
|
||||
param1->pos.y += mUnk_08c.pos.y;
|
||||
|
||||
q20 sin = gSinCosTable[angle];
|
||||
q20 cos = gSinCosTable[angle + 1];
|
||||
q20 sin = FX_SinCosTable_[angle];
|
||||
q20 cos = FX_SinCosTable_[angle + 1];
|
||||
Vec3p_Rotate(&mUnk_08c.pos, sin, cos, ¶m1->pos);
|
||||
}
|
||||
|
||||
|
||||
@@ -2483,7 +2483,7 @@ s32 MapManager::func_ov00_02085a34(Vec3p *param_2, s32 param_3) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param_4, u32 param_5) {
|
||||
unk8 MapManager::func_ov00_02085c60(UnkStruct *param_2, unk32 *param_3, unk32 *param_4, u32 param_5) {
|
||||
s64 lVar1;
|
||||
s32 *puVar2;
|
||||
unk32 dVar3; // dword
|
||||
@@ -2502,24 +2502,6 @@ unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param
|
||||
Vec3p VStack_b0;
|
||||
Vec3p VStack_a4;
|
||||
Vec3p VStack_98;
|
||||
Vec3p aVStack_8c[3];
|
||||
unk16 uStack_68;
|
||||
unk16 uStack_66;
|
||||
unk16 uStack_64;
|
||||
unk16 uStack_62;
|
||||
unk16 uStack_60;
|
||||
unk8 uStack_3e;
|
||||
unk8 uStack_3d;
|
||||
unk8 uStack_3c;
|
||||
unk8 uStack_3b;
|
||||
unk8 uStack_34;
|
||||
unk8 uStack_33;
|
||||
unk8 uStack_32;
|
||||
unk8 uStack_31;
|
||||
unk8 uStack_30;
|
||||
unk8 uStack_2f;
|
||||
unk32 uStack_2c;
|
||||
unk32 uStack_28;
|
||||
|
||||
if (param_5 == 0) {
|
||||
return 0;
|
||||
@@ -2565,47 +2547,31 @@ unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param
|
||||
VStack_d8.pos.z = 0;
|
||||
VStack_d8.radius = param_5;
|
||||
do {
|
||||
bVar4 = func_01ffbe78(param_2, &VStack_b0, &VStack_bc, &VStack_d8);
|
||||
bVar4 = func_01ffbe78(param_2, &VStack_b0, &VStack_bc, &VStack_d8, 0, 0, 0, 0);
|
||||
if (bVar4) {
|
||||
VStack_e4.x = param_2->x;
|
||||
VStack_e4.y = param_2->y;
|
||||
VStack_e4.z = param_2->z;
|
||||
VStack_f0.x = param_2[1].x;
|
||||
VStack_f0.y = param_2[1].y;
|
||||
VStack_f0.z = param_2[1].z;
|
||||
VStack_e4.x = param_2->mUnk_00.x;
|
||||
VStack_e4.y = param_2->mUnk_00.y;
|
||||
VStack_e4.z = param_2->mUnk_00.z;
|
||||
VStack_f0.x = param_2->mUnk_0c.x;
|
||||
VStack_f0.y = param_2->mUnk_0c.y;
|
||||
VStack_f0.z = param_2->mUnk_0c.z;
|
||||
Vec3p_Normalize(&VStack_f0, &VStack_f0);
|
||||
Vec3p_Scale(&VStack_f0, param_5);
|
||||
Vec3p_Add(&VStack_e4, &VStack_f0, &VStack_e4);
|
||||
dVar3 = 0xffff;
|
||||
param_2->x = VStack_e4.x;
|
||||
param_2->y = VStack_e4.y;
|
||||
param_2->z = VStack_e4.z;
|
||||
uStack_68 = (u16) dVar3;
|
||||
uStack_60 = 0;
|
||||
uStack_3e = 0;
|
||||
uStack_3d = 0;
|
||||
uStack_3c = 0;
|
||||
uStack_3b = 0;
|
||||
uStack_34 = 0;
|
||||
uStack_33 = 0;
|
||||
uStack_32 = 0;
|
||||
uStack_31 = 0;
|
||||
uStack_30 = 0;
|
||||
uStack_2f = 0;
|
||||
uStack_2c = 0xffffffff;
|
||||
uStack_28 = 0xffffffff;
|
||||
uStack_66 = uStack_68;
|
||||
uStack_64 = uStack_68;
|
||||
uStack_62 = uStack_68;
|
||||
bVar5 = func_01ffbe78(aVStack_8c, &VStack_e4, &VStack_e4, &VStack_d8);
|
||||
dVar3 = 0xffff;
|
||||
param_2->mUnk_00.x = VStack_e4.x;
|
||||
param_2->mUnk_00.y = VStack_e4.y;
|
||||
param_2->mUnk_00.z = VStack_e4.z;
|
||||
UnkStruct aVStack_8c;
|
||||
bVar5 = func_01ffbe78(&aVStack_8c, &VStack_e4, &VStack_e4, &VStack_d8, 0, 0, 0, 0);
|
||||
if (bVar5) {
|
||||
VStack_e4.x = aVStack_8c[0].x;
|
||||
VStack_e4.y = aVStack_8c[0].y;
|
||||
VStack_e4.z = aVStack_8c[0].z;
|
||||
VStack_e4.x = aVStack_8c.mUnk_00.x;
|
||||
VStack_e4.y = aVStack_8c.mUnk_00.y;
|
||||
VStack_e4.z = aVStack_8c.mUnk_00.z;
|
||||
}
|
||||
func_ov000_0207920c(data_027e0d3c, &VStack_e4, (unk32 *) &iStack_104, 0);
|
||||
param_2[8].x = iStack_104.x;
|
||||
param_2[8].y = iStack_104.y;
|
||||
((Vec3p *) param_2 + 8)->x = iStack_104.x;
|
||||
((Vec3p *) param_2 + 8)->y = iStack_104.y;
|
||||
return 1;
|
||||
}
|
||||
VStack_bc.x = VStack_b0.x;
|
||||
@@ -2617,12 +2583,12 @@ unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param
|
||||
bVar5 = true;
|
||||
}
|
||||
} while (!bVar5);
|
||||
param_2->x = VStack_98.x;
|
||||
param_2->y = VStack_98.y;
|
||||
param_2->z = VStack_98.z;
|
||||
param_2->mUnk_00.x = VStack_98.x;
|
||||
param_2->mUnk_00.y = VStack_98.y;
|
||||
param_2->mUnk_00.z = VStack_98.z;
|
||||
func_ov000_0207920c(puVar2, &VStack_98, &iStack_10c, 0);
|
||||
param_2[8].x = iStack_10c;
|
||||
param_2[8].y = iStack_108;
|
||||
((Vec3p *) param_2 + 8)->x = iStack_10c;
|
||||
((Vec3p *) param_2 + 8)->y = iStack_108;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ void LinkStateBase::ChangeLinkState(LinkStateId id) {}
|
||||
void LinkStateBase::ChangeLinkSubState(LinkStateId id, s32 subState) {}
|
||||
void LinkStateBase::EquipItem_vfunc_28() {}
|
||||
void LinkStateBase::UpdateSwordShieldInUse() {}
|
||||
void LinkStateBase::func_ov00_020a81b8(unk32 param1, unk32 param2) {}
|
||||
void LinkStateBase::func_ov00_020a81b8(unk32 param1, Vec3p *param2) {}
|
||||
LinkStateItem *LinkStateBase::GetLinkItemState() {}
|
||||
void LinkStateBase::LookAt(Vec3p *target) {}
|
||||
void LinkStateBase::func_ov00_020a81fc(Vec3p *param1, unk32 param2) {}
|
||||
@@ -65,13 +65,13 @@ bool LinkStateBase::func_ov00_020a8c34() {}
|
||||
Vec3p *LinkStateBase::GetPlayerPos() {}
|
||||
Vec3p *LinkStateBase::GetPlayerVel() {}
|
||||
unk8 *LinkStateBase::func_ov00_020a8c64() {}
|
||||
s16 *LinkStateBase::GetPlayerAngle() {}
|
||||
u16 *LinkStateBase::GetPlayerAngle() {}
|
||||
void *LinkStateBase::GetPlayer_Unk18() {}
|
||||
s32 LinkStateBase::Get_PlayerControlData_Unk32() {}
|
||||
Actor *LinkStateBase::GetGrabActor() {}
|
||||
ActorRef *LinkStateBase::GetGrabActorRef() {}
|
||||
unk32 LinkStateBase::Grab() {}
|
||||
s32 LinkStateBase::Get_PlayerLinkBase_Unk44() {}
|
||||
s32 *LinkStateBase::Get_PlayerLinkBase_Unk44() {}
|
||||
bool LinkStateBase::IsEquipBeingUsed(ItemFlag id) {}
|
||||
EquipItem *LinkStateBase::GetEquipItem(ItemFlag id) {}
|
||||
UnkStruct_027e0fd4 *LinkStateBase::func_ov00_020a8d40() {}
|
||||
@@ -81,5 +81,5 @@ s32 LinkStateBase::PlayerControlData_vfunc_14(s32 param1) {}
|
||||
unk32 LinkStateBase::Get_PlayerControlData_Unk100() {}
|
||||
unk32 LinkStateBase::Get_PlayerControlData_Unk120() {}
|
||||
s32 LinkStateBase::Get_PlayerLinkBase_Unk38() {}
|
||||
DebugHierarchy *LinkStateBase::GetDebugHierarchy0() {}
|
||||
DebugHierarchy *LinkStateBase::GetDebugHierarchy1() {}
|
||||
Bhio *LinkStateBase::GetBhio0() {}
|
||||
Bhio *LinkStateBase::GetBhio1() {}
|
||||
|
||||
@@ -5,7 +5,7 @@ void UnkStruct_ov004_0210abb8::vfunc_08(unk32 param1) {}
|
||||
bool LinkStateCutscene::func_ov000_020b1e98(s32 param1) {}
|
||||
bool LinkStateCutscene::func_ov000_020b1eb8() {}
|
||||
bool LinkStateCutscene::func_ov000_020b1eec() {}
|
||||
void LinkStateCutscene::CreateDebugHierarchy() {}
|
||||
void LinkStateCutscene::LoadBhio() {}
|
||||
void LinkStateCutscene::OnStateEnter() {}
|
||||
void LinkStateCutscene::OnStateLeave(s32 param1) {}
|
||||
LinkStateId LinkStateCutscene::GetId() {}
|
||||
|
||||
@@ -21,68 +21,41 @@ LinkStateBase_UnkStruct1 LinkStateDamage::data_ov000_020e5b30 = {39, {0x1000, 0,
|
||||
LinkStateBase_UnkStruct1 LinkStateDamage::data_ov000_020e5b40 = {10, {0x800, 0, 0x4000}};
|
||||
LinkStateBase_UnkStruct1 LinkStateDamage::data_ov000_020e5b50 = {84, {0x1000, 0, 0x19000}};
|
||||
|
||||
THUMB void LinkStateDamage::CreateDebugHierarchy() {
|
||||
unk32 id = 'LDMG';
|
||||
|
||||
THUMB void LinkStateDamage::LoadBhio() {
|
||||
s32 unk1 = this->PlayerControlData_vfunc_14(data_ov000_020e5af0.mUnk_00);
|
||||
|
||||
// Front minor damage regeneration speed "前小ダメ再生速度"
|
||||
const char *description1 = "\x91O\x8f\xac\x83_\x83\x81\x8d\xc4\x90\xb6\x91\xac\x93x\x00\x00\x00";
|
||||
// Front minor damage regeneration speed
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "前小ダメ再生速度", &data_ov000_020e5af0.mUnk_04.x, 8, 0, 0x2000);
|
||||
|
||||
// Front minor damage start frame "前小ダメ開始フレーム"
|
||||
const char *description2 = "\x91O\x8f\xac\x83_\x83\x81\x8aJ\x8en\x83t\x83\x8c\x81[\x83\x80\x00\x00\x00";
|
||||
// Front minor damage start frame
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "前小ダメ開始フレーム", &data_ov000_020e5af0.mUnk_04.y, 8, 0, unk1 / 2);
|
||||
|
||||
// Front minor damage end frame "前小ダメ終了フレーム"
|
||||
const char *description3 = "\x91O\x8F\xAC\x83_\x83\x81\x8FI\x97\xB9\x83t\x83\x8c\x81[\x83\x80\x00\x00\x00";
|
||||
// Front minor damage end frame
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "前小ダメ終了フレーム", &data_ov000_020e5af0.mUnk_04.z, 8, unk1 / 2, unk1);
|
||||
|
||||
DebugHierarchy *debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5af0.mUnk_04.x);
|
||||
debugHierarchy->GetChildNode(1, description1, id, &data_ov000_020e5af0.mUnk_04.x, 8, 0, 0x2000, 0);
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5af0.mUnk_04.y);
|
||||
debugHierarchy->GetChildNode(1, description2, id, &data_ov000_020e5af0.mUnk_04.y, 8, 0, unk1 / 2, 0);
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5af0.mUnk_04.z);
|
||||
debugHierarchy->GetChildNode(1, description3, id, &data_ov000_020e5af0.mUnk_04.z, 8, unk1 / 2, unk1, 0);
|
||||
unk1 = this->PlayerControlData_vfunc_14(data_ov000_020e5b00.mUnk_00);
|
||||
|
||||
// Back minor damage regeneration speed "後小ダメ再生速度"
|
||||
const char *description4 = "\x8c\xE3\x8F\xAC\x83_\x83\x81\x8D\xC4\x90\xB6\x91\xAC\x93x\x00\x00\x00";
|
||||
// Back minor damage regeneration speed
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "後小ダメ再生速度", &data_ov000_020e5b00.mUnk_04.x, 8, 0, 0x2000);
|
||||
|
||||
// Back minor damage start frame "後小ダメ開始フレーム"
|
||||
const char *description5 = "\x8C\xE3\x8F\xAC\x83_\x83\x81\x8AJ\x8En\x83t\x83\x8c\x81[\x83\x80\x00\x00\x00";
|
||||
// Back minor damage start frame
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "後小ダメ開始フレーム", &data_ov000_020e5b00.mUnk_04.y, 8, 0, unk1 / 2);
|
||||
|
||||
// Back minor damage end frame "後小ダメ終了フレーム"
|
||||
const char *description6 = "\x8C\xE3\x8F\xAC\x83_\x83\x81\x8FI\x97\xB9\x83t\x83\x8c\x81[\x83\x80\x00\x00\x00";
|
||||
// Back minor damage end frame
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "後小ダメ終了フレーム", &data_ov000_020e5b00.mUnk_04.z, 8, unk1 / 2, unk1);
|
||||
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5b00.mUnk_04.x);
|
||||
debugHierarchy->GetChildNode(1, description4, id, &data_ov000_020e5b00.mUnk_04.x, 8, 0, 0x2000, 0);
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5b00.mUnk_04.y);
|
||||
debugHierarchy->GetChildNode(1, description5, id, &data_ov000_020e5b00.mUnk_04.y, 8, 0, unk1 / 2, 0);
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5b00.mUnk_04.z);
|
||||
debugHierarchy->GetChildNode(1, description6, id, &data_ov000_020e5b00.mUnk_04.z, 8, unk1 / 2, unk1, 0);
|
||||
// Number of tears [verb]
|
||||
this->GetBhio0()->GetField2(false, 'LDMG', "ビリビリ回数", &data_ov000_020e5aec, 6, 0, 0x14);
|
||||
|
||||
// Number of tears [verb] "ビリビリ回数"
|
||||
const char *description7 = "\x83r\x83\x8A\x83r\x83\x8A\x89\xF1\x90\x94\x00\x00\x00";
|
||||
// Tear [verb] playback speed
|
||||
this->GetBhio0()->GetField2(true, 'LDMG', "ビリビリ再生速度", &data_ov000_020e5adc.mUnk_04.x, 8, 0, 0x2000);
|
||||
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->GetChildNode(0, description7, id, &data_ov000_020e5aec, 6, 0, 0x14, 0);
|
||||
|
||||
// Tear [verb] playback speed "ビリビリ再生速度"
|
||||
const char *description8 = "\x83r\x83\x8A\x83r\x83\x8A\x8D\xC4\x90\xB6\x91\xAC\x93x\x00\x00\x00";
|
||||
|
||||
debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e5adc.mUnk_04.x);
|
||||
debugHierarchy->GetChildNode(1, description8, id, &data_ov000_020e5adc.mUnk_04.x, 8, 0, 0x2000, 0);
|
||||
this->GetDebugHierarchy0();
|
||||
this->GetDebugHierarchy0();
|
||||
this->GetDebugHierarchy0();
|
||||
this->GetDebugHierarchy0();
|
||||
this->GetDebugHierarchy0();
|
||||
this->GetDebugHierarchy1();
|
||||
this->GetBhio0();
|
||||
this->GetBhio0();
|
||||
this->GetBhio0();
|
||||
this->GetBhio0();
|
||||
this->GetBhio0();
|
||||
this->GetBhio1();
|
||||
}
|
||||
|
||||
ARM void LinkStateDamage::OnStateEnter() {
|
||||
@@ -150,7 +123,7 @@ ARM void LinkStateDamage::Knockback(Vec3p *knockbackVec, unk32 param2) {
|
||||
playerVel->y = knockbackVec->y;
|
||||
playerVel->z = knockbackVec->z;
|
||||
s16 groundAngle = FX_Atan2Idx(knockbackVec->x, knockbackVec->z);
|
||||
s16 *playerAngle = this->GetPlayerAngle();
|
||||
u16 *playerAngle = this->GetPlayerAngle();
|
||||
*playerAngle = groundAngle - 0x8000;
|
||||
this->mUnk_24[12] = 0;
|
||||
this->mUnk_22 = param2;
|
||||
|
||||
@@ -1,30 +1,696 @@
|
||||
#include "Player/LinkStateInteract.hpp"
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Player/PlayerControl.hpp"
|
||||
#include "Unknown/UnkStruct_020eec9c.hpp"
|
||||
|
||||
void LinkStateInteract::vfunc_00() {}
|
||||
LinkStateId LinkStateInteract::GetId() {}
|
||||
void LinkStateInteract::CreateDebugHierarchy() {}
|
||||
s32 LinkStateInteract::GetGrabActorId() {}
|
||||
void LinkStateInteract::OnStateEnter() {}
|
||||
void LinkStateInteract::OnStateLeave(s32 param1) {}
|
||||
bool LinkStateInteract::func_ov00_020aa818() {}
|
||||
void LinkStateInteract::func_ov00_020aa844(Actor *param1) {}
|
||||
bool LinkStateInteract::vfunc_20(s32 param1) {}
|
||||
LinkStateRoll *LinkStateInteract::GetLinkStateRoll() {}
|
||||
bool LinkStateInteract::vfunc_24(s32 param1) {}
|
||||
bool LinkStateInteract::vfunc_34(Vec3p *param1) {}
|
||||
void LinkStateInteract::SetGrabActorVelocity(Vec3p *velocity) {}
|
||||
void LinkStateInteract::SetBombVelocity(Vec3p *velocity) {}
|
||||
void LinkStateInteract::func_ov00_020ab6c8() {}
|
||||
unk32 LinkStateInteract::func_ov00_020ab770(Vec3p *param1) {}
|
||||
unk32 LinkStateInteract::func_ov00_020ab7bc(Vec3p *param1, Actor *actor) {}
|
||||
void LinkStateInteract::SetNormalizedThrowOffset(Vec3p *target) {}
|
||||
void LinkStateInteract::SetThrowOffset(Vec3p *target) {}
|
||||
void LinkStateInteract::func_ov00_020ab934(Vec3p *target) {}
|
||||
void LinkStateInteract::func_ov00_020ab97c(Vec3p *target) {}
|
||||
void LinkStateInteract::func_ov00_020ab9b8(u32 param1, bool param2) {}
|
||||
void LinkStateInteract::Grab(ActorRef *ref) {}
|
||||
void LinkStateInteract::func_ov00_020abba0(ActorRef *ref) {}
|
||||
void LinkStateInteract::func_ov00_020abbdc(ActorRef *ref) {}
|
||||
void LinkStateInteract::func_ov00_020abc18(ActorRef *ref) {}
|
||||
bool LinkStateInteract::func_ov00_020abc40() {}
|
||||
bool LinkStateInteract::func_ov00_020abc78(ActorRef *ref) {}
|
||||
static char *sShipTypes[] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
|
||||
|
||||
THUMB void LinkStateInteract::vfunc_00() {}
|
||||
|
||||
ARM LinkStateId LinkStateInteract::GetId() {
|
||||
return LinkStateId_Interact;
|
||||
}
|
||||
|
||||
ARM s32 LinkStateInteract::GetGrabActorId() {
|
||||
switch (mSubState) {
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
return mGrabRef.id;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
static unk32 data_ov000_020e5928 = 0x2;
|
||||
static LinkStateBase_UnkStruct1 data_ov000_020e592c = {0x1d, {0x1666, 0x0, 0x5000}};
|
||||
static LinkStateBase_UnkStruct1 data_ov000_020e593c = {0x1e, {0x1999, 0x2000, 0xa000}};
|
||||
static LinkStateBase_UnkStruct1 data_ov000_020e594c = {0x1e, {0xffffe800, 0xa000, 0x0}};
|
||||
static LinkStateBase_UnkStruct1 data_ov000_020e595c = {0x22, {0x1000, 0x0, 0xf000}};
|
||||
|
||||
THUMB void LinkStateInteract::LoadBhio() {
|
||||
u32 dVar1;
|
||||
Bhio *piVar2;
|
||||
Bhio *piVar3;
|
||||
int iVar4;
|
||||
|
||||
const char *fieldName;
|
||||
|
||||
// Lift playback speed
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "持ち上げ再生速度", &data_ov000_020e593c.mUnk_04.x, 8, 0, 0x3000);
|
||||
|
||||
// Lift start frame
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "持ち上げ開始フレーム", &data_ov000_020e593c.mUnk_04.y, 8, 0,
|
||||
data_ov000_020e593c.mUnk_04.z / 2);
|
||||
|
||||
// Lift end frame
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "持ち上げ終了フレーム", &data_ov000_020e593c.mUnk_04.z, 8,
|
||||
data_ov000_020e593c.mUnk_04.z / 2, data_ov000_020e593c.mUnk_04.z);
|
||||
|
||||
iVar4 = this->PlayerControlData_vfunc_14(data_ov000_020e595c.mUnk_00);
|
||||
|
||||
// Throw playback speed
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "投げ再生速度", &data_ov000_020e595c.mUnk_04.x, 8, 0, 0x3000);
|
||||
|
||||
// Throw start frame
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "投げ開始フレーム", &data_ov000_020e595c.mUnk_04.y, 8, 0, iVar4 / 2);
|
||||
|
||||
// Throw end frame
|
||||
this->GetBhio0()->GetField2(true, 'LGRB', "投げ終了フレーム", &data_ov000_020e595c.mUnk_04.z, 8, iVar4 / 2, iVar4);
|
||||
|
||||
this->GetBhio0();
|
||||
|
||||
// Stop time
|
||||
this->GetBhio0()->GetField2(false, 'LPSH', "停止時間", &data_ov000_020e5928, 6, 0, data_ov000_020e5928 * 2);
|
||||
this->GetBhio0();
|
||||
return;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::OnStateEnter() {
|
||||
if (mSubState != 6) {
|
||||
this->func_ov00_020a82ac();
|
||||
this->EquipItem_vfunc_28();
|
||||
}
|
||||
switch (mSubState) {
|
||||
case 0:
|
||||
this->ChangeLinkState(0);
|
||||
break;
|
||||
case 1:
|
||||
gPlayerControl->SetUnk_80();
|
||||
this->func_ov00_020a8a4c(&data_ov000_020e592c, 1);
|
||||
break;
|
||||
case 2:
|
||||
this->func_ov00_020a8a4c(&data_ov000_020e593c, 1);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
if (this->GetGrabActor() != NULL) {
|
||||
data_ov000_020eec9c.func_ov000_020d7b20(0x125, this->GetPlayerPos());
|
||||
s16 angle = FX_Atan2Idx(mThrowOffset.x, mThrowOffset.z);
|
||||
*this->GetPlayerAngle() = angle;
|
||||
this->func_ov00_020a89bc(&data_ov000_020e595c, 1);
|
||||
} else {
|
||||
this->func_ov00_020a8994();
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
if (this->GetGrabActor() != NULL) {
|
||||
s16 angle = FX_Atan2Idx(mThrowOffset.x, mThrowOffset.z);
|
||||
*this->GetPlayerAngle() = angle;
|
||||
this->func_ov00_020a8a4c(&data_ov000_020e594c, 1);
|
||||
} else {
|
||||
this->ChangeLinkState(0);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
gPlayerControl->SetUnk_80();
|
||||
if (gActorManager->GetActor(&mGrabRef) != NULL) {
|
||||
*this->Get_PlayerLinkBase_Unk44() = 0;
|
||||
} else {
|
||||
this->ChangeLinkState(0);
|
||||
}
|
||||
mUnk_24.func_020350b4(1, 0, 0, 0, 0);
|
||||
mUnk_24.func_020351b8(0, 0, 0, 0);
|
||||
mUnk_b2 = false;
|
||||
break;
|
||||
case 8:
|
||||
if (mUnk_b0) {
|
||||
*this->Get_PlayerLinkBase_Unk44() = 1;
|
||||
}
|
||||
mUnk_0c = data_ov000_020e5928;
|
||||
break;
|
||||
case 9:
|
||||
if (mUnk_b1) {
|
||||
*this->Get_PlayerLinkBase_Unk44() = -1;
|
||||
}
|
||||
mUnk_0c = data_ov000_020e5928;
|
||||
break;
|
||||
case 6:
|
||||
gPlayerControl->SetUnk_80();
|
||||
break;
|
||||
default:
|
||||
this->ChangeLinkState(0);
|
||||
break;
|
||||
}
|
||||
if (mSubState != 7) {
|
||||
mUnk_ac = mSubState;
|
||||
}
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::OnStateLeave(s32 param1) {
|
||||
LinkStateBase::OnStateLeave(param1);
|
||||
if (gPlayerControl->mUnk_80) {
|
||||
gPlayerControl->StopFollowing();
|
||||
}
|
||||
Actor *actor = this->GetGrabActor();
|
||||
if (mSubState != 1) {
|
||||
return;
|
||||
}
|
||||
if (actor == NULL) {
|
||||
return;
|
||||
}
|
||||
if (actor->mGrabbed) {
|
||||
return;
|
||||
}
|
||||
this->GetGrabActorRef()->Reset();
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::func_ov00_020aa818() {
|
||||
ItemManager *temp_r4 = gItemManager;
|
||||
ActorNaviBase *fairy = temp_r4->GetFairy(temp_r4->GetEquippedFairy());
|
||||
fairy->func_ov000_020ba458();
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020aa844(Actor *actor) {
|
||||
Vec3p sp20;
|
||||
Vec3p_Sub(&actor->mPos, this->GetPlayerPos(), &sp20);
|
||||
u16 temp_r6 = *this->GetPlayerAngle();
|
||||
s16 cos = COS(*this->GetPlayerAngle());
|
||||
s16 sin = SIN(temp_r6);
|
||||
q20 rx = MUL_Q20(sp20.x, -cos) + MUL_Q20(sp20.z, sin);
|
||||
Cylinder sp10;
|
||||
actor->GetHitbox(&sp10);
|
||||
q20 rz = MUL_Q20(sp20.x, sin) + MUL_Q20(sp20.z, cos);
|
||||
rz -= (sp10.size + 0x666);
|
||||
|
||||
this->GetPlayerVel()->x = 0;
|
||||
this->GetPlayerVel()->z = 0;
|
||||
|
||||
q20 unk = FLOAT_TO_Q20(1 / 12.0);
|
||||
if (rx > 0) {
|
||||
q20 var_r6 = unk;
|
||||
if (rx <= unk) {
|
||||
var_r6 = rx;
|
||||
}
|
||||
this->GetPlayerVel()->x += MUL_Q20(var_r6, -cos);
|
||||
q20 var_r4_4 = rx;
|
||||
if (var_r4_4 > unk) {
|
||||
var_r4_4 = unk;
|
||||
}
|
||||
this->GetPlayerVel()->z += MUL_Q20(var_r4_4, sin);
|
||||
} else if (rx < 0) {
|
||||
q20 var_r6_2 = -unk;
|
||||
if (rx >= -unk) {
|
||||
var_r6_2 = rx;
|
||||
}
|
||||
this->GetPlayerVel()->x += MUL_Q20(var_r6_2, -cos);
|
||||
q20 var_r4_5 = rx;
|
||||
if (var_r4_5 < -unk) {
|
||||
var_r4_5 = -unk;
|
||||
}
|
||||
this->GetPlayerVel()->z += MUL_Q20(var_r4_5, sin);
|
||||
}
|
||||
if (rz > 0) {
|
||||
q20 var_r4_2 = unk;
|
||||
if (rz <= unk) {
|
||||
var_r4_2 = rz;
|
||||
}
|
||||
this->GetPlayerVel()->x += MUL_Q20(var_r4_2, sin);
|
||||
q20 var_r7_2 = rz;
|
||||
if (var_r7_2 > unk) {
|
||||
var_r7_2 = unk;
|
||||
}
|
||||
this->GetPlayerVel()->z += MUL_Q20(var_r7_2, cos);
|
||||
} else if (rz < 0) {
|
||||
q20 var_r4_3 = -unk;
|
||||
if (rz >= -unk) {
|
||||
var_r4_3 = rz;
|
||||
}
|
||||
this->GetPlayerVel()->x += MUL_Q20(var_r4_3, sin);
|
||||
q20 var_r7_3 = rz;
|
||||
if (var_r7_3 < -unk) {
|
||||
var_r7_3 = -unk;
|
||||
}
|
||||
this->GetPlayerVel()->z += MUL_Q20(var_r7_3, cos);
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" unk32 GetCardinal(s16 angle);
|
||||
extern "C" u16 func_0202bba8(unk32);
|
||||
extern "C" void func_ov023_02171410(LinkStateRoll *, Actor *, Vec3p *);
|
||||
ARM bool LinkStateInteract::vfunc_20(s32 param1) {
|
||||
if (this->HasFlags_PlayerLinkBase_Unk48(2) || !this->func_ov00_020a8b80()) {
|
||||
return false;
|
||||
}
|
||||
Actor *temp_r0 = this->GetGrabActor();
|
||||
if ((temp_r0 != NULL) && (param1 == 0)) {
|
||||
bool var_r6 = false;
|
||||
if ((u32) (gItemManager->mEquippedItem - 9) <= 1) {
|
||||
mThrowOffset = gVec3p_ZERO;
|
||||
s32 temp_r3 = *this->GetPlayerAngle();
|
||||
s16 temp_ip = SIN(temp_r3);
|
||||
s16 temp_r2 = COS(temp_r3);
|
||||
mThrowOffset.x += MUL_Q20(temp_ip, 0x4cd);
|
||||
mThrowOffset.z += MUL_Q20(temp_r2, 0x4cd);
|
||||
var_r6 = true;
|
||||
}
|
||||
bool var_r5 = temp_r0->vfunc_2c() != -1;
|
||||
if (!var_r5 && (var_r6 || gPlayerControl->func_ov00_020b05e8(&mThrowOffset))) {
|
||||
PlayerControl *pPlayerControl = gPlayerControl;
|
||||
pPlayerControl->mUsingEquipItem = false;
|
||||
pPlayerControl->mUnk_7b = false;
|
||||
|
||||
mSubState = 5;
|
||||
return true;
|
||||
}
|
||||
if (var_r6 || gPlayerControl->func_ov00_020b049c(&mThrowOffset, var_r5)) {
|
||||
PlayerControl *pPlayerControl = gPlayerControl;
|
||||
pPlayerControl->mUsingEquipItem = false;
|
||||
pPlayerControl->mUnk_7b = false;
|
||||
|
||||
mSubState = 3;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ActorRef sp14 = gPlayerControl->mFollowRef;
|
||||
Actor *var_r6_2 = gActorManager->GetActor(&sp14);
|
||||
if (var_r6_2 == NULL) {
|
||||
if (gPlayerControl->func_ov00_020b0ad0(this->func_ov00_020a8d40()->mUnk_0ec)) {
|
||||
var_r6_2 = this->func_ov00_020a8d40()->mUnk_0ec;
|
||||
sp14 = var_r6_2->mRef;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} else if (gPlayerControl->mUnk_80) {
|
||||
return false;
|
||||
}
|
||||
if (!gPlayerControl->func_ov00_020afe88(var_r6_2->mUnk_12c, temp_r0 != NULL)) {
|
||||
gPlayerControl->StopFollowing();
|
||||
return false;
|
||||
}
|
||||
Vec3p sp5C;
|
||||
if ((var_r6_2->mUnk_12c == 2) && (this->GetGrabActor() == NULL)) {
|
||||
Vec3p_Axpy(0x6000, &var_r6_2->mVel, &var_r6_2->mPos, &sp5C);
|
||||
UnkStruct sp68;
|
||||
Vec3p sp28;
|
||||
sp28 = var_r6_2->mPos;
|
||||
if (gMapManager->func_01ffbe78(&sp68, &sp5C, &sp28, (Sphere *) &var_r6_2->mUnk_08c, var_r6_2->mRef.id,
|
||||
(s32) var_r6_2->mUnk_09c.mUnk_0, 0, 0)) {
|
||||
sp5C = sp68.mUnk_00;
|
||||
}
|
||||
} else {
|
||||
this->func_ov00_020ab7bc(&sp5C, var_r6_2);
|
||||
}
|
||||
Vec3p sp50;
|
||||
Vec3p_Sub(&sp5C, this->GetPlayerPos(), &sp50);
|
||||
Cylinder sp40;
|
||||
var_r6_2->GetHitbox(&sp40);
|
||||
switch (var_r6_2->mUnk_12c) {
|
||||
case 1:
|
||||
if (Vec3p_Length(&sp50) < 0x800) {
|
||||
gPlayerControl->SetUnk_80();
|
||||
}
|
||||
return false;
|
||||
case 2:
|
||||
if (!PlayerBase::GetEquipSword()->UpdateInUse(1)) {
|
||||
return false;
|
||||
}
|
||||
if (this->GetGrabActor() == NULL) {
|
||||
if (this->GetCurrentCharacter() == PlayerCharacter_Gongoron) {
|
||||
func_ov023_02171410(this->GetLinkStateRoll(), var_r6_2, &sp50);
|
||||
return 0;
|
||||
}
|
||||
q20 temp_r0_4 = Vec3p_Length(&sp50);
|
||||
if (temp_r0_4 < (s32) (sp40.size + 0x3800)) {
|
||||
s16 temp_r6_2 = (s16) FX_Atan2Idx(sp50.x, sp50.z);
|
||||
if (temp_r0_4 < 0x1CCD) {
|
||||
s16 temp_r1 = temp_r6_2 - *(s16 *) this->GetPlayerAngle();
|
||||
if ((s32) temp_r1 > 0x4000) {
|
||||
this->func_ov00_020a81b8(1, &sp5C);
|
||||
} else if ((s32) temp_r1 >= -0x4000) {
|
||||
this->func_ov00_020a81b8(0, &sp5C);
|
||||
} else {
|
||||
this->func_ov00_020a81b8(2, &sp5C);
|
||||
}
|
||||
} else {
|
||||
if (temp_r0_4 < 0x2B33 && ABS(sp50.y) < 0x1333) {
|
||||
this->func_ov00_020a81b8(3, &sp5C);
|
||||
} else {
|
||||
if (this->func_ov00_020a8d40()->mUnk_05a != 0) {
|
||||
return false;
|
||||
}
|
||||
this->func_ov00_020a81b8(4, &sp5C);
|
||||
}
|
||||
}
|
||||
*this->GetPlayerAngle() = temp_r6_2;
|
||||
}
|
||||
} else if (Vec3p_Length(&sp50) < 0x4000) {
|
||||
Vec3p_Sub(&var_r6_2->mPos, this->GetPlayerPos(), &mThrowOffset);
|
||||
PlayerControl *pPlayerControl = gPlayerControl;
|
||||
pPlayerControl->mUsingEquipItem = false;
|
||||
pPlayerControl->mUnk_7b = false;
|
||||
gPlayerControl->SetUnk_80();
|
||||
mSubState = 3;
|
||||
mGrabRef = sp14;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 3:
|
||||
if (Vec3p_Length(&sp50) < 0x400) {
|
||||
Vec3p sp34;
|
||||
Vec3p_Sub(&sp40.pos, this->GetPlayerPos(), &sp34);
|
||||
if ((sp34.x != 0) || (sp34.z != 0)) {
|
||||
s16 temp_r0_5 = (s16) FX_Atan2Idx(sp34.x, sp34.z);
|
||||
u16 temp_r0_6 = func_0202bba8(GetCardinal(temp_r0_5));
|
||||
s16 var_r1_2 = temp_r0_5 - temp_r0_6;
|
||||
if ((s32) var_r1_2 < 0) {
|
||||
var_r1_2 = 0 - var_r1_2;
|
||||
}
|
||||
if ((s32) var_r1_2 > 0x18E4) {
|
||||
return 0;
|
||||
}
|
||||
*this->GetPlayerAngle() = temp_r0_6;
|
||||
}
|
||||
mSubState = 7;
|
||||
mUnk_0c = 0;
|
||||
mGrabRef = sp14;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 4:
|
||||
if ((Vec3p_Length(&sp50) < (s32) (sp40.size + 0xC00)) && !this->func_ov005_0211139c()) {
|
||||
*this->GetGrabActorRef() = var_r6_2->mRef;
|
||||
mSubState = 1;
|
||||
this->LookAt(&var_r6_2->mPos);
|
||||
mGrabRef = sp14;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 5:
|
||||
if (var_r6_2->CollidesWithLink() && this->func_ov005_021113b4()) {
|
||||
var_r6_2->SetUnk_11c(1);
|
||||
mSubState = 6;
|
||||
mGrabRef = sp14;
|
||||
this->EquipItem_vfunc_28();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
case 6:
|
||||
gPlayerControl->StopFollowing();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM LinkStateRoll *LinkStateInteract::GetLinkStateRoll() {
|
||||
return (LinkStateRoll *) GetLinkState(LinkStateId_Roll);
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::vfunc_24(s32 param1) {
|
||||
switch (param1) {
|
||||
case 4:
|
||||
if (mSubState == 6) {
|
||||
return LinkStateBase::vfunc_24(param1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 5:
|
||||
switch (mSubState) {
|
||||
case 3:
|
||||
case 4:
|
||||
case 8:
|
||||
case 9:
|
||||
return false;
|
||||
}
|
||||
return LinkStateBase::vfunc_24(param1);
|
||||
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
break;
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
switch (mSubState) {
|
||||
case 1:
|
||||
case 7:
|
||||
return LinkStateBase::vfunc_24(param1);
|
||||
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::vfunc_34(Vec3p *param1) {
|
||||
if (this->Get_PlayerControlData_Unk120() == 0x1E) {
|
||||
s32 temp_r0 = this->func_ov00_020a8d50();
|
||||
s32 var_r5;
|
||||
if (temp_r0 < 0x2000) {
|
||||
var_r5 = 0;
|
||||
} else if (temp_r0 >= 0x7000) {
|
||||
var_r5 = 0x1000;
|
||||
} else {
|
||||
var_r5 = CoDivide64By32(temp_r0 - 0x2000, 0x5000);
|
||||
}
|
||||
s32 playerAngle = *this->GetPlayerAngle();
|
||||
u16 var_r1 = ((((s64) var_r5) << 14) + 0x800) >> 12;
|
||||
s32 var_r3 = ((s64) COS(var_r1)) * 0xb33;
|
||||
s32 var_r9 = ((s64) SIN(var_r1)) * 0xb33;
|
||||
s32 var_r2 = ((s64) SIN(playerAngle));
|
||||
s32 var_ip = ((s64) COS(playerAngle));
|
||||
|
||||
// WIP xyz values
|
||||
param1->x += var_r3;
|
||||
param1->y += var_r9;
|
||||
param1->z += var_ip;
|
||||
} else {
|
||||
param1->y += 0xB33;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::SetGrabActorVelocity(Vec3p *velocity) {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
Vec3p vec = gVec3p_ZERO;
|
||||
if (velocity == NULL) {
|
||||
velocity = &vec;
|
||||
}
|
||||
grabActor->Drop(velocity);
|
||||
this->GetGrabActorRef()->Reset();
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::SetBombVelocity(Vec3p *velocity) {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
if (grabActor->mType != ActorTypeId_Bomb && grabActor->mType != ActorTypeId_Cucco) {
|
||||
return;
|
||||
}
|
||||
this->SetGrabActorVelocity(velocity);
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020ab6c8() {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
switch (grabActor->mType) {
|
||||
case ActorTypeId_Cucco:
|
||||
case ActorTypeId_Bomb:
|
||||
case ActorTypeId_StorageDrum:
|
||||
case ActorTypeId_TARU:
|
||||
case ActorTypeId_STNE:
|
||||
case ActorTypeId_TSUB:
|
||||
grabActor->Kill();
|
||||
return;
|
||||
}
|
||||
this->SetGrabActorVelocity(NULL);
|
||||
}
|
||||
|
||||
ARM unk32 LinkStateInteract::func_ov00_020ab770(Vec3p *param1) {
|
||||
Actor *followActor = gPlayerControl->GetFollowActor();
|
||||
if (followActor == NULL || this->func_ov00_020ab7bc(param1, followActor) == 0) {
|
||||
return 0;
|
||||
}
|
||||
return followActor->mUnk_12c;
|
||||
}
|
||||
|
||||
extern "C" unk32 GetCardinal(s16 angle);
|
||||
ARM unk32 LinkStateInteract::func_ov00_020ab7bc(Vec3p *param1, Actor *actor) {
|
||||
param1->x = actor->mPos.x;
|
||||
param1->y = actor->mPos.y;
|
||||
param1->z = actor->mPos.z;
|
||||
switch (actor->mUnk_12c) {
|
||||
case 2:
|
||||
return PlayerBase::GetEquipSword()->IsUsable(1);
|
||||
case 3:
|
||||
Vec3p sp10;
|
||||
Cylinder hitbox;
|
||||
actor->GetHitbox(&hitbox);
|
||||
Vec3p_Sub(this->GetPlayerPos(), param1, &sp10);
|
||||
s32 temp_r4 = hitbox.size + 0x666;
|
||||
u32 temp_r0_3 = GetCardinal((s16) FX_Atan2Idx(sp10.x, sp10.z));
|
||||
switch (temp_r0_3) {
|
||||
case 0:
|
||||
param1->x += temp_r4;
|
||||
break;
|
||||
case 1:
|
||||
param1->x -= temp_r4;
|
||||
break;
|
||||
case 2:
|
||||
param1->z += temp_r4;
|
||||
break;
|
||||
case 3:
|
||||
param1->z -= temp_r4;
|
||||
break;
|
||||
}
|
||||
return 1;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::SetNormalizedThrowOffset(Vec3p *target) {
|
||||
Vec3p *playerPos = this->GetPlayerPos();
|
||||
Vec3p_Sub(target, playerPos, &mThrowOffset);
|
||||
Vec3p_SetLength(&mThrowOffset, FLOAT_TO_Q20(1.0), &mThrowOffset);
|
||||
mSubState = 5;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::SetThrowOffset(Vec3p *target) {
|
||||
Vec3p *playerPos = this->GetPlayerPos();
|
||||
Vec3p_Sub(target, playerPos, &mThrowOffset);
|
||||
mSubState = 3;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020ab934(Vec3p *target) {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
Vec3p *playerPos = this->GetPlayerPos();
|
||||
Vec3p_Sub(target, playerPos, &mThrowOffset);
|
||||
mSubState = 3;
|
||||
this->ChangeLinkState(2);
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020ab97c(Vec3p *target) {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
Vec3p *playerPos = this->GetPlayerPos();
|
||||
Vec3p_Sub(target, playerPos, &mThrowOffset);
|
||||
mSubState = 4;
|
||||
}
|
||||
|
||||
extern "C" unk32 func_ov017_0215dff0(Actor *param1, Vec3p *param2);
|
||||
extern "C" unk32 func_ov017_0215e338(Actor *param1, Vec3p *param2);
|
||||
ARM void LinkStateInteract::func_ov00_020ab9b8(s32 param1, bool param2) {
|
||||
Actor *grabActor = this->GetGrabActor();
|
||||
if (grabActor == NULL) {
|
||||
return;
|
||||
}
|
||||
bool var_r5 = true;
|
||||
if (param2) {
|
||||
Vec3p spC = *this->GetPlayerPos();
|
||||
Vec3p_Add(this->GetPlayerPos(), &mThrowOffset, &spC);
|
||||
switch (grabActor->mType) {
|
||||
case ActorTypeId_BossKey:
|
||||
if (func_ov017_0215dff0(grabActor, &spC) != 0) {
|
||||
var_r5 = false;
|
||||
this->func_ov00_020aa818();
|
||||
}
|
||||
break;
|
||||
case ActorTypeId_ForceGem:
|
||||
if (func_ov017_0215e338(grabActor, &spC) != 0) {
|
||||
this->func_ov00_020aa818();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (var_r5) {
|
||||
Vec3p sp0;
|
||||
sp0.x = 0;
|
||||
sp0.y = 0;
|
||||
sp0.z = 0;
|
||||
|
||||
u16 playerAngle = *this->GetPlayerAngle();
|
||||
s32 temp_r1_3 = MUL_Q20(param1, FLOAT_TO_Q20(0.16));
|
||||
|
||||
sp0.x += MUL_Q20(SIN(playerAngle), temp_r1_3);
|
||||
sp0.z += MUL_Q20(COS(playerAngle), temp_r1_3);
|
||||
grabActor->Drop(&sp0);
|
||||
}
|
||||
this->GetGrabActorRef()->Reset();
|
||||
data_ov000_020eec9c.func_ov000_020d7a84(0xCC, this->GetPlayerPos());
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::Grab(ActorRef *ref) {
|
||||
mGrabRef = *ref;
|
||||
this->ChangeLinkSubState(LinkStateId_Interact, 6);
|
||||
return true;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020abba0(ActorRef *ref) {
|
||||
if (this->func_ov00_020abc40()) {
|
||||
this->Grab(ref);
|
||||
return;
|
||||
}
|
||||
mGrabRef = *ref;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020abbdc(ActorRef *ref) {
|
||||
if (this->func_ov00_020abc40()) {
|
||||
this->Grab(ref);
|
||||
return;
|
||||
}
|
||||
mGrabRef = *ref;
|
||||
}
|
||||
|
||||
ARM void LinkStateInteract::func_ov00_020abc18(ActorRef *ref) {
|
||||
if (this->func_ov00_020abc40()) {
|
||||
this->Grab(ref);
|
||||
}
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::func_ov00_020abc40() {
|
||||
if (this->GetStateId() != 2 || mSubState != 6) {
|
||||
if (this->GetStateId() != 6) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
ARM bool LinkStateInteract::func_ov00_020abc78(ActorRef *ref) {
|
||||
s32 temp_r0;
|
||||
ActorRef *temp_r0_2;
|
||||
Actor *temp_r6;
|
||||
|
||||
if (!this->func_ov00_020a8b80()) {
|
||||
return false;
|
||||
}
|
||||
if (this->GetGrabActor() != NULL) {
|
||||
return false;
|
||||
}
|
||||
temp_r0 = this->GetStateId();
|
||||
switch (temp_r0) {
|
||||
case 0:
|
||||
break;
|
||||
case 1: {
|
||||
PlayerControl *pPlayerControl = gPlayerControl;
|
||||
pPlayerControl->mUsingEquipItem = false;
|
||||
pPlayerControl->mUnk_7b = false;
|
||||
break;
|
||||
}
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
temp_r6 = gActorManager->GetActor(ref);
|
||||
temp_r0_2 = this->GetGrabActorRef();
|
||||
*temp_r0_2 = *ref;
|
||||
this->LookAt(&temp_r6->mPos);
|
||||
mGrabRef = *ref;
|
||||
data_ov000_020eec9c.func_ov000_020d7a84(0xCB, this->GetPlayerPos());
|
||||
this->GetGrabActor()->Grab();
|
||||
this->ChangeLinkSubState(LinkStateId_Interact, 2);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -9,15 +9,9 @@ ARM LinkStateId LinkStateMove::GetId() {
|
||||
return LinkStateId_Move;
|
||||
}
|
||||
|
||||
THUMB void LinkStateMove::CreateDebugHierarchy() {
|
||||
unk32 id = 'LMOV';
|
||||
// Breath volume decay rate "息吹きボリューム低下率"
|
||||
const char *description = "\x91\xa7\x90\x81\x82\xab\x83{\x83\x8a\x83\x85\x81[\x83\x80\x92\xe1\x89\xba\x97\xa6";
|
||||
|
||||
DebugHierarchy *debugHierarchy = this->GetDebugHierarchy0();
|
||||
debugHierarchy->vfunc_3c(id, &data_ov000_020e56f0);
|
||||
|
||||
debugHierarchy->GetChildNode(1, description, id, &data_ov000_020e56f0, 8, 0, 0x1000, 0);
|
||||
THUMB void LinkStateMove::LoadBhio() {
|
||||
// Breath volume decay rate
|
||||
this->GetBhio0()->GetField2(true, 'LMOV', "息吹きボリューム低下率", &data_ov000_020e56f0, 8, 0, 0x1000);
|
||||
}
|
||||
|
||||
ARM void LinkStateMove::OnStateEnter() {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
void LinkStateRoll::vfunc_00() {}
|
||||
LinkStateId LinkStateRoll::GetId() {}
|
||||
void LinkStateRoll::CreateDebugHierarchy() {}
|
||||
void LinkStateRoll::LoadBhio() {}
|
||||
void LinkStateRoll::OnStateEnter() {}
|
||||
void LinkStateRoll::OnStateLeave(s32 param1) {}
|
||||
bool LinkStateRoll::vfunc_20(s32 param1) {}
|
||||
|
||||
@@ -37,9 +37,9 @@ ARM bool PlayerControl::func_ov00_020aeef8() {
|
||||
|
||||
THUMB void PlayerControl::func_ov00_020aef30() {
|
||||
this->ResetTouchWorld();
|
||||
if (mDebug) {
|
||||
if (mBhio) {
|
||||
// 操作 = Operation
|
||||
mDebug->vfunc_20(0, "\x91\x80\x8d\xec", 'PCTL', 'PLYR', 0, 0);
|
||||
mBhio->vfunc_20(0, "\x91\x80\x8d\xec", 'PCTL', 'PLYR', 0, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
#include "Debug/DebugHierarchy.hpp"
|
||||
|
||||
DebugHierarchy::~DebugHierarchy() {}
|
||||
@@ -0,0 +1,3 @@
|
||||
#include "Player/Bhio.hpp"
|
||||
|
||||
Bhio::~Bhio() {}
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
LinkStateBase::LinkStateBase(PlayerLinkBase *link) {}
|
||||
LinkStateBase::~LinkStateBase() {}
|
||||
void LinkStateBase::CreateDebugHierarchy() {}
|
||||
void LinkStateBase::LoadBhio() {}
|
||||
|
||||
@@ -108,7 +108,7 @@ ARM void LinkStateMove::vfunc_1c() {
|
||||
if (mUnk_0c > 0) {
|
||||
|
||||
q4 temp_r8 = data_ov005_02112be4;
|
||||
s16 temp_r1 = *this->GetPlayerAngle() + this->Get_PlayerControlData_Unk32();
|
||||
s16 temp_r1 = *(s16 *) this->GetPlayerAngle() + this->Get_PlayerControlData_Unk32();
|
||||
this->TurnTo(temp_r1, temp_r1, temp_r8);
|
||||
s32 temp_r1_2 = mUnk_0c;
|
||||
if (temp_r7_2 > temp_r1_2) {
|
||||
@@ -143,7 +143,7 @@ ARM void LinkStateMove::vfunc_1c() {
|
||||
filter.mUnk_08 = FLOAT_TO_Q20(4.0);
|
||||
Vec3p pos = *this->GetPlayerPos();
|
||||
filter.mPos = pos;
|
||||
filter.mAngle = *this->GetPlayerAngle();
|
||||
filter.mAngle = *(s16 *) this->GetPlayerAngle();
|
||||
if (gActorManager->FilterActors(&filter, NULL) > 0) {
|
||||
q20 temp_r1_4 = FLOAT_TO_Q20(4.0) - filter.mUnk_08;
|
||||
Vec3p spC = filter.mActor->mPos;
|
||||
|
||||
@@ -251,39 +251,6 @@ THUMB Actor *EquipBombchu::func_ov058_02199400() {
|
||||
extern "C" void func_ov014_02124ff4(Sphere *sphere);
|
||||
extern "C" bool func_0202b2f8(Vec3p *param_1, Vec3p *param_2, unk32 param_3);
|
||||
THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
struct TempStruct1 {
|
||||
/* 00 */ unk8 mUnk_00[0xe];
|
||||
/* 0e */ unk8 mUnk_0e;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 11 */ unk8 mUnk_11;
|
||||
/* 12 */ unk8 mUnk_12[0x6];
|
||||
/* 18 */ volatile unk8 mUnk_18;
|
||||
/* 19 */ unk8 mUnk_19;
|
||||
/* 1a */ unk8 mUnk_1a;
|
||||
/* 1b */ unk8 mUnk_1b;
|
||||
/* 1c */ unk8 mUnk_1c;
|
||||
/* 1d */ unk8 mUnk_1d;
|
||||
/* 1e */
|
||||
};
|
||||
|
||||
struct TempStruct2 {
|
||||
union {
|
||||
/* 00 */ Vec3p mUnk_00;
|
||||
struct {
|
||||
/* 00 */ u16 mUnk_00_x;
|
||||
/* 02 */ u16 mUnk_02;
|
||||
/* 04 */ u16 mUnk_04;
|
||||
/* 06 */ u16 mUnk_06;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
};
|
||||
};
|
||||
/* 0c */ unk8 mUnk_0c[0x34];
|
||||
/* 40 */
|
||||
};
|
||||
|
||||
TempStruct1 sp214;
|
||||
TempStruct2 sp1D4;
|
||||
AABB sp1BC;
|
||||
Vec3p sp1B0;
|
||||
Vec3p sp1A4;
|
||||
@@ -484,21 +451,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
sp1D4.mUnk_00_x = -1;
|
||||
sp1D4.mUnk_02 = -1;
|
||||
sp1D4.mUnk_04 = -1;
|
||||
sp1D4.mUnk_06 = -1;
|
||||
sp1D4.mUnk_00.z = 0;
|
||||
sp214.mUnk_0e = 0;
|
||||
sp214.mUnk_0f = 0;
|
||||
sp214.mUnk_10 = 0;
|
||||
sp214.mUnk_11 = 0;
|
||||
sp214.mUnk_18 = 0U;
|
||||
sp214.mUnk_19 = 0U;
|
||||
sp214.mUnk_1a = 0;
|
||||
sp214.mUnk_1b = 0;
|
||||
sp214.mUnk_1c = 0;
|
||||
sp214.mUnk_1d = 0;
|
||||
UnkStruct sp1D4;
|
||||
if (var_r6_2 < sp1B0.y) {
|
||||
if ((sp1B0.y - var_r6_2) < 0x999) {
|
||||
var_r6_2 = sp1B0.y;
|
||||
@@ -528,7 +481,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
sp194.pos.y = 9;
|
||||
sp194.pos.z = 0xCF;
|
||||
sp194.radius = 1;
|
||||
temp_r0_8 = gMapManager->func_01ffbe78(&sp1D4.mUnk_00, &spE0, &spD4, &sp194);
|
||||
temp_r0_8 = gMapManager->func_01ffbe78(&sp1D4, &spE0, &spD4, &sp194, 0, 0, 0, 0);
|
||||
if (sUnk_02198d00.mUnk_10.x != 0) {
|
||||
return 0;
|
||||
}
|
||||
@@ -550,7 +503,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
mUnk_47 = 0;
|
||||
mUnk_46 = 1;
|
||||
} else {
|
||||
if (sp214.mUnk_18 != 0) {
|
||||
if (sp1D4.mUnk_58 != 0) {
|
||||
if (mUnk_18 <= 0) {
|
||||
return 0;
|
||||
}
|
||||
@@ -607,7 +560,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
sp194.pos.y = 9;
|
||||
sp194.pos.z = 0xCF;
|
||||
sp194.radius = 1;
|
||||
temp_r0_16 = gMapManager->func_01ffbe78(&sp1D4.mUnk_00, &sp170, &spB0, &sp194);
|
||||
temp_r0_16 = gMapManager->func_01ffbe78(&sp1D4, &sp170, &spB0, &sp194, 0, 0, 0, 0);
|
||||
if (sUnk_02198d00.mUnk_10.x != 0) {
|
||||
return 0;
|
||||
}
|
||||
@@ -621,7 +574,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
}
|
||||
gMapManager->func_ov00_02083c7c(&sp170, sp24_unk4);
|
||||
} else {
|
||||
if (sp214.mUnk_18 == 0) {
|
||||
if (sp1D4.mUnk_58 == 0) {
|
||||
return false;
|
||||
}
|
||||
sp170.x = sp1D4.mUnk_00.x;
|
||||
@@ -654,7 +607,7 @@ THUMB bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {
|
||||
vec->y = temp_r0_22;
|
||||
vec->z = sp1B0.z;
|
||||
} else {
|
||||
if (sp214.mUnk_19 == 0) {
|
||||
if (sp1D4.mUnk_59 == 0) {
|
||||
return 0;
|
||||
}
|
||||
sp158.x = sp1D4.mUnk_00.x;
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
static char *gShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
|
||||
|
||||
extern "C" void ApproachAngle_thunk(s16 *src, s16 dst, u32 param3);
|
||||
extern "C" void ApproachAngle_thunk(u16 *src, s16 dst, u32 param3);
|
||||
|
||||
ARM bool EquipHammer::IsUsable(unk32 param1) const {
|
||||
ActorNavi *pAVar3;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "Map/MapManager.hpp"
|
||||
|
||||
bool MapManager::func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4) {}
|
||||
bool MapManager::func_01ffbe78(UnkStruct *param1, Vec3p *param2, Vec3p *param3, Sphere *param4, s32 actorId, u16 param6,
|
||||
unk32 param7, unk32 param8) {}
|
||||
bool MapManager::func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length, unk32 param5, unk32 param6,
|
||||
UnkStruct_ov000_020beba8 *param7, unk32 param8) {}
|
||||
bool MapManager::func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7) {}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
#include "Player/Bhio.hpp"
|
||||
|
||||
BhioBase::BhioBase() {}
|
||||
BhioBase::~BhioBase() {}
|
||||
BhioGroup *BhioBase::FindGroup(u32 id) {}
|
||||
bool BhioBase::GetField(bool param1, const char *fieldName, u32 groupId, s32 *pValue, unk32 param5, unk32 param6, unk32 param7,
|
||||
unk32 param8) {}
|
||||
void BhioBase::vfunc_08() {}
|
||||
void BhioBase::vfunc_0c() {}
|
||||
void BhioBase::vfunc_10() {}
|
||||
void BhioBase::vfunc_14() {}
|
||||
void BhioBase::vfunc_18() {}
|
||||
void BhioBase::vfunc_1c() {}
|
||||
void BhioBase::vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) {}
|
||||
void BhioBase::vfunc_24() {}
|
||||
void BhioBase::vfunc_28() {}
|
||||
void BhioBase::vfunc_2c() {}
|
||||
void BhioBase::vfunc_30() {}
|
||||
void BhioBase::vfunc_38() {}
|
||||
void BhioBase::vfunc_3c(u32 groupId, s32 *pValue) {}
|
||||
@@ -1,20 +0,0 @@
|
||||
#include "Debug/DebugHierarchyBase.hpp"
|
||||
|
||||
DebugHierarchyBase::DebugHierarchyBase() {}
|
||||
DebugHierarchyBase::~DebugHierarchyBase() {}
|
||||
DebugHierarchyNode *DebugHierarchyBase::FindNode(u32 id) {}
|
||||
bool DebugHierarchyBase::GetChildNode(unk32 param1, const char *description, u32 parent, s32 *param4, unk32 param5,
|
||||
unk32 param6, unk32 param7, unk32 param8) {}
|
||||
void DebugHierarchyBase::vfunc_08() {}
|
||||
void DebugHierarchyBase::vfunc_0c() {}
|
||||
void DebugHierarchyBase::vfunc_10() {}
|
||||
void DebugHierarchyBase::vfunc_14() {}
|
||||
void DebugHierarchyBase::vfunc_18() {}
|
||||
void DebugHierarchyBase::vfunc_1c() {}
|
||||
void DebugHierarchyBase::vfunc_20(unk32 param1, const char *param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) {}
|
||||
void DebugHierarchyBase::vfunc_24() {}
|
||||
void DebugHierarchyBase::vfunc_28() {}
|
||||
void DebugHierarchyBase::vfunc_2c() {}
|
||||
void DebugHierarchyBase::vfunc_30() {}
|
||||
void DebugHierarchyBase::vfunc_38() {}
|
||||
void DebugHierarchyBase::vfunc_3c(unk32 param1, void *param2) {}
|
||||
+16
-3
@@ -28,7 +28,8 @@ args = parser.parse_args()
|
||||
GAME = "ph"
|
||||
DSD_VERSION = 'v0.10.1'
|
||||
WIBO_VERSION = '0.6.16'
|
||||
OBJDIFF_VERSION = 'v3.0.0-beta.6'
|
||||
SJISWRAP_VERSION = 'v1.2.2'
|
||||
OBJDIFF_VERSION = 'v3.4.0'
|
||||
MWCC_VERSION = "2.0/sp1p5"
|
||||
DECOMP_ME_COMPILER = "mwcc_30_131"
|
||||
CC_FLAGS = " ".join([
|
||||
@@ -112,6 +113,7 @@ EXE = platform.exe
|
||||
WINE = args.wine if platform.system != "windows" else ""
|
||||
DSD = str(args.dsd or os.path.join('.', str(root_path / f"dsd{EXE}")))
|
||||
OBJDIFF = os.path.join('.', str(root_path / f"objdiff-cli{EXE}"))
|
||||
SJISWRAP = os.path.join('.', "sjiswrap.exe")
|
||||
CC = os.path.join('.', str(mwcc_path / "mwccarm.exe"))
|
||||
LD = os.path.join('.', str(mwcc_path / "mwldarm.exe"))
|
||||
PYTHON = sys.executable
|
||||
@@ -270,8 +272,8 @@ def main():
|
||||
n.newline()
|
||||
|
||||
# -MMD excludes all includes instead of just system includes for some reason, so use -MD instead.
|
||||
mwcc_cmd = f'{WINE} "{CC}" {CC_FLAGS} {CC_INCLUDES} $cc_flags -d $game_version -MD -c $in -o $basedir'
|
||||
mwcc_implicit = [CC]
|
||||
mwcc_cmd = f'{WINE} {SJISWRAP} "{CC}" {CC_FLAGS} {CC_INCLUDES} $cc_flags -d $game_version -MD -c $in -o $basedir'
|
||||
mwcc_implicit = [CC, SJISWRAP]
|
||||
if platform.system != "windows":
|
||||
transform_dep = "tools/transform_dep.py"
|
||||
mwcc_cmd += f" && $python {transform_dep} $basefile.d $basefile.d"
|
||||
@@ -431,6 +433,17 @@ def add_download_tool_builds(n: ninja_syntax.Writer, project: Project):
|
||||
)
|
||||
n.newline()
|
||||
|
||||
downloads.append(SJISWRAP)
|
||||
n.build(
|
||||
rule="download_tool",
|
||||
outputs=SJISWRAP,
|
||||
variables={
|
||||
"tool": "sjiswrap",
|
||||
"tag": SJISWRAP_VERSION,
|
||||
"path": SJISWRAP,
|
||||
}
|
||||
)
|
||||
|
||||
n.build(
|
||||
inputs=downloads,
|
||||
rule="phony",
|
||||
|
||||
@@ -32,11 +32,15 @@ def wibo_url(tag: str) -> str:
|
||||
def objdiff_url(tag: str) -> str:
|
||||
return f'https://github.com/encounter/objdiff/releases/download/{tag}/objdiff-cli-{platform.system}-{platform.machine}{platform.exe}'
|
||||
|
||||
def sjiswrap_url(tag: str) -> str:
|
||||
return f'https://github.com/encounter/sjiswrap/releases/download/{tag}/sjiswrap-windows-x86.exe'
|
||||
|
||||
TOOLS = {
|
||||
"dsd": dsd_url,
|
||||
"mwccarm": mwccarm_url,
|
||||
"wibo": wibo_url,
|
||||
"objdiff": objdiff_url,
|
||||
"sjiswrap": sjiswrap_url,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user