f_op_actor OK

This commit is contained in:
LagoLunatic
2023-10-08 19:47:10 -04:00
parent 58de079efd
commit 4bd49693ae
4 changed files with 40 additions and 4 deletions
+1 -1
View File
@@ -276,7 +276,7 @@ config.libs = [
Object(NonMatching, "f_ap/f_ap_game.cpp"),
# f_op
Object(NonMatching, "f_op/f_op_actor.cpp"),
Object(Matching, "f_op/f_op_actor.cpp", extra_cflags=["-sym off"]),
Object(Matching, "f_op/f_op_actor_iter.cpp"),
Object(Matching, "f_op/f_op_actor_tag.cpp"),
Object(NonMatching, "f_op/f_op_actor_mng.cpp"),
+7 -1
View File
@@ -8,7 +8,13 @@
class J3DLightInfo {
public:
void operator=(J3DLightInfo const&);
void operator=(J3DLightInfo const& other) {
mLightPosition = other.mLightPosition;
mLightDirection = other.mLightDirection;
mColor = other.mColor;
mCosAtten = other.mCosAtten;
mDistAtten = other.mDistAtten;
}
/* 0x00 */ Vec mLightPosition;
/* 0x0C */ Vec mLightDirection;
+2
View File
@@ -170,6 +170,7 @@ public:
#ifndef __INTELLISENSE__
fopAc_cullSizeSphere() {}
fopAc_cullSizeSphere(cXyz, float);
~fopAc_cullSizeSphere() {}
#endif
/* 0x0 */ Vec mCenter;
@@ -182,6 +183,7 @@ public:
fopAc_cullSizeBox() {}
fopAc_cullSizeBox(const fopAc_cullSizeBox&);
fopAc_cullSizeBox(cXyz, cXyz);
~fopAc_cullSizeBox() {}
#endif
/* 0x0 */ Vec mMin;
+30 -2
View File
@@ -18,6 +18,9 @@
fopAc_ac_c::fopAc_ac_c() {
}
fopAc_ac_c::~fopAc_ac_c() {
}
int g_fopAc_type;
u32 fopAc_ac_c::stopStatus;
@@ -34,7 +37,18 @@ s32 fopAc_Draw(void* pProc) {
if (!dMenu_flag()) {
s32 moveApproval = dComIfGp_event_moveApproval(actor);
if ((moveApproval == 2 || !fopAcM_checkStatus(actor, fopAc_ac_c::stopStatus)) && (!(fopAcM_checkStatus(actor, fopAcStts_CULL_e) && !fopAcM_cullingCheck(actor)) || !fopAcM_checkStatus(actor, fopAcStts_NODRAW_e))) {
if (
(
moveApproval == 2
|| (
!fopAcM_checkStatus(actor, fopAc_ac_c::stopStatus)
&& !(
fopAcM_checkStatus(actor, fopAcStts_CULL_e)
&& fopAcM_cullingCheck(actor)
)
)
) && !fopAcM_checkStatus(actor, fopAcStts_NODRAW_e)
) {
fopAcM_OffCondition(actor, fopAcCnd_NODRAW_e);
ret = fpcLf_DrawMethod((leafdraw_method_class*)actor->mSubMtd, actor);
} else {
@@ -68,7 +82,21 @@ s32 fopAc_Execute(void* pProc) {
s32 moveApproval = dComIfGp_event_moveApproval(actor);
if ((moveApproval == 2 || moveApproval != 0 || !fopAcM_checkStatus(actor, fopAc_ac_c::stopStatus)) && (!fopAcM_checkStatus(actor, fopAcStts_NOCULLEXEC_e) || !fopAcM_CheckCondition(actor, fopAcCnd_NODRAW_e))) {
if (
(
moveApproval == 2
|| (
(
moveApproval != 0
&& !fopAcM_checkStatus(actor, fopAc_ac_c::stopStatus)
)
&& (
!fopAcM_checkStatus(actor, fopAcStts_NOCULLEXEC_e)
|| !fopAcM_CheckCondition(actor, fopAcCnd_NODRAW_e)
)
)
)
) {
fopAcM_OffCondition(actor, fopAcCnd_NOEXEC_e);
actor->next = actor->current;
ret = fpcMtd_Execute((process_method_class*)actor->mSubMtd, actor);