spidey-decomp/baddy.h
2024-07-26 17:10:00 +02:00

189 lines
3.9 KiB
C++

#pragma once
#ifndef BADDY_H
#define BADDY_H
#include "export.h"
#include "ob.h"
#include "stateflags.h"
union IntToBytes
{
i32 Int;
u8 Bytes[4];
};
class CMessage;
class CAIProc;
class CBaddy : public CSuper {
public:
EXPORT CBaddy(void);
EXPORT ~CBaddy(void);
EXPORT int DistanceToPlayer(int a2);
EXPORT int TrapWeb(void);
EXPORT void CleanUpMessages(i32, i32);
EXPORT u16 CheckStateFlags(SStateFlags *, int);
EXPORT int YawTowards(int, int);
EXPORT int RunTimer(int*);
EXPORT int PathCheckGuts(CVector*, CVector*, CVector*, int);
EXPORT int PathCheck(CVector*, CVector*, CVector*, int);
EXPORT CBody* StruckGameObject(int, int);
EXPORT void MarkAIProcList(int, int, int);
EXPORT void Neutralize(void);
EXPORT int TugWeb(void);
EXPORT int MakeSpriteRing(CVector*);
EXPORT void GetLocalPos(CVector *, CVector *, CSVector *);
EXPORT int SetHeight(int, int, int);
EXPORT void SendDeathPulse(void);
EXPORT int Die(int);
EXPORT void CleanUpAIProcList(i32);
EXPORT int BumpedIntoSpidey(int);
EXPORT int ShouldFall(int, int);
EXPORT int CheckSightCone(int, int, int, int, CBody*);
EXPORT void ParseScript(u16*);
EXPORT void DoPhysics(int);
EXPORT void Baddy_SendSignal(void);
EXPORT int SmackSpidey(int, CVector*, int, int);
EXPORT void RunAppropriateAnim(void);
EXPORT i32 GetNextWaypoint(void);
EXPORT i32 AddPointToPath(CVector*, i32);
EXPORT void GetWaypointNearTarget(CVector*, i32, i32, CVector*);
EXPORT virtual int PlayerIsVisible();
EXPORT virtual void CreateCombatImpactEffect(CVector*, i32);
EXPORT virtual u8 TugImpulse(CVector*, CVector*, CVector*);
EXPORT virtual void Victorious(void);
EXPORT virtual void SetParamByIndex(i32, i32);
EXPORT virtual u8 Grab(CVector*);
EXPORT virtual void Shouldnt_DoPhysics_Be_Virtual(void);
EXPORT virtual void UnknownCBaddyFunctionFive(int);
EXPORT virtual CBaddy* GetClosest(int, int);
EXPORT virtual int ExecuteCommand(unsigned __int16);
EXPORT virtual void SetVariable(unsigned __int16);
EXPORT virtual unsigned __int16 GetVariable(unsigned __int16);
int field_194;
int field_198;
unsigned char padAfter198[0x1A8-0x198-4];
CVector field_1A8;
CVector field_1B4[5];
int field_1F0;
int field_1F4;
int field_1F8;
__int16 field_1FC;
__int16 field_1FE;
unsigned char pad[0x1];
int field_204;
int field_208;
unsigned char field_20C;
unsigned char fusdakjfasdPad[0x2];
unsigned char field_20F;
unsigned char field_210;
unsigned char field_211;
unsigned char field_212;
unsigned char field_213;
unsigned char padAfter213[1];
__int16 field_216;
int field_218;
unsigned char padAFter218[0x1];
u8 field_21D;
__int16 field_21E;
i16 registerArr[6];
unsigned char adsfPad[0x2C - 0x18 - 4 - 0xC];
int field_230;
unsigned char field_234;
unsigned char jasdkfasdkjfajsdfPad[4];
int field_23C;
CVector field_240;
int field_24C;
unsigned char morerPad[0x84 - 0x14 - 4 - 0x10 - 0x30 - 0xC];
__int16 attributeArr[6];
CVector field_27C;
int field_288;
CAIProc *mAIProcList;
CMessage* pMessage;
IntToBytes field_294;
IntToBytes field_298;
i32 field_29C;
int field_2A0;
int field_2A4;
i32 field_2A8;
int field_2AC;
int field_2B0;
int field_2B4;
CVector field_2B8;
int field_2C4;
int field_2C8;
int field_2CC;
CVector field_2D0;
__int16 field_2DC;
__int16 field_2DE;
__int16 field_2E0;
__int16 field_2E2;
__int16 field_2E4;
__int16 field_2E6;
CSVector field_2E8;
unsigned char padAfter2E8[0x2F0 - 0x2E8 - sizeof(CSVector)];
int field_2F0;
int field_2F4;
int field_2F8;
CVector field_2FC;
int field_308;
unsigned char padAfter308[0x310 - 0x308 - 4];
i32 field_310;
__int16 field_314;
unsigned __int16 padAfter314;
int field_318;
SStateFlags field_31C;
int dumbAssPad;
};
class CScriptOnlyBaddy : public CBaddy {
public:
unsigned char padSOBStart[0x4];
int field_328;
__int16 field_32C;
__int16 field_32E;
};
EXPORT CBaddy* FindBaddyOfType(int);
void validate_CBaddy(void);
void validate_CScriptOnlyBaddy(void);
void validate_SStateFlags(void);
#endif