d_a_tag_chkpoint WIP, d_a_tag_myna2 OK (#1883)

* d_a_tag_chgrestart

* d_a_tag_bottle_item

* deps fix

* more d_a_tag_chkpoint, d_a_tag_myna2 OK

* Fix Build Scripts (#1879)

* d_a_npc_fish (#1880)

* d_drawlist (#1881)

* comment

* progress

* progress

---------

Co-authored-by: jdflyer <jdflyer10@gmail.com>
Co-authored-by: Noah McQueen <67965519+Yotona@users.noreply.github.com>
Co-authored-by: Jcw87 <Jcw87@users.noreply.github.com>
This commit is contained in:
Pheenoh
2023-08-13 23:45:56 -06:00
committed by GitHub
parent a997bb00bc
commit da21df7ee7
12 changed files with 268 additions and 536 deletions
@@ -1,6 +1,54 @@
#ifndef D_A_TAG_CHKPOINT_H
#define D_A_TAG_CHKPOINT_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
#include "JSystem/JKernel/JKRHeap.h"
class daTag_Chk_c : public fopAc_ac_c {
public:
/* 8048A6F8 */ s32 execute();
u16 getAreaType() { return orig.angle.z & 0x100; }
u16 getHeight() { return fopAcM_GetParam(this) & 0xff; }
u8 getSwBit() { return fopAcM_GetParam(this) >> 8; }
u8 getSwBit2() { return fopAcM_GetParam(this) >> 16; }
s32 create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daTag_Chk_c();
fopAcM_OnCondition(this, 8);
}
if (getAreaType() == 0) {
mScale.x *= 50.0f;
mScale.y *= 100.0f;
mScale.z *= 50.0f;
mPos1.set(current.pos.x - mScale.x, current.pos.y, current.pos.z - mScale.z);
mPos2.set(current.pos.x + mScale.x, current.pos.y + mScale.y, current.pos.z + mScale.z);
} else {
mScale.x *= 100.0f;
mScale.y *= 100.0f;
mScale.z *= 0.0f;
mPos1.set(0.0f, current.pos.y, 0.0f);
mPos2.set(0.0f, current.pos.y + mScale.y, 0.0f);
}
mAttentionInfo.mPosition = current.pos;
u16 l_height = getHeight();
l_height != 0xff ? mAttentionInfo.mPosition.y += l_height * 10.0f : mAttentionInfo.mPosition.y += mScale.y * 0.5f;
mEyePos = mAttentionInfo.mPosition;
return cPhs_COMPLEATE_e;
}
private:
/* 0x568 */ u8 field_0x568[8];
/* 0x570 */ cXyz mPos1;
/* 0x57C */ cXyz mPos2;
};
STATIC_ASSERT(sizeof(daTag_Chk_c) == 0x588);
#endif /* D_A_TAG_CHKPOINT_H */
@@ -1,6 +1,23 @@
#ifndef D_A_TAG_MYNA2_H
#define D_A_TAG_MYNA2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
class daTagMyna2_c : public fopAc_ac_c {
public:
/* 80D5C698 */ s32 create();
/* 80D5C708 */ s32 execute();
u8 getSwBit() { return fopAcM_GetParam(this) >> 8; }
u8 getMode() { return fopAcM_GetParam(this); }
f32 getExtent() { return mScale.x * 100.0f;}
private:
/* 0x568 */ u32 mSwitchNo;
/* 0x56C */ u32 mMode;
/* 0x570 */ s16 mTimer;
};
STATIC_ASSERT(sizeof(daTagMyna2_c) == 0x574);
#endif /* D_A_TAG_MYNA2_H */