mirror of
https://github.com/krystalgamer/spidey-decomp.git
synced 2024-12-18 02:06:51 +00:00
214 lines
3.8 KiB
C++
214 lines
3.8 KiB
C++
#pragma once
|
|
|
|
#ifndef SIMBY_H
|
|
#define SIMBY_H
|
|
|
|
#include "export.h"
|
|
#include "baddy.h"
|
|
|
|
class CPunchOb : public CBaddy {
|
|
public:
|
|
EXPORT CPunchOb(i16*, i32);
|
|
EXPORT virtual ~CPunchOb(void);
|
|
EXPORT virtual i32 Hit(SHitInfo*);
|
|
EXPORT virtual void AI(void);
|
|
|
|
EXPORT void SendPulse(void);
|
|
unsigned char padTop[4];
|
|
|
|
unsigned char field_328;
|
|
unsigned char padFull[0x32C - 0x328 - 1];
|
|
};
|
|
|
|
class CSimby : public CBaddy {
|
|
public:
|
|
EXPORT CSimby(int*, int);
|
|
EXPORT CSimby(void);
|
|
EXPORT void FlashUpdate(void);
|
|
EXPORT void SetAlertModeTimer(int);
|
|
EXPORT void ClearAttackData(void);
|
|
EXPORT void SetUpUnitFromDirection(CVector*, int);
|
|
EXPORT void SetUpJumpData(i32, i32);
|
|
EXPORT void RunAppropriateHitAnim(void);
|
|
EXPORT i32 FireTrappedToDeath(void);
|
|
EXPORT i32 PlayAndAttachXAPlease(i32, i32, CBody*, i32);
|
|
EXPORT void PlayGruntSound(void);
|
|
EXPORT void TakeHit(void);
|
|
EXPORT void Shoot(void);
|
|
EXPORT void SetUpHandPos(void);
|
|
|
|
|
|
i32 field_324;
|
|
i16 field_328;
|
|
u16 field_32A;
|
|
u16 field_32C;
|
|
i16 field_32E;
|
|
i32 field_330;
|
|
u8 padAfter330[0x348-0x330-4];
|
|
|
|
i32 field_348;
|
|
i32 field_34C;
|
|
|
|
i32 field_350;
|
|
i32 field_354;
|
|
i32 field_358;
|
|
i32 field_35C;
|
|
i32 field_360;
|
|
i32 field_364;
|
|
|
|
CVector field_368;
|
|
|
|
i32 field_374;
|
|
i32 field_378;
|
|
i32 field_37C;
|
|
i32 field_380;
|
|
i32 field_384;
|
|
i32 field_388;
|
|
i32 field_38C;
|
|
i32 field_390;
|
|
i32 field_394;
|
|
i32 field_398;
|
|
|
|
i32 field_39C;
|
|
u8 padAfter39C[0x3CC-0x39C-4];
|
|
|
|
i32 field_3CC;
|
|
i32 field_3D0;
|
|
u8 padAfter3D0[0x3DC-0x3D0-4];
|
|
|
|
CVector field_3DC;
|
|
u8 padAfter3E4[0x3F0-0x3E4-4];
|
|
|
|
i32 field_3F0;
|
|
u8 padAfter3F0[4];
|
|
|
|
i32 field_3F8;
|
|
i32 field_3FC;
|
|
i32 field_400;
|
|
i32 field_404;
|
|
i32 field_408;
|
|
i32 field_40C;
|
|
u8 padBottom[0x460 - 0x40C-4];
|
|
};
|
|
|
|
class CSimbyBase : public CBaddy {
|
|
|
|
public:
|
|
unsigned char padFull[0x334 - 0x324];
|
|
};
|
|
|
|
class CSimbySlimeBase : public CQuadBit
|
|
{
|
|
public:
|
|
EXPORT void ScaleUp(void);
|
|
EXPORT void ScaleDown(void);
|
|
EXPORT void ScaleDownAndDie(void);
|
|
|
|
unsigned char topPad[0x9C-0x84];
|
|
int field_9C;
|
|
unsigned char padAfter9C[0xA4-0x9C-4];
|
|
|
|
int field_A4;
|
|
unsigned char bottomPad[0x114-0xA4-4];
|
|
};
|
|
|
|
class CEmber : public CFlatBit
|
|
{
|
|
public:
|
|
EXPORT CEmber(const CVector*, int);
|
|
|
|
CVector field_68;
|
|
i32 field_74;
|
|
CVector field_78;
|
|
i32 field_84;
|
|
i32 field_88;
|
|
i32 field_8C;
|
|
};
|
|
|
|
class CSimbyShot : public CQuadBit
|
|
{
|
|
public:
|
|
EXPORT CSimbyShot(CVector*);
|
|
|
|
u8 padFull[0x34];
|
|
};
|
|
|
|
class CSkidMark : public CQuadBit
|
|
{
|
|
public:
|
|
EXPORT CSkidMark(void);
|
|
EXPORT virtual void Move(void);
|
|
};
|
|
|
|
class CFireySpark : public CPixel
|
|
{
|
|
public:
|
|
EXPORT CFireySpark(CVector*, CVector*, i32);
|
|
EXPORT virtual ~CFireySpark(void);
|
|
|
|
EXPORT virtual void Move(void);
|
|
|
|
i32 field_3C;
|
|
|
|
u8 field_40;
|
|
u8 field_41;
|
|
u8 field_42;
|
|
u8 field_43;
|
|
|
|
i32 field_44;
|
|
i32 field_48;
|
|
i32 field_4C;
|
|
};
|
|
|
|
|
|
class CSimbyDroplet : public CFlatBit
|
|
{
|
|
public:
|
|
EXPORT CSimbyDroplet(i16*, i32);
|
|
EXPORT virtual ~CSimbyDroplet(void);
|
|
|
|
EXPORT virtual void Move(void);
|
|
|
|
#ifndef _WIN32
|
|
// @FIXME
|
|
u8 padTop[2];
|
|
#endif
|
|
u16 field_68;
|
|
u16 field_6A;
|
|
i32 field_6C;
|
|
};
|
|
|
|
class CSymBurn : public CSuper
|
|
{
|
|
public:
|
|
EXPORT CSymBurn(CVector*);
|
|
EXPORT virtual ~CSymBurn(void);
|
|
|
|
EXPORT virtual void AI(void);
|
|
|
|
u8 padTop[0x10];
|
|
i32 field_1A4;
|
|
|
|
};
|
|
|
|
void validate_CPunchOb(void);
|
|
void validate_CSimby(void);
|
|
void validate_CSimbyBase(void);
|
|
void validate_CSimbySlimeBase(void);
|
|
void validate_CEmber(void);
|
|
void validate_CSimbyShot(void);
|
|
void validate_CSkidMark(void);
|
|
void validate_CFireySpark(void);
|
|
void validate_CSimbyDroplet(void);
|
|
void validate_CSymBurn(void);
|
|
|
|
EXPORT void MakeVertexWibbler(void);
|
|
EXPORT void Simby_CreateSimby(const u32 *stack, u32 *result);
|
|
EXPORT void Simby_CreateEmber(const u32*, u32*);
|
|
EXPORT void Simby_CreateSimbyDroplet(const u32 *, u32 *);
|
|
EXPORT void Simby_CreateSimbyPunchOb(const u32 *, u32 *);
|
|
|
|
EXPORT void Simby_SplattyExplosion(CVector*, CVector*, i32);
|
|
|
|
#endif
|