CDocOc::Initialise

This commit is contained in:
krystalgamer 2024-07-01 22:34:51 +01:00
parent 02995e04ff
commit 090a0f7680
2 changed files with 51 additions and 2 deletions

View File

@ -5,6 +5,7 @@
#include "ps2m3d.h"
#include "web.h"
#include "mem.h"
#include "utils.h"
// @NotOk
// globals
@ -229,6 +230,33 @@ void CDocOc::HangAndGetBeaten(void)
}
}
// @TODO
void CDocOc::ResolveSwitches(void)
{}
void CDocOc::Initialise(void)
{
this->field_518 = 455;
this->ResolveSwitches();
this->field_4EC = 1;
this->field_4F4 = Rnd(4);
print_if_false(this->field_4FC[64] == 1, "Error0");
print_if_false(this->field_500[64] == 1, "Error1");
print_if_false(this->field_504[64] == 1, "Error2");
print_if_false(this->field_508[64] == 1, "Error3");
this->field_31C.bothFlags = 0x10000;
this->dumbAssPad = 0;
this->bodyVector.vy = Utils_GetGroundHeight(&this->mPos, 0, 0x2000, 0);
if (this->bodyVector.vy != -1)
{
this->mPos.vy = this->bodyVector.vy - (this->field_21E << 12);
}
this->CalculateStage();
}
void validate_CDocOc(void){
VALIDATE_SIZE(CDocOc, 0x590);
@ -245,7 +273,17 @@ void validate_CDocOc(void){
VALIDATE(CDocOc, field_4C4, 0x4C4);
VALIDATE(CDocOc, field_4EC, 0x4EC);
VALIDATE(CDocOc, field_4F4, 0x4F4);
VALIDATE(CDocOc, field_4FC, 0x4FC);
VALIDATE(CDocOc, field_500, 0x500);
VALIDATE(CDocOc, field_504, 0x504);
VALIDATE(CDocOc, field_508, 0x508);
VALIDATE(CDocOc, field_50C, 0x50C);
VALIDATE(CDocOc, field_518, 0x518);
VALIDATE(CDocOc, field_550, 0x550);

View File

@ -19,6 +19,8 @@ public:
EXPORT void TakeHit(void);
EXPORT void CalculateStage(void);
EXPORT void HangAndGetBeaten(void);
EXPORT void Initialise(void);
EXPORT void ResolveSwitches(void);
int field_324;
int field_328;
@ -38,10 +40,19 @@ public:
unsigned char padAfter4C4[0x4EC-0x4C4-4];
int field_4EC;
unsigned char padAfter4EC[0x1C];
u8 padAfter4EC[0x4F4-0x4EC-4];
i32 field_4F4;
u8 padAfter4F4[0x4FC-0x4F4-4];
i32* field_4FC;
i32* field_500;
i32* field_504;
i32* field_508;
CVector field_50C;
unsigned char padAfter50C[0x550-0x50C-sizeof(CVector)];
i32 field_518;
unsigned char padAfter518[0x550-0x518-4];
i32 field_550;
int field_554;