mirror of
https://github.com/zeldaret/st
synced 2026-07-08 22:34:49 -04:00
improve Actor class
This commit is contained in:
+12
-23
@@ -5,15 +5,12 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
struct UnkStruct_vfunc_00 {
|
|
||||||
unk32 mUnk_00;
|
|
||||||
unk32 mUnk_04;
|
|
||||||
unk32 mUnk_08;
|
|
||||||
};
|
|
||||||
|
|
||||||
class Actor_5c {
|
class Actor_5c {
|
||||||
public:
|
public:
|
||||||
/* 00 */ unk32 mUnk_00;
|
/* 00 */ Vec3p mUnk_00;
|
||||||
|
/* 0c */ s16 mUnk_0c;
|
||||||
|
/* 0e */ unk16 mUnk_0e; // padding?
|
||||||
|
/* 10 */
|
||||||
|
|
||||||
void func_ov000_020975f8();
|
void func_ov000_020975f8();
|
||||||
};
|
};
|
||||||
@@ -43,19 +40,15 @@ public:
|
|||||||
class Actor : public SysObject {
|
class Actor : public SysObject {
|
||||||
public:
|
public:
|
||||||
/* 00 (vtable) */
|
/* 00 (vtable) */
|
||||||
/* 04 */ unk32 mUnk_04;
|
/* 04 */ Vec3p mPos;
|
||||||
/* 08 */ unk32 mUnk_08;
|
/* 10 */ Vec3p mPrevPos;
|
||||||
/* 0c */ unk32 mUnk_0c;
|
/* 1c */ Vec3p mVel;
|
||||||
/* 10 */ unk32 mUnk_10;
|
/* 28 */ u16 mAngle;
|
||||||
/* 14 */ unk32 mUnk_14;
|
|
||||||
/* 18 */ unk32 mUnk_18;
|
|
||||||
/* 1c */ Vec3p mUnk_1c;
|
|
||||||
/* 28 */ u16 mUnk_28;
|
|
||||||
/* 28 */ unk16 mUnk_2a;
|
/* 28 */ unk16 mUnk_2a;
|
||||||
/* 2c */ unk32 mUnk_2c;
|
/* 2c */ unk32 mUnk_2c; // gravity?
|
||||||
/* 30 */ unk32 *mUnk_30;
|
/* 30 */ unk32 *mUnk_30;
|
||||||
/* 34 */ unk32 *mUnk_34;
|
/* 34 */ unk32 *mUnk_34;
|
||||||
/* 38 */ unk32 mUnk_38;
|
/* 38 */ unk32 *mUnk_38;
|
||||||
/* 3c */ unk32 mUnk_3c;
|
/* 3c */ unk32 mUnk_3c;
|
||||||
/* 40 */ unk32 mUnk_40;
|
/* 40 */ unk32 mUnk_40;
|
||||||
/* 44 */ u16 mUnk_44;
|
/* 44 */ u16 mUnk_44;
|
||||||
@@ -70,10 +63,6 @@ public:
|
|||||||
/* 54 */ unk32 mUnk_54;
|
/* 54 */ unk32 mUnk_54;
|
||||||
/* 58 */ unk32 mUnk_58;
|
/* 58 */ unk32 mUnk_58;
|
||||||
/* 5c */ Actor_5c mUnk_5c;
|
/* 5c */ Actor_5c mUnk_5c;
|
||||||
/* 60 */ unk32 mUnk_60;
|
|
||||||
/* 64 */ unk32 mUnk_64;
|
|
||||||
/* 68 */ s16 mUnk_68;
|
|
||||||
/* 68 */ unk16 mUnk_6a;
|
|
||||||
/* 6c */ unk32 mUnk_6c;
|
/* 6c */ unk32 mUnk_6c;
|
||||||
/* 70 */ unk32 mUnk_70;
|
/* 70 */ unk32 mUnk_70;
|
||||||
/* 74 */ unk32 mUnk_74;
|
/* 74 */ unk32 mUnk_74;
|
||||||
@@ -86,7 +75,7 @@ public:
|
|||||||
/* 8c */ unk32 mUnk_8c;
|
/* 8c */ unk32 mUnk_8c;
|
||||||
/* 90 */ UnkStruct_ov000_020b539c_30 *mUnk_90;
|
/* 90 */ UnkStruct_ov000_020b539c_30 *mUnk_90;
|
||||||
|
|
||||||
/* 00 */ virtual unk32 vfunc_00(UnkStruct_vfunc_00 *param1);
|
/* 00 */ virtual void vfunc_00(Vec3p *param1);
|
||||||
/* 04 */ virtual bool vfunc_04();
|
/* 04 */ virtual bool vfunc_04();
|
||||||
/* 08 */ virtual unk16 vfunc_08();
|
/* 08 */ virtual unk16 vfunc_08();
|
||||||
/* 0c */ virtual unk8 vfunc_0c();
|
/* 0c */ virtual unk8 vfunc_0c();
|
||||||
@@ -101,7 +90,7 @@ public:
|
|||||||
/* 30 */ virtual void vfunc_30();
|
/* 30 */ virtual void vfunc_30();
|
||||||
/* 34 */ virtual unk32 vfunc_34();
|
/* 34 */ virtual unk32 vfunc_34();
|
||||||
/* 38 */ virtual unk32 vfunc_38(unk32 param1);
|
/* 38 */ virtual unk32 vfunc_38(unk32 param1);
|
||||||
/* 3c */ virtual bool vfunc_3c(Vec3p* param1);
|
/* 3c */ virtual bool vfunc_3c(unk32 param2, Vec3p* param3);
|
||||||
/* 40 */ virtual void vfunc_40();
|
/* 40 */ virtual void vfunc_40();
|
||||||
/* 44 */ virtual void vfunc_44();
|
/* 44 */ virtual void vfunc_44();
|
||||||
/* 48 */ virtual void vfunc_48();
|
/* 48 */ virtual void vfunc_48();
|
||||||
|
|||||||
@@ -3,13 +3,9 @@
|
|||||||
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
#include "Unknown/UnkStruct_027e0ce0.hpp"
|
||||||
|
|
||||||
ARM Actor::Actor() {
|
ARM Actor::Actor() {
|
||||||
unk32 temp_r2;
|
this->mVel.x = 0;
|
||||||
unk32 temp_ip;
|
this->mVel.y = 0;
|
||||||
unk32 temp_r3;
|
this->mVel.z = 0;
|
||||||
|
|
||||||
this->mUnk_1c.x = 0;
|
|
||||||
this->mUnk_1c.y = 0;
|
|
||||||
this->mUnk_1c.z = 0;
|
|
||||||
this->mUnk_2c = 0xCD;
|
this->mUnk_2c = 0xCD;
|
||||||
this->mUnk_38 = 0;
|
this->mUnk_38 = 0;
|
||||||
this->mUnk_3c = 0;
|
this->mUnk_3c = 0;
|
||||||
@@ -25,18 +21,10 @@ ARM Actor::Actor() {
|
|||||||
this->mUnk_8c = 0;
|
this->mUnk_8c = 0;
|
||||||
this->mUnk_90 = 0;
|
this->mUnk_90 = 0;
|
||||||
data_ov000_020b539c.func_02028cdc(&this->mUnk_5c, 0x30);
|
data_ov000_020b539c.func_02028cdc(&this->mUnk_5c, 0x30);
|
||||||
temp_r2 = this->mUnk_5c.mUnk_00;
|
this->mPrevPos = this->mPos = this->mUnk_5c.mUnk_00;
|
||||||
temp_ip = this->mUnk_60;
|
this->mAngle = this->mUnk_5c.mUnk_0c;
|
||||||
temp_r3 = this->mUnk_64;
|
|
||||||
this->mUnk_04 = temp_r2;
|
|
||||||
this->mUnk_10 = temp_r2;
|
|
||||||
this->mUnk_28 = this->mUnk_68;
|
|
||||||
this->mUnk_58 = 0x400B;
|
this->mUnk_58 = 0x400B;
|
||||||
this->mUnk_44 = 0xFF;
|
this->mUnk_44 = 0xFF;
|
||||||
this->mUnk_08 = temp_ip;
|
|
||||||
this->mUnk_0c = temp_r3;
|
|
||||||
this->mUnk_14 = temp_ip;
|
|
||||||
this->mUnk_18 = temp_r3;
|
|
||||||
this->mUnk_46 = 0;
|
this->mUnk_46 = 0;
|
||||||
this->func_ov000_0209862c(0);
|
this->func_ov000_0209862c(0);
|
||||||
this->func_ov000_0209848c(data_ov000_020b539c.mUnk_30);
|
this->func_ov000_0209848c(data_ov000_020b539c.mUnk_30);
|
||||||
@@ -92,16 +80,16 @@ ARM void Actor::func_ov000_020984f0() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// non-matching
|
// non-matching
|
||||||
ARM unk32 Actor::vfunc_00(UnkStruct_vfunc_00 *param1) {
|
ARM void Actor::vfunc_00(Vec3p *param1) {
|
||||||
unk32 iVar1;
|
*param1 = mPos;
|
||||||
unk32 uVar2;
|
param1->y += mUnk_4e;
|
||||||
|
// short sVar1;
|
||||||
|
// int iVar2;
|
||||||
|
// int iVar3;
|
||||||
|
|
||||||
uVar2 = this->mUnk_0c;
|
// param1->x = this->mPos.x;
|
||||||
iVar1 = this->mUnk_08 + this->mUnk_4e;
|
// param1->y = this->mPos.y + this->mUnk_4e;
|
||||||
param1->mUnk_00 = this->mUnk_04;
|
// param1->z = this->mPos.z;
|
||||||
param1->mUnk_04 = iVar1;
|
|
||||||
param1->mUnk_08 = uVar2;
|
|
||||||
return iVar1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ARM void Actor::func_ov000_0209853c(void) {
|
ARM void Actor::func_ov000_0209853c(void) {
|
||||||
@@ -152,16 +140,14 @@ ARM unk32 Actor::vfunc_38(unk32 param1) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// non-matching
|
// non-matching
|
||||||
ARM bool Actor::vfunc_3c(Vec3p *param1) {
|
ARM bool Actor::vfunc_3c(unk32 param2, Vec3p* param3) {
|
||||||
if (this->mUnk_58 & 0x100) {
|
if (!(this->mUnk_58 & 0x100)) {
|
||||||
this->mUnk_1c.x = param1->x;
|
return false;
|
||||||
this->mUnk_1c.y = param1->y;
|
|
||||||
this->mUnk_1c.z = param1->z;
|
|
||||||
this->mUnk_58 &= ~0x100;
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
this->mVel = *param3;
|
||||||
|
this->mUnk_58 &= ~0x100;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// non-matching
|
// non-matching
|
||||||
|
|||||||
Reference in New Issue
Block a user