CCop::DieAfterFlyingAcrossRoom

This commit is contained in:
krystalgamer 2024-07-25 17:48:52 +02:00
parent 165574d35d
commit 1c6322615c
5 changed files with 38 additions and 0 deletions

11
bit.cpp
View File

@ -15,6 +15,12 @@ EXPORT CSpecialDisplay *SpecialDisplayList;
EXPORT SFlatBitVelocity FlatBitVelocities[FLATBIT_VELOCITIES_SIZE];
// @SMALLTODO
CCombatImpactRing::CCombatImpactRing(CVector*, u8, u8, u8, i32, i32, i32)
{
printf("CCombatImpactRing::CCombatImpactRing(CVector*, u8, u8, u8, i32, i32, i32)");
}
// @SMALLTODO
CSimpleAnim::CSimpleAnim(CVector*, i32, u16, i32, i32, i32)
{
@ -809,3 +815,8 @@ void validate_SFlatBitVelocity(void)
VALIDATE(SFlatBitVelocity, vxVel, 0x0);
VALIDATE(SFlatBitVelocity, vzVel, 0x2);
}
void validate_CCombatImpactRing(void)
{
VALIDATE_SIZE(CCombatImpactRing, 0x74);
}

7
bit.h
View File

@ -230,6 +230,12 @@ class CMotionBlur : public CFlatBit
EXPORT virtual void Move(void);
};
class CCombatImpactRing : public CFlatBit
{
public:
EXPORT CCombatImpactRing(CVector*, u8, u8, u8, i32, i32, i32);
};
EXPORT int Bit_MakeSpriteRing(CVector*, int, int, int, int, int, int, int);
EXPORT void MoveList(CBit *);
EXPORT void Bit_SetSparkRGB(unsigned char, unsigned char, unsigned char);
@ -255,5 +261,6 @@ void validate_CMotionBlur(void);
void validate_CSpecialDisplay(void);
void validate_SFlatBitVelocity(void);
void validate_CRibbon(void);
void validate_CCombatImpactRing(void);
#endif

18
cop.cpp
View File

@ -15,6 +15,24 @@ extern CBaddy *BaddyList;
EXPORT CCop* gCopList;
// @Ok
void CCop::DieAfterFlyingAcrossRoom(void)
{
if (this->ShouldFall(200, 0x5F000))
{
this->field_218 &= 0xFFFFFFFD;
this->field_31C.bothFlags = 22;
}
else
{
this->PlayHitWallSound();
this->SetHeight(1, 100, 600);
this->field_31C.bothFlags = 26;
}
this->dumbAssPad = 0;
}
// @Ok
INLINE void CCop::StandStill(void)
{

1
cop.h
View File

@ -26,6 +26,7 @@ public:
EXPORT void SetAttacker(void);
EXPORT void PlayHitWallSound(void);
EXPORT void StandStill(void);
EXPORT void DieAfterFlyingAcrossRoom(void);
EXPORT virtual u8 TugImpulse(CVector*, CVector*, CVector*);
EXPORT virtual void Victorious(void);

View File

@ -372,6 +372,7 @@ int main()
validate_SChunkEntry();
validate_CGouradRibbon();
validate_CCopBulletTracer();
validate_CCombatImpactRing();
puts("[*] Validation done!");