Fully decompile EFSB actor (#128)

* feat: update

* feat: update

* feat: decompiling actor efsb

* refactor!: refrefactor to do in the future

* style: better looking function
This commit is contained in:
Alessevan
2026-08-11 08:09:53 -04:00
committed by GitHub
parent a05f3d38d0
commit b2a553262f
11 changed files with 120 additions and 71 deletions
+2 -2
View File
@@ -2380,7 +2380,7 @@ 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
_ZN19func_ov000_02099af0D0Ev kind:function(thumb,size=0xc) addr:0x02099af0
func_ov000_02099afc kind:function(thumb,size=0x2) addr:0x02099afc
_ZN24UnkStruct_ov000_020b31a8D2Ev kind:function(thumb,size=0x2) addr:0x02099afc
_ZN24UnkStruct_ov000_020b31a88vfunc_08Ev kind:function(arm,size=0x38) addr:0x02099b00
_ZN24UnkStruct_ov000_020b31a88vfunc_0CEv kind:function(arm,size=0x68) addr:0x02099b38
_ZN24UnkStruct_ov000_020b31a88vfunc_20Ev kind:function(arm,size=0x110) addr:0x02099ba0
@@ -2390,7 +2390,7 @@ func_ov000_02099ddc kind:function(arm,size=0x7c) addr:0x02099ddc
func_ov000_02099e58 kind:function(arm,size=0x98) addr:0x02099e58
func_ov000_02099ef0 kind:function(arm,size=0x74) addr:0x02099ef0
func_ov000_02099f64 kind:function(arm,size=0x94) addr:0x02099f64
func_ov000_02099ff8 kind:function(arm,size=0x74) addr:0x02099ff8
_ZN24UnkStruct_ov000_020b31a818func_ov000_02099f8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x02099ff8
_ZN24UnkStruct_ov000_020b31a88vfunc_24Ev kind:function(arm,size=0x78) addr:0x0209a06c
_ZN24UnkStruct_ov000_020b31a88vfunc_18Ev kind:function(arm,size=0x10) addr:0x0209a0e4
_ZN24UnkStruct_ov000_020b31a88vfunc_28Ev kind:function(arm,size=0x18) addr:0x0209a0f4
@@ -193,9 +193,11 @@ src/031_Land/Actor/ActorUnkCLLT.cpp:
.bss start:0x02116fe8 end:0x02117034
src/031_Land/Actor/ActorUnkEFSB.cpp:
complete
.text start:0x020fb4ac end:0x020fb80c
.init start:0x02111a4c end:0x02111a9c
.ctor start:0x02112808 end:0x0211280c
.data start:0x02114eac end:0x02114f60
.bss start:0x02117034 end:0x0211711c
src/031_Land/Actor/ActorUnkNFSP.cpp:
+11 -11
View File
@@ -1246,11 +1246,11 @@ _ZN19ActorProfileUnkEFSB10GetProfileEv kind:function(arm,size=0xc) addr:0x020fb4
_ZN19ActorProfileUnkEFSB6CreateEv kind:function(arm,size=0x24) addr:0x020fb4b8
_ZN19ActorProfileUnkEFSBC1Ev kind:function(arm,size=0x28) addr:0x020fb4dc
_ZN12ActorUnkEFSBC1Ev kind:function(arm,size=0x110) addr:0x020fb504
_ZN12ActorUnkEFSB19func_ov031_020fb614Ev kind:function(arm,size=0xb8) addr:0x020fb614
_ZN12ActorUnkEFSB19func_ov031_020fb6ccEv kind:function(arm,size=0x38) addr:0x020fb6cc
_ZN12ActorUnkEFSB19func_ov031_020fb704Ev kind:function(arm,size=0x14) addr:0x020fb704
_ZN12ActorUnkEFSB19func_ov031_020fb718Ev kind:function(arm,size=0x8) addr:0x020fb718
_ZN12ActorUnkEFSB19func_ov031_020fb720Ev kind:function(arm,size=0x70) addr:0x020fb720
_ZN12ActorUnkEFSB8vfunc_18Ei kind:function(arm,size=0xb8) addr:0x020fb614
_ZN12ActorUnkEFSB8vfunc_20Ev kind:function(arm,size=0x38) addr:0x020fb6cc
_ZN12ActorUnkEFSB8vfunc_24Ev kind:function(arm,size=0x14) addr:0x020fb704
_ZN12ActorUnkEFSB8vfunc_54Ei kind:function(arm,size=0x8) addr:0x020fb718
_ZN12ActorUnkEFSB8vfunc_2CEi kind:function(arm,size=0x70) addr:0x020fb720
_ZN12ActorUnkEFSBD1Ev kind:function(arm,size=0x30) addr:0x020fb790
_ZN12ActorUnkEFSBD0Ev kind:function(arm,size=0x38) addr:0x020fb7c0
_ZN19ActorProfileUnkEFSBD1Ev kind:function(arm,size=0x14) addr:0x020fb7f8
@@ -2097,7 +2097,7 @@ __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
__sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x02111a4c
__sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x02111a4c local
__sinit_ActorUnkNFSP.cpp kind:function(arm,size=0x50) addr:0x02111a9c local
__sinit_MapObjectDoorBase.cpp kind:function(arm,size=0x3c) addr:0x02111aec local
__sinit_MapObjectDoorDangerSpawn.cpp kind:function(arm,size=0x64) addr:0x02111b28
@@ -2161,7 +2161,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
.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
.p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02112808
.p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02112808 local
.p__sinit_ActorUnkNFSP.cpp kind:data(word) addr:0x0211280c local
.p__sinit_MapObjectDoorBase.cpp kind:data(word) addr:0x02112810 local
.p__sinit_MapObjectDoorDangerSpawn.cpp kind:data(word) addr:0x02112814
@@ -2407,9 +2407,9 @@ _ZTV12ActorUnkMLCK kind:data(any) addr:0x02114d70
_ZTV15ActorUnkMLCK_94 kind:data(any) addr:0x02114dec
_ZTV19data_ov031_02114e1c kind:data(any) addr:0x02114e1c
_ZTV19data_ov031_02114e40 kind:data(any) addr:0x02114e40
_ZTV19data_ov031_02114eac kind:data(any) addr:0x02114eac
data_ov031_02114ed0 kind:data(any) addr:0x02114ed0
_ZTV19data_ov031_02114f00 kind:data(any) addr:0x02114f00
_ZTV19ActorProfileUnkEFSB kind:data(any) addr:0x02114eac
data_ov031_02114ed0 kind:data(any) addr:0x02114ed0 local
_ZTV12ActorUnkEFSB kind:data(any) addr:0x02114f00
_ZTV15ActorUnkNFSP_C0 kind:data(any) addr:0x02114f60
_ZTV19ActorProfileUnkNFSP kind:data(any) addr:0x02114f78
_ZTV12ActorUnkNFSP kind:data(any) addr:0x02114f9c
@@ -2615,7 +2615,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116fe8
@10926 kind:bss addr:0x02116fec
_ZN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02116ff8
_ZGVN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117034
@10932 kind:bss addr:0x02117038
@10932 kind:bss addr:0x02117038 local
_ZN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117044
_ZGVN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x0211711c
@10938 kind:bss addr:0x02117120 local
+2 -2
View File
@@ -2377,7 +2377,7 @@ 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
_ZN23ActorTearLight_104_BaseD2Ev kind:function(thumb,size=0x2) addr:0x0209b2c8
_ZN24UnkStruct_ov000_020b31a8D2Ev 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
@@ -2387,7 +2387,7 @@ _ZN17ActorUnkZLSL_270019func_ov000_02099ddcE25ActorUnkZLSL_AnimationTagi kind:fu
func_ov000_0209b624 kind:function(arm,size=0x98) addr:0x0209b624
func_ov000_0209b6bc kind:function(arm,size=0x74) addr:0x0209b6bc
func_ov000_0209b730 kind:function(arm,size=0x94) addr:0x0209b730
func_ov000_0209b7c4 kind:function(arm,size=0x74) addr:0x0209b7c4
_ZN24UnkStruct_ov000_020b31a818func_ov000_02099f8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x0209b7c4
_ZN24UnkStruct_ov000_020b31a88vfunc_24Ev kind:function(arm,size=0x78) addr:0x0209b838
_ZN24UnkStruct_ov000_020b31a88vfunc_18Ev kind:function(arm,size=0x10) addr:0x0209b8b0
_ZN24UnkStruct_ov000_020b31a88vfunc_28Ev kind:function(arm,size=0x18) addr:0x0209b8c0
@@ -189,9 +189,11 @@ src/031_Land/Actor/ActorUnkCLLT.cpp:
.bss start:0x02118d88 end:0x02118dd4
src/031_Land/Actor/ActorUnkEFSB.cpp:
complete
.text start:0x020fcf04 end:0x020fd264
.init start:0x021137d8 end:0x02113828
.ctor start:0x02114594 end:0x02114598
.data start:0x02116c20 end:0x02116cd4
.bss start:0x02118dd4 end:0x02118ebc
src/031_Land/Actor/ActorUnkNFSP.cpp:
+11 -11
View File
@@ -1245,11 +1245,11 @@ _ZN19ActorProfileUnkEFSB10GetProfileEv kind:function(arm,size=0xc) addr:0x020fcf
_ZN19ActorProfileUnkEFSB6CreateEv kind:function(arm,size=0x24) addr:0x020fcf10
_ZN19ActorProfileUnkEFSBC1Ev kind:function(arm,size=0x28) addr:0x020fcf34
_ZN12ActorUnkEFSBC1Ev kind:function(arm,size=0x110) addr:0x020fcf5c
_ZN12ActorUnkEFSB19func_ov031_020fb614Ev kind:function(arm,size=0xb8) addr:0x020fd06c
_ZN12ActorUnkEFSB19func_ov031_020fb6ccEv kind:function(arm,size=0x38) addr:0x020fd124
_ZN12ActorUnkEFSB19func_ov031_020fb704Ev kind:function(arm,size=0x14) addr:0x020fd15c
_ZN12ActorUnkEFSB19func_ov031_020fb718Ev kind:function(arm,size=0x8) addr:0x020fd170
_ZN12ActorUnkEFSB19func_ov031_020fb720Ev kind:function(arm,size=0x70) addr:0x020fd178
_ZN12ActorUnkEFSB8vfunc_18Ei kind:function(arm,size=0xb8) addr:0x020fd06c
_ZN12ActorUnkEFSB8vfunc_20Ev kind:function(arm,size=0x38) addr:0x020fd124
_ZN12ActorUnkEFSB8vfunc_24Ev kind:function(arm,size=0x14) addr:0x020fd15c
_ZN12ActorUnkEFSB8vfunc_54Ei kind:function(arm,size=0x8) addr:0x020fd170
_ZN12ActorUnkEFSB8vfunc_2CEi kind:function(arm,size=0x70) addr:0x020fd178
_ZN12ActorUnkEFSBD1Ev kind:function(arm,size=0x30) addr:0x020fd1e8
_ZN12ActorUnkEFSBD0Ev kind:function(arm,size=0x38) addr:0x020fd218
_ZN19ActorProfileUnkEFSBD1Ev kind:function(arm,size=0x14) addr:0x020fd250
@@ -2094,7 +2094,7 @@ __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
__sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x021137d8
__sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x021137d8 local
__sinit_ActorUnkNFSP.cpp kind:function(arm,size=0x50) addr:0x02113828 local
__sinit_MapObjectDoorBase.cpp kind:function(arm,size=0x3c) addr:0x02113878 local
__sinit_MapObjectDoorDangerSpawn.cpp kind:function(arm,size=0x64) addr:0x021138b4
@@ -2158,7 +2158,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
.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
.p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02114594
.p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02114594 local
.p__sinit_ActorUnkNFSP.cpp kind:data(word) addr:0x02114598 local
.p__sinit_MapObjectDoorBase.cpp kind:data(word) addr:0x0211459c local
.p__sinit_MapObjectDoorDangerSpawn.cpp kind:data(word) addr:0x021145a0
@@ -2402,9 +2402,9 @@ _ZTV19data_ov031_02116ae4 kind:data(any) addr:0x02116ae4
_ZTV19data_ov031_02116b60 kind:data(any) addr:0x02116b60
_ZTV19data_ov031_02116b90 kind:data(any) addr:0x02116b90
_ZTV19data_ov031_02116bb4 kind:data(any) addr:0x02116bb4
_ZTV19data_ov031_02116c20 kind:data(any) addr:0x02116c20
data_ov031_02116c44 kind:data(any) addr:0x02116c44
_ZTV19data_ov031_02116c74 kind:data(any) addr:0x02116c74
_ZTV19ActorProfileUnkEFSB kind:data(any) addr:0x02116c20
data_ov031_02114ed0 kind:data(any) addr:0x02116c44 local
_ZTV12ActorUnkEFSB kind:data(any) addr:0x02116c74
_ZTV15ActorUnkNFSP_C0 kind:data(any) addr:0x02116cd4
_ZTV19ActorProfileUnkNFSP kind:data(any) addr:0x02116cec
_ZTV12ActorUnkNFSP kind:data(any) addr:0x02116d10
@@ -2611,7 +2611,7 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02118d88
@30926 kind:bss addr:0x02118d8c
_ZN15ProfileInstanceI19ActorProfileUnkCLLTE8sProfileE kind:bss addr:0x02118d98
_ZGVN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02118dd4
@30932 kind:bss addr:0x02118dd8
@30932 kind:bss addr:0x02118dd8 local
_ZN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02118de4
_ZGVN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x02118ebc
@30938 kind:bss addr:0x02118ec0 local
+2 -2
View File
@@ -81,8 +81,8 @@ public:
mUnk_2C(&mUnk_4C, NULL),
mUnk_7C(&mUnk_9C, NULL) {
if (param4 != 0) {
*(unk32 *) &mUnk_7C = mUnk_10;
*(unk32 *) &mUnk_2C = mUnk_10;
mUnk_7C.mpModel = mUnk_10;
mUnk_2C.mpModel = mUnk_10;
}
}
+13 -22
View File
@@ -1,36 +1,28 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkZLSL_ZSRS.hpp"
#include "global.h"
#include "types.h"
class ActorUnkEFSB_C4 : public Actor_C4 {
public:
ActorUnkEFSB_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual bool vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkEFSB : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 000 (base) */
/* 094 */ unk32 mUnk_094;
/* 098 */ ModelRender mUnk_098;
/* 0F8 */ ActorUnkZLSL_27CC mUnk_0F8;
/* 154 */ ActorUnkZLSL_27CC mUnk_154;
/* 1B0 */ unk32 mUnk_1B0;
/* 1B4 */
ActorUnkEFSB();
/* 4C */ virtual ~ActorUnkEFSB() override;
void func_ov031_020fb614(void);
void func_ov031_020fb6cc(void);
void func_ov031_020fb704(void);
void func_ov031_020fb718(void);
void func_ov031_020fb720(void);
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 54 */ virtual void vfunc_54(unk32 param1);
};
class ActorProfileUnkEFSB : public ActorProfile_Derived1 {
@@ -38,7 +30,6 @@ public:
/* 00 (base) */
ActorProfileUnkEFSB();
~ActorProfileUnkEFSB();
/* 0C */ virtual Actor *Create();
+19 -8
View File
@@ -48,7 +48,7 @@ public:
/* 04 */ UnkSystem5 *mUnk_04;
/* 08 */ ModelRender *mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ unk32 mUnk_10;
/* 10 */ G3d_Model *mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk8 mUnk_18; // deduced from strb [..., 0x18]
/* 19 */ STRUCT_PAD(0x19, 0x1C);
@@ -72,16 +72,28 @@ public:
/* 34 */ virtual void vfunc_34();
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
/* 3C */ virtual void vfunc_3C();
void func_ov000_02099f8(ActorUnkZLSL_AnimationTag param1, unk32 param2);
};
class ActorUnkZLSL_27CC : public UnkStruct_ov000_020b31a8 {
public:
/* 00 (base) */
/* 1C */
/* 1C */ UnkSystem5 mUnk_1C;
/* 5C */ unk32 mUnk_5C;
/* 60 */ STRUCT_PAD(0x60, 0x7C);
/* 7C */
ActorUnkZLSL_27CC();
ActorUnkZLSL_27CC(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
UnkStruct_ov000_020b31a8(param1, param2, param3),
mUnk_1C(&mUnk_5C, NULL) {
if (param3 != 0x0) {
this->mUnk_1C.mpModel = this->mUnk_10;
}
}
// data_ov031_0211369c
/* 00 */ WEAK virtual ~ActorUnkZLSL_27CC() override {} // TODO : to be updated in next dsd release
/* 30 */ virtual s8 vfunc_30() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override;
/* 3C */ virtual void vfunc_3C() override;
@@ -92,8 +104,10 @@ public:
/* 00 (base) */
/* 04 */
// data_ov031_021136e4
ActorUnkZLSL_2700(UnkSystem5 *param1, ModelRender *param2, unk32 param3) :
ActorUnkZLSL_27CC(param1, param2, param3) {}
// data_ov031_021136e4
void func_ov000_02099ddc(ActorUnkZLSL_AnimationTag param1, unk32 param2);
};
@@ -216,12 +230,9 @@ public:
/* 1690 */ ActorUnkZLSL_1690 mUnk_1690;
/* 1694 */ STRUCT_PAD(0x1694, 0x2700);
/* 2700 */ ActorUnkZLSL_2700 mUnk_2700;
/* 2704 */ STRUCT_PAD(0x271C, 0x276C);
/* 2704 */ STRUCT_PAD(0x275C, 0x276C);
/* 276C */ ModelRender_ov031_02113670 mUnk_276C;
/* 27CC */ ActorUnkZLSL_27CC mUnk_27CC;
/* 1694 */ STRUCT_PAD(0x27E8, 0x2800);
/* 2800 */ unk32 mUnk_2800;
/* 2804 */ STRUCT_PAD(0x2804, 0x2828);
/* 2828 */ UnkStruct_PlayerGet_ec mUnk_2828;
/* 282C */ unk32 mUnk_282C;
/* 2830 */ unk32 mUnk_2830;
+51 -10
View File
@@ -1,8 +1,14 @@
//! TODO: This file was generated automatically and might contain errors
#include "Actor/ActorUnkEFSB.hpp"
#include "System/SysNew.hpp"
extern "C" unk32 func_01ffb428(unk32, unk32);
extern "C" void func_01ffc634(ModelRender *, VecFx32 *, UnkAngleStruct, VecFx32 *);
static ActorUnkZLSL_AnimationTag data_ov031_02114ed0[0x2] = {
{.index = 0x0, .name = "statue_beam"},
{.index = 0x1, .name = "statue_beam"},
};
DECL_PROFILE(ActorProfileUnkEFSB);
Actor *ActorProfileUnkEFSB::Create() {
@@ -12,13 +18,48 @@ Actor *ActorProfileUnkEFSB::Create() {
ActorProfileUnkEFSB::ActorProfileUnkEFSB() :
ActorProfile_Derived1(ActorId_EFSB) {}
ActorUnkEFSB::ActorUnkEFSB() {}
ActorUnkEFSB::ActorUnkEFSB() :
mUnk_098(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkEFSB)->mUnk_3C.mUnk_50)),
mUnk_0F8(&this->mUnk_0F8.mUnk_1C, &this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()),
mUnk_154(&this->mUnk_154.mUnk_1C, &this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()) {}
void ActorUnkEFSB::func_ov031_020fb614(void) {}
void ActorUnkEFSB::func_ov031_020fb6cc(void) {}
void ActorUnkEFSB::func_ov031_020fb704(void) {}
void ActorUnkEFSB::func_ov031_020fb718(void) {}
void ActorUnkEFSB::func_ov031_020fb720(void) {}
bool ActorUnkEFSB::vfunc_18(unk32 param1) {
this->mUnk_0F8.vfunc_1C(data_ov031_02114ed0[0], 0x1000, 0x11F, 0x0);
this->mUnk_154.func_ov000_02099f8(data_ov031_02114ed0[0], 0x1000);
ActorUnkEFSB::~ActorUnkEFSB() {}
ActorProfileUnkEFSB::~ActorProfileUnkEFSB() {}
this->mUnk_1B0 = this->mUnk_5C.mParams[0] << 0xC;
if (this->mUnk_1B0 == 0) {
this->mUnk_1B0 = 0x1000;
}
this->vfunc_54(0x0);
return true;
}
void ActorUnkEFSB::vfunc_20() {
if (this->mUnk_094 != 0x0) {
return;
}
this->mUnk_0F8.vfunc_34();
this->mUnk_154.vfunc_34();
}
void ActorUnkEFSB::vfunc_24() {
this->vfunc_20();
}
void ActorUnkEFSB::vfunc_54(unk32 param1) {
this->mUnk_094 = param1;
}
void ActorUnkEFSB::vfunc_2C(unk32 param1) {
VecFx32 vec;
VecFx32_Init(FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), FLOAT_TO_FX32(1.0f), &vec);
vec.z = func_01ffb428(this->mUnk_1B0, 0x8000);
VecFx32 sp0 = this->mPos;
sp0.y += FLOAT_TO_FX32(0.85f);
func_01ffc634(&this->mUnk_098, &vec, this->mAngleStruct, &sp0);
}
+5 -3
View File
@@ -150,7 +150,9 @@ ActorProfileUnkZLSL::ActorProfileUnkZLSL() :
ActorUnkZLSL::ActorUnkZLSL() :
Actor_Derived1(NULL, 0x0),
mUnk_1620(NULL),
mUnk_276C(NULL) {}
mUnk_2700(0, 0, 0),
mUnk_276C(NULL),
mUnk_27CC(0, 0, 0) {}
void func_ov031_020ea100() {}
@@ -496,7 +498,7 @@ void ActorUnkZLSL::func_ov031_020eb218() {
// non-matching
bool ActorUnkZLSL::func_ov031_020eb2b0(VecFx32 *param1, unk32 param2) {
func_01ff916c(&this->mUnk_2800, param1->y, 0xCD);
func_01ff916c(&this->mUnk_27CC.mUnk_1C, param1->y, 0xCD);
unk16 res = func_02016958(&this->mPos, param1);
func_01ff930c(&this->mAngle, res, 0x71C);
@@ -504,7 +506,7 @@ bool ActorUnkZLSL::func_ov031_020eb2b0(VecFx32 *param1, unk32 param2) {
vec.y += 0x800;
if (!this->mUnk_2874) {
if (this->mUnk_094.mUnk_0C->vfunc_10()->mUnk_0C < 0xA000) {
func_01ff916c(&this->mUnk_2800, 0xCD - 0x400, 0xCD + 0xCD);
func_01ff916c(&this->mUnk_27CC.mUnk_1C, 0xCD - 0x400, 0xCD + 0xCD);
}
}
}