d_a_obj_kbox matching (#2615)

* Align dKy_darkworld_check with debug return type

* d_a_obj_kbox matching

* Revert "Align dKy_darkworld_check with debug return type"

This reverts commit f0b9e5f8fb251bb1b3a6acd13c0550bec2c9a310.
This commit is contained in:
hatal175
2025-08-29 14:33:35 +03:00
committed by GitHub
parent f7febdde44
commit 874ec18845
4 changed files with 576 additions and 874 deletions
+1 -1
View File
@@ -2003,7 +2003,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kantera"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_katatsumuri"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kazeneko"),
ActorRel(NonMatching, "d_a_obj_kbox"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kbox"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_key"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_keyhole"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ki"),
+46 -7
View File
@@ -1,6 +1,9 @@
#ifndef D_A_OBJ_KBOX_H
#define D_A_OBJ_KBOX_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,22 +14,58 @@
* @details
*
*/
class obj_kbox_class : public fopAc_ac_c {
class obj_kbox_class {
public:
/* 0x568 */ u8 field_0x568[0x598 - 0x568];
/* 0x000 */ fopAc_ac_c mActor;
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 field_0x570;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ s16 field_0x578;
/* 0x57A */ s16 field_0x57a;
/* 0x57C */ s16 field_0x57c;
/* 0x57E */ s16 field_0x57e[2];
/* 0x584 */ u32 mShadowId;
/* 0x588 */ f32 field_0x588;
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ f32 field_0x590;
/* 0x594 */ f32 field_0x594;
/* 0x598 */ f32 field_0x598;
/* 0x59C */ u8 field_0x59c[0x5a8 - 0x59c];
/* 0x5A8 */ cXyz field_0x5a8;
/* 0x59C */ f32 field_0x59c;
/* 0x5A0 */ s16 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ f32 field_0x5ac;
/* 0x5B0 */ s16 field_0x5b0;
/* 0x5B2 */ s16 field_0x5b2;
/* 0x5B4 */ cXyz field_0x5b4;
/* 0x5C0 */ u8 field_0x5c0[0x9f0 - 0x5c0];
/* 0x5C0 */ dBgS_AcchCir mAcchCir;
/* 0x600 */ dBgS_ObjAcch mAcch;
/* 0x7D8 */ dCcD_Stts mStts;
/* 0x814 */ dCcD_Sph mSph;
/* 0x94C */ dCcU_AtInfo mAtInfo;
/* 0x970 */ int field_0x970;
/* 0x974 */ Mtx mBgMtx;
/* 0x9A4 */ dBgW* mBgw;
/* 0x9A8 */ Z2SoundObjSimple mSound;
/* 0x9C8 */ u8 field_0x9a8[0x9d0 - 0x9c8];
/* 0x9D0 */ u32 field_0x9d0[4];
/* 0x9E0 */ u32 field_0x9e0;
/* 0x9E4 */ u32 field_0x9e4;
/* 0x9E8 */ u32 field_0x9e8;
/* 0x9EC */ bool mIsHIOOwner;
};
STATIC_ASSERT(sizeof(obj_kbox_class) == 0x9f0);
class daObj_Kbox_HIO_c {
class daObj_Kbox_HIO_c : public JORReflexible {
public:
/* 80C3D60C */ daObj_Kbox_HIO_c();
/* 80C3EF98 */ ~daObj_Kbox_HIO_c();
/* 80C3EF98 */ virtual ~daObj_Kbox_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 mId;
/* 0x08 */ f32 mWidth;
};
+2 -2
View File
@@ -343,7 +343,7 @@ static void e_sg_move(e_sg_class* i_this) {
BOOL bg_check = fopAcM_otherBgCheck(actor, player);
if ((i_this->mRandomSeed & 0x7) == (fopAcM_GetID(actor) & 0x7)) {
target = search_box(i_this);
target = (fopAc_ac_c*)search_box(i_this);
if (target != NULL) {
i_this->mTargetActorID = fopAcM_GetID(target);
@@ -536,7 +536,7 @@ static void e_sg_b_search(e_sg_class* i_this) {
i_this->mTimers[1] = cM_rndF(30.0f) + 10.0f;
kbox_ac->field_0x598 = (s16)(cM_rndF(700.0f) + 300.0f);
}
cLib_addCalc2(&kbox_ac->field_0x5a8.y, -100.0f, 1.0f, 0.05f);
cLib_addCalc2(&kbox_ac->field_0x5ac, -100.0f, 1.0f, 0.05f);
if ((i_this->mRandomSeed & 0xf) == 0) {
i_this->mSound.startCreatureSound(Z2SE_EN_SG_BITE, 0, -1);
}
File diff suppressed because it is too large Load Diff