2023-06-27 19:35:33 +00:00
|
|
|
#if _MSC_VER > 1000
|
|
|
|
#pragma once
|
|
|
|
#endif // _MSC_VER > 1000
|
|
|
|
|
|
|
|
#include "vector.h"
|
|
|
|
|
|
|
|
class CBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CBit* mPrevious;
|
|
|
|
CBit* mNext;
|
|
|
|
|
2024-03-11 16:20:46 +00:00
|
|
|
__int16 field_C;
|
|
|
|
__int16 field_E;
|
2023-06-27 19:35:33 +00:00
|
|
|
|
|
|
|
CVector mPos;
|
|
|
|
CVector mVel;
|
|
|
|
CVector mAcc;
|
|
|
|
CFriction mFric;
|
2023-07-04 16:44:55 +00:00
|
|
|
unsigned char mDead;
|
2024-03-03 19:00:31 +00:00
|
|
|
unsigned __int16 mFrigDeltaZ;
|
2023-07-04 16:44:55 +00:00
|
|
|
unsigned char mProtected;
|
|
|
|
|
2023-06-27 19:35:33 +00:00
|
|
|
EXPORT CBit();
|
2024-05-21 18:09:54 +00:00
|
|
|
EXPORT virtual ~CBit();
|
2024-05-21 18:22:11 +00:00
|
|
|
EXPORT virtual void Move(void);
|
2023-06-28 16:07:08 +00:00
|
|
|
EXPORT void* operator new(unsigned int size);
|
2024-05-21 18:09:54 +00:00
|
|
|
EXPORT void operator delete(void*);
|
2023-07-04 16:44:55 +00:00
|
|
|
EXPORT void Die();
|
2023-07-05 15:22:05 +00:00
|
|
|
EXPORT CBit* AttachTo(CBit** to);
|
2024-02-25 16:15:05 +00:00
|
|
|
EXPORT void SetPos(const CVector &pos);
|
|
|
|
EXPORT void DeleteFrom(CBit **lst);
|
2023-06-27 19:35:33 +00:00
|
|
|
};
|
2024-02-25 16:15:05 +00:00
|
|
|
|
|
|
|
class CQuadBit : public CBit {
|
|
|
|
|
|
|
|
public:
|
2024-02-25 22:01:11 +00:00
|
|
|
CVector mPosB;
|
|
|
|
CVector mPosC;
|
|
|
|
CVector mPosD;
|
2024-02-25 16:15:05 +00:00
|
|
|
void* mpTexture;
|
|
|
|
unsigned int mCodeBGR;
|
|
|
|
unsigned pad;
|
|
|
|
unsigned int mTint;
|
2024-03-03 19:00:31 +00:00
|
|
|
unsigned char quadPad[0x14];
|
2024-02-25 16:15:05 +00:00
|
|
|
|
|
|
|
EXPORT void SetTint(unsigned char a2, unsigned char a3, unsigned char a4);
|
2024-02-25 22:01:11 +00:00
|
|
|
EXPORT void SetSemiTransparent();
|
|
|
|
EXPORT void SetOpaque();
|
|
|
|
EXPORT void SetSubtractiveTransparency();
|
|
|
|
EXPORT void SetCorners(const CVector &a2, const CVector &a3, const CVector &a4, const CVector &a5);
|
2024-03-03 18:26:01 +00:00
|
|
|
EXPORT void SetTransparency(unsigned char a2);
|
2024-03-03 19:00:31 +00:00
|
|
|
EXPORT void OrientUsing(CVector *a2, SVector *a3, int a4, int a5);
|
|
|
|
EXPORT void SetTexture(int, int);
|
2024-02-25 16:15:05 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
2024-05-27 17:31:10 +00:00
|
|
|
class CFT4Bit : public CBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT CFT4Bit(void);
|
|
|
|
EXPORT virtual ~CFT4Bit();
|
|
|
|
EXPORT void SetAnimSpeed(short);
|
|
|
|
EXPORT void SetScale(unsigned short);
|
|
|
|
EXPORT void SetSemiTransparent();
|
|
|
|
EXPORT void SetTransparency(unsigned char t);
|
|
|
|
EXPORT void SetAnim(int);
|
|
|
|
|
|
|
|
unsigned short mTransDecay;
|
|
|
|
unsigned short mScaleDelay;
|
|
|
|
unsigned int mCodeBGR;
|
|
|
|
|
|
|
|
unsigned char mDeleteAnimOnDestruction;
|
|
|
|
unsigned char padAfterDeleteAnim[0x3];
|
|
|
|
|
|
|
|
int animRelated1;
|
|
|
|
int animRelated5;
|
|
|
|
unsigned char padAfteranimRelated5[0x1];
|
|
|
|
|
|
|
|
unsigned char animRelated3;
|
|
|
|
unsigned char animRelated4;
|
|
|
|
unsigned char animRelated2;
|
|
|
|
|
|
|
|
short mAnimSpeed;
|
|
|
|
short mScale;
|
2024-02-25 22:24:57 +00:00
|
|
|
};
|
|
|
|
|
2024-02-25 22:38:37 +00:00
|
|
|
class CFlatBit : public CFT4Bit {
|
2024-02-25 22:24:57 +00:00
|
|
|
|
2024-02-25 22:38:37 +00:00
|
|
|
public:
|
|
|
|
|
2024-03-11 16:09:59 +00:00
|
|
|
__int16 field_58;
|
|
|
|
__int16 field_5A;
|
|
|
|
unsigned char padAfter5A[0x2];
|
2024-02-25 22:38:37 +00:00
|
|
|
unsigned short mSemiTransparencyRate;
|
|
|
|
unsigned int mPostScale;
|
|
|
|
unsigned char pad1;
|
|
|
|
unsigned char mAngFric;
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
2024-04-28 15:55:36 +00:00
|
|
|
class CNonRenderedBit : public CBit {
|
|
|
|
public:
|
|
|
|
};
|
|
|
|
|
2024-05-12 16:43:59 +00:00
|
|
|
class CSmokeTrail : public CNonRenderedBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
unsigned char pad[28];
|
|
|
|
|
|
|
|
EXPORT CSmokeTrail(CVector*, int, int, int ,int)
|
|
|
|
{}
|
|
|
|
};
|
|
|
|
|
2024-05-22 16:55:46 +00:00
|
|
|
class CSpecialDisplay : public CBit
|
|
|
|
{
|
|
|
|
public:
|
2024-05-26 14:42:52 +00:00
|
|
|
EXPORT CSpecialDisplay(void);
|
2024-05-22 16:55:46 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
class CSimpleTexturedRibbon : public CSpecialDisplay
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
};
|
|
|
|
|
2024-05-27 16:58:37 +00:00
|
|
|
class CGlow : public CBit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT void SetCentreRGB(unsigned char, unsigned char, unsigned char);
|
|
|
|
unsigned char padTop[0x10];
|
|
|
|
|
|
|
|
int field_4C;
|
|
|
|
unsigned char padBottom[0x5C-0x4C-4];
|
|
|
|
};
|
|
|
|
|
2024-05-27 17:31:10 +00:00
|
|
|
class CLinked2EndedBit : public CFT4Bit
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
EXPORT CLinked2EndedBit(void);
|
|
|
|
CVector field_58;
|
|
|
|
CVector field_64;
|
|
|
|
};
|
|
|
|
|
2024-05-14 16:00:36 +00:00
|
|
|
EXPORT int Bit_MakeSpriteRing(CVector*, int, int, int, int, int, int, int);
|
2024-05-21 18:22:11 +00:00
|
|
|
EXPORT void MoveList(CBit *);
|
2024-05-24 15:11:00 +00:00
|
|
|
EXPORT void Bit_SetSparkRGB(unsigned char, unsigned char, unsigned char);
|
|
|
|
EXPORT void Bit_SetSparkFadeRGB(unsigned char, unsigned char, unsigned char);
|
2024-05-27 17:04:40 +00:00
|
|
|
EXPORT void Bit_SetSparkTrajectory(const CSVector *);
|
|
|
|
EXPORT void Bit_SetSparkTrajectoryCone(const CSVector *);
|
2024-02-25 22:38:37 +00:00
|
|
|
|
|
|
|
void validate_CFlatBit(void);
|
2024-02-25 22:24:57 +00:00
|
|
|
void validate_CFT4Bit(void);
|
2024-02-25 16:15:05 +00:00
|
|
|
void validate_CQuadBit(void);
|
2024-03-11 17:44:47 +00:00
|
|
|
void validate_CBit(void);
|
2024-04-28 15:55:36 +00:00
|
|
|
void validate_CNonRenderedBit(void);
|
2024-05-12 16:43:59 +00:00
|
|
|
void validate_CSmokeTrail(void);
|
2024-05-27 16:58:37 +00:00
|
|
|
void validate_CGlow(void);
|
2024-05-27 17:31:10 +00:00
|
|
|
void validate_CLinked2EndedBit(void);
|