mirror of
https://github.com/zeldaret/st
synced 2026-07-03 04:53:00 -04:00
Decompiling actor for boomerang (#93)
* feat: begin decompiling ActorItemBoomerang * feat: decompile functions * refactor: rename function and use ActorState * feat: match vfunc * feat: magic stuff on addresses to match .data * feat: more black magic * feat: improvements * feat: match .data * feat: unmatch .data 😭 * feat: match stuff * refactor: move shotarrows' class used in boomerang * feat: fix mangled names * feat: weird magic * fix: build issues * fix: build issue for jp version * fix: back to +0.2% :yeah: * feat: improvements before changing laptop * feat: continue decompiling * fix: build issues * feat: improvements * feat: solve build on eur * fix: build issue * fix: better match * fix: match back ActorShotArrow data * feat: increase .text matching * fix: propagate changes to ActorShotArrow * feat: matching func_ov031_020e5034 * fix: logical errors * fix: replace whiles with fors * style: use uppercased hex value Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: do not use fx32 for global timer Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: add parameters name in prototypes Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: use bool instead of unk32 for external function Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * style: use DEG2ANG * refactor: use ActorRef instead of u16 * style: use boring array access instead of chad pointer manipulation * fix: use bool as return type for ActorItemBoomerang::vfunc_2C * feat: remove old non-matching comments * style: explicit null check * revert: change vfunc_2C back to void signature and change 01fff5d0 function's signature to bool --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -128,7 +128,7 @@ func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
|
||||
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
|
||||
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
|
||||
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
|
||||
func_01ffc6d4 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
_ZN19UnkSystem6_Derived213func_01ffc6d4EtP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
func_01ffc744 kind:function(arm,size=0x24) addr:0x01ffc744
|
||||
func_01ffc768 kind:function(arm,size=0x3c) addr:0x01ffc768
|
||||
_ZN20ModelRender_Derived18vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xb4) addr:0x01ffc7a4
|
||||
|
||||
@@ -1381,11 +1381,11 @@ _ZN19func_ov000_0207b628D1Ev kind:function(arm,size=0x14) addr:0x0207b628
|
||||
_ZN19func_ov000_0207b63cD0Ev kind:function(arm,size=0x1c) addr:0x0207b63c
|
||||
_ZN19func_ov000_0207b658D1Ev kind:function(arm,size=0x30) addr:0x0207b658
|
||||
_ZN19func_ov000_0207b688D0Ev kind:function(arm,size=0x38) addr:0x0207b688
|
||||
_ZN23ActorShotArrow_194_BaseD2Ev kind:function(arm,size=0x30) addr:0x0207b6c0
|
||||
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207b6c0
|
||||
func_ov000_0207b6f0 kind:function(arm,size=0x1c) addr:0x0207b6f0
|
||||
func_ov000_0207b70c kind:function(arm,size=0x10) addr:0x0207b70c
|
||||
_ZN23ActorShotArrow_194_Base8vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207b71c
|
||||
func_ov000_0207b754 kind:function(arm,size=0x80) addr:0x0207b754
|
||||
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207b71c
|
||||
_ZN24UnkStruct_ov031_Items_018vfunc_0CEP5ActorP7VecFx32 kind:function(arm,size=0x80) addr:0x0207b754
|
||||
func_ov000_0207b7d4 kind:function(arm,size=0x40) addr:0x0207b7d4
|
||||
func_ov000_0207b814 kind:function(arm,size=0x80) addr:0x0207b814
|
||||
func_ov000_0207b894 kind:function(arm,size=0x48) addr:0x0207b894
|
||||
@@ -1412,9 +1412,9 @@ func_ov000_0207bcfc kind:function(arm,size=0x88) addr:0x0207bcfc
|
||||
func_ov000_0207bd84 kind:function(arm,size=0x260) addr:0x0207bd84
|
||||
func_ov000_0207bfe4 kind:function(arm,size=0x4) addr:0x0207bfe4
|
||||
_ZN19func_ov000_0207bfe8D0Ev kind:function(arm,size=0x14) addr:0x0207bfe8
|
||||
_ZN23ActorShotArrow_178_BaseD2Ev kind:function(arm,size=0x4) addr:0x0207bffc
|
||||
_ZN24UnkStruct_ov031_Items_00D2Ev kind:function(arm,size=0x4) addr:0x0207bffc
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_08Ev kind:function(arm,size=0x8) addr:0x0207c000
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_0CEv kind:function(arm,size=0x8) addr:0x0207c008
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x8) addr:0x0207c008
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_10Ev kind:function(arm,size=0x8) addr:0x0207c010
|
||||
_ZN17MapObject_10_BaseC2Ev kind:function(arm,size=0x30) addr:0x0207c018
|
||||
func_ov000_0207c048 kind:function(arm,size=0x30) addr:0x0207c048
|
||||
@@ -1460,7 +1460,7 @@ func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc64
|
||||
func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dc88
|
||||
func_ov000_0207de98 kind:function(arm,size=0xc0) addr:0x0207de98
|
||||
func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207df58
|
||||
func_ov000_0207df88 kind:function(arm,size=0xd8) addr:0x0207df88
|
||||
_ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207df88
|
||||
func_ov000_0207e060 kind:function(arm,size=0x68) addr:0x0207e060
|
||||
func_ov000_0207e0c8 kind:function(arm,size=0xbc) addr:0x0207e0c8
|
||||
func_ov000_0207e184 kind:function(arm,size=0x58) addr:0x0207e184
|
||||
@@ -1474,7 +1474,7 @@ func_ov000_0207e3ac kind:function(arm,size=0xac) addr:0x0207e3ac
|
||||
func_ov000_0207e458 kind:function(arm,size=0x84) addr:0x0207e458
|
||||
func_ov000_0207e4dc kind:function(arm,size=0x84) addr:0x0207e4dc
|
||||
func_ov000_0207e560 kind:function(arm,size=0x2c) addr:0x0207e560
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e58cE8ActorRefihP18ActorShotArrow_194 kind:function(arm,size=0xa4) addr:0x0207e58c
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e58cE8ActorRefihP24UnkStruct_ov031_Items_01 kind:function(arm,size=0xa4) addr:0x0207e58c
|
||||
func_ov000_0207e630 kind:function(arm,size=0x38) addr:0x0207e630
|
||||
func_ov000_0207e668 kind:function(arm,size=0x50) addr:0x0207e668
|
||||
func_ov000_0207e6b8 kind:function(arm,size=0x14) addr:0x0207e6b8
|
||||
@@ -2062,7 +2062,7 @@ func_ov000_0208eb90 kind:function(arm,size=0x104) addr:0x0208eb90
|
||||
func_ov000_0208ec94 kind:function(arm,size=0x60) addr:0x0208ec94
|
||||
func_ov000_0208ecf4 kind:function(thumb,size=0x1c) addr:0x0208ecf4
|
||||
func_ov000_0208ed10 kind:function(thumb,size=0x20) addr:0x0208ed10
|
||||
func_ov000_0208ed30 kind:function(thumb,size=0x34) addr:0x0208ed30
|
||||
_ZN18UnkStruct_027e0ce019func_ov000_0208ed30EiiPc kind:function(thumb,size=0x34) addr:0x0208ed30
|
||||
func_ov000_0208ed64 kind:function(thumb,size=0xc4) addr:0x0208ed64
|
||||
func_ov000_0208ee28 kind:function(thumb,size=0x6c) addr:0x0208ee28
|
||||
func_ov000_0208ee94 kind:function(arm,size=0x8c) addr:0x0208ee94
|
||||
@@ -2306,7 +2306,7 @@ func_ov000_020980e0 kind:function(arm,size=0x80) addr:0x020980e0
|
||||
func_ov000_02098160 kind:function(arm,size=0x80) addr:0x02098160
|
||||
func_ov000_020981e0 kind:function(arm,size=0x64) addr:0x020981e0
|
||||
func_ov000_02098244 kind:function(arm,size=0x64) addr:0x02098244
|
||||
_ZN23ActorShotArrow_178_BaseC2Ev kind:function(arm,size=0x18) addr:0x020982a8
|
||||
_ZN24UnkStruct_ov031_Items_00C2Ev kind:function(arm,size=0x18) addr:0x020982a8
|
||||
func_ov000_020982c0 kind:function(arm,size=0x18) addr:0x020982c0
|
||||
func_ov000_020982d8 kind:function(arm,size=0x80) addr:0x020982d8
|
||||
_ZN19func_ov000_02098358D1Ev kind:function(arm,size=0x14) addr:0x02098358
|
||||
@@ -2557,7 +2557,7 @@ _ZN9MapObject19func_ov000_0209d0bcEP8Vec2bCppPS_ kind:function(arm,size=0x58) ad
|
||||
_ZN9MapObject19func_ov000_0209d114Ev kind:function(arm,size=0x18) addr:0x0209d114
|
||||
_ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209d12c
|
||||
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209d144
|
||||
_ZN9MapObject8vfunc_1CEv kind:function(arm,size=0x8) addr:0x0209d1cc
|
||||
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209d1cc
|
||||
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209d1d4
|
||||
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209d1d8
|
||||
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209d1e4
|
||||
@@ -2675,7 +2675,7 @@ func_ov000_0209ff4c kind:function(arm,size=0x40) addr:0x0209ff4c
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_0209ff8cEP22UnkStruct_PlayerGet_eciP7VecFx32i kind:function(arm,size=0x74) addr:0x0209ff8c
|
||||
func_ov000_020a0000 kind:function(arm,size=0xa0) addr:0x020a0000
|
||||
func_ov000_020a00a0 kind:function(arm,size=0x34) addr:0x020a00a0
|
||||
func_ov000_020a00d4 kind:function(arm,size=0x3c) addr:0x020a00d4
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_020a00d4EP22UnkStruct_PlayerGet_eciiiP7VecFx32i kind:function(arm,size=0x3c) addr:0x020a00d4
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_020a0110EP22UnkStruct_PlayerGet_ec kind:function(arm,size=0x30) addr:0x020a0110
|
||||
func_ov000_020a0140 kind:function(arm,size=0xe0) addr:0x020a0140
|
||||
_ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a0220
|
||||
|
||||
@@ -26,10 +26,11 @@ src/031_Land/Actor/ActorUnkTLKT.cpp:
|
||||
.ctor start:0x021127a4 end:0x021127a8
|
||||
.bss start:0x0211649c end:0x021164e8
|
||||
|
||||
src/031_Land/Actor/ActorUnkITBM.cpp:
|
||||
src/031_Land/Actor/ActorItemBoomerang.cpp:
|
||||
.text start:0x020e45a4 end:0x020e575c
|
||||
.init start:0x021110e8 end:0x02111138
|
||||
.ctor start:0x021127a8 end:0x021127ac
|
||||
.data start:0x02112efc end:0x02112fd0
|
||||
.bss start:0x021164e8 end:0x02116534
|
||||
|
||||
src/031_Land/Actor/ActorUnkITTD.cpp:
|
||||
|
||||
@@ -1236,16 +1236,16 @@ from:0x020e4114 kind:arm_call to:0x0209767c module:overlay(0)
|
||||
from:0x020e412c kind:load to:0x02112e4c add:0x8 module:overlay(31)
|
||||
from:0x020e4138 kind:arm_call to:0x020e3da0 module:overlay(31)
|
||||
from:0x020e415c kind:load to:0x02112e70 add:0x8 module:overlay(31)
|
||||
from:0x020e4160 kind:load to:0x02112eec module:overlay(31)
|
||||
from:0x020e4160 kind:load to:0x02112ee4 module:overlay(31) add:0x8
|
||||
from:0x020e4188 kind:arm_call to:0x020e4514 module:overlay(31)
|
||||
from:0x020e4190 kind:arm_call to:0x02098488 module:overlay(0)
|
||||
from:0x020e419c kind:load to:0x02112e70 add:0x8 module:overlay(31)
|
||||
from:0x020e41a0 kind:load to:0x02112eec module:overlay(31)
|
||||
from:0x020e41a0 kind:load to:0x02112ee4 module:overlay(31) add:0x8
|
||||
from:0x020e41c8 kind:arm_call to:0x020e4514 module:overlay(31)
|
||||
from:0x020e41d0 kind:arm_call to:0x02098488 module:overlay(0)
|
||||
from:0x020e41d8 kind:arm_call to:0x02011ff4 module:main
|
||||
from:0x020e41e4 kind:load to:0x02112e70 add:0x8 module:overlay(31)
|
||||
from:0x020e41e8 kind:load to:0x02112eec module:overlay(31)
|
||||
from:0x020e41e8 kind:load to:0x02112ee4 module:overlay(31) add:0x8
|
||||
from:0x020e4230 kind:arm_call to:0x020e4274 module:overlay(31)
|
||||
from:0x020e424c kind:arm_call to:0x020732ec module:overlay(0)
|
||||
from:0x020e4270 kind:load to:0x027e09b8 module:dtcm
|
||||
@@ -1282,8 +1282,8 @@ from:0x020e4724 kind:arm_call to:0x020d8df0 module:overlay(31)
|
||||
from:0x020e4740 kind:load to:0x02112f74 add:0x8 module:overlay(31)
|
||||
from:0x020e4744 kind:load to:0x027e0ce0 module:dtcm
|
||||
from:0x020e4748 kind:load to:0x020b1960 add:0x8 module:overlay(0)
|
||||
from:0x020e474c kind:load to:0x02112f04 module:overlay(31)
|
||||
from:0x020e4750 kind:load to:0x02112f3c module:overlay(31)
|
||||
from:0x020e474c kind:load to:0x02112efc module:overlay(31) add:0x8
|
||||
from:0x020e4750 kind:load to:0x02112f34 module:overlay(31) add:0x8
|
||||
from:0x020e4754 kind:load to:0x020a02d4 module:overlay(0)
|
||||
from:0x020e4758 kind:load to:0x020e5704 module:overlay(31)
|
||||
from:0x020e4768 kind:arm_call to:0x0207b6c0 module:overlay(0)
|
||||
@@ -1399,7 +1399,7 @@ from:0x020e53f8 kind:load to:0x027e0d2c module:dtcm
|
||||
from:0x020e53fc kind:load to:0x020d95c8 module:overlay(31)
|
||||
from:0x020e543c kind:arm_call to:0x0207b754 module:overlay(0)
|
||||
from:0x020e5458 kind:arm_call to:0x020982a8 module:overlay(0)
|
||||
from:0x020e5470 kind:load to:0x02112f20 module:overlay(31)
|
||||
from:0x020e5470 kind:load to:0x02112f18 module:overlay(31) add:0x8
|
||||
from:0x020e547c kind:arm_call to:0x0207bffc module:overlay(0)
|
||||
from:0x020e5490 kind:arm_call to:0x0207bffc module:overlay(0)
|
||||
from:0x020e5498 kind:arm_call to:0x02011ff4 module:main
|
||||
@@ -1446,7 +1446,7 @@ from:0x020e5b00 kind:load to:0x0211302c add:0x8 module:overlay(31)
|
||||
from:0x020e5b04 kind:load to:0x02110a88 module:overlay(31)
|
||||
from:0x020e5b08 kind:load to:0x027e0ce0 module:dtcm
|
||||
from:0x020e5b0c kind:load to:0x02112ff4 module:overlay(31)
|
||||
from:0x020e5b10 kind:load to:0x02112fd8 module:overlay(31)
|
||||
from:0x020e5b10 kind:load to:0x02112fd0 module:overlay(31) add:0x8
|
||||
from:0x020e5b14 kind:load to:0x020b27c8 module:overlay(0)
|
||||
from:0x020e5b18 kind:load to:0x020a02d4 module:overlay(0)
|
||||
from:0x020e5b1c kind:load to:0x020e5704 module:overlay(31)
|
||||
|
||||
@@ -8,8 +8,8 @@ func_ov031_020d8cd0 kind:function(arm,size=0x28) addr:0x020d8cd0
|
||||
func_ov031_020d8cf8 kind:function(arm,size=0x70) addr:0x020d8cf8
|
||||
func_ov031_020d8d68 kind:function(arm,size=0x74) addr:0x020d8d68
|
||||
func_ov031_020d8ddc kind:function(arm,size=0x14) addr:0x020d8ddc
|
||||
_ZN18ActorShotArrow_1DCC1Eii kind:function(arm,size=0x7c) addr:0x020d8df0
|
||||
_ZN18ActorShotArrow_1DCD1Ev kind:function(arm,size=0x1c) addr:0x020d8e6c
|
||||
_ZN24UnkStruct_ov031_Items_02C1Eii kind:function(arm,size=0x7c) addr:0x020d8df0
|
||||
_ZN24UnkStruct_ov031_Items_02D1Ev kind:function(arm,size=0x1c) addr:0x020d8e6c
|
||||
func_ov031_020d8e88 kind:function(arm,size=0x9c) addr:0x020d8e88
|
||||
func_ov031_020d8f24 kind:function(arm,size=0x34) addr:0x020d8f24
|
||||
func_ov031_020d8f58 kind:function(arm,size=0x40) addr:0x020d8f58
|
||||
@@ -34,11 +34,11 @@ func_ov031_020d9524 kind:function(arm,size=0x44) addr:0x020d9524
|
||||
_ZN19func_ov031_020d9568D1Ev kind:function(arm,size=0x14) addr:0x020d9568
|
||||
_ZN19func_ov031_020d957cD0Ev kind:function(arm,size=0x1c) addr:0x020d957c
|
||||
func_ov031_020d9598 kind:function(thumb,size=0x1a) addr:0x020d9598
|
||||
func_ov031_020d95b4 kind:function(arm,size=0x14) addr:0x020d95b4
|
||||
func_ov031_020d95c8 kind:function(arm,size=0x24) addr:0x020d95c8
|
||||
_ZN18UnkStruct_027e0d2c19func_ov031_020d95b4Ev kind:function(arm,size=0x14) addr:0x020d95b4
|
||||
_ZN18UnkStruct_027e0d2c19func_ov031_020d95c8E8ActorRef kind:function(arm,size=0x24) addr:0x020d95c8
|
||||
func_ov031_020d95ec kind:function(arm,size=0x30) addr:0x020d95ec
|
||||
func_ov031_020d961c kind:function(arm,size=0x10) addr:0x020d961c
|
||||
func_ov031_020d962c kind:function(arm,size=0x1c) addr:0x020d962c
|
||||
_ZN18UnkStruct_027e0d2c19func_ov031_020d962cEP7VecFx32iS1_P8ActorRef kind:function(arm,size=0x1c) addr:0x020d962c
|
||||
func_ov031_020d9648 kind:function(arm,size=0x10) addr:0x020d9648
|
||||
func_ov031_020d9658 kind:function(thumb,size=0x1a) addr:0x020d9658
|
||||
func_ov031_020d9674 kind:function(arm,size=0x10) addr:0x020d9674
|
||||
@@ -420,35 +420,35 @@ _ZN12ActorUnkTLKT19func_ov031_020e4514Ev kind:function(arm,size=0x5c) addr:0x020
|
||||
_ZN19ActorProfileUnkTLKTD1Ev kind:function(arm,size=0x14) addr:0x020e4570
|
||||
func_ov031_020e4584 kind:function(arm,size=0x10) addr:0x020e4584
|
||||
func_ov031_020e4594 kind:function(arm,size=0x10) addr:0x020e4594
|
||||
_ZN19ActorProfileUnkITBM10GetProfileEv kind:function(arm,size=0xc) addr:0x020e45a4
|
||||
_ZN19ActorProfileUnkITBM6CreateEv kind:function(arm,size=0x24) addr:0x020e45b0
|
||||
_ZN19ActorProfileUnkITBMC1Ev kind:function(arm,size=0x28) addr:0x020e45d4
|
||||
_ZN12ActorUnkITBM19func_ov031_020e45fcEv kind:function(arm,size=0x24) addr:0x020e45fc
|
||||
_ZN12ActorUnkITBMC1Ev kind:function(arm,size=0x140) addr:0x020e4620
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4760Ev kind:function(arm,size=0x14) addr:0x020e4760
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4774Ev kind:function(arm,size=0x14) addr:0x020e4774
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4788Ev kind:function(arm,size=0xa0) addr:0x020e4788
|
||||
_ZN12ActorUnkITBMD0Ev kind:function(arm,size=0xa8) addr:0x020e4828
|
||||
_ZN12ActorUnkITBM19func_ov031_020e48d0Ev kind:function(arm,size=0xc4) addr:0x020e48d0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4994Ev kind:function(arm,size=0x1c) addr:0x020e4994
|
||||
_ZN12ActorUnkITBM19func_ov031_020e49b0Ev kind:function(arm,size=0x70) addr:0x020e49b0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4a20Ev kind:function(arm,size=0x614) addr:0x020e4a20
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5034Ev kind:function(arm,size=0x1ec) addr:0x020e5034
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5220Ev kind:function(arm,size=0x80) addr:0x020e5220
|
||||
_ZN12ActorUnkITBM19func_ov031_020e52a0Ev kind:function(arm,size=0xb4) addr:0x020e52a0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5354Ev kind:function(arm,size=0x74) addr:0x020e5354
|
||||
_ZN12ActorUnkITBM19func_ov031_020e53c8Ev kind:function(arm,size=0x1c) addr:0x020e53c8
|
||||
_ZN12ActorUnkITBM19func_ov031_020e53e4Ev kind:function(arm,size=0x1c) addr:0x020e53e4
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5400Ev kind:function(arm,size=0x4c) addr:0x020e5400
|
||||
_ZN12ActorUnkITBM19func_ov031_020e544cEv kind:function(arm,size=0x28) addr:0x020e544c
|
||||
_ZN12ActorUnkITBMD1Ev kind:function(arm,size=0x14) addr:0x020e5474
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5488Ev kind:function(arm,size=0x1c) addr:0x020e5488
|
||||
_ZN12ActorUnkITBM19func_ov031_020e54a4Ev kind:function(arm,size=0x30) addr:0x020e54a4
|
||||
_ZN12ActorUnkITBM19func_ov031_020e54d4Ev kind:function(arm,size=0x230) addr:0x020e54d4
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e5704
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5710Ev kind:function(arm,size=0x1c) addr:0x020e5710
|
||||
_ZN12ActorUnkITBM19func_ov031_020e572cEv kind:function(arm,size=0x1c) addr:0x020e572c
|
||||
_ZN19ActorProfileUnkITBMD1Ev kind:function(arm,size=0x14) addr:0x020e5748
|
||||
_ZN25ActorProfileItemBoomerang10GetProfileEv kind:function(arm,size=0xc) addr:0x020e45a4
|
||||
_ZN25ActorProfileItemBoomerang6CreateEv kind:function(arm,size=0x24) addr:0x020e45b0
|
||||
_ZN25ActorProfileItemBoomerangC1Ev kind:function(arm,size=0x28) addr:0x020e45d4
|
||||
_ZN26ActorItemBoomerang_Unknown19func_ov031_020e45fcEv kind:function(arm,size=0x24) addr:0x020e45fc
|
||||
_ZN18ActorItemBoomerangC1Ev kind:function(arm,size=0x140) addr:0x020e4620
|
||||
_ZN21ActorItemBoomerang_A0D1Ev kind:function(arm,size=0x14) addr:0x020e4760
|
||||
_ZN21ActorItemBoomerang_CCD1Ev kind:function(arm,size=0x14) addr:0x020e4774
|
||||
_ZN18ActorItemBoomerangD1Ev kind:function(arm,size=0xa0) addr:0x020e4788
|
||||
_ZN18ActorItemBoomerangD0Ev kind:function(arm,size=0xa8) addr:0x020e4828
|
||||
_ZN18ActorItemBoomerang8vfunc_18Ei kind:function(arm,size=0xc4) addr:0x020e48d0
|
||||
_ZN18ActorItemBoomerang8SetStateEs kind:function(arm,size=0x1c) addr:0x020e4994
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e49b0Ei kind:function(arm,size=0x70) addr:0x020e49b0
|
||||
_ZN18ActorItemBoomerang8vfunc_20Ev kind:function(arm,size=0x614) addr:0x020e4a20
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e5034Ei kind:function(arm,size=0x1ec) addr:0x020e5034
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e5220Ev kind:function(arm,size=0x80) addr:0x020e5220
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e52a0Ev kind:function(arm,size=0xb4) addr:0x020e52a0
|
||||
_ZN18ActorItemBoomerang8vfunc_2CEi kind:function(arm,size=0x74) addr:0x020e5354
|
||||
_ZN21ActorItemBoomerang_A08vfunc_10EP5Actor kind:function(arm,size=0x1c) addr:0x020e53c8
|
||||
_ZN21ActorItemBoomerang_CC8vfunc_10EP5Actor kind:function(arm,size=0x1c) addr:0x020e53e4
|
||||
_ZN21ActorItemBoomerang_CC8vfunc_0CEP5ActorP7VecFx32 kind:function(arm,size=0x4c) addr:0x020e5400
|
||||
_ZN22ActorItemBoomerang_11CC1EP18ActorItemBoomerang kind:function(arm,size=0x28) addr:0x020e544c
|
||||
_ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e5474
|
||||
_ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e5488
|
||||
_ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x30) addr:0x020e54a4
|
||||
_ZN22ActorItemBoomerang_11C8vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x230) addr:0x020e54d4
|
||||
_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e5704
|
||||
_ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e5710
|
||||
_ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e572c
|
||||
_ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e5748
|
||||
func_ov031_020e575c kind:function(arm,size=0x28) addr:0x020e575c
|
||||
func_ov031_020e5784 kind:function(arm,size=0x114) addr:0x020e5784
|
||||
func_ov031_020e5898 kind:function(arm,size=0x30) addr:0x020e5898
|
||||
@@ -924,7 +924,7 @@ _ZN18ActorShotArrow_178D1Ev kind:function(arm,size=0x1c) addr:0x020f32c4
|
||||
_ZN18ActorShotArrow_178D0Ev kind:function(arm,size=0x24) addr:0x020f32e0
|
||||
_ZN18ActorShotArrow_17819func_ov031_020f3304Ev kind:function(arm,size=0xc) addr:0x020f3304
|
||||
_ZN18ActorShotArrow_1788vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0xac) addr:0x020f3310
|
||||
_ZN18ActorShotArrow_1788vfunc_0CEv kind:function(arm,size=0x350) addr:0x020f33bc
|
||||
_ZN18ActorShotArrow_1788vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x350) addr:0x020f33bc
|
||||
_ZN18ActorShotArrow_194C1EP14ActorShotArrow kind:function(arm,size=0x40) addr:0x020f370c
|
||||
_ZN18ActorShotArrow_19419func_ov031_020f374cEP5Actor kind:function(arm,size=0x164) addr:0x020f374c
|
||||
_ZN18ActorShotArrow_1948vfunc_10EP5Actor kind:function(arm,size=0x388) addr:0x020f38b0
|
||||
@@ -2073,7 +2073,7 @@ __sinit_ov031_02110fe8 kind:function(arm,size=0x10) addr:0x02110fe8
|
||||
__sinit_ActorUnkBOMB.cpp kind:function(arm,size=0x50) addr:0x02110ff8
|
||||
__sinit_ActorUnkBLST.cpp kind:function(arm,size=0x50) addr:0x02111048
|
||||
__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02111098
|
||||
__sinit_ActorUnkITBM.cpp kind:function(arm,size=0x50) addr:0x021110e8
|
||||
__sinit_ActorItemBoomerang.cpp kind:function(arm,size=0x50) addr:0x021110e8
|
||||
__sinit_ActorUnkITTD.cpp kind:function(arm,size=0x74) addr:0x02111138
|
||||
__sinit_ActorUnkSWBM.cpp kind:function(arm,size=0x74) addr:0x021111ac
|
||||
__sinit_ActorUnkROCK.cpp kind:function(arm,size=0x50) addr:0x02111220
|
||||
@@ -2137,7 +2137,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
|
||||
.p__sinit_ActorUnkBOMB.cpp kind:data(word) addr:0x0211279c
|
||||
.p__sinit_ActorUnkBLST.cpp kind:data(word) addr:0x021127a0
|
||||
.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x021127a4
|
||||
.p__sinit_ActorUnkITBM.cpp kind:data(word) addr:0x021127a8
|
||||
.p__sinit_ActorItemBoomerang.cpp kind:data(word) addr:0x021127a8
|
||||
.p__sinit_ActorUnkITTD.cpp kind:data(word) addr:0x021127ac
|
||||
.p__sinit_ActorUnkSWBM.cpp kind:data(word) addr:0x021127b0
|
||||
.p__sinit_ActorUnkROCK.cpp kind:data(word) addr:0x021127b4
|
||||
@@ -2256,13 +2256,13 @@ _ZTV19data_ov031_02112d84 kind:data(any) addr:0x02112d84
|
||||
_ZTV19data_ov031_02112de0 kind:data(any) addr:0x02112de0
|
||||
_ZTV19data_ov031_02112e4c kind:data(any) addr:0x02112e4c
|
||||
_ZTV19data_ov031_02112e70 kind:data(any) addr:0x02112e70
|
||||
data_ov031_02112eec kind:data(any) addr:0x02112eec
|
||||
data_ov031_02112f04 kind:data(any) addr:0x02112f04
|
||||
data_ov031_02112f20 kind:data(any) addr:0x02112f20
|
||||
data_ov031_02112f3c kind:data(any) addr:0x02112f3c
|
||||
_ZTV19data_ov031_02112f50 kind:data(any) addr:0x02112f50
|
||||
_ZTV19data_ov031_02112f74 kind:data(any) addr:0x02112f74
|
||||
data_ov031_02112fd8 kind:data(any) addr:0x02112fd8
|
||||
_ZTV19data_ov031_02112eec kind:data(any) addr:0x02112ee4
|
||||
_ZTV21ActorItemBoomerang_A0 kind:data(any) addr:0x02112efc
|
||||
_ZTV22ActorItemBoomerang_11C kind:data(any) addr:0x02112f18
|
||||
_ZTV21ActorItemBoomerang_CC kind:data(any) addr:0x02112f34
|
||||
_ZTV25ActorProfileItemBoomerang kind:data(any) addr:0x02112f50
|
||||
_ZTV18ActorItemBoomerang kind:data(any) addr:0x02112f74
|
||||
_ZTV19data_ov031_02112fd8 kind:data(any) addr:0x02112fd0
|
||||
data_ov031_02112fdc kind:data(any) addr:0x02112fdc
|
||||
data_ov031_02112ff4 kind:data(any) addr:0x02112ff4
|
||||
_ZTV19data_ov031_02113008 kind:data(any) addr:0x02113008
|
||||
@@ -2529,9 +2529,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkBLSTE8sProfileE kind:bss addr:0x02116460
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211649c
|
||||
@10787 kind:bss addr:0x021164a0
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x021164ac
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkITBME8sProfileE kind:bss addr:0x021164e8
|
||||
_ZGVN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x021164e8
|
||||
@10793 kind:bss addr:0x021164ec
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkITBME8sProfileE kind:bss addr:0x021164f8
|
||||
_ZN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x021164f8
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkITTDE8sProfileE kind:bss addr:0x02116534
|
||||
@10799 kind:bss addr:0x02116538
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkITTDE8sProfileE kind:bss addr:0x02116544
|
||||
|
||||
@@ -128,7 +128,7 @@ func_01ffc520 kind:function(arm,size=0x5c) addr:0x01ffc520
|
||||
_ZN11ModelRender8vfunc_0CEv kind:function(arm,size=0x24) addr:0x01ffc57c
|
||||
func_01ffc5a0 kind:function(arm,size=0x94) addr:0x01ffc5a0
|
||||
func_01ffc634 kind:function(arm,size=0xa0) addr:0x01ffc634
|
||||
func_01ffc6d4 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
_ZN19UnkSystem6_Derived213func_01ffc6d4EtP7VecFx32 kind:function(arm,size=0x70) addr:0x01ffc6d4
|
||||
func_01ffc744 kind:function(arm,size=0x24) addr:0x01ffc744
|
||||
func_01ffc768 kind:function(arm,size=0x3c) addr:0x01ffc768
|
||||
_ZN20ModelRender_Derived18vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0xb4) addr:0x01ffc7a4
|
||||
|
||||
@@ -1379,10 +1379,10 @@ _ZN19func_ov000_0207cce0D1Ev kind:function(arm,size=0x14) addr:0x0207cce0
|
||||
_ZN19func_ov000_0207ccf4D0Ev kind:function(arm,size=0x1c) addr:0x0207ccf4
|
||||
_ZN19func_ov000_0207cd10D1Ev kind:function(arm,size=0x30) addr:0x0207cd10
|
||||
_ZN19func_ov000_0207cd40D0Ev kind:function(arm,size=0x38) addr:0x0207cd40
|
||||
_ZN23ActorShotArrow_194_BaseD2Ev kind:function(arm,size=0x30) addr:0x0207cd78
|
||||
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207cd78
|
||||
func_ov000_0207cda8 kind:function(arm,size=0x1c) addr:0x0207cda8
|
||||
func_ov000_0207cdc4 kind:function(arm,size=0x10) addr:0x0207cdc4
|
||||
_ZN23ActorShotArrow_194_Base8vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207cdd4
|
||||
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207cdd4
|
||||
func_ov000_0207ce0c kind:function(arm,size=0x80) addr:0x0207ce0c
|
||||
func_ov000_0207ce8c kind:function(arm,size=0x40) addr:0x0207ce8c
|
||||
func_ov000_0207cecc kind:function(arm,size=0x80) addr:0x0207cecc
|
||||
@@ -1410,9 +1410,9 @@ func_ov000_0207d3b4 kind:function(arm,size=0x88) addr:0x0207d3b4
|
||||
func_ov000_0207d43c kind:function(arm,size=0x260) addr:0x0207d43c
|
||||
func_ov000_0207d69c kind:function(arm,size=0x4) addr:0x0207d69c
|
||||
_ZN19func_ov000_0207d6a0D0Ev kind:function(arm,size=0x14) addr:0x0207d6a0
|
||||
_ZN23ActorShotArrow_178_BaseD2Ev kind:function(arm,size=0x4) addr:0x0207d6b4
|
||||
_ZN24UnkStruct_ov031_Items_00D2Ev kind:function(arm,size=0x4) addr:0x0207d6b4
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_08Ev kind:function(arm,size=0x8) addr:0x0207d6b8
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_0CEv kind:function(arm,size=0x8) addr:0x0207d6c0
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x8) addr:0x0207d6c0
|
||||
_ZN26UnkStruct_027e0ce0_38_Base8vfunc_10Ev kind:function(arm,size=0x8) addr:0x0207d6c8
|
||||
_ZN17MapObject_10_BaseC2Ev kind:function(arm,size=0x30) addr:0x0207d6d0
|
||||
func_ov000_0207d700 kind:function(arm,size=0x30) addr:0x0207d700
|
||||
@@ -1472,7 +1472,7 @@ func_ov000_0207fa64 kind:function(arm,size=0xac) addr:0x0207fa64
|
||||
func_ov000_0207fb10 kind:function(arm,size=0x84) addr:0x0207fb10
|
||||
func_ov000_0207fb94 kind:function(arm,size=0x84) addr:0x0207fb94
|
||||
func_ov000_0207fc18 kind:function(arm,size=0x2c) addr:0x0207fc18
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e58cE8ActorRefihP18ActorShotArrow_194 kind:function(arm,size=0xa4) addr:0x0207fc44
|
||||
_ZN18UnkStruct_027e09c019func_ov000_0207e58cE8ActorRefihP24UnkStruct_ov031_Items_01 kind:function(arm,size=0xa4) addr:0x0207fc44
|
||||
func_ov000_0207fce8 kind:function(arm,size=0x38) addr:0x0207fce8
|
||||
func_ov000_0207fd20 kind:function(arm,size=0x50) addr:0x0207fd20
|
||||
func_ov000_0207fd70 kind:function(arm,size=0x14) addr:0x0207fd70
|
||||
@@ -2303,7 +2303,7 @@ func_ov000_02099888 kind:function(arm,size=0x80) addr:0x02099888
|
||||
func_ov000_02099908 kind:function(arm,size=0x80) addr:0x02099908
|
||||
func_ov000_02099988 kind:function(arm,size=0x64) addr:0x02099988
|
||||
func_ov000_020999ec kind:function(arm,size=0x64) addr:0x020999ec
|
||||
_ZN23ActorShotArrow_178_BaseC2Ev kind:function(arm,size=0x18) addr:0x02099a50
|
||||
_ZN24UnkStruct_ov031_Items_00C2Ev kind:function(arm,size=0x18) addr:0x02099a50
|
||||
func_ov000_02099a68 kind:function(arm,size=0x18) addr:0x02099a68
|
||||
func_ov000_02099a80 kind:function(arm,size=0x80) addr:0x02099a80
|
||||
_ZN19func_ov000_02099b00D1Ev kind:function(arm,size=0x14) addr:0x02099b00
|
||||
@@ -2553,7 +2553,7 @@ _ZN9MapObject19func_ov000_0209d0bcEP8Vec2bCppPS_ kind:function(arm,size=0x58) ad
|
||||
_ZN9MapObject19func_ov000_0209d114Ev kind:function(arm,size=0x18) addr:0x0209e8d8
|
||||
_ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209e8f0
|
||||
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209e908
|
||||
_ZN9MapObject8vfunc_1CEv kind:function(arm,size=0x8) addr:0x0209e990
|
||||
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209e990
|
||||
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209e998
|
||||
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209e99c
|
||||
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209e9a8
|
||||
|
||||
@@ -26,7 +26,7 @@ src/031_Land/Actor/ActorUnkTLKT.cpp:
|
||||
.ctor start:0x02114530 end:0x02114534
|
||||
.bss start:0x0211823c end:0x02118288
|
||||
|
||||
src/031_Land/Actor/ActorUnkITBM.cpp:
|
||||
src/031_Land/Actor/ActorItemBoomerang.cpp:
|
||||
.text start:0x020e5f90 end:0x020e7148
|
||||
.init start:0x02112e58 end:0x02112ea8
|
||||
.ctor start:0x02114534 end:0x02114538
|
||||
|
||||
@@ -420,35 +420,35 @@ _ZN12ActorUnkTLKT19func_ov031_020e4514Ev kind:function(arm,size=0x5c) addr:0x020
|
||||
_ZN19ActorProfileUnkTLKTD1Ev kind:function(arm,size=0x14) addr:0x020e5f5c
|
||||
func_ov031_020e5f70 kind:function(arm,size=0x10) addr:0x020e5f70
|
||||
func_ov031_020e5f80 kind:function(arm,size=0x10) addr:0x020e5f80
|
||||
_ZN19ActorProfileUnkITBM10GetProfileEv kind:function(arm,size=0xc) addr:0x020e5f90
|
||||
_ZN19ActorProfileUnkITBM6CreateEv kind:function(arm,size=0x24) addr:0x020e5f9c
|
||||
_ZN19ActorProfileUnkITBMC1Ev kind:function(arm,size=0x28) addr:0x020e5fc0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e45fcEv kind:function(arm,size=0x24) addr:0x020e5fe8
|
||||
_ZN12ActorUnkITBMC1Ev kind:function(arm,size=0x140) addr:0x020e600c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4760Ev kind:function(arm,size=0x14) addr:0x020e614c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4774Ev kind:function(arm,size=0x14) addr:0x020e6160
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4788Ev kind:function(arm,size=0xa0) addr:0x020e6174
|
||||
_ZN12ActorUnkITBMD0Ev kind:function(arm,size=0xa8) addr:0x020e6214
|
||||
_ZN12ActorUnkITBM19func_ov031_020e48d0Ev kind:function(arm,size=0xc4) addr:0x020e62bc
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4994Ev kind:function(arm,size=0x1c) addr:0x020e6380
|
||||
_ZN12ActorUnkITBM19func_ov031_020e49b0Ev kind:function(arm,size=0x70) addr:0x020e639c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e4a20Ev kind:function(arm,size=0x614) addr:0x020e640c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5034Ev kind:function(arm,size=0x1ec) addr:0x020e6a20
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5220Ev kind:function(arm,size=0x80) addr:0x020e6c0c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e52a0Ev kind:function(arm,size=0xb4) addr:0x020e6c8c
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5354Ev kind:function(arm,size=0x74) addr:0x020e6d40
|
||||
_ZN12ActorUnkITBM19func_ov031_020e53c8Ev kind:function(arm,size=0x1c) addr:0x020e6db4
|
||||
_ZN12ActorUnkITBM19func_ov031_020e53e4Ev kind:function(arm,size=0x1c) addr:0x020e6dd0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5400Ev kind:function(arm,size=0x4c) addr:0x020e6dec
|
||||
_ZN12ActorUnkITBM19func_ov031_020e544cEv kind:function(arm,size=0x28) addr:0x020e6e38
|
||||
_ZN12ActorUnkITBMD1Ev kind:function(arm,size=0x14) addr:0x020e6e60
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5488Ev kind:function(arm,size=0x1c) addr:0x020e6e74
|
||||
_ZN12ActorUnkITBM19func_ov031_020e54a4Ev kind:function(arm,size=0x30) addr:0x020e6e90
|
||||
_ZN12ActorUnkITBM19func_ov031_020e54d4Ev kind:function(arm,size=0x230) addr:0x020e6ec0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e70f0
|
||||
_ZN12ActorUnkITBM19func_ov031_020e5710Ev kind:function(arm,size=0x1c) addr:0x020e70fc
|
||||
_ZN12ActorUnkITBM19func_ov031_020e572cEv kind:function(arm,size=0x1c) addr:0x020e7118
|
||||
_ZN19ActorProfileUnkITBMD1Ev kind:function(arm,size=0x14) addr:0x020e7134
|
||||
_ZN25ActorProfileItemBoomerang10GetProfileEv kind:function(arm,size=0xc) addr:0x020e5f90
|
||||
_ZN25ActorProfileItemBoomerang6CreateEv kind:function(arm,size=0x24) addr:0x020e5f9c
|
||||
_ZN25ActorProfileItemBoomerangC1Ev kind:function(arm,size=0x28) addr:0x020e5fc0
|
||||
_ZN26ActorItemBoomerang_Unknown19func_ov031_020e45fcEv kind:function(arm,size=0x24) addr:0x020e5fe8
|
||||
_ZN18ActorItemBoomerangC1Ev kind:function(arm,size=0x140) addr:0x020e600c
|
||||
_ZN21ActorItemBoomerang_A0D1Ev kind:function(arm,size=0x14) addr:0x020e614c
|
||||
_ZN21ActorItemBoomerang_CCD1Ev kind:function(arm,size=0x14) addr:0x020e6160
|
||||
_ZN18ActorItemBoomerangD1Ev kind:function(arm,size=0xa0) addr:0x020e6174
|
||||
_ZN18ActorItemBoomerangD0Ev kind:function(arm,size=0xa8) addr:0x020e6214
|
||||
_ZN18ActorItemBoomerang8vfunc_18Ei kind:function(arm,size=0xc4) addr:0x020e62bc
|
||||
_ZN18ActorItemBoomerang8SetStateEs kind:function(arm,size=0x1c) addr:0x020e6380
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e49b0Ei kind:function(arm,size=0x70) addr:0x020e639c
|
||||
_ZN18ActorItemBoomerang8vfunc_20Ev kind:function(arm,size=0x614) addr:0x020e640c
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e5034Ei kind:function(arm,size=0x1ec) addr:0x020e6a20
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e5220Ev kind:function(arm,size=0x80) addr:0x020e6c0c
|
||||
_ZN18ActorItemBoomerang19func_ov031_020e52a0Ev kind:function(arm,size=0xb4) addr:0x020e6c8c
|
||||
_ZN18ActorItemBoomerang8vfunc_2CEi kind:function(arm,size=0x74) addr:0x020e6d40
|
||||
_ZN21ActorItemBoomerang_A08vfunc_10EP5Actor kind:function(arm,size=0x1c) addr:0x020e6db4
|
||||
_ZN21ActorItemBoomerang_CC8vfunc_10EP5Actor kind:function(arm,size=0x1c) addr:0x020e6dd0
|
||||
_ZN21ActorItemBoomerang_CC8vfunc_0CEP5ActorP7VecFx32 kind:function(arm,size=0x4c) addr:0x020e6dec
|
||||
_ZN22ActorItemBoomerang_11CC1EP18ActorItemBoomerang kind:function(arm,size=0x28) addr:0x020e6e38
|
||||
_ZN22ActorItemBoomerang_11CD1Ev kind:function(arm,size=0x14) addr:0x020e6e60
|
||||
_ZN22ActorItemBoomerang_11CD0Ev kind:function(arm,size=0x1c) addr:0x020e6e74
|
||||
_ZN22ActorItemBoomerang_11C8vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x30) addr:0x020e6e90
|
||||
_ZN22ActorItemBoomerang_11C8vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x230) addr:0x020e6ec0
|
||||
_ZN26ActorItemBoomerang_Unknown19func_ov031_020e5704Ev kind:function(arm,size=0xc) addr:0x020e70f0
|
||||
_ZN21ActorItemBoomerang_A0D0Ev kind:function(arm,size=0x1c) addr:0x020e70fc
|
||||
_ZN21ActorItemBoomerang_CCD0Ev kind:function(arm,size=0x1c) addr:0x020e7118
|
||||
_ZN25ActorProfileItemBoomerangD1Ev kind:function(arm,size=0x14) addr:0x020e7134
|
||||
func_ov031_020e7148 kind:function(arm,size=0x28) addr:0x020e7148
|
||||
func_ov031_020e7170 kind:function(arm,size=0x114) addr:0x020e7170
|
||||
func_ov031_020e7284 kind:function(arm,size=0x30) addr:0x020e7284
|
||||
@@ -924,7 +924,7 @@ _ZN18ActorShotArrow_178D1Ev kind:function(arm,size=0x1c) addr:0x020f4cc0
|
||||
_ZN18ActorShotArrow_178D0Ev kind:function(arm,size=0x24) addr:0x020f4cdc
|
||||
_ZN18ActorShotArrow_17819func_ov031_020f3304Ev kind:function(arm,size=0xc) addr:0x020f4d00
|
||||
_ZN18ActorShotArrow_1788vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0xac) addr:0x020f4d0c
|
||||
_ZN18ActorShotArrow_1788vfunc_0CEv kind:function(arm,size=0x3f8) addr:0x020f4db8
|
||||
_ZN18ActorShotArrow_1788vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x3f8) addr:0x020f4db8
|
||||
_ZN18ActorShotArrow_194C1EP14ActorShotArrow kind:function(arm,size=0x40) addr:0x020f51b0
|
||||
_ZN18ActorShotArrow_19419func_ov031_020f374cEP5Actor kind:function(arm,size=0x164) addr:0x020f51f0
|
||||
_ZN18ActorShotArrow_1948vfunc_10EP5Actor kind:function(arm,size=0x388) addr:0x020f5354
|
||||
@@ -2070,7 +2070,7 @@ __sinit_ov031_02112d58 kind:function(arm,size=0x10) addr:0x02112d58
|
||||
__sinit_ActorUnkBOMB.cpp kind:function(arm,size=0x50) addr:0x02112d68
|
||||
__sinit_ActorUnkBLST.cpp kind:function(arm,size=0x50) addr:0x02112db8
|
||||
__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02112e08
|
||||
__sinit_ActorUnkITBM.cpp kind:function(arm,size=0x50) addr:0x02112e58
|
||||
__sinit_ActorItemBoomerang.cpp kind:function(arm,size=0x50) addr:0x02112e58
|
||||
__sinit_ActorUnkITTD.cpp kind:function(arm,size=0x74) addr:0x02112ea8
|
||||
__sinit_ActorUnkSWBM.cpp kind:function(arm,size=0x74) addr:0x02112f1c
|
||||
__sinit_ActorUnkROCK.cpp kind:function(arm,size=0x50) addr:0x02112f90
|
||||
@@ -2134,7 +2134,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
|
||||
.p__sinit_ActorUnkBOMB.cpp kind:data(word) addr:0x02114528
|
||||
.p__sinit_ActorUnkBLST.cpp kind:data(word) addr:0x0211452c
|
||||
.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x02114530
|
||||
.p__sinit_ActorUnkITBM.cpp kind:data(word) addr:0x02114534
|
||||
.p__sinit_ActorItemBoomerang.cpp kind:data(word) addr:0x02114534
|
||||
.p__sinit_ActorUnkITTD.cpp kind:data(word) addr:0x02114538
|
||||
.p__sinit_ActorUnkSWBM.cpp kind:data(word) addr:0x0211453c
|
||||
.p__sinit_ActorUnkROCK.cpp kind:data(word) addr:0x02114540
|
||||
@@ -2525,9 +2525,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkBLSTE8sProfileE kind:bss addr:0x02118200
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211823c
|
||||
@30787 kind:bss addr:0x02118240
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211824c
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkITBME8sProfileE kind:bss addr:0x02118288
|
||||
_ZGVN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x02118288
|
||||
@30793 kind:bss addr:0x0211828c
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkITBME8sProfileE kind:bss addr:0x02118298
|
||||
_ZN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x02118298
|
||||
_ZGVN15ProfileInstanceI19ActorProfileUnkITTDE8sProfileE kind:bss addr:0x021182d4
|
||||
@30799 kind:bss addr:0x021182d8
|
||||
_ZN15ProfileInstanceI19ActorProfileUnkITTDE8sProfileE kind:bss addr:0x021182e4
|
||||
|
||||
@@ -172,7 +172,7 @@ public:
|
||||
/* 4C */ virtual ~Actor();
|
||||
/* 54 */
|
||||
|
||||
unk32 func_01fff5d0(unk32 param1, unk32 param2);
|
||||
bool func_01fff5d0(unk32 param1, unk32 param2);
|
||||
|
||||
void ResetFlags() {
|
||||
*(u32 *) this->mFlags = 0;
|
||||
@@ -201,6 +201,7 @@ public:
|
||||
|
||||
// overlay 0
|
||||
bool func_ov000_0205cbc4(u32 param1, VecFx32 *param2);
|
||||
unk32 func_ov000_0207df88(Cylinder *param1, unk32 param2);
|
||||
unk32 func_ov000_0207e294(Cylinder *param1);
|
||||
void func_ov000_0209848c(ActorProfile *param1);
|
||||
void func_ov000_020984b0();
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_ov031_Items.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
enum ActorItemBoomerangState_ {
|
||||
ActorItemBoomerangState_0,
|
||||
ActorItemBoomerangState_1,
|
||||
ActorItemBoomerangState_MAX
|
||||
};
|
||||
|
||||
class ActorItemBoomerang;
|
||||
|
||||
class ActorItemBoomerang_Unknown { // inherits from UnkStruct_PlayerGet_ec ?
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ VecFx32 mUnk_04;
|
||||
/* 10 */
|
||||
|
||||
void func_ov031_020e45fc();
|
||||
void func_ov031_020e5704();
|
||||
};
|
||||
|
||||
class ActorItemBoomerang_11C : public UnkStruct_ov031_Items_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x08);
|
||||
/* 08 */ ActorItemBoomerang *mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
ActorItemBoomerang_11C(ActorItemBoomerang *param1);
|
||||
|
||||
/* 00 */ virtual ~ActorItemBoomerang_11C() override;
|
||||
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
|
||||
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) override;
|
||||
};
|
||||
|
||||
class ActorItemBoomerang_A0 : public UnkStruct_ov031_Items_01 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
/* 10 */ virtual void vfunc_10(Actor *actor) override;
|
||||
};
|
||||
|
||||
class ActorItemBoomerang_CC : public UnkStruct_ov031_Items_01 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ ActorItemBoomerang_Unknown mUnk_30;
|
||||
/* 40 */
|
||||
|
||||
ActorItemBoomerang_CC() :
|
||||
mUnk_2C(0x0) {}
|
||||
|
||||
/* 0C */ virtual bool vfunc_0C(Actor *actor, VecFx32 *param2) override;
|
||||
/* 10 */ virtual void vfunc_10(Actor *actor) override;
|
||||
};
|
||||
|
||||
class ActorItemBoomerang : public Actor {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 094 */ UnkSystem6_Derived2 mUnk_94;
|
||||
/* 09C */ bool mUnk_9C;
|
||||
/* 09D */ STRUCT_PAD(0x9D, 0xA0);
|
||||
/* 0A0 */ ActorItemBoomerang_A0 mUnk_A0;
|
||||
/* 0CC */ ActorItemBoomerang_CC mUnk_CC;
|
||||
/* 10C */ VecFx32 mUnk_10C;
|
||||
/* 118 */ unk32 mUnk_118;
|
||||
/* 11C */ ActorItemBoomerang_11C mUnk_11C;
|
||||
/* 128 */ u32 mUnk_128;
|
||||
/* 12C */ UnkStruct_PlayerGet_ec mUnk_12C[0x3];
|
||||
/* 138 */ u16 mUnk_138; // timer ?
|
||||
/* 13A */ u16 mUnk_13A;
|
||||
/* 13C */ u16 mUnk_13C;
|
||||
/* 13E */ STRUCT_PAD(0x13E, 0x140);
|
||||
/* 140 */ UnkStruct_ov031_Items_02 mUnk_140;
|
||||
/* 14C */ STRUCT_PAD(0x14C, 0x188);
|
||||
/* 188 */
|
||||
|
||||
ActorItemBoomerang();
|
||||
|
||||
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
||||
/* 4C */ virtual ~ActorItemBoomerang() override;
|
||||
|
||||
void SetState(ActorState state);
|
||||
void func_ov031_020e49b0(unk32 param1);
|
||||
void func_ov031_020e5034(unk32 param1);
|
||||
void func_ov031_020e5220();
|
||||
void func_ov031_020e52a0();
|
||||
};
|
||||
|
||||
class ActorProfileItemBoomerang : public ActorProfile {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
ActorProfileItemBoomerang();
|
||||
~ActorProfileItemBoomerang();
|
||||
|
||||
/* 0C */ virtual Actor *Create();
|
||||
|
||||
static ActorProfileItemBoomerang *GetProfile();
|
||||
};
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||
#include "Unknown/UnkStruct_ov031_Items.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
@@ -35,19 +36,7 @@ public:
|
||||
ActorShotArrow_140(Actor *param1);
|
||||
};
|
||||
|
||||
class ActorShotArrow_178_Base : public UnkStruct_027e0ce0_38_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
ActorShotArrow_178_Base();
|
||||
|
||||
// data_ov000_020b30d0
|
||||
/* 00 */ virtual ~ActorShotArrow_178_Base();
|
||||
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
|
||||
};
|
||||
|
||||
class ActorShotArrow_178 : public ActorShotArrow_178_Base {
|
||||
class ActorShotArrow_178 : public UnkStruct_ov031_Items_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x08);
|
||||
@@ -61,44 +50,12 @@ public:
|
||||
// data_ov031_02114288
|
||||
/* 00 */ virtual ~ActorShotArrow_178() override;
|
||||
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
|
||||
/* 0C */ virtual bool vfunc_0C() override;
|
||||
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) override;
|
||||
|
||||
void func_ov031_020f3304();
|
||||
};
|
||||
|
||||
class ActorShotArrow_194_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ ActorRef mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 08 */ unk16 mUnk_0A;
|
||||
/* 0C */ VecFx32 mUnk_0C;
|
||||
/* 18 */ fx32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */
|
||||
|
||||
ActorShotArrow_194_Base() {
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
VecFx32_Init(0, 0, 0, &this->mUnk_0C);
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1C = 0;
|
||||
this->mUnk_20 = 0;
|
||||
this->mUnk_24 = 0;
|
||||
this->mUnk_28 = 0;
|
||||
}
|
||||
|
||||
// data_ov000_020b27c8
|
||||
/* 00 */ virtual ~ActorShotArrow_194_Base();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual bool vfunc_0C(Actor *param1, VecFx32 *vector);
|
||||
/* 10 */ virtual void vfunc_10(Actor *actor);
|
||||
};
|
||||
|
||||
class ActorShotArrow_194 : public ActorShotArrow_194_Base {
|
||||
class ActorShotArrow_194 : public UnkStruct_ov031_Items_01 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 2C */ ActorShotArrow *mUnk_2C;
|
||||
@@ -138,15 +95,6 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class ActorShotArrow_1DC {
|
||||
public:
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */
|
||||
|
||||
ActorShotArrow_1DC(unk32 param1, unk32 param2);
|
||||
~ActorShotArrow_1DC();
|
||||
};
|
||||
|
||||
class ActorShotArrow : public Actor {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
@@ -167,7 +115,7 @@ public:
|
||||
/* 178 */ ActorShotArrow_178 mUnk_178;
|
||||
/* 194 */ ActorShotArrow_194 mUnk_194;
|
||||
/* 1C8 */ ActorShotArrow_1C8 mUnk_1C8;
|
||||
/* 1DC */ ActorShotArrow_1DC mUnk_1DC;
|
||||
/* 1DC */ UnkStruct_ov031_Items_02 mUnk_1DC;
|
||||
/* 1E0 */ STRUCT_PAD(0x1E8, 0x224);
|
||||
/* 224 */ Mat4x3p *mUnk_224;
|
||||
/* 228 */ Mat4x3p mUnk_228;
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorProfile.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class ActorUnkITBM_C4 : public Actor_C4 {
|
||||
public:
|
||||
ActorUnkITBM_C4(Actor *param1);
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
|
||||
/* 04 */ virtual void vfunc_04() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
|
||||
};
|
||||
|
||||
class ActorUnkITBM : public Actor {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
|
||||
ActorUnkITBM();
|
||||
|
||||
/* 4C */ virtual ~ActorUnkITBM() override;
|
||||
|
||||
void func_ov031_020e45fc(void);
|
||||
void func_ov031_020e4760(void);
|
||||
void func_ov031_020e4774(void);
|
||||
void func_ov031_020e4788(void);
|
||||
void func_ov031_020e48d0(void);
|
||||
void func_ov031_020e4994(void);
|
||||
void func_ov031_020e49b0(void);
|
||||
void func_ov031_020e4a20(void);
|
||||
void func_ov031_020e5034(void);
|
||||
void func_ov031_020e5220(void);
|
||||
void func_ov031_020e52a0(void);
|
||||
void func_ov031_020e5354(void);
|
||||
void func_ov031_020e53c8(void);
|
||||
void func_ov031_020e53e4(void);
|
||||
void func_ov031_020e5400(void);
|
||||
void func_ov031_020e544c(void);
|
||||
void func_ov031_020e5488(void);
|
||||
void func_ov031_020e54a4(void);
|
||||
void func_ov031_020e54d4(void);
|
||||
void func_ov031_020e5704(void);
|
||||
void func_ov031_020e5710(void);
|
||||
void func_ov031_020e572c(void);
|
||||
};
|
||||
|
||||
class ActorProfileUnkITBM : public ActorProfile {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
ActorProfileUnkITBM();
|
||||
~ActorProfileUnkITBM();
|
||||
|
||||
/* 0C */ virtual Actor *Create();
|
||||
|
||||
static ActorProfileUnkITBM *GetProfile();
|
||||
};
|
||||
@@ -139,7 +139,7 @@ public:
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2);
|
||||
/* 1C */ virtual bool vfunc_1C();
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3);
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual unk32 vfunc_28();
|
||||
|
||||
@@ -96,6 +96,8 @@ public:
|
||||
// data_ov000_020b1968
|
||||
/* 00 */ virtual ~UnkSystem6_Derived2() {}
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
|
||||
void func_01ffc6d4(u16 angle, VecFx32 *pos);
|
||||
};
|
||||
|
||||
class UnkSystem5 {
|
||||
|
||||
@@ -909,7 +909,11 @@ extern "C" void func_ov000_02072fd0(UnkStackStruct1 *);
|
||||
struct UnkSystem7_UnkStruct_00 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x24);
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ STRUCT_PAD(0x28, 0xA4);
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */ unk32 mUnk_2C;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ STRUCT_PAD(0x34, 0xA0);
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ unk16 mUnk_A4;
|
||||
|
||||
void func_ov000_02052c48(VecFx32 *param1, VecFx32 *param2);
|
||||
|
||||
@@ -17,7 +17,7 @@ public:
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0207da40();
|
||||
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, ActorShotArrow_194 *param4);
|
||||
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, UnkStruct_ov031_Items_01 *param4);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be394();
|
||||
|
||||
@@ -81,6 +81,12 @@ public:
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov031_020e54d4 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x08);
|
||||
/* 08 */ u32 mUnk_08;
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_38_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -89,7 +95,7 @@ public:
|
||||
// data_ov000_020b2838
|
||||
/* 00 */ virtual ~UnkStruct_027e0ce0_38_Base();
|
||||
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1);
|
||||
/* 0C */ virtual bool vfunc_0C();
|
||||
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2);
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */
|
||||
};
|
||||
@@ -439,10 +445,12 @@ public:
|
||||
void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, u16 param3);
|
||||
|
||||
void func_ov000_0208bbd4(unk32 param1, VecFx32 *param2, void *param3);
|
||||
void func_ov000_0208bc1c(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
bool func_ov000_0208bc1c(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
|
||||
void func_ov000_0208bc9c(unk32 param1, unk32 param2);
|
||||
void func_ov000_0208bd30(bool param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
|
||||
G3d_Model *func_ov000_0208ed30(unk32 param1, unk32 param2, char *param3);
|
||||
|
||||
static UnkStruct_027e0ce0_34 *func_ov000_0205c904();
|
||||
|
||||
// overlay 1
|
||||
|
||||
@@ -13,6 +13,8 @@ public:
|
||||
void func_ov000_0209ff24(unk32 param1, VecFx32 *param2, VecFx16 *param3, unk32 param4);
|
||||
void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, VecFx32 *param3, unk32 param4);
|
||||
void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5);
|
||||
void func_ov000_020a00d4(UnkStruct_PlayerGet_ec *param1, unk32 param2, unk32 param3, unk32 param4, VecFx32 *param5,
|
||||
unk32 param6);
|
||||
void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1);
|
||||
void func_ov000_020a0220(void *param1, void *param2);
|
||||
void func_ov001_020bf028();
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0d2c : public AutoInstance<UnkStruct_027e0d2c> {
|
||||
public:
|
||||
// overlay 31
|
||||
void func_ov031_020d95b4();
|
||||
void func_ov031_020d95c8(ActorRef param1);
|
||||
bool func_ov031_020d962c(VecFx32 *param1, unk32 param2, VecFx32 *param3, ActorRef *param4);
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0d2c *data_027e0d2c;
|
||||
@@ -0,0 +1,55 @@
|
||||
#pragma once
|
||||
#include "UnkStruct_027e0ce0.hpp"
|
||||
|
||||
class UnkStruct_ov031_Items_00 : public UnkStruct_027e0ce0_38_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
UnkStruct_ov031_Items_00();
|
||||
|
||||
// data_ov000_020b30d0
|
||||
/* 00 */ virtual ~UnkStruct_ov031_Items_00();
|
||||
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
|
||||
};
|
||||
|
||||
class UnkStruct_ov031_Items_01 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */ ActorRef mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 08 */ unk16 mUnk_0A;
|
||||
/* 0C */ VecFx32 mUnk_0C;
|
||||
/* 18 */ fx32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 2C */
|
||||
|
||||
UnkStruct_ov031_Items_01() {
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
VecFx32_Init(0, 0, 0, &this->mUnk_0C);
|
||||
this->mUnk_18 = 0;
|
||||
this->mUnk_1C = 0;
|
||||
this->mUnk_20 = 0;
|
||||
this->mUnk_24 = 0;
|
||||
this->mUnk_28 = 0;
|
||||
}
|
||||
|
||||
// data_ov000_020b27c8
|
||||
/* 00 */ virtual ~UnkStruct_ov031_Items_01();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual bool vfunc_0C(Actor *param1, VecFx32 *vector);
|
||||
/* 10 */ virtual void vfunc_10(Actor *actor);
|
||||
};
|
||||
|
||||
class UnkStruct_ov031_Items_02 {
|
||||
public:
|
||||
/* 00 */ VecFx32 mUnk_00;
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_ov031_Items_02(unk32 param1, unk32 param2);
|
||||
~UnkStruct_ov031_Items_02();
|
||||
};
|
||||
@@ -103,7 +103,7 @@ bool MapObject::func_ov000_0209d144(Vec2s *param1, unk32 param2, unk32 param3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool MapObject::vfunc_1C() {
|
||||
bool MapObject::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,437 @@
|
||||
#include "Actor/ActorItemBoomerang.hpp"
|
||||
|
||||
#include "MapObject/MapObjectUnkICEB.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a8.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b4.hpp"
|
||||
#include "Unknown/UnkStruct_027e09c0.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cec.hpp"
|
||||
#include "Unknown/UnkStruct_027e0d2c.hpp"
|
||||
|
||||
extern "C" void func_01ff916c(void *, int, int);
|
||||
extern "C" void func_01ff93c0(VecFx32 *, unk32);
|
||||
extern "C" void func_01ff97c8(VecFx32 *, int);
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, void *);
|
||||
extern "C" unk32 func_01ffb9cc(VecFx32 *, VecFx32 *);
|
||||
extern "C" void func_01ffe6c4(Actor **, ActorRef, VecFx32 *, VecFx32 *, s32, VecFx32 *, UnkStruct_ov031_Items_00 *);
|
||||
extern "C" void func_01ffedac(u16 *, VecFx32 *);
|
||||
extern "C" bool func_ov000_0205aeac();
|
||||
extern "C" bool func_ov000_020982d8();
|
||||
|
||||
DECL_PROFILE(ActorProfileItemBoomerang);
|
||||
|
||||
Actor *ActorProfileItemBoomerang::Create() {
|
||||
return new(HeapIndex_2) ActorItemBoomerang();
|
||||
}
|
||||
|
||||
ActorProfileItemBoomerang::ActorProfileItemBoomerang() :
|
||||
ActorProfile(ActorId_ITBM) {}
|
||||
|
||||
// non-matching
|
||||
ActorItemBoomerang::ActorItemBoomerang() :
|
||||
mUnk_94(data_027e0ce0->func_ov000_0208ed30(0x0, 0x1, ItemManager::func_ov000_020a8974(0x1)->mUnk_10)),
|
||||
mUnk_9C(true),
|
||||
mUnk_11C(this),
|
||||
mUnk_12C(),
|
||||
mUnk_138(0x0),
|
||||
mUnk_13A(0x0),
|
||||
mUnk_13C((u16) 0x8D71),
|
||||
mUnk_140(0x1000, 0x0) {
|
||||
this->mState = ActorItemBoomerangState_0;
|
||||
this->mUnk_52 = 0xFFFF;
|
||||
this->mUnk_50 = 0x0;
|
||||
}
|
||||
|
||||
bool ActorItemBoomerang::vfunc_18(unk32 param1) {
|
||||
this->mUnk_CC.mUnk_30.func_ov031_020e45fc();
|
||||
|
||||
this->mUnk_A0.mUnk_0C.x = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_A0.mUnk_0C.y = FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_A0.mUnk_0C.z = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_A0.mUnk_18 = FLOAT_TO_FX32(0.4f);
|
||||
|
||||
this->mUnk_10C.x = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_10C.y = FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_10C.z = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_118 = FLOAT_TO_FX32(0.0f);
|
||||
|
||||
this->func_ov031_020e5034(0x0);
|
||||
|
||||
unk16 sin = SIN((u16) this->mAngle);
|
||||
unk16 cos = COS((u16) this->mAngle);
|
||||
|
||||
this->mVel.x = MUL_FX32(sin, FLOAT_TO_FX32(0.5f));
|
||||
this->mVel.z = MUL_FX32(cos, FLOAT_TO_FX32(0.5f));
|
||||
this->mVel.y = FLOAT_TO_FX32(0.0f);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorItemBoomerang::SetState(ActorState state) {
|
||||
this->mState = state;
|
||||
this->mUnk_52 = 0xFFFF;
|
||||
this->mUnk_50 = 0;
|
||||
}
|
||||
|
||||
void ActorItemBoomerang::func_ov031_020e49b0(unk32 param1) {
|
||||
data_027e09a8->func_ov000_02071b30(param1, &this->mPos, 0);
|
||||
data_027e09a8->func_ov000_02071eac(&this->mPos);
|
||||
this->func_ov031_020e5220();
|
||||
|
||||
if (this->mState == ActorItemBoomerangState_1) {
|
||||
return;
|
||||
}
|
||||
this->mVel.x = FLOAT_TO_FX32(0.0f);
|
||||
this->mVel.y = FLOAT_TO_FX32(0.0f);
|
||||
this->mVel.z = FLOAT_TO_FX32(0.0f);
|
||||
|
||||
data_027e0d2c->func_ov031_020d95b4();
|
||||
this->SetState(ActorItemBoomerangState_1);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorItemBoomerang::vfunc_20() {
|
||||
VecFx32_Copy(&this->mPos, &this->mPrevPos);
|
||||
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
|
||||
|
||||
if (func_ov000_0205aeac() && this->mUnk_128 == 0x1 || this->mUnk_128 == 0x2) {
|
||||
VecFx32_Copy(&this->mPos, &this->mUnk_140.mUnk_00);
|
||||
}
|
||||
|
||||
this->IsTimerOut();
|
||||
this->mAngle += DEG_TO_ANG(45);
|
||||
this->func_ov031_020e52a0();
|
||||
data_027e09a8->func_ov000_02071d34(&this->mRef, this->mUnk_13C, &this->mPos, 0x0);
|
||||
|
||||
bool var2 = false;
|
||||
switch (this->mState) {
|
||||
case ActorItemBoomerangState_0:
|
||||
this->mUnk_A0.mUnk_0C.z = this->mPos.z;
|
||||
this->mUnk_A0.mUnk_0C.y = this->mPos.y + FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_A0.mUnk_0C.x = this->mPos.x;
|
||||
this->mUnk_A0.mUnk_18 = FLOAT_TO_FX32(0.3f);
|
||||
|
||||
data_027e09c0->func_ov000_0207e58c(this->mRef, 0xC, 0x8, &this->mUnk_A0);
|
||||
|
||||
bool var1 = false;
|
||||
if (data_027e0ce0->func_ov000_0208bc1c(0x1, 0x0, 0x16, 0x0, 0x0, 0x0)) {
|
||||
var1 = true;
|
||||
this->mUnk_13A = 0x14;
|
||||
this->mUnk_138 = 0x0;
|
||||
}
|
||||
|
||||
Actor *sp54; /* actor* ? */
|
||||
func_01ffe6c4(&sp54, this->mRef, &this->mPos, &this->mPrevPos, 0x1C, NULL, &this->mUnk_11C);
|
||||
unk32 tmp = sp54->func_ov000_0207df88((Cylinder *) &this->mUnk_CC.mUnk_30.mUnk_00, 0xC);
|
||||
func_01ffe6c4(&sp54, this->mRef, &this->mPos, &this->mPrevPos, 0x1F, NULL, &this->mUnk_11C);
|
||||
|
||||
if ((tmp | sp54->func_ov000_0207e294((Cylinder *) &this->mUnk_10C)) == 0 && !var1) {
|
||||
if (data_027e0ce0->mUnk_2C->mEquippedItem != ItemFlag_Boomerang) {
|
||||
this->SetState(ActorItemBoomerangState_1);
|
||||
return;
|
||||
}
|
||||
|
||||
VecFx32 sp6C;
|
||||
ActorRef sp14;
|
||||
if (!data_027e0d2c->func_ov031_020d962c(&this->mPos, 0x4CD, &sp6C, &sp14)) {
|
||||
this->SetState(ActorItemBoomerangState_1);
|
||||
} else {
|
||||
unk32 vecLength = VecFx32_Length(&this->mVel);
|
||||
unk32 lengthModified = (vecLength << 0xA) + 0x800;
|
||||
unk32 sp18 = lengthModified;
|
||||
func_01ff916c(&sp18, 0x0, MUL_FX32(vecLength, lengthModified));
|
||||
func_01ffb714(&sp6C, &this->mPos, &this->mVel);
|
||||
func_01ff97c8(&this->mPos, sp18 + 0x200);
|
||||
}
|
||||
|
||||
if (sp14.type != 0) {
|
||||
this->mUnk_CC.mUnk_0C.z = this->mPos.z;
|
||||
this->mUnk_CC.mUnk_0C.y = this->mPos.y + FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_CC.mUnk_18 = 0xA000;
|
||||
this->mUnk_CC.mUnk_0C.x = this->mPos.x;
|
||||
data_027e09c0->func_ov000_0207e58c(this->mRef, 0xC, 0x8, &this->mUnk_CC);
|
||||
return;
|
||||
}
|
||||
if (!(sp14.data & 0x1000)) {
|
||||
return;
|
||||
}
|
||||
|
||||
Vec2bCpp pos;
|
||||
pos.x = 0x0;
|
||||
pos.y = 0x0;
|
||||
MapObject *object = gpMapObjManager->func_01fff498(pos);
|
||||
if (object == NULL) {
|
||||
return;
|
||||
}
|
||||
object->vfunc_1C(this->mRef, 0xC, &this->mVel);
|
||||
if (object->mUnk_10 != NULL) {
|
||||
unk32 val = object->mUnk_10->mUnk_0C.y;
|
||||
if (val == 0x2) {
|
||||
this->func_ov031_020e5034(0x1);
|
||||
} else if (val == 0x4) {
|
||||
this->func_ov031_020e5034(0x2);
|
||||
}
|
||||
}
|
||||
MapObjectId objectId = object->GetMapObjectId();
|
||||
if (objectId != MapObjectId_SKDI && objectId != MapObjectId_SWHT && objectId != MapObjectId_TSUB) {
|
||||
this->func_ov031_020e49b0(0x8D70);
|
||||
}
|
||||
return;
|
||||
}
|
||||
this->func_ov031_020e49b0(0x8D70);
|
||||
break;
|
||||
case ActorItemBoomerangState_1:
|
||||
this->mUnk_A0.mUnk_0C.z = this->mPos.z;
|
||||
this->mUnk_A0.mUnk_0C.y = this->mPos.y + FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_A0.mUnk_0C.x = this->mPos.x;
|
||||
this->mUnk_A0.mUnk_18 = FLOAT_TO_FX32(0.3f);
|
||||
|
||||
data_027e09c0->func_ov000_0207e58c(this->mRef, 0xC, 0x8, &this->mUnk_A0);
|
||||
Actor *sp24; /* actor* ? */
|
||||
func_01ffe6c4(&sp24, this->mRef, &this->mPos, &this->mPrevPos, 0x1C, NULL, &this->mUnk_11C);
|
||||
sp24->func_ov000_0207df88((Cylinder *) &this->mUnk_CC.mUnk_30.mUnk_00, 0xC);
|
||||
|
||||
bool var3 = false;
|
||||
if ((u32) this->mUnk_138 < (u32) this->mUnk_13A) {
|
||||
++this->mUnk_138;
|
||||
} else {
|
||||
var2 = true;
|
||||
}
|
||||
if (var2 && data_027e0ce0->func_ov000_0208bc1c(0x1, 0x0, 0x16, 0x0, 0x0, 0x0)) {
|
||||
var3 = true;
|
||||
}
|
||||
if (var3) {
|
||||
this->mUnk_13A = 0x14;
|
||||
this->mUnk_138 = 0x0;
|
||||
this->func_ov031_020e49b0(0x8D70);
|
||||
}
|
||||
|
||||
u16 spC;
|
||||
VecFx32 sp3C;
|
||||
VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &sp3C);
|
||||
|
||||
if (func_01ffb9cc(&sp3C, &this->mPos) <= 0x800) {
|
||||
if (this->mUnk_128 == 0x2) {
|
||||
func_01ffedac(&spC, &sp3C);
|
||||
|
||||
Vec2bCpp pos;
|
||||
pos.x = 0x0;
|
||||
pos.y = 0x0;
|
||||
MapObject *object = gpMapObjManager->func_01fff498(pos);
|
||||
if (object != NULL && object->GetMapObjectId() == MapObjectId_ICEB) {
|
||||
((MapObjectUnkICEB *) object)->func_ov094_02174870();
|
||||
}
|
||||
}
|
||||
data_027e0d2c->func_ov031_020d95b4();
|
||||
this->Kill();
|
||||
return;
|
||||
}
|
||||
VecFx32 sp48;
|
||||
func_01ff93c0(&this->mVel, 0xC00);
|
||||
func_01ffb714(&sp3C, &this->mPos, &sp48);
|
||||
func_01ff97c8(&sp48, 0x200);
|
||||
VecFx32_Add(&this->mVel, &sp48, &this->mVel);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ActorItemBoomerang::func_ov031_020e5034(unk32 param1) {
|
||||
if (this->mUnk_128 == param1) {
|
||||
return;
|
||||
}
|
||||
this->mUnk_128 = param1;
|
||||
UnkStruct_PlayerGet_ec *ptr = NULL;
|
||||
|
||||
switch (this->mUnk_128) {
|
||||
case 0x1:
|
||||
this->mUnk_13C = 0x8D72;
|
||||
for (ptr = this->mUnk_12C; ptr != (void *) &this->mUnk_138; ++ptr) {
|
||||
ptr->func_ov000_020a0334();
|
||||
}
|
||||
|
||||
data_027e0cec->func_ov000_0209ff8c(&this->mUnk_12C[0], 0x818, &this->mPos, 0x2);
|
||||
data_027e0cec->func_ov000_0209ff8c(&this->mUnk_12C[1], 0x819, &this->mPos, 0x2);
|
||||
|
||||
if (!func_ov000_0205aeac()) {
|
||||
return;
|
||||
}
|
||||
if (this->mUnk_12C[0].mUnk_00 != NULL) {
|
||||
this->mUnk_12C[0].mUnk_00->mUnk_A0 = 0;
|
||||
}
|
||||
if (this->mUnk_12C[1].mUnk_00 != NULL) {
|
||||
this->mUnk_12C[1].mUnk_00->mUnk_A0 = 0;
|
||||
}
|
||||
data_027e0cd8->mUnk_0C->func_ov000_02080a5c(&this->mUnk_140.mUnk_00);
|
||||
return;
|
||||
case 0x2:
|
||||
this->mUnk_13C = 0x8D73;
|
||||
for (ptr = this->mUnk_12C; ptr != (void *) &this->mUnk_138; ++ptr) {
|
||||
ptr->func_ov000_020a0334();
|
||||
}
|
||||
|
||||
data_027e0cec->func_ov000_020a00d4(&this->mUnk_12C[0], 0x815, 0x816, 0x817, &this->mPos, 0x2);
|
||||
if (!func_ov000_0205aeac()) {
|
||||
return;
|
||||
}
|
||||
if (this->mUnk_12C[0].mUnk_00 != NULL) {
|
||||
this->mUnk_12C[0].mUnk_00->mUnk_A0 = 0;
|
||||
}
|
||||
if (this->mUnk_12C[1].mUnk_00 != NULL) {
|
||||
this->mUnk_12C[1].mUnk_00->mUnk_A0 = 0;
|
||||
}
|
||||
if (this->mUnk_12C[2].mUnk_00 != NULL) {
|
||||
this->mUnk_12C[2].mUnk_00->mUnk_A0 = 0;
|
||||
}
|
||||
data_027e0cd8->mUnk_0C->func_ov000_02080a5c(&this->mUnk_140.mUnk_00);
|
||||
return;
|
||||
default:
|
||||
this->mUnk_13C = 0x8D71;
|
||||
if (!func_ov000_0205aeac()) {
|
||||
return;
|
||||
}
|
||||
data_027e0cd8->mUnk_0C->func_ov000_02080a78(&this->mUnk_140.mUnk_00);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ActorItemBoomerang::func_ov031_020e5220() {
|
||||
data_027e0cec->func_ov000_0209feac(0x81A, &this->mPos, 0x2, 0x0, 0x0);
|
||||
data_027e0cec->func_ov000_0209feac(0x81B, &this->mPos, 0x2, 0x0, 0x0);
|
||||
data_027e0cec->func_ov000_0209feac(0x81C, &this->mPos, 0x2, 0x0, 0x0);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorItemBoomerang::func_ov031_020e52a0() {
|
||||
if (this->mUnk_128 == 0x1 || this->mUnk_128 == 0x2) {
|
||||
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_12C; ptr != (void *) &this->mUnk_138; ++ptr) {
|
||||
// non sense
|
||||
ptr->mUnk_00->mUnk_28 = this->mPos.x + ptr->mUnk_00->mUnk_24;
|
||||
ptr->mUnk_00->mUnk_2C = this->mPos.y + ptr->mUnk_00->mUnk_28;
|
||||
ptr->mUnk_00->mUnk_30 = this->mPos.z + ptr->mUnk_00->mUnk_2C;
|
||||
}
|
||||
return;
|
||||
}
|
||||
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_12C; ptr != (void *) &this->mUnk_138; ++ptr) {
|
||||
ptr->func_ov000_020a0334();
|
||||
}
|
||||
}
|
||||
|
||||
// non-matching
|
||||
void ActorItemBoomerang::vfunc_2C(unk32 param1) {
|
||||
if (Actor::func_01fff5d0(param1, 0x0)) {
|
||||
this->mUnk_94.func_01ffc6d4((u16) this->mAngle, &this->mPos);
|
||||
data_027e09b4->func_ov017_020c08c4(&this->mPos, 0x400, 0x400, 0x1F, 0x0, 0x1);
|
||||
}
|
||||
}
|
||||
|
||||
void ActorItemBoomerang_A0::vfunc_10(Actor *actor) {
|
||||
data_027e0d2c->func_ov031_020d95c8(actor->mRef);
|
||||
}
|
||||
|
||||
void ActorItemBoomerang_CC::vfunc_10(Actor *actor) {
|
||||
data_027e0d2c->func_ov031_020d95c8(actor->mRef);
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool ActorItemBoomerang_CC::vfunc_0C(Actor *actor, VecFx32 *param2) {
|
||||
if (actor != NULL) {
|
||||
if (actor->mRef.Get32() == this->mUnk_2C && actor->mVel.x == FLOAT_TO_FX32(0.0f) &&
|
||||
actor->mVel.y == FLOAT_TO_FX32(0.0f) && actor->mVel.z == FLOAT_TO_FX32(0.0f)) {
|
||||
this->mUnk_2C = 0x0;
|
||||
return UnkStruct_ov031_Items_01::vfunc_0C(actor, param2);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void ActorItemBoomerang_Unknown::func_ov031_020e45fc() {
|
||||
this->mUnk_00 = 0x0;
|
||||
this->mUnk_04.x = FLOAT_TO_FX32(-0.1003f);
|
||||
this->mUnk_04.y = FLOAT_TO_FX32(0.0f);
|
||||
this->mUnk_04.z = FLOAT_TO_FX32(0.3f);
|
||||
}
|
||||
|
||||
ActorItemBoomerang_11C::ActorItemBoomerang_11C(ActorItemBoomerang *param1) :
|
||||
mUnk_08(param1) {}
|
||||
|
||||
ActorItemBoomerang_11C::~ActorItemBoomerang_11C() {}
|
||||
|
||||
// non-matching
|
||||
bool ActorItemBoomerang_11C::vfunc_08(const UnkStruct_ov031_020f3310 *param1) {
|
||||
u32 var = param1->mUnk_04->mUnk_24[param1->mUnk_00->mUnk_06];
|
||||
|
||||
if (((var >> 0x18) & 1) == 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return func_ov000_020982d8();
|
||||
}
|
||||
|
||||
bool ActorItemBoomerang_11C::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) {
|
||||
u32 val = (param1->mUnk_08 >> 9) & 7;
|
||||
if (val == 0x2) {
|
||||
this->mUnk_08->func_ov031_020e5034(0x1);
|
||||
}
|
||||
|
||||
if (val == 0x4) {
|
||||
this->mUnk_08->func_ov031_020e5034(0x2);
|
||||
}
|
||||
|
||||
if (param1->mUnk_08 >> 0x18 & 1) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Vec2bCpp pos;
|
||||
if (this->mUnk_08->mState == ActorItemBoomerangState_1) {
|
||||
if (param2 & 0x1000) {
|
||||
pos.x = (u8) param2 >> 16;
|
||||
pos.y = (u8) param2 >> 24;
|
||||
|
||||
MapObject *mapObject = gpMapObjManager->func_01fff498(pos);
|
||||
if (mapObject != NULL) {
|
||||
if (mapObject->GetMapObjectId() == MapObjectId_ICEB || mapObject->GetMapObjectId() == MapObjectId_THAW) {
|
||||
mapObject->vfunc_1C(this->mUnk_08->mRef, 0xC, &this->mUnk_08->mVel);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
if (param2 & 0x1000) {
|
||||
pos.x = (u8) param2 >> 16;
|
||||
pos.y = (u8) param2 >> 24;
|
||||
|
||||
MapObject *mapObject = gpMapObjManager->func_01fff498(pos);
|
||||
if (mapObject != NULL) {
|
||||
switch (mapObject->GetMapObjectId()) {
|
||||
case MapObjectId_SKDI:
|
||||
case MapObjectId_SWHT:
|
||||
data_027e0d2c->func_ov031_020d95c8(param2);
|
||||
case MapObjectId_TSUB:
|
||||
mapObject->vfunc_1C(this->mUnk_08->mRef, 0xC, &this->mUnk_08->mVel);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
UnkStruct_027e0ce0_38_Base::vfunc_0C(param1, param2);
|
||||
}
|
||||
|
||||
void ActorItemBoomerang_Unknown::func_ov031_020e5704() {
|
||||
this->mUnk_00 = 0;
|
||||
}
|
||||
|
||||
ActorItemBoomerang::~ActorItemBoomerang() {
|
||||
if (data_027e0d2c) {
|
||||
data_027e0d2c->func_ov031_020d95b4();
|
||||
}
|
||||
if (func_ov000_0205aeac()) {
|
||||
data_027e0cd8->mUnk_0C->func_ov000_02080a78(&this->mUnk_140.mUnk_00);
|
||||
}
|
||||
}
|
||||
|
||||
ActorProfileItemBoomerang::~ActorProfileItemBoomerang() {}
|
||||
@@ -67,7 +67,7 @@ typedef struct {
|
||||
} UnkStack_ov031_020f2310;
|
||||
|
||||
struct UnkStruct_020f1b04 {
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 0C */ Actor *mUnk_0C;
|
||||
/* 10 */ STRUCT_PAD(0x10, 0x24);
|
||||
/* 24 */
|
||||
};
|
||||
@@ -96,7 +96,7 @@ extern "C" void func_01ffad5c(Mat4x3p *, Mat4x3p *, Mat4x3p *);
|
||||
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
|
||||
extern "C" fx16 func_01ffbbe0(fx32, fx32);
|
||||
extern "C" bool func_01ffccf4(VecFx32 *, VecFx32 *, VecFx32 *, unk32 *);
|
||||
extern "C" void func_01ffe6c4(unk32 *, ActorRef, VecFx32 *, VecFx32 *, s32, VecFx32 *, unk32);
|
||||
extern "C" void func_01ffe6c4(Actor **, ActorRef, VecFx32 *, VecFx32 *, s32, VecFx32 *, unk32);
|
||||
extern "C" void func_0200eab0(G3d_Model *, unk16, u8);
|
||||
extern "C" UnkResourceStruct2 *func_0200f05c(G3d_NameList *, char *);
|
||||
extern "C" void func_ov000_02057c98(ModelRender *param1, UnkSystem5 *param2);
|
||||
@@ -330,7 +330,7 @@ void ActorShotArrow::func_ov031_020f1b04() {
|
||||
}
|
||||
|
||||
if (!this->func_ov017_020beeec(0x0)) {
|
||||
stack.mUnk_0C = 0;
|
||||
stack.mUnk_0C = NULL;
|
||||
VecFx32 *mPos = &this->mPos;
|
||||
func_01ffe6c4(&stack.mUnk_0C, this->mRef, mPos, &this->mPrevPos, (s16) this->mUnk_44, mPos, 0);
|
||||
|
||||
@@ -846,14 +846,13 @@ void ActorShotArrow::func_ov031_020f2cac(VecFx32 *param1, bool param2) {
|
||||
|
||||
// non-matching
|
||||
void ActorShotArrow::func_ov031_020f2ef0() {
|
||||
unk32 value;
|
||||
Actor *value = NULL;
|
||||
ActorShotArrow_178 *unk_178;
|
||||
|
||||
value = 0;
|
||||
unk_178 = &this->mUnk_178;
|
||||
func_01ffe6c4(&value, this->mRef.Get32(), &this->mPos, &this->mVel, (s16) this->mUnk_44, &this->mPos, 0);
|
||||
|
||||
this->mUnk_46 = (s16) (func_ov000_0207df88(&value, this->mUnk_30, 0x3) | func_ov000_0207e294(this->mUnk_30));
|
||||
this->mUnk_46 = (s16) (value->func_ov000_0207df88(this->mUnk_30, 0x3) | func_ov000_0207e294(this->mUnk_30));
|
||||
}
|
||||
|
||||
void ActorShotArrow::func_ov031_020f2f5c(VecFx32 *param1) {
|
||||
@@ -990,7 +989,7 @@ bool ActorShotArrow_178::vfunc_08(const UnkStruct_ov031_020f3310 *param1) {
|
||||
}
|
||||
|
||||
// non-matching
|
||||
bool ActorShotArrow_178::vfunc_0C() {}
|
||||
bool ActorShotArrow_178::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) {}
|
||||
|
||||
ActorShotArrow_194::ActorShotArrow_194(ActorShotArrow *param1) {
|
||||
this->mUnk_2C = param1;
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "Actor/ActorUnkITBM.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkITBM);
|
||||
|
||||
Actor *ActorProfileUnkITBM::Create() {
|
||||
return new(HeapIndex_2) ActorUnkITBM();
|
||||
}
|
||||
|
||||
ActorProfileUnkITBM::ActorProfileUnkITBM() :
|
||||
ActorProfile(ActorId_ITBM) {}
|
||||
|
||||
ActorUnkITBM::ActorUnkITBM() {}
|
||||
|
||||
void ActorUnkITBM::func_ov031_020e45fc(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e4760(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e4774(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e4788(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e48d0(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e4994(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e49b0(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e4a20(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5034(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5220(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e52a0(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5354(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e53c8(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e53e4(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5400(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e544c(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5488(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e54a4(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e54d4(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5704(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e5710(void) {}
|
||||
void ActorUnkITBM::func_ov031_020e572c(void) {}
|
||||
|
||||
ActorUnkITBM::~ActorUnkITBM() {}
|
||||
ActorProfileUnkITBM::~ActorProfileUnkITBM() {}
|
||||
+1
-1
@@ -459,7 +459,7 @@ config.libs = [
|
||||
Object("031_Land/Actor/ActorUnkEFSB.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkFLEN.cpp"),
|
||||
Object("031_Land/Actor/ActorHeart.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkITBM.cpp"),
|
||||
Object("031_Land/Actor/ActorItemBoomerang.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkITTD.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkMLCK.cpp"),
|
||||
Object("031_Land/Actor/ActorUnkNFSP.cpp"),
|
||||
|
||||
Reference in New Issue
Block a user