Start decompilation of actor SZKU (#125)

This commit is contained in:
Alessevan
2026-08-07 10:09:14 -04:00
committed by GitHub
parent 7c266293a7
commit 7232214eca
17 changed files with 620 additions and 124 deletions
+3 -3
View File
@@ -1573,7 +1573,7 @@ _ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x0
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x020808cc
func_ov000_020808d4 kind:function(arm,size=0x20) addr:0x020808d4
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvP8Vec2bCpph kind:function(arm,size=0x5c) addr:0x020808f4
func_ov000_02080950 kind:function(arm,size=0x48) addr:0x02080950
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02082008EP8Vec2bCpp kind:function(arm,size=0x48) addr:0x02080950
func_ov000_02080998 kind:function(arm,size=0x40) addr:0x02080998
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020809d8Eii kind:function(arm,size=0x6c) addr:0x020809d8
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x02080a44
@@ -2307,7 +2307,7 @@ func_ov000_02098160 kind:function(arm,size=0x80) addr:0x02098160
func_ov000_020981e0 kind:function(arm,size=0x64) addr:0x020981e0
func_ov000_02098244 kind:function(arm,size=0x64) addr:0x02098244
_ZN24UnkStruct_ov031_Items_00C2Ev kind:function(arm,size=0x18) addr:0x020982a8
func_ov000_020982c0 kind:function(arm,size=0x18) addr:0x020982c0
_ZN24UnkStruct_ov071_0215f92cC1Ev kind:function(arm,size=0x18) addr:0x020982c0
_ZN24UnkStruct_ov031_Items_008vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x80) addr:0x020982d8
_ZN19func_ov000_02098358D1Ev kind:function(arm,size=0x14) addr:0x02098358
_ZN19func_ov000_0209836cD0Ev kind:function(arm,size=0x1c) addr:0x0209836c
@@ -2375,7 +2375,7 @@ 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
func_ov000_02099a1c kind:function(arm,size=0xc) addr:0x02099a1c
func_ov000_02099a28 kind:function(thumb,size=0x54) addr:0x02099a28
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderi 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
+1 -1
View File
@@ -57,7 +57,7 @@ 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
func_ov017_020bef88 kind:function(arm,size=0x9c) addr:0x020bef88
_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
@@ -9,6 +9,7 @@ src/071_Tower/Actor/ActorUnkSZKU.cpp:
.text start:0x0215f210 end:0x02160118
.init start:0x02163dd0 end:0x02163e44
.ctor start:0x021640bc end:0x021640c0
.data start:0x02164be0 end:0x02164d10
.bss start:0x02165150 end:0x02165240
src/071_Tower/Actor/ActorUnkKMSO.cpp:
+2 -2
View File
@@ -1559,7 +1559,7 @@ from:0x0215f3b4 kind:arm_call to:0x0203d160 module:main
from:0x0215f3f4 kind:arm_call to:0x0205fc20 module:overlay(0)
from:0x0215f404 kind:load to:0x02164c7c add:0x8 module:overlay(71)
from:0x0215f408 kind:load to:0x02165168 module:overlay(71)
from:0x0215f40c kind:load to:0x02164c3c module:overlay(71)
from:0x0215f40c kind:load to:0x02164c34 module:overlay(71) add:0x8
from:0x0215f410 kind:load to:0x020431b8 module:main
from:0x0215f414 kind:load to:0x02151d24 module:overlay(71)
from:0x0215f418 kind:load to:0x021600d4 module:overlay(71)
@@ -1666,7 +1666,7 @@ from:0x0215ffe0 kind:arm_call to:0x0215fca4 module:overlay(71)
from:0x0215fff4 kind:arm_call to:0x01ffb714 module:itcm
from:0x0215fffc kind:load to:0x027e0ce4 module:dtcm
from:0x02160014 kind:arm_call to:0x020f6284 module:overlay(31)
from:0x02160034 kind:load to:0x02164c00 module:overlay(71)
from:0x02160034 kind:load to:0x02164bf8 module:overlay(71) add:0x8
from:0x02160058 kind:arm_call to:0x0215fe54 module:overlay(71)
from:0x02160068 kind:arm_call to:0x020f62e4 module:overlay(31)
from:0x02160084 kind:arm_call to:0x0215fe94 module:overlay(71)
+23 -23
View File
@@ -23,7 +23,7 @@ func_ov071_02151cd4 kind:function(arm,size=0x14) addr:0x02151cd4
func_ov071_02151ce8 kind:function(arm,size=0x14) addr:0x02151ce8
func_ov071_02151cfc kind:function(arm,size=0x14) addr:0x02151cfc
func_ov071_02151d10 kind:function(arm,size=0x14) addr:0x02151d10
func_ov071_02151d24 kind:function(arm,size=0x14) addr:0x02151d24
_ZN16ActorUnkSZKU_204D1Ev kind:function(arm,size=0x14) addr:0x02151d24
func_ov071_02151d38 kind:function(arm,size=0xe8) addr:0x02151d38
_ZN19func_ov071_02151e20D0Ev kind:function(arm,size=0xf0) addr:0x02151e20
func_ov071_02151f10 kind:function(arm,size=0xe8) addr:0x02151f10
@@ -180,9 +180,9 @@ func_ov071_0215b4c0 kind:function(arm,size=0x50) addr:0x0215b4c0
func_ov071_0215b510 kind:function(arm,size=0x30) addr:0x0215b510
func_ov071_0215b540 kind:function(arm,size=0x70) addr:0x0215b540
func_ov071_0215b5b0 kind:function(arm,size=0x70) addr:0x0215b5b0
func_ov071_0215b620 kind:function(arm,size=0x24) addr:0x0215b620
func_ov071_0215b644 kind:function(arm,size=0x10) addr:0x0215b644
func_ov071_0215b654 kind:function(arm,size=0x8) addr:0x0215b654
_ZN17ActorUnkSKZU_Base8vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215b620
_ZN17ActorUnkSKZU_Base8vfunc_38Eii kind:function(arm,size=0x10) addr:0x0215b644
_ZN17ActorUnkSKZU_Base8vfunc_30Ev kind:function(arm,size=0x8) addr:0x0215b654
func_ov071_0215b65c kind:function(arm,size=0x2c) addr:0x0215b65c
func_ov071_0215b688 kind:function(arm,size=0x24) addr:0x0215b688
func_ov071_0215b6ac kind:function(arm,size=0xc) addr:0x0215b6ac
@@ -292,16 +292,16 @@ _ZN19ActorProfileUnkSZKU10GetProfileEv kind:function(arm,size=0xc) addr:0x0215f2
_ZN19ActorProfileUnkSZKU6CreateEv kind:function(arm,size=0x24) addr:0x0215f21c
_ZN19ActorProfileUnkSZKUC1Ev kind:function(arm,size=0x50) addr:0x0215f240
_ZN12ActorUnkSZKUC1Ev kind:function(arm,size=0x194) addr:0x0215f290
_ZN12ActorUnkSZKU19func_ov071_0215f424Ev kind:function(arm,size=0x14) addr:0x0215f424
_ZN16ActorUnkSKZU_104D1Ev kind:function(arm,size=0x14) addr:0x0215f424
_ZN12ActorUnkSZKUD1Ev kind:function(arm,size=0x78) addr:0x0215f438
_ZN12ActorUnkSZKUD0Ev kind:function(arm,size=0x80) addr:0x0215f4b0
_ZN12ActorUnkSZKU19func_ov071_0215f530Ev kind:function(arm,size=0xac) addr:0x0215f530
_ZN12ActorUnkSZKU19func_ov071_0215f5dcEv kind:function(arm,size=0x2c) addr:0x0215f5dc
_ZN12ActorUnkSZKU19func_ov071_0215f608Ev kind:function(arm,size=0x4c) addr:0x0215f608
_ZN12ActorUnkSZKU19func_ov071_0215f654Ev kind:function(arm,size=0xc0) addr:0x0215f654
_ZN12ActorUnkSZKU19func_ov071_0215f714Ev kind:function(arm,size=0xc8) addr:0x0215f714
_ZN12ActorUnkSZKU19func_ov071_0215f7dcEv kind:function(arm,size=0x18) addr:0x0215f7dc
_ZN12ActorUnkSZKU19func_ov071_0215f7f4Ev kind:function(arm,size=0x18) addr:0x0215f7f4
_ZN12ActorUnkSZKU8vfunc_18Ei kind:function(arm,size=0xac) addr:0x0215f530
_ZN12ActorUnkSZKU8vfunc_1CEv kind:function(arm,size=0x2c) addr:0x0215f5dc
_ZN12ActorUnkSZKU8vfunc_20Ev kind:function(arm,size=0x4c) addr:0x0215f608
_ZN12ActorUnkSZKU8vfunc_24Ev kind:function(arm,size=0xc0) addr:0x0215f654
_ZN12ActorUnkSZKU8vfunc_2CEi kind:function(arm,size=0xc8) addr:0x0215f714
_ZN12ActorUnkSZKU8vfunc_30EP14Actor_vfunc_30 kind:function(arm,size=0x18) addr:0x0215f7dc
_ZN12ActorUnkSZKU19func_ov071_0215f7f4Es kind:function(arm,size=0x18) addr:0x0215f7f4
_ZN12ActorUnkSZKU19func_ov071_0215f80cEv kind:function(arm,size=0x18) addr:0x0215f80c
_ZN12ActorUnkSZKU19func_ov071_0215f824Ev kind:function(arm,size=0x108) addr:0x0215f824
_ZN12ActorUnkSZKU19func_ov071_0215f92cEv kind:function(arm,size=0x2e0) addr:0x0215f92c
@@ -318,13 +318,13 @@ _ZN12ActorUnkSZKU19func_ov071_0215ff08Ev kind:function(arm,size=0x34) addr:0x021
_ZN12ActorUnkSZKU19func_ov071_0215ff3cEv kind:function(arm,size=0x7c) addr:0x0215ff3c
_ZN12ActorUnkSZKU19func_ov071_0215ffb8Ev kind:function(arm,size=0x4) addr:0x0215ffb8
_ZN12ActorUnkSZKU19func_ov071_0215ffbcEv kind:function(arm,size=0x44) addr:0x0215ffbc
_ZN12ActorUnkSZKU19func_ov071_02160000Ev kind:function(arm,size=0x38) addr:0x02160000
_ZN12ActorUnkSZKU19func_ov071_02160038Ev kind:function(arm,size=0x40) addr:0x02160038
_ZN12ActorUnkSZKU19func_ov071_02160078Ev kind:function(arm,size=0x1c) addr:0x02160078
_ZN12ActorUnkSZKU19func_ov071_02160094Ev kind:function(arm,size=0x24) addr:0x02160094
_ZN12ActorUnkSZKU19func_ov071_021600b8Ev kind:function(arm,size=0x1c) addr:0x021600b8
_ZN12ActorUnkSZKU19func_ov071_021600d4Ev kind:function(arm,size=0x14) addr:0x021600d4
_ZN12ActorUnkSZKU19func_ov071_021600e8Ev kind:function(arm,size=0x1c) addr:0x021600e8
_ZN16ActorUnkSZKU_194C2EP12ActorUnkSZKU kind:function(arm,size=0x38) addr:0x02160000
_ZN16ActorUnkSZKU_1948vfunc_00E8ActorRefi kind:function(arm,size=0x40) addr:0x02160038
_ZN16ActorUnkSZKU_1948vfunc_04Ev kind:function(arm,size=0x1c) addr:0x02160078
_ZN16ActorUnkSZKU_1948vfunc_0CEi kind:function(arm,size=0x24) addr:0x02160094
_ZN16ActorUnkSZKU_1948vfunc_08Ev kind:function(arm,size=0x1c) addr:0x021600b8
_ZN16ActorUnkSZKU_204C1Ev kind:function(arm,size=0x14) addr:0x021600d4
_ZN16ActorUnkSKZU_104D0Ev kind:function(arm,size=0x1c) addr:0x021600e8
_ZN19ActorProfileUnkSZKUD1Ev kind:function(arm,size=0x14) addr:0x02160104
_ZN19ActorProfileUnkKMSO10GetProfileEv kind:function(arm,size=0xc) addr:0x02160118
_ZN19ActorProfileUnkKMSO6CreateEv kind:function(arm,size=0x24) addr:0x02160124
@@ -530,10 +530,10 @@ data_ov071_021649c4 kind:data(any) addr:0x021649c4
data_ov071_02164acc kind:data(any) addr:0x02164acc
data_ov071_02164bd4 kind:data(any) addr:0x02164bd4
data_ov071_02164be0 kind:data(any) addr:0x02164be0
data_ov071_02164c00 kind:data(any) addr:0x02164c00
_ZTV19data_ov071_02164c10 kind:data(any) addr:0x02164c10
data_ov071_02164c3c kind:data(any) addr:0x02164c3c
_ZTV19data_ov071_02164c7c kind:data(any) addr:0x02164c7c
_ZTV16ActorUnkSZKU_194 kind:data(any) addr:0x02164bf8
_ZTV19ActorProfileUnkSZKU kind:data(any) addr:0x02164c10
_ZTV16ActorUnkSKZU_104 kind:data(any) addr:0x02164c34
_ZTV12ActorUnkSZKU kind:data(any) addr:0x02164c7c
data_ov071_02164cd8 kind:data(any) addr:0x02164cd8
data_ov071_02164ce0 kind:data(any) addr:0x02164ce0
data_ov071_02164ce8 kind:data(any) addr:0x02164ce8
+4 -4
View File
@@ -1571,7 +1571,7 @@ _ZN26UnkStruct_027e0cd8_0C_Base8vfunc_2CEv kind:function(arm,size=0x20) addr:0x0
_ZN26UnkStruct_027e0cd8_0C_Base8vfunc_3CEv kind:function(arm,size=0x8) addr:0x02081f84
func_ov000_02081f8c kind:function(arm,size=0x20) addr:0x02081f8c
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020808f4EPvP8Vec2bCpph kind:function(arm,size=0x5c) addr:0x02081fac
func_ov000_02082008 kind:function(arm,size=0x48) addr:0x02082008
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02082008EP8Vec2bCpp kind:function(arm,size=0x48) addr:0x02082008
func_ov000_02082050 kind:function(arm,size=0x40) addr:0x02082050
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_020809d8Eii kind:function(arm,size=0x6c) addr:0x02082090
_ZN26UnkStruct_027e0cd8_0C_Base19func_ov000_02080a44Ev kind:function(arm,size=0x18) addr:0x020820fc
@@ -2304,7 +2304,7 @@ func_ov000_02099908 kind:function(arm,size=0x80) addr:0x02099908
func_ov000_02099988 kind:function(arm,size=0x64) addr:0x02099988
func_ov000_020999ec kind:function(arm,size=0x64) addr:0x020999ec
_ZN24UnkStruct_ov031_Items_00C2Ev kind:function(arm,size=0x18) addr:0x02099a50
func_ov000_02099a68 kind:function(arm,size=0x18) addr:0x02099a68
_ZN24UnkStruct_ov071_0215f92cC1Ev kind:function(arm,size=0x18) addr:0x02099a68
_ZN24UnkStruct_ov031_Items_008vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x80) addr:0x02099a80
_ZN19func_ov000_02099b00D1Ev kind:function(arm,size=0x14) addr:0x02099b00
_ZN19func_ov000_02099b14D0Ev kind:function(arm,size=0x1c) addr:0x02099b14
@@ -2372,12 +2372,12 @@ 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
func_ov000_0209b1e8 kind:function(arm,size=0xc) addr:0x0209b1e8
func_ov000_0209b1f4 kind:function(thumb,size=0x54) addr:0x0209b1f4
_ZN24UnkStruct_ov000_020b31a8C2EP10UnkSystem5P11ModelRenderi 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
_ZN19func_ov000_0209b2bcD0Ev kind:function(thumb,size=0xc) addr:0x0209b2bc
func_ov000_0209b2c8 kind:function(thumb,size=0x2) addr:0x0209b2c8
_ZN17ActorUnkSKZU_BaseD2Ev kind:function(thumb,size=0x2) addr:0x0209b2c8
_ZN24UnkStruct_ov000_020b31a88vfunc_08Ev kind:function(arm,size=0x38) addr:0x0209b2cc
_ZN24UnkStruct_ov000_020b31a88vfunc_0CEv kind:function(arm,size=0x68) addr:0x0209b304
_ZN24UnkStruct_ov000_020b31a88vfunc_20Ev kind:function(arm,size=0x110) addr:0x0209b36c
@@ -9,6 +9,7 @@ src/071_Tower/Actor/ActorUnkSZKU.cpp:
.text start:0x02161450 end:0x02162358
.init start:0x02166030 end:0x021660a4
.ctor start:0x0216631c end:0x02166320
.data start:0x02166e58 end:0x02166f70
.bss start:0x021673b0 end:0x021674a0
src/071_Tower/Actor/ActorUnkKMSO.cpp:
+2 -2
View File
@@ -1573,7 +1573,7 @@ from:0x021615f4 kind:arm_call to:0x0203e690 module:main
from:0x02161634 kind:arm_call to:0x020611a8 module:overlay(0)
from:0x02161644 kind:load to:0x02166edc add:0x8 module:overlay(71)
from:0x02161648 kind:load to:0x021673c8 module:overlay(71)
from:0x0216164c kind:load to:0x02166e9c module:overlay(71)
from:0x0216164c kind:load to:0x02166e94 module:overlay(71) add:0x8
from:0x02161650 kind:load to:0x02044704 module:main
from:0x02161654 kind:load to:0x02153d44 module:overlay(71)
from:0x02161658 kind:load to:0x02162314 module:overlay(71)
@@ -1680,7 +1680,7 @@ from:0x02162220 kind:arm_call to:0x02161ee4 module:overlay(71)
from:0x02162234 kind:arm_call to:0x01ffb714 module:itcm
from:0x0216223c kind:load to:0x027e0ce4 module:dtcm
from:0x02162254 kind:arm_call to:0x020f7d24 module:overlays(21,31)
from:0x02162274 kind:load to:0x02166e60 module:overlay(71)
from:0x02162274 kind:load to:0x02166e58 module:overlay(71) add:0x8
from:0x02162298 kind:arm_call to:0x02162094 module:overlay(71)
from:0x021622a8 kind:arm_call to:0x020f7d84 module:overlay(31)
from:0x021622c4 kind:arm_call to:0x021620d4 module:overlay(71)
+28 -28
View File
@@ -23,7 +23,7 @@ func_ov071_02153cf4 kind:function(arm,size=0x14) addr:0x02153cf4
func_ov071_02153d08 kind:function(arm,size=0x14) addr:0x02153d08
func_ov071_02153d1c kind:function(arm,size=0x14) addr:0x02153d1c
func_ov071_02153d30 kind:function(arm,size=0x14) addr:0x02153d30
func_ov071_02153d44 kind:function(arm,size=0x14) addr:0x02153d44
_ZN16ActorUnkSZKU_204D1Ev kind:function(arm,size=0x14) addr:0x02153d44
func_ov071_02153d58 kind:function(arm,size=0xe8) addr:0x02153d58
_ZN19func_ov071_02153e40D0Ev kind:function(arm,size=0xf0) addr:0x02153e40
func_ov071_02153f30 kind:function(arm,size=0xe8) addr:0x02153f30
@@ -181,9 +181,9 @@ func_ov071_0215d6a8 kind:function(arm,size=0x50) addr:0x0215d6a8
func_ov071_0215d6f8 kind:function(arm,size=0x30) addr:0x0215d6f8
func_ov071_0215d728 kind:function(arm,size=0x70) addr:0x0215d728
func_ov071_0215d798 kind:function(arm,size=0x70) addr:0x0215d798
func_ov071_0215d808 kind:function(arm,size=0x24) addr:0x0215d808
func_ov071_0215d82c kind:function(arm,size=0x10) addr:0x0215d82c
func_ov071_0215d83c kind:function(arm,size=0x8) addr:0x0215d83c
_ZN17ActorUnkSKZU_Base8vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215d808
_ZN17ActorUnkSKZU_Base8vfunc_38Eii kind:function(arm,size=0x10) addr:0x0215d82c
_ZN17ActorUnkSKZU_Base8vfunc_30Ev kind:function(arm,size=0x8) addr:0x0215d83c
func_ov071_0215d844 kind:function(arm,size=0x2c) addr:0x0215d844
func_ov071_0215d870 kind:function(arm,size=0x24) addr:0x0215d870
func_ov071_0215d894 kind:function(arm,size=0xc) addr:0x0215d894
@@ -293,16 +293,16 @@ _ZN19ActorProfileUnkSZKU10GetProfileEv kind:function(arm,size=0xc) addr:0x021614
_ZN19ActorProfileUnkSZKU6CreateEv kind:function(arm,size=0x24) addr:0x0216145c
_ZN19ActorProfileUnkSZKUC1Ev kind:function(arm,size=0x50) addr:0x02161480
_ZN12ActorUnkSZKUC1Ev kind:function(arm,size=0x194) addr:0x021614d0
_ZN12ActorUnkSZKU19func_ov071_0215f424Ev kind:function(arm,size=0x14) addr:0x02161664
_ZN16ActorUnkSKZU_104D1Ev kind:function(arm,size=0x14) addr:0x02161664
_ZN12ActorUnkSZKUD1Ev kind:function(arm,size=0x78) addr:0x02161678
_ZN12ActorUnkSZKUD0Ev kind:function(arm,size=0x80) addr:0x021616f0
_ZN12ActorUnkSZKU19func_ov071_0215f530Ev kind:function(arm,size=0xac) addr:0x02161770
_ZN12ActorUnkSZKU19func_ov071_0215f5dcEv kind:function(arm,size=0x2c) addr:0x0216181c
_ZN12ActorUnkSZKU19func_ov071_0215f608Ev kind:function(arm,size=0x4c) addr:0x02161848
_ZN12ActorUnkSZKU19func_ov071_0215f654Ev kind:function(arm,size=0xc0) addr:0x02161894
_ZN12ActorUnkSZKU19func_ov071_0215f714Ev kind:function(arm,size=0xc8) addr:0x02161954
_ZN12ActorUnkSZKU19func_ov071_0215f7dcEv kind:function(arm,size=0x18) addr:0x02161a1c
_ZN12ActorUnkSZKU19func_ov071_0215f7f4Ev kind:function(arm,size=0x18) addr:0x02161a34
_ZN12ActorUnkSZKU8vfunc_18Ei kind:function(arm,size=0xac) addr:0x02161770
_ZN12ActorUnkSZKU8vfunc_1CEv kind:function(arm,size=0x2c) addr:0x0216181c
_ZN12ActorUnkSZKU8vfunc_20Ev kind:function(arm,size=0x4c) addr:0x02161848
_ZN12ActorUnkSZKU8vfunc_24Ev kind:function(arm,size=0xc0) addr:0x02161894
_ZN12ActorUnkSZKU8vfunc_2CEi kind:function(arm,size=0xc8) addr:0x02161954
_ZN12ActorUnkSZKU8vfunc_30EP14Actor_vfunc_30 kind:function(arm,size=0x18) addr:0x02161a1c
_ZN12ActorUnkSZKU19func_ov071_0215f7f4Es kind:function(arm,size=0x18) addr:0x02161a34
_ZN12ActorUnkSZKU19func_ov071_0215f80cEv kind:function(arm,size=0x18) addr:0x02161a4c
_ZN12ActorUnkSZKU19func_ov071_0215f824Ev kind:function(arm,size=0x108) addr:0x02161a64
_ZN12ActorUnkSZKU19func_ov071_0215f92cEv kind:function(arm,size=0x2e0) addr:0x02161b6c
@@ -319,13 +319,13 @@ _ZN12ActorUnkSZKU19func_ov071_0215ff08Ev kind:function(arm,size=0x34) addr:0x021
_ZN12ActorUnkSZKU19func_ov071_0215ff3cEv kind:function(arm,size=0x7c) addr:0x0216217c
_ZN12ActorUnkSZKU19func_ov071_0215ffb8Ev kind:function(arm,size=0x4) addr:0x021621f8
_ZN12ActorUnkSZKU19func_ov071_0215ffbcEv kind:function(arm,size=0x44) addr:0x021621fc
_ZN12ActorUnkSZKU19func_ov071_02160000Ev kind:function(arm,size=0x38) addr:0x02162240
_ZN12ActorUnkSZKU19func_ov071_02160038Ev kind:function(arm,size=0x40) addr:0x02162278
_ZN12ActorUnkSZKU19func_ov071_02160078Ev kind:function(arm,size=0x1c) addr:0x021622b8
_ZN12ActorUnkSZKU19func_ov071_02160094Ev kind:function(arm,size=0x24) addr:0x021622d4
_ZN12ActorUnkSZKU19func_ov071_021600b8Ev kind:function(arm,size=0x1c) addr:0x021622f8
_ZN12ActorUnkSZKU19func_ov071_021600d4Ev kind:function(arm,size=0x14) addr:0x02162314
_ZN12ActorUnkSZKU19func_ov071_021600e8Ev kind:function(arm,size=0x1c) addr:0x02162328
_ZN16ActorUnkSZKU_194C2EP12ActorUnkSZKU kind:function(arm,size=0x38) addr:0x02162240
_ZN16ActorUnkSZKU_1948vfunc_00E8ActorRefi kind:function(arm,size=0x40) addr:0x02162278
_ZN16ActorUnkSZKU_1948vfunc_04Ev kind:function(arm,size=0x1c) addr:0x021622b8
_ZN16ActorUnkSZKU_1948vfunc_0CEi kind:function(arm,size=0x24) addr:0x021622d4
_ZN16ActorUnkSZKU_1948vfunc_08Ev kind:function(arm,size=0x1c) addr:0x021622f8
_ZN16ActorUnkSZKU_204C1Ev kind:function(arm,size=0x14) addr:0x02162314
_ZN16ActorUnkSKZU_104D0Ev kind:function(arm,size=0x1c) addr:0x02162328
_ZN19ActorProfileUnkSZKUD1Ev kind:function(arm,size=0x14) addr:0x02162344
_ZN19ActorProfileUnkKMSO10GetProfileEv kind:function(arm,size=0xc) addr:0x02162358
_ZN19ActorProfileUnkKMSO6CreateEv kind:function(arm,size=0x24) addr:0x02162364
@@ -528,17 +528,17 @@ data_ov071_02166c24 kind:data(any) addr:0x02166c24
data_ov071_02166d2c kind:data(any) addr:0x02166d2c
data_ov071_02166e34 kind:data(any) addr:0x02166e34
data_ov071_02166e40 kind:data(any) addr:0x02166e40
data_ov071_02166e60 kind:data(any) addr:0x02166e60
_ZTV19data_ov071_02166e70 kind:data(any) addr:0x02166e70
data_ov071_02166e9c kind:data(any) addr:0x02166e9c
_ZTV19data_ov071_02166edc kind:data(any) addr:0x02166edc
_ZTV16ActorUnkSZKU_194 kind:data(any) addr:0x02166e58
_ZTV19ActorProfileUnkSZKU kind:data(any) addr:0x02166e70
_ZTV16ActorUnkSKZU_104 kind:data(any) addr:0x02166e94
_ZTV12ActorUnkSZKU kind:data(any) addr:0x02166edc
data_ov071_02166f38 kind:data(any) addr:0x02166f38
data_ov071_02166f40 kind:data(any) addr:0x02166f40
data_ov071_02166f48 kind:data(any) addr:0x02166f48
data_ov071_02166f50 kind:data(any) addr:0x02166f50
data_ov071_02164ce0 kind:data(any) addr:0x02166f40
data_ov071_02164ce8 kind:data(any) addr:0x02166f48
data_ov071_02164cf0 kind:data(any) addr:0x02166f50
data_ov071_02166f58 kind:data(any) addr:0x02166f58
data_ov071_02166f60 kind:data(any) addr:0x02166f60
data_ov071_02166f68 kind:data(any) addr:0x02166f68
data_ov071_02164d00 kind:data(any) addr:0x02166f60
data_ov071_02164d08 kind:data(any) addr:0x02166f68
data_ov071_02166f70 kind:data(any) addr:0x02166f70
data_ov071_02166f80 kind:data(any) addr:0x02166f80
_ZTV19data_ov071_02166f90 kind:data(any) addr:0x02166f90
+1 -1
View File
@@ -2318,7 +2318,7 @@ __ctype_mapC kind:data(any) addr:0x020445d4
dp_h kind:data(any) addr:0x020446d4 local
bp kind:data(any) addr:0x020446e4 local
dp_l kind:data(any) addr:0x020446f4 local
data_02044704 kind:data(any) addr:0x02044704
data_020431b8 kind:data(any) addr:0x02044704
.p__sinit_0203ed54 kind:data(word) addr:0x0204470c
.p__sinit_0203ed70 kind:data(word) addr:0x02044710
.p__sinit_0203edd0 kind:data(word) addr:0x02044714
+2
View File
@@ -246,8 +246,10 @@ public:
// overlay 17
bool func_ov017_020beeec(unk32 param1);
void func_ov017_020bef88(Actor_vfunc_30 *param1, void *param2, unk32 param3);
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);
void func_ov017_020bfb18(Actor_9C *param1);
// overlay 71 (might be temporary)
+94 -20
View File
@@ -4,38 +4,118 @@
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkZLSL_ZSRS.hpp"
#include "Item/Item.hpp"
#include "global.h"
#include "types.h"
class ActorUnkSZKU_C4 : public Actor_C4 {
public:
ActorUnkSZKU_C4(Actor *param1);
class ActorUnkSZKU;
class ActorProfileUnkSZKU;
struct ActorUnkZSKU_UnkStruct {
/* 00 */ void (ActorUnkSZKU::*fct)();
/* 08 */
};
class ActorUnkSZKU_204 : public UnkStruct_PlayerGet_ec {
public:
/* 00 (base) */
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
ActorUnkSZKU_204();
~ActorUnkSZKU_204(); // func_ov071_02151d24
};
class ActorUnkSZKU_194 : public Actor_C4 {
public:
/* 00 (base) */
/* 24 */
ActorUnkSZKU_194(ActorUnkSZKU *param1);
// data_ov071_02164c00
/* 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 ActorUnkSZKU : public Actor {
class ActorUnkSKZU_Base : public UnkStruct_ov000_020b31a8 {
public:
/* 00 (base) */
/* 94 */ STRUCT_PAD(0x94, 0xA0);
/* A0 */ ItemId mItemId;
/* 1C */
ActorUnkSKZU_Base(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
UnkStruct_ov000_020b31a8(param1, param2, param3) {}
// data_ov071_021641e0
/* 00 */ virtual ~ActorUnkSKZU_Base(); // func_ov071_02151d10 & func_ov071_0215b744
/* 30 */ virtual s8 vfunc_30();
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
};
class ActorUnkSKZU_104 : public ActorUnkSKZU_Base {
public:
/* 00 (base) */
/* 1C */
ActorUnkSKZU_104(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorUnkSKZU_Base(param1, param2, param3) {}
// data_ov071_02164c3c
/* 00 */ virtual ~ActorUnkSKZU_104();
};
enum ActorUnkSZKUState_ {
ActorUnkSZKUState_0 = 0,
ActorUnkSZKUState_1 = 1,
ActorUnkSZKUState_2 = 2,
ActorUnkSZKUState_3 = 3,
ActorUnkSZKUState_4 = 4,
ActorUnkSZKUState_5 = 5,
ActorUnkSZKUState_6 = 6,
ActorUnkSZKUState_7 = 7,
ActorUnkSZKUState_8 = 8,
ActorUnkSZKUState_Max,
};
class ActorUnkSZKU : public Actor {
public:
/* 000 (base) */
/* 094 */ VecFx32 mUnk_094;
/* 0A0 */ ItemId mItemId;
/* 0A4 */ ModelRender mUnk_0A4;
/* 104 */ ActorUnkSKZU_104 mUnk_104;
/* 120 */ UnkSystem5 mUnk_120;
/* 140 */ unk32 mUnk_140;
/* 144 */ STRUCT_PAD(0x144, 0x160);
/* 160 */ ActorUnkZSKU_UnkStruct mUnk_160;
/* 168 */ Actor_9C mUnk_168;
/* 188 */ unk32 mUnk_188;
/* 18C */ bool mUnk_18C;
/* 18D */ bool mUnk_18D;
/* 190 */ ActorRef mUnk_190;
/* 194 */ ActorUnkSZKU_194 mUnk_194;
/* 1B8 */ u8 mUnk_1B8;
/* 1B9 */ unk8 mUnk_1B9;
/* 1BC */ UnkStruct_ov031_Items_02 mUnk_1BC;
/* 1C8 */ STRUCT_PAD(0x1C8, 0x204);
/* 204 */ ActorUnkSZKU_204 mUnk_204[0x2];
ActorUnkSZKU();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 1C */ virtual void vfunc_1C() override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 30 */ virtual void vfunc_30(Actor_vfunc_30 *param1) override;
/* 4C */ virtual ~ActorUnkSZKU() override;
void func_ov071_0215f424(void);
void func_ov071_0215f530(void);
void func_ov071_0215f5dc(void);
void func_ov071_0215f608(void);
void func_ov071_0215f654(void);
void func_ov071_0215f714(void);
void func_ov071_0215f7dc(void);
void func_ov071_0215f7f4(void);
void func_ov071_0215f7f4(ActorState state);
void func_ov071_0215f80c(void);
void func_ov071_0215f824(void);
void func_ov071_0215f92c(void);
@@ -52,13 +132,7 @@ public:
void func_ov071_0215ff3c(void);
void func_ov071_0215ffb8(void);
void func_ov071_0215ffbc(void);
void func_ov071_02160000(void);
void func_ov071_02160038(void);
void func_ov071_02160078(void);
void func_ov071_02160094(void);
void func_ov071_021600b8(void);
void func_ov071_021600d4(void);
void func_ov071_021600e8(void);
};
class ActorProfileUnkSZKU : public ActorProfile_Derived1 {
+1 -1
View File
@@ -54,7 +54,7 @@ public:
/* 19 */ STRUCT_PAD(0x19, 0x1C);
/* 1C */
UnkStruct_ov000_020b31a8(unk32 param1, unk32 param2, unk32 param3);
UnkStruct_ov000_020b31a8(UnkSystem5 *param1, ModelRender *param2, unk32 param3);
// data_ov000_020b31a8
/* 00 */ virtual ~UnkStruct_ov000_020b31a8();
+11
View File
@@ -0,0 +1,11 @@
#pragma once
#include "types.h"
class UnkStruct_020431b8 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
};
extern UnkStruct_020431b8 data_020431b8;
+2 -1
View File
@@ -272,7 +272,6 @@ public:
// overlay 0
unk32 func_ov000_02080180(Vec2bCpp *param1);
void func_ov000_020801b0(Vec2bCpp *param1, unk32 param2, unk32 param3);
bool func_ov000_0208217c(VecFx32 *param1, unk32 param2);
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
void func_ov000_020803ec(u16 param1);
void func_ov000_0208053c(u16 param1);
@@ -283,6 +282,8 @@ public:
unk32 func_ov000_02080a44();
void func_ov000_02080a5c(VecFx32 *param1);
void func_ov000_02080a78(VecFx32 *param1);
bool func_ov000_02082008(Vec2bCpp *param1);
bool func_ov000_0208217c(VecFx32 *param1, unk32 param2);
// overlay 1
void func_ov001_020b85d0(const EntranceInfo *param1);
+1 -1
View File
@@ -70,7 +70,7 @@ extern "C" void func_01ff9638(VecFx32 *param1, fx16 param2);
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 *, void *);
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
extern "C" unk32 func_01ffbbe0(unk32 param1, unk32 param2);
extern "C" void func_01ffc6d4(ModelRender *param1, UnkAngleStruct param2, VecFx32 *param3);
extern "C" void func_0200eab0(G3d_Model *, unk32, u8);
+443 -37
View File
@@ -1,9 +1,49 @@
//! TODO: This file was generated automatically and might contain errors
#include "Actor/ActorUnkSZKU.hpp"
#include "Actor/ActorManager.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_020431b8.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e09b4.hpp"
#include "Unknown/UnkStruct_027e09b8.hpp"
#include "Unknown/UnkStruct_027e0cd8.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
#include "Unknown/UnkStruct_027e0d34.hpp"
#include "Unknown/UnkStruct_027e0d38.hpp"
class UnkStruct_ov071_0215f92c : public UnkStruct_ov031_Items_00 {
public:
/* 00 (base) */
/* 04 */ u16 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
UnkStruct_ov071_0215f92c();
};
class UnkActor_ov071_0215ffbc : public Actor {
public:
/* 00 (base) */
/* 94 */ STRUCT_PAD(0x94, 0xE8);
/* E8 */ VecFx32 mUnk_E8;
};
extern "C" unk32 data_ov000_020aecf8;
extern "C" VecFx32 data_ov071_02164bd4;
extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *);
extern "C" void func_01ffedac(Vec2bCpp *, VecFx32 *);
extern "C" fx32 func_ov000_02080068(fx32 x);
extern "C" fx32 func_ov000_02080080(fx32 x);
static ActorUnkZLSL_AnimationTag data_ov071_02164be0 = {0x0, "szku"};
static ActorUnkZSKU_UnkStruct data_ov071_02164cd8 = {.fct = 0x0};
static ActorUnkZSKU_UnkStruct data_ov071_02164ce0 = {.fct = ActorUnkSZKU::func_ov071_0215fed4};
static ActorUnkZSKU_UnkStruct data_ov071_02164ce8 = {.fct = ActorUnkSZKU::func_ov071_0215ff08};
static ActorUnkZSKU_UnkStruct data_ov071_02164cf0 = {.fct = ActorUnkSZKU::func_ov071_0215ff3c};
static ActorUnkZSKU_UnkStruct data_ov071_02164cf8 = {.fct = ActorUnkSZKU::func_ov071_0215ff3c};
static ActorUnkZSKU_UnkStruct data_ov071_02164d00 = {.fct = ActorUnkSZKU::func_ov071_0215ffb8};
static ActorUnkZSKU_UnkStruct data_ov071_02164d08 = {.fct = ActorUnkSZKU::func_ov071_0215ffbc};
DECL_PROFILE(ActorProfileUnkSZKU);
@@ -12,36 +52,365 @@ Actor *ActorProfileUnkSZKU::Create() {
}
ActorProfileUnkSZKU::ActorProfileUnkSZKU() :
ActorProfile_Derived1(ActorId_SZKU) {}
ActorProfile_Derived1(ActorId_SZKU) {
this->mUnk_18 = 0x0;
this->mUnk_1A = 0x1000;
this->mUnk_04.Init(FLOAT_TO_FX32(0.4f));
}
ActorUnkSZKU::ActorUnkSZKU() {}
// non-matching
ActorUnkSZKU::ActorUnkSZKU() :
mUnk_0A4(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkSZKU)->mUnk_3C.mUnk_50)),
mUnk_104(&this->mUnk_120, &this->mUnk_0A4, GET_PROFILE(ActorProfileUnkSZKU)->vfunc_04()),
mUnk_120(&this->mUnk_140, NULL),
mUnk_160(*(ActorUnkZSKU_UnkStruct *) &data_020431b8),
mUnk_188(0x0),
mUnk_18C(0x1),
mUnk_18D(false),
mUnk_190(0x0),
mUnk_194(this),
mUnk_1B8(0x0),
mUnk_1B9(0x1),
mUnk_1BC(0x1000, 0x1) {
this->mUnk_44 = 0xA3;
SET_FLAG(this->mFlags, ActorFlag_13);
this->mUnk_168.mUnk_04 = 0x13010;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mUnk_094);
}
void ActorUnkSZKU::func_ov071_0215f424(void) {}
void ActorUnkSZKU::func_ov071_0215f530(void) {}
void ActorUnkSZKU::func_ov071_0215f5dc(void) {}
void ActorUnkSZKU::func_ov071_0215f608(void) {}
void ActorUnkSZKU::func_ov071_0215f654(void) {}
void ActorUnkSZKU::func_ov071_0215f714(void) {}
void ActorUnkSZKU::func_ov071_0215f7dc(void) {}
void ActorUnkSZKU::func_ov071_0215f7f4(void) {}
void ActorUnkSZKU::func_ov071_0215f80c(void) {}
void ActorUnkSZKU::func_ov071_0215f824(void) {}
void ActorUnkSZKU::func_ov071_0215f92c(void) {}
void ActorUnkSZKU::func_ov071_0215fc0c(void) {}
void ActorUnkSZKU::func_ov071_0215fc54(void) {}
void ActorUnkSZKU::func_ov071_0215fca4(void) {}
void ActorUnkSZKU::func_ov071_0215fd04(void) {}
void ActorUnkSZKU::func_ov071_0215fd80(void) {}
void ActorUnkSZKU::func_ov071_0215fdd4(void) {}
void ActorUnkSZKU::func_ov071_0215fe54(void) {}
void ActorUnkSZKU::func_ov071_0215fe94(void) {}
void ActorUnkSZKU::func_ov071_0215fed4(void) {}
void ActorUnkSZKU::func_ov071_0215ff08(void) {}
// non-matching
bool ActorUnkSZKU::vfunc_18(unk32 param1) {
SET_FLAG(this->mFlags, ActorFlag_11);
this->mItemId = ItemId_ForceGem_60;
void ActorUnkSZKU::func_ov071_0215ff3c(void) {
if (this->mUnk_50 < this->mUnk_52) {
this->mUnk_50++;
this->mUnk_204[0].mUnk_04 = 0xD0A3;
this->mUnk_204[1].mUnk_04 = 0xD0A4;
this->mUnk_204[0].mUnk_08 = 0x2;
this->mUnk_204[1].mUnk_08 = 0x2;
this->func_ov071_0215fd04();
this->mUnk_18D = true;
return true;
}
void ActorUnkSZKU::vfunc_1C() {
if (this->mUnk_5C.mParams[0] != 0x1) {
return;
}
data_027e0cd8->mUnk_0C->func_ov000_02080a5c(&this->mUnk_1BC.mUnk_00);
}
void ActorUnkSZKU::vfunc_20() {
this->func_ov071_0215f92c();
this->func_ov071_0215f824();
this->mUnk_104.vfunc_34();
if (this->mUnk_5C.mParams[0] != 0x1) {
return;
}
VecFx32_Copy(&this->mPos, &this->mUnk_1BC.mUnk_00);
}
void ActorUnkSZKU::vfunc_24() {
if (this->mState == ActorUnkSZKUState_3) {
this->func_ov071_0215f92c();
}
this->func_ov071_0215f824();
if (this->mState == ActorUnkSZKUState_2) {
if (this->mUnk_1B8 != 0x0) {
this->IsTimerOut();
if (this->mUnk_50 == 0x14) {
this->func_ov071_0215fca4();
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_1B8 = 0x0;
SET_FLAG(this->mFlags, ActorFlag_Visible);
return;
}
} else {
this->func_ov071_0215f92c();
}
}
if (this->mState == ActorUnkSZKUState_1) {
this->mAngle = 0x0;
this->func_ov071_0215f92c();
}
this->mUnk_104.vfunc_34();
}
void ActorUnkSZKU::vfunc_2C(unk32 param1) {
if (!this->func_01fff5d0(param1, 0x0)) {
return;
}
Mat3p matrix;
Mat3p_InitYRotation(&matrix, SIN((u16) this->mAngle), COS((u16) this->mAngle));
VecFx32 vecC = this->mPos;
vecC.y += FLOAT_TO_FX32(0.5f);
this->mUnk_0A4.vfunc_10(&data_ov071_02164bd4, &matrix, &vecC);
data_027e09b4->func_ov017_020c08c4(&vecC, 0x333, 0x333, 0x1F, 0x0, 0x1);
}
// non-matching
void ActorUnkSZKU::vfunc_30(Actor_vfunc_30 *param1) {
this->func_ov017_020bef88(param1, GET_PROFILE(ActorProfileUnkSZKU), 0x1);
}
void ActorUnkSZKU::func_ov071_0215f7f4(ActorState state) {
this->mState = state;
this->mUnk_2C = data_ov000_020aecf8;
}
void ActorUnkSZKU::func_ov071_0215f80c() {
UNSET_FLAG(this->mFlags, ActorFlag_5);
this->func_ov071_0215fca4();
}
void ActorUnkSZKU::func_ov071_0215f824() {
switch (this->mState) {
case ActorUnkSZKUState_3:
case ActorUnkSZKUState_8: {
UnkStruct_027e0cec *data = data_027e0cec;
for (ActorUnkSZKU_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204);
++playerGet) {
data->func_ov000_020a0110(playerGet);
}
break;
}
default:
if (this->func_ov017_020beeec(0x4000)) {
VecFx32 vec = this->mPos;
vec.y += FLOAT_TO_FX32(0.5f);
UnkStruct_027e0cec *data = data_027e0cec;
for (ActorUnkSZKU_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204);
++playerGet) {
data->func_ov000_020a0140(playerGet, &vec);
}
break;
}
UnkStruct_027e0cec *data = data_027e0cec;
for (ActorUnkSZKU_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204);
++playerGet) {
data->func_ov000_020a0110(playerGet);
}
break;
}
}
// non-matching
void ActorUnkSZKU::func_ov071_0215f92c() {
if (this->mState != ActorUnkSZKUState_8 && !this->func_ov017_020beeec(0x4000)) {
return;
}
// weird
if (GET_FLAG(this->mFlags, ActorFlag_5)) {
this->func_ov071_0215f80c();
}
VecFx32_Copy(&this->mPos, &this->mPrevPos);
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
if ((this->mUnk_44 || this->mVel.y >= 0) || this->mState == ActorUnkSZKUState_4) {
UnkStruct_ov071_0215f92c sp4;
this->func_ov000_02098910(&sp4, 0x10);
if (sp4.mUnk_04 & 1) {
this->func_ov071_0215fc54();
} else if (this->mUnk_46 & 1) {
Vec2bCpp sp0;
UnkStruct_027e0cd8_0C_Base *temp_r7 = data_027e0cd8->mUnk_0C;
func_01ffedac(&sp0, &this->mPos);
if (!temp_r7->func_ov000_02082008(&sp0)) {
this->func_ov071_0215fc54();
return;
}
VecFx32_Copy(&this->mPos, &this->mUnk_094);
this->mUnk_094.x = func_ov000_02080068(sp0.x);
this->mUnk_094.y = func_ov000_02080080(sp0.y);
if (!this->mUnk_1B9) {
data_027e09a8->func_ov000_02071b30(0x98BF, &this->mPos, 0x0);
} else {
data_027e09a8->func_ov000_02071b30(0x98BE, &this->mPos, 0x0);
this->mUnk_1B9 = true;
}
fx32 temp_r1 = this->mVel.y;
bool temp_gt = temp_r1 > -0x800;
this->mVel.y = FLOAT_TO_FX32(0.0f);
if (!temp_gt) {
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.25f), FLOAT_TO_FX32(0.0f), &this->mVel);
} else if (temp_r1 >= 0xFFFFFE66) {
this->func_ov071_0215fd04();
} else {
fx32 temp_r1_2 = (0 - temp_r1) * 3;
VecFx32_Init(FLOAT_TO_FX32(0.0f), (temp_r1_2 + ((u32) (temp_r1_2 >> 1) >> 0x1E)) >> 2, FLOAT_TO_FX32(0.0f),
&this->mVel);
}
}
if (this->mState == ActorUnkSZKUState_4 && this->mUnk_46 & 0x9F) {
this->func_ov071_0215f80c();
}
}
this->func_ov000_020989e0();
if (!(this->mUnk_168.mUnk_08 & 0x3FFFF)) {
return;
}
switch (this->mUnk_168.mUnk_1C) {
case 4:
if (!data_027e0d38->func_ov031_020d9c04(0x1, 0x0, 0x1)) {
break;
}
this->func_ov071_0215fdd4();
break;
case 16:
if (this->mUnk_168.mUnk_0C.type_index == 0x100 && this->mUnk_168.mUnk_0C.unk_id == 0) {
this->func_ov071_0215fd80();
break;
}
break;
default:
break;
}
}
void ActorUnkSZKU::func_ov071_0215fc0c() {
UnkStruct_027e0cec *data = data_027e0cec;
for (ActorUnkSZKU_204 *playerGet = this->mUnk_204; playerGet != this->mUnk_204 + ARRAY_LEN(this->mUnk_204); ++playerGet) {
data->func_ov000_020a0110(playerGet);
}
this->func_ov071_0215fd80();
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fc54() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_0);
this->mUnk_18D = false;
this->func_ov017_020bfa50(&this->mUnk_094, 0x14);
this->mUnk_4A[0] = 0x0;
this->mUnk_44 = 0x1;
this->mUnk_160 = data_ov071_02164cd8;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fca4() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_1);
this->mUnk_52 = 0xFFFF;
this->mUnk_50 = 0x0000;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.25f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_4A[0] = 0x0;
this->mUnk_44 = 0xA3;
this->mUnk_160 = data_ov071_02164ce0;
this->mUnk_1B9 = 0x0;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fd04() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_2);
bool temp_r0 = this->mUnk_5C.mUnk_0F;
bool var_z = false;
if (temp_r0) {
var_z = !this->mUnk_18C;
}
this->mUnk_4A[0] = 0x1;
if (!var_z) {
var_z = !this->mUnk_18D;
}
this->mUnk_52 = 0xFFFF;
this->mUnk_50 = 0x0000;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_44 = 0;
if (var_z) {
this->mUnk_18C = false;
}
this->mUnk_18D = true;
this->mUnk_160 = data_ov071_02164ce8;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fd80() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_3);
this->mUnk_52 = 0xFFFF;
this->mUnk_50 = 0x0000;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_4A[0] = 0x0;
this->mUnk_44 = 0x0;
this->mUnk_160 = data_ov071_02164cf0;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fdd4() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_4);
this->mUnk_52 = 0xFFFF;
this->mUnk_50 = 0x0000;
this->mUnk_4A[0] = 0x0;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->vfunc_40();
this->mUnk_44 = (s16) this->mUnk_44 & ~0x20;
this->mUnk_168.func_ov000_02097bec();
this->mUnk_44 = 0x9F;
this->mUnk_46 = 0x00;
this->mUnk_160 = data_ov071_02164cf8;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fe54() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_6);
this->mUnk_2C = 0x0;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_160 = data_ov071_02164d00;
}
// non-matching
void ActorUnkSZKU::func_ov071_0215fe94() {
this->func_ov071_0215f7f4(ActorUnkSZKUState_7);
this->mUnk_2C = 0x0;
VecFx32_Init(FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), FLOAT_TO_FX32(0.0f), &this->mVel);
this->mUnk_160 = data_ov071_02164d08;
}
void ActorUnkSZKU::func_ov071_0215fed4() {
this->IsTimerOut();
this->func_ov000_02098838();
this->mUnk_3C = &this->mUnk_168;
}
void ActorUnkSZKU::func_ov071_0215ff08() {
this->IsTimerOut();
this->mAngle += 0x222; // TODO DEG_ANGLE
this->mUnk_3C = &this->mUnk_168;
}
void ActorUnkSZKU::func_ov071_0215ff3c() {
this->IsTimerOut();
if (!data_027e09b8->func_01ffd420()) {
if (data_027e0d34->TryItemGive(this->mItemId)) {
@@ -52,15 +421,52 @@ void ActorUnkSZKU::func_ov071_0215ff3c(void) {
}
}
void ActorUnkSZKU::func_ov071_0215ffb8(void) {}
void ActorUnkSZKU::func_ov071_0215ffbc(void) {}
void ActorUnkSZKU::func_ov071_02160000(void) {}
void ActorUnkSZKU::func_ov071_02160038(void) {}
void ActorUnkSZKU::func_ov071_02160078(void) {}
void ActorUnkSZKU::func_ov071_02160094(void) {}
void ActorUnkSZKU::func_ov071_021600b8(void) {}
void ActorUnkSZKU::func_ov071_021600d4(void) {}
void ActorUnkSZKU::func_ov071_021600e8(void) {}
void ActorUnkSZKU::func_ov071_0215ffb8() {}
void ActorUnkSZKU::func_ov071_0215ffbc() {
UnkActor_ov071_0215ffbc *actor = (UnkActor_ov071_0215ffbc *) gpActorManager->func_01fff3b4(this->mUnk_190);
if (actor == NULL) {
this->func_ov071_0215fca4();
return;
}
func_01ffb714(&actor->mUnk_E8, &this->mPos, &this->mVel);
}
ActorUnkSZKU_194::ActorUnkSZKU_194(ActorUnkSZKU *param1) :
Actor_C4(param1) {
this->mUnk_20 = param1;
this->mUnk_04 = 0x1;
}
bool ActorUnkSZKU_194::vfunc_00(ActorRef ref, unk32 param2) {
if (param2 != 0x0) {
ActorUnkSZKU *actor = this->GetActorPtr<ActorUnkSZKU>();
actor->mUnk_190 = ref;
actor->func_ov071_0215fe54();
}
return this->Actor_C4::vfunc_00(ref, param2);
}
bool ActorUnkSZKU_194::vfunc_04() {
this->GetActorPtr<ActorUnkSZKU>()->func_ov071_0215fe94();
return this->Actor_C4::vfunc_04();
}
void ActorUnkSZKU_194::vfunc_0C(unk32 param1) {
this->GetActorPtr<ActorUnkSZKU>()->func_ov071_0215fca4();
return this->Actor_C4::vfunc_0C(param1);
}
void ActorUnkSZKU_194::vfunc_08() {
this->GetActorPtr<ActorUnkSZKU>()->func_ov071_0215fc0c();
return this->Actor_C4::vfunc_08();
}
ActorUnkSZKU_204::ActorUnkSZKU_204() :
UnkStruct_PlayerGet_ec(NULL),
mUnk_04(-0x1),
mUnk_08(0x0) {}
ActorUnkSZKU::~ActorUnkSZKU() {}
ActorProfileUnkSZKU::~ActorProfileUnkSZKU() {}
ActorUnkSKZU_104::~ActorUnkSKZU_104() {}