Decompiling rolling stones actor (#104)

* feat: rename UnkRLST to RollingStone

* feat: prepare for decompiling

* feat: match .data

* refactor: remove explicit deconstructor from parameters class

* feat: improvements

* feat: matching

* feat: fix build issues

* feat: continue matching

* style: weird style

* feat: improvements

* feat: remove explicit destructors

* feat: improvements

* feat: improvements

* feat: improvements

* feat: progress

* feat: some progress

* refactor: cleanup

* refactor: more cleanup

* refactor: apply rc

* refactor: includes black magic

* refactor: MORE MAGIC
This commit is contained in:
Alessevan
2026-07-13 21:13:21 +02:00
committed by GitHub
parent 8d759ee331
commit 260f9b13c5
29 changed files with 1148 additions and 326 deletions
+12 -12
View File
@@ -1381,7 +1381,7 @@ _ZN19func_ov000_0207b628D1Ev kind:function(arm,size=0x14) addr:0x0207b628
_ZN19func_ov000_0207b63cD0Ev kind:function(arm,size=0x1c) addr:0x0207b63c
_ZN19func_ov000_0207b658D1Ev kind:function(arm,size=0x30) addr:0x0207b658
_ZN19func_ov000_0207b688D0Ev kind:function(arm,size=0x38) addr:0x0207b688
_ZN24UnkStruct_ov031_Items_01D1Ev kind:function(arm,size=0x30) addr:0x0207b6c0
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207b6c0
func_ov000_0207b6f0 kind:function(arm,size=0x1c) addr:0x0207b6f0
func_ov000_0207b70c kind:function(arm,size=0x10) addr:0x0207b70c
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207b71c
@@ -1458,7 +1458,7 @@ _ZN18UnkStruct_027e09c019func_ov000_0207da40Ev kind:function(arm,size=0x20c) add
func_ov000_0207dc4c kind:function(arm,size=0x18) addr:0x0207dc4c
func_ov000_0207dc64 kind:function(arm,size=0x24) addr:0x0207dc64
func_ov000_0207dc88 kind:function(arm,size=0x210) addr:0x0207dc88
func_ov000_0207de98 kind:function(arm,size=0xc0) addr:0x0207de98
_ZN18UnkStruct_027e09c019func_ov000_0207de98E8ActorRefP24UnkStruct_ov000_0207de98P8Actor_38 kind:function(arm,size=0xc0) addr:0x0207de98
func_ov000_0207df58 kind:function(arm,size=0x30) addr:0x0207df58
_ZN5Actor19func_ov000_0207df88EP8Cylinderi kind:function(arm,size=0xd8) addr:0x0207df88
func_ov000_0207e060 kind:function(arm,size=0x68) addr:0x0207e060
@@ -1471,7 +1471,7 @@ func_ov000_0207e254 kind:function(arm,size=0x14) addr:0x0207e254
func_ov000_0207e268 kind:function(arm,size=0x2c) addr:0x0207e268
_ZN5Actor19func_ov000_0207e294EP8Cylinder kind:function(arm,size=0x118) addr:0x0207e294
func_ov000_0207e3ac kind:function(arm,size=0xac) addr:0x0207e3ac
func_ov000_0207e458 kind:function(arm,size=0x84) addr:0x0207e458
_ZN18UnkStruct_027e09c019func_ov000_0207e458EiiP7VecFx32iS1_8ActorRef kind:function(arm,size=0x84) addr:0x0207e458
func_ov000_0207e4dc kind:function(arm,size=0x84) addr:0x0207e4dc
func_ov000_0207e560 kind:function(arm,size=0x2c) addr:0x0207e560
_ZN18UnkStruct_027e09c019func_ov000_0207e58cE8ActorRefihP24UnkStruct_ov031_Items_01 kind:function(arm,size=0xa4) addr:0x0207e58c
@@ -1496,9 +1496,9 @@ _ZN19func_ov000_0207ed10D2Ev kind:function(arm,size=0x30) addr:0x0207ed10
func_ov000_0207ed40 kind:function(arm,size=0x44) addr:0x0207ed40
func_ov000_0207ed84 kind:function(arm,size=0x8) addr:0x0207ed84
func_ov000_0207ed8c kind:function(arm,size=0x20) addr:0x0207ed8c
_ZN17Actor_Derived1_94C2Ev kind:function(arm,size=0x20) addr:0x0207edac
_ZN17Actor_Derived1_94C1Ev kind:function(arm,size=0x20) addr:0x0207edac
func_ov000_0207edcc kind:function(arm,size=0x1c) addr:0x0207edcc
_ZN17Actor_Derived1_94D2Ev kind:function(arm,size=0x30) addr:0x0207ede8
_ZN17Actor_Derived1_94D1Ev kind:function(arm,size=0x30) addr:0x0207ede8
_ZN19func_ov000_0207ee18D0Ev kind:function(arm,size=0x38) addr:0x0207ee18
_ZN19func_ov000_0207ee50D2Ev kind:function(arm,size=0x30) addr:0x0207ee50
func_ov000_0207ee80 kind:function(arm,size=0x4) addr:0x0207ee80
@@ -2277,10 +2277,10 @@ _ZN21ActorProfile_Derived1C2Ej kind:function(arm,size=0x30) addr:0x02097898
func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x020978c8
_ZN21ActorProfile_Derived1C2EjS0_ kind:function(arm,size=0x30) addr:0x020978dc
_ZN21ActorProfile_Derived1D2Ev kind:function(arm,size=0x38) addr:0x0209790c
func_ov000_02097944 kind:function(arm,size=0x8) addr:0x02097944
func_ov000_0209794c kind:function(arm,size=0x20) addr:0x0209794c
func_ov000_0209796c kind:function(arm,size=0x2c) addr:0x0209796c
func_ov000_02097998 kind:function(arm,size=0x1c) addr:0x02097998
_ZN21ActorProfile_Derived18vfunc_04Ev kind:function(arm,size=0x8) addr:0x02097944
_ZN21ActorProfile_Derived18vfunc_10Ev kind:function(arm,size=0x20) addr:0x0209794c
_ZN21ActorProfile_Derived18vfunc_14Ev kind:function(arm,size=0x2c) addr:0x0209796c
_ZN21ActorProfile_Derived18vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02097998
func_ov000_020979b4 kind:function(arm,size=0x30) addr:0x020979b4
func_ov000_020979e4 kind:function(arm,size=0x8) addr:0x020979e4
func_ov000_020979ec kind:function(arm,size=0x2c) addr:0x020979ec
@@ -2308,7 +2308,7 @@ 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
func_ov000_020982d8 kind:function(arm,size=0x80) addr:0x020982d8
_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
_ZN5ActorC2Ev kind:function(arm,size=0xe8) addr:0x02098388
@@ -2342,12 +2342,12 @@ 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
func_ov000_02098860 kind:function(arm,size=0xb0) addr:0x02098860
_ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x02098910
_ZN5Actor19func_ov000_02098910EP24UnkStruct_ov031_Items_00i kind:function(arm,size=0xd0) addr:0x02098910
_ZN5Actor19func_ov000_020989e0Ev kind:function(arm,size=0x38) addr:0x020989e0
func_ov000_02098a18 kind:function(arm,size=0x48) addr:0x02098a18
_ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x02098a60
_ZN5Actor19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x02098a88
_ZN5Actor19func_ov000_02098ab4EbiiP7VecFx32 kind:function(arm,size=0x74) addr:0x02098ab4
_ZN5Actor19func_ov000_02098ab4EhiiP7VecFx32 kind:function(arm,size=0x74) addr:0x02098ab4
_ZN14Actor_Derived2C2Ev kind:function(arm,size=0x64) addr:0x02098b28
_ZN5Actor19func_ov000_02098b8cEii kind:function(arm,size=0x184) addr:0x02098b8c
func_ov000_02098d10 kind:function(arm,size=0x6c) addr:0x02098d10
+1 -1
View File
@@ -78,7 +78,7 @@ func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020bf99c
_ZN5Actor19func_ov017_020bf9c8EPS_ kind:function(arm,size=0x88) addr:0x020bf9c8
func_ov017_020bfa50 kind:function(arm,size=0x84) addr:0x020bfa50
func_ov017_020bfad4 kind:function(arm,size=0x44) addr:0x020bfad4
func_ov017_020bfb18 kind:function(arm,size=0x238) addr:0x020bfb18
_ZN5Actor19func_ov017_020bfb18EP8Actor_9C kind:function(arm,size=0x238) addr:0x020bfb18
_ZN5Actor8vfunc_14Ev kind:function(arm,size=0x4c) addr:0x020bfd50
func_ov017_020bfd9c kind:function(arm,size=0x130) addr:0x020bfd9c
_ZN5Actor8vfunc_48Ev kind:function(arm,size=0x80) addr:0x020bfecc
+1 -1
View File
@@ -149,7 +149,7 @@ src/031_Land/Actor/ActorUnkFLEN.cpp:
.data start:0x021149b8 end:0x02114a38
.bss start:0x02116d38 end:0x02116d84
src/031_Land/Actor/ActorUnkRLST.cpp:
src/031_Land/Actor/ActorRollingStone.cpp:
.text start:0x020f82e0 end:0x020f9dcc
.init start:0x02111800 end:0x02111850
.ctor start:0x021127f8 end:0x021127fc
+3 -3
View File
@@ -3503,7 +3503,7 @@ from:0x020f8654 kind:load to:0x02114b44 add:0x8 module:overlay(31)
from:0x020f8658 kind:load to:0x02116d94 module:overlay(31)
from:0x020f865c kind:load to:0x020b1960 add:0x8 module:overlay(0)
from:0x020f8660 kind:load to:0x02114a38 add:0x8 module:overlay(31)
from:0x020f8664 kind:load to:0x02114a5c module:overlay(31)
from:0x020f8664 kind:load to:0x02114a54 module:overlay(31) add:0x8
from:0x020f8668 kind:load to:0x027e0130 module:dtcm
from:0x020f866c kind:load to:0x020a02d4 module:overlay(0)
from:0x020f8670 kind:load to:0x020e5704 module:overlay(31)
@@ -3553,7 +3553,7 @@ from:0x020f8d58 kind:arm_call to:0x02098ab4 module:overlay(0)
from:0x020f8d88 kind:arm_call to:0x0207e58c module:overlay(0)
from:0x020f8dc4 kind:arm_call to:0x0207de98 module:overlay(0)
from:0x020f8dcc kind:arm_call to:0x0207bffc module:overlay(0)
from:0x020f8dd8 kind:load to:0x02114a5c module:overlay(31)
from:0x020f8dd8 kind:load to:0x02114a54 module:overlay(31) add:0x8
from:0x020f8ddc kind:load to:0x0203e964 module:main
from:0x020f8de0 kind:load to:0x027e09c0 module:dtcm
from:0x020f8e10 kind:arm_call to:0x020989e0 module:overlay(0)
@@ -3618,7 +3618,7 @@ from:0x020f978c kind:arm_call to:0x020d69d8 module:overlay(24)
from:0x020f979c kind:arm_call to:0x01ffb6e4 module:itcm
from:0x020f97a4 kind:arm_call to:0x020f98e4 module:overlay(31)
from:0x020f97ac kind:arm_call to:0x0207bffc module:overlay(0)
from:0x020f97b8 kind:load to:0x02114a5c module:overlay(31)
from:0x020f97b8 kind:load to:0x02114a54 module:overlay(31) add:0x8
from:0x020f97bc kind:load to:0x0203e964 module:main
from:0x020f97c0 kind:load to:0x027e09c0 module:dtcm
from:0x020f9860 kind:arm_call_thumb to:0x01ffa1bc module:itcm
+56 -56
View File
@@ -1107,54 +1107,54 @@ _ZN12ActorUnkFLEN19func_ov031_020f81f8Ev kind:function(arm,size=0xa4) addr:0x020
_ZN12ActorUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f829c
_ZN12ActorUnkFLEND0Ev kind:function(arm,size=0x1c) addr:0x020f82b0
_ZN19ActorProfileUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f82cc
_ZN19ActorProfileUnkRLST10GetProfileEv kind:function(arm,size=0xc) addr:0x020f82e0
_ZN19ActorProfileUnkRLST6CreateEv kind:function(arm,size=0x24) addr:0x020f82ec
_ZN19ActorProfileUnkRLSTC1Ev kind:function(arm,size=0x44) addr:0x020f8310
_ZN12ActorUnkRLST19func_ov031_020f8354Ev kind:function(arm,size=0x90) addr:0x020f8354
_ZN12ActorUnkRLST19func_ov031_020f83e4Ev kind:function(arm,size=0xb8) addr:0x020f83e4
_ZN12ActorUnkRLST19func_ov031_020f849cEv kind:function(arm,size=0x44) addr:0x020f849c
_ZN12ActorUnkRLSTC1Ev kind:function(arm,size=0x194) addr:0x020f84e0
_ZN12ActorUnkRLST19func_ov031_020f8674Ev kind:function(arm,size=0x14) addr:0x020f8674
_ZN12ActorUnkRLST19func_ov031_020f8688Ev kind:function(arm,size=0x14) addr:0x020f8688
_ZN12ActorUnkRLST19func_ov031_020f869cEv kind:function(arm,size=0xf0) addr:0x020f869c
_ZN12ActorUnkRLST19func_ov031_020f878cEv kind:function(arm,size=0x98) addr:0x020f878c
_ZN12ActorUnkRLST19func_ov031_020f8824Ev kind:function(arm,size=0x5c) addr:0x020f8824
_ZN12ActorUnkRLST19func_ov031_020f8880Ev kind:function(arm,size=0xc8) addr:0x020f8880
_ZN12ActorUnkRLST19func_ov031_020f8948Ev kind:function(arm,size=0xac) addr:0x020f8948
_ZN12ActorUnkRLST19func_ov031_020f89f4Ev kind:function(arm,size=0x10) addr:0x020f89f4
_ZN12ActorUnkRLST19func_ov031_020f8a04Ev kind:function(arm,size=0x28) addr:0x020f8a04
_ZN12ActorUnkRLST19func_ov031_020f8a2cEv kind:function(arm,size=0xc) addr:0x020f8a2c
_ZN12ActorUnkRLST19func_ov031_020f8a38Ev kind:function(arm,size=0x4) addr:0x020f8a38
_ZN12ActorUnkRLST19func_ov031_020f8a3cEv kind:function(arm,size=0x1c) addr:0x020f8a3c
_ZN12ActorUnkRLST19func_ov031_020f8a58Ev kind:function(arm,size=0x100) addr:0x020f8a58
_ZN12ActorUnkRLST19func_ov031_020f8b58Ev kind:function(arm,size=0x6c) addr:0x020f8b58
_ZN12ActorUnkRLST19func_ov031_020f8bc4Ev kind:function(arm,size=0x224) addr:0x020f8bc4
_ZN12ActorUnkRLST19func_ov031_020f8de8Ev kind:function(arm,size=0xec) addr:0x020f8de8
_ZN12ActorUnkRLST19func_ov031_020f8ed4Ev kind:function(arm,size=0x38) addr:0x020f8ed4
_ZN12ActorUnkRLST19func_ov031_020f8f0cEv kind:function(arm,size=0x4) addr:0x020f8f0c
_ZN12ActorUnkRLST19func_ov031_020f8f10Ev kind:function(arm,size=0x20) addr:0x020f8f10
_ZN12ActorUnkRLST19func_ov031_020f8f30Ev kind:function(arm,size=0xe8) addr:0x020f8f30
_ZN12ActorUnkRLST19func_ov031_020f9018Ev kind:function(arm,size=0x38) addr:0x020f9018
_ZN12ActorUnkRLST19func_ov031_020f9050Ev kind:function(arm,size=0x11c) addr:0x020f9050
_ZN12ActorUnkRLST19func_ov031_020f916cEv kind:function(arm,size=0x40) addr:0x020f916c
_ZN12ActorUnkRLST19func_ov031_020f91acEv kind:function(arm,size=0xa4) addr:0x020f91ac
_ZN12ActorUnkRLST19func_ov031_020f9250Ev kind:function(arm,size=0x7c) addr:0x020f9250
_ZN12ActorUnkRLST19func_ov031_020f92ccEv kind:function(arm,size=0x74) addr:0x020f92cc
_ZN12ActorUnkRLST19func_ov031_020f9340Ev kind:function(arm,size=0x7c) addr:0x020f9340
_ZN12ActorUnkRLST19func_ov031_020f93bcEv kind:function(arm,size=0xd8) addr:0x020f93bc
_ZN12ActorUnkRLST19func_ov031_020f9494Ev kind:function(arm,size=0xc0) addr:0x020f9494
_ZN12ActorUnkRLST19func_ov031_020f9554Ev kind:function(arm,size=0x278) addr:0x020f9554
_ZN12ActorUnkRLST19func_ov031_020f97ccEv kind:function(arm,size=0x118) addr:0x020f97cc
_ZN12ActorUnkRLST19func_ov031_020f98e4Ev kind:function(arm,size=0x210) addr:0x020f98e4
_ZN12ActorUnkRLST19func_ov031_020f9af4Ev kind:function(arm,size=0x4) addr:0x020f9af4
_ZN12ActorUnkRLST19func_ov031_020f9af8Ev kind:function(arm,size=0xac) addr:0x020f9af8
_ZN12ActorUnkRLST19func_ov031_020f9ba4Ev kind:function(arm,size=0x11c) addr:0x020f9ba4
_ZN12ActorUnkRLST19func_ov031_020f9cc0Ev kind:function(arm,size=0x18) addr:0x020f9cc0
_ZN12ActorUnkRLSTD0Ev kind:function(arm,size=0x1c) addr:0x020f9cd8
_ZN12ActorUnkRLST19func_ov031_020f9cf4Ev kind:function(arm,size=0x1c) addr:0x020f9cf4
_ZN12ActorUnkRLSTD1Ev kind:function(arm,size=0x50) addr:0x020f9d10
_ZN12ActorUnkRLST19func_ov031_020f9d60Ev kind:function(arm,size=0x58) addr:0x020f9d60
_ZN19ActorProfileUnkRLSTD1Ev kind:function(arm,size=0x14) addr:0x020f9db8
_ZN24ActorProfileRollingStone10GetProfileEv kind:function(arm,size=0xc) addr:0x020f82e0
_ZN24ActorProfileRollingStone6CreateEv kind:function(arm,size=0x24) addr:0x020f82ec
_ZN24ActorProfileRollingStoneC1Ev kind:function(arm,size=0x44) addr:0x020f8310
_ZN21ActorRollingStone_1048vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x90) addr:0x020f8354
_ZN21ActorRollingStone_1048vfunc_10Ev kind:function(arm,size=0xb8) addr:0x020f83e4
_ZN20ActorRollingStone_D48vfunc_10EP5Actor kind:function(arm,size=0x44) addr:0x020f849c
_ZN17ActorRollingStoneC1Ev kind:function(arm,size=0x194) addr:0x020f84e0
_ZN20ActorRollingStone_D4D1Ev kind:function(arm,size=0x14) addr:0x020f8674
_ZN21ActorRollingStone_104D1Ev kind:function(arm,size=0x14) addr:0x020f8688
_ZN17ActorRollingStone8vfunc_18Ei kind:function(arm,size=0xf0) addr:0x020f869c
_ZN17ActorRollingStone8vfunc_20Ev kind:function(arm,size=0x98) addr:0x020f878c
_ZN17ActorRollingStone8SetStateEs kind:function(arm,size=0x5c) addr:0x020f8824
_ZN17ActorRollingStone19func_ov031_020f8880Ev kind:function(arm,size=0xc8) addr:0x020f8880
_ZN17ActorRollingStone8vfunc_2CEi kind:function(arm,size=0xac) addr:0x020f8948
_ZN17ActorRollingStone19func_ov031_020f89f4Ev kind:function(arm,size=0x10) addr:0x020f89f4
_ZN17ActorRollingStone19func_ov031_020f8a04Ev kind:function(arm,size=0x28) addr:0x020f8a04
_ZN17ActorRollingStone19func_ov031_020f8a2cEv kind:function(arm,size=0xc) addr:0x020f8a2c
_ZN17ActorRollingStone19func_ov031_020f8a38Ev kind:function(arm,size=0x4) addr:0x020f8a38
_ZN17ActorRollingStone19func_ov031_020f8a3cEv kind:function(arm,size=0x1c) addr:0x020f8a3c
_ZN17ActorRollingStone19func_ov031_020f8a58Ev kind:function(arm,size=0x100) addr:0x020f8a58
_ZN17ActorRollingStone19func_ov031_020f8b58Ev kind:function(arm,size=0x6c) addr:0x020f8b58
_ZN17ActorRollingStone19func_ov031_020f8bc4Ev kind:function(arm,size=0x224) addr:0x020f8bc4
_ZN17ActorRollingStone19func_ov031_020f8de8Ev kind:function(arm,size=0xec) addr:0x020f8de8
_ZN17ActorRollingStone19func_ov031_020f8ed4Ev kind:function(arm,size=0x38) addr:0x020f8ed4
_ZN17ActorRollingStone19func_ov031_020f8f0cEv kind:function(arm,size=0x4) addr:0x020f8f0c
_ZN17ActorRollingStone19func_ov031_020f8f10Ev kind:function(arm,size=0x20) addr:0x020f8f10
_ZN17ActorRollingStone19func_ov031_020f8f30Ev kind:function(arm,size=0xe8) addr:0x020f8f30
_ZN17ActorRollingStone19func_ov031_020f9018Ev kind:function(arm,size=0x38) addr:0x020f9018
_ZN17ActorRollingStone19func_ov031_020f9050Ev kind:function(arm,size=0x11c) addr:0x020f9050
_ZN17ActorRollingStone19func_ov031_020f916cEv kind:function(arm,size=0x40) addr:0x020f916c
_ZN17ActorRollingStone19func_ov031_020f91acEv kind:function(arm,size=0xa4) addr:0x020f91ac
_ZN17ActorRollingStone19func_ov031_020f9250Ev kind:function(arm,size=0x7c) addr:0x020f9250
_ZN17ActorRollingStone19func_ov031_020f92ccEv kind:function(arm,size=0x74) addr:0x020f92cc
_ZN17ActorRollingStone19func_ov031_020f9340Ev kind:function(arm,size=0x7c) addr:0x020f9340
_ZN17ActorRollingStone19func_ov031_020f93bcEv kind:function(arm,size=0xd8) addr:0x020f93bc
_ZN17ActorRollingStone19func_ov031_020f9494Ev kind:function(arm,size=0xc0) addr:0x020f9494
_ZN17ActorRollingStone19func_ov031_020f9554Ev kind:function(arm,size=0x278) addr:0x020f9554
_ZN17ActorRollingStone19func_ov031_020f97ccEv kind:function(arm,size=0x118) addr:0x020f97cc
_ZN17ActorRollingStone19func_ov031_020f98e4Ev kind:function(arm,size=0x210) addr:0x020f98e4
_ZN17ActorRollingStone19func_ov031_020f9af4Ev kind:function(arm,size=0x4) addr:0x020f9af4
_ZN17ActorRollingStone19func_ov031_020f9af8Ev kind:function(arm,size=0xac) addr:0x020f9af8
_ZN17ActorRollingStone19func_ov031_020f9ba4Ev kind:function(arm,size=0x11c) addr:0x020f9ba4
_ZN17ActorRollingStone19func_ov031_020f9cc0Ev kind:function(arm,size=0x18) addr:0x020f9cc0
_ZN21ActorRollingStone_104D0Ev kind:function(arm,size=0x1c) addr:0x020f9cd8
_ZN20ActorRollingStone_D4D0Ev kind:function(arm,size=0x1c) addr:0x020f9cf4
_ZN17ActorRollingStoneD1Ev kind:function(arm,size=0x50) addr:0x020f9d10
_ZN17ActorRollingStoneD0Ev kind:function(arm,size=0x58) addr:0x020f9d60
_ZN24ActorProfileRollingStoneD1Ev kind:function(arm,size=0x14) addr:0x020f9db8
_ZN21ActorProfileArrowDrop10GetProfileEv kind:function(arm,size=0xc) addr:0x020f9dcc
_ZN21ActorProfileArrowDrop6CreateEv kind:function(arm,size=0x24) addr:0x020f9dd8
_ZN21ActorProfileArrowDropC1Ev kind:function(arm,size=0x40) addr:0x020f9dfc
@@ -2093,7 +2093,7 @@ __sinit_ActorUnkSWCH.cpp kind:function(arm,size=0x50) addr:0x021116c0
__sinit_ActorUnkSWON.cpp kind:function(arm,size=0x50) addr:0x02111710 local
__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x02111760
__sinit_ActorUnkFLEN.cpp kind:function(arm,size=0x50) addr:0x021117b0
__sinit_ActorUnkRLST.cpp kind:function(arm,size=0x50) addr:0x02111800
__sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x02111800
__sinit_ActorItemDrop.cpp kind:function(arm,size=0x138) addr:0x02111850 local
__sinit_ActorUnkMLCK.cpp kind:function(arm,size=0x74) addr:0x02111988
__sinit_ActorUnkCLLT.cpp kind:function(arm,size=0x50) addr:0x021119fc
@@ -2157,7 +2157,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
.p__sinit_ActorUnkSWON.cpp kind:data(word) addr:0x021127ec local
.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x021127f0
.p__sinit_ActorUnkFLEN.cpp kind:data(word) addr:0x021127f4
.p__sinit_ActorUnkRLST.cpp kind:data(word) addr:0x021127f8
.p__sinit_ActorRollingStone.cpp kind:data(word) addr:0x021127f8
.p__sinit_ActorItemDrop.cpp kind:data(word) addr:0x021127fc local
.p__sinit_ActorUnkMLCK.cpp kind:data(word) addr:0x02112800
.p__sinit_ActorUnkCLLT.cpp kind:data(word) addr:0x02112804
@@ -2385,12 +2385,12 @@ _ZTV19ActorProfileUnkNORE kind:data(any) addr:0x02114938
_ZTV12ActorUnkNORE kind:data(any) addr:0x0211495c
_ZTV19ActorProfileUnkFLEN kind:data(any) addr:0x021149b8
_ZTV12ActorUnkFLEN kind:data(any) addr:0x021149dc
_ZTV19data_ov031_02114a40 kind:data(any) addr:0x02114a38
data_ov031_02114a5c kind:data(any) addr:0x02114a5c
_ZTV19data_ov031_02114a70 kind:data(any) addr:0x02114a70
_ZTV20ActorRollingStone_D4 kind:data(any) addr:0x02114a38
_ZTV21ActorRollingStone_104 kind:data(any) addr:0x02114a54
_ZTV24ActorProfileRollingStone kind:data(any) addr:0x02114a70
data_ov031_02114a94 kind:data(any) addr:0x02114a94
data_ov031_02114aec kind:data(any) addr:0x02114aec
_ZTV19data_ov031_02114b44 kind:data(any) addr:0x02114b44
_ZTV17ActorRollingStone kind:data(any) addr:0x02114b44
data_ov031_02114ba0 kind:data(any) addr:0x02114ba0 local
data_ov031_02114bb0 kind:data(any) addr:0x02114bb0 local
data_ov031_02114be8 kind:data(any) addr:0x02114be8 local
@@ -2593,9 +2593,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02116cfc
_ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d38
@10902 kind:bss addr:0x02116d3c
_ZN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02116d48
_ZGVN15ProfileInstanceI19ActorProfileUnkRLSTE8sProfileE kind:bss addr:0x02116d84
_ZGVN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d84
@10908 kind:bss addr:0x02116d88
_ZN15ProfileInstanceI19ActorProfileUnkRLSTE8sProfileE kind:bss addr:0x02116d94
_ZN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02116d94
_ZGVN15ProfileInstanceI24ActorProfileTreasureDropE8sProfileE kind:bss addr:0x02116e6c
_ZGVN15ProfileInstanceI25ActorProfileRedPotionDropE8sProfileE kind:bss addr:0x02116e70
_ZGVN15ProfileInstanceI20ActorProfileBombDropE8sProfileE kind:bss addr:0x02116e74
+1 -1
View File
@@ -31,7 +31,7 @@ func_ov093_021661e0 kind:function(arm,size=0x10) addr:0x021661e0
func_ov093_021661f0 kind:function(arm,size=0x10) addr:0x021661f0
func_ov093_02166200 kind:function(arm,size=0x10) addr:0x02166200
func_ov093_02166210 kind:function(arm,size=0x10) addr:0x02166210
func_ov093_02166220 kind:function(arm,size=0x10) addr:0x02166220
_ZN18UnkStruct_027e0d8c19func_ov093_02166220Ev kind:function(arm,size=0x10) addr:0x02166220
func_ov093_02166230 kind:function(arm,size=0x10) addr:0x02166230
func_ov093_02166240 kind:function(arm,size=0x10) addr:0x02166240
func_ov093_02166250 kind:function(arm,size=0x10) addr:0x02166250
+5 -5
View File
@@ -1379,7 +1379,7 @@ _ZN19func_ov000_0207cce0D1Ev kind:function(arm,size=0x14) addr:0x0207cce0
_ZN19func_ov000_0207ccf4D0Ev kind:function(arm,size=0x1c) addr:0x0207ccf4
_ZN19func_ov000_0207cd10D1Ev kind:function(arm,size=0x30) addr:0x0207cd10
_ZN19func_ov000_0207cd40D0Ev kind:function(arm,size=0x38) addr:0x0207cd40
_ZN24UnkStruct_ov031_Items_01D1Ev kind:function(arm,size=0x30) addr:0x0207cd78
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207cd78
func_ov000_0207cda8 kind:function(arm,size=0x1c) addr:0x0207cda8
func_ov000_0207cdc4 kind:function(arm,size=0x10) addr:0x0207cdc4
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207cdd4
@@ -1494,9 +1494,9 @@ _ZN19func_ov000_020803c8D2Ev kind:function(arm,size=0x30) addr:0x020803c8
func_ov000_020803f8 kind:function(arm,size=0x44) addr:0x020803f8
func_ov000_0208043c kind:function(arm,size=0x8) addr:0x0208043c
func_ov000_02080444 kind:function(arm,size=0x20) addr:0x02080444
_ZN17Actor_Derived1_94C2Ev kind:function(arm,size=0x20) addr:0x02080464
_ZN17Actor_Derived1_94C1Ev kind:function(arm,size=0x20) addr:0x02080464
func_ov000_02080484 kind:function(arm,size=0x1c) addr:0x02080484
_ZN17Actor_Derived1_94D2Ev kind:function(arm,size=0x30) addr:0x020804a0
_ZN17Actor_Derived1_94D1Ev kind:function(arm,size=0x30) addr:0x020804a0
_ZN19func_ov000_020804d0D0Ev kind:function(arm,size=0x38) addr:0x020804d0
_ZN19func_ov000_02080508D2Ev kind:function(arm,size=0x30) addr:0x02080508
func_ov000_02080538 kind:function(arm,size=0x4) addr:0x02080538
@@ -2339,12 +2339,12 @@ 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
func_ov000_0209a008 kind:function(arm,size=0xb0) addr:0x0209a008
_ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x0209a0b8
_ZN5Actor19func_ov000_02098910EP24UnkStruct_ov031_Items_00i kind:function(arm,size=0xd0) addr:0x0209a0b8
_ZN5Actor19func_ov000_020989e0Ev kind:function(arm,size=0x38) addr:0x0209a188
func_ov000_0209a1c0 kind:function(arm,size=0x48) addr:0x0209a1c0
_ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x0209a208
_ZN5Actor19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x0209a230
_ZN5Actor19func_ov000_02098ab4EbiiP7VecFx32 kind:function(arm,size=0x74) addr:0x0209a25c
_ZN5Actor19func_ov000_02098ab4EhiiP7VecFx32 kind:function(arm,size=0x74) addr:0x0209a25c
_ZN14Actor_Derived2C2Ev kind:function(arm,size=0x64) addr:0x0209a2d0
_ZN5Actor19func_ov000_02098b8cEii kind:function(arm,size=0x1a8) addr:0x0209a334
func_ov000_0209a4dc kind:function(arm,size=0x6c) addr:0x0209a4dc
+1 -1
View File
@@ -36,7 +36,7 @@ func_ov017_020bf774 kind:function(arm,size=0x150) addr:0x020bf774
func_ov017_020bf8c4 kind:function(arm,size=0x10) addr:0x020bf8c4
func_ov017_020bf8d4 kind:function(arm,size=0x38) addr:0x020bf8d4
func_ov017_020bf90c kind:function(arm,size=0x20c) addr:0x020bf90c
func_ov017_020bfb18 kind:function(arm,size=0x148) addr:0x020bfb18
_ZN5Actor19func_ov017_020bfb18EP8Actor_9C kind:function(arm,size=0x148) addr:0x020bfb18
func_ov017_020bfc60 kind:function(arm,size=0x18) addr:0x020bfc60
func_ov017_020bfc78 kind:function(arm,size=0x45c) addr:0x020bfc78
func_ov017_020c00d4 kind:function(arm,size=0x124) addr:0x020c00d4
+2 -1
View File
@@ -147,10 +147,11 @@ src/031_Land/Actor/ActorUnkFLEN.cpp:
.data start:0x0211672c end:0x021167ac
.bss start:0x02118ad8 end:0x02118b24
src/031_Land/Actor/ActorUnkRLST.cpp:
src/031_Land/Actor/ActorRollingStone.cpp:
.text start:0x020f9d24 end:0x020fb810
.init start:0x0211358c end:0x021135dc
.ctor start:0x02114584 end:0x02114588
.data start:0x021167ac end:0x02116914
.bss start:0x02118b24 end:0x02118c0c
src/031_Land/Actor/ActorItemDrop.cpp:
+52 -52
View File
@@ -1106,54 +1106,54 @@ _ZN12ActorUnkFLEN19func_ov031_020f81f8Ev kind:function(arm,size=0xa4) addr:0x020
_ZN12ActorUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f9ce0
_ZN12ActorUnkFLEND0Ev kind:function(arm,size=0x1c) addr:0x020f9cf4
_ZN19ActorProfileUnkFLEND1Ev kind:function(arm,size=0x14) addr:0x020f9d10
_ZN19ActorProfileUnkRLST10GetProfileEv kind:function(arm,size=0xc) addr:0x020f9d24
_ZN19ActorProfileUnkRLST6CreateEv kind:function(arm,size=0x24) addr:0x020f9d30
_ZN19ActorProfileUnkRLSTC1Ev kind:function(arm,size=0x44) addr:0x020f9d54
_ZN12ActorUnkRLST19func_ov031_020f8354Ev kind:function(arm,size=0x90) addr:0x020f9d98
_ZN12ActorUnkRLST19func_ov031_020f83e4Ev kind:function(arm,size=0xb8) addr:0x020f9e28
_ZN12ActorUnkRLST19func_ov031_020f849cEv kind:function(arm,size=0x44) addr:0x020f9ee0
_ZN12ActorUnkRLSTC1Ev kind:function(arm,size=0x194) addr:0x020f9f24
_ZN12ActorUnkRLST19func_ov031_020f8674Ev kind:function(arm,size=0x14) addr:0x020fa0b8
_ZN12ActorUnkRLST19func_ov031_020f8688Ev kind:function(arm,size=0x14) addr:0x020fa0cc
_ZN12ActorUnkRLST19func_ov031_020f869cEv kind:function(arm,size=0xf0) addr:0x020fa0e0
_ZN12ActorUnkRLST19func_ov031_020f878cEv kind:function(arm,size=0x98) addr:0x020fa1d0
_ZN12ActorUnkRLST19func_ov031_020f8824Ev kind:function(arm,size=0x5c) addr:0x020fa268
_ZN12ActorUnkRLST19func_ov031_020f8880Ev kind:function(arm,size=0xc8) addr:0x020fa2c4
_ZN12ActorUnkRLST19func_ov031_020f8948Ev kind:function(arm,size=0xac) addr:0x020fa38c
_ZN12ActorUnkRLST19func_ov031_020f89f4Ev kind:function(arm,size=0x10) addr:0x020fa438
_ZN12ActorUnkRLST19func_ov031_020f8a04Ev kind:function(arm,size=0x28) addr:0x020fa448
_ZN12ActorUnkRLST19func_ov031_020f8a2cEv kind:function(arm,size=0xc) addr:0x020fa470
_ZN12ActorUnkRLST19func_ov031_020f8a38Ev kind:function(arm,size=0x4) addr:0x020fa47c
_ZN12ActorUnkRLST19func_ov031_020f8a3cEv kind:function(arm,size=0x1c) addr:0x020fa480
_ZN12ActorUnkRLST19func_ov031_020f8a58Ev kind:function(arm,size=0x100) addr:0x020fa49c
_ZN12ActorUnkRLST19func_ov031_020f8b58Ev kind:function(arm,size=0x6c) addr:0x020fa59c
_ZN12ActorUnkRLST19func_ov031_020f8bc4Ev kind:function(arm,size=0x224) addr:0x020fa608
_ZN12ActorUnkRLST19func_ov031_020f8de8Ev kind:function(arm,size=0xec) addr:0x020fa82c
_ZN12ActorUnkRLST19func_ov031_020f8ed4Ev kind:function(arm,size=0x38) addr:0x020fa918
_ZN12ActorUnkRLST19func_ov031_020f8f0cEv kind:function(arm,size=0x4) addr:0x020fa950
_ZN12ActorUnkRLST19func_ov031_020f8f10Ev kind:function(arm,size=0x20) addr:0x020fa954
_ZN12ActorUnkRLST19func_ov031_020f8f30Ev kind:function(arm,size=0xe8) addr:0x020fa974
_ZN12ActorUnkRLST19func_ov031_020f9018Ev kind:function(arm,size=0x38) addr:0x020faa5c
_ZN12ActorUnkRLST19func_ov031_020f9050Ev kind:function(arm,size=0x11c) addr:0x020faa94
_ZN12ActorUnkRLST19func_ov031_020f916cEv kind:function(arm,size=0x40) addr:0x020fabb0
_ZN12ActorUnkRLST19func_ov031_020f91acEv kind:function(arm,size=0xa4) addr:0x020fabf0
_ZN12ActorUnkRLST19func_ov031_020f9250Ev kind:function(arm,size=0x7c) addr:0x020fac94
_ZN12ActorUnkRLST19func_ov031_020f92ccEv kind:function(arm,size=0x74) addr:0x020fad10
_ZN12ActorUnkRLST19func_ov031_020f9340Ev kind:function(arm,size=0x7c) addr:0x020fad84
_ZN12ActorUnkRLST19func_ov031_020f93bcEv kind:function(arm,size=0xd8) addr:0x020fae00
_ZN12ActorUnkRLST19func_ov031_020f9494Ev kind:function(arm,size=0xc0) addr:0x020faed8
_ZN12ActorUnkRLST19func_ov031_020f9554Ev kind:function(arm,size=0x278) addr:0x020faf98
_ZN12ActorUnkRLST19func_ov031_020f97ccEv kind:function(arm,size=0x118) addr:0x020fb210
_ZN12ActorUnkRLST19func_ov031_020f98e4Ev kind:function(arm,size=0x210) addr:0x020fb328
_ZN12ActorUnkRLST19func_ov031_020f9af4Ev kind:function(arm,size=0x4) addr:0x020fb538
_ZN12ActorUnkRLST19func_ov031_020f9af8Ev kind:function(arm,size=0xac) addr:0x020fb53c
_ZN12ActorUnkRLST19func_ov031_020f9ba4Ev kind:function(arm,size=0x11c) addr:0x020fb5e8
_ZN12ActorUnkRLST19func_ov031_020f9cc0Ev kind:function(arm,size=0x18) addr:0x020fb704
_ZN12ActorUnkRLSTD0Ev kind:function(arm,size=0x1c) addr:0x020fb71c
_ZN12ActorUnkRLST19func_ov031_020f9cf4Ev kind:function(arm,size=0x1c) addr:0x020fb738
_ZN12ActorUnkRLSTD1Ev kind:function(arm,size=0x50) addr:0x020fb754
_ZN12ActorUnkRLST19func_ov031_020f9d60Ev kind:function(arm,size=0x58) addr:0x020fb7a4
_ZN19ActorProfileUnkRLSTD1Ev kind:function(arm,size=0x14) addr:0x020fb7fc
_ZN24ActorProfileRollingStone10GetProfileEv kind:function(arm,size=0xc) addr:0x020f9d24
_ZN24ActorProfileRollingStone6CreateEv kind:function(arm,size=0x24) addr:0x020f9d30
_ZN24ActorProfileRollingStoneC1Ev kind:function(arm,size=0x44) addr:0x020f9d54
_ZN21ActorRollingStone_1048vfunc_0CEPK24UnkStruct_ov031_020e54d4i kind:function(arm,size=0x90) addr:0x020f9d98
_ZN21ActorRollingStone_1048vfunc_10Ev kind:function(arm,size=0xb8) addr:0x020f9e28
_ZN20ActorRollingStone_D48vfunc_10EP5Actor kind:function(arm,size=0x44) addr:0x020f9ee0
_ZN17ActorRollingStoneC1Ev kind:function(arm,size=0x194) addr:0x020f9f24
_ZN20ActorRollingStone_D4D1Ev kind:function(arm,size=0x14) addr:0x020fa0b8
_ZN21ActorRollingStone_104D1Ev kind:function(arm,size=0x14) addr:0x020fa0cc
_ZN17ActorRollingStone8vfunc_18Ei kind:function(arm,size=0xf0) addr:0x020fa0e0
_ZN17ActorRollingStone8vfunc_20Ev kind:function(arm,size=0x98) addr:0x020fa1d0
_ZN17ActorRollingStone8SetStateEs kind:function(arm,size=0x5c) addr:0x020fa268
_ZN17ActorRollingStone19func_ov031_020f8880Ev kind:function(arm,size=0xc8) addr:0x020fa2c4
_ZN17ActorRollingStone8vfunc_2CEi kind:function(arm,size=0xac) addr:0x020fa38c
_ZN17ActorRollingStone19func_ov031_020f89f4Ev kind:function(arm,size=0x10) addr:0x020fa438
_ZN17ActorRollingStone19func_ov031_020f8a04Ev kind:function(arm,size=0x28) addr:0x020fa448
_ZN17ActorRollingStone19func_ov031_020f8a2cEv kind:function(arm,size=0xc) addr:0x020fa470
_ZN17ActorRollingStone19func_ov031_020f8a38Ev kind:function(arm,size=0x4) addr:0x020fa47c
_ZN17ActorRollingStone19func_ov031_020f8a3cEv kind:function(arm,size=0x1c) addr:0x020fa480
_ZN17ActorRollingStone19func_ov031_020f8a58Ev kind:function(arm,size=0x100) addr:0x020fa49c
_ZN17ActorRollingStone19func_ov031_020f8b58Ev kind:function(arm,size=0x6c) addr:0x020fa59c
_ZN17ActorRollingStone19func_ov031_020f8bc4Ev kind:function(arm,size=0x224) addr:0x020fa608
_ZN17ActorRollingStone19func_ov031_020f8de8Ev kind:function(arm,size=0xec) addr:0x020fa82c
_ZN17ActorRollingStone19func_ov031_020f8ed4Ev kind:function(arm,size=0x38) addr:0x020fa918
_ZN17ActorRollingStone19func_ov031_020f8f0cEv kind:function(arm,size=0x4) addr:0x020fa950
_ZN17ActorRollingStone19func_ov031_020f8f10Ev kind:function(arm,size=0x20) addr:0x020fa954
_ZN17ActorRollingStone19func_ov031_020f8f30Ev kind:function(arm,size=0xe8) addr:0x020fa974
_ZN17ActorRollingStone19func_ov031_020f9018Ev kind:function(arm,size=0x38) addr:0x020faa5c
_ZN17ActorRollingStone19func_ov031_020f9050Ev kind:function(arm,size=0x11c) addr:0x020faa94
_ZN17ActorRollingStone19func_ov031_020f916cEv kind:function(arm,size=0x40) addr:0x020fabb0
_ZN17ActorRollingStone19func_ov031_020f91acEv kind:function(arm,size=0xa4) addr:0x020fabf0
_ZN17ActorRollingStone19func_ov031_020f9250Ev kind:function(arm,size=0x7c) addr:0x020fac94
_ZN17ActorRollingStone19func_ov031_020f92ccEv kind:function(arm,size=0x74) addr:0x020fad10
_ZN17ActorRollingStone19func_ov031_020f9340Ev kind:function(arm,size=0x7c) addr:0x020fad84
_ZN17ActorRollingStone19func_ov031_020f93bcEv kind:function(arm,size=0xd8) addr:0x020fae00
_ZN17ActorRollingStone19func_ov031_020f9494Ev kind:function(arm,size=0xc0) addr:0x020faed8
_ZN17ActorRollingStone19func_ov031_020f9554Ev kind:function(arm,size=0x278) addr:0x020faf98
_ZN17ActorRollingStone19func_ov031_020f97ccEv kind:function(arm,size=0x118) addr:0x020fb210
_ZN17ActorRollingStone19func_ov031_020f98e4Ev kind:function(arm,size=0x210) addr:0x020fb328
_ZN17ActorRollingStone19func_ov031_020f9af4Ev kind:function(arm,size=0x4) addr:0x020fb538
_ZN17ActorRollingStone19func_ov031_020f9af8Ev kind:function(arm,size=0xac) addr:0x020fb53c
_ZN17ActorRollingStone19func_ov031_020f9ba4Ev kind:function(arm,size=0x11c) addr:0x020fb5e8
_ZN17ActorRollingStone19func_ov031_020f9cc0Ev kind:function(arm,size=0x18) addr:0x020fb704
_ZN21ActorRollingStone_104D0Ev kind:function(arm,size=0x1c) addr:0x020fb71c
_ZN20ActorRollingStone_D4D0Ev kind:function(arm,size=0x1c) addr:0x020fb738
_ZN17ActorRollingStoneD1Ev kind:function(arm,size=0x50) addr:0x020fb754
_ZN17ActorRollingStoneD0Ev kind:function(arm,size=0x58) addr:0x020fb7a4
_ZN24ActorProfileRollingStoneD1Ev kind:function(arm,size=0x14) addr:0x020fb7fc
_ZN21ActorProfileArrowDrop10GetProfileEv kind:function(arm,size=0xc) addr:0x020fb810
_ZN21ActorProfileArrowDrop6CreateEv kind:function(arm,size=0x24) addr:0x020fb81c
_ZN21ActorProfileArrowDropC1Ev kind:function(arm,size=0x40) addr:0x020fb840
@@ -2090,7 +2090,7 @@ __sinit_ActorUnkSWCH.cpp kind:function(arm,size=0x50) addr:0x0211344c
__sinit_ActorUnkSWON.cpp kind:function(arm,size=0x50) addr:0x0211349c local
__sinit_ActorUnkNORE.cpp kind:function(arm,size=0x50) addr:0x021134ec
__sinit_ActorUnkFLEN.cpp kind:function(arm,size=0x50) addr:0x0211353c
__sinit_ActorUnkRLST.cpp kind:function(arm,size=0x50) addr:0x0211358c
__sinit_ActorRollingStone.cpp kind:function(arm,size=0x50) addr:0x0211358c
__sinit_ActorItemDrop.cpp kind:function(arm,size=0x138) addr:0x021135dc local
__sinit_ActorUnkMLCK.cpp kind:function(arm,size=0x74) addr:0x02113714
__sinit_ActorUnkCLLT.cpp kind:function(arm,size=0x50) addr:0x02113788
@@ -2154,7 +2154,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
.p__sinit_ActorUnkSWON.cpp kind:data(word) addr:0x02114578 local
.p__sinit_ActorUnkNORE.cpp kind:data(word) addr:0x0211457c
.p__sinit_ActorUnkFLEN.cpp kind:data(word) addr:0x02114580
.p__sinit_ActorUnkRLST.cpp kind:data(word) addr:0x02114584
.p__sinit_ActorRollingStone.cpp kind:data(word) addr:0x02114584
.p__sinit_ActorItemDrop.cpp kind:data(word) addr:0x02114588 local
.p__sinit_ActorUnkMLCK.cpp kind:data(word) addr:0x0211458c
.p__sinit_ActorUnkCLLT.cpp kind:data(word) addr:0x02114590
@@ -2589,9 +2589,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkNOREE8sProfileE kind:bss addr:0x02118a9c
_ZGVN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02118ad8
@30902 kind:bss addr:0x02118adc
_ZN15ProfileInstanceI19ActorProfileUnkFLENE8sProfileE kind:bss addr:0x02118ae8
_ZGVN15ProfileInstanceI19ActorProfileUnkRLSTE8sProfileE kind:bss addr:0x02118b24
_ZGVN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02118b24
@30908 kind:bss addr:0x02118b28
_ZN15ProfileInstanceI19ActorProfileUnkRLSTE8sProfileE kind:bss addr:0x02118b34
_ZN15ProfileInstanceI24ActorProfileRollingStoneE8sProfileE kind:bss addr:0x02118b34
_ZGVN15ProfileInstanceI24ActorProfileTreasureDropE8sProfileE kind:bss addr:0x02118c0c
_ZGVN15ProfileInstanceI25ActorProfileRedPotionDropE8sProfileE kind:bss addr:0x02118c10
_ZGVN15ProfileInstanceI20ActorProfileBombDropE8sProfileE kind:bss addr:0x02118c14
+12 -27
View File
@@ -5,6 +5,7 @@
#include "Actor/ActorRef.hpp"
#include "Physics/Cylinder.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_ov031_Items.hpp"
#include "flags.h"
#include "global.h"
#include "math.hpp"
@@ -89,30 +90,6 @@ enum ActorFlag_ {
ActorFlag_31 = FLAG(0, 31),
};
class Actor_C4;
struct ActorGrabParams;
extern "C" void func_ov000_0205d500(ActorGrabParams *, unk32, unk32);
bool PlayerCharacter_IsNotLink(s32 character);
struct ActorGrabParams {
/* 00 */ u16 unk_00;
/* 02 */ u16 unk_02;
/* 04 */
ActorGrabParams() {}
ActorGrabParams(unk32 param2, unk32 param3) {
ActorGrabParams local_1c;
func_ov000_0205d500(&local_1c, param3, param2);
*this = local_1c;
}
void operator=(ActorGrabParams &from) {
*(u32 *) this = *(u32 *) &from;
}
};
class Actor_9C {
public:
/* 00 (vtable) */
@@ -134,6 +111,13 @@ public:
void func_ov000_02097bec();
};
class Actor_38 {
public:
/* 00 (base) */ STRUCT_PAD(0x00, 0x08);
/* 08 */ unk16 mUnk_08;
/* 0A */
};
typedef s16 ActorState;
#define ActorState_None -1
@@ -148,7 +132,7 @@ public:
/* 2C */ unk32 mUnk_2C; // gravity?
/* 30 */ Cylinder *mUnk_30;
/* 34 */ Cylinder *mUnk_34;
/* 38 */ unk32 *mUnk_38;
/* 38 */ Actor_38 *mUnk_38;
/* 3C */ Actor_9C *mUnk_3C;
/* 40 */ Actor_C4 *mUnk_40;
/* 44 */ u16 mUnk_44;
@@ -231,7 +215,7 @@ public:
void func_ov000_020984f0();
u32 func_ov000_02098800(bool param1);
bool func_ov000_02098838();
unk32 func_ov000_02098910(unk32 param1, unk32 param2);
unk32 func_ov000_02098910(UnkStruct_ov031_Items_00 *param1, unk32 param2);
void func_ov000_02098b8c(unk32 param1, unk32 param2);
s32 func_ov000_02098518(unk32 *param1);
VecFx32 *func_ov000_0209853c(unk32 param1);
@@ -244,7 +228,7 @@ public:
void func_ov000_020989e0();
bool func_ov000_02098a60(unk32 param1);
void func_ov000_02098a88(unk32 param1, unk32 param2);
u32 func_ov000_02098ab4(bool param1, unk32 param2, unk32 param3, VecFx32 *param4);
u32 func_ov000_02098ab4(u8 param1, unk32 param2, unk32 param3, VecFx32 *param4);
static void func_ov000_020973f4(ActorRef *pOutRef, UnkStruct_ov000_020b539c *param2, ActorId actorId, ActorParams *pParams,
int param5);
@@ -253,6 +237,7 @@ public:
bool func_ov017_020beeec(unk32 param1);
void func_ov017_020bf5c4(VecFx32 *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_ov017_020bf9c8(Actor *param1);
void func_ov017_020bfb18(Actor_9C *param1);
};
class Actor_C4_Base {
+150
View File
@@ -0,0 +1,150 @@
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorItemBoomerang.hpp"
#include "ActorShotArrow.hpp"
#include "Actor_Derived1.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_ov031_Items.hpp"
#include "global.h"
#include "types.h"
enum ActorRollingStoneState_ {
ActorRollingStoneState_0 = 0,
ActorRollingStoneState_1 = 1,
ActorRollingStoneState_2 = 2,
ActorRollingStoneState_3 = 3,
ActorRollingStoneState_4 = 4,
ActorRollingStoneState_5 = 5,
ActorRollingStoneState_6 = 6,
ActorRollingStoneState_7 = 7,
ActorRollingStoneState_8 = 8,
ActorRollingStoneState_9 = 9,
ActorRollingStoneState_10 = 10,
ActorRollingStoneState_MAX
};
class ActorRollingStone;
class ActorRollingStone_104 : public UnkStruct_ov031_Items_00 {
public:
/* 00 (vtable) */
/* 04 */
// data_ov031_02114a5c
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) override; // func_ov031_020f8354
/* 10 */ virtual void vfunc_10() override; // func_ov031_020f83e4
/* 14 */
};
class ActorRollingStone_D4 : public UnkStruct_ov031_Items_01 {
public:
/* 00 (vtable) */
/* 2C */ ActorRollingStone *mUnk_2C;
/* 30 */
ActorRollingStone_D4(ActorRollingStone *param1) {
this->mUnk_2C = param1;
}
// data_ov031_02114a40
/* 10 */ virtual void vfunc_10(Actor *param1) override; // func_ov031_020f849c
};
class ActorRollingStone : public Actor {
public:
/* 000 (base) */
/* 094 */ UnkSystem6_Derived2 mUnk_94;
/* 09C */ unk8 mUnk_9C;
/* 09D */ STRUCT_PAD(0x9D, 0xA0);
/* 0A0 */ Actor_Derived1_94 mUnk_A0;
/* 0AC */ ActorShotArrow_140 mUnk_AC;
/* 0D4 */ ActorRollingStone_D4 mUnk_D4;
/* 104 */ ActorRollingStone_104 mUnk_104;
/* 108 */ u16 mUnk_108;
/* 10A */ STRUCT_PAD(0x10A, 0x10C);
/* 10C */ Mat3p mUnk_10C;
/* 130 */ UnkStruct_PlayerGet_ec mUnk_130[0x2];
/* 138 */ unk16 mUnk_138;
/* 13C */ Cylinder mUnk_13C;
/* 14C */ unk32 mUnk_14C;
/* 150 */ volatile u16 mUnk_150;
/* 152 */ volatile u16 mUnk_152;
/* 154 */ volatile u16 mUnk_154;
/* 156 */ volatile u16 mUnk_156;
/* 158 */ bool mUnk_158;
/* 159 */ bool mUnk_159;
/* 15A */ s8 mUnk_15A;
/* 15B */ s8 mUnk_15B;
/* 15C */ Actor_Derived1_EC mUnk_15C;
/* 17C */
ActorRollingStone();
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020f869c
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f878c
/* 2C */ virtual void vfunc_2C(unk32 param1) override; // func_ov031_020f8948
/* 54 */
bool IsInternalTimerOut1() {
if (this->mUnk_150 < this->mUnk_152) {
this->mUnk_150++;
return false;
}
return true;
}
bool IsInternalTimerOut2() {
if (this->mUnk_154 < this->mUnk_156) {
this->mUnk_154++;
return false;
}
return true;
}
void SetState(ActorState state);
void func_ov031_020f8880();
void func_ov031_020f89f4();
void func_ov031_020f8a04();
void func_ov031_020f8a2c();
void func_ov031_020f8a38();
void func_ov031_020f8a3c();
void func_ov031_020f8a58();
void func_ov031_020f8b58();
void func_ov031_020f8bc4();
void func_ov031_020f8de8();
void func_ov031_020f8ed4();
void func_ov031_020f8f0c();
void func_ov031_020f8f10();
void func_ov031_020f8f30();
void func_ov031_020f9018();
void func_ov031_020f9050();
void func_ov031_020f916c();
void func_ov031_020f91ac();
void func_ov031_020f9250();
void func_ov031_020f92cc();
void func_ov031_020f9340();
void func_ov031_020f93bc();
void func_ov031_020f9494();
void func_ov031_020f9554();
void func_ov031_020f97cc();
void func_ov031_020f98e4();
void func_ov031_020f9af4();
void func_ov031_020f9af8();
bool func_ov031_020f9ba4();
void func_ov031_020f9cc0();
};
class ActorProfileRollingStone : public ActorProfile_Derived1 {
public:
/* 00 (base) */
ActorProfileRollingStone();
/* 0C */ virtual Actor *Create();
static ActorProfileRollingStone *GetProfile();
};
-82
View File
@@ -1,82 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "global.h"
#include "types.h"
class ActorUnkRLST_C4 : public Actor_C4 {
public:
ActorUnkRLST_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkRLST : public Actor {
public:
/* 00 (base) */
/* 94 */
ActorUnkRLST();
/* 4C */ virtual ~ActorUnkRLST() override;
void func_ov031_020f8354(void);
void func_ov031_020f83e4(void);
void func_ov031_020f849c(void);
void func_ov031_020f8674(void);
void func_ov031_020f8688(void);
void func_ov031_020f869c(void);
void func_ov031_020f878c(void);
void func_ov031_020f8824(void);
void func_ov031_020f8880(void);
void func_ov031_020f8948(void);
void func_ov031_020f89f4(void);
void func_ov031_020f8a04(void);
void func_ov031_020f8a2c(void);
void func_ov031_020f8a38(void);
void func_ov031_020f8a3c(void);
void func_ov031_020f8a58(void);
void func_ov031_020f8b58(void);
void func_ov031_020f8bc4(void);
void func_ov031_020f8de8(void);
void func_ov031_020f8ed4(void);
void func_ov031_020f8f0c(void);
void func_ov031_020f8f10(void);
void func_ov031_020f8f30(void);
void func_ov031_020f9018(void);
void func_ov031_020f9050(void);
void func_ov031_020f916c(void);
void func_ov031_020f91ac(void);
void func_ov031_020f9250(void);
void func_ov031_020f92cc(void);
void func_ov031_020f9340(void);
void func_ov031_020f93bc(void);
void func_ov031_020f9494(void);
void func_ov031_020f9554(void);
void func_ov031_020f97cc(void);
void func_ov031_020f98e4(void);
void func_ov031_020f9af4(void);
void func_ov031_020f9af8(void);
void func_ov031_020f9ba4(void);
void func_ov031_020f9cc0(void);
void func_ov031_020f9cf4(void);
void func_ov031_020f9d60(void);
};
class ActorProfileUnkRLST : public ActorProfile_Derived1 {
public:
/* 00 (base) */
ActorProfileUnkRLST();
~ActorProfileUnkRLST();
/* 0C */ virtual Actor *Create();
static ActorProfileUnkRLST *GetProfile();
};
+4 -4
View File
@@ -35,11 +35,9 @@ public:
class Actor_Derived1_94 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk16 mUnk_08;
/* 00 */ Actor_38 mUnk_00;
/* 0A */ unk16 mUnk_0A;
/* 0C */ unk32 mUnk_0C;
/* 0C */
Actor_Derived1_94();
~Actor_Derived1_94();
@@ -48,6 +46,8 @@ public:
class Actor_Derived1_94_Derived1 : public Actor_Derived1_94 {
public:
/* 00 (base) */
/* 0C */ unk32 mUnk_0C;
/* 10 */
Actor_Derived1_94_Derived1(unk32 param1) {
this->mUnk_0C = param1;
+26 -3
View File
@@ -1,15 +1,38 @@
#pragma once
#include "Actor/Actor.hpp"
#include "LinkList.hpp"
#include "Actor/ActorRef.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "math.hpp"
#include "types.h"
#include <nns/g3d/g3d.h>
class Actor_C4;
struct ActorGrabParams;
extern "C" void func_ov000_0205d500(ActorGrabParams *, unk32, unk32);
bool PlayerCharacter_IsNotLink(s32 character);
struct ActorGrabParams {
/* 00 */ u16 unk_00;
/* 02 */ u16 unk_02;
/* 04 */
ActorGrabParams() {}
ActorGrabParams(unk32 param2, unk32 param3) {
ActorGrabParams local_1c;
func_ov000_0205d500(&local_1c, param3, param2);
*this = local_1c;
}
void operator=(ActorGrabParams &from) {
*(u32 *) this = *(u32 *) &from;
}
};
class UnkStruct_027e0ce0_40;
class PlayerActorBase_70;
-1
View File
@@ -6,7 +6,6 @@
#include "Render/ModelRender.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_027e0ce0.hpp"
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
#include "math.hpp"
+7 -1
View File
@@ -914,8 +914,14 @@ struct UnkStackStruct1 {
};
extern "C" void func_ov000_02072fd0(UnkStackStruct1 *);
struct UnkSystem7_UnkStruct_00_20 {
/* 00 */ STRUCT_PAD(0x00, 0x04);
/* 04 */ VecFx32 mUnk_04;
};
struct UnkSystem7_UnkStruct_00 {
/* 00 */ STRUCT_PAD(0x00, 0x24);
/* 00 */ STRUCT_PAD(0x00, 0x20);
/* 20 */ UnkSystem7_UnkStruct_00_20 *mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2C */ unk32 mUnk_2C;
+8
View File
@@ -8,6 +8,12 @@
class UnkStruct_027e0cd8_0C_Base;
struct UnkStruct_ov000_0207de98 {
VecFx32 vec;
unk32 param1;
unk32 param2;
};
class UnkStruct_027e09c0_60 {
public:
/* 00 */ unk32 mUnk_00;
@@ -61,7 +67,9 @@ public:
// overlay 0
void func_ov000_0207da40();
void func_ov000_0207de98(ActorRef param1, UnkStruct_ov000_0207de98 *param2, Actor_38 *param3);
void func_ov000_0207e58c(ActorRef param1, unk32 param2, u8 param3, UnkStruct_ov031_Items_01 *param4);
bool func_ov000_0207e458(unk32 param1, unk32 param2, VecFx32 *param3, unk32 param4, VecFx32 *param5, ActorRef param6);
// overlay 1
void func_ov001_020be394();
+1 -1
View File
@@ -9,7 +9,6 @@
#include "Player/PlayerLink.hpp"
#include "Player/TouchControl.hpp"
#include "Save/SaveManager.hpp"
#include "System/SysNew.hpp"
#include "input.hpp"
#include <nitro/math.h>
@@ -731,6 +730,7 @@ public:
bool func_ov000_0208bc1c(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6);
void func_ov000_0208bc9c(unk32 param1, unk32 param2);
void func_ov000_0208bd30(bool param1, unk32 param2, unk32 param3, unk32 param4);
bool func_ov000_0208be70(VecFx32 param1);
G3d_Model *func_ov000_0208ed30(unk32 param1, unk32 param2, char *param3);
static UnkStruct_027e0ce0_34 *func_ov000_0205c904();
-1
View File
@@ -1,6 +1,5 @@
#pragma once
#include "Player/PlayerGet.hpp"
#include "math.hpp"
#include "types.h"
+2
View File
@@ -10,8 +10,10 @@ public:
UnkStruct_027e0d8c();
~UnkStruct_027e0d8c();
// overlay 93
void func_ov093_02166058();
void func_ov093_02166068();
void func_ov093_02166220();
};
extern UnkStruct_027e0d8c *data_027e0d8c;
+4 -3
View File
@@ -5,10 +5,11 @@
#include "Actor/ActorRef.hpp"
#include "Item/ItemManager.hpp"
#include "Player/PlayerLink.hpp"
#include "System/SysNew.hpp"
#include "Player/PlayerActorBase.hpp"
#include "math.hpp"
class PlayerLinkActor_A0;
class UnkStruct_ov000_0208f820_14 {
public:
/* 00 */ unk8 mUnk_00[0x6C];
@@ -134,7 +135,7 @@ public:
this->mItemId = itemId;
}
UnkStruct_ov000_0208f820_04() {}
UnkStruct_ov000_0208f820_04() {};
};
class UnkStruct_ov000_0208f820_44 {
+1 -1
View File
@@ -10,7 +10,7 @@ public:
// data_ov000_020b30d0
/* 00 */ virtual ~UnkStruct_ov031_Items_00();
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override;
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override; // func_ov000_020982d8
};
class UnkStruct_ov031_Items_01 {
-3
View File
@@ -1,8 +1,5 @@
#pragma once
#include "Actor/ActorId.hpp"
#include "Actor/ActorRef.hpp"
#include "Map/MapObjectId.hpp"
#include "types.h"
#include <nitro/math.h>
+5 -5
View File
@@ -38,11 +38,11 @@ Actor_Derived1::Actor_Derived1(ModelRender *param1, unk32 param2) :
mUnk_114(-1),
mUnk_118(0x1000),
mUnk_11C(0x019A) {
this->mUnk_30 = &this->mUnk_104;
this->mUnk_4A[0] = 5;
this->mUnk_44 = 0x1F;
this->mUnk_094.mUnk_08 = 3;
this->mUnk_38 = &this->mUnk_094.mUnk_00;
this->mUnk_30 = &this->mUnk_104;
this->mUnk_4A[0] = 5;
this->mUnk_44 = 0x1F;
this->mUnk_094.mUnk_00.mUnk_08 = 3;
this->mUnk_38 = &this->mUnk_094.mUnk_00;
this->mUnk_0B0 |= 0x08;
}
+791
View File
@@ -0,0 +1,791 @@
#include "Actor/ActorRollingStone.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e09b4.hpp"
#include "Unknown/UnkStruct_027e09c0.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
#include "Unknown/UnkStruct_027e0d38.hpp"
#include "Unknown/UnkStruct_027e0d8c.hpp"
extern "C" Mat3p data_027e0130;
extern "C" unk32 data_ov000_020aecf8;
extern "C" VecFx32 data_ov031_02110b98;
extern "C" VecFx32 data_ov031_02110ba4;
extern "C" VecFx32 data_ov031_02110bb0;
extern "C" VecFx32 data_ov031_02110bbc;
extern "C" void func_01ff916c(unk32 *, unk32, unk32);
extern "C" void func_01ffa60c(const Mat3p *, Mat3p *, Mat3p *);
extern "C" unk32 func_01ffb9cc(VecFx32 *, VecFx32 *);
extern "C" unk8 func_02017e8c(unk16 *);
static PTMF<ActorRollingStone> data_ov031_02114aec[0xB] = {
ActorRollingStone::func_ov031_020f89f4, // ActorRollingStoneState_0
ActorRollingStone::func_ov031_020f8a2c, // ActorRollingStoneState_1
ActorRollingStone::func_ov031_020f8a3c, // ActorRollingStoneState_2
ActorRollingStone::func_ov031_020f8b58, // ActorRollingStoneState_3
ActorRollingStone::func_ov031_020f9250, // ActorRollingStoneState_4
ActorRollingStone::func_ov031_020f9340, // ActorRollingStoneState_5
ActorRollingStone::func_ov031_020f8ed4, // ActorRollingStoneState_6
ActorRollingStone::func_ov031_020f8f10, // ActorRollingStoneState_7
ActorRollingStone::func_ov031_020f9018, // ActorRollingStoneState_8
ActorRollingStone::func_ov031_020f916c, // ActorRollingStoneState_9
ActorRollingStone::func_ov031_020f9494, // ActorRollingStoneState_10
};
static PTMF<ActorRollingStone> data_ov031_02114a94[0xB] = {
ActorRollingStone::func_ov031_020f8a04, // ActorRollingStoneState_0
ActorRollingStone::func_ov031_020f8a38, // ActorRollingStoneState_1
ActorRollingStone::func_ov031_020f8a58, // ActorRollingStoneState_2
ActorRollingStone::func_ov031_020f8bc4, // ActorRollingStoneState_3
ActorRollingStone::func_ov031_020f92cc, // ActorRollingStoneState_4
ActorRollingStone::func_ov031_020f93bc, // ActorRollingStoneState_5
ActorRollingStone::func_ov031_020f8f0c, // ActorRollingStoneState_6
ActorRollingStone::func_ov031_020f8f30, // ActorRollingStoneState_7
ActorRollingStone::func_ov031_020f9050, // ActorRollingStoneState_8
ActorRollingStone::func_ov031_020f91ac, // ActorRollingStoneState_9
ActorRollingStone::func_ov031_020f9554, // ActorRollingStoneState_10
};
DECL_PROFILE(ActorProfileRollingStone);
Actor *ActorProfileRollingStone::Create() {
return new(HeapIndex_2) ActorRollingStone();
}
ActorProfileRollingStone::ActorProfileRollingStone() :
ActorProfile_Derived1(ActorId_RLST) {
this->mUnk_04.Init(FLOAT_TO_FX32(0.8f));
}
// non-matching
bool ActorRollingStone_104::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 param2) {}
// non-matching
void ActorRollingStone_104::vfunc_10() {}
void ActorRollingStone_D4::vfunc_10(Actor *param1) {
if (param1->GetActorId() != ActorId_RLST) {
return;
}
this->mUnk_2C->SetState(ActorRollingStoneState_6);
((ActorRollingStone *) param1)->SetState(ActorRollingStoneState_6);
}
// non-matching
ActorRollingStone::ActorRollingStone() :
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileRollingStone)->mUnk_3C.mUnk_50)),
mUnk_9C(0x1),
mUnk_AC(this),
mUnk_D4(this),
mUnk_10C(data_027e0130),
mUnk_138(0x0),
mUnk_14C(0x0),
mUnk_150(0x0),
mUnk_152(0x0),
mUnk_154(0x0),
mUnk_156(0x0),
mUnk_158(true),
mUnk_159(false),
mUnk_15A(-0x1),
mUnk_15B(0x0) {
this->mUnk_4A[1] = true;
this->mUnk_AC.mUnk_24 = true;
this->mUnk_44 = 0x9F;
this->mUnk_38 = &this->mUnk_A0.mUnk_00;
this->mUnk_38->mUnk_08 = 0x3;
}
bool ActorRollingStone::vfunc_18(unk32 param1) {
this->mUnk_13C.Init(FLOAT_TO_FX32(0.8f));
if (data_027e09a4->mUnk_00.sceneIndex == SceneIndex_f_flame) {
this->mUnk_13C.Init(FLOAT_TO_FX32(0.75f));
}
this->mUnk_34 = &this->mUnk_13C;
this->mUnk_30 = &this->mUnk_13C;
this->mUnk_15A = this->mUnk_5C.mUnk_0E;
this->mUnk_14C = this->mUnk_5C.mParams[0];
switch (this->mUnk_5C.mParams[0]) {
case 0x1:
this->mPos.y += FLOAT_TO_FX32(3.6f);
if (this->mUnk_5C.mUnk_1A[0] == 0) {
this->SetState(ActorRollingStoneState_2);
break;
}
if (!this->func_ov000_02098a60(0x0)) {
this->SetState(ActorRollingStoneState_0);
break;
}
return false;
case 0x2:
this->SetState(ActorRollingStoneState_7);
break;
case 0x0:
default:
this->SetState(ActorRollingStoneState_2);
break;
}
return true;
}
void ActorRollingStone::vfunc_20() {
this->IsTimerOut();
CALL_PTMF(PTMF<ActorRollingStone>, data_ov031_02114a94[this->mState]);
if (this->mState == ActorRollingStoneState_10) {
return;
}
this->func_ov000_02098838();
VecFx32_Copy(&this->mPos, &this->mPrevPos);
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
this->func_ov031_020f97cc();
}
void ActorRollingStone::SetState(ActorState state) {
this->mState = state;
this->mUnk_52 = 0xFFFF;
this->mUnk_50 = 0x0;
this->mUnk_38->mUnk_08 = 0x3;
CALL_PTMF(PTMF<ActorRollingStone>, data_ov031_02114aec[this->mState]);
}
void ActorRollingStone::func_ov031_020f8880() {
VecFx32 vec = this->mPos;
vec.y += FLOAT_TO_FX32(0.8f);
data_027e0cec->func_ov000_0209feac(0x8AF, &vec, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x8B0, &vec, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x8B1, &vec, 0x4, 0x0, 0x0);
data_027e09a8->func_ov000_02071b30(0x98A0, &this->mPos, 0x0);
this->func_ov000_020984d0();
}
void ActorRollingStone::vfunc_2C(unk32 param1) {
if (!this->func_01fff5d0(param1, 0x0) || !this->mUnk_158) {
return;
}
VecFx32 sp18;
VecFx32_Init(this->mPos.x, this->mPos.y + FLOAT_TO_FX32(0.8f), this->mPos.z, &sp18);
VecFx32 spC;
VecFx32_Init(FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), &spC);
this->mUnk_94.vfunc_10(&spC, &this->mUnk_10C, &sp18);
data_027e09b4->func_01fff60c(&this->mPos, 0x99A, 0x99A, 0x1F, 0x0, 0x0);
}
void ActorRollingStone::func_ov031_020f89f4() {
this->mUnk_2C = 0x0;
this->mUnk_158 = false;
}
void ActorRollingStone::func_ov031_020f8a04() {
if (!this->func_ov000_02098a60(0x0)) {
return;
}
this->SetState(ActorRollingStoneState_2);
}
void ActorRollingStone::func_ov031_020f8a2c() {
this->mUnk_158 = true;
}
void ActorRollingStone::func_ov031_020f8a38() {}
void ActorRollingStone::func_ov031_020f8a3c() {
unk32 data = data_ov000_020aecf8;
this->mUnk_158 = true;
this->mUnk_2C = data;
}
void ActorRollingStone::func_ov031_020f8a58() {
this->func_ov000_02098910(NULL, 0x10);
if ((this->mUnk_46 & 0x1) != 0) {
if (this->mUnk_15A > 0x0) {
this->SetState(ActorRollingStoneState_10);
} else {
this->SetState(ActorRollingStoneState_3);
}
data_027e09a8->func_ov000_02071b30(0x989E, &this->mPos, 0x0);
return;
}
if (this->mPos.y <= FLOAT_TO_FX32(-5.0002)) {
this->func_ov000_020984d0();
return;
}
this->func_ov000_02098ab4(0x2, 0x5, 0x1, &this->mVel);
UnkStruct_ov000_0207de98 param;
VecFx32_Copy(&this->mPos, &param.vec);
param.param1 = 0xB33;
param.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &param, this->mUnk_38);
}
void ActorRollingStone::func_ov031_020f8b58() {
this->mUnk_2C = 0x0;
switch (((u32) (this->mUnk_5C.mInitialAngle + 0x2000) << 0x10) >> 0x1E) {
case 0x1:
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.x = FLOAT_TO_FX32(0.105f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
case 0x3:
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.x = FLOAT_TO_FX32(-0.1052f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
default:
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.105f);
break;
}
this->func_ov031_020f9af4();
}
// non-matching
void ActorRollingStone::func_ov031_020f8bc4() {
this->mUnk_3C = &this->mUnk_AC;
this->func_ov031_020f9af8();
ActorRollingStone_104 spC = ActorRollingStone_104();
this->func_ov000_02098910(&spC, 0x10);
if ((this->mUnk_46 & 0x1C) != 0x0 || (this->mUnk_46 & 0x80) != 0x0) {
if ((this->mUnk_46 & 0x10) == 0x0) {
this->SetState(ActorRollingStoneState_6);
return;
}
} else if ((this->mUnk_46 & 0x1) == 0x0) {
this->SetState(ActorRollingStoneState_5);
return;
}
this->func_ov031_020f8de8();
VecFx32 sp38;
unk16 sinValue = SIN((u16) this->mAngle);
unk16 cosValue = COS((u16) this->mAngle);
sp38.x = MUL_FX32(sinValue, FLOAT_TO_FX32(1.0f));
sp38.z = MUL_FX32(cosValue, FLOAT_TO_FX32(1.0f));
sp38.y = FLOAT_TO_FX32(0.0f);
VecFx32 sp28;
this->vfunc_10(&sp28);
sp28.z += FLOAT_TO_FX32(0.05f);
if (data_027e09c0->func_ov000_0207e458(0x2, 0x1B, &sp28, 0x2, &sp38, this->mRef)) {
return;
}
this->func_ov000_02098ab4(0x2, 0x5, 0x1, &this->mVel);
this->vfunc_10(&this->mUnk_D4.mUnk_0C);
VecFx32 sp14;
VecFx32_Copy(&this->mPos, &sp14);
data_027e09c0->func_ov000_0207e58c(this->mRef, 0xB, 0x4, &this->mUnk_D4);
UnkStruct_ov000_0207de98 param;
VecFx32_Copy(&this->mPos, &param.vec);
param.param1 = 0xB33;
param.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &param, this->mUnk_38);
}
void ActorRollingStone::func_ov031_020f8de8() {
this->IsInternalTimerOut2();
this->func_ov000_020989e0();
if ((this->mUnk_AC.mUnk_08 & 0x3FFFF) == 0) {
return;
}
switch (this->mUnk_AC.mUnk_1C) {
case 0x4:
data_027e0d38->func_ov031_020d9c44(0x4);
return;
case 0xC:
if ((u32) this->mUnk_154 < (u32) this->mUnk_156) {
return;
}
this->mUnk_156 = 0x14;
this->mUnk_154 = 0x0;
case 0x8:
case 0xD:
this->func_ov017_020bfb18(&this->mUnk_AC);
return;
case 0x1:
this->SetState(ActorRollingStoneState_6);
return;
case 0x0:
case 0x2:
case 0x3:
case 0x5:
case 0x6:
case 0x7:
case 0x9:
case 0xA:
case 0xB:
case 0xE:
case 0xF:
return;
}
}
void ActorRollingStone::func_ov031_020f8ed4() {
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != (void *) &this->mUnk_138; ++ptr) {
ptr->func_ov000_020a0334();
}
this->func_ov031_020f8880();
}
void ActorRollingStone::func_ov031_020f8f0c() {}
// non-matching
void ActorRollingStone::func_ov031_020f8f10() {
this->mUnk_2C = 0x0;
this->mUnk_158 = false;
this->mUnk_152 = this->mUnk_5C.mParams[1];
this->mUnk_150 = 0x0;
}
void ActorRollingStone::func_ov031_020f8f30() {
if (this->mUnk_5C.mUnk_1A[0] != 0x0 && !this->func_ov000_02098a60(0x0)) {
return;
}
if (!this->IsInternalTimerOut1()) {
return;
}
ActorParams sp14;
sp14.mUnk_28 = 0x0;
sp14.func_ov000_020975f8();
sp14.mUnk_28 = this->mRef;
VecFx32 vec = this->mPos;
VecFx32_Copy(&vec, &sp14.mInitialPos);
sp14.mInitialAngle = this->mAngle;
sp14.mParams[0] = 0x1;
ActorRef ref;
this->func_ov000_020973f4(&ref, &data_ov000_020b539c_eur, ActorId_RLST, &sp14, 0x0);
this->mUnk_150 = 0;
this->mUnk_152 = this->mUnk_5C.mParams[1];
}
void ActorRollingStone::func_ov031_020f9018() {
this->mUnk_2C = 0x0;
fx32 angle = ((u32) (this->mAngle + DEG_TO_ANG(45)) << 0x10) >> 0x1E;
if (angle == 0x1 || angle == 0x3) {
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
} else {
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
}
}
void ActorRollingStone::func_ov031_020f9050() {
this->mUnk_3C = &this->mUnk_AC;
this->func_ov031_020f8de8();
fx32 angle = ((u32) (this->mAngle + DEG_TO_ANG(45)) << 0x10) >> 0x1E;
if (angle == 0x1 || angle == 0x3) {
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
func_01ff916c(&this->mVel.x, 0x0, 0x10);
} else {
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
func_01ff916c(&this->mVel.z, 0x0, 0x10);
}
this->func_ov000_02098910(NULL, 0x10);
UnkStruct_ov000_0207de98 unk;
VecFx32_Copy(&this->mPos, &unk.vec);
unk.param1 = 0xB33;
unk.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &unk, this->mUnk_38);
angle = ((u32) (this->mAngle + DEG_TO_ANG(45)) << 0x10) >> 0x1E;
if (angle == 0x1 || angle == 0x3) {
if (this->mVel.x != FLOAT_TO_FX32(0.0f)) {
return;
}
this->SetState(ActorRollingStoneState_9);
return;
}
if (this->mVel.z != FLOAT_TO_FX32(0.0f)) {
return;
}
this->SetState(ActorRollingStoneState_9);
}
void ActorRollingStone::func_ov031_020f916c() {
this->mUnk_2C = 0x0;
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_44 = 0xBF;
if (!this->mUnk_159) {
return;
}
data_027e0d8c->func_ov093_02166220();
}
void ActorRollingStone::func_ov031_020f91ac() {
this->mUnk_3C = &this->mUnk_AC;
this->func_ov031_020f8de8();
this->func_ov000_02098910(NULL, 0x10);
UnkStruct_ov000_0207de98 unk;
VecFx32_Copy(&this->mPos, &unk.vec);
unk.param1 = 0xB33;
unk.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &unk, this->mUnk_38);
if (!this->mUnk_159) {
return;
}
if (!this->func_ov031_020f9ba4()) {
return;
}
this->func_ov000_020984d0();
}
void ActorRollingStone::func_ov031_020f9250() {
this->vfunc_40();
this->mUnk_2C = 0x0;
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != (void *) &this->mUnk_138; ++ptr) {
ptr->func_ov000_020a0334();
}
this->mUnk_AC.func_ov000_02097bec();
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
this->mUnk_13C.pos.x = FLOAT_TO_FX32(0.0f);
this->mUnk_13C.pos.y = FLOAT_TO_FX32(0.5f);
this->mUnk_13C.pos.z = FLOAT_TO_FX32(0.0f);
this->mUnk_13C.size = FLOAT_TO_FX32(0.5f);
this->mUnk_44 = (s16) this->mUnk_44 & ~0x20;
}
void ActorRollingStone::func_ov031_020f92cc() {
this->vfunc_44();
if (GET_FLAG(this->mFlags, ActorFlag_5)) {
this->SetState(ActorRollingStoneState_6);
return;
}
this->func_ov000_02098910(NULL, 0x10);
if ((this->mUnk_46 & 0x1C) == 0x0 && (this->mUnk_46 & 0x80) == 0x0) {
return;
}
data_027e0d38->func_ov031_020d9c44(0x8);
this->SetState(ActorRollingStoneState_6);
}
// non-matching
void ActorRollingStone::func_ov031_020f9340() {
fx32 angle = ((u32) (this->mUnk_5C.mInitialAngle + DEG_TO_ANG(45)) << 0x10) >> 0x1E;
this->mUnk_2C = data_ov000_020aecf8;
switch (angle) {
case 0x1:
this->mVel.x = FLOAT_TO_FX32(0.105f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
case 0x3:
this->mVel.x = FLOAT_TO_FX32(-0.1052f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
default:
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.105f);
break;
}
this->mUnk_38->mUnk_08 = 0x4;
}
void ActorRollingStone::func_ov031_020f93bc() {
this->mUnk_3C = &this->mUnk_AC;
this->func_ov000_02098910(&this->mUnk_104, 0x10);
if ((this->mUnk_46 & 0x1C) == 0x0 && (this->mUnk_46 & 0x80) == 0x0) {
if ((this->mUnk_46 & 0x1) != 0x0) {
if ((this->mUnk_108 & 0x1) != 0x0) {
this->func_ov000_020984d0();
return;
}
this->SetState(ActorRollingStoneState_3);
data_027e09a8->func_ov000_02071b30(0x989E, &this->mPos, 0x0);
return;
}
}
if (this->mPos.y <= FLOAT_TO_FX32(-5.0002f)) {
this->func_ov000_020984d0();
return;
}
this->func_ov000_020989e0();
this->func_ov000_02098ab4(0x2, 0x5, 0x1, &this->mVel);
}
void ActorRollingStone::func_ov031_020f9494() {
this->mUnk_2C = 0x0;
switch ((u32) (this->mUnk_5C.mInitialAngle + DEG_TO_ANG(45)) << 0x10 >> 0x1E) {
case 0x1:
this->mVel.x = FLOAT_TO_FX32(0.105f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
case 0x3:
this->mVel.x = FLOAT_TO_FX32(-0.1052f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.0f);
break;
default:
this->mVel.x = FLOAT_TO_FX32(0.0f);
this->mVel.y = FLOAT_TO_FX32(0.0f);
this->mVel.z = FLOAT_TO_FX32(0.105f);
break;
}
this->func_ov031_020f9af4();
u8 sp00 = this->mUnk_15A;
this->mUnk_15C.func_ov024_020d6680(&this->mPos, &sp00);
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
VecFx32_Copy(&this->mPos, &this->mPrevPos);
}
// non-matching
void ActorRollingStone::func_ov031_020f9554() {
this->mUnk_3C = &this->mUnk_AC;
this->func_ov031_020f9af8();
ActorRollingStone_104 spC = ActorRollingStone_104();
this->func_ov000_02098910(&spC, 0x10);
if ((this->mUnk_46 & 0x1C) != 0x0 || (this->mUnk_46 & 0x80) != 0x0) {
if ((this->mUnk_46 & 0x10) == 0x0) {
this->SetState(ActorRollingStoneState_6);
return;
}
} else if ((this->mUnk_46 & 0x1) == 0x0) {
this->SetState(ActorRollingStoneState_5);
return;
}
this->func_ov031_020f8de8();
VecFx32 sp38;
unk16 sinValue = SIN((u16) this->mAngle);
unk16 cosValue = COS((u16) this->mAngle);
sp38.x = MUL_FX32(sinValue, FLOAT_TO_FX32(0.25f));
sp38.y = FLOAT_TO_FX32(0.0f);
sp38.z = MUL_FX32(cosValue, FLOAT_TO_FX32(0.25f));
VecFx32 sp28;
this->vfunc_10(&sp28);
sp28.z += FLOAT_TO_FX32(0.05f);
if (data_027e09c0->func_ov000_0207e458(0x2, 0x1B, &sp28, 0x2, &sp38, this->mRef)) {
return;
}
this->func_ov000_02098ab4(0x2, 0x5, 0x1, 0x0);
this->vfunc_10(&this->mUnk_D4.mUnk_0C);
data_027e09c0->func_ov000_0207e58c(this->mRef, 0xB, 0x4, &this->mUnk_D4);
UnkStruct_ov000_0207de98 unk;
VecFx32_Copy(&this->mPos, &unk.vec);
unk.param1 = 0xB33;
unk.param2 = 0x1000;
data_027e09c0->func_ov000_0207de98(this->mRef, &unk, this->mUnk_38);
VecFx32_Copy(&this->mPos, &this->mPrevPos);
this->mUnk_15C.func_ov024_020d69d8(&this->mPos, &this->mAngle, &this->mVel, 0x1AE, 0xE39, 0x1AE);
VecFx32_Add(&this->mPos, &this->mVel, &this->mPos);
this->func_ov031_020f98e4();
}
void ActorRollingStone::func_ov031_020f97cc() {
Mat3p sp00;
switch ((u32) (this->mUnk_5C.mInitialAngle + DEG_TO_ANG(45)) << 0x10 >> 0x1E) {
case 0x1:
case 0x3: {
fx32 diffX = this->mPos.x - this->mPrevPos.x;
fx32 angleX = -MUL_FX32(diffX, FLOAT_TO_FX32(2.6668f));
Mat3p_InitZRotation(&sp00, SIN((u16) angleX), COS((u16) angleX));
break;
}
case 0x0:
case 0x2: {
fx32 diffZ = this->mPos.z - this->mPrevPos.z;
fx32 angleZ = MUL_FX32(diffZ, FLOAT_TO_FX32(2.6668f));
Mat3p_InitXRotation(&sp00, SIN((u16) angleZ), COS((u16) angleZ));
break;
}
default:
break;
}
func_01ffa60c(&this->mUnk_10C, &sp00, &this->mUnk_10C);
}
void ActorRollingStone::func_ov031_020f98e4() {
unk16 sp00 = this->mAngle;
Mat3p sp34;
switch (func_02017e8c(&sp00)) {
case 0x2:
case 0x6:
fx32 diffX = this->mPos.x - this->mPrevPos.x;
fx32 angleX = -MUL_FX32(diffX, FLOAT_TO_FX32(2.6668f));
Mat3p_InitZRotation(&sp34, SIN((u16) angleX), COS((u16) angleX));
break;
case 0x0:
case 0x4:
fx32 diffZ = this->mPos.z - this->mPrevPos.z;
fx32 angleZ = MUL_FX32(diffZ, FLOAT_TO_FX32(2.6668f));
Mat3p_InitXRotation(&sp34, SIN((u16) angleZ), COS((u16) angleZ));
break;
case 0x5:
VecFx32 sp28 = data_ov031_02110b98;
unk32 ret = func_01ffb9cc(&this->mPrevPos, &this->mPos);
fx32 angleRet1 = -MUL_FX32(ret, FLOAT_TO_FX32(2.6668f));
Mat3p_func_01ff8248(&sp34, &sp28, SIN((u16) angleRet1), COS((u16) angleRet1));
break;
case 0x1:
VecFx32 sp1C = data_ov031_02110ba4;
unk32 ret2 = func_01ffb9cc(&this->mPrevPos, &this->mPos);
fx32 angleRet2 = MUL_FX32(ret2, FLOAT_TO_FX32(2.6668f));
Mat3p_func_01ff8248(&sp34, &sp1C, SIN((u16) angleRet2), COS((u16) angleRet2));
break;
case 0x7:
VecFx32 sp10 = data_ov031_02110bb0;
unk32 ret3 = func_01ffb9cc(&this->mPrevPos, &this->mPos);
fx32 angleRet3 = MUL_FX32(ret3, FLOAT_TO_FX32(2.6668f));
Mat3p_func_01ff8248(&sp34, &sp10, SIN((u16) angleRet3), COS((u16) angleRet3));
break;
case 0x3:
VecFx32 sp04 = data_ov031_02110bbc;
unk32 ret4 = func_01ffb9cc(&this->mPrevPos, &this->mPos);
fx32 angleRet4 = -MUL_FX32(ret4, FLOAT_TO_FX32(2.6668f));
Mat3p_func_01ff8248(&sp34, &sp04, SIN((u16) angleRet4), COS((u16) angleRet4));
break;
default:
break;
}
func_01ffa60c(&this->mUnk_10C, &sp34, &this->mUnk_10C);
}
void ActorRollingStone::func_ov031_020f9af4() {}
// non-matching
void ActorRollingStone::func_ov031_020f9af8() {
const fx32 y = this->mPos.y + FLOAT_TO_FX32(0.4f);
const fx32 x = this->mPos.x;
const fx32 z = this->mVel.z;
for (UnkStruct_PlayerGet_ec *ptr = this->mUnk_130; ptr != (void *) &this->mUnk_138; ++ptr) {
UnkSystem7_UnkStruct_00 *temp = ptr->mUnk_00;
if (temp != NULL) {
temp->mUnk_28 = x + ptr->mUnk_00->mUnk_20->mUnk_04.x;
temp->mUnk_2C = y + ptr->mUnk_00->mUnk_20->mUnk_04.y;
temp->mUnk_30 = z + ptr->mUnk_00->mUnk_20->mUnk_04.z;
}
}
data_027e09a8->func_ov000_02071d34(&this->mRef, 0x989F, &this->mPos, 0x0);
}
// non-matching
bool ActorRollingStone::func_ov031_020f9ba4() {
if (!data_027e0ce0->func_01fff1a4()) {
VecFx32 *pVec = data_027e0ce0->func_01fff148(0x0);
VecFx32 sp18;
sp18.x = this->mPos.x - pVec->x;
sp18.y = this->mPos.y - pVec->y;
sp18.z = this->mPos.z - pVec->z;
return VecFx32_Length(&sp18) > FLOAT_TO_FX32(8.0f);
}
VecFx32 *pVec1 = data_027e0ce0->func_01fff148(0x0);
VecFx32 *pVec2 = data_027e0ce0->func_01fff148(0x1);
VecFx32 sp18;
sp18.x = this->mPos.x - pVec1->x;
sp18.y = this->mPos.y - pVec1->y;
sp18.z = this->mPos.z - pVec1->z;
fx32 x = this->mPos.x - pVec2->x;
fx32 y = this->mPos.y - pVec2->y;
fx32 z = this->mPos.z - pVec2->z;
if (data_027e0ce0->func_ov000_0208be70(sp18)) {
sp18.x = x;
sp18.y = y;
sp18.z = z;
}
return VecFx32_Length(&sp18) > FLOAT_TO_FX32(8.0f);
}
void ActorRollingStone::func_ov031_020f9cc0() {
this->mUnk_159 = true;
this->SetState(ActorRollingStoneState_8);
}
-60
View File
@@ -1,60 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#include "Actor/ActorUnkRLST.hpp"
#include "System/SysNew.hpp"
DECL_PROFILE(ActorProfileUnkRLST);
Actor *ActorProfileUnkRLST::Create() {
return new(HeapIndex_2) ActorUnkRLST();
}
ActorProfileUnkRLST::ActorProfileUnkRLST() :
ActorProfile_Derived1(ActorId_RLST) {}
ActorUnkRLST::ActorUnkRLST() {}
void ActorUnkRLST::func_ov031_020f8354(void) {}
void ActorUnkRLST::func_ov031_020f83e4(void) {}
void ActorUnkRLST::func_ov031_020f849c(void) {}
void ActorUnkRLST::func_ov031_020f8674(void) {}
void ActorUnkRLST::func_ov031_020f8688(void) {}
void ActorUnkRLST::func_ov031_020f869c(void) {}
void ActorUnkRLST::func_ov031_020f878c(void) {}
void ActorUnkRLST::func_ov031_020f8824(void) {}
void ActorUnkRLST::func_ov031_020f8880(void) {}
void ActorUnkRLST::func_ov031_020f8948(void) {}
void ActorUnkRLST::func_ov031_020f89f4(void) {}
void ActorUnkRLST::func_ov031_020f8a04(void) {}
void ActorUnkRLST::func_ov031_020f8a2c(void) {}
void ActorUnkRLST::func_ov031_020f8a38(void) {}
void ActorUnkRLST::func_ov031_020f8a3c(void) {}
void ActorUnkRLST::func_ov031_020f8a58(void) {}
void ActorUnkRLST::func_ov031_020f8b58(void) {}
void ActorUnkRLST::func_ov031_020f8bc4(void) {}
void ActorUnkRLST::func_ov031_020f8de8(void) {}
void ActorUnkRLST::func_ov031_020f8ed4(void) {}
void ActorUnkRLST::func_ov031_020f8f0c(void) {}
void ActorUnkRLST::func_ov031_020f8f10(void) {}
void ActorUnkRLST::func_ov031_020f8f30(void) {}
void ActorUnkRLST::func_ov031_020f9018(void) {}
void ActorUnkRLST::func_ov031_020f9050(void) {}
void ActorUnkRLST::func_ov031_020f916c(void) {}
void ActorUnkRLST::func_ov031_020f91ac(void) {}
void ActorUnkRLST::func_ov031_020f9250(void) {}
void ActorUnkRLST::func_ov031_020f92cc(void) {}
void ActorUnkRLST::func_ov031_020f9340(void) {}
void ActorUnkRLST::func_ov031_020f93bc(void) {}
void ActorUnkRLST::func_ov031_020f9494(void) {}
void ActorUnkRLST::func_ov031_020f9554(void) {}
void ActorUnkRLST::func_ov031_020f97cc(void) {}
void ActorUnkRLST::func_ov031_020f98e4(void) {}
void ActorUnkRLST::func_ov031_020f9af4(void) {}
void ActorUnkRLST::func_ov031_020f9af8(void) {}
void ActorUnkRLST::func_ov031_020f9ba4(void) {}
void ActorUnkRLST::func_ov031_020f9cc0(void) {}
void ActorUnkRLST::func_ov031_020f9cf4(void) {}
void ActorUnkRLST::func_ov031_020f9d60(void) {}
ActorUnkRLST::~ActorUnkRLST() {}
ActorProfileUnkRLST::~ActorProfileUnkRLST() {}
@@ -4,6 +4,8 @@
#include "Unknown/UnkStruct_0204af1c.hpp"
#include "Unknown/UnkStruct_027e0998.hpp"
#include "Unknown/UnkStruct_027e09b8.hpp"
#include "Unknown/UnkStruct_027e0ce0.hpp"
#include <nitro/mi.h>
extern "C" unk32 func_01ffb464(unk32 param1);
+1 -1
View File
@@ -485,7 +485,7 @@ config.libs = [
Object("031_Land/Actor/ActorUnkNORE.cpp"),
Object("031_Land/Actor/ActorUnkNTTZ.cpp"),
Object("031_Land/Actor/ActorPot.cpp"),
Object("031_Land/Actor/ActorUnkRLST.cpp"),
Object("031_Land/Actor/ActorRollingStone.cpp"),
Object("031_Land/Actor/ActorUnkRMTG.cpp"),
Object("031_Land/Actor/ActorUnkROCK.cpp"),
Object("031_Land/Actor/ActorUnkSCCN.cpp"),