CTextBox::CTextBox

This commit is contained in:
krystalgamer 2024-08-16 20:55:03 +01:00
parent 316ba16d86
commit be511d3d34
9 changed files with 49 additions and 18 deletions

34
bit.cpp
View File

@ -11,7 +11,7 @@
EXPORT CChunkBit* ChunkBitList;
EXPORT CGlow* GlowList;
EXPORT CTextBox* TextBoxList;
CTextBox* TextBoxList = 0;
volatile static i32 BitCount = 0;
EXPORT i32 TotalBitUsage = 0;
@ -25,6 +25,8 @@ EXPORT CPixel* PixelList;
u32 SparkSize = 1;
i32 gTimerRelated;
// @Ok
void Bit_SetSparkSize(u32 size)
{
@ -110,12 +112,34 @@ CCombatImpactRing::~CCombatImpactRing(void)
{
}
// @SMALLTODO
CTextBox::CTextBox(i32, i32, i32, i32, u32, CVECTOR*)
// @Ok
CTextBox::CTextBox(
i32 a2,
i32 a3,
i32 a4,
i32 a5,
u32 a6,
CFriction* pFric)
{
printf("CTextBox::CTextBox(i32, i32, i32, i32, u32, CVECTOR*)");
this->AttachTo(reinterpret_cast<CBit**>(&TextBoxList));
this->mPos.vx = a2;
this->mPos.vy = a3;
this->mVel.vx = a4;
this->mVel.vy = a5;
this->mFric.vx = pFric->vx;
this->mFric.vy = pFric->vy;
this->mFric.vz = pFric->vz;
this->field_E = a6;
this->field_3C = gTimerRelated;
}
// @Ok
CTextBox::~CTextBox(void)
{
this->DeleteFrom(reinterpret_cast<CBit**>(&TextBoxList));
@ -1034,6 +1058,8 @@ void validate_CChunkBit(void)
void validate_CTextBox(void)
{
VALIDATE_SIZE(CTextBox, 0x44);
VALIDATE(CTextBox, field_3C, 0x3C);
}
void validate_CFireyExplosion(void)

9
bit.h
View File

@ -12,6 +12,7 @@
#define FLATBIT_VELOCITIES_MAX_INDEX (FLATBIT_VELOCITIES_SIZE-1)
EXPORT extern u32 SparkSize;
EXPORT extern i32 gTimerRelated;
struct SRibbonPoint {
// offset: 0000 (12 bytes)
@ -307,10 +308,11 @@ class CChunkBit : public CBit
class CTextBox : public CBit
{
public:
EXPORT CTextBox(i32, i32, i32, i32, u32, CVECTOR*);
EXPORT CTextBox(i32, i32, i32, i32, u32, CFriction*);
EXPORT virtual ~CTextBox(void);
u8 padBottom[8];
i32 field_3C;
u8 padBottom[4];
};
class CFireyExplosion : public CNonRenderedBit
@ -366,6 +368,8 @@ EXPORT void Bit_SetSparkTrajectoryCone(const CSVector *);
EXPORT void Bit_ReduceRGB(unsigned int*, int);
EXPORT void Bit_SetSparkSize(u32);
EXPORT extern CTextBox* TextBoxList;
void validate_CFlatBit(void);
void validate_CFT4Bit(void);
void validate_CQuadBit(void);
@ -393,4 +397,5 @@ void validate_CTextBox(void);
void validate_CFireyExplosion(void);
void validate_CWibbly(void);
#endif

View File

@ -183,7 +183,7 @@ CCamera::CCamera(CBody* tripod)
this->field_2E8.vz = 0;
this->field_7C = *gTimerRelated;
this->field_7C = gTimerRelated;
print_if_false(tripod != 0, "Bad tripod");
this->field_38 = 99;
this->mFlags = 1;

View File

@ -12,7 +12,7 @@ static int * const dword_5FCCF4 = (int*)0x5FCCF4;
//static unsigned char * const submarinerDieRelated = (unsigned char*)0x0060CFC4;
static unsigned __int16 * const word_6B2478 = (unsigned __int16*)0x6B2478;
static int * const gTimerRelated = (int*)0x006B4CA8;
//static int * const gTimerRelated = (int*)0x006B4CA8;
static void print_if_false(unsigned char cry, char * message, ...) {
if (cry) {

View File

@ -17,7 +17,7 @@ CL1A3Bomb::~CL1A3Bomb(void)
{
gBombDieRelatedOne = 0;
gBombDieRelatedTwo = 0;
gBombDieTimerRelated = *gTimerRelated;
gBombDieTimerRelated = gTimerRelated;
}
// @BIGTODO
@ -49,7 +49,7 @@ void CL1A3Bomb::AI(void)
gBombDieRelatedOne = 1;
gBombDieRelatedTwo = 1;
gBombAIRelated = DifficultyLevel != 3 ? 7260 : 4260;
gBombDieTimerRelated = *gTimerRelated;
gBombDieTimerRelated = gTimerRelated;
}
}
@ -75,7 +75,7 @@ void CL1A3Bomb::Die(void)
Trig_SendPulse(Trig_GetLinksPointer(this->field_DE));
gBombDieRelatedOne = 0;
gBombDieRelatedTwo = 0;
gBombDieTimerRelated = *gTimerRelated;
gBombDieTimerRelated = gTimerRelated;
}
// @Ok

View File

@ -32,7 +32,7 @@ void CLizMan::Guard(void)
this->field_1F8 = 0;
this->Neutralize();
if (*gTimerRelated - this->field_374 < 0x12C)
if (gTimerRelated - this->field_374 < 0x12C)
{
new CAIProc_LookAt(
this,

8
ob.cpp
View File

@ -610,17 +610,17 @@ void CBody::EveryFrame(void)
{
this->field_80 = 2;
this->mCBodyFlags &= 0xFFFB;
this->field_7C = *gTimerRelated;
this->field_7C = gTimerRelated;
this->field_84 = 0;
}
else
{
v3 = this->field_7C;
v9 = *gTimerRelated - v3 >= 0;
this->field_80 = *gTimerRelated - v3;
v9 = gTimerRelated - v3 >= 0;
this->field_80 = gTimerRelated - v3;
print_if_false(v9, "Timing error");
v4 = this->field_80;
this->field_7C = *gTimerRelated;
this->field_7C = gTimerRelated;
if ( v4 > 6 )
this->field_80 = 6;
}

View File

@ -805,7 +805,7 @@ u8 CPlayer::IncreaseWebbing(i32 amount)
{
this->field_5D8++;
this->mWebbing -= 4096;
this->field_5DC = *gTimerRelated;
this->field_5DC = gTimerRelated;
this->field_5D0++;
return 1;
}

View File

@ -371,7 +371,7 @@ CSuperDocOck::CSuperDocOck(int *a2, int a3)
*reinterpret_cast<int*>(0x54E8D4) = 4096;
*reinterpret_cast<int*>(0x60F774) = 0xFFFFFF;
*reinterpret_cast<unsigned char*>(0x60F772) = 1;
*reinterpret_cast<int*>(0x60F778) = *gTimerRelated;
*reinterpret_cast<int*>(0x60F778) = gTimerRelated;
this->field_194 = 0xFFFE0000;
this->field_198 = 0x1FFF;