spidey-decomp/bit.h

93 lines
1.8 KiB
C
Raw Normal View History

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "vector.h"
class CBit
{
public:
CBit* mPrevious;
CBit* mNext;
int unk;
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;
EXPORT CBit();
virtual ~CBit();
2023-06-28 16:07:08 +00:00
EXPORT void* operator new(unsigned int size);
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);
};
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-02-25 22:24:57 +00:00
class CFT4Bit : public CBit {
2024-02-25 16:15:05 +00:00
2024-02-25 22:24:57 +00:00
public:
EXPORT virtual ~CFT4Bit();
2024-02-25 22:58:31 +00:00
EXPORT void SetAnimSpeed(short);
EXPORT void SetScale(unsigned short);
EXPORT void SetSemiTransparent();
EXPORT void SetTransparency(unsigned char t);
2024-02-25 22:24:57 +00:00
unsigned short mTransDecay;
unsigned short mScaleDelay;
unsigned int mCodeBGR;
unsigned char pad[0x10];
2024-02-25 22:58:31 +00:00
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;
};
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);
void validate_CBit(void);