CShellVenom::Electrified::Move

This commit is contained in:
krystalgamer 2024-07-20 15:56:41 +02:00
parent 7cde293899
commit 48091f61e6
5 changed files with 90 additions and 4 deletions

View File

@ -1,13 +1,26 @@
#include "effects.h"
#include "validate.h"
extern int CurrentSuit;
// @MEDIUMTODO
CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource*, i32, SSkinGooParams*)
{
printf("CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource*, i32, SSkinGooParams*)");
}
// @MEDIUMTODO
CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource2*, i32, SSkinGooParams*)
{
printf("CSkinGoo::CSkinGoo(CSuper*, SSkinGooSource2*, i32, SSkinGooParams*)");
}
// @MEDIUMTODO
CElectrify::CElectrify(CSuper*, int)
{
}
extern int CurrentSuit;
// @Ok
void __inline Effects_UnElectrify(CSuper* pSuper)
{
@ -42,3 +55,20 @@ void validate_CElectrify(void)
{
VALIDATE_SIZE(CElectrify, 0x64);
}
void validate_CSkinGoo(void)
{
VALIDATE_SIZE(CSkinGoo, 0xD8);
}
void validate_SSkinGooSource(void)
{
}
void validate_SSkinGooSource2(void)
{
}
void validate_SSkinGooParams(void)
{
}

View File

@ -15,7 +15,33 @@ class CElectrify : public CSimpleTexturedRibbon
EXPORT CElectrify(CSuper*, int);
};
struct SSkinGooSource
{
};
struct SSkinGooSource2
{
};
struct SSkinGooParams
{
};
class CSkinGoo : public CQuadBit
{
public:
EXPORT CSkinGoo(CSuper*, SSkinGooSource*, i32, SSkinGooParams*);
EXPORT CSkinGoo(CSuper*, SSkinGooSource2*, i32, SSkinGooParams*);
u8 fullPad[0x54];
};
void validate_CElectrify(void);
void validate_CSkinGoo(void);
void validate_SSkinGooSource(void);
void validate_SSkinGooSource2(void);
void validate_SSkinGooParams(void);
EXPORT void Effects_Electrify(CSuper*);
EXPORT void Effects_UnElectrify(CSuper*);

View File

@ -347,6 +347,10 @@ int main()
validate_CSkidMark();
validate_TextureEntry();
validate_CShellVenomElectrified();
validate_CSkinGoo();
validate_SSkinGooSource();
validate_SSkinGooSource2();
validate_SSkinGooParams();
puts("[*] Validation done!");

View File

@ -3,6 +3,31 @@
#include "ps2m3d.h"
#include "utils.h"
#include "ps2lowsfx.h"
#include "effects.h"
EXPORT SSkinGooSource gVenomSkinGooSource;
EXPORT SSkinGooParams gVenomSkinGooParams;
// @Ok
void CShellVenomElectrified::Move(void)
{
CSuper *pSuper = static_cast<CSuper*>(Mem_RecoverPointer(&this->field_3C));
if (!pSuper)
{
this->Die();
return;
}
M3d_BuildTransform(pSuper);
if (++this->field_44 > 0)
{
new CSkinGoo(pSuper, &gVenomSkinGooSource, 19, &gVenomSkinGooParams);
this->field_44 = 0;
}
}
// @Ok
CShellVenomElectrified::CShellVenomElectrified(CSuper* pSuper)
@ -465,4 +490,5 @@ void validate_CShellVenomElectrified(void)
VALIDATE_SIZE(CShellVenomElectrified, 0x48);
VALIDATE(CShellVenomElectrified, field_3C, 0x3C);
VALIDATE(CShellVenomElectrified, field_44, 0x44);
}

View File

@ -102,10 +102,10 @@ class CShellVenomElectrified : public CNonRenderedBit
{
public:
EXPORT CShellVenomElectrified(CSuper*);
EXPORT virtual void Move(void);
SHandle field_3C;
u8 padBottom[0x48-0x3C-sizeof(SHandle)];
i32 field_44;
};
static const i32 INPUT_MAX_SIZE = 9;