2024-03-09 10:38:43 +00:00
|
|
|
#pragma once
|
|
|
|
|
2024-05-28 17:27:17 +00:00
|
|
|
#ifndef VENOM_H
|
|
|
|
#define VENOM_H
|
|
|
|
|
2024-03-09 10:38:43 +00:00
|
|
|
#include "export.h"
|
|
|
|
#include "baddy.h"
|
|
|
|
|
|
|
|
|
|
|
|
class CVenom : public CBaddy {
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
2024-06-30 12:31:17 +00:00
|
|
|
EXPORT CVenom(i32*, i32);
|
2024-05-27 17:51:40 +00:00
|
|
|
EXPORT void Shouldnt_DoPhysics_Be_Virtual(void);
|
|
|
|
EXPORT void DoPhysics(void);
|
2024-06-30 12:31:17 +00:00
|
|
|
EXPORT i32* KillCommandBlock(i32*);
|
2024-06-03 15:31:44 +00:00
|
|
|
EXPORT void KillAllCommandBlocks(void);
|
2024-06-30 12:31:17 +00:00
|
|
|
EXPORT u8 TugImpulse(CVector *, CVector *, CVector *);
|
2024-06-30 12:38:33 +00:00
|
|
|
EXPORT void PlayNextFootstepSFX(void);
|
2024-06-30 12:48:16 +00:00
|
|
|
EXPORT void GetTargetPosFromNode(CVector *, i32);
|
2024-06-30 17:32:03 +00:00
|
|
|
EXPORT void Lookaround(void);
|
2024-06-30 17:46:38 +00:00
|
|
|
EXPORT void TugWeb(void);
|
2024-06-30 22:02:40 +00:00
|
|
|
EXPORT void AdjustWaterModel(void);
|
2024-06-30 22:15:25 +00:00
|
|
|
EXPORT void PulseL6A4Node(bool);
|
|
|
|
EXPORT void VenomDie(void);
|
|
|
|
|
|
|
|
u8 venomStartPad[0x18-0xC];
|
|
|
|
i32 field_330;
|
|
|
|
u8 padAfter330[4];
|
2024-06-30 12:31:17 +00:00
|
|
|
|
2024-06-30 17:57:24 +00:00
|
|
|
i32 field_338;
|
2024-06-30 12:31:17 +00:00
|
|
|
u8 field_33C;
|
|
|
|
u8 field_33D;
|
2024-06-30 17:57:24 +00:00
|
|
|
|
|
|
|
SHandle field_340;
|
|
|
|
i32 field_348;
|
|
|
|
u8 venomPadAfter348[0x358 - 0x348 - 4];
|
2024-06-30 12:31:17 +00:00
|
|
|
|
|
|
|
i32 field_358;
|
|
|
|
i32* field_35C;
|
|
|
|
u8 venomPadAfter35C[0x37C-0x35C-4];
|
|
|
|
|
|
|
|
i32 field_37C;
|
|
|
|
i32 field_380;
|
|
|
|
i32 field_384;
|
|
|
|
u8 venomPadAfter384[0x14];
|
|
|
|
|
|
|
|
i32 field_39C;
|
|
|
|
i32 field_3A0;
|
|
|
|
i32 field_3A4;
|
|
|
|
i32 field_3A8;
|
2024-03-09 10:38:43 +00:00
|
|
|
|
2024-06-30 12:31:17 +00:00
|
|
|
u8 venomPadAFter3A8[0x3C];
|
|
|
|
|
|
|
|
i32 field_3E8;
|
|
|
|
i32 field_3EC;
|
|
|
|
i32 field_3F0;
|
|
|
|
|
|
|
|
u8 venomPadAfter3F0[0xC];
|
|
|
|
|
|
|
|
i32 field_400;
|
|
|
|
i32 field_404;
|
|
|
|
i32 field_408;
|
|
|
|
i32 field_40C;
|
|
|
|
i32 field_410;
|
|
|
|
i32 field_414;
|
|
|
|
i32 field_418;
|
|
|
|
i32 field_41C;
|
|
|
|
i32 field_420;
|
|
|
|
u8 venomPadAfter420[0x30 - 0x24];
|
|
|
|
|
|
|
|
i32 field_430;
|
2024-03-09 11:27:42 +00:00
|
|
|
CQuadBit *field_434;
|
2024-06-30 12:31:17 +00:00
|
|
|
u8 venomPadAfter434[0x20-4];
|
2024-03-09 10:56:42 +00:00
|
|
|
|
|
|
|
|
2024-06-30 12:31:17 +00:00
|
|
|
i32 field_454;
|
|
|
|
i32 field_458;
|
|
|
|
i32 field_45C;
|
|
|
|
i32 field_460;
|
|
|
|
i32 field_464;
|
2024-05-21 18:09:54 +00:00
|
|
|
|
|
|
|
// @TODO venom has two secret virtual fucnctions
|
2024-03-09 10:38:43 +00:00
|
|
|
};
|
|
|
|
|
2024-05-28 17:27:17 +00:00
|
|
|
class CVenomWrap : public CNonRenderedBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT void Die(void);
|
2024-06-30 12:31:17 +00:00
|
|
|
u8 fullPad[0x20];
|
|
|
|
};
|
|
|
|
|
|
|
|
class CVenomElectrified : public CNonRenderedBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT CVenomElectrified(CSuper*);
|
|
|
|
SHandle field_3C;
|
|
|
|
u8 padBottom[4];
|
2024-05-28 17:27:17 +00:00
|
|
|
};
|
2024-03-09 10:38:43 +00:00
|
|
|
|
2024-05-17 15:43:51 +00:00
|
|
|
void validate_CVenom(void);
|
2024-05-28 17:27:17 +00:00
|
|
|
void validate_CVenomWrap(void);
|
2024-06-30 12:31:17 +00:00
|
|
|
void validate_CVenomElectrified(void);
|
2024-05-17 15:43:51 +00:00
|
|
|
EXPORT void Venom_CreateVenom(const unsigned int *stack, unsigned int *result);
|
2024-05-28 17:27:17 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|