mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
obj_mato / obj_nagaisu (#2714)
This commit is contained in:
+1
-1
@@ -2096,7 +2096,7 @@ config.libs = [
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_magLiftRot"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_maki"),
|
||||
ActorRel(Equivalent, "d_a_obj_master_sword"), # weak function and vtable order (dBgS_AcchCir/dBgS_ObjAcch)
|
||||
ActorRel(NonMatching, "d_a_obj_mato"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mato"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mhole"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mie"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mirror_6pole"),
|
||||
|
||||
@@ -2,11 +2,31 @@
|
||||
#define D_A_OBJ_MATO_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_path.h"
|
||||
|
||||
class daObjMATO_c;
|
||||
|
||||
struct MatoData_s {
|
||||
/* 0x000 */ J3DModel* model;
|
||||
/* 0x004 */ dCcD_Stts ccStts;
|
||||
/* 0x040 */ dCcD_Cyl ccCyl;
|
||||
/* 0x17C */ cXyz pos;
|
||||
/* 0x188 */ cXyz scale;
|
||||
/* 0x194 */ csXyz rot;
|
||||
/* 0x19C */ void (daObjMATO_c::*action)(int);
|
||||
/* 0x1A8 */ void (daObjMATO_c::*prev_action)(int);
|
||||
/* 0x1B4 */ int mode;
|
||||
/* 0x1B8 */ s16 rot_speed;
|
||||
/* 0x1BA */ u8 type;
|
||||
/* 0x1BB */ u8 is_hit;
|
||||
/* 0x1BC */ u8 timer;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjMATO_c
|
||||
* @brief Target (???)
|
||||
* @brief Flight by Fowl Rupee Target
|
||||
*
|
||||
* @details
|
||||
*
|
||||
@@ -20,23 +40,23 @@ public:
|
||||
/* 80C91F74 */ void wait(int);
|
||||
/* 80C92044 */ void disappear(int);
|
||||
/* 80C921A8 */ void getRupee(int);
|
||||
/* 80C922AC */ void execute();
|
||||
/* 80C92380 */ void _delete();
|
||||
/* 80C922AC */ int execute();
|
||||
/* 80C92380 */ int _delete();
|
||||
/* 80C9243C */ void setBaseMtx();
|
||||
/* 80C92650 */ void mato_init();
|
||||
/* 80C927AC */ void create();
|
||||
/* 80C92650 */ int mato_init();
|
||||
/* 80C927AC */ int create();
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x39f8 - 0x568];
|
||||
inline int CreateHeap();
|
||||
inline int draw();
|
||||
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ dPath* mpPath;
|
||||
/* 0x0574 */ MatoData_s mData[30];
|
||||
/* 0x39F4 */ u16 field_0x39f4;
|
||||
/* 0x39F6 */ u8 field_0x39f6;
|
||||
/* 0x39F7 */ u8 mIsAddSimpleModel;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjMATO_c) == 0x39f8);
|
||||
|
||||
struct MatoData_s {
|
||||
public:
|
||||
/* 80C92924 */ ~MatoData_s();
|
||||
/* 80C92A50 */ MatoData_s();
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_MATO_H */
|
||||
|
||||
@@ -5,6 +5,40 @@
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_model.h"
|
||||
|
||||
class daObjNagaisu_c;
|
||||
|
||||
// child seat / couch?
|
||||
class daObjIsuChild_c {
|
||||
public:
|
||||
/* 80C9FA90 */ daObjIsuChild_c();
|
||||
/* 80C9FCDC */ virtual ~daObjIsuChild_c();
|
||||
/* 80C9FD4C */ int createHeap();
|
||||
/* 80C9FE28 */ void create(daObjNagaisu_c*, dCcD_Stts*);
|
||||
/* 80C9FF54 */ int execute();
|
||||
/* 80CA0034 */ int draw(dMdl_c*);
|
||||
/* 80CA00B8 */ int Delete();
|
||||
/* 80CA0118 */ bool chkHit();
|
||||
/* 80CA0180 */ void callEmt();
|
||||
|
||||
void setDeadFlg(bool i_flg) { mIsDead = i_flg; }
|
||||
bool getDeadFlg() { return mIsDead; }
|
||||
|
||||
void setPos(const cXyz& i_pos) {
|
||||
mPos.x = i_pos.x;
|
||||
mPos.y = i_pos.y;
|
||||
mPos.z = i_pos.z;
|
||||
}
|
||||
|
||||
static const dCcD_SrcCyl s_CcDCyl;
|
||||
|
||||
/* 0x004 */ dMdl_obj_c mMdlObj;
|
||||
/* 0x038 */ Vec mPos;
|
||||
/* 0x044 */ dCcD_Cyl mCcCyl[2];
|
||||
/* 0x2BC */ Mtx mBgMtx;
|
||||
/* 0x2EC */ dBgW* mpBgW;
|
||||
/* 0x2F0 */ bool mIsDead;
|
||||
};
|
||||
|
||||
/**
|
||||
* @ingroup actors-objects
|
||||
* @class daObjNagaisu_c
|
||||
@@ -13,40 +47,25 @@
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjNagaisu_c : public fopAc_ac_c {
|
||||
class daObjNagaisu_c : public fopAc_ac_c, public request_of_phase_process_class {
|
||||
public:
|
||||
/* 80C9F3D8 */ daObjNagaisu_c();
|
||||
/* 80C9F4B8 */ ~daObjNagaisu_c();
|
||||
/* 80C9F5A8 */ void createHeap();
|
||||
/* 80C9F668 */ void create();
|
||||
/* 80C9F7A8 */ void Delete();
|
||||
/* 80C9F81C */ void draw();
|
||||
/* 80C9F8C4 */ void execute();
|
||||
/* 80C9F4B8 */ virtual ~daObjNagaisu_c();
|
||||
/* 80C9F5A8 */ int createHeap();
|
||||
/* 80C9F668 */ int create();
|
||||
/* 80C9F7A8 */ int Delete();
|
||||
/* 80C9F81C */ int draw();
|
||||
/* 80C9F8C4 */ int execute();
|
||||
/* 80C9F914 */ void init();
|
||||
/* 80C9F944 */ void setIsu();
|
||||
|
||||
static u8 const REMOVE_ISU_IDX[28];
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xb6e4 - 0x568];
|
||||
static const int REMOVE_ISU_IDX[];
|
||||
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ dCcD_Stts mCcStts;
|
||||
/* 0x5B4 */ daObjIsuChild_c mChild[60];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjNagaisu_c) == 0xb6e4);
|
||||
|
||||
// child seat / couch?
|
||||
class daObjIsuChild_c {
|
||||
public:
|
||||
/* 80C9FA90 */ daObjIsuChild_c();
|
||||
/* 80C9FCDC */ ~daObjIsuChild_c();
|
||||
/* 80C9FD4C */ void createHeap();
|
||||
/* 80C9FE28 */ void create(daObjNagaisu_c*, dCcD_Stts*);
|
||||
/* 80C9FF54 */ void execute();
|
||||
/* 80CA0034 */ void draw(dMdl_c*);
|
||||
/* 80CA00B8 */ void Delete();
|
||||
/* 80CA0118 */ void chkHit();
|
||||
/* 80CA0180 */ void callEmt();
|
||||
|
||||
static u8 const s_CcDCyl[68];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_OBJ_NAGAISU_H */
|
||||
|
||||
+315
-355
File diff suppressed because it is too large
Load Diff
+329
-426
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user