mirror of
https://github.com/zeldaret/st
synced 2026-10-28 20:47:38 -04:00
f6a7b43b15
* feat: begin decompiling * feat: update * feat: update * feat: progress decompiling * feat: increase matching * refactor: change unk32 -> fx32 * feat: increase matching * refactor: use appropriate function * fix: use new name for CANS * feat: use Copy macro for UnkStackStruct2 and match function * refactor: replace strange bitshifts by division
66 lines
1.7 KiB
C++
66 lines
1.7 KiB
C++
#include "Actor/ActorUnkEFSB.hpp"
|
|
#include "CommonFuncs.hpp"
|
|
#include "System/SysNew.hpp"
|
|
|
|
static ActorUnkZLSL_AnimationTag data_ov031_02114ed0[0x2] = {
|
|
{.index = 0x0, .name = "statue_beam"},
|
|
{.index = 0x1, .name = "statue_beam"},
|
|
};
|
|
|
|
DECL_PROFILE(ActorProfileUnkEFSB);
|
|
|
|
Actor *ActorProfileUnkEFSB::Create() {
|
|
return new(HeapIndex_2) ActorUnkEFSB();
|
|
}
|
|
|
|
ActorProfileUnkEFSB::ActorProfileUnkEFSB() :
|
|
ActorProfile_Derived1(ActorId_EFSB) {}
|
|
|
|
ActorUnkEFSB::ActorUnkEFSB() :
|
|
mUnk_098(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkEFSB)->mUnk_3C.mUnk_50)),
|
|
mUnk_0F8(&this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()),
|
|
mUnk_154(&this->mUnk_098, GET_PROFILE(ActorProfileUnkEFSB)->vfunc_04()) {}
|
|
|
|
bool ActorUnkEFSB::Init(unk32 param1) {
|
|
#pragma unused(param1)
|
|
this->mUnk_0F8.vfunc_1C(data_ov031_02114ed0[0], 0x1000, 0x11F, 0x0);
|
|
this->mUnk_154.func_ov000_02099ff8(data_ov031_02114ed0[0], 0x1000);
|
|
|
|
this->mUnk_1B0 = this->mUnk_5C.mParams[0] << 0xC;
|
|
if (this->mUnk_1B0 == FX_F32_TO_FX32(0.0f)) {
|
|
this->mUnk_1B0 = FX_F32_TO_FX32(1.0f);
|
|
}
|
|
|
|
this->vfunc_54(0x0);
|
|
return true;
|
|
}
|
|
|
|
void ActorUnkEFSB::Update() {
|
|
if (this->mUnk_094 != 0x0) {
|
|
return;
|
|
}
|
|
this->mUnk_0F8.vfunc_34();
|
|
this->mUnk_154.vfunc_34();
|
|
}
|
|
|
|
void ActorUnkEFSB::vfunc_24() {
|
|
this->Update();
|
|
}
|
|
|
|
void ActorUnkEFSB::vfunc_54(unk32 param1) {
|
|
this->mUnk_094 = param1;
|
|
}
|
|
|
|
void ActorUnkEFSB::vfunc_2C(unk32 param1) {
|
|
#pragma unused(param1)
|
|
VecFx32 vec;
|
|
|
|
VecFx32_Init(FX_F32_TO_FX32(1.0f), FX_F32_TO_FX32(1.0f), FX_F32_TO_FX32(1.0f), &vec);
|
|
vec.z = func_01ffb428(this->mUnk_1B0, FX_F32_TO_FX32(8.0f));
|
|
|
|
VecFx32 sp0 = this->mPos;
|
|
sp0.y += FX_F32_TO_FX32(0.85f);
|
|
|
|
this->mUnk_098.func_01ffc634(&vec, this->mAngle, &sp0);
|
|
}
|