CLizMan::ClearAttackFlags

This commit is contained in:
krystalgamer 2024-06-02 17:21:28 +02:00
parent 31ea76c32d
commit b66a668f01
4 changed files with 44 additions and 5 deletions

View File

@ -1,6 +1,7 @@
#include "jonah.h"
#include "validate.h"
#include "panel.h"
#include "utils.h"
int JoelJewtCheatCode = 0;
@ -137,7 +138,7 @@ int __inline CJonah::StartRunningToNextRoom(void)
void CJonah::TakeHit(void)
{
int v3;
CBaddy* v3;
switch (this->dumbAssPad)
{
case 0:
@ -164,9 +165,19 @@ void CJonah::TakeHit(void)
}
// @TODO
int CJonah::FindScorp(void)
CBaddy* CJonah::FindScorp(void)
{
return 0x22052024;
return (CBaddy*)0x22052024;
}
// @Ok
unsigned __int16 CJonah::DistToScorp(void)
{
CBaddy* pScorp = this->FindScorp();
if (!pScorp)
return 0xFFFF;
return Utils_CrapDist(pScorp->mPos, this->mPos);
}
void validate_CJonah(void){

View File

@ -15,7 +15,8 @@ public:
EXPORT int LinkedHidingPlaceStillExists(int);
EXPORT int StartRunningToNextRoom(void);
EXPORT void TakeHit(void);
EXPORT int FindScorp(void);
EXPORT CBaddy* FindScorp(void);
EXPORT unsigned __int16 DistToScorp(void);
int dumbAssPad;

View File

@ -64,6 +64,26 @@ int __inline CLizMan::IsSafeToSwitchToFollowWaypoints(void)
return 0;
}
static CLizMan* gGlobalLizMan;
static unsigned char gLizManAttackFlag;
// @NotOk
// globals
void __inline CLizMan::ClearAttackFlags(void)
{
if (gGlobalLizMan == this)
{
gGlobalLizMan = NULL;
}
else if ((this->field_39C & 2))
{
gLizManAttackFlag &= ~this->field_39D;
}
this->field_39C = 0;
this->field_39D = 0;
}
void validate_CLizMan(void){
VALIDATE_SIZE(CLizMan, 0x3B8);
@ -76,5 +96,9 @@ void validate_CLizMan(void){
VALIDATE(CLizMan, field_374, 0x374);
VALIDATE(CLizMan, field_390, 0x390);
VALIDATE(CLizMan, field_398, 0x398);
VALIDATE(CLizMan, field_39C, 0x39C);
VALIDATE(CLizMan, field_39D, 0x39D);
VALIDATE(CLizMan, field_3AC, 0x3AC);
}

View File

@ -11,6 +11,7 @@ public:
EXPORT void StopClimbing(void);
EXPORT int IsSafeToSwitchToFollowWaypoints(void);
EXPORT void FlyAcrossRoom(void);
EXPORT void ClearAttackFlags(void);
unsigned char padLizStart[0x4];
@ -32,7 +33,9 @@ public:
unsigned char padAfter390[0x398-0x390-1];
int field_398;
unsigned char padAfter398[0x3AC - 0x398 - 4];
unsigned char field_39C;
unsigned char field_39D;
unsigned char padAfter39C[0x3AC - 0x39C - 4];
int field_3AC;
unsigned char padLizManEnd[0x3B8-0x3AC-4];