EquipBombchu (#131)

* Map symbol in Game

* EquipBombchu 12%

* EquipBombchu 53%

* EquipBombchu 71%

* configure: Don't verify dsd version if `--dsd` specified

* EquipBombchu 89%

* Fix regression
This commit is contained in:
Aetias
2025-07-31 21:22:55 +02:00
committed by GitHub
parent 8ad6359c7d
commit 82f54b2f07
67 changed files with 1321 additions and 399 deletions
+2 -2
View File
@@ -52,7 +52,7 @@ Vec3p_Normalize kind:function(arm,size=0x118) addr:0x01ff9d4c
Vec3p_Axpy kind:function(arm,size=0x5c) addr:0x01ff9e64
Vec3p_Distance kind:function(arm,size=0x7c) addr:0x01ff9ec0
func_01ff9f3c kind:function(arm,size=0x1b8) addr:0x01ff9f3c
Atan2 kind:function(arm,size=0x1a8) addr:0x01ffa0f4
FX_Atan2Idx kind:function(arm,size=0x1a8) addr:0x01ffa0f4
func_01ffa29c kind:function(arm,size=0x40) addr:0x01ffa29c
func_01ffa2dc kind:function(arm,size=0x70) addr:0x01ffa2dc
func_01ffa34c kind:function(arm,size=0x24) addr:0x01ffa34c
@@ -83,7 +83,7 @@ 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_01ffbf5cEiP5Vec3pS1_i kind:function(arm,size=0x1bc) addr:0x01ffbf5c
_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
func_01ffe1cc kind:function(arm,size=0x29c) addr:0x01ffe1cc
+18 -18
View File
@@ -135,7 +135,7 @@ func_ov000_02079ddc kind:function(thumb,size=0x14) addr:0x02079ddc
func_ov000_02079df0 kind:function(thumb,size=0x14) addr:0x02079df0
func_ov000_02079e04 kind:function(arm,size=0x38) addr:0x02079e04
func_ov000_02079e3c kind:function(arm,size=0x2c) addr:0x02079e3c
func_ov000_02079e68 kind:function(arm,size=0x4c) addr:0x02079e68
_ZN18UnkStruct_020e936019func_ov000_02079e68Ei kind:function(arm,size=0x4c) addr:0x02079e68
func_ov000_02079eb4 kind:function(arm,size=0x24) addr:0x02079eb4
func_ov000_02079ed8 kind:function(thumb,size=0x22) addr:0x02079ed8
func_ov000_02079efc kind:function(thumb,size=0x3e) addr:0x02079efc
@@ -209,7 +209,7 @@ func_ov000_0207b530 kind:function(thumb,size=0x2c) addr:0x0207b530
func_ov000_0207b55c kind:function(thumb,size=0x60) addr:0x0207b55c
func_ov000_0207b5bc kind:function(thumb,size=0x264) addr:0x0207b5bc
func_ov000_0207b820 kind:function(arm,size=0x7c) addr:0x0207b820
func_ov000_0207b89c kind:function(arm,size=0x60) addr:0x0207b89c
_ZN24UnkStruct_ov000_020e9c8819func_ov000_0207b89cEiP5Vec3pPFvPvES2_ kind:function(arm,size=0x60) addr:0x0207b89c
func_ov000_0207b8fc kind:function(arm,size=0x10) addr:0x0207b8fc
func_ov000_0207b90c kind:function(arm,size=0x7c) addr:0x0207b90c
_ZN18UnkStruct_027e0dbc19func_ov000_0207b988Ei kind:function(thumb,size=0x40) addr:0x0207b988
@@ -221,7 +221,7 @@ func_ov000_0207bab4 kind:function(arm,size=0x5c) addr:0x0207bab4
func_ov000_0207bb10 kind:function(arm,size=0x4) addr:0x0207bb10
func_ov000_0207bb14 kind:function(arm,size=0x4) addr:0x0207bb14
func_ov000_0207bb18 kind:function(arm,size=0x4) addr:0x0207bb18
func_ov000_0207bb1c kind:function(arm,size=0x30) addr:0x0207bb1c
_ZN18UnkStruct_027e0de419func_ov000_0207bb1cEiPFvPvES0_ kind:function(arm,size=0x30) addr:0x0207bb1c
func_ov000_0207bb4c kind:function(arm,size=0xfc) addr:0x0207bb4c
func_ov000_0207bc48 kind:function(arm,size=0x20) addr:0x0207bc48
func_ov000_0207bc68 kind:function(arm,size=0x14) addr:0x0207bc68
@@ -473,7 +473,7 @@ func_ov000_02081ed4 kind:function(arm,size=0x10) addr:0x02081ed4
func_ov000_02081ee4 kind:function(arm,size=0x10) addr:0x02081ee4
func_ov000_02081ef4 kind:function(arm,size=0x44) addr:0x02081ef4
func_ov000_02081f38 kind:function(arm,size=0x14) addr:0x02081f38
func_ov000_02081f4c kind:function(arm,size=0x4) addr:0x02081f4c
_ZN24UnkStruct_ov000_020beba8D2Ev kind:function(arm,size=0x4) addr:0x02081f4c
func_ov000_02081f50 kind:function(arm,size=0x8) addr:0x02081f50
func_ov000_02081f58 kind:function(arm,size=0x14) addr:0x02081f58
func_ov000_02081f6c kind:function(arm,size=0x4) addr:0x02081f6c
@@ -617,7 +617,7 @@ _ZN10MapManager18func_ov00_02083e70EP7TilePos kind:function(arm,size=0x70) addr:
_ZN10MapManager16MapData_vfunc_68EP5Vec3pb kind:function(arm,size=0x18) addr:0x02083ee0
_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_b kind:function(arm,size=0x4c) addr:0x02083ef8
_ZN10MapManager18func_ov00_02083f44EP5Vec3pb kind:function(arm,size=0x3c) addr:0x02083f44
_ZN10MapManager16MapData_vfunc_6cEiii kind:function(arm,size=0x18) addr:0x02083f80
_ZN10MapManager16MapData_vfunc_6cEP5Vec3pPiS1_ kind:function(arm,size=0x18) addr:0x02083f80
_ZN10MapManager16MapData_vfunc_70EP5Vec3p kind:function(arm,size=0x18) addr:0x02083f98
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x02083fb0
_ZN10MapManager18GetTileWorldBoundsEP7TilePosP4AABB kind:function(arm,size=0x64) addr:0x02084024
@@ -1987,7 +1987,7 @@ _ZN16TouchGestureBaseD2Ev kind:function(arm,size=0x4) addr:0x020a9548
_ZN16TouchGestureBase17ResetTouchHistoryEv kind:function(arm,size=0xc) addr:0x020a954c
_ZN16TouchGestureBaseD1Ev kind:function(arm,size=0x14) addr:0x020a9558
_ZN11ModelRenderC2Ev kind:function(thumb,size=0x1c) addr:0x020a956c
_ZN11ModelRenderC1Ev kind:function(thumb,size=0x1c) addr:0x020a9588
_ZN11ModelRenderC1Ei kind:function(thumb,size=0x1c) addr:0x020a9588
_ZN11ModelRenderD1Ev kind:function(thumb,size=0x20) addr:0x020a95a4
_ZN11ModelRenderD0Ev kind:function(thumb,size=0x28) addr:0x020a95c4
_ZN11ModelRenderD2Ev kind:function(thumb,size=0x20) addr:0x020a95ec
@@ -1999,7 +1999,7 @@ _ZN11ModelRender22SetRotationTranslationEP5Mat3pP5Vec3p kind:function(arm,size=0
_ZN11ModelRender14SetTranslationEP5Vec3p kind:function(arm,size=0x24) addr:0x020a9740
_ZN11ModelRender20PushGeometryCommandsEv kind:function(arm,size=0x6c) addr:0x020a9764
_ZN11ModelRender8vfunc_20Ev kind:function(arm,size=0x10) addr:0x020a97d0
_ZN11ModelRender8vfunc_24Ei kind:function(arm,size=0x18) addr:0x020a97e0
_ZN11ModelRender8vfunc_24EP24UnkStruct_ov000_020c0c08 kind:function(arm,size=0x18) addr:0x020a97e0
_ZN11ModelRender8vfunc_28Ev kind:function(arm,size=0x6c) addr:0x020a97f8
_ZN11ModelRender8vfunc_2cEv kind:function(arm,size=0x2c) addr:0x020a9864
_ZN11ModelRender8vfunc_34Ev kind:function(arm,size=0x2c) addr:0x020a9890
@@ -2108,10 +2108,10 @@ _ZNK11ItemManager8GetFairyEi kind:function(arm,size=0xc) addr:0x020ad428
_ZN11ItemManager13TickEquipItemEv kind:function(arm,size=0xf4) addr:0x020ad434
_ZN11ItemManager18func_ov00_020ad528Ev kind:function(arm,size=0x4) addr:0x020ad528
_ZN11ItemManager12GetItemModelEj kind:function(arm,size=0xc) addr:0x020ad52c
_ZNK11ItemManager18func_ov00_020ad538Ei kind:function(arm,size=0x28) addr:0x020ad538
_ZNK11ItemManager18func_ov00_020ad560Ei kind:function(arm,size=0x28) addr:0x020ad560
_ZNK11ItemManager18func_ov00_020ad538EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad538
_ZNK11ItemManager18func_ov00_020ad560EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad560
_ZN11ItemManager19GetDungeonItemModelEj kind:function(arm,size=0xc) addr:0x020ad588
_ZNK11ItemManager18func_ov00_020ad594Ei kind:function(arm,size=0x28) addr:0x020ad594
_ZNK11ItemManager18func_ov00_020ad594EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad594
_ZN11ItemManager14Sword_vfunc_38Ei kind:function(arm,size=0x1c) addr:0x020ad5bc
_ZN11ItemManager15Shield_vfunc_38Ei kind:function(arm,size=0x1c) addr:0x020ad5d8
_ZN11ItemManager18EquipItem_vfunc_38Ei kind:function(arm,size=0x84) addr:0x020ad5f4
@@ -2297,7 +2297,7 @@ func_ov000_020b3f78 kind:function(arm,size=0x84) addr:0x020b3f78
func_ov000_020b3ffc kind:function(arm,size=0x7c) addr:0x020b3ffc
func_ov000_020b4078 kind:function(arm,size=0x70) addr:0x020b4078
func_ov000_020b40e8 kind:function(arm,size=0x54) addr:0x020b40e8
func_ov000_020b413c kind:function(arm,size=0x64) addr:0x020b413c
_ZN11ModelRender19func_ov000_020b413cEsP5Vec3p kind:function(arm,size=0x64) addr:0x020b413c
func_ov000_020b41a0 kind:function(arm,size=0x24) addr:0x020b41a0
func_ov000_020b41c4 kind:function(arm,size=0x28) addr:0x020b41c4
func_ov000_020b41ec kind:function(arm,size=0x30) addr:0x020b41ec
@@ -2644,12 +2644,12 @@ _ZNK9EquipItem8vfunc_48Eii kind:function(arm,size=0x8) addr:0x020be980
_ZNK9EquipItem8vfunc_4cEv kind:function(arm,size=0x8) addr:0x020be988
_ZN9EquipItem12GetPlayerPosEv kind:function(arm,size=0xc) addr:0x020be990
_ZN9EquipItem19func_ov000_020be99cEP5Vec3p kind:function(arm,size=0x48) addr:0x020be99c
_ZN9EquipItem19func_ov000_020be9e4Eiiis kind:function(arm,size=0x14c) addr:0x020be9e4
_ZN9EquipItem19func_ov000_020be9e4E5Vec3ps kind:function(arm,size=0x14c) addr:0x020be9e4
_ZNK9EquipItem7GetAmmoEv kind:function(arm,size=0x2c) addr:0x020beb30
_ZN9EquipItem8GiveAmmoEj kind:function(arm,size=0x34) addr:0x020beb5c
_ZNK9EquipItem9GetHitboxEP8Cylinder kind:function(arm,size=0x18) addr:0x020beb90
_ZN24UnkStruct_ov000_020beba8C1Ei kind:function(arm,size=0x18) addr:0x020beba8
_ZN24UnkStruct_ov000_020beba8C2Ei kind:function(arm,size=0x18) addr:0x020bebc0
_ZN24UnkStruct_ov000_020beba8C2Ei kind:function(arm,size=0x18) addr:0x020beba8
_ZN24UnkStruct_ov000_020beba8C1Ei kind:function(arm,size=0x18) addr:0x020bebc0
_ZN24UnkStruct_ov000_020beba88vfunc_08EPs kind:function(arm,size=0x84) addr:0x020bebd8
_ZN24UnkStruct_ov000_020beba88vfunc_0cEPs kind:function(arm,size=0x84) addr:0x020bec5c
_ZN24UnkStruct_ov000_020beba88vfunc_10EPi kind:function(arm,size=0x9c) addr:0x020bece0
@@ -2701,11 +2701,11 @@ _ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x020c0ba4
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x020c0bac
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x020c0bc8
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x020c0bdc
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x020c0c08
_ZN24UnkStruct_ov000_020c0c08C1EP27UnkStruct_ov000_020c0c08_04Ph kind:function(thumb,size=0x28) addr:0x020c0c08
func_ov000_020c0c30 kind:function(thumb,size=0x2) addr:0x020c0c30
func_ov000_020c0c34 kind:function(thumb,size=0xc) addr:0x020c0c34
func_ov000_020c0c40 kind:function(thumb,size=0x2) addr:0x020c0c40
func_ov000_020c0c44 kind:function(arm,size=0x2c) addr:0x020c0c44
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0c44EPv kind:function(arm,size=0x2c) addr:0x020c0c44
func_ov000_020c0c70 kind:function(arm,size=0x2c) addr:0x020c0c70
func_ov000_020c0c9c kind:function(arm,size=0x2c) addr:0x020c0c9c
func_ov000_020c0cc8 kind:function(arm,size=0x54) addr:0x020c0cc8
@@ -2715,9 +2715,9 @@ func_ov000_020c0d54 kind:function(arm,size=0x14) addr:0x020c0d54
func_ov000_020c0d68 kind:function(arm,size=0x8) addr:0x020c0d68
func_ov000_020c0d70 kind:function(arm,size=0x24) addr:0x020c0d70
func_ov000_020c0d94 kind:function(arm,size=0x70) addr:0x020c0d94
func_ov000_020c0e04 kind:function(arm,size=0x20) addr:0x020c0e04
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0e04Ev kind:function(arm,size=0x20) addr:0x020c0e04
func_ov000_020c0e24 kind:function(arm,size=0x38) addr:0x020c0e24
func_ov000_020c0e5c kind:function(arm,size=0x38) addr:0x020c0e5c
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0e5cEi kind:function(arm,size=0x38) addr:0x020c0e5c
func_ov000_020c0e94 kind:function(arm,size=0xc) addr:0x020c0e94
func_ov000_020c0ea0 kind:function(arm,size=0x20) addr:0x020c0ea0
func_ov000_020c0ec0 kind:function(arm,size=0xc) addr:0x020c0ec0
+1 -1
View File
@@ -103,7 +103,7 @@ _ZN18UnkStruct_027e103c19func_ov005_021040ecEv kind:function(arm,size=0x28) addr
_ZN18UnkStruct_027e103c19func_ov005_02104114Ev kind:function(arm,size=0x28) addr:0x02104114
_ZN18UnkStruct_027e103c19func_ov005_0210413cEv kind:function(arm,size=0x24) addr:0x0210413c
_ZN18UnkStruct_027e103c19func_ov005_02104160Ev kind:function(arm,size=0x2c) addr:0x02104160
_ZN18UnkStruct_027e103c19func_Ov005_0210418cEc kind:function(arm,size=0x38) addr:0x0210418c
_ZN18UnkStruct_027e103c19func_ov005_0210418cEc kind:function(arm,size=0x38) addr:0x0210418c
func_ov005_021041c4 kind:function(arm,size=0x38) addr:0x021041c4
func_ov005_021041fc kind:function(arm,size=0x130) addr:0x021041fc
func_ov005_0210432c kind:function(arm,size=0x50) addr:0x0210432c
+2 -2
View File
@@ -101,7 +101,7 @@ _ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x02123e4
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x02123f04
_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x12) addr:0x02123ff0
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x02124004
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x02124034
_ZN24UnkStruct_ov000_020beba819func_ov014_02124034EP27UnkStruct_ov000_020beba8_08 kind:function(arm,size=0xc) addr:0x02124034
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x02124040
func_ov014_0212411c kind:function(arm,size=0xc) addr:0x0212411c
func_ov014_02124128 kind:function(arm,size=0x11c) addr:0x02124128
@@ -920,7 +920,7 @@ _ZN12EquipBombchu19func_ov014_0213ec40Ev kind:function(arm,size=0x24) addr:0x021
_ZN12EquipBombchu19func_ov014_0213ec64Ev kind:function(arm,size=0x48) addr:0x0213ec64
_ZNK12EquipBombchu5GetIdEv kind:function(arm,size=0x8) addr:0x0213ecac
_ZN12EquipBombchu8vfunc_34EPs kind:function(arm,size=0xc0) addr:0x0213ecb4
_ZN12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x0213ed74
_ZNK12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x0213ed74
_ZN12EquipBombchu19func_ov014_0213ed94Ei kind:function(arm,size=0xc) addr:0x0213ed94
_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x1e) addr:0x0213eda0
_ZN11EquipHammerC2Ev kind:function(thumb,size=0x24) addr:0x0213edc0
@@ -5,3 +5,10 @@
.data start:0x0219aea0 end:0x0219afc0 kind:data align:32
.bss start:0x0219afc0 end:0x0219b120 kind:bss align:32
src/58_Bombchu/Player/EquipBombchu.cpp:
.text start:0x02198d00 end:0x0219a454
.rodata start:0x0219ad68 end:0x0219ad80
.init start:0x0219ad80 end:0x0219ae7c
.ctor start:0x0219ae7c end:0x0219ae80
.data start:0x0219aea0 end:0x0219af18
.bss start:0x0219afc0 end:0x0219b120
+6 -6
View File
@@ -27,13 +27,13 @@ from:0x02199012 kind:thumb_call_arm to:0x020a97e0 module:overlay(0)
from:0x02199020 kind:load to:0x027e0fb4 module:dtcm
from:0x02199024 kind:load to:0x0219afcc module:overlay(58)
from:0x02199028 kind:load to:0x0219b034 module:overlay(58)
from:0x0219902c kind:load to:0x0219b040 module:overlay(58)
from:0x0219902c kind:load to:0x0219b034 add:0xc module:overlay(58)
from:0x02199030 kind:load to:0x0219ad68 module:overlay(58)
from:0x02199034 kind:load to:0x0219b0a0 module:overlay(58)
from:0x02199038 kind:load to:0x0219b080 module:overlay(58)
from:0x02199038 kind:load to:0x0219b034 add:0x4c module:overlay(58)
from:0x02199052 kind:thumb_call to:0x0213eda0 module:overlay(14)
from:0x02199058 kind:thumb_call_arm to:0x0213ec64 module:overlay(14)
from:0x02199068 kind:load to:0x0219b080 module:overlay(58)
from:0x02199068 kind:load to:0x0219b034 add:0x4c module:overlay(58)
from:0x02199082 kind:thumb_call_arm to:0x020b11dc module:overlay(0)
from:0x021990aa kind:thumb_call_arm to:0x0210418c module:overlay(5)
from:0x021990be kind:thumb_call_arm to:0x020c0e04 module:overlay(0)
@@ -58,7 +58,7 @@ from:0x021991f8 kind:thumb_call_arm to:0x0207bb1c module:overlay(0)
from:0x02199204 kind:load to:0x0219afcc module:overlay(58)
from:0x02199208 kind:load to:0x020e9c88 module:overlay(0)
from:0x0219920c kind:load to:0x02199221 module:overlay(58)
from:0x02199210 kind:load to:0x0219b080 module:overlay(58)
from:0x02199210 kind:load to:0x0219b034 add:0x4c module:overlay(58)
from:0x02199214 kind:load to:0x027e077c module:dtcm
from:0x02199218 kind:load to:0x027e0de4 module:dtcm
from:0x0219921c kind:load to:0x02199265 module:overlay(58)
@@ -134,9 +134,9 @@ from:0x02199aa6 kind:thumb_call_arm to:0x01ffbe78 module:itcm
from:0x02199ac6 kind:thumb_call_arm to:0x02083a1c module:overlay(0)
from:0x02199b2a kind:thumb_call_arm to:0x02083c7c module:overlay(0)
from:0x02199b44 kind:load to:0x027e0e60 module:dtcm
from:0x02199b4c kind:load to:0x0219b100 module:overlay(58)
from:0x02199b4c kind:load to:0x0219b0f0 add:0x10 module:overlay(58)
from:0x02199b50 kind:load to:0x0219b0f0 module:overlay(58)
from:0x02199b54 kind:load to:0x0219b0c0 module:overlay(58)
from:0x02199b54 kind:load to:0x0219b0a0 add:0x20 module:overlay(58)
from:0x02199b6a kind:thumb_call_arm to:0x02083a1c module:overlay(0)
from:0x02199bd0 kind:thumb_call_arm to:0x02083c7c module:overlay(0)
from:0x02199bfe kind:thumb_call_arm to:0x02083ee0 module:overlay(0)
+16 -18
View File
@@ -1,27 +1,27 @@
_ZN25EquipBombchu_Unk_02198d008vfunc_08EPs kind:function(arm,size=0x1f4) addr:0x02198d00
_Z19func_ov058_02198ef4v kind:function(arm,size=0x4) addr:0x02198ef4
_Z19func_ov058_02198ef8v kind:function(arm,size=0x4) addr:0x02198ef8
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPt kind:function(arm,size=0x78) addr:0x02198efc
_ZN25EquipBombchu_Unk_02198d008vfunc_08EP27UnkStruct_ov000_020beba8_08 kind:function(arm,size=0x1f4) addr:0x02198d00
_ZN24UnkStruct_027e0f6c_Unk_1D1Ev kind:function(arm,size=0x4) addr:0x02198ef4
_ZN24UnkStruct_027e0f6c_Unk_1C1Ev kind:function(arm,size=0x4) addr:0x02198ef8
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPti kind:function(arm,size=0x78) addr:0x02198efc
_ZN25EquipBombchu_Unk_02198d008vfunc_10EPi kind:function(arm,size=0x4c) addr:0x02198f74
_ZN12EquipBombchu8vfunc_00Ev kind:function(thumb,size=0x7c) addr:0x02198fc0
_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x22) addr:0x0219903c
_ZN12EquipBombchu8vfunc_1cEv kind:function(thumb,size=0xc) addr:0x02199060
_ZN12EquipBombchu8vfunc_30Ev kind:function(thumb,size=0x104) addr:0x0219906c
_ZN12EquipBombchu8vfunc_38Ei kind:function(thumb,size=0xb0) addr:0x02199170
_ZN12EquipBombchu19func_ov058_02199220Ev kind:function(thumb,size=0x8) addr:0x02199220
_Z19func_ov058_02199220P12EquipBombchu kind:function(thumb,size=0x8) addr:0x02199220
_ZN12EquipBombchu19func_ov058_02199228Ev kind:function(thumb,size=0x3c) addr:0x02199228
_ZN12EquipBombchu19func_ov058_02199264Ev kind:function(thumb,size=0x8) addr:0x02199264
_Z19func_ov058_02199264P12EquipBombchu kind:function(thumb,size=0x8) addr:0x02199264
_ZN12EquipBombchu19func_ov058_0219926cEv kind:function(thumb,size=0x18) addr:0x0219926c
_ZNK12EquipBombchu8IsUsableEi kind:function(arm,size=0x40) addr:0x02199284
_ZNK12EquipBombchu11CheckUsableEi kind:function(arm,size=0x13c) addr:0x021992c4
_ZN12EquipBombchu19func_ov058_02199400Ev kind:function(thumb,size=0x98) addr:0x02199400
_ZN12EquipBombchu19func_ov058_02199498EP5Vec3p kind:function(thumb,size=0xa58) addr:0x02199498
_ZN12EquipBombchu19func_ov058_02199ef0Es kind:function(arm,size=0xe8) addr:0x02199ef0
_ZN12EquipBombchu19func_ov058_02199fd8Ej kind:function(arm,size=0xac) addr:0x02199fd8
_ZN12EquipBombchu19func_ov058_0219a084Es kind:function(arm,size=0x330) addr:0x0219a084
_ZN12EquipBombchu19func_ov058_0219a3b4Es kind:function(arm,size=0x70) addr:0x0219a3b4
_ZN25EquipBombchu_Unk_02198d00D1Ev kind:function(arm,size=0x1c) addr:0x0219a424
_ZN25EquipBombchu_Unk_02198d00D0Ev kind:function(arm,size=0x14) addr:0x0219a440
_ZN12EquipBombchu19func_ov058_02199ef0E7TilePos kind:function(arm,size=0xe8) addr:0x02199ef0
_ZN12EquipBombchu19func_ov058_02199fd8E7TilePos kind:function(arm,size=0xac) addr:0x02199fd8
_ZN12EquipBombchu19func_ov058_0219a084E7TilePos kind:function(arm,size=0x330) addr:0x0219a084
_ZN12EquipBombchu19func_ov058_0219a3b4E7TilePos kind:function(arm,size=0x70) addr:0x0219a3b4
_ZN25EquipBombchu_Unk_02198d00D0Ev kind:function(arm,size=0x1c) addr:0x0219a424
_ZN25EquipBombchu_Unk_02198d00D1Ev kind:function(arm,size=0x14) addr:0x0219a440
_ZN13LinkStateItem19func_ov058_0219a454Ev kind:function(arm,size=0x28) addr:0x0219a454
_ZN13LinkStateItem19func_ov058_0219a47cEv kind:function(arm,size=0x13c) addr:0x0219a47c
_Z15GetEquipBombchuv kind:function(arm,size=0x10) addr:0x0219a5b8 local
@@ -34,7 +34,7 @@ func_ov058_0219aad0 kind:function(arm,size=0x58) addr:0x0219aad0
func_ov058_0219ab28 kind:function(thumb,size=0x184) addr:0x0219ab28
func_ov058_0219acac kind:function(thumb,size=0x88) addr:0x0219acac
func_ov058_0219ad34 kind:function(thumb,size=0x32) addr:0x0219ad34
data_ov058_0219ad68 kind:data(any) addr:0x0219ad68
sEquipBombchu_Unk1 kind:data(any) addr:0x0219ad68 local
__sinit_EquipBombchu.cpp kind:function(arm,size=0xfc) addr:0x0219ad80
.p__sinit_ov058_0219ad80 kind:data(word) addr:0x0219ae7c
data_ov058_0219aea0 kind:data(any) addr:0x0219aea0
@@ -70,12 +70,10 @@ data_ov058_0219afb0 kind:data(any) addr:0x0219afb0
_ZN12EquipBombchu19gModelRenderBombchuE kind:bss addr:0x0219afcc
@912 kind:bss addr:0x0219b028
_ZN12EquipBombchu21gModelRenderBombchuPtE kind:bss addr:0x0219b034
data_ov058_0219b040 kind:bss addr:0x0219b040
data_ov058_0219b080 kind:bss addr:0x0219b080
data_ov058_0219b094 kind:bss addr:0x0219b094
data_ov058_0219b090 kind:bss(size=0x2) addr:0x0219b090
@1716 kind:bss addr:0x0219b094
data_ov058_0219b0a0 kind:bss addr:0x0219b0a0
data_ov058_0219b0c0 kind:bss addr:0x0219b0c0
data_ov058_0219b0c4 kind:bss addr:0x0219b0c4
@913 kind:bss addr:0x0219b0e4
sUnk_02198d00 kind:bss addr:0x0219b0f0
data_ov058_0219b100 kind:bss addr:0x0219b100
data_ov058_0219b110 kind:bss(size=0x2) addr:0x0219b110
+3 -3
View File
@@ -69,7 +69,7 @@ func_02003624 kind:function(arm,size=0x68) addr:0x02003624
func_0200368c kind:function(arm,size=0x12c) addr:0x0200368c
func_020037b8 kind:function(arm,size=0xd0) addr:0x020037b8
func_02003888 kind:function(arm,size=0x4) addr:0x02003888
func_0200388c kind:function(arm,size=0x18) addr:0x0200388c
FX_Mul kind:function(arm,size=0x18) addr:0x0200388c
func_020038a4 kind:function(arm,size=0x3c) addr:0x020038a4
func_020038e0 kind:function(thumb,size=0xd0) addr:0x020038e0
func_020039b0 kind:function(arm,size=0x34) addr:0x020039b0
@@ -2478,7 +2478,7 @@ __sinit_02050eb8 kind:function(arm,size=0x2c) addr:0x02050eb8
__sinit_02050ee4 kind:function(arm,size=0x1c) addr:0x02050ee4
__sinit_02050f00 kind:function(arm,size=0x40) addr:0x02050f00
__sinit_02050f40 kind:function(arm,size=0x14) addr:0x02050f40
gSinCosTable kind:data(any) addr:0x02050f54
FX_SinCosTable_ kind:data(any) addr:0x02050f54
data_02051054 kind:data(any) addr:0x02051054
data_02051154 kind:data(any) addr:0x02051154
data_02051254 kind:data(any) addr:0x02051254
@@ -2492,7 +2492,7 @@ data_02054954 kind:data(any) addr:0x02054954
data_02054b54 kind:data(any) addr:0x02054b54
data_02054e54 kind:data(any) addr:0x02054e54
gAngToRadTable kind:data(any) addr:0x02054f54
gAtan2Table kind:data(any) addr:0x02055058
FX_AtanIdxTable_ kind:data(any) addr:0x02055058
data_0205515c kind:data(any) addr:0x0205515c
data_0205516c kind:data(any) addr:0x0205516c
data_0205516e kind:data(any) addr:0x0205516e
+2 -2
View File
@@ -52,7 +52,7 @@ Vec3p_Normalize kind:function(arm,size=0x118) addr:0x01ff9d4c
Vec3p_Axpy kind:function(arm,size=0x5c) addr:0x01ff9e64
Vec3p_Distance kind:function(arm,size=0x7c) addr:0x01ff9ec0
func_01ff9f3c kind:function(arm,size=0x1b8) addr:0x01ff9f3c
Atan2 kind:function(arm,size=0x1a8) addr:0x01ffa0f4
FX_Atan2Idx kind:function(arm,size=0x1a8) addr:0x01ffa0f4
func_01ffa29c kind:function(arm,size=0x40) addr:0x01ffa29c
func_01ffa2dc kind:function(arm,size=0x70) addr:0x01ffa2dc
func_01ffa34c kind:function(arm,size=0x24) addr:0x01ffa34c
@@ -83,7 +83,7 @@ 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_01ffbf5cEiP5Vec3pS1_i kind:function(arm,size=0x1bc) addr:0x01ffbf5c
_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
func_01ffe1cc kind:function(arm,size=0x29c) addr:0x01ffe1cc
+18 -18
View File
@@ -135,7 +135,7 @@ func_ov000_02079ddc kind:function(thumb,size=0x14) addr:0x02079d7c
func_ov000_02079df0 kind:function(thumb,size=0x14) addr:0x02079d90
func_ov000_02079e04 kind:function(arm,size=0x38) addr:0x02079da4
func_ov000_02079e3c kind:function(arm,size=0x2c) addr:0x02079ddc
func_ov000_02079e68 kind:function(arm,size=0x4c) addr:0x02079e08
_ZN18UnkStruct_020e936019func_ov000_02079e68Ei kind:function(arm,size=0x4c) addr:0x02079e08
func_ov000_02079eb4 kind:function(arm,size=0x24) addr:0x02079e54
func_ov000_02079ed8 kind:function(thumb,size=0x22) addr:0x02079e78
func_ov000_02079efc kind:function(thumb,size=0x3e) addr:0x02079e9c
@@ -209,7 +209,7 @@ func_ov000_0207b530 kind:function(thumb,size=0x2c) addr:0x0207b4d0
func_ov000_0207b55c kind:function(thumb,size=0x60) addr:0x0207b4fc
func_ov000_0207b5bc kind:function(thumb,size=0x264) addr:0x0207b55c
func_ov000_0207b820 kind:function(arm,size=0x7c) addr:0x0207b7c0
func_ov000_0207b89c kind:function(arm,size=0x60) addr:0x0207b83c
_ZN24UnkStruct_ov000_020e9c8819func_ov000_0207b89cEiP5Vec3pPFvPvES2_ kind:function(arm,size=0x60) addr:0x0207b83c
func_ov000_0207b8fc kind:function(arm,size=0x10) addr:0x0207b89c
func_ov000_0207b90c kind:function(arm,size=0x7c) addr:0x0207b8ac
_ZN18UnkStruct_027e0dbc19func_ov000_0207b988Ei kind:function(thumb,size=0x40) addr:0x0207b928
@@ -221,7 +221,7 @@ func_ov000_0207bab4 kind:function(arm,size=0x5c) addr:0x0207ba54
func_ov000_0207bb10 kind:function(arm,size=0x4) addr:0x0207bab0
func_ov000_0207bb14 kind:function(arm,size=0x4) addr:0x0207bab4
func_ov000_0207bb18 kind:function(arm,size=0x4) addr:0x0207bab8
func_ov000_0207bb1c kind:function(arm,size=0x30) addr:0x0207babc
_ZN18UnkStruct_027e0de419func_ov000_0207bb1cEiPFvPvES0_ kind:function(arm,size=0x30) addr:0x0207babc
func_ov000_0207bb4c kind:function(arm,size=0xfc) addr:0x0207baec
func_ov000_0207bc48 kind:function(arm,size=0x20) addr:0x0207bbe8
func_ov000_0207bc68 kind:function(arm,size=0x14) addr:0x0207bc08
@@ -473,7 +473,7 @@ func_ov000_02081ed4 kind:function(arm,size=0x10) addr:0x02081e74
func_ov000_02081ee4 kind:function(arm,size=0x10) addr:0x02081e84
func_ov000_02081ef4 kind:function(arm,size=0x44) addr:0x02081e94
func_ov000_02081f38 kind:function(arm,size=0x14) addr:0x02081ed8
func_ov000_02081f4c kind:function(arm,size=0x4) addr:0x02081eec
_ZN24UnkStruct_ov000_020beba8D2Ev kind:function(arm,size=0x4) addr:0x02081eec
func_ov000_02081f50 kind:function(arm,size=0x8) addr:0x02081ef0
func_ov000_02081f58 kind:function(arm,size=0x14) addr:0x02081ef8
func_ov000_02081f6c kind:function(arm,size=0x4) addr:0x02081f0c
@@ -617,7 +617,7 @@ _ZN10MapManager18func_ov00_02083e70EP7TilePos kind:function(arm,size=0x70) addr:
_ZN10MapManager16MapData_vfunc_68EP5Vec3pb kind:function(arm,size=0x18) addr:0x02083e80
_ZN10MapManager18func_ov00_02083ef8EP5Vec3pS1_b kind:function(arm,size=0x4c) addr:0x02083e98
_ZN10MapManager18func_ov00_02083f44EP5Vec3pb kind:function(arm,size=0x3c) addr:0x02083ee4
_ZN10MapManager16MapData_vfunc_6cEiii kind:function(arm,size=0x18) addr:0x02083f20
_ZN10MapManager16MapData_vfunc_6cEP5Vec3pPiS1_ kind:function(arm,size=0x18) addr:0x02083f20
_ZN10MapManager16MapData_vfunc_70EP5Vec3p kind:function(arm,size=0x18) addr:0x02083f38
_ZN10MapManager18func_ov00_02083fb0EPjPS_P5Vec3p kind:function(arm,size=0x74) addr:0x02083f50
_ZN10MapManager18GetTileWorldBoundsEP7TilePosP4AABB kind:function(arm,size=0x64) addr:0x02083fc4
@@ -1987,7 +1987,7 @@ _ZN16TouchGestureBaseD2Ev kind:function(arm,size=0x4) addr:0x020a94e8
_ZN16TouchGestureBase17ResetTouchHistoryEv kind:function(arm,size=0xc) addr:0x020a94ec
_ZN16TouchGestureBaseD1Ev kind:function(arm,size=0x14) addr:0x020a94f8
_ZN11ModelRenderC2Ev kind:function(thumb,size=0x1c) addr:0x020a950c
_ZN11ModelRenderC1Ev kind:function(thumb,size=0x1c) addr:0x020a9528
_ZN11ModelRenderC1Ei kind:function(thumb,size=0x1c) addr:0x020a9528
_ZN11ModelRenderD1Ev kind:function(thumb,size=0x20) addr:0x020a9544
_ZN11ModelRenderD0Ev kind:function(thumb,size=0x28) addr:0x020a9564
_ZN11ModelRenderD2Ev kind:function(thumb,size=0x20) addr:0x020a958c
@@ -1999,7 +1999,7 @@ _ZN11ModelRender22SetRotationTranslationEP5Mat3pP5Vec3p kind:function(arm,size=0
_ZN11ModelRender14SetTranslationEP5Vec3p kind:function(arm,size=0x24) addr:0x020a96e0
_ZN11ModelRender20PushGeometryCommandsEv kind:function(arm,size=0x6c) addr:0x020a9704
_ZN11ModelRender8vfunc_20Ev kind:function(arm,size=0x10) addr:0x020a9770
_ZN11ModelRender8vfunc_24Ei kind:function(arm,size=0x18) addr:0x020a9780
_ZN11ModelRender8vfunc_24EP24UnkStruct_ov000_020c0c08 kind:function(arm,size=0x18) addr:0x020a9780
_ZN11ModelRender8vfunc_28Ev kind:function(arm,size=0x6c) addr:0x020a9798
_ZN11ModelRender8vfunc_2cEv kind:function(arm,size=0x2c) addr:0x020a9804
_ZN11ModelRender8vfunc_34Ev kind:function(arm,size=0x2c) addr:0x020a9830
@@ -2108,10 +2108,10 @@ _ZNK11ItemManager8GetFairyEi kind:function(arm,size=0xc) addr:0x020ad3c8
_ZN11ItemManager13TickEquipItemEv kind:function(arm,size=0xf4) addr:0x020ad3d4
_ZN11ItemManager18func_ov00_020ad528Ev kind:function(arm,size=0x4) addr:0x020ad4c8
_ZN11ItemManager12GetItemModelEj kind:function(arm,size=0xc) addr:0x020ad4cc
_ZNK11ItemManager18func_ov00_020ad538Ei kind:function(arm,size=0x28) addr:0x020ad4d8
_ZNK11ItemManager18func_ov00_020ad560Ei kind:function(arm,size=0x28) addr:0x020ad500
_ZNK11ItemManager18func_ov00_020ad538EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad4d8
_ZNK11ItemManager18func_ov00_020ad560EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad500
_ZN11ItemManager19GetDungeonItemModelEj kind:function(arm,size=0xc) addr:0x020ad528
_ZNK11ItemManager18func_ov00_020ad594Ei kind:function(arm,size=0x28) addr:0x020ad534
_ZNK11ItemManager18func_ov00_020ad594EPK16ItemManager_Unk1 kind:function(arm,size=0x28) addr:0x020ad534
_ZN11ItemManager14Sword_vfunc_38Ei kind:function(arm,size=0x1c) addr:0x020ad55c
_ZN11ItemManager15Shield_vfunc_38Ei kind:function(arm,size=0x1c) addr:0x020ad578
_ZN11ItemManager18EquipItem_vfunc_38Ei kind:function(arm,size=0x84) addr:0x020ad594
@@ -2297,7 +2297,7 @@ func_ov000_020b3f78 kind:function(arm,size=0x84) addr:0x020b3f18
func_ov000_020b3ffc kind:function(arm,size=0x7c) addr:0x020b3f9c
func_ov000_020b4078 kind:function(arm,size=0x70) addr:0x020b4018
func_ov000_020b40e8 kind:function(arm,size=0x54) addr:0x020b4088
func_ov000_020b413c kind:function(arm,size=0x64) addr:0x020b40dc
_ZN11ModelRender19func_ov000_020b413cEsP5Vec3p kind:function(arm,size=0x64) addr:0x020b40dc
func_ov000_020b41a0 kind:function(arm,size=0x24) addr:0x020b4140
func_ov000_020b41c4 kind:function(arm,size=0x28) addr:0x020b4164
func_ov000_020b41ec kind:function(arm,size=0x30) addr:0x020b418c
@@ -2644,12 +2644,12 @@ _ZNK9EquipItem8vfunc_48Eii kind:function(arm,size=0x8) addr:0x020be920
_ZNK9EquipItem8vfunc_4cEv kind:function(arm,size=0x8) addr:0x020be928
_ZN9EquipItem12GetPlayerPosEv kind:function(arm,size=0xc) addr:0x020be930
_ZN9EquipItem19func_ov000_020be99cEP5Vec3p kind:function(arm,size=0x48) addr:0x020be93c
_ZN9EquipItem19func_ov000_020be9e4Eiiis kind:function(arm,size=0x14c) addr:0x020be984
_ZN9EquipItem19func_ov000_020be9e4E5Vec3ps kind:function(arm,size=0x14c) addr:0x020be984
_ZNK9EquipItem7GetAmmoEv kind:function(arm,size=0x2c) addr:0x020bead0
_ZN9EquipItem8GiveAmmoEj kind:function(arm,size=0x34) addr:0x020beafc
_ZNK9EquipItem9GetHitboxEP8Cylinder kind:function(arm,size=0x18) addr:0x020beb30
_ZN24UnkStruct_ov000_020beba8C1Ei kind:function(arm,size=0x18) addr:0x020beb48
_ZN24UnkStruct_ov000_020beba8C2Ei kind:function(arm,size=0x18) addr:0x020beb60
_ZN24UnkStruct_ov000_020beba8C2Ei kind:function(arm,size=0x18) addr:0x020beb48
_ZN24UnkStruct_ov000_020beba8C1Ei kind:function(arm,size=0x18) addr:0x020beb60
_ZN24UnkStruct_ov000_020beba88vfunc_08EPs kind:function(arm,size=0x84) addr:0x020beb78
_ZN24UnkStruct_ov000_020beba88vfunc_0cEPs kind:function(arm,size=0x84) addr:0x020bebfc
_ZN24UnkStruct_ov000_020beba88vfunc_10EPi kind:function(arm,size=0x9c) addr:0x020bec80
@@ -2701,11 +2701,11 @@ _ZN15ActorWisdomNavi10GetFairyIdEv kind:function(arm,size=0x8) addr:0x020c0b44
_ZN15ActorWisdomNaviD0Ev kind:function(arm,size=0x1c) addr:0x020c0b4c
_ZN15ActorWisdomNaviD1Ev kind:function(arm,size=0x14) addr:0x020c0b68
func_ov000_020c0bdc kind:function(arm,size=0x2c) addr:0x020c0b7c
func_ov000_020c0c08 kind:function(thumb,size=0x28) addr:0x020c0ba8
_ZN24UnkStruct_ov000_020c0c08C1EP27UnkStruct_ov000_020c0c08_04Ph kind:function(thumb,size=0x28) addr:0x020c0ba8
func_ov000_020c0c30 kind:function(thumb,size=0x2) addr:0x020c0bd0
func_ov000_020c0c34 kind:function(thumb,size=0xc) addr:0x020c0bd4
func_ov000_020c0c40 kind:function(thumb,size=0x2) addr:0x020c0be0
func_ov000_020c0c44 kind:function(arm,size=0x2c) addr:0x020c0be4
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0c44EPv kind:function(arm,size=0x2c) addr:0x020c0be4
func_ov000_020c0c70 kind:function(arm,size=0x2c) addr:0x020c0c10
func_ov000_020c0c9c kind:function(arm,size=0x2c) addr:0x020c0c3c
func_ov000_020c0cc8 kind:function(arm,size=0x54) addr:0x020c0c68
@@ -2715,9 +2715,9 @@ func_ov000_020c0d54 kind:function(arm,size=0x14) addr:0x020c0cf4
func_ov000_020c0d68 kind:function(arm,size=0x8) addr:0x020c0d08
func_ov000_020c0d70 kind:function(arm,size=0x24) addr:0x020c0d10
func_ov000_020c0d94 kind:function(arm,size=0x70) addr:0x020c0d34
func_ov000_020c0e04 kind:function(arm,size=0x20) addr:0x020c0da4
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0e04Ev kind:function(arm,size=0x20) addr:0x020c0da4
func_ov000_020c0e24 kind:function(arm,size=0x38) addr:0x020c0dc4
func_ov000_020c0e5c kind:function(arm,size=0x38) addr:0x020c0dfc
_ZN24UnkStruct_ov000_020c0c0819func_ov000_020c0e5cEi kind:function(arm,size=0x38) addr:0x020c0dfc
func_ov000_020c0e94 kind:function(arm,size=0xc) addr:0x020c0e34
func_ov000_020c0ea0 kind:function(arm,size=0x20) addr:0x020c0e40
func_ov000_020c0ec0 kind:function(arm,size=0xc) addr:0x020c0e60
+1 -1
View File
@@ -103,7 +103,7 @@ _ZN18UnkStruct_027e103c19func_ov005_021040ecEv kind:function(arm,size=0x28) addr
_ZN18UnkStruct_027e103c19func_ov005_02104114Ev kind:function(arm,size=0x28) addr:0x02104094
_ZN18UnkStruct_027e103c19func_ov005_0210413cEv kind:function(arm,size=0x24) addr:0x021040bc
_ZN18UnkStruct_027e103c19func_ov005_02104160Ev kind:function(arm,size=0x2c) addr:0x021040e0
_ZN18UnkStruct_027e103c19func_Ov005_0210418cEc kind:function(arm,size=0x38) addr:0x0210410c
_ZN18UnkStruct_027e103c19func_ov005_0210418cEc kind:function(arm,size=0x38) addr:0x0210410c
func_ov005_021041c4 kind:function(arm,size=0x38) addr:0x02104144
func_ov005_021041fc kind:function(arm,size=0x130) addr:0x0210417c
func_ov005_0210432c kind:function(arm,size=0x50) addr:0x021042ac
+2 -2
View File
@@ -101,7 +101,7 @@ _ZN9ActorRope19func_ov014_02123e48Ei kind:function(arm,size=0xbc) addr:0x02123dc
_ZN9ActorRope8vfunc_20Eb kind:function(arm,size=0xec) addr:0x02123e84
_ZN9ActorRope8vfunc_10Ej kind:function(thumb,size=0x12) addr:0x02123f70
func_ov014_02124004 kind:function(arm,size=0x30) addr:0x02123f84
func_ov014_02124034 kind:function(arm,size=0xc) addr:0x02123fb4
_ZN24UnkStruct_ov000_020beba819func_ov014_02124034EP27UnkStruct_ov000_020beba8_08 kind:function(arm,size=0xc) addr:0x02123fb4
func_ov014_02124040 kind:function(arm,size=0xdc) addr:0x02123fc0
func_ov014_0212411c kind:function(arm,size=0xc) addr:0x0212409c
func_ov014_02124128 kind:function(arm,size=0x11c) addr:0x021240a8
@@ -920,7 +920,7 @@ _ZN12EquipBombchu19func_ov014_0213ec40Ev kind:function(arm,size=0x24) addr:0x021
_ZN12EquipBombchu19func_ov014_0213ec64Ev kind:function(arm,size=0x48) addr:0x0213ebc0
_ZNK12EquipBombchu5GetIdEv kind:function(arm,size=0x8) addr:0x0213ec08
_ZN12EquipBombchu8vfunc_34EPs kind:function(arm,size=0xc0) addr:0x0213ec10
_ZN12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x0213ecd0
_ZNK12EquipBombchu19func_ov014_0213ed74Ev kind:function(arm,size=0x20) addr:0x0213ecd0
_ZN12EquipBombchu19func_ov014_0213ed94Ei kind:function(arm,size=0xc) addr:0x0213ecf0
_ZN12EquipBombchu19func_ov014_0213eda0Ev kind:function(thumb,size=0x1e) addr:0x0213ecfc
_ZN11EquipHammerC2Ev kind:function(thumb,size=0x24) addr:0x0213ed1c
@@ -5,3 +5,10 @@
.data start:0x0219ae00 end:0x0219af20 kind:data align:32
.bss start:0x0219af20 end:0x0219b080 kind:bss align:32
src/58_Bombchu/Player/EquipBombchu.cpp:
.text start:0x02198c60 end:0x0219a3b4
.rodata start:0x0219acc8 end:0x0219ace0
.init start:0x0219ace0 end:0x0219addc
.ctor start:0x0219addc end:0x0219ade4
.data start:0x0219ae00 end:0x0219ae78
.bss start:0x0219af20 end:0x0219b080
+6 -6
View File
@@ -27,13 +27,13 @@ from:0x02198f72 kind:thumb_call_arm to:0x020a9780 module:overlay(0)
from:0x02198f80 kind:load to:0x027e0fb4 module:dtcm
from:0x02198f84 kind:load to:0x0219af2c module:overlay(58)
from:0x02198f88 kind:load to:0x0219af94 module:overlay(58)
from:0x02198f8c kind:load to:0x0219afa0 module:overlay(58)
from:0x02198f8c kind:load to:0x0219af94 add:0xc module:overlay(58)
from:0x02198f90 kind:load to:0x0219acc8 module:overlay(58)
from:0x02198f94 kind:load to:0x0219b000 module:overlay(58)
from:0x02198f98 kind:load to:0x0219afe0 module:overlay(58)
from:0x02198f98 kind:load to:0x0219af94 add:0x4c module:overlay(58)
from:0x02198fb2 kind:thumb_call to:0x0213ecfc module:overlay(14)
from:0x02198fb8 kind:thumb_call_arm to:0x0213ebc0 module:overlays(14,61)
from:0x02198fc8 kind:load to:0x0219afe0 module:overlay(58)
from:0x02198fc8 kind:load to:0x0219af94 add:0x4c module:overlay(58)
from:0x02198fe2 kind:thumb_call_arm to:0x020b117c module:overlay(0)
from:0x0219900a kind:thumb_call_arm to:0x0210410c module:overlay(5)
from:0x0219901e kind:thumb_call_arm to:0x020c0da4 module:overlay(0)
@@ -58,7 +58,7 @@ from:0x02199158 kind:thumb_call_arm to:0x0207babc module:overlay(0)
from:0x02199164 kind:load to:0x0219af2c module:overlay(58)
from:0x02199168 kind:load to:0x020e9c28 module:overlay(0)
from:0x0219916c kind:load to:0x02199181 module:overlay(58)
from:0x02199170 kind:load to:0x0219afe0 module:overlay(58)
from:0x02199170 kind:load to:0x0219af94 add:0x4c module:overlay(58)
from:0x02199174 kind:load to:0x027e077c module:dtcm
from:0x02199178 kind:load to:0x027e0de4 module:dtcm
from:0x0219917c kind:load to:0x021991c5 module:overlay(58)
@@ -134,9 +134,9 @@ from:0x02199a06 kind:thumb_call_arm to:0x01ffbe78 module:itcm
from:0x02199a26 kind:thumb_call_arm to:0x020839bc module:overlay(0)
from:0x02199a8a kind:thumb_call_arm to:0x02083c1c module:overlay(0)
from:0x02199aa4 kind:load to:0x027e0e60 module:dtcm
from:0x02199aac kind:load to:0x0219b060 module:overlay(58)
from:0x02199aac kind:load to:0x0219b050 add:0x10 module:overlay(58)
from:0x02199ab0 kind:load to:0x0219b050 module:overlay(58)
from:0x02199ab4 kind:load to:0x0219b020 module:overlay(58)
from:0x02199ab4 kind:load to:0x0219b000 add:0x20 module:overlay(58)
from:0x02199aca kind:thumb_call_arm to:0x020839bc module:overlay(0)
from:0x02199b30 kind:thumb_call_arm to:0x02083c1c module:overlay(0)
from:0x02199b5e kind:thumb_call_arm to:0x02083e80 module:overlay(0)
+16 -18
View File
@@ -1,27 +1,27 @@
_ZN25EquipBombchu_Unk_02198d008vfunc_08EPs kind:function(arm,size=0x1f4) addr:0x02198c60
_Z19func_ov058_02198ef4v kind:function(arm,size=0x4) addr:0x02198e54
_Z19func_ov058_02198ef8v kind:function(arm,size=0x4) addr:0x02198e58
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPt kind:function(arm,size=0x78) addr:0x02198e5c
_ZN25EquipBombchu_Unk_02198d008vfunc_08EP27UnkStruct_ov000_020beba8_08 kind:function(arm,size=0x1f4) addr:0x02198c60
_ZN24UnkStruct_027e0f6c_Unk_1D1Ev kind:function(arm,size=0x4) addr:0x02198e54
_ZN24UnkStruct_027e0f6c_Unk_1C1Ev kind:function(arm,size=0x4) addr:0x02198e58
_ZN25EquipBombchu_Unk_02198d008vfunc_14EPti kind:function(arm,size=0x78) addr:0x02198e5c
_ZN25EquipBombchu_Unk_02198d008vfunc_10EPi kind:function(arm,size=0x4c) addr:0x02198ed4
_ZN12EquipBombchu8vfunc_00Ev kind:function(thumb,size=0x7c) addr:0x02198f20
_ZN12EquipBombchu8vfunc_18Ev kind:function(thumb,size=0x22) addr:0x02198f9c
_ZN12EquipBombchu8vfunc_1cEv kind:function(thumb,size=0xc) addr:0x02198fc0
_ZN12EquipBombchu8vfunc_30Ev kind:function(thumb,size=0x104) addr:0x02198fcc
_ZN12EquipBombchu8vfunc_38Ei kind:function(thumb,size=0xb0) addr:0x021990d0
_ZN12EquipBombchu19func_ov058_02199220Ev kind:function(thumb,size=0x8) addr:0x02199180
_Z19func_ov058_02199220P12EquipBombchu kind:function(thumb,size=0x8) addr:0x02199180
_ZN12EquipBombchu19func_ov058_02199228Ev kind:function(thumb,size=0x3c) addr:0x02199188
_ZN12EquipBombchu19func_ov058_02199264Ev kind:function(thumb,size=0x8) addr:0x021991c4
_Z19func_ov058_02199264P12EquipBombchu kind:function(thumb,size=0x8) addr:0x021991c4
_ZN12EquipBombchu19func_ov058_0219926cEv kind:function(thumb,size=0x18) addr:0x021991cc
_ZNK12EquipBombchu8IsUsableEi kind:function(arm,size=0x40) addr:0x021991e4
_ZNK12EquipBombchu11CheckUsableEi kind:function(arm,size=0x13c) addr:0x02199224
_ZN12EquipBombchu19func_ov058_02199400Ev kind:function(thumb,size=0x98) addr:0x02199360
_ZN12EquipBombchu19func_ov058_02199498EP5Vec3p kind:function(thumb,size=0xa58) addr:0x021993f8
_ZN12EquipBombchu19func_ov058_02199ef0Es kind:function(arm,size=0xe8) addr:0x02199e50
_ZN12EquipBombchu19func_ov058_02199fd8Ej kind:function(arm,size=0xac) addr:0x02199f38
_ZN12EquipBombchu19func_ov058_0219a084Es kind:function(arm,size=0x330) addr:0x02199fe4
_ZN12EquipBombchu19func_ov058_0219a3b4Es kind:function(arm,size=0x70) addr:0x0219a314
_ZN25EquipBombchu_Unk_02198d00D1Ev kind:function(arm,size=0x1c) addr:0x0219a384
_ZN25EquipBombchu_Unk_02198d00D0Ev kind:function(arm,size=0x14) addr:0x0219a3a0
_ZN12EquipBombchu19func_ov058_02199ef0E7TilePos kind:function(arm,size=0xe8) addr:0x02199e50
_ZN12EquipBombchu19func_ov058_02199fd8E7TilePos kind:function(arm,size=0xac) addr:0x02199f38
_ZN12EquipBombchu19func_ov058_0219a084E7TilePos kind:function(arm,size=0x330) addr:0x02199fe4
_ZN12EquipBombchu19func_ov058_0219a3b4E7TilePos kind:function(arm,size=0x70) addr:0x0219a314
_ZN25EquipBombchu_Unk_02198d00D0Ev kind:function(arm,size=0x1c) addr:0x0219a384
_ZN25EquipBombchu_Unk_02198d00D1Ev kind:function(arm,size=0x14) addr:0x0219a3a0
_ZN13LinkStateItem19func_ov058_0219a454Ev kind:function(arm,size=0x28) addr:0x0219a3b4
_ZN13LinkStateItem19func_ov058_0219a47cEv kind:function(arm,size=0x13c) addr:0x0219a3dc
_Z15GetEquipBombchuv kind:function(arm,size=0x10) addr:0x0219a518 local
@@ -34,7 +34,7 @@ func_ov058_0219aad0 kind:function(arm,size=0x58) addr:0x0219aa30
func_ov058_0219ab28 kind:function(thumb,size=0x184) addr:0x0219aa88
func_ov058_0219acac kind:function(thumb,size=0x88) addr:0x0219ac0c
func_ov058_0219ad34 kind:function(thumb,size=0x32) addr:0x0219ac94
data_ov058_0219ad68 kind:data(any) addr:0x0219acc8
sEquipBombchu_Unk1 kind:data(any) addr:0x0219acc8 local
__sinit_EquipBombchu.cpp kind:function(arm,size=0xfc) addr:0x0219ace0
.p__sinit_EquipBombchu.cpp kind:data(word) addr:0x0219addc
data_ov058_0219aea0 kind:data(any) addr:0x0219ae00
@@ -70,12 +70,10 @@ data_ov058_0219afb0 kind:data(any) addr:0x0219af10
_ZN12EquipBombchu19gModelRenderBombchuE kind:bss addr:0x0219af2c
@912 kind:bss addr:0x0219af88
_ZN12EquipBombchu21gModelRenderBombchuPtE kind:bss addr:0x0219af94
data_ov058_0219b040 kind:bss addr:0x0219afa0
data_ov058_0219b080 kind:bss addr:0x0219afe0
data_ov058_0219b094 kind:bss addr:0x0219aff4
data_ov058_0219b090 kind:bss(size=0x2) addr:0x0219aff0
@1716 kind:bss addr:0x0219aff4
data_ov058_0219b0a0 kind:bss addr:0x0219b000
data_ov058_0219b0c0 kind:bss addr:0x0219b020
data_ov058_0219b0c4 kind:bss addr:0x0219b024
@913 kind:bss addr:0x0219b044
sUnk_02198d00 kind:bss addr:0x0219b050
data_ov058_0219b100 kind:bss addr:0x0219b060
data_ov058_0219b110 kind:bss(size=0x2) addr:0x0219b070
+3 -3
View File
@@ -69,7 +69,7 @@ func_02003624 kind:function(arm,size=0x68) addr:0x02003624
func_0200368c kind:function(arm,size=0x12c) addr:0x0200368c
func_020037b8 kind:function(arm,size=0xd0) addr:0x020037b8
func_02003888 kind:function(arm,size=0x4) addr:0x02003888
func_0200388c kind:function(arm,size=0x18) addr:0x0200388c
FX_Mul kind:function(arm,size=0x18) addr:0x0200388c
func_020038a4 kind:function(arm,size=0x3c) addr:0x020038a4
func_020038e0 kind:function(thumb,size=0xd0) addr:0x020038e0
func_020039b0 kind:function(arm,size=0x34) addr:0x020039b0
@@ -2478,7 +2478,7 @@ __sinit_02050eb8 kind:function(arm,size=0x2c) addr:0x02050e74
__sinit_02050ee4 kind:function(arm,size=0x1c) addr:0x02050ea0
__sinit_02050f00 kind:function(arm,size=0x40) addr:0x02050ebc
__sinit_02050f40 kind:function(arm,size=0x14) addr:0x02050efc
gSinCosTable kind:data(any) addr:0x02050f10
FX_SinCosTable_ kind:data(any) addr:0x02050f10
data_02051054 kind:data(any) addr:0x02051010
data_02051154 kind:data(any) addr:0x02051110
data_02051254 kind:data(any) addr:0x02051210
@@ -2492,7 +2492,7 @@ data_02054954 kind:data(any) addr:0x02054910
data_02054b54 kind:data(any) addr:0x02054b10
data_02054e54 kind:data(any) addr:0x02054e10
gAngToRadTable kind:data(any) addr:0x02054f10
gAtan2Table kind:data(any) addr:0x02055014
FX_AtanIdxTable_ kind:data(any) addr:0x02055014
data_0205515c kind:data(any) addr:0x02055118
data_0205516c kind:data(any) addr:0x02055128
data_0205516e kind:data(any) addr:0x0205512a
+2 -1
View File
@@ -12,6 +12,7 @@
#include "Physics/Transform.hpp"
#include "Player/EquipBoomerang.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
struct Actor_UnkStruct_012 {
/* 00 */ u16 mUnk_00;
@@ -48,7 +49,7 @@ struct Actor_UnkStruct_09c {
/* 0 */ u16 mUnk_0;
/* 2 */ unk8 mUnk_2;
/* 3 */ unk8 mUnk_3;
/* 4 */ unk32 mUnk_4;
/* 4 */ UnkStruct_ov000_020beba8 *mUnk_4;
/* 8 */
Actor_UnkStruct_09c();
+2
View File
@@ -36,6 +36,7 @@ enum ActorTypeId_ {
ActorTypeId_Arrow = 'ARRW',
ActorTypeId_Blast = 'BLST',
ActorTypeId_Bomb = 'BOMB',
ActorTypeId_Bombchu = 'BMTY',
ActorTypeId_GrapplingHook = 'ROPE',
ActorTypeId_PlayerDummy = 'PLDM',
@@ -85,6 +86,7 @@ enum ActorTypeId_ {
ActorTypeId_FLTB = 'FLTB',
ActorTypeId_FLTM = 'FLTM',
ActorTypeId_FORC = 'FORC',
ActorTypeId_PWBS = 'PWBS',
ActorTypeId_SBEM = 'SBEM',
ActorTypeId_STNE = 'STNE',
ActorTypeId_TARU = 'TARU',
+4 -3
View File
@@ -2,6 +2,7 @@
#include "Actor/Navi/ActorNaviBase.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
class UnkStruct_ov000_020b8110 : public UnkStruct_ov000_020beba8 {
public:
@@ -10,7 +11,7 @@ public:
/* 00 */ virtual ~UnkStruct_ov000_020b8110() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 14 */ virtual void vfunc_14(u16 *param1) override;
/* 14 */ virtual bool vfunc_14(u16 *param1) override;
/* 18 */ virtual void vfunc_18(s32 *param1) override;
/* 1c */
@@ -23,8 +24,8 @@ public:
/* 000 (base) */
/* 294 */ ModelRender mUnk_294;
/* 2f0 */ void *mUnk_2f0;
/* 2f4 */ unk8 mUnk_2f4[0x40];
/* 2f0 */ UnkStruct_ov000_020c0c08 mUnk_2f0;
/* 314 */ UnkStruct_ov000_020c0c08_04 mUnk_314;
/* 334 */ Vec3p mUnk_334;
/* 340 */ unk16 mUnk_340;
/* 342 */ unk8 mUnk_342[0x2];
+1 -1
View File
@@ -54,6 +54,6 @@ class ActorBlast_Unk1 : public UnkStruct_ov000_020beba8 {
/* 70 */
/* 00 */ virtual ~ActorBlast_Unk1();
/* 10 */ virtual void vfunc_10(s32 *param1);
/* 10 */ virtual bool vfunc_10(s32 *param1);
/* 18 */
};
+1 -1
View File
@@ -16,7 +16,7 @@ public:
/* 00 */ virtual ~ActorBomb_Unk1() override;
/* 08 */ virtual void vfunc_0c(unk16 *param1) override;
/* 0c */ virtual void vfunc_10(s32 *param1) override;
/* 0c */ virtual bool vfunc_10(s32 *param1) override;
/* 18 */
};
+1 -1
View File
@@ -15,7 +15,7 @@ public:
/* 00 */ virtual ~ActorRope_Unk_0219a3b0() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 10 */ virtual void vfunc_10(s32 *param1) override;
/* 10 */ virtual bool vfunc_10(s32 *param1) override;
/* 1c */
inline ActorRope_Unk_0219a3b0() :
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_027e0de4 {
void func_ov000_0207bb1c(unk32 param1, void (*param2)(void *), void *param3);
};
extern UnkStruct_027e0de4 data_027e0de4;
+45
View File
@@ -3,7 +3,52 @@
#include "global.h"
#include "types.h"
class UnkStruct_027e0f6c_Unk_1 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */
UnkStruct_027e0f6c_Unk_1();
~UnkStruct_027e0f6c_Unk_1();
};
class UnkStruct_027e0f6c_20 {
public:
/* 00 */ u16 mUnk_00;
/* 02 */ u16 mUnk_02;
/* 04 */ u16 mUnk_04;
/* 06 */ u16 mUnk_06;
/* 08 */ Vec3p mUnk_08;
/* 14 */ s32 mUnk_14;
/* 18 */ UnkStruct_027e0f6c_Unk_1 mUnk_18[3];
/* 48 */ s32 mUnk_48;
/* 4c */
UnkStruct_027e0f6c_20 &operator=(const UnkStruct_027e0f6c_20 &other) {
u16 temp_r2 = other.mUnk_00;
mUnk_02 = other.mUnk_02;
mUnk_00 = temp_r2;
mUnk_04 = other.mUnk_04;
mUnk_06 = other.mUnk_06;
mUnk_08.x = other.mUnk_08.x;
mUnk_08.y = other.mUnk_08.y;
mUnk_08.z = other.mUnk_08.z;
mUnk_14 = other.mUnk_14;
mUnk_18[0] = other.mUnk_18[0];
mUnk_18[1] = other.mUnk_18[1];
mUnk_18[2] = other.mUnk_18[2];
mUnk_48 = other.mUnk_48;
return *this;
}
};
struct UnkStruct_027e0f6c {
/* 00 */ unk8 mUnk_00[0x20];
/* 20 */ UnkStruct_027e0f6c_20 *mUnk_20;
void func_ov004_02102770();
};
+1 -1
View File
@@ -139,7 +139,7 @@ struct UnkStruct_027e103c {
void func_ov005_02104114();
void func_ov005_0210413c();
void func_ov005_02104160();
void func_Ov005_0210418c(char param1);
void func_ov005_0210418c(char param1);
};
extern UnkStruct_027e103c *data_027e103c;
+9 -5
View File
@@ -51,6 +51,12 @@ enum DungeonItemModelId_ {
DungeonItemModelId_COUNT,
};
struct ItemManager_Unk1 {
/* 00 */ char mUnk_00[0x10];
/* 10 */ unk32 mUnk_10[2];
/* 18 */
};
class ItemManager : public SysObject {
public:
/* 000 */ ItemFlag mEquippedItem;
@@ -149,10 +155,10 @@ public:
// Item model
void func_ov00_020ad528();
ItemModel *GetItemModel(ItemModelId id);
void func_ov00_020ad538(unk32 param1) const;
void func_ov00_020ad560(unk32 param1) const;
void *func_ov00_020ad538(const ItemManager_Unk1 *param1) const;
void *func_ov00_020ad560(const ItemManager_Unk1 *param1) const;
ItemModel *GetDungeonItemModel(DungeonItemModelId id);
void func_ov00_020ad594(unk32 param1) const;
void *func_ov00_020ad594(const ItemManager_Unk1 *param1) const;
void LoadFanfareItem(ItemId id);
bool GetFanfareItemScale(Vec3p *pScale) const;
void LoadDungeonItemModels();
@@ -209,8 +215,6 @@ public:
// Unknown
void func_ov00_020ae4dc(s32 param1);
void func_ov000_020c0c44(void *);
void func_ov000_020c0e5c(void *, unk32);
};
extern ItemManager *gItemManager;
+1 -1
View File
@@ -141,7 +141,7 @@ public:
/* 60 */ virtual unk32 vfunc_60(TilePos *param_1);
/* 64 */ virtual unk32 vfunc_64();
/* 68 */ virtual unk32 vfunc_68(Vec3p *param_1, bool param_2);
/* 6c */ virtual unk8 vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
/* 6c */ virtual unk8 vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4);
/* 70 */ virtual unk32 vfunc_70(Vec3p *param_2);
/* 74 */ virtual unk32 *vfunc_74(Vec3p *param_2);
/* 78 */ virtual unk32 *vfunc_78(TilePos *param_1);
+57 -3
View File
@@ -8,8 +8,10 @@
#include "Map/Course.hpp"
#include "Map/MapBase.hpp"
#include "Physics/AABB.hpp"
#include "Physics/Sphere.hpp"
#include "Save/AdventureFlags.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
struct MapManager_Unk1 {
/* 0 */ unk32 mUnk_0;
@@ -65,6 +67,57 @@ struct UnkStruct_0208210c_param3 {
/* 1c4 */
};
struct UnkStruct {
/* 00 */ unk8 mUnk_00[0x24];
/* 24 */ u16 mUnk_24;
/* 26 */ u16 mUnk_26;
/* 28 */ u16 mUnk_28;
/* 2a */ u16 mUnk_2a;
/* 2c */ u16 mUnk_2c;
/* 2e */ unk8 mUnk_2e;
/* 2f */ unk8 mUnk_2f;
/* 30 */ unk8 mUnk_30;
/* 31 */ unk8 mUnk_31;
/* 32 */ unk8 mUnk_32;
/* 33 */ unk8 mUnk_33;
/* 34 */ unk8 mUnk_34;
/* 35 */ unk8 mUnk_35;
/* 36 */ unk8 mUnk_36;
/* 37 */ unk8 mUnk_37;
/* 38 */ unk8 mUnk_38;
/* 3c */ Vec3p mUnk_3c;
/* 48 */ unk8 mUnk_48[0x6];
/* 4e */ u8 mUnk_4e;
/* 4f */ u8 mUnk_4f;
/* 50 */ u8 mUnk_50;
/* 51 */ u8 mUnk_51;
/* 52 */ unk8 mUnk_52[0x6];
/* 58 */ u8 mUnk_58;
/* 59 */ u8 mUnk_59;
/* 5a */ u8 mUnk_5a;
/* 5b */ u8 mUnk_5b;
/* 5c */ u8 mUnk_5c;
/* 5d */ u8 mUnk_5d;
/* 5e */
inline UnkStruct() :
mUnk_24(-1),
mUnk_26(-1),
mUnk_28(-1),
mUnk_2a(-1),
mUnk_2c(0),
mUnk_4e(0),
mUnk_4f(0),
mUnk_50(0),
mUnk_51(0),
mUnk_58(0),
mUnk_59(0),
mUnk_5a(0),
mUnk_5b(0),
mUnk_5c(0),
mUnk_5d(0) {}
};
class MapManager : public SysObject {
public:
/* 00 */ Course *mCourse;
@@ -79,8 +132,9 @@ public:
/* 0f */ unk8 mUnk_0f;
/* 10 */
bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4);
bool func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length);
bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4);
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);
bool func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7);
@@ -213,7 +267,7 @@ public:
unk32 MapData_vfunc_68(Vec3p *param_1, bool param_2);
s32 func_ov00_02083ef8(Vec3p *param_2, Vec3p *param_3, bool param_4);
unk32 func_ov00_02083f44(Vec3p *param_2, bool param_3);
unk8 MapData_vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4);
unk8 MapData_vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4);
unk32 MapData_vfunc_70(Vec3p *param_2);
static void func_ov00_02083fb0(u32 *param_1, MapManager *param_2, Vec3p *param_3);
void GetTileWorldBounds(TilePos *tile, AABB *tileBounds);
+1 -1
View File
@@ -12,7 +12,7 @@ public:
/* 00 (base) */
/* 24 */
MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3);
MapOverworld_Unk1(u32 param1, ItemModel *param2, unk32 param3);
};
class MapOverworld : public MapBase {
+5
View File
@@ -11,7 +11,12 @@ public:
inline TilePos() :
x(0),
y(0) {}
inline TilePos(bool) {}
inline TilePos(u8 x, u8 y) :
x(x),
y(y) {}
};
inline bool operator==(TilePos a, TilePos b) {
return (a.x == b.x && a.y == b.y);
}
+22 -30
View File
@@ -3,28 +3,24 @@
#include "types.h"
#include "Actor/Actor.hpp"
#include "Map/TilePos.hpp"
#include "Player/EquipItem.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
struct EquipBombchu_Unk1 {
/* 0 */ unk8 mUnk_0;
/* 1 */ unk8 mUnk_1;
/* 2 */
EquipBombchu_Unk1();
};
class EquipBombchu_Unk_02198d00 : public UnkStruct_ov000_020beba8 {
public:
/* 0 (base) */
/* c */
/* 0c */ unk8 mUnk_0c[4];
/* 10 */ TilePos mUnk_10;
/* 12 (padding) */
/* 14 */ Vec3p mUnk_14;
/* 20 */
/* 00 */ virtual ~EquipBombchu_Unk_02198d00() override;
/* 08 */ virtual void vfunc_08(unk16 *param1) override;
/* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1) override;
/* 0c */ virtual void vfunc_0c(unk16 *param1) override;
/* 10 */ virtual void vfunc_10(s32 *param1) override;
/* 14 */ virtual void vfunc_14(u16 *param1) override;
/* 10 */ virtual bool vfunc_10(s32 *param1) override;
/* 14 */ virtual bool vfunc_14(u16 *param1, s32 param2) override;
/* 1c */
inline EquipBombchu_Unk_02198d00() :
@@ -38,18 +34,16 @@ public:
/* 00 (base) */
/* 09 */ u8 mUnk_09[3];
/* 0c */ ActorRef mUnk_0c;
/* 0c */ u8 mUnk_14[0x4];
/* 18 */ u32 mUnk_18;
/* 1c */ EquipBombchu_Unk1 *mUnk_1c;
/* 0c */ ActorRef mBombchuRef;
/* 14 */ unk32 mUnk_14;
/* 18 */ s32 mUnk_18;
/* 1c */ TilePos *mUnk_1c;
/* 20 */ Vec3p mUnk_20;
/* 2c */ void *mUnk_2c;
/* 30 */ u32 mUnk_30;
/* 34 */ u32 mUnk_34;
/* 2c */ Vec3p mUnk_2c;
/* 38 */ Vec3p mUnk_38;
/* 44 */ u16 mUnk_44;
/* 46 */ u8 mUnk_46;
/* 47 */ char mUnk_47;
/* 44 */ s16 mUnk_44;
/* 46 */ bool mUnk_46;
/* 47 */ bool mUnk_47;
/* 48 */ bool mUnk_48;
/* 49 */ unk8 mUnk_49[3];
/* 4c */
@@ -69,19 +63,17 @@ public:
void func_ov014_0213eba4();
void func_ov014_0213ec40();
void func_ov014_0213ec64();
Actor *func_ov014_0213ed74();
Actor *func_ov014_0213ed74() const;
void *func_ov014_0213ed94(s32 param1);
void func_ov014_0213eda0();
void func_ov058_02199220();
void func_ov058_02199228();
void func_ov058_02199264();
void func_ov058_0219926c();
bool CheckUsable(unk32 param1) const;
Actor *func_ov058_02199400();
bool func_ov058_02199498(Vec3p *vec);
void func_ov058_02199ef0(unk16 param1);
void func_ov058_02199fd8(u32 param1);
unk32 func_ov058_0219a084(unk16 param1);
bool func_ov058_0219a3b4(unk16 param1);
unk32 func_ov058_02199ef0(TilePos param1);
unk32 func_ov058_02199fd8(TilePos param1);
unk32 func_ov058_0219a084(TilePos param1);
bool func_ov058_0219a3b4(TilePos param1);
};
+3 -3
View File
@@ -10,8 +10,8 @@
class EquipItem : public SysObject {
public:
/* 0 (vtable) */
/* 4 */ u16 mUnk_00;
/* 6 */ u16 mUnk_04;
/* 4 */ s16 mUnk_04;
/* 6 */ u16 mUnk_06;
/* 8 */ bool mInUse;
/* 9 */
@@ -40,6 +40,6 @@ public:
Vec3p *GetPlayerPos();
void func_ov000_020be99c(Vec3p *param1);
void func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4);
void func_ov000_020be9e4(Vec3p param3, s16 param4);
s16 GetAmmo() const;
};
+4 -2
View File
@@ -6,6 +6,7 @@
#include <nds/math.h>
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
class ItemModel;
@@ -31,7 +32,7 @@ public:
/* 18 */ virtual void SetTranslation(Vec3p *translation);
/* 1c */ virtual void PushGeometryCommands();
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24(unk32 param1);
/* 24 */ virtual void vfunc_24(UnkStruct_ov000_020c0c08 *param1);
/* 28 */ virtual void vfunc_28();
/* 2c */ virtual void vfunc_2c();
/* 30 */ virtual void vfunc_30();
@@ -40,7 +41,7 @@ public:
/* 3c */ virtual void vfunc_3c();
/* 40 */
ModelRender();
ModelRender(unk32 param1);
void *func_ov000_020a9624(s32 param1);
void func_ov000_020a98e8(unk32 param1);
void func_ov000_020a990c(unk32 param1);
@@ -48,4 +49,5 @@ public:
void func_ov000_020a9960(unk32 param1);
void func_ov000_020a9998(unk32 param1, unk32 param2);
void func_ov000_020a99c0();
void func_ov000_020b413c(unk16 param1, Vec3p *param2);
};
+2
View File
@@ -10,6 +10,8 @@ public:
/* 0f */ unk8 mUnk_0f;
UnkStruct_020e9360();
unk32 func_ov000_02079e68(unk32 param1);
};
extern UnkStruct_020e9360 data_ov000_020e9360;
+16 -4
View File
@@ -3,7 +3,17 @@
#include "global.h"
#include "types.h"
class UnkStruct_ov000_020beba8 {
#include "System/SysNew.hpp"
#include <nds/math.h>
struct UnkStruct_ov000_020beba8_08 {
/* 00 */ u16 mUnk_00;
/* 04 */ Vec3p mUnk_04;
/* 10 */
};
class UnkStruct_ov000_020beba8 : public SysObject {
public:
/* 0 (vtable) */
/* 4 */ unk32 mUnk_4;
@@ -11,12 +21,14 @@ public:
/* c */
/* 00 */ virtual ~UnkStruct_ov000_020beba8();
/* 08 */ virtual void vfunc_08(unk16 *param1);
/* 08 */ virtual bool vfunc_08(UnkStruct_ov000_020beba8_08 *param1);
/* 0c */ virtual void vfunc_0c(unk16 *param1);
/* 10 */ virtual void vfunc_10(s32 *param1);
/* 14 */ virtual void vfunc_14(u16 *param1);
/* 10 */ virtual bool vfunc_10(s32 *param1);
/* 14 */ virtual bool vfunc_14(u16 *param1, s32 param2);
/* 18 */ virtual void vfunc_18(s32 *param1);
/* 1c */
UnkStruct_ov000_020beba8(unk32 param1);
bool func_ov014_02124034(UnkStruct_ov000_020beba8_08 *param1);
};
+20 -3
View File
@@ -6,16 +6,33 @@
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_0202e1a0.hpp"
struct UnkStruct_ov000_020c0c08_04 {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ char *mUnk_08;
/* 0c */ unk8 mUnk_0c[0x4];
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk8 mUnk_18[0x8];
/* 20 */
};
class ItemModel;
class UnkStruct_ov000_020c0c08 : public SysObject {
public:
/* 00 (vtable) */
/* 04 */ unk32 mUnk_04;
/* 08 */ u8 *mUnk_08;
/* 04 */ UnkStruct_ov000_020c0c08_04 *mUnk_04;
/* 08 */ ItemModel *mUnk_08;
/* 0c */ UnkStruct_0202e1a0 mUnk_0c;
/* 24 */
/* 00 */ virtual ~UnkStruct_ov000_020c0c08();
/* 08 */
UnkStruct_ov000_020c0c08(unk32 param1, u8 *param2);
UnkStruct_ov000_020c0c08(UnkStruct_ov000_020c0c08_04 *param1, ItemModel *param2);
void func_ov000_020c0c44(void *);
void func_ov000_020c0e04();
void func_ov000_020c0e5c(unk32);
};
@@ -0,0 +1,10 @@
#pragma once
#include "global.h"
#include "types.h"
struct UnkStruct_ov000_020e9c88 {
void func_ov000_0207b89c(s32 param2, Vec3p *param3, void (*param4)(void *), void *param5);
};
extern UnkStruct_ov000_020e9c88 data_ov000_020e9c88;
+2 -1
View File
@@ -28,7 +28,8 @@ typedef s16 q4;
#define COS(n) (gSinCosTable[2 * ((n) >> 4) + 1])
u32 func_01ff9f3c(s32 a, s32 b);
s32 Atan2(s32 x, s32 y);
s32 FX_Atan2Idx(s32 x, s32 y);
q20 FX_Mul(q20 a, q20 b);
u32 CoDivide64By32(u32 a, u32 b);
u32 func_01ff98f0(u32 a, u32 b);
+1 -1
View File
@@ -61,4 +61,4 @@ q20 Vec3p_Distance(Vec3p *a, Vec3p *b) {}
void Vec3p_func_01fffc94(Vec3p *a, Vec3p *b);
u32 func_01ff9f3c(s32 a, s32 b) {}
s32 Atan2(s32 x, s32 y) {}
s32 FX_Atan2Idx(s32 x, s32 y) {}
+4 -5
View File
@@ -15,6 +15,7 @@ extern "C" {
#include "Player/PlayerLinkBase.hpp"
#include "Player/TouchControl.hpp"
#include "Save/AdventureFlags.hpp"
#include "Unknown/UnkStruct_ov000_020e9c88.hpp"
static char *sShipTypes[] = {"brg", "anc", "bow", "hul", "can", "dco", "pdl", "fnl"};
@@ -491,7 +492,7 @@ ARM bool Actor::CollidesWithShield(Cylinder *param1) {
Vec3p vecFromPlayer;
Vec3p_Sub(&mPos, &gPlayerPos, &vecFromPlayer);
s32 currAngle = gPlayerAngle;
s32 angle = Atan2(vecFromPlayer.x, vecFromPlayer.z);
s32 angle = FX_Atan2Idx(vecFromPlayer.x, vecFromPlayer.z);
s32 angleDiff = (s16) angle - currAngle;
if (angleDiff < 0) {
angleDiff = -angleDiff;
@@ -705,7 +706,7 @@ ARM s16 Actor::GetAngleTo(Vec3p *vec) {
q20 dz = vec->z - mPos.z;
q20 dx = vec->x - mPos.x;
if (dx != 0 || dz != 0) {
angle = Atan2(dx, dz);
angle = FX_Atan2Idx(dx, dz);
}
return angle;
}
@@ -973,11 +974,9 @@ ARM void Actor::KillInBounds() {
this->Kill();
}
extern unk32 data_ov00_020e9c88;
extern "C" void func_ov00_0207b89c(unk32 *param1, s32 param2, Vec3p *param3, void *param4, Actor *param5);
void vfunc_ac_Thunk(Actor *actor);
ARM void Actor::func_ov00_020c31c0(unk32 param1) {
func_ov00_0207b89c(&data_ov00_020e9c88, param1, &mPos, &vfunc_ac_Thunk, this);
data_ov000_020e9c88.func_ov000_0207b89c(param1, &mPos, (void (*)(void *)) &vfunc_ac_Thunk, this);
}
ARM void vfunc_ac_Thunk(Actor *actor) {
+1 -1
View File
@@ -10,7 +10,7 @@ UnkStruct_ov000_020b8110::UnkStruct_ov000_020b8110() :
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) {}
bool UnkStruct_ov000_020b8110::vfunc_14(u16 *param1) {}
void ActorNavi::func_ov000_020b8200() {}
void ActorNavi::vfunc_c4() {}
void ActorNavi::vfunc_c8() {}
+7 -7
View File
@@ -167,24 +167,24 @@ ARM ItemModel *ItemManager::GetItemModel(ItemModelId id) {
return mItemModels[id];
}
extern "C" void func_ov000_020c0bdc(unk32 param1, unk32 param2);
ARM void ItemManager::func_ov00_020ad538(unk32 param1) const {
extern "C" void *func_ov000_020c0bdc(unk32 param1, const ItemManager_Unk1 *param2);
ARM void *ItemManager::func_ov00_020ad538(const ItemManager_Unk1 *param1) const {
unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(6);
func_ov000_020c0bdc(unk1, param1);
return func_ov000_020c0bdc(unk1, param1);
}
ARM void ItemManager::func_ov00_020ad560(unk32 param1) const {
ARM void *ItemManager::func_ov00_020ad560(const ItemManager_Unk1 *param1) const {
unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(7);
func_ov000_020c0bdc(unk1, param1);
return func_ov000_020c0bdc(unk1, param1);
}
ARM ItemModel *ItemManager::GetDungeonItemModel(u32 index) {
return mDungeonItemModels[index];
}
ARM void ItemManager::func_ov00_020ad594(unk32 param1) const {
ARM void *ItemManager::func_ov00_020ad594(const ItemManager_Unk1 *param1) const {
unk32 unk1 = gItemModelLoader->func_ov000_020bb3a8(11);
func_ov000_020c0bdc(unk1, param1);
return func_ov000_020c0bdc(unk1, param1);
}
ARM void ItemManager::Sword_vfunc_38(unk32 param1) {
+1 -1
View File
@@ -27,7 +27,7 @@ unk32 MapBase::vfunc_68(Vec3p *param_1, bool param_2) {}
unk8 MapBase::func_ov00_0207e940(unk8 *param_1) {}
unk8 MapBase::func_ov00_0207e968() {}
unk8 MapBase::func_ov00_0207e96c() {}
unk8 MapBase::vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4) {}
unk8 MapBase::vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4) {}
unk32 MapBase::vfunc_70(Vec3p *param_2) {}
unk32 *MapBase::vfunc_74(Vec3p *param_2) {}
unk8 MapBase::func_ov00_0207f100() {}
+7 -7
View File
@@ -1264,7 +1264,7 @@ ARM unk32 MapManager::func_ov00_02083f44(Vec3p *param_2, bool param_3) {
return this->func_ov00_02083ef8(param_2, &local_18, param_3);
}
unk8 MapManager::MapData_vfunc_6c(unk32 param_2, unk32 param_3, unk32 param_4) {
unk8 MapManager::MapData_vfunc_6c(Vec3p *param_2, unk32 *param_3, Vec3p *param_4) {
this->mMap->vfunc_6c(param_2, param_3, param_4);
}
@@ -2503,7 +2503,7 @@ unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param
Vec2p iStack_104;
Vec3p VStack_f0;
Vec3p VStack_e4;
Vec4p VStack_d8;
Sphere VStack_d8;
Vec3p VStack_c8;
Vec3p VStack_bc;
Vec3p VStack_b0;
@@ -2566,11 +2566,11 @@ unk8 MapManager::func_ov00_02085c60(Vec3p *param_2, unk32 *param_3, unk32 *param
VStack_b0.z = VStack_bc.z;
Vec3p_Add(&VStack_b0, &VStack_c8, &VStack_b0);
}
bVar5 = false;
VStack_d8.y = param_5 << 1;
VStack_d8.x = 0;
VStack_d8.z = 0;
VStack_d8.w = param_5;
bVar5 = false;
VStack_d8.pos.y = param_5 << 1;
VStack_d8.pos.x = 0;
VStack_d8.pos.z = 0;
VStack_d8.radius = param_5;
do {
bVar4 = func_01ffbe78(param_2, &VStack_b0, &VStack_bc, &VStack_d8);
if (bVar4) {
+1 -1
View File
@@ -13,7 +13,7 @@ unk32 EquipItem::vfunc_48(unk32 param1) const {}
s32 EquipItem::vfunc_4c() const {}
Vec3p *EquipItem::GetPlayerPos() {}
void EquipItem::func_ov000_020be99c(Vec3p *param1) {}
void EquipItem::func_ov000_020be9e4(s32 param1, s32 param2, s32 param3, s16 param4) {}
void EquipItem::func_ov000_020be9e4(Vec3p param3, s16 param4) {}
s16 EquipItem::GetAmmo() const {}
void EquipItem::GiveAmmo(u32 amount) {}
bool EquipItem::GetHitbox(Cylinder *hitbox) const {}
+1 -1
View File
@@ -54,7 +54,7 @@ ARM void PlayerBase::LookAt(Vec3p *target) {
if (vec.x == 0 && vec.z == 0) {
return;
}
gPlayerAngle = Atan2(*(vs32 *) &vec.x, vec.z);
gPlayerAngle = FX_Atan2Idx(*(vs32 *) &vec.x, vec.z);
}
ARM bool PlayerBase::func_ov00_020a7c00(s32 param1) {
+2 -2
View File
@@ -873,7 +873,7 @@ ARM bool PlayerControl::func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk3
*pAngle = mTouchAngle + ((s16) (mTouchFastAngle - mTouchAngle)) / 2;
if (mTouchSpeed > FLOAT_TO_Q20(0.5)) {
q4 touchMoveAngle = Atan2(mTouchSpeedX, mTouchSpeedY) - *pAngle;
q4 touchMoveAngle = FX_Atan2Idx(mTouchSpeedX, mTouchSpeedY) - *pAngle;
if (pFast != NULL) {
*pFast = true;
}
@@ -881,7 +881,7 @@ ARM bool PlayerControl::func_ov00_020b0b0c(s16 *pAngle, ItemFlag *pEquipId, unk3
return true;
}
s32 unkAngle = Atan2(local_20.x, local_20.z);
s32 unkAngle = FX_Atan2Idx(local_20.x, local_20.z);
s32 unkAngle2 = (s16) ((s16) unkAngle - *pAngle);
Vec3p VStack_2c = {INT_TO_Q20(mTouchFastX), INT_TO_Q20(mTouchFastY), 0};
+2 -2
View File
@@ -1,6 +1,6 @@
#include "Render/ModelRender.hpp"
ModelRender::ModelRender() {}
ModelRender::ModelRender(unk32 param1) {}
ModelRender::~ModelRender() {}
void *ModelRender::GetLcdcAddress() {}
void ModelRender::vfunc_0c(ItemModel *model) {}
@@ -10,7 +10,7 @@ void ModelRender::SetRotationTranslation(Mat3p *rotation, Vec3p *translation) {}
void ModelRender::SetTranslation(Vec3p *translation) {}
void ModelRender::PushGeometryCommands() {}
void ModelRender::vfunc_20() {}
void ModelRender::vfunc_24(unk32 param1) {}
void ModelRender::vfunc_24(UnkStruct_ov000_020c0c08 *param1) {}
void ModelRender::vfunc_28() {}
void ModelRender::vfunc_2c() {}
void ModelRender::vfunc_34() {}
@@ -1,9 +1,9 @@
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
UnkStruct_ov000_020beba8::UnkStruct_ov000_020beba8(unk32 param1) {}
void UnkStruct_ov000_020beba8::vfunc_08(unk16 *param1) {}
bool UnkStruct_ov000_020beba8::vfunc_08(UnkStruct_ov000_020beba8_08 *param1) {}
void UnkStruct_ov000_020beba8::vfunc_0c(unk16 *param1) {}
void UnkStruct_ov000_020beba8::vfunc_10(s32 *param1) {}
bool UnkStruct_ov000_020beba8::vfunc_10(s32 *param1) {}
void UnkStruct_ov000_020beba8::vfunc_18(s32 *param1) {}
void UnkStruct_ov000_020beba8::vfunc_14(u16 *param1) {}
bool UnkStruct_ov000_020beba8::vfunc_14(u16 *param1, s32 param2) {}
UnkStruct_ov000_020beba8::~UnkStruct_ov000_020beba8() {}
+4 -1
View File
@@ -1,3 +1,6 @@
#include "Actor/Navi/ActorNavi.hpp"
#include "Item/ItemManager.hpp"
ActorNavi::ActorNavi() {}
ActorNavi::ActorNavi() :
mUnk_294(0),
mUnk_2f0(&mUnk_314, gItemManager->GetItemModel(ItemModelId_Hammer)) {}
+2 -1
View File
@@ -1,6 +1,7 @@
#include "Actor/Navi/ActorNaviBase.hpp"
ActorNaviBase::ActorNaviBase() {}
ActorNaviBase::ActorNaviBase() :
mUnk_168(0) {}
ActorNaviBase::~ActorNaviBase() {}
void func_ov004_021079d4(unk32 *param1) {}
bool ActorNaviBase::Init() {}
+2 -1
View File
@@ -1,6 +1,7 @@
#include "Player/LinkStateDamage.hpp"
LinkStateDamage::LinkStateDamage(PlayerLinkBase *link) :
LinkStateBase(link) {}
LinkStateBase(link),
mUnk_3c(0) {}
unk32 *_Z19func_ov004_021083f4Piiii(unk32 *param1, unk32 param2, unk32 param3, unk32 param4) {}
LinkStateDamage::~LinkStateDamage() {}
+1 -1
View File
@@ -21,4 +21,4 @@ bool UnkStruct_027e103c::func_ov005_021040ec() {}
void UnkStruct_027e103c::func_ov005_02104114() {}
void UnkStruct_027e103c::func_ov005_0210413c() {}
void UnkStruct_027e103c::func_ov005_02104160() {}
void UnkStruct_027e103c::func_Ov005_0210418c(char param1) {}
void UnkStruct_027e103c::func_ov005_0210418c(char param1) {}
+1 -1
View File
@@ -227,7 +227,7 @@ ARM bool UnkFilterActor::Filter(Actor *actor) {
Vec3p sp0;
Vec3p_Sub(&actor->mPos, &mPos, &sp0);
s16 angle2 = mAngle;
s16 angle1 = (s16) Atan2(sp0.x, sp0.z);
s16 angle1 = (s16) FX_Atan2Idx(sp0.x, sp0.z);
s32 var_r6 = (s16) (angle1 - angle2) >> 3;
if (var_r6 < 0) {
var_r6 = -var_r6;
+1 -1
View File
@@ -3,7 +3,7 @@
ActorType ActorBlast::gType = ActorType(ActorTypeId_Blast, (ActorCreateFunc) ActorBlast::Create, NULL);
ActorBlast *ActorBlast::Create() {}
void ActorBlast_Unk1::vfunc_10(s32 *param1) {}
bool ActorBlast_Unk1::vfunc_10(s32 *param1) {}
ActorBlast::ActorBlast() {}
ActorBlast::~ActorBlast() {}
bool ActorBlast::Init() {}
+1 -1
View File
@@ -4,7 +4,7 @@ ActorType ActorBomb::gType = ActorType(ActorTypeId_Bomb, (ActorCreateFunc) Actor
ActorBomb *ActorBomb::Create() {}
void ActorBomb_Unk1::vfunc_0c(unk16 *param1) {}
void ActorBomb_Unk1::vfunc_10(s32 *param1) {}
bool ActorBomb_Unk1::vfunc_10(s32 *param1) {}
ActorBomb::ActorBomb() {}
ActorBomb_Unk2::~ActorBomb_Unk2() {}
ActorBomb::~ActorBomb() {}
+1 -2
View File
@@ -1,13 +1,12 @@
#include "Player/EquipBombchu.hpp"
EquipBombchu::EquipBombchu() {}
EquipBombchu_Unk1::EquipBombchu_Unk1() {}
EquipBombchu::~EquipBombchu() {}
void EquipBombchu::func_ov014_0213eba4() {}
void EquipBombchu::func_ov014_0213ec40() {}
void EquipBombchu::func_ov014_0213ec64() {}
ItemFlag EquipBombchu::GetId() const {}
void EquipBombchu::vfunc_34(unk16 *param1) {}
Actor *EquipBombchu::func_ov014_0213ed74() {}
Actor *EquipBombchu::func_ov014_0213ed74() const {}
void *EquipBombchu::func_ov014_0213ed94(s32 param1) {}
void EquipBombchu::func_ov014_0213eda0() {}
+1 -1
View File
@@ -29,7 +29,7 @@ void MapOverworld::vfunc_b0(unk32 param_2, unk32 param_3) {}
void MapOverworld::func_ov018_0215c650() {}
void MapOverworld::func_ov018_0215c6ac() {}
void MapOverworld::func_ov018_0215c6d0() {}
MapOverworld_Unk1::MapOverworld_Unk1(u32 param1, u8 *param2, unk32 param3) :
MapOverworld_Unk1::MapOverworld_Unk1(u32 param1, ItemModel *param2, unk32 param3) :
UnkStruct_ov000_020c0c08(0, param2) {}
void MapOverworld::func_ov018_0215c9ac() {}
void func_ov018_0215ca24(s32 param1) {}
+1 -1
View File
@@ -1,7 +1,7 @@
#include "Player/EquipScoop.hpp"
#include "Player/LinkStateItem.hpp"
ModelRender EquipScoop::gModelRender;
ModelRender EquipScoop::gModelRender(0);
void EquipScoop::vfunc_00() {}
void EquipScoop::vfunc_18() {}
+1 -1
View File
@@ -1,7 +1,7 @@
#include "Player/EquipBomb.hpp"
#include "Player/LinkStateItem.hpp"
ModelRender EquipBomb::gModelRender;
ModelRender EquipBomb::gModelRender(0);
void EquipBomb::vfunc_00() {}
bool EquipBomb::IsUsable(unk32 param1) const {}
+2 -2
View File
@@ -1,8 +1,8 @@
#include "Player/EquipBow.hpp"
#include "Player/LinkStateItem.hpp"
ModelRender EquipBow::gModelRenderBow;
ModelRender EquipBow::gModelRenderArrow;
ModelRender EquipBow::gModelRenderBow(0);
ModelRender EquipBow::gModelRenderArrow(0);
void EquipBow::vfunc_00() {}
bool EquipBow::IsUsable(unk32 param1) const {}
+1 -1
View File
@@ -3,7 +3,7 @@
ActorRope_Unk_0219a3b0 gUnk_0219a3b0;
void ActorRope_Unk_0219a3b0::vfunc_08(unk16 *param1) {}
void ActorRope_Unk_0219a3b0::vfunc_10(s32 *param1) {}
bool ActorRope_Unk_0219a3b0::vfunc_10(s32 *param1) {}
ActorRope::ActorRope() {}
bool ActorRope::Init() {}
q20 ActorRope::func_ov057_0219a5ac() {}
+880 -29
View File
@@ -1,33 +1,884 @@
#include "Player/EquipBombchu.hpp"
#include "Actor/ActorSpawner.hpp"
#include "DTCM/UnkStruct_027e077c.hpp"
#include "DTCM/UnkStruct_027e0c54.hpp"
#include "DTCM/UnkStruct_027e0de4.hpp"
#include "DTCM/UnkStruct_027e0f6c.hpp"
#include "DTCM/UnkStruct_027e0fd4.hpp"
#include "DTCM/UnkStruct_027e103c.hpp"
#include "Map/MapManager.hpp"
#include "Player/LinkStateItem.hpp"
#include "Player/PlayerControl.hpp"
#include "Unknown/UnkStruct_020e9360.hpp"
#include "Unknown/UnkStruct_ov000_020c0c08.hpp"
#include "Unknown/UnkStruct_ov000_020e9c88.hpp"
ModelRender EquipBombchu::gModelRenderBombchu;
ModelRender EquipBombchu::gModelRenderBombchuPt;
EquipBombchu_Unk_02198d00 sUnk_02198d00;
static char *sShipParts[8] = {"anc", "bow", "hul", "can", "dco", "pdl", "fnl", "brg"};
void EquipBombchu_Unk_02198d00::vfunc_08(unk16 *param1) {}
void func_ov058_02198ef4() {}
void func_ov058_02198ef8() {}
void EquipBombchu_Unk_02198d00::vfunc_14(u16 *param1) {}
void EquipBombchu_Unk_02198d00::vfunc_10(s32 *param1) {}
void EquipBombchu::vfunc_00() {}
void EquipBombchu::vfunc_18() {}
void EquipBombchu::vfunc_1c() {}
void EquipBombchu::vfunc_30() {}
void EquipBombchu::vfunc_38(unk32 param1) {}
void EquipBombchu::func_ov058_02199220() {}
void EquipBombchu::func_ov058_02199228() {}
void EquipBombchu::func_ov058_02199264() {}
void EquipBombchu::func_ov058_0219926c() {}
bool EquipBombchu::IsUsable(unk32 param1) const {}
bool EquipBombchu::CheckUsable(unk32 param1) const {}
Actor *EquipBombchu::func_ov058_02199400() {}
bool EquipBombchu::func_ov058_02199498(Vec3p *vec) {}
void EquipBombchu::func_ov058_02199ef0(unk16 param1) {}
void EquipBombchu::func_ov058_02199fd8(u32 param1) {}
unk32 EquipBombchu::func_ov058_0219a084(unk16 param1) {}
bool EquipBombchu::func_ov058_0219a3b4(unk16 param1) {}
EquipBombchu_Unk_02198d00::~EquipBombchu_Unk_02198d00() {}
void LinkStateItem::func_ov058_0219a454() {}
void LinkStateItem::func_ov058_0219a47c() {}
EquipBombchu *GetEquipBombchu() {}
ARM bool EquipBombchu_Unk_02198d00::vfunc_08(UnkStruct_ov000_020beba8_08 *param1) {
Vec3p sp14 = {param1->mUnk_04.x, param1->mUnk_04.y, param1->mUnk_04.z};
UnkStruct_027e0f6c_20 sp38;
s32 temp_r1 = param1->mUnk_00;
UnkStruct_027e0f6c_20 *temp_r2 = data_027e0f6c->mUnk_20;
sp38 = *(temp_r2 + temp_r1);
Vec3p sp8 = {sp38.mUnk_08.x, sp38.mUnk_08.y, sp38.mUnk_08.z};
Vec3p_Normalize(&sp8, &sp8);
Vec3p_Scale(&sp8, -0x400);
Vec3p_Add(&sp14, &sp8, &sp14);
MapManager *pMapManager = gMapManager;
TilePos sp4 = pMapManager->func_ov00_02083a1c(&sp14);
if ((pMapManager->func_ov00_020840dc(&sp4) == 0x46) && (gMapManager->func_ov00_02083f44(&sp14, 0) <= (sp14.y + 0x17FF))) {
return 0;
}
return this->func_ov014_02124034(param1);
}
static unk32 data_ov058_0219aee0 = -1;
ModelRender EquipBombchu::gModelRenderBombchu(0);
ModelRender EquipBombchu::gModelRenderBombchuPt(0);
static unk16 data_ov058_0219b090;
extern UnkStruct_ov000_020c0c08_04 data_ov058_0219b0c4;
static UnkStruct_ov000_020c0c08 data_ov058_0219b0a0(&data_ov058_0219b0c4, 0);
static UnkStruct_ov000_020c0c08_04 data_ov058_0219b0c4;
static EquipBombchu_Unk_02198d00 sUnk_02198d00;
static TilePos data_ov058_0219b110;
ARM UnkStruct_027e0f6c_Unk_1::~UnkStruct_027e0f6c_Unk_1() {}
ARM UnkStruct_027e0f6c_Unk_1::UnkStruct_027e0f6c_Unk_1() {}
struct UnkStruct1 {
/* 00 */ unk8 mUnk_00[0xc];
/* 0c */ Vec3p mUnk_0c;
/* 18 */
UnkStruct1(Vec3p vec) :
mUnk_0c(vec) {}
};
ARM bool EquipBombchu_Unk_02198d00::vfunc_14(u16 *param1, s32 param2) {
Actor *temp_r0 = gActorManager->FindActorById(param2);
if ((temp_r0 != NULL) && (temp_r0->mType == ActorTypeId_PWBS)) {
mUnk_10.y = 1;
UnkStruct1 unk(*(Vec3p *) ((u32) temp_r0 + 0x820));
mUnk_14 = unk.mUnk_0c;
}
return true;
}
ARM bool EquipBombchu_Unk_02198d00::vfunc_10(s32 *param1) {
Actor *temp_r0 = (Actor *) param1;
if (!temp_r0->SetUnk_11b()) {
return false;
}
bool result;
if ((*(s32 *) ((s32) param1 + 4) & 0x800) == 0) {
return false;
}
sUnk_02198d00.mUnk_10 = true;
return false;
}
static const ItemManager_Unk1 sEquipBombchu_Unk1 = {
.mUnk_00 = "bomchu_pt",
.mUnk_10 = {0, 100},
};
THUMB void EquipBombchu::vfunc_00() {
gModelRenderBombchu.vfunc_0c(gItemManager->GetItemModel(ItemModelId_Bombchu));
gModelRenderBombchuPt.vfunc_0c(gItemManager->GetItemModel(ItemModelId_BombchuPt));
data_ov058_0219b0a0.mUnk_08 = gItemManager->GetItemModel(ItemModelId_BombchuPt);
data_ov058_0219b0a0.func_ov000_020c0c44(gItemManager->func_ov00_020ad538(&sEquipBombchu_Unk1));
data_ov058_0219b0a0.func_ov000_020c0e5c(0);
gModelRenderBombchuPt.vfunc_24(&data_ov058_0219b0a0);
data_ov058_0219b090 = 2;
}
THUMB void EquipBombchu::vfunc_18() {
this->UpdateInUse(1);
mBombchuRef.Reset();
this->func_ov014_0213eda0();
this->func_ov014_0213ec64();
}
THUMB void EquipBombchu::vfunc_1c() {
data_ov058_0219b090 = 2;
}
THUMB void EquipBombchu::vfunc_30() {
mUnk_44 += 1;
if ((gPlayerControl->IsUntouchedNow() || !mUnk_47) && !mUnk_48 && mUnk_18 > 0) {
data_027e103c->func_ov005_0210418c(1);
mUnk_48 = true;
}
if (mUnk_18 <= 0) {
return;
}
data_ov058_0219b0a0.func_ov000_020c0e04();
if (data_027e077c.mUnk_0 != 0xd) {
return;
}
Vec3p local_18 = mUnk_2c;
Vec3p_Sub(&local_18, &mUnk_20, &local_18);
q20 length = Vec3p_Length(&local_18);
if (length < FLOAT_TO_Q20(0.2)) {
mUnk_20 = mUnk_2c;
} else if (Vec3p_TryNormalize(&local_18)) {
if (length < FLOAT_TO_Q20(1.0)) {
Vec3p_Scale(&local_18, FLOAT_TO_Q20(0.2));
} else {
Vec3p_Scale(&local_18, FX_Mul(length, FLOAT_TO_Q20(0.2)));
}
Vec3p_Add(&mUnk_20, &local_18, &mUnk_20);
} else {
mUnk_20 = mUnk_2c;
}
gPlayerLink->func_ov000_020bb810(&mUnk_20, 0x800);
}
void func_ov058_02199220(EquipBombchu *bombchu);
void func_ov058_02199264(EquipBombchu *bombchu);
THUMB void EquipBombchu::vfunc_38(unk32 param1) {
if (this->IsInUse()) {
Vec3p VStack_1c;
this->func_ov000_020be99c(&VStack_1c);
VStack_1c.y += FLOAT_TO_Q20(0.7);
gModelRenderBombchu.func_ov000_020b413c(mUnk_04, &VStack_1c);
if ((mUnk_14 == 1) && (mUnk_18 > 0)) {
data_ov000_020e9c88.func_ov000_0207b89c(param1, &mUnk_20, (void (*)(void *)) &func_ov058_02199220, this);
}
} else {
if (this->CheckUsable(1)) {
if (data_ov058_0219b090 > 0) {
data_ov058_0219b090 -= 1;
}
} else {
data_ov058_0219b090 = 2;
}
}
if (mUnk_46 && data_027e077c.mUnk_0 == 0xd) {
data_027e0de4.func_ov000_0207bb1c(5, (void (*)(void *)) &func_ov058_02199264, this);
}
return;
}
THUMB void func_ov058_02199220(EquipBombchu *bombchu) {
bombchu->func_ov058_02199228();
}
extern "C" void func_020197bc(void *param1, unk32 param2);
extern "C" void func_0201987c(void *param1, unk32 param2);
THUMB void EquipBombchu::func_ov058_02199228() {
unk32 uVar1 = data_ov000_020e9360.func_ov000_02079e68(2);
void *pvVar2 = gModelRenderBombchuPt.GetLcdcAddress();
func_020197bc(pvVar2, uVar1);
pvVar2 = gModelRenderBombchuPt.GetLcdcAddress();
func_0201987c(pvVar2, 1);
gModelRenderBombchuPt.SetTranslation(&mUnk_20);
}
THUMB void func_ov058_02199264(EquipBombchu *bombchu) {
bombchu->func_ov058_0219926c();
}
THUMB void EquipBombchu::func_ov058_0219926c() {
this->func_ov000_020be9e4(mUnk_38, mUnk_44);
}
ARM bool EquipBombchu::IsUsable(unk32 param1) const {
if (!this->CheckUsable(param1)) {
return false;
}
if ((param1 != 0) && (data_ov058_0219b090 > 0)) {
return false;
}
return true;
}
extern "C" unk32 func_ov014_0212505c();
ARM bool EquipBombchu::CheckUsable(unk32 param1) const {
if (!gMapManager->func_ov00_0208499c() || data_027e0c54.mUnk_0 || data_027e0d38->mUnk_0c.func_ov000_020a5e9c() == 0x33) {
return false;
}
if (data_027e0fd4->mUnk_05a != 0) {
return false;
}
if (this->GetAmmo() <= 0) {
return false;
}
if (param1 != 0) {
if (!gPlayerLink->func_ov000_020bba28()) {
return false;
}
switch (data_027e077c.mUnk_0) {
case 0x1:
case 0xb:
case 0xc:
case 0xd:
case 0x33:
case 0x34:
return this->func_ov014_0213ed74() == NULL || func_ov014_0212505c() != 0;
}
return false;
}
return true;
}
THUMB Actor *EquipBombchu::func_ov058_02199400() {
if (this->EquipItem::GetAmmo() <= 0 || mUnk_18 <= 0) {
return NULL;
}
Vec3p *playerPos = EquipItem::GetPlayerPos();
Vec3p spawnPos = *playerPos;
spawnPos.y += FLOAT_TO_Q20(0.5);
ActorSpawnOptions options;
options.mUnk_1c.id = 1;
options.mAngle = mUnk_04;
gActorSpawner->Spawn(ActorTypeId_Bombchu, &spawnPos, &options, &mBombchuRef);
Actor *iVar3 = this->func_ov014_0213ed74();
if (iVar3 != NULL) {
this->GiveAmmo(-1);
}
this->UpdateInUse(0);
return iVar3;
}
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;
Sphere sp194;
Vec3p sp188;
Vec3p sp17C;
Vec3p sp170;
Vec3p sp164;
Vec3p sp158;
Vec3p sp14C;
Vec3p sp140;
Vec3p sp134;
Vec3p sp128;
Vec3p sp11C;
Vec3p sp110;
Vec3p sp104;
Vec3p spF8;
Vec3p spEC;
Vec3p spE0;
Vec3p spD4;
Vec3p spBC;
Vec3p spB0;
Vec3p spA4;
Vec3p sp98;
Vec3p sp8C;
Vec3p sp80;
Vec3p sp74;
unk32 sp64;
u32 sp60;
u32 sp5C;
unk32 sp50;
unk32 sp48;
unk32 sp44;
s32 sp20;
s32 sp1C;
s32 sp18;
s32 sp14;
s32 temp_r0_13;
s32 temp_r0_16;
s32 temp_r0_21;
s32 temp_r0_22;
s32 temp_r0_23;
s32 temp_r0_24;
s32 temp_r0_25;
s32 temp_r0_27;
s32 temp_r0_3;
s32 temp_r0_4;
s32 temp_r0_5;
s32 temp_r0_6;
s32 temp_r0_7;
s32 temp_r0_8;
s32 temp_r0_9;
s32 temp_r1;
s32 temp_r1_10;
s32 temp_r1_14;
s32 temp_r1_2;
s32 temp_r1_3;
s32 temp_r7_2;
s32 temp_r7_3;
s32 var_r0;
s32 var_r0_2;
s32 var_r1;
s32 var_r1_2;
s32 var_r1_3;
s32 var_r6;
s32 var_r6_2;
s32 var_r6_3;
s32 var_r7;
data_ov058_0219aee0 = -1;
if ((mUnk_18 >= 0x64) || (!mUnk_47)) {
return 0;
}
gMapManager->func_ov00_0208346c(&sp1BC);
sp128.x = vec->x;
sp128.y = vec->y;
sp128.z = vec->z;
if (!sp1BC.Contains(&sp128)) {
var_r0 = 1;
} else {
var_r0 = 0;
}
if (var_r0 != 0) {
if (mUnk_18 > 0) {
mUnk_47 = 0;
}
return 0;
}
TilePos sp5a = gMapManager->func_ov00_02083a1c(vec);
sp1B0.x = vec->x;
sp1B0.y = vec->y;
sp1B0.z = vec->z;
gMapManager->func_ov00_02083c7c(&sp1B0, sp5a);
sp1B0.y = vec->y;
temp_r1 = mUnk_18;
if (temp_r1 > 0) {
TilePos sp24_unk1C = sp5a;
TilePos sp24_unk6 = mUnk_1c[temp_r1 - 1];
TilePos sp24_unk1E = sp24_unk6;
if (sp24_unk1E == sp24_unk1C) {
return 0;
}
gMapManager->func_ov00_02083c7c(&sp1A4, sp24_unk6);
var_r1 = vec->x - sp1A4.x;
if (var_r1 < 0) {
var_r1 = 0 - var_r1;
}
if (var_r1 < 0x1000) {
var_r1_2 = vec->z - sp1A4.z;
if (var_r1_2 < 0) {
var_r1_2 = 0 - var_r1_2;
}
if (var_r1_2 < 0x1000) {
return 0;
}
}
}
func_ov014_02124ff4(&sp194);
if (mUnk_18 <= 0) {
var_r6 = gPlayerPos.y;
sp18 = gPlayerPos.x;
sp1B0.y = var_r6;
sp14 = gPlayerPos.z;
} else {
var_r6 = mUnk_2c.y;
sp18 = mUnk_2c.x;
sp14 = mUnk_2c.z;
sp11C.x = sp1B0.x;
sp11C.y = sp1B0.y;
sp11C.z = sp1B0.z;
sp1B0.y = gMapManager->MapData_vfunc_68(&sp11C, 0);
}
var_r6_2 = var_r6 + sp194.pos.y;
temp_r1_2 = sp1B0.y + sp194.pos.y;
sp1B0.y = temp_r1_2;
sp188.x = sp1B0.x;
sp188.y = temp_r1_2;
sp188.z = sp1B0.z;
sp110.x = sp18;
sp110.y = var_r6_2;
sp110.z = sp14;
Vec3p_Sub(&sp188, &sp110, &sp188);
var_r7 = sp188.y;
sp188.y = 0;
sp20 = Vec3p_Length(&sp188);
sp1C = 0;
if (Vec3p_TryNormalize(&sp188) == 0) {
return 0;
}
if (sp20 > 0x7000) {
Vec3p_Scale(&sp188, 0x7000);
sp1C = 1;
} else if (sp20 >= 0x1000) {
if (mUnk_18 > 0 || ABS(var_r7) > 0) {
Vec3p_Scale(&sp188, 0x1000);
sp1C = 1;
}
}
if (sp1C != 0) {
sp1B0.x = sp18 + sp188.x;
sp1B0.z = sp14 + sp188.z;
TilePos sp58 = gMapManager->func_ov00_02083a1c(&sp1B0);
gMapManager->func_ov00_02083c7c(&sp1B0, sp58);
temp_r1_3 = sp1B0.y + 0x999;
sp1B0.y = temp_r1_3;
sp104.x = sp1B0.x;
sp104.x = temp_r1_3;
sp104.x = sp1B0.z;
temp_r0_3 = gMapManager->MapData_vfunc_68(&sp104, 0);
sp1B0.y = temp_r0_3;
temp_r0_4 = temp_r0_3 + sp194.pos.y;
sp1B0.y = temp_r0_4;
vec->x = sp1B0.x;
vec->y = temp_r0_4;
vec->z = sp1B0.z;
}
if (this->func_ov058_0219a3b4(sp5a) != 0) {
temp_r0_5 = this->func_ov058_02199ef0(sp5a);
sp1B0.y = temp_r0_5;
temp_r0_6 = temp_r0_5 + sp194.pos.y;
sp1B0.y = temp_r0_6;
vec->x = sp1B0.x;
vec->y = temp_r0_6;
vec->z = sp1B0.z;
}
if (mUnk_18 > 0) {
if (this->func_ov058_0219a3b4(mUnk_1c[mUnk_18 - 1]) != 0) {
var_r6_2 = this->func_ov058_02199ef0(mUnk_1c[mUnk_18 - 1]);
}
if (gMapManager->MapData_vfunc_54(&mUnk_1c[mUnk_18 - 1]) == 0x19) {
temp_r0_7 = gMapManager->MapData_vfunc_60(&mUnk_1c[mUnk_18 - 1]);
spF8.x = sp18;
spF8.y = temp_r0_7 - 0x1333;
spF8.z = sp14;
var_r6_2 = gMapManager->MapData_vfunc_68(&spF8, 0);
if ((sp1B0.y - var_r6_2) >= 0x999) {
return 0;
}
}
}
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;
if (var_r6_2 < sp1B0.y) {
if ((sp1B0.y - var_r6_2) < 0x999) {
var_r6_2 = sp1B0.y;
} else {
spEC.x = sp18;
spEC.z = sp14;
spEC.y = var_r6_2;
gMapManager->MapData_vfunc_6c(&spEC, &sp64, &sp17C);
if ((sp17C.x != 0) || (sp17C.z != 0)) {
var_r6_2 += 0x99A;
if (var_r6_2 >= sp1B0.y) {
var_r6_2 = sp1B0.y;
}
}
}
} else {
sp1B0.y = var_r6_2;
}
sUnk_02198d00.mUnk_10.x = 0;
sUnk_02198d00.mUnk_10.y = 0;
spD4.y = var_r6_2;
spE0.x = sp1B0.x;
spE0.y = sp1B0.y;
spE0.z = sp1B0.z;
spD4.x = sp18;
spD4.z = sp14;
sp194.pos.y = 9;
sp194.pos.z = 0xCF;
sp194.radius = 1;
temp_r0_8 = gMapManager->func_01ffbe78(&sp1D4.mUnk_00, &spE0, &spD4, &sp194);
if (sUnk_02198d00.mUnk_10.x != 0) {
return 0;
}
if (temp_r0_8 != 0) {
if (sUnk_02198d00.mUnk_10.y != 0) {
sp1B0.x = sUnk_02198d00.mUnk_14.x;
sp1B0.y = sUnk_02198d00.mUnk_14.y;
sp1B0.z = sUnk_02198d00.mUnk_14.z;
sp1B0.y = mUnk_20.y;
TilePos sp56 = gMapManager->func_ov00_02083a1c(&sp1B0);
sp5a.x = sp56.x;
sp5a.y = sp56.y;
vec->x = sp1B0.x;
vec->y = sp1B0.y;
vec->z = sp1B0.z;
mUnk_38.x = sp1B0.x;
mUnk_38.y = sp1B0.y;
mUnk_38.z = sp1B0.z;
mUnk_47 = 0;
mUnk_46 = 1;
} else {
if (sp214.mUnk_18 != 0) {
if (mUnk_18 <= 0) {
return 0;
}
sp170.x = sp1D4.mUnk_00.x;
sp170.y = sp1D4.mUnk_00.y;
sp170.z = sp1D4.mUnk_00.z;
TilePos sp54 = gMapManager->func_ov00_02083a1c(&sp170);
sp5a = sp54;
if (this->func_ov058_0219a3b4(sp5a) != 0) {
return 0;
}
gMapManager->func_ov00_02083c7c(&sp170, sp5a);
TilePos sp24_unk18 = sp5a;
TilePos sp24_unk1A = mUnk_1c[mUnk_18 - 1];
if (sp24_unk1A == sp24_unk18) {
sp164.x = sp1D4.mUnk_00.x;
spBC.y = var_r6_2;
sp164.y = sp1D4.mUnk_00.y;
sp164.z = sp1D4.mUnk_00.z;
spBC.x = sp18;
spBC.z = sp14;
Vec3p_Sub(&sp164, &spBC, &sp164);
var_r0_2 = sp164.z;
if (var_r0_2 < 0) {
var_r0_2 = 0 - var_r0_2;
}
var_r1_3 = sp164.x;
if (var_r1_3 < 0) {
var_r1_3 = 0 - var_r1_3;
}
if (var_r1_3 > var_r0_2) {
sp164.z = 0;
} else {
sp164.x = 0;
}
if (Vec3p_TryNormalize(&sp164) != 0) {
sp170.x = sp18;
sp170.y = var_r6_2;
sp170.z = sp14;
Vec3p_Add(&sp170, &sp164, &sp170);
} else {
return 0;
}
TilePos sp52 = gMapManager->func_ov00_02083a1c(&sp170);
sp5a = sp52;
if (this->func_ov058_0219a3b4(sp5a) != 0) {
return 0;
}
sUnk_02198d00.mUnk_10.x = 0;
sUnk_02198d00.mUnk_10.y = 0;
spB0.y = var_r6_2;
spB0.x = sp18;
spB0.z = sp14;
sp194.pos.y = 9;
sp194.pos.z = 0xCF;
sp194.radius = 1;
temp_r0_16 = gMapManager->func_01ffbe78(&sp1D4.mUnk_00, &sp170, &spB0, &sp194);
if (sUnk_02198d00.mUnk_10.x != 0) {
return 0;
}
if (temp_r0_16 == 0) {
TilePos sp50 = gMapManager->func_ov00_02083a1c(&sp170);
TilePos sp24_unk4 = sp50;
TilePos sp24_unk14 = sp24_unk4;
TilePos sp24_unk16 = mUnk_1c[mUnk_18 - 1];
if (sp24_unk16 == sp24_unk14) {
return 0;
}
gMapManager->func_ov00_02083c7c(&sp170, sp24_unk4);
} else {
if (sp214.mUnk_18 == 0) {
return false;
}
sp170.x = sp1D4.mUnk_00.x;
sp170.y = sp1D4.mUnk_00.y;
sp170.z = sp1D4.mUnk_00.z;
TilePos sp4E = gMapManager->func_ov00_02083a1c(&sp170);
sp5a = sp4E;
TilePos sp24_unk2 = sp5a;
TilePos sp24_unk10 = sp24_unk2;
TilePos sp24_unk12 = mUnk_1c[mUnk_18 - 1];
if (sp24_unk12 == sp24_unk10) {
return 0;
}
gMapManager->func_ov00_02083c7c(&sp170, sp24_unk2);
}
}
sp1B0.x = sp170.x;
spA4.x = sp170.x;
temp_r1_14 = sp170.y + 0x999;
sp1B0.y = sp170.y;
sp1B0.z = sp170.z;
spA4.z = sp170.z;
sp1B0.y = temp_r1_14;
spA4.y = temp_r1_14;
temp_r0_21 = gMapManager->MapData_vfunc_68(&spA4, 0);
sp1B0.y = temp_r0_21;
temp_r0_22 = temp_r0_21 + sp194.pos.y;
sp1B0.y = temp_r0_22;
vec->x = sp1B0.x;
vec->y = temp_r0_22;
vec->z = sp1B0.z;
} else {
if (sp214.mUnk_19 == 0) {
return 0;
}
sp158.x = sp1D4.mUnk_00.x;
sp158.y = sp1D4.mUnk_00.y;
sp158.z = sp1D4.mUnk_00.z;
TilePos sp4C = gMapManager->func_ov00_02083a1c(&sp158);
sp5a.x = sp4C.x;
sp5a.y = sp4C.y;
TilePos sp24_unk0 = sp5a;
TilePos sp24_unkC = sp24_unk0;
TilePos sp24_unkE = mUnk_1c[mUnk_18 - 1];
if (sp24_unkE == sp24_unkC) {
return 0;
}
gMapManager->func_ov00_02083c7c(&sp158, sp24_unk0);
sp1B0.x = sp158.x;
sp98.x = sp158.x;
temp_r1_10 = sp158.y + 0x999;
sp1B0.y = sp158.y;
sp1B0.z = sp158.z;
sp98.z = sp158.z;
sp1B0.y = temp_r1_10;
sp98.y = temp_r1_10;
temp_r0_13 = gMapManager->MapData_vfunc_68(&sp98, 0);
sp1B0.y = temp_r0_13;
sp1B0.y = temp_r0_13 + sp194.pos.y;
}
}
} else {
MapManager *temp_r7_2 = gMapManager;
TilePos sp4a = temp_r7_2->func_ov00_02083a1c(&sp1B0);
if (temp_r7_2->MapData_vfunc_54(&sp4a) == 0x19) {
MapManager *temp_r7_3 = gMapManager;
TilePos sp48 = temp_r7_3->func_ov00_02083a1c(&sp1B0);
temp_r0_9 = temp_r7_3->MapData_vfunc_60(&sp48);
sp1B0.y = temp_r0_9;
sp1B0.y = temp_r0_9 - 0x1333;
}
sp8C.x = sp1B0.x;
sp8C.y = sp1B0.y;
sp8C.z = sp1B0.z;
sp1B0.y = gMapManager->MapData_vfunc_68(&sp8C, 0);
}
sp14C.y = var_r6_2;
sp14C.x = sp18;
sp140.y = var_r6_2;
sp14C.z = sp14;
var_r6_3 = 1;
sp140.x = sp18;
sp140.z = sp14;
while (true) {
if (func_0202b2f8(&sp14C, &sp1B0, 0x1000) != 0) {
var_r6_3 = 0;
}
MapManager::func_ov00_02083fb0(&sp60, gMapManager, &sp14C);
if (((3 & (sp60 >> 5)) == 2) && ((sp60 & 0x1F) != 0xA)) {
sp1B0.y = sp140.y;
temp_r0_23 = sp140.y + 0x999;
sp1B0.y = temp_r0_23;
sp80.y = temp_r0_23;
sp1B0.z = sp140.z;
sp80.z = sp140.z;
sp1B0.x = sp140.x;
sp80.x = sp140.x;
temp_r0_24 = gMapManager->MapData_vfunc_68(&sp80, 0);
sp1B0.y = temp_r0_24;
temp_r0_25 = temp_r0_24 + sp194.pos.y;
sp1B0.y = temp_r0_25;
vec->x = sp1B0.x;
vec->y = temp_r0_25;
vec->z = sp1B0.z;
TilePos sp46 = gMapManager->func_ov00_02083a1c(&sp1B0);
sp5a = sp46;
TilePos sp24_unk8 = sp5a;
TilePos sp24_unkA = mUnk_1c[mUnk_18 - 1];
if (sp24_unkA == sp24_unk8) {
return 0;
}
goto block_114;
} else {
sp140.x = sp14C.x;
sp140.y = sp14C.y;
sp140.z = sp14C.z;
}
if (var_r6_3 == 0) {
block_114:
if (this->func_ov058_0219a3b4(sp5a) != 0) {
TilePos sp44 = gMapManager->func_ov00_02083a1c(&sp1B0);
temp_r0_27 = this->func_ov058_02199ef0(sp44);
sp1B0.y = temp_r0_27;
sp1B0.y = temp_r0_27 + sp194.pos.y;
} else {
sp74.x = sp1B0.x;
sp74.y = sp1B0.y;
sp74.z = sp1B0.z;
MapManager::func_ov00_02083fb0(&sp5C, gMapManager, &sp74);
if (((3 & (sp5C >> 5)) == 2) && ((0x1F & sp5C) != 0xA)) {
return 0;
}
}
mUnk_1c[mUnk_18] = sp5a;
mUnk_18 += 1;
sp134.x = sp1B0.x;
sp134.y = sp1B0.y;
sp134.z = sp1B0.z;
Vec3p_Sub(&sp134, &mUnk_20, &sp134);
mUnk_2c = sp1B0;
if (mUnk_18 <= 1) {
mUnk_20 = sp1B0;
}
mUnk_14 = 1;
return 1;
}
}
}
extern "C" void func_ov000_020a61ac(Vec3p *vec, s16 angle);
ARM unk32 EquipBombchu::func_ov058_02199ef0(TilePos param1) {
s32 iVar1;
s32 iVar2;
s16 sVar3;
s32 result;
Vec3p local_58;
Vec3p local_4c;
Vec3p local_40;
TilePos local_5c = param1;
gMapManager->func_ov00_02083c7c(&local_40, local_5c);
for (s32 iVar2 = 0; iVar2 < 4; iVar2++) {
sVar3 = 0;
local_58.x = 0;
local_58.y = 0;
local_58.z = 0x400;
func_ov000_020a61ac(&local_58, (int) sVar3);
local_4c.x = local_40.x;
local_4c.y = local_40.y;
local_4c.z = local_40.z;
Vec3p_Add(&local_4c, &local_58, &local_4c);
if (iVar2 == 0) {
result = gMapManager->func_ov00_02083f44(&local_4c, false);
} else {
iVar1 = gMapManager->func_ov00_02083f44(&local_4c, false);
if (result <= iVar1) {
result = iVar1;
}
}
sVar3 = sVar3 + 0x4000;
}
return result;
}
ARM unk32 EquipBombchu::func_ov058_02199fd8(TilePos param1) {
if (data_ov058_0219aee0 != -1) {
if (data_ov058_0219b110 == param1) {
return data_ov058_0219aee0;
}
}
data_ov058_0219aee0 = this->func_ov058_0219a084(param1);
data_ov058_0219b110 = param1;
return data_ov058_0219aee0;
}
ARM unk32 EquipBombchu::func_ov058_0219a084(TilePos param1) {
Vec3p sp3C[4];
Vec3p sp30;
gMapManager->func_ov00_02083c7c(&sp30, param1);
Vec3p sp24;
for (s32 i = 0; i < 4; i++) {
sp24.x = 0;
sp24.y = 0;
sp24.z = FLOAT_TO_Q20(0.25);
func_ov000_020a61ac(&sp24, 0x4000 * i);
sp3C[i] = sp30;
Vec3p_Add(&sp3C[i], &sp24, &sp3C[i]);
sp3C[i].y = gMapManager->func_ov00_02083f44(&sp3C[i], 0);
}
if ((sp3C[0].y == sp3C[1].y) && (sp3C[0].y == sp3C[2].y) && (sp3C[0].y == sp3C[3].y)) {
UnkStruct sp90;
if (gMapManager->func_01ffbf5c(&sp90, &sp3C[0], &sp3C[2], 0x200, 9, 1, &sUnk_02198d00, 0)) {
return 7;
}
if (gMapManager->func_01ffbf5c(&sp90, &sp3C[1], &sp3C[3], 0x200, 9, 1, &sUnk_02198d00, 0)) {
return 7;
}
if (gMapManager->func_01ffbf5c(&sp90, &sp3C[2], &sp3C[0], 0x200, 9, 1, &sUnk_02198d00, 0)) {
return 7;
}
if (gMapManager->func_01ffbf5c(&sp90, &sp3C[3], &sp3C[1], 0x200, 9, 1, &sUnk_02198d00, 0)) {
return 7;
}
return 0;
}
if ((sp3C[0].y == sp3C[1].y) && (sp3C[2].y == sp3C[3].y)) {
if (sp3C[0].y < sp3C[2].y) {
return 4;
}
return 1;
}
if ((sp3C[0].y == sp3C[3].y) && (sp3C[1].y == sp3C[2].y)) {
if (sp3C[0].y < sp3C[1].y) {
return 3;
}
return 2;
}
Vec3p sp18;
unk32 sp14;
gMapManager->MapData_vfunc_6c(&sp30, &sp14, &sp18);
if ((sp18.x != 0) || (sp18.z != 0)) {
return 5;
}
return 7;
}
bool EquipBombchu::func_ov058_0219a3b4(TilePos param1) {
switch (this->func_ov058_02199fd8(param1)) {
case 1:
case 2:
case 3:
case 4:
case 7:
return true;
default:
return false;
}
}
+58 -159
View File
@@ -7,8 +7,8 @@
#include "Player/PlayerBase.hpp"
#include "Player/PlayerControl.hpp"
extern unk32 data_ov000_020dc7d0;
extern unk32 data_ov000_020dc7e4;
extern const ItemManager_Unk1 data_ov000_020dc7d0;
extern const ItemManager_Unk1 data_ov000_020dc7e4;
extern u32 data_ov000_020e9370[];
extern "C" void Vec3p_RotateY(u32, Vec3p *);
extern "C" void func_ov005_02102c2c(u32 *param_1, int param_2, Vec3p *param_3, int param_4, int param_5, u32 param_6,
@@ -58,200 +58,99 @@ ARM void ActorNavi::func_ov059_0219aa08() {
}
}
struct UnkStruct {
/* 00 */ u16 mUnk_00;
/* 02 */ unk16 mUnk_02;
/* 04 */ unk16 mUnk_04;
/* 06 */ unk16 mUnk_06;
/* 08 */ unk16 mUnk_08;
/* 09 */ unk8 mUnk_09;
/* 0a */ unk8 mUnk_0a;
/* 0b */ unk8 mUnk_0b;
/* 0c */ unk8 mUnk_0c;
/* 0d */ unk8 mUnk_0d;
/* 0e */ unk8 mUnk_0e;
/* 0f */ unk8 mUnk_0f;
/* 10 */ unk8 mUnk_10;
/* 11 */ unk8 mUnk_11;
/* 12 */ unk8 mUnk_12;
/* 13 */ unk8 mUnk_13;
/* 14 */ Vec3p mUnk_14;
/* 14 */ unk8 mUnk_20[4];
/* 24 */
};
// non-matching
ARM void ActorNavi::func_ov059_0219aba8(u32 param1) {
bool bVar1;
LinkStateItem *uVar1;
ItemManager *pIVar3;
int uVar4;
int iVar5;
int uVar6;
bool bVar7;
Vec3p local_134;
Vec3p local_128;
Vec3p local_11c;
Vec3p local_110;
Vec3p local_104;
Vec3p local_e4;
UnkStruct auStack_e0;
u16 local_bc;
unk16 local_ba;
unk16 local_b8;
unk16 local_b6;
unk16 local_b4;
unk32 local_92;
unk32 local_91;
unk32 local_90;
unk32 local_8f;
unk32 local_88;
unk32 local_87;
unk32 local_86;
unk32 local_85;
unk32 local_84;
unk32 local_83;
UnkStruct auStack_80;
u16 local_5c;
unk16 local_5a;
unk16 local_58;
unk16 local_56;
unk16 local_54;
unk32 local_32;
unk32 local_31;
unk32 local_30;
unk32 local_2f;
unk32 local_28;
unk32 local_27;
unk32 local_26;
unk32 local_25;
unk32 local_24;
unk32 local_23;
ItemManager *puVar1;
switch (param1) {
case 3:
uVar1 = EquipHammer::GetLinkStateItem();
case 3: {
LinkStateItem *uVar1 = EquipHammer::GetLinkStateItem();
if (uVar1->mUnk_25[2] != 0 && uVar1->mUnk_25[3] != 0) {
break;
}
local_11c.x = data_027e0fd4->mUnk_020.pos.x;
local_11c.z = data_027e0fd4->mUnk_020.pos.z;
Vec3p local_11c = data_027e0fd4->mUnk_020.pos;
iVar5 = gPlayerPos.y + FLOAT_TO_Q20(0.5);
uVar4 = this->mPos.x;
uVar6 = this->mPos.z;
q20 iVar5 = gPlayerPos.y + FLOAT_TO_Q20(0.5);
q20 uVar4 = this->mPos.x;
q20 uVar6 = this->mPos.z;
auStack_80.mUnk_00 = -1;
auStack_80.mUnk_02 = 0;
auStack_80.mUnk_04 = 0;
auStack_80.mUnk_06 = 0;
auStack_80.mUnk_08 = 0;
auStack_80.mUnk_09 = 0;
auStack_80.mUnk_0a = 0;
auStack_80.mUnk_0b = 0;
auStack_80.mUnk_0c = 0;
auStack_80.mUnk_0d = 0;
auStack_80.mUnk_0e = 0;
auStack_80.mUnk_0f = 0;
auStack_80.mUnk_10 = 0;
auStack_80.mUnk_11 = 0;
auStack_80.mUnk_12 = 0;
local_11c.y = iVar5;
UnkStruct auStack_80;
local_11c.y = iVar5;
local_110.x = uVar4;
local_110.y = iVar5;
// local_110.z = uVar6;
Vec3p local_110 = {uVar4, iVar5, uVar6};
local_e4.x = local_11c.x;
local_e4.y = iVar5;
local_e4.z = local_11c.z;
Vec3p local_e4 = local_11c;
local_5a = local_5c;
local_58 = local_5c;
local_56 = local_5c;
if (gMapManager->func_01ffbf5c(&auStack_80, &local_110, &local_11c, this->mUnk_08c.size) ? false : true) {
this->mPos = local_e4;
this->mPrevPos = local_e4;
this->mOffsetPos = local_e4;
} else {
// if (gMapManager->func_01ffbf5c(&auStack_80, &local_110, &local_11c, this->mUnk_08c.size, 0, 0, NULL, 0) ? false
if (gMapManager->func_01ffbf5c(&auStack_80, &local_110, &local_11c, this->mUnk_08c.size, this->mRef.id,
this->mUnk_09c.mUnk_0, this->mUnk_09c.mUnk_4, 0)
? false
: true) {
this->mOffsetPos.x = uVar4;
this->mOffsetPos.y = iVar5;
this->mOffsetPos.z = uVar6;
} else {
this->mPos.x = local_e4.x;
this->mPos.y = local_e4.y;
this->mPos.z = local_e4.z;
this->mPrevPos = local_e4;
this->mOffsetPos = local_e4;
}
break;
case 4:
uVar1 = EquipHammer::GetLinkStateItem();
} break;
case 4: {
LinkStateItem *uVar1 = EquipHammer::GetLinkStateItem();
if (uVar1->mUnk_25[2] != 0 && uVar1->mUnk_25[3] != 0) {
break;
}
auStack_e0.mUnk_14.x = data_027e0fd4->mUnk_020.pos.x;
auStack_e0.mUnk_14.y = gPlayerPos.y + FLOAT_TO_Q20(0.5);
auStack_e0.mUnk_14.z = data_027e0fd4->mUnk_020.pos.z;
bVar1 = gPlayerControl->UpdateAimWorld(&local_104);
bVar7 = false;
local_104.y = auStack_e0.mUnk_14.y;
auStack_80.mUnk_00 = -1;
auStack_80.mUnk_02 = 0;
auStack_80.mUnk_04 = 0;
auStack_80.mUnk_06 = 0;
auStack_80.mUnk_08 = 0;
auStack_80.mUnk_09 = 0;
auStack_80.mUnk_0a = 0;
auStack_80.mUnk_0b = 0;
auStack_80.mUnk_0c = 0;
auStack_80.mUnk_0d = 0;
auStack_80.mUnk_0e = 0;
auStack_80.mUnk_0f = 0;
auStack_80.mUnk_10 = 0;
auStack_80.mUnk_11 = 0;
auStack_80.mUnk_12 = 0;
local_ba = local_bc;
local_b8 = local_bc;
local_b6 = local_bc;
Vec3p local_f8 = data_027e0fd4->mUnk_020.pos;
local_f8.y = gPlayerPos.y + FLOAT_TO_Q20(0.5);
Vec3p local_104;
bool bVar1 = gPlayerControl->UpdateAimWorld(&local_104);
local_104.y = local_f8.y;
UnkStruct auStack_e0;
bool bVar7 = false;
UnkStruct auStack_80;
if (bVar1) {
local_128 = auStack_e0.mUnk_14;
s32 id = this->mRef.id;
Vec3p local_128 = local_f8;
// local_134.x = local_104.x;
// local_134.y = auStack_e0.mUnk_14.y;
// local_134.z = local_104.z;
Vec3p local_134;
local_134 = local_104;
local_134.y = local_f8.y;
if (!gMapManager->func_01ffbf5c(&auStack_e0, &local_134, &local_128, this->mUnk_08c.size)) {
if (!gMapManager->func_01ffbf5c(&auStack_e0, &local_134, &local_128, this->mUnk_08c.size, id,
this->mUnk_09c.mUnk_0, this->mUnk_09c.mUnk_4, 0)) {
bVar7 = true;
}
}
if (!bVar7) {
this->mPos = auStack_e0.mUnk_14;
this->mPrevPos = auStack_e0.mUnk_14;
this->mOffsetPos = auStack_e0.mUnk_14;
if (!bVar7) {
this->mPos = auStack_e0.mUnk_3c;
this->mPrevPos = auStack_e0.mUnk_3c;
this->mOffsetPos = auStack_e0.mUnk_3c;
}
break;
default:
this->func_ov000_020b853c();
break;
}
break;
default:
this->func_ov000_020b853c();
break;
}
}
pIVar3 = gItemManager;
void *pvVar2;
switch (param1) {
case 3:
pIVar3->func_ov00_020ad538(data_ov000_020dc7d0);
pIVar3->func_ov000_020c0c44(&this->mUnk_2f0);
pIVar3->func_ov000_020c0e5c(&this->mUnk_2f0, 0);
pvVar2 = gItemManager->func_ov00_020ad538(&data_ov000_020dc7d0);
this->mUnk_2f0.func_ov000_020c0c44(pvVar2);
this->mUnk_2f0.func_ov000_020c0e5c(0);
break;
case 4:
this->mUnk_348 = 0;
pIVar3->func_ov00_020ad538(data_ov000_020dc7e4);
pIVar3->func_ov000_020c0c44(&this->mUnk_2f0);
pIVar3->func_ov000_020c0e5c(&this->mUnk_2f0, 1);
pvVar2 = gItemManager->func_ov00_020ad538(&data_ov000_020dc7e4);
this->mUnk_2f0.func_ov000_020c0c44(pvVar2);
this->mUnk_2f0.func_ov000_020c0e5c(1);
break;
default:
break;
+1 -1
View File
@@ -161,7 +161,7 @@ ARM void LinkStateItem::func_ov059_02198ffc() {
local_20 = *this->GetPlayerPos();
Vec3p_Sub(&local_14, &local_20, &local_14);
dest = Atan2(local_14.x, local_14.z);
dest = FX_Atan2Idx(local_14.x, local_14.z);
ApproachAngle_thunk(this->GetPlayerAngle(), dest, 0x2000);
}
+3 -2
View File
@@ -1,6 +1,7 @@
#include "Map/MapManager.hpp"
bool MapManager::func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4) {}
bool MapManager::func_01ffbf5c(struct UnkStruct *param1, Vec3p *param2, Vec3p *param3, s32 length) {}
bool MapManager::func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Sphere *param4) {}
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) {}
bool MapManager::func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7) {}
+1 -1
View File
@@ -207,7 +207,7 @@ def check_can_run_dsd() -> bool:
version = "v" + version
# If it's not the correct version, Ninja will download it and then rerun this script
return version == DSD_VERSION
return version == DSD_VERSION or args.dsd is not None
except subprocess.CalledProcessError:
return False
except FileNotFoundError: