2024-03-09 18:30:29 +00:00
|
|
|
#pragma once
|
|
|
|
|
2024-05-22 17:31:19 +00:00
|
|
|
#ifndef MYSTERIO_H
|
|
|
|
#define MYSTERIO_H
|
|
|
|
|
2024-03-09 18:30:29 +00:00
|
|
|
#include "export.h"
|
|
|
|
#include "baddy.h"
|
2024-07-02 17:54:19 +00:00
|
|
|
#include "camera.h"
|
2024-03-09 18:30:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
class CMystFoot : public CBaddy {};
|
|
|
|
|
2024-03-09 18:58:12 +00:00
|
|
|
class CSoftSpot : public CBaddy {
|
|
|
|
public:
|
|
|
|
int field_324;
|
|
|
|
int field_328;
|
|
|
|
int field_32c;
|
|
|
|
int field_330;
|
|
|
|
int field_334;
|
|
|
|
};
|
|
|
|
|
2024-03-09 18:45:40 +00:00
|
|
|
class CMysterio : public CBaddy {
|
|
|
|
public:
|
2024-05-17 15:49:47 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
EXPORT CMysterio(i32*, i32);
|
2024-05-17 15:49:47 +00:00
|
|
|
EXPORT CMysterio(void);
|
2024-07-03 14:17:07 +00:00
|
|
|
EXPORT ~CMysterio(void);
|
2024-07-02 17:31:32 +00:00
|
|
|
EXPORT u8 MystRedbook_XAPlayPos(i32, i32, CVector*, i32);
|
|
|
|
EXPORT i32 CMysterio::PlayAndAttachXAPlease(i32, i32, CBody*, i32);
|
2024-07-02 17:46:39 +00:00
|
|
|
EXPORT void ShakePad(void);
|
2024-07-02 17:54:19 +00:00
|
|
|
EXPORT i32 CheckforCameraShake(i32);
|
2024-07-02 18:00:08 +00:00
|
|
|
EXPORT void EnterP2(void);
|
2024-07-02 18:20:13 +00:00
|
|
|
EXPORT i32 GetAttackRotSpeed(void);
|
2024-07-02 18:31:19 +00:00
|
|
|
EXPORT void SummonAttack(void);
|
2024-07-02 18:39:14 +00:00
|
|
|
EXPORT void LookMenacing(void);
|
2024-07-02 18:53:11 +00:00
|
|
|
EXPORT void RotateToOptimalAttackAngle(i32, i32);
|
2024-07-03 14:46:50 +00:00
|
|
|
EXPORT i32 MonitorAttack(i32, VECTOR*, i32);
|
2024-05-17 15:49:47 +00:00
|
|
|
|
2024-07-03 14:17:07 +00:00
|
|
|
CItem* field_324;
|
2024-07-02 17:22:12 +00:00
|
|
|
u8 padAfter324[0x4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_32C;
|
2024-07-02 18:20:13 +00:00
|
|
|
u8 padAfter32C[0x34C-0x32c-4];
|
|
|
|
|
|
|
|
i32 field_34C;
|
|
|
|
i32 field_350;
|
|
|
|
u8 padAfter350[4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_358;
|
|
|
|
u8 padAfter358[0x4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
|
|
|
|
2024-07-03 14:17:07 +00:00
|
|
|
SHandle field_360;
|
|
|
|
SHandle field_368;
|
2024-07-02 17:22:12 +00:00
|
|
|
u8 padAfter36C[0x4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_374;
|
|
|
|
i32 field_378;
|
2024-07-03 14:46:50 +00:00
|
|
|
|
|
|
|
CVector field_37C;
|
|
|
|
|
|
|
|
i32 field_388;
|
2024-03-09 18:45:40 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_38C;
|
|
|
|
u8 padAfter38c[0x8];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_398;
|
|
|
|
i32 field_39C;
|
|
|
|
i32 field_3A0;
|
2024-07-03 14:17:07 +00:00
|
|
|
u8 padAfter3A0[4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
|
|
|
|
2024-07-02 17:22:12 +00:00
|
|
|
i32 field_3A8;
|
2024-07-03 14:17:07 +00:00
|
|
|
u8 padAfter3A8[0x3B8-0x3A8-4];
|
|
|
|
|
|
|
|
u32 field_3B8;
|
|
|
|
u8 mysterioEndPad[0x3d0-0x3b8-4];
|
2024-03-09 18:45:40 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
2024-05-22 17:31:19 +00:00
|
|
|
class CMysterioLaser : public CNonRenderedBit
|
|
|
|
{
|
|
|
|
public:
|
2024-05-23 16:33:00 +00:00
|
|
|
EXPORT void SetDamage(int);
|
2024-06-07 16:09:11 +00:00
|
|
|
unsigned char fullPad[0x11-4];
|
2024-05-23 16:33:00 +00:00
|
|
|
int field_4C;
|
|
|
|
unsigned char padBottom[0x64-0x4C-4];
|
2024-05-22 17:31:19 +00:00
|
|
|
};
|
|
|
|
|
2024-05-23 17:41:55 +00:00
|
|
|
class CGoldFish : public CBody
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT void AngryMode(void);
|
|
|
|
EXPORT void NormalMode(void);
|
|
|
|
|
|
|
|
unsigned char pad[0xF8-0xF4];
|
|
|
|
|
|
|
|
int field_F8;
|
|
|
|
|
|
|
|
unsigned char bottomPad[0x110-0xF8-4];
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2024-05-28 18:37:57 +00:00
|
|
|
class CMysterioHeadCircle : public CQuadBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT void NormalMode(void);
|
|
|
|
EXPORT void AngryMode(void);
|
|
|
|
unsigned char topPad[4];
|
|
|
|
int field_88;
|
|
|
|
int field_8C;
|
|
|
|
};
|
|
|
|
|
2024-05-29 17:28:42 +00:00
|
|
|
class CFadePalettes : public CNonRenderedBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
unsigned char fullPad[0x424];
|
|
|
|
};
|
|
|
|
|
2024-03-09 18:45:40 +00:00
|
|
|
void validate_CMystFoot(void);
|
2024-03-09 18:58:12 +00:00
|
|
|
void validate_CMysterio(void);
|
2024-05-17 15:49:47 +00:00
|
|
|
void validate_CSoftSpot(void);
|
2024-05-22 17:31:19 +00:00
|
|
|
void validate_CMysterioLaser(void);
|
2024-05-23 17:41:55 +00:00
|
|
|
void validate_CGoldFish(void);
|
2024-05-28 18:37:57 +00:00
|
|
|
void validate_CMysterioHeadCircle(void);
|
2024-05-29 17:28:42 +00:00
|
|
|
void validate_CFadePalettes(void);
|
|
|
|
|
2024-05-17 15:49:47 +00:00
|
|
|
EXPORT void Mysterio_CreateMysterio(const unsigned int *stack, unsigned int *result);
|
2024-05-22 17:31:19 +00:00
|
|
|
|
|
|
|
#endif
|