Skip to content

Commit

Permalink
CDocOck:::ResolveSwitches
Browse files Browse the repository at this point in the history
  • Loading branch information
krystalgamer committed Jul 1, 2024
1 parent 090a0f7 commit 20297f4
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 16 deletions.
2 changes: 2 additions & 0 deletions baddy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
#include "trig.h"
#include "ai.h"

CBaddy* ControlBaddyList;

// @TODO
i32 CBaddy::GetNextWaypoint(void)
{
Expand Down
31 changes: 20 additions & 11 deletions docock.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -230,9 +230,22 @@ void CDocOc::HangAndGetBeaten(void)
}
}

// @TODO
void CDocOc::ResolveSwitches(void)
{}
extern CBaddy* ControlBaddyList;
INLINE void CDocOc::ResolveSwitches(void)
{
i32 index = 0;
for (CBaddy* pBaddy = ControlBaddyList;
pBaddy;
pBaddy = reinterpret_cast<CBaddy*>(pBaddy->field_20))
{
if (pBaddy->field_38 == 407)
{
this->field_4FC[index++] = pBaddy;
}
}

print_if_false(index == 4, "Error");
}

void CDocOc::Initialise(void)
{
Expand All @@ -241,10 +254,10 @@ void CDocOc::Initialise(void)
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");
print_if_false(this->field_4FC[0]->field_100 == 1, "Error0");
print_if_false(this->field_4FC[1]->field_100 == 1, "Error1");
print_if_false(this->field_4FC[2]->field_100 == 1, "Error2");
print_if_false(this->field_4FC[3]->field_100 == 1, "Error3");

this->field_31C.bothFlags = 0x10000;
this->dumbAssPad = 0;
Expand Down Expand Up @@ -277,10 +290,6 @@ void validate_CDocOc(void){
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);
Expand Down
5 changes: 1 addition & 4 deletions docock.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,7 @@ class CDocOc : public CBaddy {
i32 field_4F4;
u8 padAfter4F4[0x4FC-0x4F4-4];

i32* field_4FC;
i32* field_500;
i32* field_504;
i32* field_508;
CBaddy* field_4FC[4];

CVector field_50C;
i32 field_518;
Expand Down
2 changes: 1 addition & 1 deletion ob.h
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ class CSuper : public CBody {
unsigned char padAfterF8[2];

int field_FC;
int field_100;
i32 field_100;
SHandle field_104;

SHandle field_10C;
Expand Down

0 comments on commit 20297f4

Please sign in to comment.