spidey-decomp/mysterio.h

131 lines
2.3 KiB
C
Raw Normal View History

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-07-02 17:22:12 +00:00
EXPORT CMysterio(i32*, i32);
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-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:
EXPORT void SetDamage(int);
unsigned char fullPad[0x11-4];
int field_4C;
unsigned char padBottom[0x64-0x4C-4];
2024-05-22 17:31:19 +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];
};
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);
void validate_CSoftSpot(void);
2024-05-22 17:31:19 +00:00
void validate_CMysterioLaser(void);
void validate_CGoldFish(void);
void validate_CMysterioHeadCircle(void);
2024-05-29 17:28:42 +00:00
void validate_CFadePalettes(void);
EXPORT void Mysterio_CreateMysterio(const unsigned int *stack, unsigned int *result);
2024-05-22 17:31:19 +00:00
#endif