CCopBulletTracer:SetWidth

This commit is contained in:
krystalgamer 2024-09-25 18:51:11 +02:00
parent 136fdd798e
commit 5ba3c2170f
2 changed files with 27 additions and 15 deletions

34
cop.cpp
View File

@ -469,13 +469,26 @@ void CCop::LookForPlayer(void)
// @SMALLTODO
void CCopBulletTracer::Move(void)
{
printf("void CCopBulletTracer::Move(void)");
}
// @SMALLTODO
// @Ok
// @Matching
void CCopBulletTracer::SetWidth(void)
{
printf("void CCopBulletTracer::SetWidth(void)");
print_if_false(this->mpRibbon && this->mpRibbon2, "NULL mpRibbon and mpRibbon2");
for (i32 i = 0; i < 5; i++)
{
this->mpRibbon->mpPoints[i].Width = (u16)(this->mMaxWidth) * 2 + Rnd(this->mMaxWidth);
this->mpRibbon2->mpPoints[i].Width = Rnd(this->mMaxWidth);
}
this->mpRibbon->mpPoints[0].Width = 0;
this->mpRibbon->mpPoints[4].Width = Rnd(this->mMaxWidth);
this->mpRibbon2->mpPoints[0].Width = 0;
this->mpRibbon2->mpPoints[4].Width = 0;
}
// @SMALLTODO
@ -487,14 +500,12 @@ CCopBulletTracer::CCopBulletTracer(CVector*, CVector*, CSuper*, SLineInfo*, u8,
// @Ok
CCopBulletTracer::~CCopBulletTracer(void)
{
if (this->field_3C)
delete this->field_3C;
delete this->mpRibbon;
if (this->field_40)
delete this->field_40;
delete this->mpRibbon2;
this->field_3C = 0;
this->field_40 = 0;
this->mpRibbon = 0;
this->mpRibbon2 = 0;
}
// @Ok
@ -656,8 +667,9 @@ void validate_CCopBulletTracer(void)
{
VALIDATE_SIZE(CCopBulletTracer, 0x48);
VALIDATE(CCopBulletTracer, field_3C, 0x3C);
VALIDATE(CCopBulletTracer, field_40, 0x40);
VALIDATE(CCopBulletTracer, mpRibbon, 0x3C);
VALIDATE(CCopBulletTracer, mpRibbon2, 0x40);
VALIDATE(CCopBulletTracer, mMaxWidth, 0x44);
}
void validate_CCopLaserPing(void)

8
cop.h
View File

@ -94,12 +94,12 @@ class CCopBulletTracer : public CNonRenderedBit
EXPORT void SetWidth(void);
EXPORT virtual void Move(void);
EXPORT virtual void Move(void) OVERRIDE;
CGouraudRibbon *field_3C;
CGouraudRibbon *field_40;
CGouraudRibbon *mpRibbon;
CGouraudRibbon *mpRibbon2;
u32 mMaxWidth;
u8 padBottom[0x48-0x40-4];
};
class CCopLaserPing : public CQuadBit