Decompiling KURI (#141)

* feat: begin curry decompiling

* fix: create a cpp type for VecFx32

* fix: build issue

* fix: jp as well

* feat: improve ctor & dtor

* feat: improve matching

* fix: wrong value in animation tag

* feat: add matching bytes

* fix: change signature of Mityno's inline ctor

* fix: change signature of ANOTHER Mityno's inline ctor

* fix: match back function in CANS

* feat: more matching

* fix: build

* feat: increase overall matching

* feat: increase overall matching

* fix: commit to stop infinite task

* fix: better matching

* feat: chagne jp symbols

* feat: delink data and bss of KURI

* fix: use VecFx32 constructor

* fix: build issues
This commit is contained in:
Alessevan
2026-08-24 11:42:52 -04:00
committed by GitHub
parent 473e1e102b
commit f595c06b8d
32 changed files with 1317 additions and 336 deletions
+1 -1
View File
@@ -198,7 +198,7 @@ func_01fff254 kind:function(arm,size=0x2c) addr:0x01fff254
func_01fff280 kind:function(arm,size=0x28) addr:0x01fff280
func_01fff2a8 kind:function(arm,size=0x24) addr:0x01fff2a8
func_01fff2cc kind:function(arm,size=0x30) addr:0x01fff2cc
func_01fff2fc kind:function(arm,size=0x54) addr:0x01fff2fc
_ZN12ActorManager13func_01fff2fcEPFvP5ActortEi kind:function(arm,size=0x54) addr:0x01fff2fc
_ZN12ActorManager13func_01fff350EPvPP5Actor kind:function(arm,size=0x64) addr:0x01fff350
_ZN12ActorManager13func_01fff3b4E8ActorRef kind:function(arm,size=0x8c) addr:0x01fff3b4
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
+16 -16
View File
@@ -79,7 +79,7 @@ func_ov000_0205793c kind:function(arm,size=0xa4) addr:0x0205793c
_ZN19func_ov000_020579e0D1Ev kind:function(arm,size=0x14) addr:0x020579e0
_ZN19func_ov000_020579f4D0Ev kind:function(arm,size=0x1c) addr:0x020579f4
func_ov000_02057a10 kind:function(thumb,size=0x14) addr:0x02057a10
func_ov000_02057a24 kind:function(thumb,size=0x14) addr:0x02057a24
_ZN26ModelRender_ov000_020b1a1cC1EP10G3d_Model_ kind:function(thumb,size=0x14) addr:0x02057a24
func_ov000_02057a38 kind:function(arm,size=0x18) addr:0x02057a38
func_ov000_02057a50 kind:function(thumb,size=0x1c) addr:0x02057a50
func_ov000_02057a6c kind:function(thumb,size=0x1c) addr:0x02057a6c
@@ -2337,7 +2337,7 @@ _ZN5Actor19func_ov000_0209862cEi kind:function(arm,size=0x28) addr:0x0209862c
func_ov000_02098654 kind:function(arm,size=0x28) addr:0x02098654
_ZN5Actor19func_ov000_0209867cEi kind:function(arm,size=0x38) addr:0x0209867c
func_ov000_020986b4 kind:function(arm,size=0x48) addr:0x020986b4
func_ov000_020986fc kind:function(arm,size=0x7c) addr:0x020986fc
_ZN5Actor19func_ov000_020986fcEi kind:function(arm,size=0x7c) addr:0x020986fc
func_ov000_02098778 kind:function(arm,size=0x88) addr:0x02098778
_ZN5Actor19func_ov000_02098800Eb kind:function(arm,size=0x38) addr:0x02098800
_ZN5Actor19func_ov000_02098838Ev kind:function(arm,size=0x28) addr:0x02098838
@@ -2349,33 +2349,33 @@ _ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x02098a60
_ZN5Actor19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x02098a88
_ZN5Actor19func_ov000_02098ab4EhiiP7VecFx32 kind:function(arm,size=0x74) addr:0x02098ab4
_ZN14Actor_Derived2C2Ev kind:function(arm,size=0x64) addr:0x02098b28
_ZN5Actor19func_ov000_02098b8cEiPv kind:function(arm,size=0x184) addr:0x02098b8c
_ZN5Actor19func_ov000_02098b8cEiP24UnkStruct_ov031_Items_00 kind:function(arm,size=0x184) addr:0x02098b8c
func_ov000_02098d10 kind:function(arm,size=0x6c) addr:0x02098d10
func_ov000_02098d7c kind:function(arm,size=0x1b8) addr:0x02098d7c
func_ov000_02098f34 kind:function(arm,size=0xd0) addr:0x02098f34
_ZN14Actor_Derived219func_ov000_02098f34EP7VecFx32 kind:function(arm,size=0xd0) addr:0x02098f34
_ZN14Actor_Derived28vfunc_30EP14Actor_vfunc_30 kind:function(arm,size=0xc) addr:0x02099004
func_ov000_02099010 kind:function(arm,size=0xb0) addr:0x02099010
func_ov000_020990c0 kind:function(arm,size=0x21c) addr:0x020990c0
func_ov000_020992dc kind:function(arm,size=0x90) addr:0x020992dc
_ZN14Actor_Derived219func_ov000_020990c0EP8Actor_9Cii kind:function(arm,size=0x21c) addr:0x020990c0
_ZN14Actor_Derived219func_ov000_020992dcEv kind:function(arm,size=0x90) addr:0x020992dc
func_ov000_0209936c kind:function(arm,size=0x64) addr:0x0209936c
func_ov000_020993d0 kind:function(arm,size=0x80) addr:0x020993d0
func_ov000_02099450 kind:function(arm,size=0x50) addr:0x02099450
func_ov000_020994a0 kind:function(arm,size=0x74) addr:0x020994a0
_ZN14Actor_Derived219func_ov000_02099450EPvP7VecFx32it kind:function(arm,size=0x50) addr:0x02099450
_ZN14Actor_Derived219func_ov000_020994a0Ev kind:function(arm,size=0x74) addr:0x020994a0
func_ov000_02099514 kind:function(arm,size=0x74) addr:0x02099514
_ZN14Actor_Derived28vfunc_54Ei kind:function(arm,size=0x1b0) addr:0x02099588
func_ov000_02099738 kind:function(arm,size=0x2c) addr:0x02099738
func_ov000_02099764 kind:function(arm,size=0x20) addr:0x02099764
func_ov000_02099784 kind:function(arm,size=0x20) addr:0x02099784
func_ov000_020997a4 kind:function(arm,size=0x20) addr:0x020997a4
func_ov000_020997c4 kind:function(arm,size=0x2c) addr:0x020997c4
_ZN14Actor_Derived219func_ov000_020997c4Ei kind:function(arm,size=0x2c) addr:0x020997c4
_ZN14Actor_Derived2D1Ev kind:function(arm,size=0x14) addr:0x020997f0
_ZN14Actor_Derived2D0Ev kind:function(arm,size=0x1c) addr:0x02099804
_ZN26UnkStruct_ActorUnkCANS_224C1Ev kind:function(arm,size=0x50) addr:0x02099820
func_ov000_02099870 kind:function(arm,size=0x80) addr:0x02099870
func_ov000_020998f0 kind:function(arm,size=0x11c) addr:0x020998f0
func_ov000_02099a0c kind:function(arm,size=0x10) addr:0x02099a0c
_ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x02099a0c
func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x02099a1c
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderi kind:function(thumb,size=0x54) addr:0x02099a28
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x02099a28
func_ov000_02099a7c kind:function(thumb,size=0x48) addr:0x02099a7c
func_ov000_02099ac4 kind:function(thumb,size=0x28) addr:0x02099ac4
func_ov000_02099aec kind:function(thumb,size=0x2) addr:0x02099aec
@@ -2386,7 +2386,7 @@ _ZN24UnkStruct_ov000_020b31a88vfunc_0CEv kind:function(arm,size=0x68) addr:0x020
_ZN24UnkStruct_ov000_020b31a88vfunc_20Ev kind:function(arm,size=0x110) addr:0x02099ba0
_ZN24UnkStruct_ov000_020b31a88vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x84) addr:0x02099cb0
func_ov000_02099d34 kind:function(arm,size=0xa8) addr:0x02099d34
func_ov000_02099ddc kind:function(arm,size=0x7c) addr:0x02099ddc
_ZN24UnkStruct_ov000_020b31a819func_ov000_02099ddcE25ActorUnkZLSL_AnimationTagii kind:function(arm,size=0x7c) addr:0x02099ddc
func_ov000_02099e58 kind:function(arm,size=0x98) addr:0x02099e58
func_ov000_02099ef0 kind:function(arm,size=0x74) addr:0x02099ef0
func_ov000_02099f64 kind:function(arm,size=0x94) addr:0x02099f64
@@ -2401,7 +2401,7 @@ _ZN24UnkStruct_ov000_020b31a88vfunc_14Ev kind:function(arm,size=0x8) addr:0x0209
func_ov000_0209a14c kind:function(arm,size=0x24) addr:0x0209a14c
func_ov000_0209a170 kind:function(arm,size=0x10) addr:0x0209a170
func_ov000_0209a180 kind:function(arm,size=0x8) addr:0x0209a180
_ZN24UnkStruct_ov000_020b31f0C2EPvS0_S0_i kind:function(thumb,size=0x30) addr:0x0209a188
_ZN24UnkStruct_ov000_020b31f0C2EP10UnkSystem5S1_P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x30) addr:0x0209a188
func_ov000_0209a1b8 kind:function(thumb,size=0x34) addr:0x0209a1b8
func_ov000_0209a1ec kind:function(thumb,size=0x3c) addr:0x0209a1ec
func_ov000_0209a228 kind:function(thumb,size=0xc) addr:0x0209a228
@@ -2416,11 +2416,11 @@ _ZN24UnkStruct_ov000_020b31f08vfunc_14Ev kind:function(arm,size=0x14) addr:0x020
_ZN24UnkStruct_ov000_020b31f08vfunc_30Ev kind:function(arm,size=0x14) addr:0x0209a348
_ZN24UnkStruct_ov000_020b31f08vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x88) addr:0x0209a35c
_ZN24UnkStruct_ov000_020b31f08vfunc_20Ev kind:function(arm,size=0x238) addr:0x0209a3e4
func_ov000_0209a61c kind:function(arm,size=0xb8) addr:0x0209a61c
_ZN24UnkStruct_ov000_020b31f019func_ov000_0209a61cEv kind:function(arm,size=0xb8) addr:0x0209a61c
_ZN24UnkStruct_ov000_020b31f08vfunc_34Ev kind:function(arm,size=0x38) addr:0x0209a6d4
_ZN24UnkStruct_ov000_020b31f08vfunc_40Ev kind:function(arm,size=0x8) addr:0x0209a70c
func_ov000_0209a714 kind:function(arm,size=0x24) addr:0x0209a714
func_ov000_0209a738 kind:function(arm,size=0x2c) addr:0x0209a738
_ZN24UnkStruct_ov000_020b31f08vfunc_3CEv kind:function(arm,size=0x24) addr:0x0209a714
_ZN24UnkStruct_ov000_020b31f08vfunc_38Ev kind:function(arm,size=0x2c) addr:0x0209a738
_ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209a764
func_ov000_0209a780 kind:function(thumb,size=0x1c) addr:0x0209a780
_ZN26ModelRender_ov000_020b4d648vfunc_1CEP19UnkSystem4_vfunc_1C kind:function(arm,size=0x1c) addr:0x0209a79c
+4 -4
View File
@@ -56,14 +56,14 @@ func_ov017_020bee84 kind:function(arm,size=0x20) addr:0x020bee84
func_ov017_020beea4 kind:function(arm,size=0x28) addr:0x020beea4
func_ov017_020beecc kind:function(arm,size=0x20) addr:0x020beecc
_ZN5Actor19func_ov017_020beeecEi kind:function(arm,size=0x60) addr:0x020beeec
func_ov017_020bef4c kind:function(arm,size=0x3c) addr:0x020bef4c
_ZN14Actor_Derived219func_ov017_020bef4cEi kind:function(arm,size=0x3c) addr:0x020bef4c
_ZN5Actor19func_ov017_020bef88EP14Actor_vfunc_30Pvi kind:function(arm,size=0x9c) addr:0x020bef88
func_ov017_020bf024 kind:function(arm,size=0x2c) addr:0x020bf024
func_ov017_020bf050 kind:function(arm,size=0x128) addr:0x020bf050
func_ov017_020bf178 kind:function(arm,size=0x10c) addr:0x020bf178
_ZN14Actor_Derived219func_ov017_020bf178EP8Actor_9Ci kind:function(arm,size=0x10c) addr:0x020bf178
func_ov017_020bf284 kind:function(arm,size=0x54) addr:0x020bf284
func_ov017_020bf2d8 kind:function(arm,size=0x108) addr:0x020bf2d8
func_ov017_020bf3e0 kind:function(arm,size=0xd0) addr:0x020bf3e0
_ZN5Actor19func_ov017_020bf3e0Eii kind:function(arm,size=0xd0) addr:0x020bf3e0
func_ov017_020bf4b0 kind:function(arm,size=0xc4) addr:0x020bf4b0
func_ov017_020bf574 kind:function(arm,size=0x50) addr:0x020bf574
_ZN5Actor19func_ov017_020bf5c4EP7VecFx32iiii kind:function(arm,size=0x70) addr:0x020bf5c4
@@ -71,7 +71,7 @@ func_ov017_020bf634 kind:function(arm,size=0x54) addr:0x020bf634
func_ov017_020bf688 kind:function(arm,size=0x88) addr:0x020bf688
func_ov017_020bf710 kind:function(arm,size=0x98) addr:0x020bf710
func_ov017_020bf7a8 kind:function(arm,size=0xec) addr:0x020bf7a8
func_ov017_020bf894 kind:function(arm,size=0x60) addr:0x020bf894
_ZN14Actor_Derived219func_ov017_020bf894EP26UnkStruct_ActorUnkCANS_224 kind:function(arm,size=0x60) addr:0x020bf894
_ZN5Actor8vfunc_40Ev kind:function(arm,size=0x44) addr:0x020bf8f4
_ZN5Actor8vfunc_44Ev kind:function(arm,size=0x64) addr:0x020bf938
func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020bf99c
+3 -2
View File
@@ -9,13 +9,14 @@ src/032_MapA1/Actor/ActorUnkKURI.cpp:
.text start:0x02118fc0 end:0x0211b6cc
.init start:0x02121f34 end:0x02121fa0
.ctor start:0x0212212c end:0x02122130
.bss start:0x02122820 end:0x02122918
.data start:0x02122160 end:0x021223a8
.bss start:0x02122820 end:0x02122908
src/032_MapA1/Actor/ActorUnkMKUR.cpp:
.text start:0x0211b6cc end:0x0211db40
.init start:0x02121fa0 end:0x02122020
.ctor start:0x02122130 end:0x02122134
.bss start:0x02122918 end:0x02122974
.bss start:0x02122908 end:0x02122974
src/032_MapA1/Actor/ActorUnkKETH.cpp:
.text start:0x0211db40 end:0x0211fd80
+6 -6
View File
@@ -17,8 +17,8 @@ from:0x021191b0 kind:arm_call to:0x0211b570 module:overlay(32)
from:0x02119210 kind:arm_call to:0x0209862c module:overlay(0)
from:0x02119234 kind:load to:0x021222e8 add:0x8 module:overlay(32)
from:0x02119238 kind:load to:0x02122830 module:overlay(32)
from:0x0211923c kind:load to:0x02122244 module:overlay(32)
from:0x02119240 kind:load to:0x021221fc module:overlay(32)
from:0x0211923c kind:load to:0x0212223c module:overlay(32) add:0x8
from:0x02119240 kind:load to:0x021221f4 module:overlay(32) add:0x8
from:0x02119244 kind:load to:0x02122160 module:overlay(32)
from:0x02119250 kind:arm_call_thumb to:0x0209a248 module:overlay(0)
from:0x02119264 kind:arm_call_thumb to:0x02099afc module:overlay(0)
@@ -237,7 +237,7 @@ from:0x0211b554 kind:arm_call to:0x020997c4 module:overlay(0)
from:0x0211b55c kind:arm_call to:0x0211b3b0 module:overlay(32)
from:0x0211b568 kind:load to:0x027e09a8 module:dtcm
from:0x0211b578 kind:arm_call to:0x020982a8 module:overlay(0)
from:0x0211b59c kind:load to:0x021221bc module:overlay(32)
from:0x0211b59c kind:load to:0x021221b4 module:overlay(32) add:0x8
from:0x0211b5a8 kind:arm_call to:0x0207bffc module:overlay(0)
from:0x0211b5bc kind:arm_call to:0x0207bffc module:overlay(0)
from:0x0211b5c4 kind:arm_call to:0x02011ff4 module:main
@@ -272,7 +272,7 @@ from:0x0211b8cc kind:arm_call to:0x0209862c module:overlay(0)
from:0x0211b8e8 kind:arm_call to:0x0211be04 module:overlay(32)
from:0x0211b908 kind:load to:0x02122478 add:0x8 module:overlay(32)
from:0x0211b90c kind:load to:0x02122930 module:overlay(32)
from:0x0211b910 kind:load to:0x02122244 module:overlay(32)
from:0x0211b910 kind:load to:0x0212223c module:overlay(32) add:0x8
from:0x0211b914 kind:load to:0x02122924 module:overlay(32)
from:0x0211b918 kind:load to:0x0212290c module:overlay(32)
from:0x0211b91c kind:load to:0x021223a8 module:overlay(32)
@@ -550,8 +550,8 @@ from:0x0211dda0 kind:arm_call to:0x0211de34 module:overlay(32)
from:0x0211ddc0 kind:arm_call to:0x0209862c module:overlay(0)
from:0x0211ddf0 kind:load to:0x0212262c add:0x8 module:overlay(32)
from:0x0211ddf4 kind:load to:0x02122984 module:overlay(32)
from:0x0211ddf8 kind:load to:0x02122244 module:overlay(32)
from:0x0211ddfc kind:load to:0x021221fc module:overlay(32)
from:0x0211ddf8 kind:load to:0x0212223c module:overlay(32) add:0x8
from:0x0211ddfc kind:load to:0x021221f4 module:overlay(32) add:0x8
from:0x0211de00 kind:load to:0x0211de20 module:overlay(32)
from:0x0211de04 kind:load to:0x0211fbec module:overlay(32)
from:0x0211de08 kind:load to:0x021224d8 module:overlay(32)
+29 -29
View File
@@ -2,16 +2,16 @@ _ZN19ActorProfileUnkKURI10GetProfileEv kind:function(arm,size=0xc) addr:0x02118f
_ZN19ActorProfileUnkKURI6CreateEv kind:function(arm,size=0x24) addr:0x02118fcc
_ZN19ActorProfileUnkKURIC1Ev kind:function(arm,size=0x5c) addr:0x02118ff0
_ZN12ActorUnkKURIC1Ev kind:function(arm,size=0x1fc) addr:0x0211904c
_ZN12ActorUnkKURI19func_ov032_02119248Ev kind:function(arm,size=0x14) addr:0x02119248
_ZN12ActorUnkKURI19func_ov032_0211925cEv kind:function(arm,size=0x14) addr:0x0211925c
_ZN12ActorUnkKURI19func_ov032_02119270Ev kind:function(arm,size=0x8c) addr:0x02119270
_ZN16ActorUnkKURI_110D1Ev kind:function(arm,size=0x14) addr:0x02119248
_ZN16ActorUnkKURI_1BCD1Ev kind:function(arm,size=0x14) addr:0x0211925c
_ZN12ActorUnkKURID1Ev kind:function(arm,size=0x8c) addr:0x02119270
_ZN12ActorUnkKURID0Ev kind:function(arm,size=0x94) addr:0x021192fc
_ZN12ActorUnkKURI19func_ov032_02119390Ev kind:function(arm,size=0xc8) addr:0x02119390
_ZN12ActorUnkKURI19func_ov032_02119458Ev kind:function(arm,size=0x84) addr:0x02119458
_ZN12ActorUnkKURI19func_ov032_021194dcEv kind:function(arm,size=0x60) addr:0x021194dc
_ZN12ActorUnkKURI19func_ov032_0211953cEv kind:function(arm,size=0x48) addr:0x0211953c
_ZN12ActorUnkKURI19func_ov032_02119584Ev kind:function(arm,size=0x358) addr:0x02119584
_ZN12ActorUnkKURI19func_ov032_021198dcEv kind:function(arm,size=0xb4) addr:0x021198dc
_ZN12ActorUnkKURI8vfunc_18Ei kind:function(arm,size=0xc8) addr:0x02119390
_ZN12ActorUnkKURI8vfunc_1CEv kind:function(arm,size=0x84) addr:0x02119458
_ZN12ActorUnkKURI19func_ov032_021194dcEs kind:function(arm,size=0x60) addr:0x021194dc
_ZN12ActorUnkKURI8SetStateEs kind:function(arm,size=0x48) addr:0x0211953c
_ZN12ActorUnkKURI8vfunc_20Ev kind:function(arm,size=0x358) addr:0x02119584
_ZN12ActorUnkKURI8vfunc_2CEi kind:function(arm,size=0xb4) addr:0x021198dc
_ZN12ActorUnkKURI19func_ov032_02119990Ev kind:function(arm,size=0x7c) addr:0x02119990
_ZN12ActorUnkKURI19func_ov032_02119a0cEv kind:function(arm,size=0x1dc) addr:0x02119a0c
_ZN12ActorUnkKURI19func_ov032_02119be8Ev kind:function(arm,size=0x98) addr:0x02119be8
@@ -37,26 +37,26 @@ _ZN12ActorUnkKURI19func_ov032_0211ac94Ev kind:function(arm,size=0xac) addr:0x021
_ZN12ActorUnkKURI19func_ov032_0211ad40Ev kind:function(arm,size=0xb4) addr:0x0211ad40
_ZN12ActorUnkKURI19func_ov032_0211adf4Ev kind:function(arm,size=0x230) addr:0x0211adf4
_ZN12ActorUnkKURI19func_ov032_0211b024Ev kind:function(arm,size=0x40) addr:0x0211b024
_ZN12ActorUnkKURI19func_ov032_0211b064Ev kind:function(arm,size=0xb0) addr:0x0211b064
_ZN12ActorUnkKURI19func_ov032_0211b064Ei kind:function(arm,size=0xb0) addr:0x0211b064
_ZN12ActorUnkKURI19func_ov032_0211b114Ev kind:function(arm,size=0x68) addr:0x0211b114
_ZN12ActorUnkKURI19func_ov032_0211b17cEv kind:function(arm,size=0x14) addr:0x0211b17c
_ZN12ActorUnkKURI19func_ov032_0211b190Ev kind:function(arm,size=0x50) addr:0x0211b190
_ZN12ActorUnkKURI19func_ov032_0211b190Eii kind:function(arm,size=0x50) addr:0x0211b190
_ZN12ActorUnkKURI19func_ov032_0211b1e0Ev kind:function(arm,size=0xb8) addr:0x0211b1e0
_ZN12ActorUnkKURI19func_ov032_0211b298Ev kind:function(arm,size=0xe4) addr:0x0211b298
_ZN12ActorUnkKURI19func_ov032_0211b37cEv kind:function(arm,size=0x34) addr:0x0211b37c
_ZN12ActorUnkKURI19func_ov032_0211b37cEPS_t kind:function(arm,size=0x34) addr:0x0211b37c
_ZN12ActorUnkKURI19func_ov032_0211b3b0Ev kind:function(arm,size=0x58) addr:0x0211b3b0
_ZN12ActorUnkKURI19func_ov032_0211b408Ev kind:function(arm,size=0x168) addr:0x0211b408
_ZN12ActorUnkKURI19func_ov032_0211b570Ev kind:function(arm,size=0x30) addr:0x0211b570
_ZN12ActorUnkKURID1Ev kind:function(arm,size=0x14) addr:0x0211b5a0
_ZN12ActorUnkKURI19func_ov032_0211b5b4Ev kind:function(arm,size=0x1c) addr:0x0211b5b4
_ZN12ActorUnkKURI19func_ov032_0211b5d0Ev kind:function(arm,size=0x24) addr:0x0211b5d0
_ZN12ActorUnkKURI19func_ov032_0211b5f4Ev kind:function(arm,size=0x24) addr:0x0211b5f4
_ZN12ActorUnkKURI19func_ov032_0211b618Ev kind:function(arm,size=0x10) addr:0x0211b618
_ZN12ActorUnkKURI19func_ov032_0211b628Ev kind:function(arm,size=0x8) addr:0x0211b628
_ZN12ActorUnkKURI19func_ov032_0211b630Ev kind:function(arm,size=0x24) addr:0x0211b630
_ZN12ActorUnkKURI19func_ov032_0211b654Ev kind:function(arm,size=0x2c) addr:0x0211b654
_ZN12ActorUnkKURI19func_ov032_0211b680Ev kind:function(arm,size=0x1c) addr:0x0211b680
_ZN12ActorUnkKURI19func_ov032_0211b69cEv kind:function(arm,size=0x1c) addr:0x0211b69c
_ZN12ActorUnkKURI8vfunc_54Ei kind:function(arm,size=0x168) addr:0x0211b408
_ZN16ActorUnkKURI_268C1Ev kind:function(arm,size=0x30) addr:0x0211b570
_ZN16ActorUnkKURI_268D1Ev kind:function(arm,size=0x14) addr:0x0211b5a0
_ZN16ActorUnkKURI_268D0Ev kind:function(arm,size=0x1c) addr:0x0211b5b4
_ZN16ActorUnkKURI_2688vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x24) addr:0x0211b5d0
_ZN16ActorUnkKURI_1BC8vfunc_3CEv kind:function(arm,size=0x24) addr:0x0211b5f4
_ZN16ActorUnkKURI_1BC8vfunc_38Eii kind:function(arm,size=0x10) addr:0x0211b618
_ZN16ActorUnkKURI_1BC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x0211b628
_ZN16ActorUnkKURI_1108vfunc_3CEv kind:function(arm,size=0x24) addr:0x0211b630
_ZN16ActorUnkKURI_1108vfunc_38Eii kind:function(arm,size=0x2c) addr:0x0211b654
_ZN16ActorUnkKURI_110D0Ev kind:function(arm,size=0x1c) addr:0x0211b680
_ZN16ActorUnkKURI_1BCD0Ev kind:function(arm,size=0x1c) addr:0x0211b69c
_ZN19ActorProfileUnkKURID1Ev kind:function(arm,size=0x14) addr:0x0211b6b8
_ZN19ActorProfileUnkMKUR10GetProfileEv kind:function(arm,size=0xc) addr:0x0211b6cc
_ZN19ActorProfileUnkMKUR6CreateEv kind:function(arm,size=0x24) addr:0x0211b6d8
@@ -236,12 +236,12 @@ data_ov032_02122160 kind:data(any) addr:0x02122160
data_ov032_0212216c kind:data(any) addr:0x0212216c
data_ov032_02122184 kind:data(any) addr:0x02122184
data_ov032_0212219c kind:data(any) addr:0x0212219c
data_ov032_021221bc kind:data(any) addr:0x021221bc
_ZTV19data_ov032_021221d0 kind:data(any) addr:0x021221d0
data_ov032_021221fc kind:data(any) addr:0x021221fc
data_ov032_02122244 kind:data(any) addr:0x02122244
_ZTV16ActorUnkKURI_268 kind:data(any) addr:0x021221b4
_ZTV19ActorProfileUnkKURI kind:data(any) addr:0x021221d0
_ZTV16ActorUnkKURI_1BC kind:data(any) addr:0x021221f4
_ZTV16ActorUnkKURI_110 kind:data(any) addr:0x0212223c
data_ov032_02122288 kind:data(any) addr:0x02122288
_ZTV19data_ov032_021222e8 kind:data(any) addr:0x021222e8
_ZTV12ActorUnkKURI kind:data(any) addr:0x021222e8
data_ov032_02122348 kind:data(any) addr:0x02122348
data_ov032_021223a8 kind:data(any) addr:0x021223a8
data_ov032_021223b4 kind:data(any) addr:0x021223b4
+1 -1
View File
@@ -79,7 +79,7 @@ func_ov000_0205793c kind:function(arm,size=0xa4) addr:0x0205793c
func_ov000_020579e0 kind:function(arm,size=0x14) addr:0x020579e0
func_ov000_020579f4 kind:function(arm,size=0x1c) addr:0x020579f4
func_ov000_02057a10 kind:function(thumb,size=0x14) addr:0x02057a10
func_ov000_02057a24 kind:function(thumb,size=0x14) addr:0x02057a24
_ZN26ModelRender_ov000_020b1a1cC1EP10G3d_Model_ kind:function(thumb,size=0x14) addr:0x02057a24
func_ov000_02057a38 kind:function(arm,size=0x18) addr:0x02057a38
func_ov000_02057a50 kind:function(thumb,size=0x1c) addr:0x02057a50
func_ov000_02057a6c kind:function(thumb,size=0x1c) addr:0x02057a6c
+1 -1
View File
@@ -198,7 +198,7 @@ func_01fff254 kind:function(arm,size=0x2c) addr:0x01fff254
func_01fff280 kind:function(arm,size=0x28) addr:0x01fff280
func_01fff2a8 kind:function(arm,size=0x24) addr:0x01fff2a8
func_01fff2cc kind:function(arm,size=0x30) addr:0x01fff2cc
func_01fff2fc kind:function(arm,size=0x54) addr:0x01fff2fc
_ZN12ActorManager13func_01fff2fcEPFvP5ActortEi kind:function(arm,size=0x54) addr:0x01fff2fc
_ZN12ActorManager13func_01fff350EPvPP5Actor kind:function(arm,size=0x64) addr:0x01fff350
_ZN12ActorManager13func_01fff3b4E8ActorRef kind:function(arm,size=0x8c) addr:0x01fff3b4
func_01fff440 kind:function(arm,size=0x18) addr:0x01fff440
+12 -12
View File
@@ -2337,7 +2337,7 @@ _ZN5Actor19func_ov000_0209862cEi kind:function(arm,size=0x28) addr:0x02099dd4
func_ov000_02099dfc kind:function(arm,size=0x28) addr:0x02099dfc
_ZN5Actor19func_ov000_0209867cEi kind:function(arm,size=0x38) addr:0x02099e24
func_ov000_020986b4 kind:function(arm,size=0x48) addr:0x02099e5c
func_ov000_02099ea4 kind:function(arm,size=0x7c) addr:0x02099ea4
_ZN5Actor19func_ov000_020986fcEi kind:function(arm,size=0x7c) addr:0x02099ea4
func_ov000_02099f20 kind:function(arm,size=0x88) addr:0x02099f20
_ZN5Actor19func_ov000_02098800Eb kind:function(arm,size=0x38) addr:0x02099fa8
_ZN5Actor19func_ov000_02098838Ev kind:function(arm,size=0x28) addr:0x02099fe0
@@ -2349,33 +2349,33 @@ _ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x0209a208
_ZN5Actor19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x0209a230
_ZN5Actor19func_ov000_02098ab4EhiiP7VecFx32 kind:function(arm,size=0x74) addr:0x0209a25c
_ZN14Actor_Derived2C2Ev kind:function(arm,size=0x64) addr:0x0209a2d0
_ZN5Actor19func_ov000_02098b8cEiPv kind:function(arm,size=0x1a8) addr:0x0209a334
_ZN5Actor19func_ov000_02098b8cEiP24UnkStruct_ov031_Items_00 kind:function(arm,size=0x1a8) addr:0x0209a334
func_ov000_0209a4dc kind:function(arm,size=0x6c) addr:0x0209a4dc
func_ov000_02098d7c kind:function(arm,size=0x1b8) addr:0x0209a548
func_ov000_02098f34 kind:function(arm,size=0xd0) addr:0x0209a700
_ZN14Actor_Derived219func_ov000_02098f34EP7VecFx32 kind:function(arm,size=0xd0) addr:0x0209a700
_ZN14Actor_Derived28vfunc_30EP14Actor_vfunc_30 kind:function(arm,size=0xc) addr:0x0209a7d0
func_ov000_0209a7dc kind:function(arm,size=0xb0) addr:0x0209a7dc
func_ov000_020990c0 kind:function(arm,size=0x21c) addr:0x0209a88c
_ZN14Actor_Derived219func_ov000_020990c0EP8Actor_9Cii kind:function(arm,size=0x21c) addr:0x0209a88c
func_ov000_0209aaa8 kind:function(arm,size=0x90) addr:0x0209aaa8
func_ov000_0209ab38 kind:function(arm,size=0x64) addr:0x0209ab38
func_ov000_0209ab9c kind:function(arm,size=0x80) addr:0x0209ab9c
func_ov000_02099450 kind:function(arm,size=0x50) addr:0x0209ac1c
func_ov000_020994a0 kind:function(arm,size=0x74) addr:0x0209ac6c
_ZN14Actor_Derived219func_ov000_02099450EPvP7VecFx32it kind:function(arm,size=0x50) addr:0x0209ac1c
_ZN14Actor_Derived219func_ov000_020994a0Ev kind:function(arm,size=0x74) addr:0x0209ac6c
func_ov000_0209ace0 kind:function(arm,size=0x74) addr:0x0209ace0
_ZN14Actor_Derived28vfunc_54Ei kind:function(arm,size=0x1b0) addr:0x0209ad54
func_ov000_0209af04 kind:function(arm,size=0x2c) addr:0x0209af04
func_ov000_0209af30 kind:function(arm,size=0x20) addr:0x0209af30
func_ov000_0209af50 kind:function(arm,size=0x20) addr:0x0209af50
func_ov000_0209af70 kind:function(arm,size=0x20) addr:0x0209af70
func_ov000_0209af90 kind:function(arm,size=0x2c) addr:0x0209af90
_ZN14Actor_Derived219func_ov000_020997c4Ei kind:function(arm,size=0x2c) addr:0x0209af90
_ZN19func_ov000_0209afbcD1Ev kind:function(arm,size=0x14) addr:0x0209afbc
_ZN19func_ov000_0209afd0D0Ev kind:function(arm,size=0x1c) addr:0x0209afd0
_ZN26UnkStruct_ActorUnkCANS_224C1Ev kind:function(arm,size=0x50) addr:0x0209afec
func_ov000_0209b03c kind:function(arm,size=0x80) addr:0x0209b03c
func_ov000_0209b0bc kind:function(arm,size=0x11c) addr:0x0209b0bc
func_ov000_02099a0c kind:function(arm,size=0x10) addr:0x0209b1d8
_ZN26UnkStruct_ActorUnkCANS_22419func_ov000_02099a0cEv kind:function(arm,size=0x10) addr:0x0209b1d8
func_ov000_0209b1e8 kind:function(arm,size=0xc) addr:0x0209b1e8
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderi kind:function(thumb,size=0x54) addr:0x0209b1f4
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x54) addr:0x0209b1f4
func_ov000_0209b248 kind:function(thumb,size=0x48) addr:0x0209b248
func_ov000_0209b290 kind:function(thumb,size=0x28) addr:0x0209b290
func_ov000_0209b2b8 kind:function(thumb,size=0x2) addr:0x0209b2b8
@@ -2386,8 +2386,8 @@ _ZN24UnkStruct_ov000_020b31a88vfunc_0CEv kind:function(arm,size=0x68) addr:0x020
_ZN24UnkStruct_ov000_020b31a88vfunc_20Ev kind:function(arm,size=0x110) addr:0x0209b36c
_ZN24UnkStruct_ov000_020b31a88vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x84) addr:0x0209b47c
func_ov000_0209b500 kind:function(arm,size=0xa8) addr:0x0209b500
_ZN17ActorUnkZLSL_270019func_ov000_02099ddcE25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x7c) addr:0x0209b5a8
func_ov000_02099e58 kind:function(arm,size=0x98) addr:0x0209b624
_ZN24UnkStruct_ov000_020b31a819func_ov000_02099ddcE25ActorUnkZLSL_AnimationTagii kind:function(arm,size=0x7c) addr:0x0209b5a8
func_ov000_0209b624 kind:function(arm,size=0x98) addr:0x0209b624
func_ov000_0209b6bc kind:function(arm,size=0x74) addr:0x0209b6bc
func_ov000_02099f64 kind:function(arm,size=0x94) addr:0x0209b730
_ZN24UnkStruct_ov000_020b31a819func_ov000_02099ff8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x0209b7c4
@@ -2401,7 +2401,7 @@ _ZN24UnkStruct_ov000_020b31a88vfunc_14Ev kind:function(arm,size=0x8) addr:0x0209
func_ov000_0209b918 kind:function(arm,size=0x24) addr:0x0209b918
func_ov000_0209b93c kind:function(arm,size=0x10) addr:0x0209b93c
func_ov000_0209b94c kind:function(arm,size=0x8) addr:0x0209b94c
_ZN24UnkStruct_ov000_020b31f0C2EPvS0_S0_i kind:function(thumb,size=0x30) addr:0x0209b954
_ZN24UnkStruct_ov000_020b31f0C2EP10UnkSystem5S1_P11ModelRenderP19UnkActorFileSystem2 kind:function(thumb,size=0x30) addr:0x0209b954
func_ov000_0209b984 kind:function(thumb,size=0x34) addr:0x0209b984
func_ov000_0209b9b8 kind:function(thumb,size=0x3c) addr:0x0209b9b8
func_ov000_0209b9f4 kind:function(thumb,size=0xc) addr:0x0209b9f4
+4 -4
View File
@@ -56,14 +56,14 @@ func_ov017_020c06b0 kind:function(arm,size=0x20) addr:0x020c06b0
func_ov017_020c06d0 kind:function(arm,size=0x28) addr:0x020c06d0
func_ov017_020c06f8 kind:function(arm,size=0x20) addr:0x020c06f8
_ZN5Actor19func_ov017_020beeecEi kind:function(arm,size=0x60) addr:0x020c0718
func_ov017_020bef4c kind:function(arm,size=0x3c) addr:0x020c0778
_ZN14Actor_Derived219func_ov017_020bef4cEi kind:function(arm,size=0x3c) addr:0x020c0778
func_ov017_020c07b4 kind:function(arm,size=0x9c) addr:0x020c07b4
func_ov017_020c0850 kind:function(arm,size=0x2c) addr:0x020c0850
func_ov017_020bf050 kind:function(arm,size=0x128) addr:0x020c087c
func_ov017_020bf178 kind:function(arm,size=0x10c) addr:0x020c09a4
_ZN14Actor_Derived219func_ov017_020bf178EP8Actor_9Ci kind:function(arm,size=0x10c) addr:0x020c09a4
func_ov017_020c0ab0 kind:function(arm,size=0x54) addr:0x020c0ab0
func_ov017_020c0b04 kind:function(arm,size=0x108) addr:0x020c0b04
func_ov017_020c0c0c kind:function(arm,size=0xd0) addr:0x020c0c0c
_ZN5Actor19func_ov017_020bf3e0Eii kind:function(arm,size=0xd0) addr:0x020c0c0c
func_ov017_020c0cdc kind:function(arm,size=0xc4) addr:0x020c0cdc
func_ov017_020c0da0 kind:function(arm,size=0x50) addr:0x020c0da0
_ZN5Actor19func_ov017_020bf5c4EP7VecFx32iiii kind:function(arm,size=0x70) addr:0x020c0df0
@@ -71,7 +71,7 @@ func_ov017_020bf634 kind:function(arm,size=0x54) addr:0x020c0e60
func_ov017_020bf688 kind:function(arm,size=0x88) addr:0x020c0eb4
func_ov017_020c0f3c kind:function(arm,size=0x98) addr:0x020c0f3c
func_ov017_020c0fd4 kind:function(arm,size=0xec) addr:0x020c0fd4
func_ov017_020bf894 kind:function(arm,size=0x60) addr:0x020c10c0
_ZN14Actor_Derived219func_ov017_020bf894EP26UnkStruct_ActorUnkCANS_224 kind:function(arm,size=0x60) addr:0x020c10c0
_ZN5Actor8vfunc_40Ev kind:function(arm,size=0x44) addr:0x020c1120
_ZN5Actor8vfunc_44Ev kind:function(arm,size=0x64) addr:0x020c1164
func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020c11c8
+1 -1
View File
@@ -177,7 +177,7 @@ from:0x020db4f0 kind:arm_call to:0x0208eb68 module:overlay(0)
from:0x020db50c kind:load to:0x0208ec7c module:overlay(0)
from:0x020db51c kind:load to:0x0208f3cc module:overlay(0)
from:0x020db544 kind:load to:0x02094dc8 module:overlay(0)
from:0x020db550 kind:load to:0x021241ad module:overlays(32,33,34,36,37)
from:0x020db550 kind:load to:0x021241ad module:overlays(33,34,36,37)
from:0x020db55c kind:load to:0x02154761 module:overlays(29,30,58,72)
from:0x020db56c kind:load to:0x027e0d34 module:dtcm
from:0x020db57a kind:thumb_call_arm to:0x02011f3c module:main
+3 -2
View File
@@ -9,13 +9,14 @@ src/032_MapA1/Actor/ActorUnkKURI.cpp:
.text start:0x0211ad60 end:0x0211d46c
.init start:0x02123f0c end:0x02123f78
.ctor start:0x02124104 end:0x02124108
.bss start:0x02124800 end:0x021248f8
.data start:0x02124120 end:0x02124368
.bss start:0x02124800 end:0x021248e8
src/032_MapA1/Actor/ActorUnkMKUR.cpp:
.text start:0x0211d46c end:0x0211f8e0
.init start:0x02123f78 end:0x02123ff8
.ctor start:0x02124108 end:0x0212410c
.bss start:0x021248f8 end:0x02124954
.bss start:0x021248e8 end:0x02124954
src/032_MapA1/Actor/ActorUnkKETH.cpp:
.text start:0x0211f8e0 end:0x02121b20
+6 -6
View File
@@ -17,8 +17,8 @@ from:0x0211af50 kind:arm_call to:0x0211d310 module:overlay(32)
from:0x0211afb0 kind:arm_call to:0x02099dd4 module:overlay(0)
from:0x0211afd4 kind:load to:0x021242a8 add:0x8 module:overlay(32)
from:0x0211afd8 kind:load to:0x02124810 module:overlay(32)
from:0x0211afdc kind:load to:0x02124204 module:overlay(32)
from:0x0211afe0 kind:load to:0x021241bc module:overlay(32)
from:0x0211afdc kind:load to:0x021241fc module:overlay(32) add:0x8
from:0x0211afe0 kind:load to:0x021241b4 module:overlay(32) add:0x8
from:0x0211afe4 kind:load to:0x02124120 module:overlay(32)
from:0x0211aff0 kind:arm_call_thumb to:0x0209ba14 module:overlay(0)
from:0x0211b004 kind:arm_call_thumb to:0x0209b2c8 module:overlay(0)
@@ -237,7 +237,7 @@ from:0x0211d2f4 kind:arm_call to:0x0209af90 module:overlay(0)
from:0x0211d2fc kind:arm_call to:0x0211d150 module:overlay(32)
from:0x0211d308 kind:load to:0x027e09a8 module:dtcm
from:0x0211d318 kind:arm_call to:0x02099a50 module:overlay(0)
from:0x0211d33c kind:load to:0x0212417c module:overlay(32)
from:0x0211d33c kind:load to:0x02124174 module:overlay(32) add:0x8
from:0x0211d348 kind:arm_call to:0x0207d6b4 module:overlay(0)
from:0x0211d35c kind:arm_call to:0x0207d6b4 module:overlay(0)
from:0x0211d364 kind:arm_call to:0x02011ff4 module:main
@@ -272,7 +272,7 @@ from:0x0211d66c kind:arm_call to:0x02099dd4 module:overlay(0)
from:0x0211d688 kind:arm_call to:0x0211dba4 module:overlay(32)
from:0x0211d6a8 kind:load to:0x02124438 add:0x8 module:overlay(32)
from:0x0211d6ac kind:load to:0x02124910 module:overlay(32)
from:0x0211d6b0 kind:load to:0x02124204 module:overlay(32)
from:0x0211d6b0 kind:load to:0x021241fc module:overlay(32) add:0x8
from:0x0211d6b4 kind:load to:0x02124904 module:overlay(32)
from:0x0211d6b8 kind:load to:0x021248ec module:overlay(32)
from:0x0211d6bc kind:load to:0x02124368 module:overlay(32)
@@ -550,8 +550,8 @@ from:0x0211fb40 kind:arm_call to:0x0211fbd4 module:overlay(32)
from:0x0211fb60 kind:arm_call to:0x02099dd4 module:overlay(0)
from:0x0211fb90 kind:load to:0x021245ec add:0x8 module:overlay(32)
from:0x0211fb94 kind:load to:0x02124964 module:overlay(32)
from:0x0211fb98 kind:load to:0x02124204 module:overlay(32)
from:0x0211fb9c kind:load to:0x021241bc module:overlay(32)
from:0x0211fb98 kind:load to:0x021241fc module:overlay(32) add:0x8
from:0x0211fb9c kind:load to:0x021241b4 module:overlay(32) add:0x8
from:0x0211fba0 kind:load to:0x0211fbc0 module:overlay(32)
from:0x0211fba4 kind:load to:0x0212198c module:overlay(32)
from:0x0211fba8 kind:load to:0x02124498 module:overlay(32)
+35 -38
View File
@@ -2,16 +2,16 @@ _ZN19ActorProfileUnkKURI10GetProfileEv kind:function(arm,size=0xc) addr:0x0211ad
_ZN19ActorProfileUnkKURI6CreateEv kind:function(arm,size=0x24) addr:0x0211ad6c
_ZN19ActorProfileUnkKURIC1Ev kind:function(arm,size=0x5c) addr:0x0211ad90
_ZN12ActorUnkKURIC1Ev kind:function(arm,size=0x1fc) addr:0x0211adec
_ZN12ActorUnkKURI19func_ov032_02119248Ev kind:function(arm,size=0x14) addr:0x0211afe8
_ZN12ActorUnkKURI19func_ov032_0211925cEv kind:function(arm,size=0x14) addr:0x0211affc
_ZN12ActorUnkKURI19func_ov032_02119270Ev kind:function(arm,size=0x8c) addr:0x0211b010
_ZN16ActorUnkKURI_110D1Ev kind:function(arm,size=0x14) addr:0x0211afe8
_ZN16ActorUnkKURI_1BCD1Ev kind:function(arm,size=0x14) addr:0x0211affc
_ZN12ActorUnkKURID1Ev kind:function(arm,size=0x8c) addr:0x0211b010
_ZN12ActorUnkKURID0Ev kind:function(arm,size=0x94) addr:0x0211b09c
_ZN12ActorUnkKURI19func_ov032_02119390Ev kind:function(arm,size=0xc8) addr:0x0211b130
_ZN12ActorUnkKURI19func_ov032_02119458Ev kind:function(arm,size=0x84) addr:0x0211b1f8
_ZN12ActorUnkKURI19func_ov032_021194dcEv kind:function(arm,size=0x60) addr:0x0211b27c
_ZN12ActorUnkKURI19func_ov032_0211953cEv kind:function(arm,size=0x48) addr:0x0211b2dc
_ZN12ActorUnkKURI19func_ov032_02119584Ev kind:function(arm,size=0x358) addr:0x0211b324
_ZN12ActorUnkKURI19func_ov032_021198dcEv kind:function(arm,size=0xb4) addr:0x0211b67c
_ZN12ActorUnkKURI8vfunc_18Ei kind:function(arm,size=0xc8) addr:0x0211b130
_ZN12ActorUnkKURI8vfunc_1CEv kind:function(arm,size=0x84) addr:0x0211b1f8
_ZN12ActorUnkKURI19func_ov032_021194dcEs kind:function(arm,size=0x60) addr:0x0211b27c
_ZN12ActorUnkKURI8SetStateEs kind:function(arm,size=0x48) addr:0x0211b2dc
_ZN12ActorUnkKURI8vfunc_20Ev kind:function(arm,size=0x358) addr:0x0211b324
_ZN12ActorUnkKURI8vfunc_2CEi kind:function(arm,size=0xb4) addr:0x0211b67c
_ZN12ActorUnkKURI19func_ov032_02119990Ev kind:function(arm,size=0x7c) addr:0x0211b730
_ZN12ActorUnkKURI19func_ov032_02119a0cEv kind:function(arm,size=0x1dc) addr:0x0211b7ac
_ZN12ActorUnkKURI19func_ov032_02119be8Ev kind:function(arm,size=0x98) addr:0x0211b988
@@ -37,26 +37,26 @@ _ZN12ActorUnkKURI19func_ov032_0211ac94Ev kind:function(arm,size=0xac) addr:0x021
_ZN12ActorUnkKURI19func_ov032_0211ad40Ev kind:function(arm,size=0xb4) addr:0x0211cae0
_ZN12ActorUnkKURI19func_ov032_0211adf4Ev kind:function(arm,size=0x230) addr:0x0211cb94
_ZN12ActorUnkKURI19func_ov032_0211b024Ev kind:function(arm,size=0x40) addr:0x0211cdc4
_ZN12ActorUnkKURI19func_ov032_0211b064Ev kind:function(arm,size=0xb0) addr:0x0211ce04
_ZN12ActorUnkKURI19func_ov032_0211b064Ei kind:function(arm,size=0xb0) addr:0x0211ce04
_ZN12ActorUnkKURI19func_ov032_0211b114Ev kind:function(arm,size=0x68) addr:0x0211ceb4
_ZN12ActorUnkKURI19func_ov032_0211b17cEv kind:function(arm,size=0x14) addr:0x0211cf1c
_ZN12ActorUnkKURI19func_ov032_0211b190Ev kind:function(arm,size=0x50) addr:0x0211cf30
_ZN12ActorUnkKURI19func_ov032_0211b190Eii kind:function(arm,size=0x50) addr:0x0211cf30
_ZN12ActorUnkKURI19func_ov032_0211b1e0Ev kind:function(arm,size=0xb8) addr:0x0211cf80
_ZN12ActorUnkKURI19func_ov032_0211b298Ev kind:function(arm,size=0xe4) addr:0x0211d038
_ZN12ActorUnkKURI19func_ov032_0211b37cEv kind:function(arm,size=0x34) addr:0x0211d11c
_ZN12ActorUnkKURI19func_ov032_0211b37cEPS_t kind:function(arm,size=0x34) addr:0x0211d11c
_ZN12ActorUnkKURI19func_ov032_0211b3b0Ev kind:function(arm,size=0x58) addr:0x0211d150
_ZN12ActorUnkKURI19func_ov032_0211b408Ev kind:function(arm,size=0x168) addr:0x0211d1a8
_ZN12ActorUnkKURI19func_ov032_0211b570Ev kind:function(arm,size=0x30) addr:0x0211d310
_ZN12ActorUnkKURID1Ev kind:function(arm,size=0x14) addr:0x0211d340
_ZN12ActorUnkKURI19func_ov032_0211b5b4Ev kind:function(arm,size=0x1c) addr:0x0211d354
_ZN12ActorUnkKURI19func_ov032_0211b5d0Ev kind:function(arm,size=0x24) addr:0x0211d370
_ZN12ActorUnkKURI19func_ov032_0211b5f4Ev kind:function(arm,size=0x24) addr:0x0211d394
_ZN12ActorUnkKURI19func_ov032_0211b618Ev kind:function(arm,size=0x10) addr:0x0211d3b8
_ZN12ActorUnkKURI19func_ov032_0211b628Ev kind:function(arm,size=0x8) addr:0x0211d3c8
_ZN12ActorUnkKURI19func_ov032_0211b630Ev kind:function(arm,size=0x24) addr:0x0211d3d0
_ZN12ActorUnkKURI19func_ov032_0211b654Ev kind:function(arm,size=0x2c) addr:0x0211d3f4
_ZN12ActorUnkKURI19func_ov032_0211b680Ev kind:function(arm,size=0x1c) addr:0x0211d420
_ZN12ActorUnkKURI19func_ov032_0211b69cEv kind:function(arm,size=0x1c) addr:0x0211d43c
_ZN12ActorUnkKURI8vfunc_54Ei kind:function(arm,size=0x168) addr:0x0211d1a8
_ZN16ActorUnkKURI_268C1Ev kind:function(arm,size=0x30) addr:0x0211d310
_ZN16ActorUnkKURI_268D1Ev kind:function(arm,size=0x14) addr:0x0211d340
_ZN16ActorUnkKURI_268D0Ev kind:function(arm,size=0x1c) addr:0x0211d354
_ZN16ActorUnkKURI_2688vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x24) addr:0x0211d370
_ZN16ActorUnkKURI_1BC8vfunc_3CEv kind:function(arm,size=0x24) addr:0x0211d394
_ZN16ActorUnkKURI_1BC8vfunc_38Eii kind:function(arm,size=0x10) addr:0x0211d3b8
_ZN16ActorUnkKURI_1BC8vfunc_30Ev kind:function(arm,size=0x8) addr:0x0211d3c8
_ZN16ActorUnkKURI_1108vfunc_3CEv kind:function(arm,size=0x24) addr:0x0211d3d0
_ZN16ActorUnkKURI_1108vfunc_38Eii kind:function(arm,size=0x2c) addr:0x0211d3f4
_ZN16ActorUnkKURI_110D0Ev kind:function(arm,size=0x1c) addr:0x0211d420
_ZN16ActorUnkKURI_1BCD0Ev kind:function(arm,size=0x1c) addr:0x0211d43c
_ZN19ActorProfileUnkKURID1Ev kind:function(arm,size=0x14) addr:0x0211d458
_ZN19ActorProfileUnkMKUR10GetProfileEv kind:function(arm,size=0xc) addr:0x0211d46c
_ZN19ActorProfileUnkMKUR6CreateEv kind:function(arm,size=0x24) addr:0x0211d478
@@ -236,20 +236,17 @@ __sinit_MapObjectUnkSWSW.cpp kind:function(arm,size=0x50) addr:0x021240b4
.p__sinit_ActorUnkKETH.cpp kind:data(word) addr:0x0212410c
.p__sinit_ActorUnkNSSW.cpp kind:data(word) addr:0x02124110
.p__sinit_MapObjectUnkSWSW.cpp kind:data(word) addr:0x02124114
data_ov032_02124120 kind:data(any) addr:0x02124120
data_ov032_0212412c kind:data(any) addr:0x0212412c
data_ov032_02124144 kind:data(any) addr:0x02124144
data_ov032_0212415c kind:data(any) addr:0x0212415c
data_ov032_0212417c kind:data(any) addr:0x0212417c
_ZTV19data_ov032_02124190 kind:data(any) addr:0x02124190
data_ov032_021241ad kind:data(any) addr:0x021241ad ambiguous
data_ov032_021241bc kind:data(any) addr:0x021241bc
data_ov032_02124204 kind:data(any) addr:0x02124204
data_ov032_02124248 kind:data(any) addr:0x02124248
_ZTV19data_ov032_021242a8 kind:data(any) addr:0x021242a8
data_ov032_02124308 kind:data(any) addr:0x02124308
data_ov032_02124348 kind:data(any) addr:0x02124348 ambiguous
data_ov032_02124360 kind:data(any) addr:0x02124360 ambiguous
data_ov032_02122160 kind:data(any) addr:0x02124120
data_ov032_0212216c kind:data(any) addr:0x0212412c
data_ov032_02122184 kind:data(any) addr:0x02124144
data_ov032_0212219c kind:data(any) addr:0x0212415c
_ZTV16ActorUnkKURI_268 kind:data(any) addr:0x02124174
_ZTV19ActorProfileUnkKURI kind:data(any) addr:0x02124190
_ZTV16ActorUnkKURI_1BC kind:data(any) addr:0x021241b4
_ZTV16ActorUnkKURI_110 kind:data(any) addr:0x021241fc
data_ov032_02122288 kind:data(any) addr:0x02124248
_ZTV12ActorUnkKURI kind:data(any) addr:0x021242a8
data_ov032_02122348 kind:data(any) addr:0x02124308
data_ov032_02124368 kind:data(any) addr:0x02124368
data_ov032_02124374 kind:data(any) addr:0x02124374
data_ov032_0212438c kind:data(any) addr:0x0212438c
+27 -6
View File
@@ -97,9 +97,7 @@ public:
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ ActorRef mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 10 */ VecFx32 mUnk_10;
/* 1C */ u16 mUnk_1C;
/* 1E */ u16 mUnk_1E;
/* 20 */
@@ -228,7 +226,7 @@ public:
u32 func_ov000_02098800(bool param1);
bool func_ov000_02098838();
unk32 func_ov000_02098910(UnkStruct_ov031_Items_00 *param1, unk32 param2);
void func_ov000_02098b8c(unk32 param1, void *param2);
void func_ov000_02098b8c(unk32 param1, UnkStruct_ov031_Items_00 *param2);
s32 func_ov000_02098518(unk32 *param1);
VecFx32 *func_ov000_0209853c(unk32 param1);
s32 func_ov000_02098554();
@@ -237,6 +235,7 @@ public:
s32 func_ov000_02098584();
s32 func_ov000_020985f0(void *param1);
void func_ov000_0209862c(unk32 param1);
bool func_ov000_020986fc(unk32 param1);
void func_ov000_020989e0();
bool func_ov000_02098a60(unk32 param1);
void func_ov000_02098a88(unk32 param1, unk32 param2);
@@ -248,6 +247,7 @@ public:
// overlay 17
bool func_ov017_020beeec(unk32 param1);
void func_ov017_020bef88(Actor_vfunc_30 *param1, void *param2, unk32 param3);
void func_ov017_020bf3e0(unk32 param1, fx32 param2);
void func_ov017_020bf5c4(VecFx32 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_ov017_020bf9c8(Actor *param1);
void func_ov017_020bfa50(VecFx32 *param1, unk32 param2);
@@ -296,13 +296,23 @@ public:
Actor_C4_Base(&param1->mRef, param2) {}
};
class Actor_Derived2_A8_PTR {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */
};
class UnkStruct_ActorUnkCANS_224;
class Actor_Derived2 : public Actor {
public:
/* 00 (base) */
/* 94 */ unk32 mUnk_94;
/* 98 */ VecFx32 mUnk_98;
/* A4 */ unk32 mUnk_A4;
/* A8 */ void *mUnk_A8;
/* A4 */ VecFx32 const *mUnk_A4;
/* A8 */ Actor_Derived2_A8_PTR *mUnk_A8;
/* AC */ unk8 mUnk_AC;
/* AD */ unk8 mUnk_AD;
/* AE */
@@ -312,6 +322,17 @@ public:
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1);
/* 4C */ WEAK virtual ~Actor_Derived2() {}
/* 54 */ virtual void vfunc_54(unk32 param1);
void func_ov000_020990c0(Actor_9C *param2, unk32 param3, unk32 param4);
void func_ov000_020992dc();
unk32 func_ov000_02099450(void *param2, VecFx32 *param3, unk32 param4, u16 param5);
void func_ov000_020994a0();
void func_ov000_020997c4(unk32 param1);
void func_ov000_02098f34(VecFx32 *);
unk32 func_ov017_020bef4c(unk32 param1);
void func_ov017_020bf178(Actor_9C *param2, unk32 param3);
void func_ov017_020bf894(UnkStruct_ActorUnkCANS_224 *param1);
};
extern UnkStruct_ov000_020b539c data_ov000_020b539c_eur;
+1
View File
@@ -39,6 +39,7 @@ public:
~ActorManager();
// itcm
void func_01fff2fc(void (*callback)(Actor *, u16), unk32 param2);
Actor **func_01fff350(void *param1, Actor **ppActorTable);
Actor *func_01fff3b4(ActorRef ref);
+6 -6
View File
@@ -36,7 +36,7 @@ public:
~ActorProfile();
/* 00 */ virtual Actor *Create() = 0;
/* 04 */ virtual unk32 vfunc_04();
/* 04 */ virtual UnkActorFileSystem2 *vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
@@ -59,7 +59,7 @@ public:
ActorProfile_Derived1(ActorId actorId1, ActorId actorId2);
~ActorProfile_Derived1();
/* 04 */ virtual unk32 vfunc_04() override;
/* 04 */ virtual UnkActorFileSystem2 *vfunc_04() override;
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18() override;
@@ -73,10 +73,10 @@ public:
ActorProfile_Derived2(ActorId actorId1, ActorId actorId2) :
ActorProfile_Derived1(actorId1, actorId2) {}
/* 04 */ virtual unk32 vfunc_04() override; // func_ov000_02097944
/* 10 */ virtual void vfunc_10() override; // func_ov000_0209794c
/* 14 */ virtual void vfunc_14() override; // func_ov000_0209796c
/* 18 */ virtual void vfunc_18() override; // func_ov000_02097998
/* 04 */ virtual UnkActorFileSystem2 *vfunc_04() override; // func_ov000_02097944
/* 10 */ virtual void vfunc_10() override; // func_ov000_0209794c
/* 14 */ virtual void vfunc_14() override; // func_ov000_0209796c
/* 18 */ virtual void vfunc_18() override; // func_ov000_02097998
};
// typedef ActorProfile *(*GetActorProfile)();
+2 -2
View File
@@ -48,7 +48,7 @@ public:
/* 00 (base) */
/* 1C */
ActorTearLight_104_Base(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorTearLight_104_Base(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) :
UnkStruct_ov000_020b31a8(param1, param2, param3) {}
// data_ov071_021641e0
@@ -63,7 +63,7 @@ public:
/* 00 (base) */
/* 1C */
ActorTearLight_104(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorTearLight_104(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) :
ActorTearLight_104_Base(param1, param2, param3) {}
// data_ov071_02164c3c
+17 -8
View File
@@ -66,11 +66,11 @@ public:
/* 7C */ UnkSystem5 mUnk_7C;
/* 9C */ unk32 mUnk_9C;
UnkStruct_ov063_02162f14(void *param3, unk32 param4) :
UnkStruct_ov063_02162f14(ModelRender *param3, UnkActorFileSystem2 *param4) :
UnkStruct_ov000_020b31f0(&mUnk_2C, &mUnk_7C, param3, param4),
mUnk_2C(&mUnk_4C, NULL),
mUnk_7C(&mUnk_9C, NULL) {
if (param4 != 0) {
if (param4 != NULL) {
mUnk_7C.mpModel = mUnk_10;
mUnk_2C.mpModel = mUnk_10;
}
@@ -92,10 +92,23 @@ public:
class UnkStruct_ActorUnkCANS_224 {
public:
/* 00 (base) */
/* 04 */
/* 00 (base) */ UnkStruct_PlayerGet_ec mUnk_00[0x2];
/* 08 */ u16 mUnk_08;
/* 0A */ u16 mUnk_0A;
/* 0C */ STRUCT_PAD(0x0C, 0x10);
/* 10 */
UnkStruct_ActorUnkCANS_224(); // func_ov000_02099820
~UnkStruct_ActorUnkCANS_224() {
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_00; ptr != this->mUnk_00 + ARRAY_LEN(this->mUnk_00); ++ptr) {
ptr->func_ov000_020a0334();
}
this->mUnk_0A = 0x0;
this->mUnk_08 = 0x0;
}
void func_ov000_02099a0c();
};
class ActorUnkCANS : public Actor_Derived2 {
@@ -108,10 +121,6 @@ public:
/* 1F4 */ Actor_Derived1_94 mUnk_1F4;
/* 200 */ UnkStruct_ov063_02162e88 mUnk_200;
/* 224 */ UnkStruct_ActorUnkCANS_224 mUnk_224;
/* 226 */ STRUCT_PAD(0x226, 0x22C);
/* 22C */ unk16 mUnk_22C;
/* 22E */ unk16 mUnk_22E;
/* 230 */ STRUCT_PAD(0x230, 0x234);
/* 234 */ volatile u16 mUnk_234;
/* 236 */ u16 mUnk_236;
/* 238 */ volatile u16 mUnk_238;
+159 -70
View File
@@ -1,84 +1,174 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkCANS.hpp"
#include "ActorUnkZLSL_ZSRS.hpp"
#include "global.h"
#include "types.h"
class ActorUnkKURI_C4 : public Actor_C4 {
public:
ActorUnkKURI_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkKURI : public Actor {
class ModelRender_ov000_020b1a1c : public ModelRender {
public:
/* 00 (base) */
/* 94 */
ModelRender_ov000_020b1a1c(G3d_Model *pModel);
// data_ov000_020b1a1c
/* 0C */ virtual void vfunc_0C() override;
};
enum ActorUnkKURIState_ {
ActorUnkKURIState_0 = 0,
ActorUnkKURIState_1 = 1,
ActorUnkKURIState_2 = 2,
ActorUnkKURIState_3 = 3,
ActorUnkKURIState_4 = 4,
ActorUnkKURIState_5 = 5,
ActorUnkKURIState_6 = 6,
ActorUnkKURIState_7 = 7,
ActorUnkKURIState_8 = 8,
ActorUnkKURIState_9 = 9,
ActorUnkKURIState_10 = 10,
ActorUnkKURIState_11 = 11,
ActorUnkKURIState_Max
};
class ActorUnkKURI_268 : public UnkStruct_ov031_Items_00 {
public:
/* 00 (base) */
/* 04 */ STRUCT_PAD(0x04, 0x08);
/* 08 */ VecFx32 mUnk_08;
/* 14 */
ActorUnkKURI_268();
// data_ov032_021221bc
/* 00 */ virtual ~ActorUnkKURI_268();
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
};
class ActorUnkKURI_110 : public UnkStruct_ov000_020b31f0 {
public:
/* 00 (base) */
/* 2C */ UnkSystem5 mUnk_2C;
/* 4C */ unk32 mUnk_4C;
/* 50 */ STRUCT_PAD(0x50, 0x6C);
/* 6C */ UnkSystem5 mUnk_6C;
/* 8C */ unk32 mUnk_8C;
/* 90 */
ActorUnkKURI_110(ModelRender *param3, UnkActorFileSystem2 *param4) :
UnkStruct_ov000_020b31f0(&this->mUnk_2C, &this->mUnk_6C, param3, param4),
mUnk_2C(&this->mUnk_4C, NULL),
mUnk_6C(&this->mUnk_8C, NULL) {
if (param4 != NULL) {
this->mUnk_6C.mpModel = this->mUnk_10;
this->mUnk_2C.mpModel = this->mUnk_10;
}
}
// data_ov032_02122244
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
};
class ActorUnkKURI_1BC : public UnkStruct_ov000_020b31a8 {
public:
/* 00 (base) */
/* 1C */ UnkSystem5 mUnk_1C;
/* 3C */ unk32 mUnk_3C;
/* 40 */
ActorUnkKURI_1BC(ModelRender *param2, UnkActorFileSystem2 *param3) :
UnkStruct_ov000_020b31a8(&this->mUnk_1C, param2, param3),
mUnk_1C(&this->mUnk_3C, NULL) {
if (param3 != NULL) {
this->mUnk_1C.mpModel = this->mUnk_10;
}
}
// data data_ov032_021221fc
/* 30 */ virtual s8 vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
};
class ActorUnkKURI : public Actor_Derived2 {
public:
/* 000 (base) */
/* 0AE */ STRUCT_PAD(0x0AE, 0x0B0);
/* 0B0 */ ModelRender_ov000_020b1a1c mUnk_0B0;
/* 110 */ ActorUnkKURI_110 mUnk_110;
/* 1A0 */ STRUCT_PAD(0x1A0, 0x1BC);
/* 1BC */ ActorUnkKURI_1BC mUnk_1BC;
/* 1FC */ STRUCT_PAD(0x1FC, 0x218);
/* 218 */ unk16 mUnk_218;
/* 21C */ unk32 mUnk_21C;
/* 220 */ unk32 mUnk_220;
/* 224 */ unk16 mUnk_224;
/* 228 */ Actor_9C mUnk_228;
/* 248 */ UnkStruct_ActorUnkCANS_224 mUnk_248;
/* 258 */ Actor_Derived1_94 mUnk_258;
/* 264 */ unk32 mUnk_264;
/* 268 */ ActorUnkKURI_268 mUnk_268;
/* 27C */ VecFx32 mUnk_27C;
/* 288 */ VecFx32 mUnk_288;
/* 294 */ bool mUnk_294;
/* 296 */ volatile u16 mUnk_296;
/* 298 */ u16 mUnk_298;
/* 29A */
ActorUnkKURI();
/* 4C */ virtual ~ActorUnkKURI() override;
bool IsInternalTimerOut() {
if (this->mUnk_296 < this->mUnk_298) {
this->mUnk_296++;
return false;
}
void func_ov032_02119248(void);
void func_ov032_0211925c(void);
void func_ov032_02119270(void);
void func_ov032_02119390(void);
void func_ov032_02119458(void);
void func_ov032_021194dc(void);
void func_ov032_0211953c(void);
void func_ov032_02119584(void);
void func_ov032_021198dc(void);
void func_ov032_02119990(void);
void func_ov032_02119a0c(void);
void func_ov032_02119be8(void);
void func_ov032_02119c80(void);
void func_ov032_02119d7c(void);
void func_ov032_02119df4(void);
void func_ov032_02119e90(void);
void func_ov032_02119f40(void);
void func_ov032_0211a140(void);
void func_ov032_0211a20c(void);
void func_ov032_0211a484(void);
void func_ov032_0211a52c(void);
void func_ov032_0211a7b8(void);
void func_ov032_0211a86c(void);
void func_ov032_0211a950(void);
void func_ov032_0211a9c8(void);
void func_ov032_0211aa40(void);
void func_ov032_0211aac8(void);
void func_ov032_0211ab20(void);
void func_ov032_0211abc0(void);
void func_ov032_0211ac20(void);
void func_ov032_0211ac94(void);
void func_ov032_0211ad40(void);
void func_ov032_0211adf4(void);
void func_ov032_0211b024(void);
void func_ov032_0211b064(void);
void func_ov032_0211b114(void);
void func_ov032_0211b17c(void);
void func_ov032_0211b190(void);
void func_ov032_0211b1e0(void);
void func_ov032_0211b298(void);
void func_ov032_0211b37c(void);
void func_ov032_0211b3b0(void);
void func_ov032_0211b408(void);
void func_ov032_0211b570(void);
void func_ov032_0211b5b4(void);
void func_ov032_0211b5d0(void);
void func_ov032_0211b5f4(void);
void func_ov032_0211b618(void);
void func_ov032_0211b628(void);
void func_ov032_0211b630(void);
void func_ov032_0211b654(void);
void func_ov032_0211b680(void);
void func_ov032_0211b69c(void);
return true;
}
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 4C */ virtual ~ActorUnkKURI() override;
/* 54 */ virtual void vfunc_54(unk32 param1) override;
void func_ov032_021194dc(ActorState state);
void SetState(ActorState state);
void func_ov032_02119990();
void func_ov032_02119a0c();
void func_ov032_02119be8();
void func_ov032_02119c80();
void func_ov032_02119d7c();
void func_ov032_02119df4();
void func_ov032_02119e90();
void func_ov032_02119f40();
void func_ov032_0211a140();
void func_ov032_0211a20c();
void func_ov032_0211a484();
void func_ov032_0211a52c();
void func_ov032_0211a7b8();
void func_ov032_0211a86c();
void func_ov032_0211a950();
void func_ov032_0211a9c8();
void func_ov032_0211aa40();
void func_ov032_0211aac8();
void func_ov032_0211ab20();
void func_ov032_0211abc0();
void func_ov032_0211ac20();
void func_ov032_0211ac94();
void func_ov032_0211ad40();
void func_ov032_0211adf4();
void func_ov032_0211b024();
bool func_ov032_0211b064(unk32 param1);
bool func_ov032_0211b114();
bool func_ov032_0211b17c();
void func_ov032_0211b190(s32 param1, s32 param2);
void func_ov032_0211b1e0();
void func_ov032_0211b298();
static void func_ov032_0211b37c(ActorUnkKURI *, u16 param1);
void func_ov032_0211b3b0();
};
class ActorProfileUnkKURI : public ActorProfile_Derived1 {
@@ -86,7 +176,6 @@ public:
/* 00 (base) */
ActorProfileUnkKURI();
~ActorProfileUnkKURI();
/* 0C */ virtual Actor *Create();
+1 -1
View File
@@ -12,7 +12,7 @@ public:
/* 00 (base) */
/* 40 */
UnkStruct_ov063_02163784(ModelRender *param1, unk32 param2) :
UnkStruct_ov063_02163784(ModelRender *param1, UnkActorFileSystem2 *param2) :
UnkStruct_ov063_021632e4(param1, param2) {};
};
+1 -1
View File
@@ -16,7 +16,7 @@ public:
/* 3C */ void *mUnk_3C;
/* 40 */
UnkStruct_ov063_021632e4(ModelRender *param1, unk32 param2) :
UnkStruct_ov063_021632e4(ModelRender *param1, UnkActorFileSystem2 *param2) :
UnkStruct_ov000_020b31a8(&mUnk_1C, param1, param2),
mUnk_1C(&mUnk_3C, NULL) {
if (param2 != 0) {
+8 -7
View File
@@ -54,7 +54,7 @@ public:
/* 19 */ STRUCT_PAD(0x19, 0x1C);
/* 1C */
UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender *param2, unk32 param3);
UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3);
// data_ov000_020b31a8
/* 00 */ virtual ~UnkStruct_ov000_020b31a8();
@@ -73,6 +73,7 @@ public:
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
/* 3C */ virtual void vfunc_3C();
void func_ov000_02099ddc(ActorUnkZLSL_AnimationTag param1, unk32 param2, unk32 param3);
void func_ov000_02099ff8(ActorUnkZLSL_AnimationTag param1, unk32 param2);
};
@@ -84,10 +85,10 @@ public:
/* 60 */ STRUCT_PAD(0x60, 0x7C);
/* 7C */
ActorUnkZLSL_27CC(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorUnkZLSL_27CC(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) :
UnkStruct_ov000_020b31a8(param1, param2, param3),
mUnk_1C(&mUnk_5C, NULL) {
if (param3 != 0x0) {
if (param3 != NULL) {
this->mUnk_1C.mpModel = this->mUnk_10;
}
}
@@ -104,7 +105,7 @@ public:
/* 00 (base) */
/* 04 */
ActorUnkZLSL_2700(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorUnkZLSL_2700(UnkSystem5 *param1, ModelRender *param2, UnkActorFileSystem2 *param3) :
ActorUnkZLSL_27CC(param1, param2, param3) {}
// data_ov031_021136e4
@@ -122,10 +123,10 @@ public:
/* 2A */ unk16 mUnk_2A;
/* 2C */
UnkStruct_ov000_020b31f0(void *param1, void *param2, void *param3, unk32 param4);
UnkStruct_ov000_020b31f0(UnkSystem5 *param1, UnkSystem5 *param2, ModelRender *param3, UnkActorFileSystem2 *param4);
// data_ov000_020b31f0
/* 00 */ virtual ~UnkStruct_ov000_020b31f0() override;
/* 00 */ virtual ~UnkStruct_ov000_020b31f0() override; // In thumb
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual UnkSystem5 *vfunc_10() override;
@@ -150,7 +151,7 @@ public:
/* 1C */ UnkSystem5 *mUnk_1C;
/* 20 */
UnkStruct_ov031_0211372c(void *param1, void *param2, void *param3, unk32 param4);
UnkStruct_ov031_0211372c(UnkSystem5 *param1, UnkSystem5 *param2, ModelRender *param3, UnkActorFileSystem2 *param4);
// data_ov031_0211372c
/* 18 */ virtual void vfunc_18() override;
-6
View File
@@ -116,12 +116,6 @@ public:
}
};
class UnkStruct_PlayerGet_50 {
public:
unk32 func_01ff8fa8();
unk32 func_02015080(unk32 param1);
};
class UnkStruct_PlayerGet_fc {
public:
/* 00 */ UnkStruct_PlayerGet_ec *mUnk_00;
+17 -6
View File
@@ -9,6 +9,7 @@
#include <nns/g3d/g3d.h>
class UnkSystem5;
class UnkStruct_PlayerGet_50;
extern "C" void *func_ov000_02057750(size_t allocSize);
struct ActorUnkZLSL_AnimationTag {
@@ -144,16 +145,26 @@ public:
unk32 func_ov000_02057ef4();
};
class UnkSystem5 {
class UnkStruct_PlayerGet_50 {
public:
/* 00 */ G3d_Model *mpModel;
/* 04 */ unk16 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 00 (base) */ unk16 mUnk_00;
/* 02 */ unk16 mUnk_02;
/* 04 */ fx32 mUnk_04;
/* 08 */ fx32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1C */ unk32 mUnk_1C;
/* 18 */
unk32 func_01ff8fa8();
unk32 func_02015080(unk32 param1);
};
class UnkSystem5 {
public:
/* 00 */ G3d_Model *mpModel;
/* 04 */ UnkStruct_PlayerGet_50 mUnk_04;
/* 1C */ void *mUnk_1C; // this is param1
/* 20 */
UnkSystem5(void *param1, G3d_Model *pModel);
+4 -3
View File
@@ -10,9 +10,10 @@
class UnkStruct_027e0cd8_0C_Base;
struct UnkStruct_ov000_0207de98 {
VecFx32 vec;
unk32 param1;
unk32 param2;
/* 00 */ VecFx32 vec;
/* 0C */ unk32 param1;
/* 10 */ unk32 param2;
/* 14 */
};
class UnkStruct_027e09c0_60 {
+4 -4
View File
@@ -263,8 +263,8 @@ void ActorBomb::func_ov031_020e1b1c() {
this->mUnk_0F4.func_ov000_020577a4(param1, 0x0, param3);
this->mUnk_0F4.mUnk_08 = 0x1000;
this->mUnk_0F4.mUnk_04 = data_ov031_02112be8.unknown;
this->mUnk_0F4.mUnk_04.mUnk_04 = 0x1000;
this->mUnk_0F4.mUnk_04.mUnk_00 = data_ov031_02112be8.unknown;
this->mUnk_094.func_ov000_02057cf4();
@@ -288,8 +288,8 @@ void ActorBomb::func_ov031_020e1b7c() {
this->func_ov031_020e1b1c();
return;
}
fx32 delta = this->mUnk_1EC - this->mUnk_1EA;
this->mUnk_0F4.mUnk_08 = FLOAT_TO_FX32(1.5f) - delta * FLOAT_TO_FX32(0.01985f);
fx32 delta = this->mUnk_1EC - this->mUnk_1EA;
this->mUnk_0F4.mUnk_04.mUnk_04 = FLOAT_TO_FX32(1.5f) - delta * FLOAT_TO_FX32(0.01985f);
this->mUnk_0F4.func_01ffc3b4();
if (delta > 0x0) {
+2 -2
View File
@@ -36,7 +36,7 @@ extern "C" void func_020169d4(VecFx32 *, VecFx32 *, unk16 *, const char *);
extern "C" bool func_02016c68(VecFx32 *, VecFx32 *, ActorRef);
extern "C" Actor *func_02016fbc(ActorId, VecFx32 *, unk32);
extern "C" void func_ov000_020578a4(unk32);
extern "C" void func_ov000_020578a4(UnkSystem5 *);
extern "C" void func_ov000_02057c98(ModelRender *, UnkSystem5 *);
static char data_ov031_021135f0[0x4] = "\x00 ";
@@ -1424,7 +1424,7 @@ void ActorUnkZLSL_27CC::vfunc_3C() {
}
void ActorUnkZLSL_27CC::vfunc_38(unk32 param1, unk32 param2) {
func_ov000_020578a4((unk32) this->mUnk_04);
func_ov000_020578a4(this->mUnk_04);
}
s8 ActorUnkZLSL_27CC::vfunc_30() {
+925 -57
View File
@@ -1,7 +1,71 @@
//! TODO: This file was generated automatically and might contain errors
#define VECFX32_CTORS
#include "Actor/ActorUnkKURI.hpp"
#include "Actor/ActorManager.hpp"
#include "Actor/Actor_Derived1.hpp"
#include "System/Random.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e09c0.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
#include "Unknown/UnkStruct_027e0d38.hpp"
#include "nitro/os.h"
extern "C" u16 data_ov000_020aecf4[];
extern "C" unk32 data_ov000_020aecf8;
extern "C" bool func_01ff916c(void *, int, int);
extern "C" unk32 func_01ff9258(fx32, fx32);
extern "C" unk32 func_01ff930c(s16 *, s16, unk32);
extern "C" void func_01ff9318(void *, unk32, unk32);
extern "C" void func_01ff941c(VecFx32 *, VecFx32 *);
extern "C" fx32 func_01ffb428(unk32, unk32);
extern "C" unk32 func_01ffb464(unk32 param1);
extern "C" fx32 func_01ffb66c(unk32, unk32);
extern "C" fx16 func_01ffbbe0(fx32, fx32);
extern "C" void func_01ffc634(ModelRender *, VecFx32 *, UnkAngleStruct, VecFx32 *);
extern "C" bool func_02016ae0(VecFx32 *, VecFx32 *, UnkAngleStruct, unk32, unk32);
extern "C" Actor *func_02016fbc(ActorId, VecFx32 *, unk32);
extern "C" bool func_ov000_0205adfc(VecFx32 *, VecFx32 *);
extern "C" void func_ov000_020986b4(s16 *param1, Actor_Derived2 *param2, unk32 param3);
extern "C" void func_ov017_020c2438(unk32 *, unk32, VecFx32 *, unk32, unk32);
extern "C" void func_ov017_020c26f8(unk32, VecFx32 *, unk32, unk32);
static const VecFx32 data_ov032_02122160(FLOAT_TO_FX32(1.7f), FLOAT_TO_FX32(0.5f), FLOAT_TO_FX32(1.7f));
static ActorUnkZLSL_AnimationTag data_ov032_02122184 = {.index = 0, .name = "walk", .unknown = 0x0};
static ActorUnkZLSL_AnimationTag data_ov032_0212219c = {.index = 1, .name = "discover", .unknown = 0x1};
static ActorUnkZLSL_AnimationTag data_ov032_0212216c = {.index = 0, .name = "KURI", .unknown = 0x1};
static PTMF<ActorUnkKURI> data_ov032_02122288[ActorUnkKURIState_Max] = {
ActorUnkKURI::func_ov032_02119a0c, // ActorUnkKURIState_0
ActorUnkKURI::func_ov032_02119c80, // ActorUnkKURIState_1
ActorUnkKURI::func_ov032_02119df4, // ActorUnkKURIState_2
ActorUnkKURI::func_ov032_02119f40, // ActorUnkKURIState_3
ActorUnkKURI::func_ov032_0211a20c, // ActorUnkKURIState_4
ActorUnkKURI::func_ov032_0211a52c, // ActorUnkKURIState_5
ActorUnkKURI::func_ov032_0211a86c, // ActorUnkKURIState_6
ActorUnkKURI::func_ov032_0211aac8, // ActorUnkKURIState_7
ActorUnkKURI::func_ov032_0211abc0, // ActorUnkKURIState_8
ActorUnkKURI::func_ov032_0211a9c8, // ActorUnkKURIState_9
ActorUnkKURI::func_ov032_0211ac94, // ActorUnkKURIState_10
ActorUnkKURI::func_ov032_0211adf4 // ActorUnkKURIState_11
};
static PTMF<ActorUnkKURI> data_ov032_02122348[ActorUnkKURIState_Max] = {
ActorUnkKURI::func_ov032_02119990, // ActorUnkKURIState_0
ActorUnkKURI::func_ov032_02119be8, // ActorUnkKURIState_1
ActorUnkKURI::func_ov032_02119d7c, // ActorUnkKURIState_2
ActorUnkKURI::func_ov032_02119e90, // ActorUnkKURIState_3
ActorUnkKURI::func_ov032_0211a140, // ActorUnkKURIState_4
ActorUnkKURI::func_ov032_0211a484, // ActorUnkKURIState_5
ActorUnkKURI::func_ov032_0211a7b8, // ActorUnkKURIState_6
ActorUnkKURI::func_ov032_0211aa40, // ActorUnkKURIState_7
ActorUnkKURI::func_ov032_0211ab20, // ActorUnkKURIState_8
ActorUnkKURI::func_ov032_0211a950, // ActorUnkKURIState_9
ActorUnkKURI::func_ov032_0211ac20, // ActorUnkKURIState_10
ActorUnkKURI::func_ov032_0211ad40 // ActorUnkKURIState_11
};
DECL_PROFILE(ActorProfileUnkKURI);
@@ -10,63 +74,867 @@ Actor *ActorProfileUnkKURI::Create() {
}
ActorProfileUnkKURI::ActorProfileUnkKURI() :
ActorProfile_Derived1(ActorId_KURI) {}
ActorProfile_Derived1(ActorId_KURI) {
this->mUnk_04.Init(FLOAT_TO_FX32(0.4f));
this->vfunc_04()->mUnk_15 = true;
}
ActorUnkKURI::ActorUnkKURI() {}
// non-matching
ActorUnkKURI::ActorUnkKURI() :
mUnk_0B0(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkKURI)->vfunc_04()->mUnk_50)),
mUnk_110(&this->mUnk_0B0, GET_PROFILE(ActorProfileUnkKURI)->vfunc_04()),
mUnk_1BC(&this->mUnk_0B0, GET_PROFILE(ActorProfileUnkKURI)->vfunc_04()),
mUnk_218(0x0),
mUnk_21C(0x0),
mUnk_220(0x7B),
mUnk_224(0x0),
mUnk_264(0x3800) {
SET_FLAG(this->mFlags, ActorFlag_6);
SET_FLAG(this->mFlags, ActorFlag_13);
void ActorUnkKURI::func_ov032_02119248(void) {}
void ActorUnkKURI::func_ov032_0211925c(void) {}
void ActorUnkKURI::func_ov032_02119270(void) {}
void ActorUnkKURI::func_ov032_02119390(void) {}
void ActorUnkKURI::func_ov032_02119458(void) {}
void ActorUnkKURI::func_ov032_021194dc(void) {}
void ActorUnkKURI::func_ov032_0211953c(void) {}
void ActorUnkKURI::func_ov032_02119584(void) {}
void ActorUnkKURI::func_ov032_021198dc(void) {}
void ActorUnkKURI::func_ov032_02119990(void) {}
void ActorUnkKURI::func_ov032_02119a0c(void) {}
void ActorUnkKURI::func_ov032_02119be8(void) {}
void ActorUnkKURI::func_ov032_02119c80(void) {}
void ActorUnkKURI::func_ov032_02119d7c(void) {}
void ActorUnkKURI::func_ov032_02119df4(void) {}
void ActorUnkKURI::func_ov032_02119e90(void) {}
void ActorUnkKURI::func_ov032_02119f40(void) {}
void ActorUnkKURI::func_ov032_0211a140(void) {}
void ActorUnkKURI::func_ov032_0211a20c(void) {}
void ActorUnkKURI::func_ov032_0211a484(void) {}
void ActorUnkKURI::func_ov032_0211a52c(void) {}
void ActorUnkKURI::func_ov032_0211a7b8(void) {}
void ActorUnkKURI::func_ov032_0211a86c(void) {}
void ActorUnkKURI::func_ov032_0211a950(void) {}
void ActorUnkKURI::func_ov032_0211a9c8(void) {}
void ActorUnkKURI::func_ov032_0211aa40(void) {}
void ActorUnkKURI::func_ov032_0211aac8(void) {}
void ActorUnkKURI::func_ov032_0211ab20(void) {}
void ActorUnkKURI::func_ov032_0211abc0(void) {}
void ActorUnkKURI::func_ov032_0211ac20(void) {}
void ActorUnkKURI::func_ov032_0211ac94(void) {}
void ActorUnkKURI::func_ov032_0211ad40(void) {}
void ActorUnkKURI::func_ov032_0211adf4(void) {}
void ActorUnkKURI::func_ov032_0211b024(void) {}
void ActorUnkKURI::func_ov032_0211b064(void) {}
void ActorUnkKURI::func_ov032_0211b114(void) {}
void ActorUnkKURI::func_ov032_0211b17c(void) {}
void ActorUnkKURI::func_ov032_0211b190(void) {}
void ActorUnkKURI::func_ov032_0211b1e0(void) {}
void ActorUnkKURI::func_ov032_0211b298(void) {}
void ActorUnkKURI::func_ov032_0211b37c(void) {}
void ActorUnkKURI::func_ov032_0211b3b0(void) {}
void ActorUnkKURI::func_ov032_0211b408(void) {}
void ActorUnkKURI::func_ov032_0211b570(void) {}
void ActorUnkKURI::func_ov032_0211b5b4(void) {}
void ActorUnkKURI::func_ov032_0211b5d0(void) {}
void ActorUnkKURI::func_ov032_0211b5f4(void) {}
void ActorUnkKURI::func_ov032_0211b618(void) {}
void ActorUnkKURI::func_ov032_0211b628(void) {}
void ActorUnkKURI::func_ov032_0211b630(void) {}
void ActorUnkKURI::func_ov032_0211b654(void) {}
void ActorUnkKURI::func_ov032_0211b680(void) {}
void ActorUnkKURI::func_ov032_0211b69c(void) {}
this->mUnk_228.mUnk_04 |= 0x8000;
this->mUnk_294 = true;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_288);
Actor_38 *actor_38 = &this->mUnk_258.mUnk_00;
actor_38->mUnk_08 = 0x1;
this->mUnk_38 = actor_38;
this->mUnk_296 = 0x0;
this->mUnk_298 = 0x0;
VecFx32_Init(FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), &this->mUnk_27C);
this->func_ov000_0209862c(0x4);
SET_FLAG(this->mFlags, ActorFlag_9);
this->mUnk_A4 = &data_ov032_02122160;
}
ActorUnkKURI::~ActorUnkKURI() {}
ActorProfileUnkKURI::~ActorProfileUnkKURI() {}
bool ActorUnkKURI::vfunc_18(unk32 param1) {
if (this->Actor::func_ov000_02098a60(0x1)) {
this->func_ov000_020984d0();
return true;
}
if (this->mUnk_5C.mParams[0] == 0x1) {
this->mUnk_1BC.func_ov000_02099ddc(data_ov032_0212216c, 0x1000, 0x1000);
this->mUnk_48 = 0xC;
} else {
this->mUnk_1BC.func_ov000_02099ddc(data_ov032_0212216c, 0x1000, 0x0);
this->mUnk_48 = 0x6;
}
return true;
}
// non-matching
void ActorUnkKURI::vfunc_1C() {
if (this->mUnk_5C.mParams[0] == 0x2) {
this->mUnk_294 = false;
Actor *actor = func_02016fbc(ActorId_Soldier, &this->mPos, 0x0);
if (actor == NULL) {
this->SetState(ActorUnkKURIState_0);
return;
}
fx32 deltaZ = actor->mPos.z - this->mPos.z;
fx32 deltaX = actor->mPos.x - this->mPos.x;
this->mAngle = func_01ffbbe0(deltaX, deltaZ);
this->SetState(ActorUnkKURIState_11);
return;
}
this->SetState(ActorUnkKURIState_0);
}
void ActorUnkKURI::func_ov032_021194dc(ActorState state) {
this->mUnk_2C = data_ov000_020aecf8;
this->mUnk_218 = 0x0;
if (this->mState != ActorUnkKURIState_11) {
return;
}
unk32 param2 = 0xA;
if (state == ActorUnkKURIState_1) {
param2 = 0x10;
}
if (this->mUnk_294) {
return;
}
gpActorManager->func_01fff2fc((void (*)(Actor *, u16)) &ActorUnkKURI::func_ov032_0211b37c, param2);
}
void ActorUnkKURI::SetState(ActorState state) {
this->func_ov032_021194dc(state);
this->mState = state;
CALL_PTMF(PTMF<ActorUnkKURI>, data_ov032_02122348[this->mState]);
}
void ActorUnkKURI::vfunc_20() {
if (!this->Actor_Derived2::func_ov017_020bef4c(0x4000) && mUnk_48 != 0) {
bool var_r1 = true;
bool var_r2 = true;
if (this->mState != ActorUnkKURIState_8 && this->mState != ActorUnkKURIState_7) {
var_r2 = false;
}
if (var_r2 == 0 && this->mUnk_5C.mParams[0] != 2) {
var_r1 = false;
}
if (var_r1 == 0) {
return;
}
}
this->mUnk_3C = &this->mUnk_228;
CALL_PTMF(PTMF<ActorUnkKURI>, data_ov032_02122288[this->mState]);
this->Actor_Derived2::func_ov017_020bf894(&this->mUnk_248);
this->Actor::func_ov000_02098838();
this->func_ov032_0211b298();
VecFx32_Copy(&this->mPos, &this->mPrevPos);
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
this->Actor::func_ov000_02098b8c(0x1, &this->mUnk_268);
if (this->mUnk_46 & 0x1) {
this->mVel.y = FLOAT_TO_FX32(0.0f);
}
if (this->func_ov032_0211b17c()) {
return;
}
this->Actor::func_ov000_020989e0();
bool var = true;
if (this->mUnk_228.mUnk_08 & 0x3FFFF) {
var = false;
switch (this->mUnk_228.mUnk_1C) {
case 0xE:
if (!this->Actor::func_ov000_020986fc(0) && !this->Actor::func_ov000_020986fc(1)) {
var = true;
break;
}
case 0xF:
this->Actor_Derived2::func_ov000_020990c0(&this->mUnk_228, 0, 0);
this->SetState(ActorUnkKURIState_6);
break;
case 0xC:
this->Actor_Derived2::func_ov017_020bf178(&this->mUnk_228, 1);
data_027e09a8->func_ov000_02071b30(0x983C, &this->mPos, 0x0);
this->mUnk_248.func_ov000_02099a0c();
this->SetState(ActorUnkKURIState_7);
break;
case 0x4:
if (data_027e0d38->func_ov031_020d9c04(0x1, 0x0, 0x0)) {
this->SetState(ActorUnkKURIState_8);
}
break;
default:
this->mUnk_48 -= this->mUnk_228.mUnk_1E;
this->Actor_Derived2::func_ov000_020990c0(&this->mUnk_228, 0x0, 0x0);
data_027e09a8->func_ov000_02071b30(0x983C, &this->mPos, 0x0);
this->SetState(ActorUnkKURIState_6);
break;
}
}
if (var && (this->Actor::func_ov000_02098ab4(0x2, 0x0, 0x1, NULL) & 1) && (this->mState == ActorUnkKURIState_3)) {
this->SetState(ActorUnkKURIState_5);
}
if (GET_FLAG(this->mFlags, ActorFlag_14)) {
this->mUnk_110.vfunc_34();
}
if (!GET_FLAG(this->mFlags, ActorFlag_Alive)) {
return;
}
if (this->func_ov032_0211b17c()) {
return;
}
VecFx32 vec = this->mPos;
UnkStruct_ov000_0207de98 stack;
VecFx32_Copy(&vec, &stack.vec);
stack.param1 = 0x548;
stack.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &stack, this->mUnk_38);
}
void ActorUnkKURI::vfunc_2C(unk32 param1) {
if (!this->Actor::func_01fff5d0(param1, 0x0)) {
return;
}
this->func_ov017_020bf5c4(&this->mPos, 0x548, 0x548, 0x1F, 0x0);
VecFx32 sp14;
VecFx32_Copy(&this->mUnk_27C, &sp14);
func_01ff941c(&sp14, &this->mUnk_98);
VecFx32 sp08 = this->mPos;
sp08.y += this->mUnk_288.y;
func_01ffc634(&this->mUnk_0B0, &sp14, this->mAngleStruct, &sp08);
}
void ActorUnkKURI::func_ov032_02119990() {
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_264 = 0x3800;
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_220 = 0x7B;
}
// non-matching (regalloc)
void ActorUnkKURI::func_ov032_02119a0c() {
switch (this->mUnk_218) {
case 0x0:
unk32 var;
if (gRandom.Next32(0) & 0x80000000) {
var = 0x1;
} else {
var = -0x1;
}
this->mUnk_21C = var;
this->mUnk_52 = gRandom.Next32(0x15) + 0x1E;
this->mUnk_50 = 0x00;
++this->mUnk_218;
break;
case 0x1:
this->mUnk_224 = this->mUnk_21C * gRandom.Next32(0x38E) + this->mAngle;
if (func_01ff930c(&this->mAngle, this->mUnk_224, 0x71C)) {
u16 angle = this->mAngle;
this->mVel.x = MUL_FX32(SIN(angle), this->mUnk_220);
this->mVel.z = MUL_FX32(COS(angle), this->mUnk_220);
if (this->func_ov032_0211b064(0x0)) {
this->SetState(ActorUnkKURIState_1);
break;
}
if (this->IsTimerOut()) {
this->SetState(ActorUnkKURIState_0);
}
}
break;
default:
break;
}
this->func_ov032_0211b1e0();
}
void ActorUnkKURI::func_ov032_02119be8() {
this->mUnk_264 = 0x4800;
this->mUnk_110.vfunc_1C(data_ov032_0212219c, 0x14CD, 0x19A, 0x0);
data_027e09a8->func_ov000_02071b30(0x9836, &this->mPos, 0x0);
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
}
// non-matching
void ActorUnkKURI::func_ov032_02119c80() {
UnkStruct_PlayerGet_50 *playerGet50 = this->mUnk_110.vfunc_28();
fx32 val = func_01ffb428(playerGet50->mUnk_10 - playerGet50->mUnk_08, 0x14CD);
val >>= 0xC;
s16 var;
func_ov000_020986b4(&var, this, 0x0);
if (val > 0x0) {
unk32 param2 = func_01ffb464(val << 0xC);
func_01ff9318(&this->mAngle, var, param2);
}
if (this->mUnk_110.vfunc_28()->func_01ff8fa8() == 0x0) {
return;
}
data_027e0cec->func_ov000_0209feac(0x880, &this->mPos, 0x2, 0x0, 0x0);
if (this->mUnk_5C.mParams[0] == 0x1 && !this->func_ov032_0211b114()) {
this->SetState(ActorUnkKURIState_4);
return;
}
this->SetState(ActorUnkKURIState_3);
}
void ActorUnkKURI::func_ov032_02119d7c() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_52 = 0x14;
this->mUnk_50 = 0x00;
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
}
// non-matching
void ActorUnkKURI::func_ov032_02119df4() {
s16 var;
s16 delta = this->mUnk_52 - this->mUnk_50;
func_ov000_020986b4(&var, this, 0x0);
s16 val = var;
if (delta > 0x0) {
func_01ff9318(&this->mAngle, val, func_01ffb464(delta << 0xC));
}
if (this->IsTimerOut()) {
this->SetState(ActorUnkKURIState_3);
}
this->func_ov032_0211b1e0();
}
// non-matching
void ActorUnkKURI::func_ov032_02119e90() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_288.x = func_01ffb66c(0x1800, func_01ffb428(0x148, 0x14) >> 0xC);
this->mUnk_50 = 0x0;
this->mUnk_52 = 0xB4;
if (this->mUnk_5C.mParams[0] == 0x2) {
this->mUnk_264 = 0x14000;
} else {
this->mUnk_264 = 0x4800;
}
this->mUnk_220 = 0x0;
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
}
// non-matching (case 1)
void ActorUnkKURI::func_ov032_02119f40() {
if (this->IsTimerOut()) {
this->mUnk_218 = 0x2;
}
switch (this->mUnk_218) {
case 0x0:
this->mUnk_220 += 0x14;
fx32 newValAdd = this->mUnk_110.vfunc_28()->mUnk_04 + this->mUnk_288.x;
this->mUnk_110.vfunc_28()->mUnk_04 = newValAdd;
if (this->mUnk_220 < 0x148) {
break;
}
this->mUnk_220 = 0x148;
this->mUnk_110.vfunc_28()->mUnk_04 = FLOAT_TO_FX32(2.5f);
++this->mUnk_218;
break;
case 0x1:
s16 var;
s16 *r5 = &var;
func_ov000_020986b4(r5, this, 0x0);
func_01ff930c(&this->mAngle, *r5, 0x2D8);
if (!this->func_ov032_0211b064(0x1)) {
++this->mUnk_218;
}
break;
case 0x2:
fx32 newValSub = this->mUnk_110.vfunc_28()->mUnk_04 - this->mUnk_288.x;
this->mUnk_110.vfunc_28()->mUnk_04 = newValSub;
this->mUnk_220 -= 0x14;
if (this->mUnk_220 > 0x0) {
break;
}
this->mUnk_220 = 0x0;
this->mUnk_110.vfunc_28()->mUnk_04 = FLOAT_TO_FX32(1.0f);
this->SetState(ActorUnkKURIState_9);
break;
default:
_OS_Panic();
break;
}
u16 angle = this->mAngle;
this->mVel.x = MUL_FX32(SIN(angle), this->mUnk_220);
this->mVel.z = MUL_FX32(COS(angle), this->mUnk_220);
this->func_ov032_0211b1e0();
}
void ActorUnkKURI::func_ov032_0211a140() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x2000, 0x19A, 0x0);
this->mUnk_220 = 0x11F;
this->mUnk_264 = 0x4800;
unk32 var;
if (gRandom.Next32(0) & 0x80000000) {
var = 1;
} else {
var = -1;
}
this->mUnk_21C = var;
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_52 = 0x1E;
this->mUnk_50 = 0x00;
}
// non-matching
void ActorUnkKURI::func_ov032_0211a20c() {}
void ActorUnkKURI::func_ov032_0211a484() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, this->mUnk_110.vfunc_28()->mUnk_04, 0x19A, 0x0);
fx32 val = func_01ffb428(this->mUnk_220, 0x14);
this->mUnk_288.x = func_01ffb66c(0x1000 - this->mUnk_110.vfunc_28()->mUnk_04, val >> 0xC);
}
// non-matching
void ActorUnkKURI::func_ov032_0211a52c() {
switch (this->mUnk_218) {
case 0x0:
this->mUnk_110.vfunc_28()->mUnk_04 = this->mUnk_110.vfunc_28()->mUnk_04 + this->mUnk_288.x;
unk32 val = this->mUnk_220 - 0x14;
fx32 sinValue = SIN((u16) this->mAngle);
fx32 cosValue = COS((u16) this->mAngle);
this->mUnk_220 = val;
this->mVel.x = MUL_FX32(sinValue, val);
this->mVel.z = MUL_FX32(cosValue, val);
if (val > 0x0) {
return;
}
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_220 = 0x0;
this->mUnk_110.vfunc_28()->mUnk_04 = FLOAT_TO_FX32(1.0f);
++this->mUnk_218;
break;
case 0x1:
this->mUnk_110.vfunc_1C(data_ov032_0212219c, 0x1000, 0x19A, 0x0);
data_027e09a8->func_ov000_02071b30(0x9836, &this->mPos, 0x0);
++this->mUnk_218;
break;
case 0x2:
if (!this->mUnk_110.vfunc_28()->func_01ff8fa8()) {
return;
}
data_027e0cec->func_ov000_0209feac(0x880, &this->mPos, 0x2, 0x0, 0x0);
this->mUnk_110.vfunc_28()->mUnk_02 = 0x0;
this->mUnk_110.vfunc_28()->mUnk_08 = FLOAT_TO_FX32(0.0f);
data_027e09a8->func_ov000_02071b30(0x9836, &this->mPos, 0x0);
++this->mUnk_218;
break;
case 0x3:
if (!this->mUnk_110.vfunc_28()->func_01ff8fa8()) {
return;
}
data_027e0cec->func_ov000_0209feac(0x880, &this->mPos, 0x2, 0x0, 0x0);
this->func_ov032_0211b024();
break;
default:
break;
}
}
void ActorUnkKURI::func_ov032_0211a7b8() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, this->mUnk_110.vfunc_28()->mUnk_04, 0x19A, 0x0);
this->mUnk_288.x = func_01ffb66c(0x1000 - this->mUnk_110.vfunc_28()->mUnk_04, data_ov000_020aecf4[0]);
this->mUnk_228.func_ov000_02097bec();
this->mUnk_38->mUnk_08 = 0x3;
}
// non-matching
void ActorUnkKURI::func_ov032_0211a86c() {
fx32 sum = this->mUnk_110.vfunc_28()->mUnk_04 + this->mUnk_288.x;
this->mUnk_110.vfunc_28()->mUnk_04 = sum;
this->func_ov000_020992dc();
if (!GET_FLAG(this->mFlags, ActorFlag_5)) {
return;
}
Actor_38 *actor38 = this->mUnk_38;
actor38->mUnk_08 = 0x1;
if (this->mUnk_48 <= 0x0) {
this->vfunc_54(0x0);
return;
}
if (this->mUnk_248.mUnk_08 < this->mUnk_248.mUnk_0A) {
this->SetState(ActorUnkKURIState_7);
return;
}
if (this->func_ov032_0211b064(0x0) || this->mUnk_5C.mParams[0] == 0x2) {
this->func_ov032_0211b024();
return;
}
this->SetState(ActorUnkKURIState_0);
}
void ActorUnkKURI::func_ov032_0211a950() {
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_52 = 0x14;
this->mUnk_50 = 0x00;
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
}
void ActorUnkKURI::func_ov032_0211a9c8() {
if (this->IsTimerOut()) {
if (this->func_ov032_0211b064(0x0) || this->mUnk_5C.mParams[0] == 0x2) {
this->SetState(ActorUnkKURIState_1);
} else {
this->SetState(ActorUnkKURIState_0);
}
}
this->func_ov032_0211b1e0();
}
extern "C" u16 data_ov000_020aecf0;
void ActorUnkKURI::func_ov032_0211aa40() {
this->Actor_Derived2::func_ov000_02099450(&this->mUnk_248, &this->mUnk_228.mUnk_10, 0x0, data_ov000_020aecf0);
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x0, 0x19A, 0x0);
this->mUnk_228.func_ov000_02097bec();
}
void ActorUnkKURI::func_ov032_0211aac8() {
this->Actor_Derived2::func_ov000_020994a0();
if (!GET_FLAG(this->mFlags, ActorFlag_5)) {
return;
}
if (this->func_ov032_0211b064(0x0) || this->mUnk_5C.mParams[0] == 0x2) {
this->func_ov032_0211b024();
return;
}
this->SetState(ActorUnkKURIState_0);
}
void ActorUnkKURI::func_ov032_0211ab20() {
this->Actor_Derived2::func_ov000_02098f34(&this->mUnk_228.mUnk_10);
this->vfunc_40();
*((s16 *) &this->mUnk_44) &= ~0x20;
this->mUnk_2C = 0x0;
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_38->mUnk_08 = 0x3;
this->mUnk_228.func_ov000_02097bec();
}
void ActorUnkKURI::func_ov032_0211abc0() {
this->vfunc_44();
if (!GET_FLAG(this->mFlags, ActorFlag_5)) {
return;
}
this->mUnk_38->mUnk_08 = 0x1;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_228.mUnk_10);
this->mUnk_248.func_ov000_02099a0c();
this->SetState(ActorUnkKURIState_7);
*((s16 *) &this->mUnk_44) |= 0x20;
}
void ActorUnkKURI::func_ov032_0211ac20() {
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_52 = 0xA;
this->mUnk_50 = 0x0;
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
}
void ActorUnkKURI::func_ov032_0211ac94() {
this->mUnk_27C.y -= 0x199;
if (!this->IsTimerOut()) {
return;
}
data_027e09a8->func_ov000_02071b30(0x983D, &this->mPos, 0x0);
this->Actor::func_ov000_020984d0();
if (this->mUnk_5C.mParams[0] == 0x2) {
this->func_ov000_02098a88(0x0, 0x1);
}
this->func_ov017_020bf3e0(0x1, 0x0);
this->Actor_Derived2::func_ov000_020997c4(0x0);
}
void ActorUnkKURI::func_ov032_0211ad40() {
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
this->mUnk_298 = gRandom.Next32(0xE);
this->mUnk_296 = 0x0;
}
// non-matching
void ActorUnkKURI::func_ov032_0211adf4() {
this->IsTimerOut();
switch (this->mUnk_218) {
case 0x0:
if (!this->IsInternalTimerOut()) {
break;
}
++this->mUnk_218;
this->mUnk_110.vfunc_1C(data_ov032_0212219c, 0x1000, 0x19A, 0x0);
data_027e09a8->func_ov000_02071b30(0x9836, &this->mPos, 0x0);
break;
case 0x1:
if (this->mUnk_110.vfunc_28()->func_01ff8fa8() == 0x0) {
break;
}
data_027e0cec->func_ov000_0209feac(0x880, &this->mPos, 0x2, 0x0, 0x0);
this->mUnk_110.vfunc_1C(data_ov032_02122184, 0x1000, 0x19A, 0x0);
if (this->func_ov032_0211b064(0x0) || (this->mUnk_294 && this->mUnk_50 >= this->mUnk_52)) {
this->SetState(ActorUnkKURIState_1);
return;
}
u16 random = gRandom.Next32(0);
this->mUnk_298 = random + 0xA;
this->mUnk_296 = 0x0;
this->mUnk_218 = 0x0;
break;
default:
break;
}
}
void ActorUnkKURI::func_ov032_0211b024() {
if (this->mUnk_5C.mParams[0] == 0x1 && !this->func_ov032_0211b114()) {
this->SetState(ActorUnkKURIState_4);
return;
}
this->SetState(ActorUnkKURIState_2);
}
// non-matching
bool ActorUnkKURI::func_ov032_0211b064(unk32 param1) {
VecFx32 *vec = data_027e0ce0->func_01fff148(0x0);
bool ret = false;
if (func_ov000_0205adfc(vec, &this->mPos) &&
func_01ff9258(vec->x - this->mPos.x, vec->z - this->mPos.z) < this->mUnk_264) {
ret = true;
}
if (param1 != 0x0) {
if (!ret || !func_02016ae0(&this->mPos, vec, this->mAngleStruct, 0x4E39, 0x1) == 0x0) {
ret = true;
} else {
ret = false;
}
}
return ret;
}
// non-matching
bool ActorUnkKURI::func_ov032_0211b114() {}
bool ActorUnkKURI::func_ov032_0211b17c() {
return this->mState == ActorUnkKURIState_10;
}
// non-matching
void ActorUnkKURI::func_ov032_0211b190(s32 param1, s32 param2) {}
void ActorUnkKURI::func_ov032_0211b1e0() {
if (this->mUnk_110.vfunc_30() != 0x0 || !GET_FLAG(this->mFlags, ActorFlag_14)) {
return;
}
if (this->mUnk_110.vfunc_10()->mUnk_04.func_02015080(0x1000) != 0x0) {
data_027e09a8->func_ov000_02071b30(0x9838, &this->mPos, 0x0);
return;
}
if (this->mUnk_110.vfunc_10()->mUnk_04.func_02015080(0xF000) != 0x0) {
data_027e09a8->func_ov000_02071b30(0x9839, &this->mPos, 0x0);
return;
}
}
// non-matching
void ActorUnkKURI::func_ov032_0211b298() {
if (this->mUnk_110.vfunc_30() != 0x1) {
if (this->mUnk_288.y <= FLOAT_TO_FX32(0.0f)) {
this->mUnk_288.z = FLOAT_TO_FX32(0.0f);
return;
}
this->mUnk_288.z -= this->mUnk_2C;
func_01ff916c(&this->mUnk_288.y, 0x0, this->mUnk_288.z);
return;
}
fx32 value = this->mUnk_110.vfunc_28()->mUnk_08;
if (value > FLOAT_TO_FX32(1.0f) && value < FLOAT_TO_FX32(16.0f)) {
value -= FLOAT_TO_FX32(1.0f);
this->mUnk_288.y = MUL_FX32(value + MUL_FX32(-MUL_FX32(value, value), 0x92492493), 0x3B4);
return;
}
this->mUnk_288.y = FLOAT_TO_FX32(0.0f);
}
void ActorUnkKURI::func_ov032_0211b37c(ActorUnkKURI *thisx, u16 param1) {
if (thisx->GetActorId() == ActorId_KURI) {
thisx->mUnk_294 = true;
thisx->mUnk_52 = param1;
thisx->mUnk_50 = 0x0;
}
}
void ActorUnkKURI::func_ov032_0211b3b0() {
if (this->mUnk_5C.mUnk_1A[1] != 0x0) {
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
} else {
this->Actor::func_ov000_020984d0();
}
if (this->mUnk_5C.mParams[0] == 0x2) {
this->Actor::func_ov000_02098a88(0x0, 0x1);
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
return;
}
this->Actor::func_ov000_020984d0();
}
void ActorUnkKURI::vfunc_54(unk32 param1) {
switch (param1) {
case 0x0:
data_027e09a8->func_ov000_02071b30(0x983D, &this->mPos, 0x0);
this->func_ov017_020bf3e0(this->mUnk_A8->mUnk_00, 0x0);
this->func_ov000_020997c4(this->mUnk_A8->mUnk_04);
this->func_ov032_0211b3b0();
break;
case 0x1:
data_027e09a8->func_ov000_02071b30(0xE8, &this->mPos, 0x0);
this->func_ov032_0211b3b0();
break;
case 0x3:
unk32 sp04;
func_ov017_020c2438(&sp04, this->mUnk_A8->mUnk_08, &this->mPos, 0x1, 0x1);
data_027e09a8->func_ov000_02071b30(0xEA, &this->mPos, 0x0);
this->func_ov032_0211b3b0();
break;
case 0x2:
data_027e09a8->func_ov000_02071b30(0x983D, &this->mPos, 0x0);
func_ov017_020c26f8(this->mUnk_A8->mUnk_0C, &this->mPos, 0x1, 0x1);
data_027e09a8->func_ov000_02071b30(0xED, &this->mPos, 0x0);
this->func_ov017_020bf3e0(this->mUnk_A8->mUnk_00, 0x0);
this->func_ov000_020997c4(this->mUnk_A8->mUnk_04);
this->func_ov032_0211b3b0();
break;
default:
break;
}
}
ActorUnkKURI_268::ActorUnkKURI_268() {
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_08);
}
ActorUnkKURI_268::~ActorUnkKURI_268() {}
// non-matching
bool ActorUnkKURI_268::vfunc_08(const UnkStruct_ov031_020f3310 *param1) {
VecFx16_Copy2VecFx32(&param1->mUnk_08, &this->mUnk_08);
this->UnkStruct_ov031_Items_00::vfunc_08(param1);
}
void ActorUnkKURI_1BC::vfunc_3C() {
this->mUnk_08->func_ov000_02057c98(this->vfunc_10());
}
void ActorUnkKURI_1BC::vfunc_38(unk32 param1, unk32 param2) {
this->mUnk_04->func_ov000_020578a4(param1, param2);
}
s8 ActorUnkKURI_1BC::vfunc_30() {
return this->mUnk_18;
}
void ActorUnkKURI_110::vfunc_3C() {
this->mUnk_08->func_ov000_02057c98(this->mUnk_04);
this->mUnk_08->func_ov000_02057c98(this->mUnk_1C);
}
void ActorUnkKURI_110::vfunc_38(unk32 param1, unk32 param2) {
this->mUnk_04->func_ov000_020578a4(param1, param2);
this->mUnk_1C->func_ov000_020578a4(param1, param2);
}
+16 -25
View File
@@ -50,7 +50,7 @@ extern "C" fx32 func_01ff9a5c(VecFx32 *, VecFx32 *, VecFx32 *);
extern "C" void func_01ffad5c(Mat4x3p *, Mat4x3p *, Mat4x3p *);
extern "C" fx32 func_01ffb428(unk32, unk32);
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
extern "C" unk32 func_01ffbbe0(unk32 param1, unk32 param2);
extern "C" unk32 func_01ffbbe0(fx32 param1, fx32 param2);
extern "C" void func_01ffc6d4(ModelRender *param1, UnkAngleStruct param2, VecFx32 *param3);
extern "C" void func_0200eab0(G3d_Model *, unk32, u8);
@@ -66,20 +66,13 @@ extern "C" void func_ov000_02057c98(ModelRender *param1, UnkSystem5 *param2);
extern "C" unk32 func_ov000_0205c384(VecFx32 *param1, VecFx32 *param2);
#endif
extern "C" void func_ov000_0208bd20(UnkStruct_027e0ce0 *param1, unk32 param2, unk32 param3, unk32 param4);
extern "C" void func_ov000_020986b4(s16 *param1, ActorUnkCANS *param2, unk32 param3);
extern "C" void func_ov000_02098f34(ActorUnkCANS *param1, unk16 *param2);
extern "C" void func_ov000_020986b4(s16 *param1, Actor_Derived2 *param2, unk32 param3);
extern "C" unk32 func_ov000_02098d7c(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2);
extern "C" unk32 func_ov000_02099450(ActorUnkCANS *param1, void *param2, VecFx32 *param3, unk32 param4, u16 param5);
extern "C" void func_ov000_020994a0(ActorUnkCANS *);
extern "C" unk32 func_ov000_02099a0c(void *param1);
// Overlay 17
extern "C" void func_ov017_020bf050(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2, unk32 param3);
extern "C" void func_ov017_020bf178(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2, unk32 param3);
extern "C" void func_ov017_020bf634(ActorUnkCANS *param1, unk16 *param2, unk32 param3, unk32 param4);
extern "C" void func_ov017_020bf688(ActorUnkCANS *param1);
extern "C" void func_ov017_020bf894(ActorUnkCANS *param1, void *param2);
extern "C" unk32 func_ov017_020bef4c(ActorUnkCANS *param1, unk32 param2);
// Overlay 26
#if IS_JP
@@ -257,14 +250,14 @@ void ActorUnkCANS::vfunc_20(void) {
mUnk_238++;
}
if (!func_ov017_020bef4c(this, 0x4000) && mUnk_48 != 0 && mState != 4) {
if (!this->func_ov017_020bef4c(0x4000) && mUnk_48 != 0 && mState != 4) {
return;
}
mUnk_3C = (Actor_9C *) &mUnk_200;
CALL_PTMF(PTMF<ActorUnkCANS>, data_ov063_02162fb0[mState]);
func_ov017_020bf894(this, &mUnk_224);
this->func_ov017_020bf894(&mUnk_224);
this->func_ov000_02098838();
VecFx32_Copy(&mPos, &mPrevPos);
@@ -316,21 +309,21 @@ void ActorUnkCANS::vfunc_20(void) {
mUnk_236 = func_ov000_02098d7c(this, &mUnk_200);
mUnk_234 = 0;
iVar5 = this->func_ov063_0215a56c((unk16) func_01ffbbe0(*(u32 *) &mUnk_200.mUnk_10, mUnk_200.mUnk_18));
iVar5 = this->func_ov063_0215a56c((unk16) func_01ffbbe0(mUnk_200.mUnk_10.x, mUnk_200.mUnk_10.z));
switch (mUnk_200.mUnk_1C) {
case 12:
if (iVar5 != 0) {
Actor *iVar6 = gpActorManager->func_01fff3b4(mUnk_200.mUnk_0C.data);
if (iVar6 != 0) {
if (iVar6 != NULL) {
((ActorItemBoomerang *) iVar6)->func_ov031_020e49b0(0x8D70);
}
if (mState != 4) {
this->func_ov063_02158448(5);
}
} else {
func_ov017_020bf178(this, &mUnk_200, 1);
func_ov000_02099a0c(&mUnk_224);
this->Actor_Derived2::func_ov017_020bf178(&mUnk_200, 1);
mUnk_224.func_ov000_02099a0c();
this->func_ov063_02158448(4);
}
break;
@@ -598,7 +591,7 @@ void ActorUnkCANS::func_ov063_02159100(void) {
return;
}
u16 *tmpArr = (u16 *) &mUnk_22C;
u16 *tmpArr = (u16 *) &mUnk_224.mUnk_08;
if (tmpArr[0] < tmpArr[1]) {
this->func_ov063_02158448(4);
return;
@@ -659,13 +652,13 @@ void ActorUnkCANS::func_ov063_02159258(void) {
}
void ActorUnkCANS::func_ov063_02159408(void) {
func_ov000_02099450(this, &mUnk_224, &data_027e07d4, 0, data_ov000_020aecf0[0]);
this->func_ov000_02099450(&mUnk_224, &data_027e07d4, 0, data_ov000_020aecf0[0]);
mUnk_128.vfunc_1C(data_ov063_02163068, 0, 0x19A, 0);
((Actor_9C *) &mUnk_200)->func_ov000_02097bec();
}
void ActorUnkCANS::func_ov063_02159494(void) {
func_ov000_020994a0(this);
this->func_ov000_020994a0();
if (GET_FLAG(mFlags, ActorFlag_5) == 0) {
return;
@@ -734,7 +727,7 @@ void ActorUnkCANS::func_ov063_02159784(void) {
data_027e09a8->func_ov000_02071b30(0x9862, &mPos, 0);
}
if (0x7000 <= *(int *) (mUnk_128.vfunc_28() + 8) && *(int *) (mUnk_128.vfunc_28() + 8) <= 0xF000) {
if (0x7000 <= mUnk_128.vfunc_28()->mUnk_08 && mUnk_128.vfunc_28()->mUnk_08 <= 0xF000) {
#if IS_JP
fx32 yDiff = data_027e0ce0->func_01fff148(0)->y - mPos.y;
fx32 yDiffAbs = ABS(yDiff);
@@ -872,7 +865,7 @@ void ActorUnkCANS::func_ov063_02159dfc(void) {
void ActorUnkCANS::func_ov063_02159e1c(void) {}
void ActorUnkCANS::func_ov063_02159e20(void) {
func_ov000_02098f34(this, (unk16 *) &mUnk_200.mUnk_10);
this->func_ov000_02098f34(&mUnk_200.mUnk_10);
vfunc_40();
@@ -897,11 +890,9 @@ void ActorUnkCANS::func_ov063_02159ec0(void) {
mUnk_2C = data_ov000_020aecf8[0];
mAngle = mUnk_26C;
func_ov000_02099a0c(&mUnk_224);
mUnk_224.func_ov000_02099a0c();
mUnk_200.mUnk_10 = 0;
mUnk_200.mUnk_14 = 0;
mUnk_200.mUnk_18 = 0;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &mUnk_200.mUnk_10);
this->func_ov063_02158448(4);
@@ -1045,7 +1036,7 @@ unk32 ActorUnkCANS::func_ov063_0215a2c0(void) {
void ActorUnkCANS::func_ov063_0215a428(void) {
// A not very clean code to access 22C and 22E matching the asm
u16 *values = (u16 *) &mUnk_22C;
u16 *values = (u16 *) &mUnk_224.mUnk_08;
if (values[0] < values[1]) {
this->func_ov063_02158448(4);
} else if (mUnk_268 == NULL) {
+4 -8
View File
@@ -21,7 +21,7 @@
#include "nitro/math.h"
#include "nns/g3d/g3d.h"
extern const void *data_ov063_02162558;
extern const Actor_Derived2_A8_PTR data_ov063_02162558;
extern const void *data_ov063_02162568;
extern Mat4x3p data_027e0964;
@@ -35,10 +35,6 @@ extern "C" u16 func_01ffbbe0(fx32 x, fx32 z);
extern unk32 data_ov000_020aecf8[0x2]; //! INFO: Unsure about the size and type
extern u16 data_ov000_020aed00;
extern "C" void func_ov000_0207b70c(ActorUnkCASE_174 *param1, Actor *param2);
extern "C" void func_ov000_020990c0(ActorUnkCASE *param1, ActorShotArrow_140 *param2, unk32 param3, unk32 param4);
// Overlay 17
extern "C" unk32 func_ov017_020bef4c(ActorUnkCASE *param1, unk32 param2);
// Other
extern "C" void G3d_GetCurrentMtx(Mat4x3p *mtx1, Mat3p *mtx2);
@@ -163,7 +159,7 @@ ActorUnkCASE::ActorUnkCASE() :
mUnk_124.mUnk_24 = 1;
mUnk_38 = (Actor_38 *) &mUnk_1E8;
mUnk_38->mUnk_08 = 4;
mUnk_A8 = &data_ov063_02162558;
mUnk_A8 = (Actor_Derived2_A8_PTR *) &data_ov063_02162558;
}
bool ActorUnkCASE::vfunc_18(unk32 param1) {
@@ -319,7 +315,7 @@ void ActorUnkCASE::vfunc_24() {
void ActorUnkCASE::vfunc_20() {
mUnk_150.mUnk_1C = 1;
if (!func_ov017_020bef4c(this, 0x4000) && mUnk_48 != 0) {
if (!this->func_ov017_020bef4c(0x4000) && mUnk_48 != 0) {
bool cond = true;
if (mState != 1 && mState != 2) {
cond = false;
@@ -415,7 +411,7 @@ post:
case 13:
break;
default:
func_ov000_020990c0(this, &mUnk_124, 1, 0);
this->Actor_Derived2::func_ov000_020990c0(&mUnk_124, 1, 0);
break;
}
}
+1 -1
View File
@@ -66,7 +66,7 @@ ActorTearLight::ActorTearLight() :
mUnk_120(&this->mUnk_140, NULL),
mUnk_160(*(ActorTearLight_UnkStruct *) &data_020431b8),
mUnk_188(0x0),
mUnk_18C(0x1),
mUnk_18C(true),
mUnk_18D(false),
mUnk_190(0x0),
mUnk_194(this),