CCop::Acknowledge

This commit is contained in:
krystalgamer 2024-07-25 19:49:20 +02:00
parent 9917fa692a
commit 0b48440b0b
2 changed files with 47 additions and 2 deletions

41
cop.cpp
View File

@ -5,6 +5,7 @@
#include "utils.h"
#include "spidey.h"
#include "exp.h"
#include "ai.h"
EXPORT CCop* gCopGlobal;
@ -16,6 +17,43 @@ extern CBaddy *BaddyList;
EXPORT CCop* gCopList;
// @Ok
void CCop::Acknowledge(void)
{
switch (this->dumbAssPad)
{
case 0:
this->mCBodyFlags |= 0x10u;
CBaddy::Neutralize();
CSuper::RunAnim(2, 0, -1);
if ( Mem_RecoverPointer(&this->field_34C) )
{
new CAIProc_LookAt(
this,
reinterpret_cast<CBody*>(this->field_34C.field_0),
0,
2,
70,
200);
}
SFX_PlayPos(0x800Eu, &this->mPos, 0);
this->dumbAssPad++;
break;
case 1:
if ( this->field_142 )
{
this->field_31C.bothFlags = 28;
this->dumbAssPad = 0;
}
break;
default:
print_if_false(0, "Unknown substate!");
break;
}
}
// @Ok
INLINE void CCop::CheckToShoot(i32 a2, i32 a3)
{
@ -544,6 +582,9 @@ void validate_CCop(void){
VALIDATE(CCop, field_324, 0x324);
VALIDATE(CCop, field_340, 0x340);
VALIDATE(CCop, field_34C, 0x34C);
VALIDATE(CCop, field_360, 0x360);
VALIDATE(CCop, field_364, 0x364);
VALIDATE(CCop, field_368, 0x368);

8
cop.h
View File

@ -35,6 +35,7 @@ public:
EXPORT i32 DrawBarrelFlash(CVector*, CVector *, SLineInfo *, u8, u8, u8);
EXPORT i32 SetUpLaser(CGPolyLine**, CVector*, CVector*);
EXPORT void CheckToShoot(i32, i32);
EXPORT void Acknowledge(void);
EXPORT virtual void CreateCombatImpactEffect(CVector*, i32);
EXPORT virtual u8 TugImpulse(CVector*, CVector*, CVector*);
@ -45,8 +46,11 @@ public:
i32 field_324;
u8 padAfter324[0x340-0x324-4];
int field_340;
unsigned char padAfter340[0x20 - 4];
i32 field_340;
u8 padAfter340[0xC-4];
SHandle field_34C;
u8 padAfter34C[0x360-0x34C-sizeof(SHandle)];
i32 field_360;
i32 field_364;