diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2023-11-02 13:35:31 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-02 19:35:31 +0200 |
| commit | 30d9eaa052de1eda76bebfc88f679d6620b46160 (patch) | |
| tree | 22cb25b22a7cf015b706ae4fad79509a29a88008 /include/d | |
| parent | cfa5f44bb7884ed2842017329fa154453c2fd5ee (diff) | |
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
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/a/d_a_alink.h | 254 | ||||
| -rw-r--r-- | include/d/bg/d_bg_s.h | 3 | ||||
| -rw-r--r-- | include/d/com/d_com_inf_game.h | 16 | ||||
| -rw-r--r-- | include/d/d_stage.h | 5 | ||||
| -rw-r--r-- | include/d/d_tresure.h | 4 | ||||
| -rw-r--r-- | include/d/kankyo/d_kankyo.h | 3 |
6 files changed, 29 insertions, 256 deletions
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index f1a5ecfe43..3a73feb858 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -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); diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index 011ff553b9..2d9e1ccbb9 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -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&); diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 06d32de25b..36050fe6f7 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -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); } diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 0955bdf316..b1943fc7fb 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -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; diff --git a/include/d/d_tresure.h b/include/d/d_tresure.h index 78ac174efe..04650bc038 100644 --- a/include/d/d_tresure.h +++ b/include/d/d_tresure.h @@ -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; diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h index add7ddb20a..b4c0ab2947 100644 --- a/include/d/kankyo/d_kankyo.h +++ b/include/d/kankyo/d_kankyo.h @@ -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); |
