Files
st/src/063_Shrine/Actor/ActorUnkRBLS.cpp
T
Yanis 07a5bd9fcc Create Timer struct, improve angle usage and name known virtual functions (#154)
* name some actor vfuncs

* name some map object vfuncs

* remove angle union

* fix lots of clangd errors

* create Timer struct

* fix regressions
2026-10-02 20:54:43 +02:00

49 lines
1.3 KiB
C++

#include "Actor/ActorUnkRBLS.hpp"
#include "Render/ModelRender.hpp"
#include "Unknown/UnkStruct_027e0cd8.hpp"
#include "nitro/fx.h"
#include "nitro/math.h"
ActorUnkZLSL_AnimationTag data_ov063_02163740 = {0, "RBLS"};
extern "C" void func_ov000_02099f64(UnkStruct_ov063_02163784 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param3);
DECL_PROFILE(ActorProfileUnkRBLS);
Actor *ActorProfileUnkRBLS::Create() {
return new(HeapIndex_2) ActorUnkRBLS();
}
ActorProfileUnkRBLS::ActorProfileUnkRBLS() :
ActorProfile_Derived1(ActorId_RBLS) {}
// non-matching
ActorUnkRBLS::ActorUnkRBLS() :
mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkRBLS)->mUnk_3C.mUnk_50)),
mUnk_F4(&mUnk_94, GET_PROFILE(ActorProfileUnkRBLS)->vfunc_04()) {}
bool ActorUnkRBLS::Init(unk32 param1) {
this->mPos.x -= FLOAT_TO_FX32(0.5f);
this->mPos.z -= FLOAT_TO_FX32(0.5f);
this->mPos.y = 0;
func_ov000_02099f64(&this->mUnk_F4, data_ov063_02163740, 0x1000);
this->mUnk_F4.vfunc_3C();
data_027e0cd8->mUnk_0C->mUnk_12A = 0;
return true;
}
void ActorUnkRBLS::Update(void) {
this->mUnk_F4.vfunc_34();
}
void ActorUnkRBLS::vfunc_24(void) {
this->Update();
}
void ActorUnkRBLS::vfunc_2C(Actor_vfunc_30 *param1) {
ModelRender *var1 = &this->mUnk_94;
VecFx32 *var2 = &this->mPos;
var1->vfunc_18(var2);
}