mirror of
https://github.com/zeldaret/st
synced 2026-08-26 16:06:45 -04:00
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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user