mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_obj_itamato & d_a_obj_kaisou matching (#2756)
* initial work * itamato matching * obj_kaisou matching * pr cleanup * fixed error * error should actually be fixed now
This commit is contained in:
+2
-2
@@ -2042,12 +2042,12 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ikada"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_inobone"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ita"),
|
||||
ActorRel(NonMatching, "d_a_obj_itamato"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_itamato"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kabuto"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kag"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kage"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kago"),
|
||||
ActorRel(NonMatching, "d_a_obj_kaisou"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kaisou"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kamakiri"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_kantera"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_katatsumuri"),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef D_A_OBJ_ITAMATO_H
|
||||
#define D_A_OBJ_ITAMATO_H
|
||||
|
||||
#include "JSystem/JHostIO/JORFile.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/actor/d_a_arrow.h"
|
||||
#include "d/d_cc_d.h"
|
||||
@@ -12,46 +13,58 @@
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class daObj_ItaMato_HIO_c;
|
||||
|
||||
class daObj_ItaMato_c : public fopAc_ac_c {
|
||||
private:
|
||||
/* 0x568 */ daObj_ItaMato_HIO_c* mHIO;
|
||||
/* 0x56C */ request_of_phase_process_class mPhase;
|
||||
/* 0x574 */ J3DModel* mpModels[2];
|
||||
/* 0x57C */ dBgS_ObjAcch mBgc;
|
||||
/* 0x754 */ dCcD_Stts mStts;
|
||||
/* 0x790 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x7D0 */ cBgS_GndChk mGndChk;
|
||||
/* 0x80C */ dCcD_Sph mSph;
|
||||
/* 0x944 */ cM3dGLin mLin;
|
||||
/* 0x960 */ dBgS_LinChk mLinChk;
|
||||
/* 0x9D0 */ csXyz field_0x9d0[3];
|
||||
/* 0x9E4 */ int mCutType;
|
||||
/* 0x9E8 */ int field_0x9e8;
|
||||
/* 0x9EC */ f32 mGroundH;
|
||||
/* 0x9F0 */ f32 field_0x9f0[3];
|
||||
/* 0x9FC */ s16 field_0x9fc[3];
|
||||
/* 0xA02 */ s16 field_0xa02;
|
||||
/* 0xA04 */ u32 mShadowKey;
|
||||
/* 0xA08 */ u32 mPrtcls[3];
|
||||
/* 0xA14 */ u8 mType;
|
||||
/* 0xA15 */ u8 field_0xa15;
|
||||
/* 0xA15 */ u8 field_0xa16;
|
||||
/* 0xA17 */ u8 field_0xa17;
|
||||
/* 0xA18 */ u8 field_0xa18;
|
||||
/* 0xA19 */ u8 mFake;
|
||||
|
||||
public:
|
||||
/* 80C294EC */ ~daObj_ItaMato_c();
|
||||
/* 80C2971C */ void create();
|
||||
/* 80C29CD8 */ void CreateHeap();
|
||||
/* 80C29DAC */ void Delete();
|
||||
/* 80C29DE0 */ void Execute();
|
||||
/* 80C2A44C */ void Draw();
|
||||
/* 80C2A5D0 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80C2A5F0 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80C2A620 */ void getResName();
|
||||
daObj_ItaMato_c() {}
|
||||
/* 80C294EC */ virtual ~daObj_ItaMato_c();
|
||||
/* 80C2971C */ cPhs__Step create();
|
||||
/* 80C29CD8 */ int CreateHeap();
|
||||
/* 80C29DAC */ int Delete();
|
||||
/* 80C29DE0 */ int Execute();
|
||||
/* 80C2A44C */ int Draw();
|
||||
/* 80C2A5D0 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80C2A5F0 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80C2A620 */ const char* getResName();
|
||||
/* 80C2A630 */ void setSwayParam(fopAc_ac_c*);
|
||||
/* 80C2A7C4 */ void setPrtcls();
|
||||
/* 80C2A890 */ void setEnvTevColor();
|
||||
/* 80C2A8EC */ void setRoomNo();
|
||||
/* 80C2A930 */ void setMtx();
|
||||
|
||||
int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
|
||||
daArrow_c* arrow_p = (daArrow_c*)param_0;
|
||||
cM3dGSph sp38;
|
||||
cXyz sp2C;
|
||||
cXyz sp20;
|
||||
u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
|
||||
|
||||
JUT_ASSERT(170, NULL != arrow_p);
|
||||
|
||||
if (field_0xa16 != 0 || health == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sp38.Set(field_0x80c.GetShapeP()->GetC(), field_0x80c.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
|
||||
if ((param_1 - current.pos).abs() < param_3) {
|
||||
field_0x944.SetStartEnd(param_1, param_2);
|
||||
if (cM3d_Cross_LinSph(&field_0x944, &sp38)) {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
|
||||
|
||||
int getNo() {
|
||||
u8 var_r31 = fopAcM_GetParam(this) & 0xFF;
|
||||
@@ -66,6 +79,33 @@ public:
|
||||
return no;
|
||||
}
|
||||
|
||||
u8 getType() { return 0; }
|
||||
|
||||
void setCutType(u8 i_cutType) { mCutType = i_cutType; }
|
||||
|
||||
int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
|
||||
daArrow_c* arrow_p = (daArrow_c*)param_0;
|
||||
cM3dGSph sp38;
|
||||
cXyz sp2C;
|
||||
cXyz sp20;
|
||||
|
||||
JUT_ASSERT(170, NULL != arrow_p);
|
||||
|
||||
if (field_0xa16 != 0 || health == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
sp38.Set(mSph.GetShapeP()->GetC(), mSph.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
|
||||
if ((param_1 - current.pos).abs() < param_3) {
|
||||
mLin.SetStartEnd(param_1, param_2);
|
||||
if (cM3d_Cross_LinSph(&mLin, &sp38)) {
|
||||
return 3;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL checkBrk() {
|
||||
if (field_0xa15 != 0) {
|
||||
return 4;
|
||||
@@ -75,33 +115,8 @@ public:
|
||||
}
|
||||
|
||||
void onFake() { mFake = true; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x57C - 0x568];
|
||||
/* 0x57C */ dBgS_ObjAcch field_0x57c;
|
||||
/* 0x754 */ dCcD_Stts field_0x754;
|
||||
/* 0x790 */ dBgS_AcchCir field_0x790;
|
||||
/* 0x7D0 */ cBgS_GndChk field_0x7d0;
|
||||
/* 0x80C */ dCcD_Sph field_0x80c;
|
||||
/* 0x944 */ cM3dGLin field_0x944;
|
||||
/* 0x960 */ dBgS_LinChk field_0x960;
|
||||
/* 0x9D0 */ csXyz field_0x9d0[3];
|
||||
/* 0x9e2 */ u8 field_0x9e2[0xA15 - 0x9E2];
|
||||
/* 0xA15 */ u8 field_0xa15;
|
||||
/* 0xA15 */ u8 field_0xa16;
|
||||
/* 0xA17 */ u8 field_0xa17[0xA19 - 0xA17];
|
||||
/* 0xA19 */ u8 mFake;
|
||||
/* 0xA1A */ u8 field_0xa1a[0xA20 - 0xA1A];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObj_ItaMato_c) == 0xa20);
|
||||
|
||||
class daObj_ItaMato_Param_c {
|
||||
public:
|
||||
/* 80C2AB04 */ ~daObj_ItaMato_Param_c();
|
||||
|
||||
static u8 const m[20];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_ITAMATO_H */
|
||||
|
||||
@@ -1,7 +1,10 @@
|
||||
#ifndef D_A_OBJ_KAISOU_H
|
||||
#define D_A_OBJ_KAISOU_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.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.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
@@ -10,20 +13,47 @@
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class daObjKaisou_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80C34058 */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80C34058 */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80C34390 */ void initCcCylinder();
|
||||
/* 80C343F0 */ void setCcCylinder();
|
||||
/* 80C34438 */ void ObjHit();
|
||||
/* 80C34824 */ void Execute();
|
||||
/* 80C34A98 */ void Delete();
|
||||
/* 80C34824 */ int Execute();
|
||||
/* 80C34A98 */ int Delete();
|
||||
/* 80C34ACC */ void setBaseMtx();
|
||||
/* 80C34BD8 */ void create();
|
||||
/* 80C34BD8 */ cPhs__Step create();
|
||||
inline int CreateHeap();
|
||||
inline int Draw();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x79c - 0x568];
|
||||
/* 0x568 */ u8 field_0x568;
|
||||
/* 0x569 */ u8 field_0x569;
|
||||
/* 0x56A */ u8 field_0x56a[0x56e - 0x56a];
|
||||
/* 0x56E */ s16 mJoint1ZRot;
|
||||
/* 0x570 */ s16 mJoint2ZRot;
|
||||
/* 0x572 */ s16 mJoint3ZRot;
|
||||
/* 0x574 */ s16 field_0x574;
|
||||
/* 0x576 */ s16 field_0x576;
|
||||
/* 0x578 */ s16 field_0x578;
|
||||
/* 0x57A */ s16 field_0x57a;
|
||||
/* 0x57C */ s16 field_0x57c;
|
||||
/* 0x57E */ s16 field_0x57e;
|
||||
/* 0x580 */ s16 field_0x580;
|
||||
/* 0x582 */ s16 field_0x582;
|
||||
/* 0x584 */ s16 mJointYRot;
|
||||
/* 0x588 */ Z2SoundObjSimple mSound;
|
||||
/* 0x5A8 */ s16 mInvulnerabilityTimer;
|
||||
/* 0x5AA */ u8 field_0x5aa[0x5b0 - 0x5aa];
|
||||
/* 0x5B0 */ J3DModel* mpModel;
|
||||
/* 0x5B4 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5BC */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x5FC */ dCcD_Stts mStts;
|
||||
/* 0x638 */ dCcD_Cyl mCyl;
|
||||
/* 0x774 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x798 */ u8 field_0x798[0x79c - 0x798];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjKaisou_c) == 0x79c);
|
||||
|
||||
+498
-602
File diff suppressed because it is too large
Load Diff
+256
-374
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user