mirror of https://github.com/zeldaret/tp.git
work on d_a_tbox (#1971)
* d_a_tag_evtarea mostly done, work on d_a_npc * work on d_a_npc_ash * work on Z2SoundHandles * Z2SoundObject, JAUSoundAnimator OK * Update Progress.md * work on d_a_tbox
This commit is contained in:
parent
cfa5f44bb7
commit
30d9eaa052
|
|
@ -25,7 +25,7 @@ public:
|
|||
void SetExtChk(cBgS_Chk&);
|
||||
bool ChkSameActorPid(unsigned int) const;
|
||||
|
||||
void setActorPid(u32 pid) { mActorPid = pid; }
|
||||
void SetActorPid(u32 pid) { mActorPid = pid; }
|
||||
u32 GetActorPid() const { return mActorPid; }
|
||||
void SetPolyPassChk(cBgS_PolyPassChk* p_chk) { mPolyPassChk = p_chk; }
|
||||
void SetGrpPassChk(cBgS_GrpPassChk* p_chk) { mGrpPassChk = p_chk; }
|
||||
|
|
|
|||
|
|
@ -6237,263 +6237,9 @@ public:
|
|||
static daAlinkHIO_hookshot_c1 const m;
|
||||
};
|
||||
|
||||
class mDoExt_morf_c;
|
||||
|
||||
inline BOOL dComIfGs_isTransformLV(int i_no);
|
||||
inline BOOL i_dComIfGs_isEventBit(const u16);
|
||||
|
||||
typedef int (daMidna_c::*daMidna_func)();
|
||||
class daMidna_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daMidna_ERFLG0 {
|
||||
ERFLG0_NO_SERVICE_WAIT = 0x80,
|
||||
ERFLG0_FORCE_PANIC = 8,
|
||||
ERFLG0_UNK_2 = 2,
|
||||
};
|
||||
|
||||
enum daMidna_FLG0 {
|
||||
FLG0_UNK_80000000 = 0x80000000,
|
||||
FLG0_UNK_8000000 = 0x8000000,
|
||||
FLG0_NPC_NEAR = 0x100000,
|
||||
FLG0_NPC_FAR = 0x40000,
|
||||
FLG0_NO_INPUT = 0x4000,
|
||||
FLG0_NO_DRAW = 0x2000,
|
||||
FLG0_UNK_400 = 0x400,
|
||||
FLG0_UNK_800 = 0x800,
|
||||
FLG0_UNK_200 = 0x200,
|
||||
};
|
||||
|
||||
enum daMidna_FLG1 {
|
||||
FLG1_FORCE_NORMAL_COL = 8,
|
||||
FLG1_FORCE_TIRED_COL = 4,
|
||||
FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE = 2,
|
||||
};
|
||||
|
||||
enum daMidna_ANM {};
|
||||
|
||||
void onForcePanic();
|
||||
u32 checkForceNormalColor() const;
|
||||
u32 checkForceTiredColor() const;
|
||||
bool checkMidnaTired();
|
||||
void onNoServiceWait();
|
||||
|
||||
/* 804BC3E0 */ void modelCallBack(int);
|
||||
/* 804BC5C4 */ void changeUpperBck();
|
||||
/* 804BC614 */ void changeFaceBck();
|
||||
/* 804BC670 */ void baseModelCallBack(int);
|
||||
/* 804BC740 */ void initInvModel(u16, J3DModel**, mDoExt_invisibleModel*, u32);
|
||||
/* 804BC7D4 */ void initDemoModel(J3DModel**, char const*, u32);
|
||||
/* 804BC868 */ void createHeap();
|
||||
/* 804BD274 */ void create();
|
||||
/* 804BD93C */ void allAnimePlay();
|
||||
/* 804BDE04 */ void setMatrix();
|
||||
/* 804BE470 */ void setBodyPartMatrix();
|
||||
/* 804BED1C */ void setRoomInfo();
|
||||
/* 804BEDB8 */ void setBodyPartPos();
|
||||
/* 804BEFA0 */ void checkAppear();
|
||||
/* 804BF070 */ void checkMidnaPosState();
|
||||
/* 804BFF80 */ void setUpperAnime(u16, u16);
|
||||
/* 804C0020 */ void setUpperAnimeAndSe(daMidna_c::daMidna_ANM);
|
||||
/* 804C0094 */ void setFaceAnime(u16, u16);
|
||||
/* 804C0134 */ void endHighModel();
|
||||
/* 804C0238 */ void setDemoAnm();
|
||||
/* 804C0BAC */ void setFaceBtp(u16, int);
|
||||
/* 804C0C6C */ void setFaceBtk(u16, int);
|
||||
/* 804C0D2C */ void setLeftHandShape(u16);
|
||||
/* 804C0E18 */ void setRightHandShape(u16);
|
||||
/* 804C0F04 */ void checkHairOnlyAnime(int) const;
|
||||
/* 804C0F24 */ void setBckAnime(J3DAnmTransform*, int, f32);
|
||||
/* 804C103C */ void setAnm();
|
||||
/* 804C287C */ void getNeckAimAngle(cXyz const*, s16*, s16*, s16*, s16*);
|
||||
/* 804C2A68 */ void clearEyeMove();
|
||||
/* 804C2AB8 */ void setEyeMove(cXyz const*, s16, s16);
|
||||
/* 804C2EBC */ void setNeckAngle();
|
||||
/* 804C3168 */ void initHairAngle();
|
||||
/* 804C3298 */ void setHairAngle();
|
||||
/* 804C3F04 */ void setDemoData();
|
||||
/* 804C4394 */ void setSimpleBrk(J3DModelData*, u16);
|
||||
/* 804C4444 */ void setSimpleBtk(J3DModelData*, u16);
|
||||
/* 804C44CC */ void initMidnaModel();
|
||||
/* 804C49B8 */ void setMidnaNoDrawFlg();
|
||||
/* 804C4AE8 */ void checkMetamorphoseEnableBase();
|
||||
/* 804C4B68 */ void checkNoDrawState();
|
||||
/* 804C4BC0 */ void setSound();
|
||||
/* 804C4FDC */ void execute();
|
||||
/* 804C5A08 */ void draw();
|
||||
/* 804C61A4 */ ~daMidna_c();
|
||||
|
||||
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; }
|
||||
void onStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 |= i_flag; }
|
||||
void offStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 &= ~i_flag; }
|
||||
u32 checkStateFlg0(daMidna_FLG0 flag) const { return mStateFlg0 & flag; }
|
||||
u32 checkStateFlg1(daMidna_FLG1 flag) const { return mStateFlg1 & flag; }
|
||||
void setFaceNum(int num) { mFaceNum = num; }
|
||||
void setMotionNum(int num) { mMotionNum = num; }
|
||||
bool checkDemoTypeNone() const { return mDemoType == 0; }
|
||||
void changeOriginalDemo() { mDemoType = 3; }
|
||||
void changeDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
BOOL checkNpcNear() { return checkStateFlg0(FLG0_NPC_NEAR); }
|
||||
BOOL checkNpcFar() { return checkStateFlg0(FLG0_NPC_FAR); }
|
||||
BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); }
|
||||
BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); }
|
||||
BOOL checkWolfNoPos() const { return checkStateFlg0(FLG0_UNK_800); }
|
||||
int checkMetamorphoseEnable() { return (this->*mpFunc)(); }
|
||||
int checkShadowModelDrawDemoForce() const { return checkStateFlg1(FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE); }
|
||||
|
||||
void onTagWaitPosWarp(const cXyz* param_0) {
|
||||
field_0x9ac = *param_0;
|
||||
onStateFlg0(FLG0_UNK_400);
|
||||
onEndResetStateFlg0(ERFLG0_UNK_2);
|
||||
}
|
||||
|
||||
void onTagWaitPos(const cXyz* param_0) {
|
||||
field_0x9ac = *param_0;
|
||||
onStateFlg0(FLG0_UNK_400);
|
||||
}
|
||||
|
||||
void offTagWaitPos() {
|
||||
offStateFlg0((daMidna_FLG0)(FLG0_UNK_80000000 | FLG0_UNK_8000000 | FLG0_UNK_400));
|
||||
}
|
||||
|
||||
void onTagNoHairLead() {
|
||||
onStateFlg0(FLG0_UNK_80000000);
|
||||
}
|
||||
|
||||
bool checkReturnAnime() const {
|
||||
return field_0x5e4[0].getIdx() == 0x1CA;
|
||||
}
|
||||
|
||||
bool checkShadowModelDrawSmode() const {
|
||||
return field_0x84e == 3 || field_0x84e == 4 || field_0x84e == 2;
|
||||
}
|
||||
|
||||
bool checkShadowModelDraw() const {
|
||||
return checkShadowModelDrawDemoForce() || checkShadowModelDrawSmode();
|
||||
}
|
||||
|
||||
bool checkShadowReturnEnd() const {
|
||||
return field_0x5e4[0].getIdx() == 0x21C && field_0x578->isStop();
|
||||
}
|
||||
|
||||
bool checkShadowModeTalkWait() const {
|
||||
return (field_0x84e == 2 || field_0x84e == 1) ;
|
||||
}
|
||||
|
||||
void setShadowReturn() { field_0x84e = 4; }
|
||||
|
||||
|
||||
bool checkPortalObjRide() const {
|
||||
return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200);
|
||||
}
|
||||
|
||||
inline static BOOL checkMidnaRealBody();
|
||||
|
||||
bool i_checkMidnaTired() {
|
||||
return dComIfGs_isTransformLV(3) && !i_dComIfGs_isEventBit(0x1E08);
|
||||
}
|
||||
|
||||
static u8 const m_texDataTable[84];
|
||||
static u8 const m_anmDataTable[636];
|
||||
|
||||
private:
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ J3DModel* field_0x570;
|
||||
/* 0x0574 */ J3DModel* field_0x574;
|
||||
/* 0x0578 */ mDoExt_McaMorfSO* field_0x578;
|
||||
/* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; // this is really daMidna_McaMorfCB1_c. fix later
|
||||
/* 0x0580 */ cXyz* field_0x580;
|
||||
/* 0x0584 */ mDoExt_bckAnm field_0x584;
|
||||
/* 0x05A0 */ mDoExt_bckAnm field_0x5a0;
|
||||
/* 0x05BC */ J3DAnmTexPattern* field_0x5bc;
|
||||
/* 0x05C0 */ J3DAnmTextureSRTKey* field_0x5c0;
|
||||
/* 0x05C4 */ mDoExt_invisibleModel field_0x5c4;
|
||||
/* 0x05CC */ mDoExt_invisibleModel mInvMaskBmd;
|
||||
/* 0x05D4 */ mDoExt_invisibleModel mInvHandsBmd;
|
||||
/* 0x05DC */ mDoExt_invisibleModel mInvHairhandBmd;
|
||||
/* 0x05E4 */ daPy_anmHeap_c field_0x5e4[3];
|
||||
/* 0x0620 */ daPy_anmHeap_c field_0x620;
|
||||
/* 0x0634 */ daPy_anmHeap_c field_0x634;
|
||||
/* 0x0648 */ J3DAnmTextureSRTKey* field_0x648;
|
||||
/* 0x064C */ J3DAnmTextureSRTKey* field_0x64c;
|
||||
/* 0x0650 */ J3DAnmTextureSRTKey* field_0x650;
|
||||
/* 0x0654 */ J3DAnmTextureSRTKey* field_0x654;
|
||||
/* 0x0658 */ J3DAnmTevRegKey* field_0x658;
|
||||
/* 0x065C */ J3DAnmTevRegKey* field_0x65c;
|
||||
/* 0x0660 */ J3DAnmTevRegKey* field_0x660;
|
||||
/* 0x0664 */ J3DAnmTevRegKey* field_0x664;
|
||||
/* 0x0668 */ J3DAnmTevRegKey* field_0x668;
|
||||
/* 0x066C */ J3DAnmTevRegKey* field_0x66c;
|
||||
/* 0x0670 */ J3DModel* field_0x670;
|
||||
/* 0x0674 */ J3DModel* mpMaskBmd;
|
||||
/* 0x0678 */ J3DModel* field_0x678;
|
||||
/* 0x067C */ J3DModel* mpHandsBmd;
|
||||
/* 0x0680 */ J3DModel* field_0x680;
|
||||
/* 0x0684 */ J3DModel* mpHairhandBmd;
|
||||
/* 0x0688 */ J3DModel* mpDemoBDTmpBmd;
|
||||
/* 0x068C */ J3DModel* mpDemoBDMaskBmd;
|
||||
/* 0x0690 */ J3DModel* mpDemoBDHandsBmd;
|
||||
/* 0x0694 */ J3DModel* mpDemoBDHairhandBmd;
|
||||
/* 0x0698 */ J3DModel* mpGokouBmd;
|
||||
/* 0x069C */ J3DShape* field_0x69c;
|
||||
/* 0x06A0 */ J3DShape* field_0x6a0;
|
||||
/* 0x06A4 */ J3DShape* field_0x6a4;
|
||||
/* 0x06A8 */ J3DShape* field_0x6a8;
|
||||
/* 0x06AC */ J3DModel* mpDemoFCBlendBmd;
|
||||
/* 0x06B0 */ J3DModel* mpDemoFCTongueBmd;
|
||||
/* 0x06B4 */ J3DAnmTextureSRTKey* field_0x6b4;
|
||||
/* 0x06B8 */ mDoExt_bckAnm* mpDemoFCTmpBck;
|
||||
/* 0x06BC */ J3DDeformData* mpDemoFCTmpBls;
|
||||
/* 0x06C0 */ J3DAnmCluster* field_0x6c0;
|
||||
/* 0x06C4 */ mDoExt_blkAnm* field_0x6c4;
|
||||
/* 0x06C8 */ J3DModel* mpDemoHLTmpBmd;
|
||||
/* 0x06CC */ mDoExt_bckAnm* mpDemoHLTmpBck;
|
||||
/* 0x06D0 */ J3DModel* mpDemoHRTmpBmd;
|
||||
/* 0x06D4 */ mDoExt_bckAnm* mpDemoHRTmpBck;
|
||||
/* 0x06D8 */ J3DModel* mpDemoHDTmpBmd;
|
||||
/* 0x06DC */ mDoExt_bckAnm* mpDemoHDTmpBck;
|
||||
/* 0x06E0 */ J3DGXColorS10 field_0x6e0;
|
||||
/* 0x06E8 */ J3DGXColor field_0x6e8;
|
||||
/* 0x06EC */ u8 field_0x6ec; // this is probably J3DGXColor. fix later
|
||||
/* 0x06ED */ u8 field_0x6ed;
|
||||
/* 0x06EE */ u8 field_0x6ee;
|
||||
/* 0x06EF */ u8 field_0x6ef;
|
||||
/* 0x06F0 */ void* field_0x6f0;
|
||||
/* 0x06F4 */ void* field_0x6f4;
|
||||
/* 0x06F8 */ void* field_0x6f8;
|
||||
/* 0x06FC */ Z2Creature field_0x6fc;
|
||||
/* 0x078C */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x07D8 */ dBgS_LinkLinChk mLinChk;
|
||||
/* 0x0848 */ u8 mMotionNum;
|
||||
/* 0x0849 */ u8 mFaceNum;
|
||||
/* 0x084A */ u8 field_0x84a[4];
|
||||
/* 0x084E */ u8 field_0x84e;
|
||||
/* 0x084F */ u8 mDemoType;
|
||||
/* 0x0850 */ u8 field_0x850[0xA];
|
||||
/* 0x085A */ s16 field_0x85a;
|
||||
/* 0x085C */ u8 field_0x85c[0x22];
|
||||
/* 0x087E */ s16 field_0x87e;
|
||||
/* 0x0880 */ u8 field_0x880[0xC]; // csXyz in here, fix later
|
||||
/* 0x088C */ int mStaffID;
|
||||
/* 0x0890 */ u32 mStateFlg0;
|
||||
/* 0x0894 */ u32 mStateFlg1;
|
||||
/* 0x0898 */ u32 mEndResetStateFlg0;
|
||||
/* 0x089C */ u8 field_0x89c[0x24];
|
||||
/* 0x08C0 */ u32 mDemoMode;
|
||||
/* 0x08C4 */ u8 field_0x8c4[4];
|
||||
/* 0x08C8 */ f32 field_0x8c8;
|
||||
/* 0x08CC */ u8 field_0x8cc[0x14];
|
||||
/* 0x08E0 */ cXyz field_0x8e0[5];
|
||||
/* 0x091C */ cXyz field_0x91c[5];
|
||||
/* 0x0958 */ u8 field_0x958[0xC]; // cXyz here, fix later
|
||||
/* 0x0964 */ cXyz field_0x964[5];
|
||||
/* 0x09A0 */ u8 field_0x9a0[0xC];
|
||||
/* 0x09AC */ cXyz field_0x9ac;
|
||||
/* 0x09B8 */ u8 field_0x9b8[0x9C4 - 0x9B8];
|
||||
/* 0x09C4 */ cXyz field_0x9c4;
|
||||
/* 0x09D0 */ u8 field_0x9d0[4];
|
||||
/* 0x09D4 */ daMidna_func mpFunc;
|
||||
};
|
||||
|
||||
static fopAc_ac_c* daAlink_searchPortal(fopAc_ac_c* param_0, void* param_1);
|
||||
static fopAc_ac_c* daAlink_searchCanoe(fopAc_ac_c* param_0, void* param_1);
|
||||
static void* daAlink_searchBoar(fopAc_ac_c* param_0, void* param_1);
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ public:
|
|||
|
||||
class dBgS_Acch;
|
||||
|
||||
u8 dKy_pol_sound_get(cBgS_PolyInfo const* param_0);
|
||||
|
||||
class dBgS : public cBgS {
|
||||
public:
|
||||
dBgS() {}
|
||||
|
|
@ -107,6 +109,7 @@ public:
|
|||
bool PushPullCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
|
||||
|
||||
bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); }
|
||||
u32 GetMtrlSndId(cBgS_PolyInfo* param_0) { return dKy_pol_sound_get(param_0); }
|
||||
}; // Size: 0x1404
|
||||
|
||||
bool dBgS_CheckBGroundPoly(cBgS_PolyInfo const&);
|
||||
|
|
|
|||
|
|
@ -1248,6 +1248,10 @@ inline BOOL dComIfGs_isTbox(int i_no) {
|
|||
return g_dComIfG_gameInfo.info.getMemory().getBit().isTbox(i_no);
|
||||
}
|
||||
|
||||
inline void dComIfGs_onTbox(int i_no) {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().onTbox(i_no);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isSaveItem(int i_no) {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isItem(i_no);
|
||||
}
|
||||
|
|
@ -1638,6 +1642,10 @@ inline u8 i_dComIfGs_getEventReg(u16 reg) {
|
|||
return g_dComIfG_gameInfo.info.getEvent().getEventReg(reg);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setEventReg(u16 reg, u8 value) {
|
||||
g_dComIfG_gameInfo.info.getEvent().setEventReg(reg, value);
|
||||
}
|
||||
|
||||
inline void dComIfGs_setWarashibeItem(u8 i_itemNo) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getItem().setWarashibeItem(i_itemNo);
|
||||
}
|
||||
|
|
@ -2982,6 +2990,10 @@ inline void i_dComIfGp_event_reset() {
|
|||
g_dComIfG_gameInfo.play.getEvent().reset();
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_onEventFlag(u16 i_flag) {
|
||||
g_dComIfG_gameInfo.play.getEvent().onEventFlag(i_flag);
|
||||
}
|
||||
|
||||
inline void dComIfGp_evmng_cutEnd(int param_0) {
|
||||
dComIfGp_getPEvtManager()->cutEnd(param_0);
|
||||
}
|
||||
|
|
@ -2998,6 +3010,10 @@ inline u8 dComIfGp_event_getPreItemNo() {
|
|||
return g_dComIfG_gameInfo.play.getEvent().getPreItemNo();
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setItemPartner(void* param_0) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setPtI(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGp_event_setItemPartnerId(unsigned int id) {
|
||||
g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@ struct stage_camera2_data_class {
|
|||
|
||||
struct stage_camera_class {
|
||||
/* 0x0 */ int field_0x0;
|
||||
/* 0x4 */ stage_camera2_data_class* field_0x4;
|
||||
/* 0x4 */ stage_camera2_data_class* mEntries;
|
||||
};
|
||||
|
||||
struct stage_arrow_data_class {
|
||||
|
|
@ -335,7 +335,8 @@ struct dStage_DMap_c {
|
|||
|
||||
struct dStage_MapEvent_dt_c {
|
||||
/* 0x00 */ u8 mType;
|
||||
/* 0x01 */ u8 field_0x1[3 - 1];
|
||||
/* 0x01 */ u8 field_0x1;
|
||||
/* 0x02 */ u8 field_0x2;
|
||||
/* 0x03 */ u8 field_0x3;
|
||||
/* 0x04 */ u8 field_0x4;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
|
|
|
|||
|
|
@ -70,6 +70,10 @@ public:
|
|||
return mTypeGroupListAll[index].mNumber;
|
||||
}
|
||||
|
||||
static void setPosition(int i_tboxNo, Vec const* i_pos) {
|
||||
setPosition(i_tboxNo, 0, i_pos, -1);
|
||||
}
|
||||
|
||||
static u8 const typeToTypeGroup[17][2];
|
||||
static type_group_list mTypeGroupListAll[17];
|
||||
static typeGroupData_c* mTypeGroupData;
|
||||
|
|
|
|||
|
|
@ -560,12 +560,15 @@ void dKy_setLight_again();
|
|||
void dKy_GxFog_tevstr_set(dKy_tevstr_c*);
|
||||
void dKy_plight_set(LIGHT_INFLUENCE* param_0);
|
||||
void dKy_plight_priority_set(LIGHT_INFLUENCE* param_0);
|
||||
void dKy_efplight_set(LIGHT_INFLUENCE* param_0);
|
||||
void dKy_efplight_cut(LIGHT_INFLUENCE* param_0);
|
||||
void dKy_tevstr_init(dKy_tevstr_c* param_0, s8 param_1, u8 param_2);
|
||||
SND_INFLUENCE* dKy_Sound_get();
|
||||
void dKy_plight_cut(LIGHT_INFLUENCE* param_0);
|
||||
void dKy_dalkmist_inf_set(DALKMIST_INFLUENCE*);
|
||||
void dKy_dalkmist_inf_cut(DALKMIST_INFLUENCE*);
|
||||
int dKy_rain_check();
|
||||
void dKy_set_allcol_ratio(f32 ratio);
|
||||
void dKy_set_actcol_ratio(f32 ratio);
|
||||
void dKy_set_bgcol_ratio(f32 ratio);
|
||||
void dKy_set_fogcol_ratio(f32 ratio);
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "f_pc/f_pc_searcher.h"
|
||||
#include "d/bg/d_bg_s.h"
|
||||
#include "d/bg/d_bg_s_lin_chk.h"
|
||||
#include "d/bg/d_bg_s_wtr_chk.h"
|
||||
|
||||
#define fopAcM_SetupActor(ptr,ClassName) \
|
||||
if (!fopAcM_CheckCondition(ptr, fopAcCnd_INIT_e)) { \
|
||||
|
|
@ -57,10 +60,13 @@ struct fopAcM_search_prm {
|
|||
/* 0x0A */ s8 mSubType;
|
||||
};
|
||||
|
||||
class dBgS_LinChk;
|
||||
dBgS& dComIfG_Bgsp();
|
||||
|
||||
class fopAcM_lc_c {
|
||||
public:
|
||||
static dBgS_LinChk* getLineCheck() { return (dBgS_LinChk*)&mLineCheck; }
|
||||
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(*(dBgS_LinChk*)&mLineCheck); }
|
||||
static cXyz* getCrossP() { return ((dBgS_LinChk*)&mLineCheck)->GetCrossP(); }
|
||||
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
|
||||
static u8 mLineCheck[112];
|
||||
};
|
||||
|
|
@ -90,11 +96,11 @@ public:
|
|||
static f32 getGroundY() { return mGroundY; }
|
||||
};
|
||||
|
||||
class dBgS_WtrChk;
|
||||
class fopAcM_wt_c {
|
||||
public:
|
||||
static dBgS_WtrChk* getWaterCheck() { return (dBgS_WtrChk*)&mWaterCheck; }
|
||||
static f32 getWaterY() { return mWaterY[0]; }
|
||||
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(*(dBgS_WtrChk*)&mWaterCheck); }
|
||||
|
||||
static bool waterCheck(const cXyz*);
|
||||
static u8 mWaterCheck[84 + 4 /* padding */];
|
||||
|
|
@ -588,23 +594,27 @@ inline void make_prm_bokkuri(u32* pActorParams, csXyz* p_angle, u8 param_2, u8 p
|
|||
inline fopAc_ac_c* dComIfGp_getPlayer(int);
|
||||
|
||||
inline s16 fopAcM_searchPlayerAngleY(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorAngleY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
return fopAcM_searchActorAngleY(actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistanceY(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistanceY(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
return fopAcM_searchActorDistanceY(actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistanceXZ2(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistanceXZ2(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
return fopAcM_searchActorDistanceXZ2(actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistanceXZ(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistanceXZ(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
return fopAcM_searchActorDistanceXZ(actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline f32 fopAcM_searchPlayerDistance(const fopAc_ac_c* actor) {
|
||||
return fopAcM_searchActorDistance(actor, (fopAc_ac_c*)dComIfGp_getPlayer(0));
|
||||
return fopAcM_searchActorDistance(actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
inline s32 fopAcM_seenPlayerAngleY(const fopAc_ac_c* i_actor) {
|
||||
return fopAcM_seenActorAngleY(i_actor, dComIfGp_getPlayer(0));
|
||||
}
|
||||
|
||||
s8 dComIfGp_getReverb(int roomNo);
|
||||
|
|
|
|||
|
|
@ -604,6 +604,7 @@ J3DModel* mDoExt_J3DModel__create(J3DModelData* i_modelData, u32 i_modelFlag, u3
|
|||
void mDoExt_setAraCacheSize(u32 size);
|
||||
int mDoExt_resIDToIndex(JKRArchive* p_archive, u16 id);
|
||||
void mDoExt_modelEntryDL(J3DModel* i_model);
|
||||
void mDoExt_brkAnmRemove(J3DModelData* i_modelData);
|
||||
void mDoExt_setupStageTexture(J3DModelData* i_modelData);
|
||||
OSThread* mDoExt_GetCurrentRunningThread();
|
||||
void mDoExt_setupShareTexture(J3DModelData* i_modelData, J3DModelData* i_shareModelData);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,268 @@
|
|||
#ifndef D_A_MIDNA_H
|
||||
#define D_A_MIDNA_H
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "JSystem/J3DGraphBase/J3DMatBlock.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/bg/d_bg_s_lin_chk.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class daMidna_c;
|
||||
typedef int (daMidna_c::*daMidna_func)();
|
||||
|
||||
class daMidna_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum daMidna_ERFLG0 {
|
||||
ERFLG0_NO_SERVICE_WAIT = 0x80,
|
||||
ERFLG0_FORCE_PANIC = 8,
|
||||
ERFLG0_UNK_2 = 2,
|
||||
};
|
||||
|
||||
enum daMidna_FLG0 {
|
||||
FLG0_UNK_80000000 = 0x80000000,
|
||||
FLG0_UNK_8000000 = 0x8000000,
|
||||
FLG0_NPC_NEAR = 0x100000,
|
||||
FLG0_NPC_FAR = 0x40000,
|
||||
FLG0_NO_INPUT = 0x4000,
|
||||
FLG0_NO_DRAW = 0x2000,
|
||||
FLG0_UNK_400 = 0x400,
|
||||
FLG0_UNK_800 = 0x800,
|
||||
FLG0_UNK_200 = 0x200,
|
||||
};
|
||||
|
||||
enum daMidna_FLG1 {
|
||||
FLG1_FORCE_NORMAL_COL = 8,
|
||||
FLG1_FORCE_TIRED_COL = 4,
|
||||
FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE = 2,
|
||||
};
|
||||
|
||||
enum daMidna_ANM {};
|
||||
|
||||
void onForcePanic();
|
||||
u32 checkForceNormalColor() const;
|
||||
u32 checkForceTiredColor() const;
|
||||
bool checkMidnaTired();
|
||||
void onNoServiceWait();
|
||||
|
||||
/* 804BC3E0 */ void modelCallBack(int);
|
||||
/* 804BC5C4 */ void changeUpperBck();
|
||||
/* 804BC614 */ void changeFaceBck();
|
||||
/* 804BC670 */ void baseModelCallBack(int);
|
||||
/* 804BC740 */ void initInvModel(u16, J3DModel**, mDoExt_invisibleModel*, u32);
|
||||
/* 804BC7D4 */ void initDemoModel(J3DModel**, char const*, u32);
|
||||
/* 804BC868 */ void createHeap();
|
||||
/* 804BD274 */ void create();
|
||||
/* 804BD93C */ void allAnimePlay();
|
||||
/* 804BDE04 */ void setMatrix();
|
||||
/* 804BE470 */ void setBodyPartMatrix();
|
||||
/* 804BED1C */ void setRoomInfo();
|
||||
/* 804BEDB8 */ void setBodyPartPos();
|
||||
/* 804BEFA0 */ void checkAppear();
|
||||
/* 804BF070 */ void checkMidnaPosState();
|
||||
/* 804BFF80 */ void setUpperAnime(u16, u16);
|
||||
/* 804C0020 */ void setUpperAnimeAndSe(daMidna_c::daMidna_ANM);
|
||||
/* 804C0094 */ void setFaceAnime(u16, u16);
|
||||
/* 804C0134 */ void endHighModel();
|
||||
/* 804C0238 */ void setDemoAnm();
|
||||
/* 804C0BAC */ void setFaceBtp(u16, int);
|
||||
/* 804C0C6C */ void setFaceBtk(u16, int);
|
||||
/* 804C0D2C */ void setLeftHandShape(u16);
|
||||
/* 804C0E18 */ void setRightHandShape(u16);
|
||||
/* 804C0F04 */ void checkHairOnlyAnime(int) const;
|
||||
/* 804C0F24 */ void setBckAnime(J3DAnmTransform*, int, f32);
|
||||
/* 804C103C */ void setAnm();
|
||||
/* 804C287C */ void getNeckAimAngle(cXyz const*, s16*, s16*, s16*, s16*);
|
||||
/* 804C2A68 */ void clearEyeMove();
|
||||
/* 804C2AB8 */ void setEyeMove(cXyz const*, s16, s16);
|
||||
/* 804C2EBC */ void setNeckAngle();
|
||||
/* 804C3168 */ void initHairAngle();
|
||||
/* 804C3298 */ void setHairAngle();
|
||||
/* 804C3F04 */ void setDemoData();
|
||||
/* 804C4394 */ void setSimpleBrk(J3DModelData*, u16);
|
||||
/* 804C4444 */ void setSimpleBtk(J3DModelData*, u16);
|
||||
/* 804C44CC */ void initMidnaModel();
|
||||
/* 804C49B8 */ void setMidnaNoDrawFlg();
|
||||
/* 804C4AE8 */ void checkMetamorphoseEnableBase();
|
||||
/* 804C4B68 */ void checkNoDrawState();
|
||||
/* 804C4BC0 */ void setSound();
|
||||
/* 804C4FDC */ void execute();
|
||||
/* 804C5A08 */ void draw();
|
||||
/* 804C61A4 */ ~daMidna_c();
|
||||
|
||||
void onEndResetStateFlg0(daMidna_ERFLG0 pFlg) { mEndResetStateFlg0 |= pFlg; }
|
||||
void onStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 |= i_flag; }
|
||||
void offStateFlg0(daMidna_FLG0 i_flag) { mStateFlg0 &= ~i_flag; }
|
||||
u32 checkStateFlg0(daMidna_FLG0 flag) const { return mStateFlg0 & flag; }
|
||||
u32 checkStateFlg1(daMidna_FLG1 flag) const { return mStateFlg1 & flag; }
|
||||
void setFaceNum(int num) { mFaceNum = num; }
|
||||
void setMotionNum(int num) { mMotionNum = num; }
|
||||
bool checkDemoTypeNone() const { return mDemoType == 0; }
|
||||
void changeOriginalDemo() { mDemoType = 3; }
|
||||
void changeDemoMode(u32 mode) { mDemoMode = mode; }
|
||||
BOOL checkNpcNear() { return checkStateFlg0(FLG0_NPC_NEAR); }
|
||||
BOOL checkNpcFar() { return checkStateFlg0(FLG0_NPC_FAR); }
|
||||
BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); }
|
||||
BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); }
|
||||
BOOL checkWolfNoPos() const { return checkStateFlg0(FLG0_UNK_800); }
|
||||
int checkMetamorphoseEnable() { return (this->*mpFunc)(); }
|
||||
int checkShadowModelDrawDemoForce() const { return checkStateFlg1(FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE); }
|
||||
|
||||
void onTagWaitPosWarp(const cXyz* param_0) {
|
||||
field_0x9ac = *param_0;
|
||||
onStateFlg0(FLG0_UNK_400);
|
||||
onEndResetStateFlg0(ERFLG0_UNK_2);
|
||||
}
|
||||
|
||||
void onTagWaitPos(const cXyz* param_0) {
|
||||
field_0x9ac = *param_0;
|
||||
onStateFlg0(FLG0_UNK_400);
|
||||
}
|
||||
|
||||
void offTagWaitPos() {
|
||||
offStateFlg0((daMidna_FLG0)(FLG0_UNK_80000000 | FLG0_UNK_8000000 | FLG0_UNK_400));
|
||||
}
|
||||
|
||||
void onTagNoHairLead() {
|
||||
onStateFlg0(FLG0_UNK_80000000);
|
||||
}
|
||||
|
||||
bool checkReturnAnime() const {
|
||||
return field_0x5e4[0].getIdx() == 0x1CA;
|
||||
}
|
||||
|
||||
bool checkShadowModelDrawSmode() const {
|
||||
return field_0x84e == 3 || field_0x84e == 4 || field_0x84e == 2;
|
||||
}
|
||||
|
||||
bool checkShadowModelDraw() const {
|
||||
return checkShadowModelDrawDemoForce() || checkShadowModelDrawSmode();
|
||||
}
|
||||
|
||||
bool checkShadowReturnEnd() const {
|
||||
return field_0x5e4[0].getIdx() == 0x21C && field_0x578->isStop();
|
||||
}
|
||||
|
||||
bool checkShadowModeTalkWait() const {
|
||||
return (field_0x84e == 2 || field_0x84e == 1) ;
|
||||
}
|
||||
|
||||
void setShadowReturn() { field_0x84e = 4; }
|
||||
|
||||
|
||||
bool checkPortalObjRide() const {
|
||||
return checkStateFlg0(FLG0_UNK_8000000) && checkStateFlg0(FLG0_UNK_200);
|
||||
}
|
||||
|
||||
inline static BOOL checkMidnaRealBody();
|
||||
|
||||
bool i_checkMidnaTired() {
|
||||
return dComIfGs_isTransformLV(3) && !i_dComIfGs_isEventBit(0x1E08);
|
||||
}
|
||||
|
||||
static u8 const m_texDataTable[84];
|
||||
static u8 const m_anmDataTable[636];
|
||||
|
||||
private:
|
||||
/* 0x0568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x0570 */ J3DModel* field_0x570;
|
||||
/* 0x0574 */ J3DModel* field_0x574;
|
||||
/* 0x0578 */ mDoExt_McaMorfSO* field_0x578;
|
||||
/* 0x057C */ mDoExt_McaMorfCallBack1_c* field_0x57c; // this is really daMidna_McaMorfCB1_c. fix later
|
||||
/* 0x0580 */ cXyz* field_0x580;
|
||||
/* 0x0584 */ mDoExt_bckAnm field_0x584;
|
||||
/* 0x05A0 */ mDoExt_bckAnm field_0x5a0;
|
||||
/* 0x05BC */ J3DAnmTexPattern* field_0x5bc;
|
||||
/* 0x05C0 */ J3DAnmTextureSRTKey* field_0x5c0;
|
||||
/* 0x05C4 */ mDoExt_invisibleModel field_0x5c4;
|
||||
/* 0x05CC */ mDoExt_invisibleModel mInvMaskBmd;
|
||||
/* 0x05D4 */ mDoExt_invisibleModel mInvHandsBmd;
|
||||
/* 0x05DC */ mDoExt_invisibleModel mInvHairhandBmd;
|
||||
/* 0x05E4 */ daPy_anmHeap_c field_0x5e4[3];
|
||||
/* 0x0620 */ daPy_anmHeap_c field_0x620;
|
||||
/* 0x0634 */ daPy_anmHeap_c field_0x634;
|
||||
/* 0x0648 */ J3DAnmTextureSRTKey* field_0x648;
|
||||
/* 0x064C */ J3DAnmTextureSRTKey* field_0x64c;
|
||||
/* 0x0650 */ J3DAnmTextureSRTKey* field_0x650;
|
||||
/* 0x0654 */ J3DAnmTextureSRTKey* field_0x654;
|
||||
/* 0x0658 */ J3DAnmTevRegKey* field_0x658;
|
||||
/* 0x065C */ J3DAnmTevRegKey* field_0x65c;
|
||||
/* 0x0660 */ J3DAnmTevRegKey* field_0x660;
|
||||
/* 0x0664 */ J3DAnmTevRegKey* field_0x664;
|
||||
/* 0x0668 */ J3DAnmTevRegKey* field_0x668;
|
||||
/* 0x066C */ J3DAnmTevRegKey* field_0x66c;
|
||||
/* 0x0670 */ J3DModel* field_0x670;
|
||||
/* 0x0674 */ J3DModel* mpMaskBmd;
|
||||
/* 0x0678 */ J3DModel* field_0x678;
|
||||
/* 0x067C */ J3DModel* mpHandsBmd;
|
||||
/* 0x0680 */ J3DModel* field_0x680;
|
||||
/* 0x0684 */ J3DModel* mpHairhandBmd;
|
||||
/* 0x0688 */ J3DModel* mpDemoBDTmpBmd;
|
||||
/* 0x068C */ J3DModel* mpDemoBDMaskBmd;
|
||||
/* 0x0690 */ J3DModel* mpDemoBDHandsBmd;
|
||||
/* 0x0694 */ J3DModel* mpDemoBDHairhandBmd;
|
||||
/* 0x0698 */ J3DModel* mpGokouBmd;
|
||||
/* 0x069C */ J3DShape* field_0x69c;
|
||||
/* 0x06A0 */ J3DShape* field_0x6a0;
|
||||
/* 0x06A4 */ J3DShape* field_0x6a4;
|
||||
/* 0x06A8 */ J3DShape* field_0x6a8;
|
||||
/* 0x06AC */ J3DModel* mpDemoFCBlendBmd;
|
||||
/* 0x06B0 */ J3DModel* mpDemoFCTongueBmd;
|
||||
/* 0x06B4 */ J3DAnmTextureSRTKey* field_0x6b4;
|
||||
/* 0x06B8 */ mDoExt_bckAnm* mpDemoFCTmpBck;
|
||||
/* 0x06BC */ J3DDeformData* mpDemoFCTmpBls;
|
||||
/* 0x06C0 */ J3DAnmCluster* field_0x6c0;
|
||||
/* 0x06C4 */ mDoExt_blkAnm* field_0x6c4;
|
||||
/* 0x06C8 */ J3DModel* mpDemoHLTmpBmd;
|
||||
/* 0x06CC */ mDoExt_bckAnm* mpDemoHLTmpBck;
|
||||
/* 0x06D0 */ J3DModel* mpDemoHRTmpBmd;
|
||||
/* 0x06D4 */ mDoExt_bckAnm* mpDemoHRTmpBck;
|
||||
/* 0x06D8 */ J3DModel* mpDemoHDTmpBmd;
|
||||
/* 0x06DC */ mDoExt_bckAnm* mpDemoHDTmpBck;
|
||||
/* 0x06E0 */ J3DGXColorS10 field_0x6e0;
|
||||
/* 0x06E8 */ J3DGXColor field_0x6e8;
|
||||
/* 0x06EC */ u8 field_0x6ec; // this is probably J3DGXColor. fix later
|
||||
/* 0x06ED */ u8 field_0x6ed;
|
||||
/* 0x06EE */ u8 field_0x6ee;
|
||||
/* 0x06EF */ u8 field_0x6ef;
|
||||
/* 0x06F0 */ void* field_0x6f0;
|
||||
/* 0x06F4 */ void* field_0x6f4;
|
||||
/* 0x06F8 */ void* field_0x6f8;
|
||||
/* 0x06FC */ Z2Creature field_0x6fc;
|
||||
/* 0x078C */ dMsgFlow_c mMsgFlow;
|
||||
/* 0x07D8 */ dBgS_LinkLinChk mLinChk;
|
||||
/* 0x0848 */ u8 mMotionNum;
|
||||
/* 0x0849 */ u8 mFaceNum;
|
||||
/* 0x084A */ u8 field_0x84a[4];
|
||||
/* 0x084E */ u8 field_0x84e;
|
||||
/* 0x084F */ u8 mDemoType;
|
||||
/* 0x0850 */ u8 field_0x850[0xA];
|
||||
/* 0x085A */ s16 field_0x85a;
|
||||
/* 0x085C */ u8 field_0x85c[0x22];
|
||||
/* 0x087E */ s16 field_0x87e;
|
||||
/* 0x0880 */ u8 field_0x880[0xC]; // csXyz in here, fix later
|
||||
/* 0x088C */ int mStaffID;
|
||||
/* 0x0890 */ u32 mStateFlg0;
|
||||
/* 0x0894 */ u32 mStateFlg1;
|
||||
/* 0x0898 */ u32 mEndResetStateFlg0;
|
||||
/* 0x089C */ u8 field_0x89c[0x24];
|
||||
/* 0x08C0 */ u32 mDemoMode;
|
||||
/* 0x08C4 */ u8 field_0x8c4[4];
|
||||
/* 0x08C8 */ f32 field_0x8c8;
|
||||
/* 0x08CC */ u8 field_0x8cc[0x14];
|
||||
/* 0x08E0 */ cXyz field_0x8e0[5];
|
||||
/* 0x091C */ cXyz field_0x91c[5];
|
||||
/* 0x0958 */ u8 field_0x958[0xC]; // cXyz here, fix later
|
||||
/* 0x0964 */ cXyz field_0x964[5];
|
||||
/* 0x09A0 */ u8 field_0x9a0[0xC];
|
||||
/* 0x09AC */ cXyz field_0x9ac;
|
||||
/* 0x09B8 */ u8 field_0x9b8[0x9C4 - 0x9B8];
|
||||
/* 0x09C4 */ cXyz field_0x9c4;
|
||||
/* 0x09D0 */ u8 field_0x9d0[4];
|
||||
/* 0x09D4 */ daMidna_func mpFunc;
|
||||
};
|
||||
|
||||
#endif /* D_A_MIDNA_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,213 @@
|
|||
#ifndef D_A_TBOX_H
|
||||
#define D_A_TBOX_H
|
||||
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dBgW;
|
||||
|
||||
class daTboxBase_c : public dBgS_MoveBgActor {
|
||||
protected:
|
||||
/* 0x5A0 */ dCcD_Stts mStts;
|
||||
/* 0x5DC */ dCcD_Cyl mCyl;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTboxBase_c) == 0x718);
|
||||
|
||||
struct daTbox_ModelInfo {
|
||||
/* 0x00 */ char* mArcName;
|
||||
/* 0x04 */ int mModelResNo;
|
||||
/* 0x08 */ int mBckResNo;
|
||||
/* 0x0C */ int mClosedDzbResNo;
|
||||
/* 0x10 */ int mOpenDzbResNo;
|
||||
/* 0x14 */ int mEffectResNo;
|
||||
/* 0x18 */ int mBrkResNo;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTbox_ModelInfo) == 0x1C);
|
||||
|
||||
class daTbox_c;
|
||||
typedef int (daTbox_c::*daTbox_actionFn)();
|
||||
typedef void (daTbox_c::*daTbox_modeFn)();
|
||||
|
||||
class daTbox_c : public daTboxBase_c {
|
||||
public:
|
||||
enum Shape {
|
||||
SHAPE_SMALL = 0,
|
||||
SHAPE_LARGE = 1,
|
||||
SHAPE_BOSSKEY = 2,
|
||||
};
|
||||
|
||||
enum Mode {
|
||||
MODE_EXEC_WAIT = 0,
|
||||
MODE_EXEC = 1,
|
||||
};
|
||||
|
||||
/* 80490E50 */ daTbox_ModelInfo* getModelInfo();
|
||||
/* 80490E6C */ cPhs__Step commonShapeSet();
|
||||
/* 804911B8 */ cPhs__Step effectShapeSet();
|
||||
/* 804911C0 */ cPhs__Step envShapeSet();
|
||||
/* 804911C8 */ cPhs__Step bgCheckSet();
|
||||
/* 8049129C */ void lightReady();
|
||||
/* 804912EC */ void setLightPos();
|
||||
/* 8049135C */ int checkEnv();
|
||||
/* 80491364 */ int checkAppear();
|
||||
/* 8049139C */ int checkOpen();
|
||||
/* 804913D0 */ void clrDzb();
|
||||
/* 8049141C */ void setDzb();
|
||||
/* 80491484 */ void surfaceProc();
|
||||
/* 80491544 */ int checkNormal();
|
||||
/* 804915BC */ int checkEnvEffectTbox();
|
||||
/* 80491624 */ u32 calcHeapSize();
|
||||
/* 804916A4 */ int CreateHeap();
|
||||
/* 80491744 */ void CreateInit();
|
||||
/* 804919B0 */ void initPos();
|
||||
/* 80491BB0 */ void initAnm();
|
||||
/* 80491F68 */ int boxCheck();
|
||||
/* 804920A8 */ void demoProcOpen();
|
||||
/* 8049216C */ void lightColorProc();
|
||||
/* 8049233C */ void environmentProc();
|
||||
/* 80492398 */ void lightUpProc();
|
||||
/* 804923D4 */ void lightDownProc();
|
||||
/* 80492408 */ void dropProcInitCall();
|
||||
/* 80492450 */ void dropProcInit();
|
||||
/* 804928DC */ int calcJumpGoalAndAngle(cXyz*, s16*);
|
||||
/* 80492B10 */ bool getDropSAngle(s16*);
|
||||
/* 80492BC8 */ int getDir();
|
||||
/* 80492C84 */ void setRotAxis(cXyz const*, cXyz const*);
|
||||
/* 80492D08 */ void dropProcInit2();
|
||||
/* 80492F50 */ void dropProc();
|
||||
/* 80493338 */ void demoInitAppear();
|
||||
/* 80493484 */ void demoProcAppear();
|
||||
/* 80493518 */ int demoProc();
|
||||
/* 80493838 */ void OpenInit_com();
|
||||
/* 804939A4 */ void OpenInit();
|
||||
/* 804939F4 */ int actionWait();
|
||||
/* 804939FC */ int actionDemo();
|
||||
/* 80493CC8 */ int actionDemo2();
|
||||
/* 80493D90 */ int actionDropDemo();
|
||||
/* 80493ED8 */ u8 getBombItemNo(u8, u8);
|
||||
/* 80493FE8 */ u8 getBombItemNo2(u8, u8, u8);
|
||||
/* 80494144 */ u8 getBombItemNo3(u8, u8, u8, u8);
|
||||
/* 804942CC */ u8 getBombItemNoMain(u8);
|
||||
/* 804945C8 */ int setGetDemoItem();
|
||||
/* 804946A4 */ int actionOpenWait();
|
||||
/* 804948CC */ int actionNotOpenDemo();
|
||||
/* 80494950 */ int checkDrop();
|
||||
/* 80494A0C */ void settingDropDemoCamera();
|
||||
/* 80494D88 */ int actionSwOnWait();
|
||||
/* 80494E98 */ int actionSwOnWait2();
|
||||
/* 80494F44 */ int actionDropWait();
|
||||
/* 80495058 */ int actionGenocide();
|
||||
/* 8049518C */ int actionDropWaitForWeb();
|
||||
/* 80495250 */ int actionDropForWeb();
|
||||
/* 804953D4 */ void initBaseMtx();
|
||||
/* 80495490 */ void setBaseMtx();
|
||||
/* 80495660 */ void mode_proc_call();
|
||||
/* 804956EC */ void mode_exec_wait();
|
||||
/* 80495818 */ void mode_exec();
|
||||
/* 80495910 */ cPhs__Step create1st();
|
||||
/* 804959EC */ int Execute(f32 (**)[3][4]);
|
||||
/* 80495AF0 */ int Draw();
|
||||
/* 80495C9C */ int Delete();
|
||||
/* 804961B0 */ int Create();
|
||||
/* 804961B8 */ bool checkSmallTbox();
|
||||
|
||||
u32 getEvent() { return fopAcM_GetParam(this) >> 24; }
|
||||
int getShapeType() { return (fopAcM_GetParam(this) >> 20) & 0xf; }
|
||||
int getSwNo() { return (fopAcM_GetParam(this) >> 12) & 0xff; }
|
||||
int getTboxNo() { return (fopAcM_GetParam(this) >> 6) & 0x3f; }
|
||||
int getFuncType() { return fopAcM_GetParam(this) & 0x3f; }
|
||||
u32 getSwType() { return field_0x980 & 0xf; }
|
||||
int getItemNo() { return (field_0x982 >> 8) & 0xff; }
|
||||
int getPathId() { return field_0x982 & 0xff; }
|
||||
void flagClr() { mFlags = 0; }
|
||||
void flagOn(u16 i_flag) { mFlags |= i_flag; }
|
||||
void flagOff(u16 i_flag) { mFlags &= ~i_flag; }
|
||||
u16 flagCheck(u16 i_flag) { return mFlags & i_flag; }
|
||||
void setAction(daTbox_actionFn i_actionFn) { mpActionFn = i_actionFn; }
|
||||
void action() { (this->*mpActionFn)(); }
|
||||
|
||||
private:
|
||||
/* 0x718 */ bool field_0x718;
|
||||
/* 0x71C */ request_of_phase_process_class mPhase;
|
||||
/* 0x724 */ J3DModel* mpModel;
|
||||
/* 0x728 */ J3DModel* mpSlimeModel;
|
||||
/* 0x72C */ mDoExt_bckAnm* mpAnm;
|
||||
/* 0x730 */ J3DModel* mpEffectModel;
|
||||
/* 0x734 */ mDoExt_brkAnm* mpEffectAnm;
|
||||
/* 0x738 */ dBgW* mpOpenBgW;
|
||||
/* 0x73C */ dBgW* mpBgCollider;
|
||||
/* 0x740 */ daTbox_actionFn mpActionFn;
|
||||
/* 0x74C */ int mStaffId;
|
||||
/* 0x750 */ f32 field_0x750;
|
||||
/* 0x754 */ u16 mFlags;
|
||||
/* 0x756 */ u16 mDemoFrame;
|
||||
/* 0x758 */ bool field_0x758;
|
||||
/* 0x759 */ u8 field_0x759;
|
||||
/* 0x75A */ u16 field_0x75a;
|
||||
/* 0x75C */ u8 mTimer;
|
||||
/* 0x760 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x938 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x978 */ u8 mTboxNo;
|
||||
/* 0x97A */ s16 mEventId;
|
||||
/* 0x97C */ bool field_0x97c;
|
||||
/* 0x97D */ bool field_0x97d;
|
||||
/* 0x97E */ u8 field_0x97e;
|
||||
/* 0x97F */ bool mParamsInit;
|
||||
/* 0x980 */ u16 field_0x980;
|
||||
/* 0x982 */ u16 field_0x982;
|
||||
/* 0x984 */ s16 field_0x984;
|
||||
/* 0x988 */ Mtx field_0x988;
|
||||
/* 0x9B8 */ cXyz mRotAxis;
|
||||
/* 0x9C4 */ s16 field_0x9c4;
|
||||
/* 0x9C6 */ s16 field_0x9c6;
|
||||
/* 0x9C8 */ u8 field_0x9c8;
|
||||
/* 0x9C9 */ u8 field_0x9c9;
|
||||
/* 0x9CA */ s16 field_0x9ca;
|
||||
/* 0x9CC */ u8 field_0x9cc;
|
||||
/* 0x9CD */ u8 mMode;
|
||||
/* 0x9D0 */ LIGHT_INFLUENCE mLight;
|
||||
/* 0x9F0 */ f32 mAllcolRatio;
|
||||
/* 0x9F4 */ int field_0x9f4;
|
||||
/* 0x9F8 */ u32 mOpenSeId;
|
||||
/* 0x9FC */ u8 field_0x9fc;
|
||||
/* 0x9FD */ u8 field_0x9fd;
|
||||
/* 0xA00 */ Mtx field_0xa00;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTbox_c) == 0xA30);
|
||||
|
||||
class daTbox_HIO_c : mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80490D2C */ daTbox_HIO_c();
|
||||
/* 804960B8 */ virtual ~daTbox_HIO_c() {}
|
||||
|
||||
/* 0x04 */ u8 mItemNo;
|
||||
/* 0x05 */ u8 mUseDebugItemNo;
|
||||
/* 0x06 */ u8 mClearSwitch;
|
||||
/* 0x07 */ u8 mDemoType;
|
||||
/* 0x08 */ u8 mDebugLightColorEnabled;
|
||||
/* 0x09 */ u8 mTimerDisplay;
|
||||
/* 0x0A */ u8 mCheckDisplay;
|
||||
/* 0x0B */ u8 mSaveOff;
|
||||
/* 0x0C */ f32 mGravity;
|
||||
/* 0x10 */ cXyz mLightOffset;
|
||||
/* 0x1C */ s16 mLightColorR;
|
||||
/* 0x1E */ s16 mLightColorG;
|
||||
/* 0x20 */ s16 mLightColorB;
|
||||
/* 0x24 */ f32 mLightPower;
|
||||
/* 0x28 */ f32 mFluctuationRate;
|
||||
/* 0x2C */ f32 mEnvColorInfluence;
|
||||
/* 0x30 */ s16 mFluctuationSpeed;
|
||||
/* 0x32 */ u8 mForPlacementCheck;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTbox_HIO_c) == 0x34);
|
||||
|
||||
#endif /* D_A_TBOX_H */
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
/* 80267C1C-80267C94 26255C 0078+00 0/0 2/2 123/123 .text __ct__11cBgS_GndChkFv */
|
||||
cBgS_GndChk::cBgS_GndChk() {
|
||||
m_pos = cXyz::Zero;
|
||||
setActorPid(0xFFFFFFFF);
|
||||
SetActorPid(0xFFFFFFFF);
|
||||
mFlags = 2;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ void cBgS_LinChk::ct() {
|
|||
cXyz xyz(cXyz::Zero);
|
||||
mLin.SetStartEnd(xyz, xyz);
|
||||
field_0x40 = xyz;
|
||||
setActorPid(0xFFFFFFFF);
|
||||
SetActorPid(0xFFFFFFFF);
|
||||
field_0x4c = 0;
|
||||
mFrontFlag = 1;
|
||||
mBackFlag = 0;
|
||||
|
|
@ -34,7 +34,7 @@ void cBgS_LinChk::ct() {
|
|||
void cBgS_LinChk::Set2(cXyz const* pStart, cXyz const* pEnd, unsigned int actorPid) {
|
||||
mLin.SetStartEnd(*pStart, *pEnd);
|
||||
field_0x40 = *pEnd;
|
||||
setActorPid(actorPid);
|
||||
SetActorPid(actorPid);
|
||||
field_0x4c &= ~0x10;
|
||||
ClearPi();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,100 +10,6 @@
|
|||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct cXyz {
|
||||
/* 80266AE4 */ void operator+(Vec const&) const;
|
||||
/* 80266B34 */ void operator-(Vec const&) const;
|
||||
/* 80266B84 */ void operator*(f32) const;
|
||||
/* 80267128 */ void atan2sX_Z() const;
|
||||
/* 80267150 */ void atan2sY_XZ() const;
|
||||
/* 804BD8B8 */ ~cXyz();
|
||||
/* 804BD8F4 */ cXyz();
|
||||
|
||||
static f32 Zero[3];
|
||||
static u8 BaseX[12];
|
||||
};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
/* 8000CD9C */ void transM(f32, f32, f32);
|
||||
/* 8000CE70 */ void scaleM(cXyz const&);
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
/* 8000CF44 */ void ZXYrotM(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct mDoExt_morf_c {
|
||||
/* 8000FB7C */ void setMorf(f32);
|
||||
};
|
||||
|
||||
struct J3DDeformData {};
|
||||
|
||||
struct J3DModel {
|
||||
/* 80327A2C */ void setDeformData(J3DDeformData*, u32);
|
||||
/* 80327C58 */ void calcWeightEnvelopeMtx();
|
||||
};
|
||||
|
||||
struct mDoExt_invisibleModel {
|
||||
/* 8000E53C */ void create(J3DModel*, u8);
|
||||
/* 8000E7C0 */ void entryDL(cXyz*);
|
||||
};
|
||||
|
||||
struct J3DAnmCluster {};
|
||||
|
||||
struct mDoExt_blkAnm {
|
||||
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
|
||||
};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
struct mDoExt_bckAnm {
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D990 */ void changeBckOnly(J3DAnmTransform*);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct J3DTransformInfo {};
|
||||
|
||||
struct mDoExt_McaMorfCallBack2_c {};
|
||||
|
||||
struct mDoExt_McaMorfCallBack1_c {};
|
||||
|
||||
struct Z2Creature {
|
||||
/* 802C03C8 */ Z2Creature();
|
||||
/* 802C0420 */ ~Z2Creature();
|
||||
/* 802C0530 */ void init(Vec*, Vec*, u8, u8);
|
||||
/* 802C0628 */ void initAnime(void*, bool, f32, f32);
|
||||
/* 802C06D0 */ void updateAnime(f32, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_McaMorfSO {
|
||||
/* 800107D0 */ mDoExt_McaMorfSO(J3DModelData*, mDoExt_McaMorfCallBack1_c*,
|
||||
mDoExt_McaMorfCallBack2_c*, J3DAnmTransform*, int, f32, int,
|
||||
int, Z2Creature*, u32, u32);
|
||||
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
|
||||
/* 800110B0 */ void play(u32, s8);
|
||||
/* 800111EC */ void modelCalc();
|
||||
/* 80011250 */ void getTransform(u16, J3DTransformInfo*);
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct fopAcM_lc_c {
|
||||
/* 8001DC68 */ void lineCheck(cXyz const*, cXyz const*, fopAc_ac_c const*);
|
||||
};
|
||||
|
|
@ -115,23 +21,6 @@ struct fopAcM_gc_c {
|
|||
static f32 mGroundY;
|
||||
};
|
||||
|
||||
struct daPy_py_c {
|
||||
static u8 m_midnaActor[4];
|
||||
};
|
||||
|
||||
struct daPy_anmHeap_c {
|
||||
struct daAlinkHEAP_TYPE {};
|
||||
|
||||
/* 8015ED10 */ daPy_anmHeap_c(u32);
|
||||
/* 8015ED50 */ ~daPy_anmHeap_c();
|
||||
/* 8015EDAC */ void initData();
|
||||
/* 8015EDC4 */ void mallocBuffer();
|
||||
/* 8015EE00 */ void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE);
|
||||
/* 8015F068 */ void loadDataIdx(u16);
|
||||
/* 8015F118 */ void loadDataDemoRID(u16, u16);
|
||||
/* 804BD8F8 */ void __defctor();
|
||||
};
|
||||
|
||||
struct J3DMaterial {};
|
||||
|
||||
struct daMidna_matAnm_c {
|
||||
|
|
@ -144,65 +33,11 @@ struct daMidna_hio_c0 {
|
|||
static u8 const m[32];
|
||||
};
|
||||
|
||||
struct daMidna_c {
|
||||
struct daMidna_ANM {};
|
||||
|
||||
/* 804BC3E0 */ void modelCallBack(int);
|
||||
/* 804BC5C4 */ void changeUpperBck();
|
||||
/* 804BC614 */ void changeFaceBck();
|
||||
/* 804BC670 */ void baseModelCallBack(int);
|
||||
/* 804BC740 */ void initInvModel(u16, J3DModel**, mDoExt_invisibleModel*, u32);
|
||||
/* 804BC7D4 */ void initDemoModel(J3DModel**, char const*, u32);
|
||||
/* 804BC868 */ void createHeap();
|
||||
/* 804BD274 */ void create();
|
||||
/* 804BD93C */ void allAnimePlay();
|
||||
/* 804BDE04 */ void setMatrix();
|
||||
/* 804BE470 */ void setBodyPartMatrix();
|
||||
/* 804BED1C */ void setRoomInfo();
|
||||
/* 804BEDB8 */ void setBodyPartPos();
|
||||
/* 804BEFA0 */ void checkAppear();
|
||||
/* 804BF070 */ void checkMidnaPosState();
|
||||
/* 804BFF80 */ void setUpperAnime(u16, u16);
|
||||
/* 804C0020 */ void setUpperAnimeAndSe(daMidna_c::daMidna_ANM);
|
||||
/* 804C0094 */ void setFaceAnime(u16, u16);
|
||||
/* 804C0134 */ void endHighModel();
|
||||
/* 804C0238 */ void setDemoAnm();
|
||||
/* 804C0BAC */ void setFaceBtp(u16, int);
|
||||
/* 804C0C6C */ void setFaceBtk(u16, int);
|
||||
/* 804C0D2C */ void setLeftHandShape(u16);
|
||||
/* 804C0E18 */ void setRightHandShape(u16);
|
||||
/* 804C0F04 */ void checkHairOnlyAnime(int) const;
|
||||
/* 804C0F24 */ void setBckAnime(J3DAnmTransform*, int, f32);
|
||||
/* 804C103C */ void setAnm();
|
||||
/* 804C287C */ void getNeckAimAngle(cXyz const*, s16*, s16*, s16*, s16*);
|
||||
/* 804C2A68 */ void clearEyeMove();
|
||||
/* 804C2AB8 */ void setEyeMove(cXyz const*, s16, s16);
|
||||
/* 804C2EBC */ void setNeckAngle();
|
||||
/* 804C3168 */ void initHairAngle();
|
||||
/* 804C3298 */ void setHairAngle();
|
||||
/* 804C3F04 */ void setDemoData();
|
||||
/* 804C4394 */ void setSimpleBrk(J3DModelData*, u16);
|
||||
/* 804C4444 */ void setSimpleBtk(J3DModelData*, u16);
|
||||
/* 804C44CC */ void initMidnaModel();
|
||||
/* 804C49B8 */ void setMidnaNoDrawFlg();
|
||||
/* 804C4AE8 */ void checkMetamorphoseEnableBase();
|
||||
/* 804C4B68 */ void checkNoDrawState();
|
||||
/* 804C4BC0 */ void setSound();
|
||||
/* 804C4FDC */ void execute();
|
||||
/* 804C5A08 */ void draw();
|
||||
/* 804C61A4 */ ~daMidna_c();
|
||||
|
||||
static u8 const m_texDataTable[84];
|
||||
static u8 const m_anmDataTable[636];
|
||||
};
|
||||
|
||||
struct daMidna_McaMorfCB1_c {
|
||||
/* 804BC36C */ void execute(u16, J3DTransformInfo*);
|
||||
/* 804C6398 */ ~daMidna_McaMorfCB1_c();
|
||||
};
|
||||
|
||||
struct J3DAnmBase {};
|
||||
|
||||
struct daAlink_c {
|
||||
/* 800A3F98 */ void initDemoBck(mDoExt_bckAnm**, char const*);
|
||||
/* 800A9248 */ void simpleAnmPlay(J3DAnmBase*);
|
||||
|
|
@ -219,83 +54,10 @@ struct daAlink_c {
|
|||
/* 801391DC */ void getWolfLockActorEnd();
|
||||
};
|
||||
|
||||
struct dVibration_c {
|
||||
/* 8006FA24 */ void StartShock(int, int, cXyz);
|
||||
};
|
||||
|
||||
struct dSv_player_status_b_c {
|
||||
/* 80032BEC */ void isTransformLV(int) const;
|
||||
};
|
||||
|
||||
struct dSv_event_c {
|
||||
/* 800349BC */ void isEventBit(u16) const;
|
||||
};
|
||||
|
||||
struct dStage_roomControl_c {
|
||||
static u8 mDemoArcName[10 + 2 /* padding */];
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C160 */ void syncRes(char const*, dRes_info_c*, int);
|
||||
/* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int);
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
/* 8003C400 */ void getIDRes(char const*, u16, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dPa_levelEcallBack {};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct dPa_control_c {
|
||||
struct level_c {
|
||||
/* 8004B918 */ void getEmitter(u32);
|
||||
};
|
||||
|
||||
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
|
||||
_GXColor const*, cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct dMsgObject_c {
|
||||
/* 802383A4 */ void isMouthCheck();
|
||||
};
|
||||
|
||||
struct dMsgFlow_c {
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
|
||||
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
|
||||
/* 8024A528 */ void getEventId(int*);
|
||||
};
|
||||
|
||||
struct dEvt_control_c {
|
||||
/* 80042518 */ void reset(void*);
|
||||
/* 800432EC */ void convPId(unsigned int);
|
||||
};
|
||||
|
||||
struct dEvent_manager_c {
|
||||
/* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int);
|
||||
/* 80047F5C */ void getMyNowCutName(int);
|
||||
/* 800480EC */ void getMySubstanceP(int, char const*, int);
|
||||
/* 8004817C */ void cutEnd(int);
|
||||
/* 8004882C */ void checkStartDemo();
|
||||
};
|
||||
|
||||
struct dDlst_shadowControl_c {
|
||||
/* 80055F1C */ void addReal(u32, J3DModel*);
|
||||
|
||||
static u8 mSimpleTexObj[32];
|
||||
};
|
||||
|
||||
struct dDemo_object_c {
|
||||
/* 80039088 */ void getActor(u8);
|
||||
};
|
||||
|
|
@ -309,42 +71,6 @@ struct dDemo_actor_c {
|
|||
/* 80038338 */ void getDemoIDData(int*, int*, int*, u16*, u8*);
|
||||
};
|
||||
|
||||
struct dBgS_LinkLinChk {
|
||||
/* 80078030 */ dBgS_LinkLinChk();
|
||||
/* 8007808C */ ~dBgS_LinkLinChk();
|
||||
};
|
||||
|
||||
struct dBgS_LinChk {
|
||||
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct dBgS {
|
||||
/* 80074BE8 */ void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 80075100 */ void GetRoomId(cBgS_PolyInfo const&);
|
||||
};
|
||||
|
||||
struct cBgS_LinChk {};
|
||||
|
||||
struct cBgS {
|
||||
/* 800743B4 */ void LineCross(cBgS_LinChk*);
|
||||
};
|
||||
|
||||
struct _GXTexObj {};
|
||||
|
||||
struct _GXColorS10 {};
|
||||
|
||||
struct Quaternion {};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct JKRArchive {
|
||||
/* 802D5ECC */ void readIdxResource(void*, u32, u32);
|
||||
};
|
||||
|
||||
struct J3DTexNoAnm {
|
||||
/* 804BD140 */ ~J3DTexNoAnm();
|
||||
/* 804BD188 */ J3DTexNoAnm();
|
||||
|
|
@ -366,33 +92,6 @@ struct J3DTevColorAnm {
|
|||
/* 804BD128 */ J3DTevColorAnm();
|
||||
};
|
||||
|
||||
struct J3DSys {
|
||||
static u8 mCurrentMtx[48];
|
||||
};
|
||||
|
||||
struct J3DAnmTextureSRTKey {
|
||||
/* 8032B1D4 */ void searchUpdateMaterialID(J3DModelData*);
|
||||
};
|
||||
|
||||
struct J3DAnmTevRegKey {
|
||||
/* 8032B1F8 */ void getTevColorReg(u16, _GXColorS10*) const;
|
||||
/* 8032B4BC */ void getTevKonstReg(u16, _GXColor*) const;
|
||||
/* 8032B87C */ void searchUpdateMaterialID(J3DModelData*);
|
||||
};
|
||||
|
||||
struct J3DAnmTexPattern {
|
||||
/* 8032AF50 */ void getTexNo(u16, u16*) const;
|
||||
/* 8032B09C */ void searchUpdateMaterialID(J3DModelData*);
|
||||
};
|
||||
|
||||
struct J3DMaterialTable {
|
||||
/* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032F880 */ void removeTevRegAnimator(J3DAnmTevRegKey*);
|
||||
/* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*);
|
||||
/* 8032FCC4 */ void entryTexMtxAnimator(J3DAnmTextureSRTKey*);
|
||||
/* 8032FE70 */ void entryTevRegAnimator(J3DAnmTevRegKey*);
|
||||
};
|
||||
|
||||
struct J3DMaterialAnm {
|
||||
/* 8032C320 */ void initialize();
|
||||
/* 8032C3C4 */ void calc(J3DMaterial*) const;
|
||||
|
|
@ -403,14 +102,6 @@ struct J3DMatColorAnm {
|
|||
/* 804BD23C */ J3DMatColorAnm();
|
||||
};
|
||||
|
||||
struct J3DJoint {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 8032842C */ void checkPass(f32);
|
||||
/* 804BD050 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
struct J3DAnmLoaderDataBaseFlag {};
|
||||
|
||||
struct J3DAnmLoaderDataBase {
|
||||
|
|
@ -646,15 +337,6 @@ extern "C" void entryTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey()
|
|||
extern "C" void entryTevRegAnimator__16J3DMaterialTableFP15J3DAnmTevRegKey();
|
||||
extern "C" void load__20J3DAnmLoaderDataBaseFPCv24J3DAnmLoaderDataBaseFlag();
|
||||
extern "C" void JMAEulerToQuat__FsssP10Quaternion();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void PSMTXMultVecSR();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void PSVECSubtract();
|
||||
extern "C" void PSVECScale();
|
||||
extern "C" void PSVECSquareMag();
|
||||
extern "C" void PSVECSquareDistance();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_14();
|
||||
|
|
@ -673,24 +355,17 @@ extern "C" void _restgpr_26();
|
|||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__14J3DMaterialAnm[4];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mGndCheck__11fopAcM_gc_c[84];
|
||||
extern "C" u8 mDemoArcName__20dStage_roomControl_c[10 + 2 /* padding */];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 g_meter2_info[248];
|
||||
extern "C" f32 Zero__4cXyz[3];
|
||||
extern "C" u8 BaseX__4cXyz[12];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 mCurrentMtx__6J3DSys[48];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" f32 mGroundY__11fopAcM_gc_c;
|
||||
extern "C" extern u8 mStayNo__20dStage_roomControl_c[4];
|
||||
extern "C" u8 m_object__7dDemo_c[4];
|
||||
extern "C" u8 m_midnaActor__9daPy_py_c[4];
|
||||
extern "C" extern u8 struct_804C6CD8[4];
|
||||
|
|
@ -1052,7 +727,8 @@ asm void daMidna_c::createHeap() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
// asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
extern "C" asm void __dt__12J3DFrameCtrlFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_midna/d_a_midna/__dt__12J3DFrameCtrlFv.s"
|
||||
}
|
||||
|
|
@ -1247,14 +923,16 @@ asm void daMidna_c::create() {
|
|||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cXyz::~cXyz() {
|
||||
// asm cXyz::~cXyz() {
|
||||
extern "C" asm void __dt__4cXyzFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/d_a_midna/d_a_midna/__dt__4cXyzFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 804BD8F4-804BD8F8 001754 0004+00 1/1 0/0 0/0 .text __ct__4cXyzFv */
|
||||
cXyz::cXyz() {
|
||||
// cXyz::cXyz() {
|
||||
extern "C" asm void __ct__4cXyzFv() {
|
||||
/* empty function */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
// Translation Unit: d_a_tbox
|
||||
//
|
||||
|
||||
#include "rel/d/a/d_a_tbox/d_a_tbox.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -4,8 +4,8 @@
|
|||
//
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "d/a/d_a_npc.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
|
@ -111,7 +111,7 @@ int daTagMhint_c::create() {
|
|||
stage_arrow_data_class* arrow_data_p =
|
||||
&dComIfGp_getRoomArrow(fopAcM_GetRoomNo(this))
|
||||
->mEntries[dComIfGp_getRoomCamera(fopAcM_GetRoomNo(this))
|
||||
->field_0x4[field_0x56d]
|
||||
->mEntries[field_0x56d]
|
||||
.field_0x10];
|
||||
|
||||
mEyePos.set(arrow_data_p->mPosition.x, arrow_data_p->mPosition.y,
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ int daTagMmsg_c::create() {
|
|||
s32 roomNo = fopAcM_GetRoomNo(this);
|
||||
cXyz* tmp =
|
||||
&dComIfGp_getRoomArrow(roomNo)
|
||||
->mEntries[dComIfGp_getRoomCamera(roomNo)->field_0x4[mAttention].field_0x10]
|
||||
->mEntries[dComIfGp_getRoomCamera(roomNo)->mEntries[mAttention].field_0x10]
|
||||
.mPosition;
|
||||
mEyePos.set(tmp->x, tmp->y, tmp->z);
|
||||
mAttentionInfo.mPosition = mEyePos;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
*/
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_mwait/d_a_tag_mwait.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,9 +4,10 @@
|
|||
//
|
||||
|
||||
#include "rel/d/a/tag/d_a_tag_wljump/d_a_tag_wljump.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "dol2asm.h"
|
||||
#include "d/d_path.h"
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "rel/d/a/tag/d_a_tag_magne/d_a_tag_magne.h"
|
||||
#include "rel/d/a/tag/d_a_tag_mist/d_a_tag_mist.h"
|
||||
#include "rel/d/a/d_a_mirror/d_a_mirror.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include "d/a/d_a_alink.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_lib.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "rel/d/a/d_a_boomerang/d_a_boomerang.h"
|
||||
#include "rel/d/a/d_a_spinner/d_a_spinner.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -277,7 +277,7 @@ void dBgS_Acch::Set(cXyz* p_pos, cXyz* p_old_pos, fopAc_ac_c* p_actor, int table
|
|||
pm_pos = p_pos;
|
||||
pm_old_pos = p_old_pos;
|
||||
m_my_ac = p_actor;
|
||||
setActorPid(fopAcM_GetID(p_actor));
|
||||
SetActorPid(fopAcM_GetID(p_actor));
|
||||
pm_speed = p_speed;
|
||||
m_tbl_size = table_size;
|
||||
field_0x8c = param_4;
|
||||
|
|
@ -292,7 +292,7 @@ void dBgS_Acch::Set(fopAc_ac_c* p_actor, int table_size, dBgS_AcchCir* param_2)
|
|||
field_0x8c = param_2;
|
||||
m_my_ac = p_actor;
|
||||
|
||||
setActorPid(fopAcM_GetID(p_actor));
|
||||
SetActorPid(fopAcM_GetID(p_actor));
|
||||
pm_pos = &fopAcM_GetPosition_p(p_actor);
|
||||
pm_old_pos = &fopAcM_GetOldPosition_p(p_actor);
|
||||
pm_speed = &fopAcM_GetSpeed_p(p_actor);
|
||||
|
|
@ -335,7 +335,7 @@ void dBgS_Acch::GroundCheck(dBgS& param_0) {
|
|||
dBgS_RoofChk tmpRoofChk;
|
||||
data_80450F68 = 1;
|
||||
}
|
||||
tmpRoofChk.setActorPid(m_gnd.GetActorPid());
|
||||
tmpRoofChk.SetActorPid(m_gnd.GetActorPid());
|
||||
tmpRoofChk.i_SetPos(*pm_pos);
|
||||
f32 tmp = param_0.RoofChk(&tmpRoofChk);
|
||||
if (grnd_pos.y > tmp) {
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ dBgS_RoofChk::dBgS_RoofChk() {
|
|||
m_pos.x = 0.0f;
|
||||
m_pos.y = 0.0f;
|
||||
m_pos.z = 0.0f;
|
||||
setActorPid(0xFFFFFFFF);
|
||||
SetActorPid(0xFFFFFFFF);
|
||||
field_0x48 = 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
dBgS_SphChk::dBgS_SphChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
setActorPid(0xFFFFFFFF);
|
||||
SetActorPid(0xFFFFFFFF);
|
||||
ClearPi();
|
||||
mCallback = NULL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1998,7 +1998,7 @@ static int dStage_playerInit(dStage_dt_c* stageDt, void* i_data, int num, void*
|
|||
static int dStage_cameraInit(dStage_dt_c* stageDt, void* i_data, int param_2, void* param_3) {
|
||||
stage_camera_class* camera = (stage_camera_class*)((char*)i_data + 4);
|
||||
stageDt->setCamera(camera);
|
||||
dStage_cameraCreate(camera->field_0x4, 0, 0);
|
||||
dStage_cameraCreate(camera->mEntries, 0, 0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
#include "rel/d/a/tag/d_a_tag_mhint/d_a_tag_mhint.h"
|
||||
#include "rel/d/a/tag/d_a_tag_mstop/d_a_tag_mstop.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,7 @@
|
|||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "m_Do/m_Do_audio.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "rel/d/a/d_a_midna/d_a_midna.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
|
|
|
|||
Loading…
Reference in New Issue