Merge pull request #83 from AetiasHax/delink

Delink and partially decomp navi actors and `ActorActionObject`
This commit is contained in:
Aetias
2025-03-09 09:58:56 +01:00
committed by GitHub
23 changed files with 473 additions and 166 deletions
@@ -30,12 +30,42 @@ src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
.data start:0x020e2aa0 end:0x020e2b5c
.sbss start:0x020ecda4 end:0x020ecdc4
src/00_Core/Actor/Navi/ActorNavi.cpp:
.text start:0x020b80e0 end:0x020b85d8
.init start:0x020e12d8 end:0x020e133c
.ctor start:0x020e1f08 end:0x020e1f0c
.data start:0x020e6514 end:0x020e6674
.sbss start:0x020ee1a0 end:0x020ee1d8
src/00_Core/Actor/Navi/ActorForceNavi.cpp:
complete
.text start:0x020b862c end:0x020b86a4
.init start:0x020e133c end:0x020e137c
.ctor start:0x020e1f0c end:0x020e1f10
.data start:0x020e6674 end:0x020e676c
.sbss start:0x020ee1d8 end:0x020ee1f8
src/00_Core/Actor/Navi/ActorNaviBase.cpp:
.text start:0x020b885c end:0x020bb118
.rodata start:0x020dc81c end:0x020dc858
.data start:0x020e676c end:0x020e68d4
.sbss start:0x020ee1f8 end:0x020ee1fc
src/00_Core/Actor/Dungeon/ActorActionObject.cpp:
.text start:0x020be198 end:0x020be418
.init start:0x020e1b14 end:0x020e1b54
.ctor start:0x020e1f14 end:0x020e1f18
.data start:0x020e6d3c end:0x020e6df8
.sbss start:0x020ee55c end:0x020ee57c
src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
complete
.text start:0x020c0b64 end:0x020c0bdc
.init start:0x020e1b54 end:0x020e1b94
.ctor start:0x020e1f18 end:0x020e1f1c
.data start:0x020e7098 end:0x020e7190
.sbss start:0x020ee590 end:0x020ee5b0
src/00_Core/Item/Item.cpp:
.text start:0x020ad020 end:0x020ad090
.rodata start:0x020dc574 end:0x020dc6c4
+62 -62
View File
@@ -2397,40 +2397,40 @@ func_ov000_020b7fe8 kind:function(arm,size=0x14) addr:0x20b7fe8
_ZN13PlayerManager4SaveEP15SaveItemManager kind:function(thumb,size=0x50) addr:0x20b7ffc
_ZN13PlayerManager17IncreaseMaxHealthEs kind:function(thumb,size=0x14) addr:0x20b804c
_ZN13PlayerManager19UpdateShipMaxHealthEv kind:function(thumb,size=0x80) addr:0x20b8060
func_ov000_020b80e0 kind:function(arm,size=0x30) addr:0x20b80e0
func_ov000_020b8110 kind:function(arm,size=0x24) addr:0x20b8110
func_ov000_020b8134 kind:function(arm,size=0x14) addr:0x20b8134
func_ov000_020b8148 kind:function(arm,size=0x1c) addr:0x20b8148
func_ov000_020b8164 kind:function(arm,size=0x50) addr:0x20b8164
func_ov000_020b81b4 kind:function(arm,size=0x40) addr:0x20b81b4
func_ov000_020b81f4 kind:function(arm,size=0xc) addr:0x20b81f4
func_ov000_020b8200 kind:function(arm,size=0x10) addr:0x20b8200
func_ov000_020b8210 kind:function(arm,size=0x38) addr:0x20b8210
func_ov000_020b8248 kind:function(arm,size=0x38) addr:0x20b8248
func_ov000_020b8280 kind:function(arm,size=0x8) addr:0x20b8280
func_ov000_020b8288 kind:function(arm,size=0x8) addr:0x20b8288
func_ov000_020b8290 kind:function(arm,size=0x2c) addr:0x20b8290
func_ov000_020b82bc kind:function(arm,size=0x2c) addr:0x20b82bc
func_ov000_020b82e8 kind:function(arm,size=0x58) addr:0x20b82e8
func_ov000_020b8340 kind:function(arm,size=0xb8) addr:0x20b8340
func_ov000_020b83f8 kind:function(arm,size=0x20) addr:0x20b83f8
func_ov000_020b8418 kind:function(arm,size=0x3c) addr:0x20b8418
func_ov000_020b8454 kind:function(arm,size=0x24) addr:0x20b8454
func_ov000_020b8478 kind:function(arm,size=0x24) addr:0x20b8478
func_ov000_020b849c kind:function(arm,size=0x34) addr:0x20b849c
func_ov000_020b84d0 kind:function(arm,size=0x8) addr:0x20b84d0
func_ov000_020b84d8 kind:function(arm,size=0x54) addr:0x20b84d8
func_ov000_020b852c kind:function(arm,size=0x10) addr:0x20b852c
func_ov000_020b853c kind:function(arm,size=0x14) addr:0x20b853c
func_ov000_020b8550 kind:function(arm,size=0x48) addr:0x20b8550
func_ov000_020b8598 kind:function(arm,size=0x40) addr:0x20b8598
_ZN9ActorNavi6CreateEv kind:function(arm,size=0x30) addr:0x20b80e0
_ZN24UnkStruct_ov000_020b8110C2Ev kind:function(arm,size=0x24) addr:0x20b8110
_ZN24UnkStruct_ov000_020b8110D1Ev kind:function(arm,size=0x14) addr:0x20b8134
_ZN24UnkStruct_ov000_020b8110D0Ev kind:function(arm,size=0x1c) addr:0x20b8148
_ZN24UnkStruct_ov000_020b81108vfunc_08EPs kind:function(arm,size=0x50) addr:0x20b8164
_ZN24UnkStruct_ov000_020b81108vfunc_18EPi kind:function(arm,size=0x40) addr:0x20b81b4
_ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b81f4
_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b8200
_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b8210
_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b8248
_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8280
_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8288
_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8290
_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b82bc
_ZN9ActorNavi9SetActiveEb kind:function(arm,size=0x58) addr:0x20b82e8
_ZN9ActorNavi8vfunc_e0Ev kind:function(arm,size=0xb8) addr:0x20b8340
_ZN9ActorNavi8vfunc_d8Ev kind:function(arm,size=0x20) addr:0x20b83f8
_ZN9ActorNavi8vfunc_20Eb kind:function(arm,size=0x3c) addr:0x20b8418
_ZN9ActorNavi8vfunc_ccEPi kind:function(arm,size=0x24) addr:0x20b8454
_ZN9ActorNavi8vfunc_c0EP5Vec3p kind:function(arm,size=0x24) addr:0x20b8478
_ZN9ActorNavi8vfunc_e8Ev kind:function(arm,size=0x34) addr:0x20b849c
_ZN9ActorNavi8vfunc_8cEv kind:function(arm,size=0x8) addr:0x20b84d0
_ZN9ActorNavi8vfunc_ecEv kind:function(arm,size=0x54) addr:0x20b84d8
_Z14GetEquipHammerv kind:function(arm,size=0x10) addr:0x20b852c local
_ZN9ActorNavi19func_ov000_020b853cEv kind:function(arm,size=0x14) addr:0x20b853c
_ZN9ActorNaviD1Ev kind:function(arm,size=0x48) addr:0x20b8550
_ZN9ActorNaviD0Ev kind:function(arm,size=0x40) addr:0x20b8598
func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b85d8
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b8600
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b8610
func_ov000_020b862c kind:function(arm,size=0x40) addr:0x20b862c
func_ov000_020b866c kind:function(arm,size=0x8) addr:0x20b866c
func_ov000_020b8674 kind:function(arm,size=0x1c) addr:0x20b8674
func_ov000_020b8690 kind:function(arm,size=0x14) addr:0x20b8690
_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b862c
_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b866c
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8674
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8690
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b86a4
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b86e8
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b8718
@@ -2617,13 +2617,13 @@ func_ov000_020bd958 kind:function(arm,size=0x4fc) addr:0x20bd958
func_ov000_020bde54 kind:function(arm,size=0x60) addr:0x20bde54
func_ov000_020bdeb4 kind:function(arm,size=0x10c) addr:0x20bdeb4
func_ov000_020bdfc0 kind:function(arm,size=0x1d8) addr:0x20bdfc0
func_ov000_020be198 kind:function(arm,size=0x30) addr:0x20be198
func_ov000_020be1c8 kind:function(arm,size=0x20) addr:0x20be1c8
func_ov000_020be1e8 kind:function(arm,size=0x14) addr:0x20be1e8
func_ov000_020be1fc kind:function(arm,size=0x1c) addr:0x20be1fc
func_ov000_020be218 kind:function(arm,size=0x7c) addr:0x20be218
func_ov000_020be294 kind:function(arm,size=0x178) addr:0x20be294
func_ov000_020be40c kind:function(arm,size=0xc) addr:0x20be40c
_ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be198
_ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be1c8
_ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be1e8
_ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be1fc
_ZN17ActorActionObject8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x20be218
_ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be294
_ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be40c
func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be418
func_ov000_020be464 kind:function(arm,size=0x78) addr:0x20be464
func_ov000_020be4dc kind:function(arm,size=0x64) addr:0x20be4dc
@@ -2696,10 +2696,10 @@ _ZN11EquipShield8vfunc_1cEv kind:function(arm,size=0xc) addr:0x20c07f8
_ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c0804
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c086c
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a88
func_ov000_020c0b64 kind:function(arm,size=0x40) addr:0x20c0b64
func_ov000_020c0ba4 kind:function(arm,size=0x8) addr:0x20c0ba4
func_ov000_020c0bac kind:function(arm,size=0x1c) addr:0x20c0bac
func_ov000_020c0bc8 kind:function(arm,size=0x14) addr:0x20c0bc8
_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b64
_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0ba4
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0bac
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0bc8
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0bdc
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0c08
func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0c30
@@ -2745,7 +2745,7 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x8) addr:0x20c17b0
_ZN5Actor8vfunc_14Ej kind:function(arm,size=0x4) addr:0x20c17b8
_ZN5Actor8vfunc_18Ej kind:function(arm,size=0x18) addr:0x20c17bc
_ZN5Actor8vfunc_1cEPt kind:function(arm,size=0xc0) addr:0x20c17d4
_ZN5Actor8vfunc_20Ei kind:function(arm,size=0x4) addr:0x20c1894
_ZN5Actor8vfunc_20Eb kind:function(arm,size=0x4) addr:0x20c1894
_ZN5Actor10SetUnk_129Eb kind:function(arm,size=0x10) addr:0x20c1898
_ZN5Actor10SetUnk_11bEv kind:function(arm,size=0x1c) addr:0x20c18a8
_ZN5Actor11SetVelocityEP5Vec3p kind:function(arm,size=0x38) addr:0x20c18c4
@@ -2773,7 +2773,7 @@ _ZN5Actor20KillPickupItemActorsEv kind:function(arm,size=0x54) addr:0x20c1b18
_ZN5Actor15TrySetTransformEP9Transform kind:function(arm,size=0x48) addr:0x20c1b6c
_ZN5Actor12SetTransformEP9Transform kind:function(arm,size=0x44) addr:0x20c1bb4
_ZN5Actor8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x20c1bf8
_ZN5Actor18func_Ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1bfc
_ZN5Actor18func_ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1bfc
_ZN5Actor18func_ov00_020c1c20Eii kind:function(arm,size=0x28) addr:0x20c1c20
_ZN5Actor8vfunc_48EP9Knockback kind:function(arm,size=0x8) addr:0x20c1c48
_ZN5Actor8vfunc_4cEPi kind:function(arm,size=0x44) addr:0x20c1c50
@@ -3955,11 +3955,11 @@ __sinit_ov000_020e11d8 kind:function(arm,size=0x34) addr:0x20e11d8
__sinit_ov000_020e120c kind:function(arm,size=0x44) addr:0x20e120c
__sinit_ov000_020e1250 kind:function(arm,size=0x40) addr:0x20e1250
__sinit_ov000_020e1290 kind:function(arm,size=0x48) addr:0x20e1290
__sinit_ov000_020e12d8 kind:function(arm,size=0x64) addr:0x20e12d8
__sinit_ov000_020e133c kind:function(arm,size=0x40) addr:0x20e133c
__sinit_ActorNavi.cpp kind:function(arm,size=0x64) addr:0x20e12d8
__sinit_ActorForceNavi.cpp kind:function(arm,size=0x40) addr:0x20e133c
__sinit_ov000_020e137c kind:function(arm,size=0x798) addr:0x20e137c
__sinit_ov000_020e1b14 kind:function(arm,size=0x40) addr:0x20e1b14
__sinit_ov000_020e1b54 kind:function(arm,size=0x40) addr:0x20e1b54
__sinit_ActorActionObject.cpp kind:function(arm,size=0x40) addr:0x20e1b14
__sinit_ActorWisdomNavi.cpp kind:function(arm,size=0x40) addr:0x20e1b54
__sinit_ov000_020e1b94 kind:function(arm,size=0x40) addr:0x20e1b94
__sinit_ov000_020e1bd4 kind:function(arm,size=0x40) addr:0x20e1bd4
__sinit_ov000_020e1c14 kind:function(arm,size=0x40) addr:0x20e1c14
@@ -4956,9 +4956,9 @@ data_ov000_020e6528 kind:data(any) addr:0x20e6528
data_ov000_020e652c kind:data(any) addr:0x20e652c
data_ov000_020e6530 kind:data(any) addr:0x20e6530
data_ov000_020e6534 kind:data(any) addr:0x20e6534
data_ov000_020e6560 kind:data(any) addr:0x20e6560
data_ov000_020e6658 kind:data(any) addr:0x20e6658
data_ov000_020e667c kind:data(any) addr:0x20e667c
_ZTV9ActorNavi kind:data(any) addr:0x20e6560
_ZTV24UnkStruct_ov000_020b8110 kind:data(any) addr:0x20e6658
_ZTV14ActorForceNavi kind:data(any) addr:0x20e667c
data_ov000_020e676c kind:data(any) addr:0x20e676c
data_ov000_020e6770 kind:data(any) addr:0x20e6770
data_ov000_020e6774 kind:data(any) addr:0x20e6774
@@ -5017,7 +5017,7 @@ data_ov000_020e6c58 kind:data(any) addr:0x20e6c58
data_ov000_020e6c5c kind:data(any) addr:0x20e6c5c
_ZTV14PlayerLinkBase kind:data(any) addr:0x20e6c88
data_ov000_020e6d18 kind:data(any) addr:0x20e6d18
data_ov000_020e6d44 kind:data(any) addr:0x20e6d44
_ZTV17ActorActionObject kind:data(any) addr:0x20e6d44
data_ov000_020e6df8 kind:data(any) addr:0x20e6df8
data_ov000_020e6dfc kind:data(any) addr:0x20e6dfc
data_ov000_020e6e08 kind:data(any) addr:0x20e6e08
@@ -5057,7 +5057,7 @@ data_ov000_020e7014 kind:data(any) addr:0x20e7014
data_ov000_020e7018 kind:data(any) addr:0x20e7018
data_ov000_020e701c kind:data(any) addr:0x20e701c
data_ov000_020e7048 kind:data(any) addr:0x20e7048
data_ov000_020e70a0 kind:data(any) addr:0x20e70a0
_ZTV15ActorWisdomNavi kind:data(any) addr:0x20e70a0
data_ov000_020e7198 kind:data(any) addr:0x20e7198
data_ov000_020e71a0 kind:data(any) addr:0x20e71a0
data_ov000_020e71a4 kind:data(any) addr:0x20e71a4
@@ -5875,12 +5875,12 @@ data_ov000_020ee16c kind:bss addr:0x20ee16c
data_ov000_020ee178 kind:bss addr:0x20ee178
data_ov000_020ee184 kind:bss addr:0x20ee184
data_ov000_020ee198 kind:bss addr:0x20ee198
data_ov000_020ee1a0 kind:bss addr:0x20ee1a0
data_ov000_020ee1ac kind:bss addr:0x20ee1ac
data_ov000_020ee1c0 kind:bss addr:0x20ee1c0
@418 kind:bss addr:0x20ee1a0 local
_ZN9ActorNavi5gTypeE kind:bss addr:0x20ee1ac
@419 kind:bss addr:0x20ee1c0 local
data_ov000_020ee1cc kind:bss addr:0x20ee1cc
data_ov000_020ee1d8 kind:bss addr:0x20ee1d8
data_ov000_020ee1e4 kind:bss addr:0x20ee1e4
@405 kind:bss addr:0x20ee1d8 local
_ZN14ActorForceNavi5gTypeE kind:bss addr:0x20ee1e4
data_ov000_020ee1f8 kind:bss addr:0x20ee1f8
data_ov000_020ee1fc kind:bss addr:0x20ee1fc
data_ov000_020ee208 kind:bss addr:0x20ee208
@@ -5939,12 +5939,12 @@ data_ov000_020ee50c kind:bss addr:0x20ee50c
data_ov000_020ee520 kind:bss addr:0x20ee520
data_ov000_020ee534 kind:bss addr:0x20ee534
data_ov000_020ee548 kind:bss addr:0x20ee548
data_ov000_020ee55c kind:bss addr:0x20ee55c
data_ov000_020ee568 kind:bss addr:0x20ee568
@360 kind:bss addr:0x20ee55c local
_ZN17ActorActionObject5gTypeE kind:bss addr:0x20ee568
gPlayerAnimHandler kind:bss addr:0x20ee57c
data_ov000_020ee588 kind:bss addr:0x20ee588
data_ov000_020ee590 kind:bss addr:0x20ee590
data_ov000_020ee59c kind:bss addr:0x20ee59c
@405 kind:bss addr:0x20ee590 local
_ZN15ActorWisdomNavi5gTypeE kind:bss addr:0x20ee59c
data_ov000_020ee5b0 kind:bss addr:0x20ee5b0
data_ov000_020ee5bc kind:bss addr:0x20ee5bc
data_ov000_020ee5d0 kind:bss addr:0x20ee5d0
@@ -30,12 +30,42 @@ src/00_Core/Actor/Dungeon/ActorEventIcon.cpp:
.data start:0x020e2a40 end:0x020e2afc
.sbss start:0x020ecd44 end:0x020ecd64
src/00_Core/Actor/Navi/ActorNavi.cpp:
.text start:0x020b8080 end:0x020b8578
.init start:0x020e1278 end:0x020e12dc
.ctor start:0x020e1ea8 end:0x020e1eac
.data start:0x020e64b4 end:0x020e6614
.sbss start:0x020ee140 end:0x020ee178
src/00_Core/Actor/Navi/ActorForceNavi.cpp:
complete
.text start:0x020b85cc end:0x020b8644
.init start:0x020e12dc end:0x020e131c
.ctor start:0x020e1eac end:0x020e1eb0
.data start:0x020e6614 end:0x020e670c
.sbss start:0x020ee178 end:0x020ee198
src/00_Core/Actor/Navi/ActorNaviBase.cpp:
.text start:0x020b87fc end:0x020bb0b8
.rodata start:0x020dc7bc end:0x020dc7f8
.data start:0x020e670c end:0x020e6874
.sbss start:0x020ee198 end:0x020ee19c
src/00_Core/Actor/Dungeon/ActorActionObject.cpp:
.text start:0x020be138 end:0x020be3b8
.init start:0x020e1ab4 end:0x020e1af4
.ctor start:0x020e1eb4 end:0x020e1eb8
.data start:0x020e6cdc end:0x020e6d98
.sbss start:0x020ee4fc end:0x020ee51c
src/00_Core/Actor/Navi/ActorWisdomNavi.cpp:
complete
.text start:0x020c0b04 end:0x020c0b7c
.init start:0x020e1af4 end:0x020e1b34
.ctor start:0x020e1eb8 end:0x020e1ebc
.data start:0x020e7038 end:0x020e7130
.sbss start:0x020ee530 end:0x020ee550
src/00_Core/Item/Item.cpp:
.text start:0x020acfc0 end:0x020ad030
.rodata start:0x020dc514 end:0x020dc664
+62 -62
View File
@@ -2397,40 +2397,40 @@ func_ov000_020b7fe8 kind:function(arm,size=0x14) addr:0x20b7f88
_ZN13PlayerManager4SaveEP15SaveItemManager kind:function(thumb,size=0x50) addr:0x20b7f9c
_ZN13PlayerManager17IncreaseMaxHealthEs kind:function(thumb,size=0x14) addr:0x20b7fec
_ZN13PlayerManager19UpdateShipMaxHealthEv kind:function(thumb,size=0x80) addr:0x20b8000
func_ov000_020b80e0 kind:function(arm,size=0x30) addr:0x20b8080
func_ov000_020b8110 kind:function(arm,size=0x24) addr:0x20b80b0
func_ov000_020b8134 kind:function(arm,size=0x14) addr:0x20b80d4
func_ov000_020b8148 kind:function(arm,size=0x1c) addr:0x20b80e8
func_ov000_020b8164 kind:function(arm,size=0x50) addr:0x20b8104
func_ov000_020b81b4 kind:function(arm,size=0x40) addr:0x20b8154
func_ov000_020b81f4 kind:function(arm,size=0xc) addr:0x20b8194
func_ov000_020b8200 kind:function(arm,size=0x10) addr:0x20b81a0
func_ov000_020b8210 kind:function(arm,size=0x38) addr:0x20b81b0
func_ov000_020b8248 kind:function(arm,size=0x38) addr:0x20b81e8
func_ov000_020b8280 kind:function(arm,size=0x8) addr:0x20b8220
func_ov000_020b8288 kind:function(arm,size=0x8) addr:0x20b8228
func_ov000_020b8290 kind:function(arm,size=0x2c) addr:0x20b8230
func_ov000_020b82bc kind:function(arm,size=0x2c) addr:0x20b825c
func_ov000_020b82e8 kind:function(arm,size=0x58) addr:0x20b8288
func_ov000_020b8340 kind:function(arm,size=0xb8) addr:0x20b82e0
func_ov000_020b83f8 kind:function(arm,size=0x20) addr:0x20b8398
func_ov000_020b8418 kind:function(arm,size=0x3c) addr:0x20b83b8
func_ov000_020b8454 kind:function(arm,size=0x24) addr:0x20b83f4
func_ov000_020b8478 kind:function(arm,size=0x24) addr:0x20b8418
func_ov000_020b849c kind:function(arm,size=0x34) addr:0x20b843c
func_ov000_020b84d0 kind:function(arm,size=0x8) addr:0x20b8470
func_ov000_020b84d8 kind:function(arm,size=0x54) addr:0x20b8478
func_ov000_020b852c kind:function(arm,size=0x10) addr:0x20b84cc
func_ov000_020b853c kind:function(arm,size=0x14) addr:0x20b84dc
func_ov000_020b8550 kind:function(arm,size=0x48) addr:0x20b84f0
func_ov000_020b8598 kind:function(arm,size=0x40) addr:0x20b8538
_ZN9ActorNavi6CreateEv kind:function(arm,size=0x30) addr:0x20b8080
_ZN24UnkStruct_ov000_020b8110C2Ev kind:function(arm,size=0x24) addr:0x20b80b0
_ZN24UnkStruct_ov000_020b8110D1Ev kind:function(arm,size=0x14) addr:0x20b80d4
_ZN24UnkStruct_ov000_020b8110D0Ev kind:function(arm,size=0x1c) addr:0x20b80e8
_ZN24UnkStruct_ov000_020b81108vfunc_08EPs kind:function(arm,size=0x50) addr:0x20b8104
_ZN24UnkStruct_ov000_020b81108vfunc_18EPi kind:function(arm,size=0x40) addr:0x20b8154
_ZN24UnkStruct_ov000_020b81108vfunc_14EPt kind:function(arm,size=0xc) addr:0x20b8194
_ZN9ActorNavi19func_ov000_020b8200Ev kind:function(arm,size=0x10) addr:0x20b81a0
_ZN9ActorNavi8vfunc_c4Ev kind:function(arm,size=0x38) addr:0x20b81b0
_ZN9ActorNavi8vfunc_c8Ev kind:function(arm,size=0x38) addr:0x20b81e8
_ZN9ActorNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b8220
_ZN9ActorNavi8vfunc_b8Ev kind:function(arm,size=0x8) addr:0x20b8228
_ZN9ActorNavi8vfunc_d4Ev kind:function(arm,size=0x2c) addr:0x20b8230
_ZN9ActorNavi8vfunc_d0Ev kind:function(arm,size=0x2c) addr:0x20b825c
_ZN9ActorNavi9SetActiveEb kind:function(arm,size=0x58) addr:0x20b8288
_ZN9ActorNavi8vfunc_e0Ev kind:function(arm,size=0xb8) addr:0x20b82e0
_ZN9ActorNavi8vfunc_d8Ev kind:function(arm,size=0x20) addr:0x20b8398
_ZN9ActorNavi8vfunc_20Eb kind:function(arm,size=0x3c) addr:0x20b83b8
_ZN9ActorNavi8vfunc_ccEPi kind:function(arm,size=0x24) addr:0x20b83f4
_ZN9ActorNavi8vfunc_c0EP5Vec3p kind:function(arm,size=0x24) addr:0x20b8418
_ZN9ActorNavi8vfunc_e8Ev kind:function(arm,size=0x34) addr:0x20b843c
_ZN9ActorNavi8vfunc_8cEv kind:function(arm,size=0x8) addr:0x20b8470
_ZN9ActorNavi8vfunc_ecEv kind:function(arm,size=0x54) addr:0x20b8478
_Z14GetEquipHammerv kind:function(arm,size=0x10) addr:0x20b84cc local
_ZN9ActorNavi19func_ov000_020b853cEv kind:function(arm,size=0x14) addr:0x20b84dc
_ZN9ActorNaviD1Ev kind:function(arm,size=0x48) addr:0x20b84f0
_ZN9ActorNaviD0Ev kind:function(arm,size=0x40) addr:0x20b8538
func_ov000_020b85d8 kind:function(thumb,size=0x28) addr:0x20b8578
func_ov000_020b8600 kind:function(arm,size=0x10) addr:0x20b85a0
func_ov000_020b8610 kind:function(arm,size=0x1c) addr:0x20b85b0
func_ov000_020b862c kind:function(arm,size=0x40) addr:0x20b85cc
func_ov000_020b866c kind:function(arm,size=0x8) addr:0x20b860c
func_ov000_020b8674 kind:function(arm,size=0x1c) addr:0x20b8614
func_ov000_020b8690 kind:function(arm,size=0x14) addr:0x20b8630
_ZN14ActorForceNavi6CreateEv kind:function(arm,size=0x40) addr:0x20b85cc
_ZN14ActorForceNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20b860c
_ZN14ActorForceNaviD0Ev kind:function(arm,size=0x1c) addr:0x20b8614
_ZN14ActorForceNaviD1Ev kind:function(arm,size=0x14) addr:0x20b8630
func_ov000_020b86a4 kind:function(arm,size=0x44) addr:0x20b8644
func_ov000_020b86e8 kind:function(arm,size=0x30) addr:0x20b8688
func_ov000_020b8718 kind:function(arm,size=0x8) addr:0x20b86b8
@@ -2617,13 +2617,13 @@ func_ov000_020bd958 kind:function(arm,size=0x4fc) addr:0x20bd8f8
func_ov000_020bde54 kind:function(arm,size=0x60) addr:0x20bddf4
func_ov000_020bdeb4 kind:function(arm,size=0x10c) addr:0x20bde54
func_ov000_020bdfc0 kind:function(arm,size=0x1d8) addr:0x20bdf60
func_ov000_020be198 kind:function(arm,size=0x30) addr:0x20be138
func_ov000_020be1c8 kind:function(arm,size=0x20) addr:0x20be168
func_ov000_020be1e8 kind:function(arm,size=0x14) addr:0x20be188
func_ov000_020be1fc kind:function(arm,size=0x1c) addr:0x20be19c
func_ov000_020be218 kind:function(arm,size=0x7c) addr:0x20be1b8
func_ov000_020be294 kind:function(arm,size=0x178) addr:0x20be234
func_ov000_020be40c kind:function(arm,size=0xc) addr:0x20be3ac
_ZN17ActorActionObject6CreateEv kind:function(arm,size=0x30) addr:0x20be138
_ZN17ActorActionObjectC1Ev kind:function(arm,size=0x20) addr:0x20be168
_ZN17ActorActionObjectD1Ev kind:function(arm,size=0x14) addr:0x20be188
_ZN17ActorActionObjectD0Ev kind:function(arm,size=0x1c) addr:0x20be19c
_ZN17ActorActionObject8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x20be1b8
_ZN17ActorActionObject8vfunc_14Ej kind:function(arm,size=0x178) addr:0x20be234
_ZN17ActorActionObject8vfunc_18Ej kind:function(arm,size=0xc) addr:0x20be3ac
func_ov000_020be418 kind:function(arm,size=0x4c) addr:0x20be3b8
func_ov000_020be464 kind:function(arm,size=0x78) addr:0x20be404
func_ov000_020be4dc kind:function(arm,size=0x64) addr:0x20be47c
@@ -2696,10 +2696,10 @@ _ZN11EquipShield8vfunc_1cEv kind:function(arm,size=0xc) addr:0x20c0798
_ZN11EquipShield8vfunc_30Ev kind:function(arm,size=0x68) addr:0x20c07a4
_ZN11EquipShield8vfunc_38Ei kind:function(arm,size=0x21c) addr:0x20c080c
_ZNK11EquipShield9GetHitboxEP8Cylinder kind:function(arm,size=0xdc) addr:0x20c0a28
func_ov000_020c0b64 kind:function(arm,size=0x40) addr:0x20c0b04
func_ov000_020c0ba4 kind:function(arm,size=0x8) addr:0x20c0b44
func_ov000_020c0bac kind:function(arm,size=0x1c) addr:0x20c0b4c
func_ov000_020c0bc8 kind:function(arm,size=0x14) addr:0x20c0b68
_ZN15ActorWisdomNavi6CreateEv kind:function(arm,size=0x40) addr:0x20c0b04
_ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x20c0b44
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x20c0b4c
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x20c0b68
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x20c0b7c
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x20c0ba8
func_ov000_020c0c30 kind:function(thumb,size=0x4) addr:0x20c0bd0
@@ -2745,7 +2745,7 @@ _ZN5Actor8vfunc_30Ev kind:function(arm,size=0x8) addr:0x20c1750
_ZN5Actor8vfunc_14Ej kind:function(arm,size=0x4) addr:0x20c1758
_ZN5Actor8vfunc_18Ej kind:function(arm,size=0x18) addr:0x20c175c
_ZN5Actor8vfunc_1cEPt kind:function(arm,size=0xc0) addr:0x20c1774
_ZN5Actor8vfunc_20Ei kind:function(arm,size=0x4) addr:0x20c1834
_ZN5Actor8vfunc_20Eb kind:function(arm,size=0x4) addr:0x20c1834
_ZN5Actor10SetUnk_129Eb kind:function(arm,size=0x10) addr:0x20c1838
_ZN5Actor10SetUnk_11bEv kind:function(arm,size=0x1c) addr:0x20c1848
_ZN5Actor11SetVelocityEP5Vec3p kind:function(arm,size=0x38) addr:0x20c1864
@@ -2773,7 +2773,7 @@ _ZN5Actor20KillPickupItemActorsEv kind:function(arm,size=0x54) addr:0x20c1ab8
_ZN5Actor15TrySetTransformEP9Transform kind:function(arm,size=0x48) addr:0x20c1b0c
_ZN5Actor12SetTransformEP9Transform kind:function(arm,size=0x44) addr:0x20c1b54
_ZN5Actor8vfunc_a8Ev kind:function(arm,size=0x4) addr:0x20c1b98
_ZN5Actor18func_Ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1b9c
_ZN5Actor18func_ov00_020c1bfcEi kind:function(arm,size=0x24) addr:0x20c1b9c
_ZN5Actor18func_ov00_020c1c20Eii kind:function(arm,size=0x28) addr:0x20c1bc0
_ZN5Actor8vfunc_48EP9Knockback kind:function(arm,size=0x8) addr:0x20c1be8
_ZN5Actor8vfunc_4cEPi kind:function(arm,size=0x44) addr:0x20c1bf0
@@ -3955,11 +3955,11 @@ __sinit_ov000_020e11d8 kind:function(arm,size=0x34) addr:0x20e1178
__sinit_ov000_020e120c kind:function(arm,size=0x44) addr:0x20e11ac
__sinit_ov000_020e1250 kind:function(arm,size=0x40) addr:0x20e11f0
__sinit_ov000_020e1290 kind:function(arm,size=0x48) addr:0x20e1230
__sinit_ov000_020e12d8 kind:function(arm,size=0x64) addr:0x20e1278
__sinit_ov000_020e133c kind:function(arm,size=0x40) addr:0x20e12dc
__sinit_ActorNavi.cpp kind:function(arm,size=0x64) addr:0x20e1278
__sinit_ActorForceNavi.cpp kind:function(arm,size=0x40) addr:0x20e12dc
__sinit_ov000_020e137c kind:function(arm,size=0x798) addr:0x20e131c
__sinit_ov000_020e1b14 kind:function(arm,size=0x40) addr:0x20e1ab4
__sinit_ov000_020e1b54 kind:function(arm,size=0x40) addr:0x20e1af4
__sinit_ActorActionObject.cpp kind:function(arm,size=0x40) addr:0x20e1ab4
__sinit_ActorWisdomNavi.cpp kind:function(arm,size=0x40) addr:0x20e1af4
__sinit_ov000_020e1b94 kind:function(arm,size=0x40) addr:0x20e1b34
__sinit_ov000_020e1bd4 kind:function(arm,size=0x40) addr:0x20e1b74
__sinit_ov000_020e1c14 kind:function(arm,size=0x40) addr:0x20e1bb4
@@ -4956,9 +4956,9 @@ data_ov000_020e6528 kind:data(any) addr:0x20e64c8
data_ov000_020e652c kind:data(any) addr:0x20e64cc
data_ov000_020e6530 kind:data(any) addr:0x20e64d0
data_ov000_020e6534 kind:data(any) addr:0x20e64d4
data_ov000_020e6560 kind:data(any) addr:0x20e6500
data_ov000_020e6658 kind:data(any) addr:0x20e65f8
data_ov000_020e667c kind:data(any) addr:0x20e661c
_ZTV9ActorNavi kind:data(any) addr:0x20e6500
_ZTV24UnkStruct_ov000_020b8110 kind:data(any) addr:0x20e65f8
_ZTV14ActorForceNavi kind:data(any) addr:0x20e661c
data_ov000_020e676c kind:data(any) addr:0x20e670c
data_ov000_020e6770 kind:data(any) addr:0x20e6710
data_ov000_020e6774 kind:data(any) addr:0x20e6714
@@ -5017,7 +5017,7 @@ data_ov000_020e6c58 kind:data(any) addr:0x20e6bf8
data_ov000_020e6c5c kind:data(any) addr:0x20e6bfc
_ZTV14PlayerLinkBase kind:data(any) addr:0x20e6c28
data_ov000_020e6d18 kind:data(any) addr:0x20e6cb8
data_ov000_020e6d44 kind:data(any) addr:0x20e6ce4
_ZTV17ActorActionObject kind:data(any) addr:0x20e6ce4
data_ov000_020e6df8 kind:data(any) addr:0x20e6d98
data_ov000_020e6dfc kind:data(any) addr:0x20e6d9c
data_ov000_020e6e08 kind:data(any) addr:0x20e6da8
@@ -5057,7 +5057,7 @@ data_ov000_020e7014 kind:data(any) addr:0x20e6fb4
data_ov000_020e7018 kind:data(any) addr:0x20e6fb8
data_ov000_020e701c kind:data(any) addr:0x20e6fbc
data_ov000_020e7048 kind:data(any) addr:0x20e6fe8
data_ov000_020e70a0 kind:data(any) addr:0x20e7040
_ZTV15ActorWisdomNavi kind:data(any) addr:0x20e7040
data_ov000_020e7198 kind:data(any) addr:0x20e7138
data_ov000_020e71a0 kind:data(any) addr:0x20e7140
data_ov000_020e71a4 kind:data(any) addr:0x20e7144
@@ -5875,12 +5875,12 @@ data_ov000_020ee16c kind:bss addr:0x20ee10c
data_ov000_020ee178 kind:bss addr:0x20ee118
data_ov000_020ee184 kind:bss addr:0x20ee124
data_ov000_020ee198 kind:bss addr:0x20ee138
data_ov000_020ee1a0 kind:bss addr:0x20ee140
data_ov000_020ee1ac kind:bss addr:0x20ee14c
data_ov000_020ee1c0 kind:bss addr:0x20ee160
@418 kind:bss addr:0x20ee140 local
_ZN9ActorNavi5gTypeE kind:bss addr:0x20ee14c
@419 kind:bss addr:0x20ee160 local
data_ov000_020ee1cc kind:bss addr:0x20ee16c
data_ov000_020ee1d8 kind:bss addr:0x20ee178
data_ov000_020ee1e4 kind:bss addr:0x20ee184
@405 kind:bss addr:0x20ee178 local
_ZN14ActorForceNavi5gTypeE kind:bss addr:0x20ee184
data_ov000_020ee1f8 kind:bss addr:0x20ee198
data_ov000_020ee1fc kind:bss addr:0x20ee19c
data_ov000_020ee208 kind:bss addr:0x20ee1a8
@@ -5939,12 +5939,12 @@ data_ov000_020ee50c kind:bss addr:0x20ee4ac
data_ov000_020ee520 kind:bss addr:0x20ee4c0
data_ov000_020ee534 kind:bss addr:0x20ee4d4
data_ov000_020ee548 kind:bss addr:0x20ee4e8
data_ov000_020ee55c kind:bss addr:0x20ee4fc
data_ov000_020ee568 kind:bss addr:0x20ee508
@360 kind:bss addr:0x20ee4fc local
_ZN17ActorActionObject5gTypeE kind:bss addr:0x20ee508
gPlayerAnimHandler kind:bss addr:0x20ee51c
data_ov000_020ee588 kind:bss addr:0x20ee528
data_ov000_020ee590 kind:bss addr:0x20ee530
data_ov000_020ee59c kind:bss addr:0x20ee53c
@405 kind:bss addr:0x20ee530 local
_ZN15ActorWisdomNavi5gTypeE kind:bss addr:0x20ee53c
data_ov000_020ee5b0 kind:bss addr:0x20ee550
data_ov000_020ee5bc kind:bss addr:0x20ee55c
data_ov000_020ee5d0 kind:bss addr:0x20ee570
+1 -1
View File
@@ -227,7 +227,7 @@ public:
bool func_ov00_020c195c();
bool func_ov00_020c198c();
void KillPickupItemActors();
void func_Ov00_020c1bfc(s32 param1);
bool func_ov00_020c1bfc(s32 param1);
void func_ov00_020c1c20(s32 param1, unk32 param2);
bool IsNearLink();
void func_ov00_020c1cf8();
+1
View File
@@ -41,6 +41,7 @@ enum ActorTypeId_ {
ActorTypeId_SmallKey = 'NKEY',
ActorTypeId_SwitchObject = 'SWOB',
ActorTypeId_EventIcon = 'EVIC',
ActorTypeId_ActionObject = 'ACOB',
ActorTypeId_Sandworm = 'MLDW',
ActorTypeId_Tektite = 'TEKT',
@@ -0,0 +1,20 @@
#pragma once
#include "Actor/Actor.hpp"
class ActorActionObject : public Actor {
public:
static ActorType gType;
/* 000 (base) */
/* 158 */
/* 00 */ virtual ~ActorActionObject() override;
/* 08 */ virtual bool vfunc_08() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */
static ActorActionObject *Create();
ActorActionObject();
};
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorForceNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */
/* b4 */ virtual FairyId GetFairyId() override;
static ActorForceNavi *Create();
};
+63 -1
View File
@@ -1,3 +1,65 @@
#pragma once
class ActorNavi;
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
/* c */
/* 00 */ virtual ~UnkStruct_ov000_020b8110() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 14 */ virtual void vfunc_14(u16 *param1) override;
/* 18 */ virtual void vfunc_18(s32 *param1) override;
/* 1c */
UnkStruct_ov000_020b8110();
};
class ActorNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 334 */ unk32 mUnk_334;
/* 338 */ unk32 mUnk_338;
/* 33c */ unk32 mUnk_33c;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ unk32 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x68];
/* 3b4 */ EquipHammer *mHammer;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ unk8 mUnk_3c0[0x8];
/* 3c8 */
/* 00 */ virtual ~ActorNavi() override;
/* 08 */ virtual bool vfunc_08() override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* 8c */ virtual bool vfunc_8c() override;
/* b4 */ virtual FairyId GetFairyId() override;
/* b8 */ virtual s32 vfunc_b8() override;
/* c0 */ virtual bool vfunc_c0(Vec3p *param1) override;
/* c4 */ virtual void vfunc_c4() override;
/* c8 */ virtual void vfunc_c8() override;
/* cc */ virtual bool vfunc_cc(unk32 *param1) override;
/* d0 */ virtual void vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* d8 */ virtual void vfunc_d8() override;
/* dc */ virtual void SetActive(bool active) override;
/* e0 */ virtual void vfunc_e0() override;
/* e8 */ virtual void vfunc_e8() override;
/* ec */ virtual void vfunc_ec() override;
static ActorNavi *Create();
void func_ov000_020b8200();
void func_ov000_020b853c();
ActorNavi();
};
+15 -22
View File
@@ -7,20 +7,30 @@
#include "Player/EquipHammer.hpp"
#include "Render/ModelRender.hpp"
typedef s32 FairyId;
enum FairyId_ {
FairyId_None = -1,
FairyId_Courage = 0,
FairyId_Power = 1,
FairyId_Wisdom = 2,
FairyId_COUNT = 3,
};
class ActorNaviBase_Unk1 {};
class ActorNaviBase : public Actor {
public:
/* 000 (base) */
/* 158 */ Vec3p mUnk_158;
/* 164 */ unk32 mUnk_164;
/* 168 */ ModelRender mUnk_168;
/* 1c4 */ unk8 mUnk_1c4[0xc];
/* 1d0 */ void *mUnk_1d0;
/* 1d4 */ unk8 mUnk_1d4[0x30];
/* 1d0 */ unk8 mUnk_1d0[0x24];
/* 1f4 */ unk8 mUnk_1f4[0x20];
/* 214 */ unk16 mUnk_214;
/* 216 */ unk8 mUnk_216[0xc];
/* 222 */ unk16 mUnk_222;
/* 224 */ unk8 mUnk_224[0x18];
/* 224 */ unk8 mUnk_224[0x28];
/* 24c */ unk32 mUnk_24c;
/* 250 */ unk32 mUnk_250;
/* 254 */ unk32 mUnk_254;
@@ -33,22 +43,7 @@ class ActorNaviBase : public Actor {
/* 288 */ unk8 mUnk_288[0x2];
/* 28a */ unk16 mUnk_28a;
/* 28c */ unk8 mUnk_28c[0x8];
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 334 */ unk32 mUnk_334;
/* 338 */ unk32 mUnk_338;
/* 33c */ unk32 mUnk_33c;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
/* 344 */ unk32 mUnk_344;
/* 348 */ unk32 mUnk_348;
/* 34c */ unk8 mUnk_34c[0x68];
/* 3b4 */ EquipHammer *mHammer;
/* 3b8 */ unk32 mUnk_3b8;
/* 3bc */ unk32 mUnk_3bc;
/* 3c0 */ unk8 mUnk_3c0[0x8];
/* 3c8 */
/* 294 */
/* 00 */ virtual ~ActorNaviBase() override;
/* 08 */ virtual bool vfunc_08() override;
@@ -65,9 +60,7 @@ class ActorNaviBase : public Actor {
/* 84 */ virtual void vfunc_84() override;
/* 90 */ virtual bool vfunc_90() override;
/* 94 */ virtual void vfunc_94() override;
/* a0 */ virtual bool TrySetTransform(Transform *transform) override;
/* b0 */ virtual void SetTransform(Transform *transform) override;
/* b4 */ virtual void vfunc_b4() = 0;
/* b4 */ virtual FairyId GetFairyId() = 0;
/* b8 */ virtual s32 vfunc_b8();
/* bc */ virtual bool vfunc_bc(unk32 param1, unk8 param2, s32 param3);
/* c0 */ virtual bool vfunc_c0(Vec3p *param1);
+15
View File
@@ -0,0 +1,15 @@
#pragma once
#include "Actor/Navi/ActorNaviBase.hpp"
class ActorWisdomNavi : public ActorNaviBase {
public:
static ActorType gType;
/* 000 (base) */
/* 294 */
/* b4 */ virtual FairyId GetFairyId() override;
static ActorWisdomNavi *Create();
};
+3 -12
View File
@@ -8,7 +8,7 @@ extern "C" {
#include "nds/math.h"
#include "types.h"
#include "Actor/Navi/ActorNavi.hpp"
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Item/Item.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
@@ -20,15 +20,6 @@ extern "C" {
#define MAX_AMMO_UPGRADE 2
#define MAX_UNK_0BA 9
typedef s32 FairyId;
enum FairyId_ {
FairyId_None = -1,
FairyId_Courage = 0,
FairyId_Power = 1,
FairyId_Wisdom = 2,
FairyId_COUNT = 3,
};
typedef u32 ItemModelId;
enum ItemModelId_ {
ItemModelId_OshusSword, // swA
@@ -66,7 +57,7 @@ private:
/* 008 */ ItemFlag mForcedItem; // game crashes when any item besides this one is equipped
/* 00c */ u32 mHourglassSandFrames;
/* 010 */ FairyId mEquippedFairy;
/* 014 */ ActorNavi *mFairies[FairyId_COUNT];
/* 014 */ ActorNaviBase *mFairies[FairyId_COUNT];
/* 020 */ u16 mEquipLoadTimer;
/* 022 */ u16 mNumRupees;
/* 024 */ u8 mNumGems[Gem_COUNT];
@@ -114,7 +105,7 @@ public:
// Fairy
FairyId GetEquippedFairy() const;
ActorNavi *GetFairy(FairyId id) const;
ActorNaviBase *GetFairy(FairyId id) const;
u32 GetActiveFairyLevel(FairyId id) const;
u32 GetFairyLevel(FairyId id) const;
void SpawnFairies();
+1 -1
View File
@@ -29,7 +29,7 @@ public:
/* 0c */ virtual bool CanMove();
/* 10 */ virtual void vfunc_10(Cylinder *param1) = 0;
/* 14 */ virtual void vfunc_14(Cylinder *param1) = 0;
/* 18 */ virtual void vfunc_18() = 0;
/* 18 */ virtual bool vfunc_18(s32 param1) = 0;
/* 1c */ virtual void Init() = 0;
/* 20 */ virtual void vfunc_20() = 0;
/* 24 */ virtual void UpdatePos() = 0;
+1 -1
View File
@@ -50,7 +50,7 @@ public:
/* 0c */ virtual bool CanMove() override;
/* 10 */ virtual void vfunc_10(Cylinder *param1) override;
/* 14 */ virtual void vfunc_14(Cylinder *param1) override;
/* 18 */ virtual void vfunc_18(s32 param1) override;
/* 18 */ virtual bool vfunc_18(s32 param1) override;
/* 1c */ virtual void Init() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void UpdatePos() override;
+2
View File
@@ -5,4 +5,6 @@
typedef unsigned int size_t;
#define offsetof(type, member) ((size_t) &((type *) NULL)->member)
#endif
+2 -2
View File
@@ -318,8 +318,8 @@ ARM void Actor::SetTransform(Transform *transform) {
ARM void Actor::vfunc_a8() {}
ARM void Actor::func_Ov00_020c1bfc(s32 param1) {
gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]);
ARM bool Actor::func_ov00_020c1bfc(s32 param1) {
return gMapManager->func_ov00_02084be0(mUnk_020.mUnk_0a[param1], mUnk_020.mUnk_08[param1]);
}
ARM void Actor::func_ov00_020c1c20(s32 param1, unk32 param2) {
@@ -0,0 +1,85 @@
#include "Actor/Dungeon/ActorActionObject.hpp"
#include "Map/MapManager.hpp"
#include "Player/LinkStateBase.hpp"
#include "Player/PlayerLinkBase.hpp"
#include "Save/AdventureFlags.hpp"
#pragma section sbss begin
ActorType ActorActionObject::gType = ActorType(ActorTypeId_ActionObject, (ActorCreateFunc) ActorActionObject::Create, NULL);
#pragma section sbss end
extern u32 **data_027e0fe0[];
ARM ActorActionObject *ActorActionObject::Create() {
return new(*data_027e0fe0[0], 4) ActorActionObject();
}
ARM ActorActionObject::ActorActionObject() {}
ARM ActorActionObject::~ActorActionObject() {}
// non-matching
ARM bool ActorActionObject::vfunc_08() {
mGravity = 0;
mHitbox.pos = gVec3p_ZERO;
mHitbox.size = -1;
mUnk_08c.pos = mHitbox.pos;
mUnk_08c.size = mHitbox.size;
mUnk_0a4.mUnk_04 = gVec3p_ZERO;
mUnk_0a4.mUnk_10 = -1;
mVisible = false;
mUnk_130 = 0;
return true;
}
ARM void ActorActionObject::vfunc_14(u32 param1) {
if (!this->func_ov00_020c313c(param1)) {
return;
}
u32 flag = mUnk_020.mUnk_00[2];
bool bVar3;
switch (mUnk_020.mUnk_00[0]) {
case 0: bVar3 = true; break;
case 1:
if (gPlayerLink->mGrabActor.id != -1 && gPlayerLink->GetStateId() == LinkStateId_Move) {
bVar3 = true;
} else {
bVar3 = false;
}
break;
case 2:
if (gPlayerLink->mGrabActor.id == -1 && gPlayerLink->GetStateId() == LinkStateId_Move) {
bVar3 = true;
} else {
bVar3 = false;
}
break;
default: bVar3 = false; break;
}
if (!bVar3) {
return;
}
if (!gMapManager->func_ov00_020836dc((u32) mUnk_020.mUnk_00[1], 0)) {
return;
}
if (mUnk_020.mUnk_0a[0] != 0 && !this->func_ov00_020c1bfc(0)) {
return;
}
if (flag != 0 && !gAdventureFlags->Get(flag)) {
return;
}
PlayerLinkBase *link = gPlayerLink;
if (link != NULL && link->vfunc_18(7)) {
if (mUnk_020.mUnk_00[3] == 1) {
link->func_ov000_020bcf50(&mPos, 0x800);
}
this->func_ov00_020c1c20(1, 1);
this->Kill();
}
}
ARM void ActorActionObject::vfunc_18(u32 param1) {
this->func_ov00_020c313c(param1);
}
+14
View File
@@ -0,0 +1,14 @@
#include "Actor/Navi/ActorForceNavi.hpp"
#pragma section sbss begin
ActorType ActorForceNavi::gType = ActorType(ActorTypeId_ForceNavi, (ActorCreateFunc) ActorForceNavi::Create, NULL);
#pragma section sbss end
extern u32 **data_027e0fe0[];
ActorForceNavi *ActorForceNavi::Create() {
return new(*data_027e0fe0[0], 4) ActorForceNavi();
}
ARM FairyId ActorForceNavi::GetFairyId() {
return FairyId_Power;
}
+32
View File
@@ -0,0 +1,32 @@
#include "Actor/Navi/ActorNavi.hpp"
#include "Player/EquipHammer.hpp"
ActorType ActorNavi::gType = ActorType(ActorTypeId_Navi, (ActorCreateFunc) ActorNavi::Create, NULL);
UnkStruct_ov000_020b8110 data_ov000_020ee1cc;
ActorNavi *ActorNavi::Create() {}
UnkStruct_ov000_020b8110::UnkStruct_ov000_020b8110() :
UnkStruct_ov000_020beba8(7) {}
UnkStruct_ov000_020b8110::~UnkStruct_ov000_020b8110() {}
void UnkStruct_ov000_020b8110::vfunc_08(unk16 *param1) {}
void UnkStruct_ov000_020b8110::vfunc_18(s32 *param1) {}
void UnkStruct_ov000_020b8110::vfunc_14(u16 *param1) {}
void ActorNavi::func_ov000_020b8200() {}
void ActorNavi::vfunc_c4() {}
void ActorNavi::vfunc_c8() {}
FairyId ActorNavi::GetFairyId() {}
s32 ActorNavi::vfunc_b8() {}
void ActorNavi::vfunc_d4() {}
void ActorNavi::vfunc_d0() {}
void ActorNavi::SetActive(bool active) {}
void ActorNavi::vfunc_e0() {}
void ActorNavi::vfunc_d8() {}
void ActorNavi::vfunc_20(bool param1) {}
bool ActorNavi::vfunc_cc(unk32 *param1) {}
bool ActorNavi::vfunc_c0(Vec3p *param1) {}
void ActorNavi::vfunc_e8() {}
bool ActorNavi::vfunc_8c() {}
void ActorNavi::vfunc_ec() {}
EquipHammer *GetEquipHammer() {}
void ActorNavi::func_ov000_020b853c() {}
ActorNavi::~ActorNavi() {}
@@ -0,0 +1,14 @@
#include "Actor/Navi/ActorWisdomNavi.hpp"
#pragma section sbss begin
ActorType ActorWisdomNavi::gType = ActorType(ActorTypeId_WisdomNavi, (ActorCreateFunc) ActorWisdomNavi::Create, NULL);
#pragma section sbss end
extern u32 **data_027e0fe0[];
ARM ActorWisdomNavi *ActorWisdomNavi::Create() {
return new(*data_027e0fe0[0], 4) ActorWisdomNavi();
}
ARM FairyId ActorWisdomNavi::GetFairyId() {
return FairyId_Wisdom;
}
+1 -1
View File
@@ -126,7 +126,7 @@ ARM FairyId ItemManager::GetEquippedFairy() const {
return fairy;
}
ARM ActorNavi *ItemManager::GetFairy(FairyId id) const {
ARM ActorNaviBase *ItemManager::GetFairy(FairyId id) const {
return mFairies[id];
}
+1 -1
View File
@@ -20,7 +20,7 @@ bool PlayerLinkBase::func_ov000_020bba00() {}
bool PlayerLinkBase::func_ov000_020bba14() {}
bool PlayerLinkBase::func_ov000_020bba28() {}
void PlayerLinkBase::func_ov000_020bba48() {}
void PlayerLinkBase::vfunc_18(s32 param1) {}
bool PlayerLinkBase::vfunc_18(s32 param1) {}
bool PlayerLinkBase::CanMove() {}
bool PlayerLinkBase::vfunc_58() {}
bool PlayerLinkBase::vfunc_5c() {}
+3
View File
@@ -0,0 +1,3 @@
#include "Actor/Navi/ActorNavi.hpp"
ActorNavi::ActorNavi() {}