Decompile ActorManager_001.cpp (#31)

* started ActorManager_001.cpp

* create, ctor, dtor

* prog

* fix build

* fix build issues

* progress

* struct comments

* match ClearInstance
This commit is contained in:
Yanis
2026-02-04 04:08:40 +01:00
committed by GitHub
parent 3ab5bf6de9
commit 0b367ecdfb
44 changed files with 1068 additions and 161 deletions
+9 -9
View File
@@ -16,7 +16,7 @@ ARM Actor::Actor() {
this->mUnk_50 = 0;
this->mUnk_52 = 0;
this->mUnk_54 = 0;
this->mFlags = 0;
this->ResetFlags();
this->mUnk_84 = 0;
this->mUnk_5c.func_ov000_020975f8();
this->mRef.Reset();
@@ -24,7 +24,7 @@ ARM Actor::Actor() {
Copy256(&data_ov000_020b539c.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c.mUnk_00));
this->mPrevPos = this->mPos = this->mUnk_5c.mUnk_00;
this->mAngle = this->mUnk_5c.mUnk_0c;
this->mFlags = (1 << ActorFlag_Alive) | (1 << ActorFlag_Visible) | (1 << ActorFlag_Active) | (1 << ActorFlag_14);
SET_FLAGS(this->mFlags, ActorFlag_Alive, ActorFlag_Visible, ActorFlag_Active, ActorFlag_14);
this->mUnk_44 = 0xFF;
this->mUnk_46 = 0;
this->func_ov000_0209862c(0);
@@ -67,9 +67,9 @@ ARM unk32 Actor::vfunc_34() {
}
ARM void Actor::func_ov000_020984d0() {
UNSET_FLAG(&this->mFlags, ActorFlag_Alive);
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
if (GET_FLAG(&this->mFlags, ActorFlag_16)) {
if (GET_FLAG(this->mFlags, ActorFlag_16)) {
this->func_ov000_020984f0();
}
}
@@ -116,12 +116,12 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
var_r3 = param1 >> 16;
if (GET_FLAG(&this->mFlags, ActorFlag_Grabbed)) {
if (GET_FLAG(this->mFlags, ActorFlag_Grabbed)) {
return 0;
}
SET_FLAG(&this->mFlags, ActorFlag_Grabbed);
stack_c = this->mFlags;
SET_FLAG(this->mFlags, ActorFlag_Grabbed);
stack_c = this->mFlags[0];
switch (stack_c) {
case 0x100:
@@ -142,12 +142,12 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
// non-matching
ARM bool Actor::vfunc_3c(unk32 param2, Vec3p *param3) {
if (!GET_FLAG(&this->mFlags, ActorFlag_Grabbed)) {
if (!GET_FLAG(this->mFlags, ActorFlag_Grabbed)) {
return false;
}
this->mVel = *param3;
UNSET_FLAG(&this->mFlags, ActorFlag_Grabbed);
UNSET_FLAG(this->mFlags, ActorFlag_Grabbed);
return true;
}
@@ -61,7 +61,7 @@ ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {}
ARM bool ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) {
if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0() != 0) {
UNSET_FLAG(&this->mFlags, ActorFlag_Alive);
UNSET_FLAG(this->mFlags, ActorFlag_Alive);
}
if (this->mUnk_0b0 & 8) {
@@ -165,7 +165,7 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_60() {
}
ARM bool ActorUnk_ov000_020a8bb0::vfunc_64() {
return GET_FLAG(&this->mFlags, ActorFlag_Interacting);
return GET_FLAG(this->mFlags, ActorFlag_Interacting);
}
ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ff4() {}
@@ -173,7 +173,7 @@ ARM void ActorUnk_ov000_020a8bb0::func_ov000_020a8ff4() {}
ARM void ActorUnk_ov000_020a8bb0::vfunc_6c() {}
ARM void ActorUnk_ov000_020a8bb0::vfunc_68() {
UNSET_FLAG(&this->mFlags, ActorFlag_Interacting);
UNSET_FLAG(this->mFlags, ActorFlag_Interacting);
this->func_ov000_020a9200();
this->vfunc_ac();
this->mUnk_0b0 &= ~0x01;