CShellMysterioHeadCircle::CShellMysterioHeadCircle and CShellMysterioHeadCircle::~CShellMysterioHeadCircle

This commit is contained in:
krystalgamer 2024-07-21 16:47:06 +02:00
parent 38b2cdb098
commit ac9a2d9157
3 changed files with 69 additions and 1 deletions

View File

@ -358,6 +358,7 @@ int main()
validate_CShellSimbyMeltSplat();
validate_CShellSimbyFireDeath();
validate_CShellGoldFish();
validate_CShellMysterioHeadCircle();
puts("[*] Validation done!");

View File

@ -16,8 +16,42 @@ EXPORT SSkinGooParams gCarnageSkinGooParams;
EXPORT SSkinGooSource gSuperDocOckSkinGooSource;
EXPORT SSkinGooParams gSuperDocOckSkinGooParams;
EXPORT i32 gShellMysterioRelated;
extern CVector gGlobalNormal;
// @MEDIUMTODO
void CShellMysterioHeadCircle::Move(void)
{
}
// @Ok
CShellMysterioHeadCircle::~CShellMysterioHeadCircle(void)
{
--gShellMysterioRelated;
}
// @Ok
CShellMysterioHeadCircle::CShellMysterioHeadCircle(CDummy *pDummy)
{
this->field_84 = Mem_MakeHandle(reinterpret_cast<void*>(pDummy));
this->SetTexture(0xB968C0FD);
this->SetSemiTransparent();
this->field_90 = Rnd(100) + 100 * gShellMysterioRelated + 50;
if (gShellMysterioRelated & 1)
this->field_90 *= -1;
++gShellMysterioRelated;
}
// @MEDIUMTODO
void CShellGoldFish::AI(void)
{
}
// @Ok
CShellGoldFish::~CShellGoldFish(void)
{
@ -844,4 +878,18 @@ void validate_CShellGoldFish(void)
VALIDATE_SIZE(CShellGoldFish, 0x118);
VALIDATE(CShellGoldFish, field_F8, 0xF8);
VALIDATE(CShellGoldFish, field_100, 0x100);
VALIDATE(CShellGoldFish, field_104, 0x104);
VALIDATE(CShellGoldFish, field_108, 0x108);
VALIDATE(CShellGoldFish, field_10C, 0x10C);
VALIDATE(CShellGoldFish, field_110, 0x110);
VALIDATE(CShellGoldFish, field_114, 0x114);
}
void validate_CShellMysterioHeadCircle(void)
{
VALIDATE_SIZE(CShellMysterioHeadCircle, 0x94);
VALIDATE(CShellMysterioHeadCircle, field_84, 0x84);
VALIDATE(CShellMysterioHeadCircle, field_90, 0x90);
}

21
shell.h
View File

@ -182,11 +182,29 @@ class CShellGoldFish : public CBody
public:
EXPORT CShellGoldFish(CDummy*);
EXPORT virtual ~CShellGoldFish(void);
EXPORT virtual void AI(void);
u8 padTop[4];
SHandle field_F8;
i32 field_100;
i32 field_104;
i32 field_108;
i32 field_10C;
i32 field_110;
i32 field_114;
};
u8 padBottom[0x118-0xF8-sizeof(SHandle)];
class CShellMysterioHeadCircle : public CQuadBit
{
public:
EXPORT CShellMysterioHeadCircle(CDummy*);
EXPORT virtual ~CShellMysterioHeadCircle(void);
EXPORT virtual void Move(void);
SHandle field_84;
u8 padAfter84[4];
i32 field_90;
};
static const i32 INPUT_MAX_SIZE = 9;
@ -208,5 +226,6 @@ void validate_CShellEmber(void);
void validate_CShellSimbyMeltSplat(void);
void validate_CShellSimbyFireDeath(void);
void validate_CShellGoldFish(void);
void validate_CShellMysterioHeadCircle(void);
#endif