diff options
| author | Pheenoh <pheenoh@gmail.com> | 2023-03-17 21:05:06 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-17 21:05:06 -0600 |
| commit | 3cdef97cb8648cf5a5f2151938c5fa8d66056751 (patch) | |
| tree | e96e03eb21c61f9aa4cd2868724b55b4872a190b /include | |
| parent | a01d65b0b99400f62d93eee28475872b641cfd50 (diff) | |
d_file_select, JASResArcLoader, d_a_obj_stone, d_a_obj_stone_mark (#309)
* setup TU
* JASResArcLoader OK
* d_a_obj_stoneMark work
* some funcs in d_a_obj_stoneMark
* many changes
* quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile
* d_file_select functions + pr cleanup
Diffstat (limited to 'include')
24 files changed, 949 insertions, 275 deletions
diff --git a/include/JSystem/J2DGraph/J2DAnimation.h b/include/JSystem/J2DGraph/J2DAnimation.h index 5974961dac..1cb44c0f04 100644 --- a/include/JSystem/J2DGraph/J2DAnimation.h +++ b/include/JSystem/J2DGraph/J2DAnimation.h @@ -124,7 +124,11 @@ public: mTranslateValues = pTranslateValues; mKind = KIND_TRANSFORM; } + #ifdef __dt__15J2DAnmTransformFv_DEFINED + /* 80184370 */ virtual ~J2DAnmTransform(); + #else /* 80184370 */ virtual ~J2DAnmTransform() {} + #endif /* 80191130 */ virtual void getTransform(u16, J3DTransformInfo*) const; /* 0x10 */ f32* mScaleValues; diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index fe6649981b..7d4832d8eb 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -94,8 +94,7 @@ public: /* vt 0x70 */ virtual void setAnimation(J2DAnmTevRegKey* anm) {} /* vt 0x74 */ virtual void setAnimation(J2DAnmVisibilityFull* anm) {} /* vt 0x78 */ virtual void setAnimation(J2DAnmVtxColor* anm) {} - /* vt 0x7C */ virtual const J2DAnmTransform* - animationTransform(const J2DAnmTransform* transform); + /* vt 0x7C */ virtual const J2DAnmTransform* animationTransform(const J2DAnmTransform* transform); /* vt 0x80 */ virtual void setVisibileAnimation(J2DAnmVisibilityFull* visibility); /* vt 0x84 */ virtual void setAnimationVF(J2DAnmVisibilityFull* visibility); /* vt 0x88 */ virtual void setVtxColorAnimation(J2DAnmVtxColor* vtx_color); diff --git a/include/JSystem/J3DGraphAnimator/J3DModel.h b/include/JSystem/J3DGraphAnimator/J3DModel.h index 3c20380ef5..80176968f8 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModel.h +++ b/include/JSystem/J3DGraphAnimator/J3DModel.h @@ -11,8 +11,14 @@ #include "dolphin/types.h" enum J3DMdlFlag { - /* 0x4 */ J3DMdlFlag_SkinPosCpu = 0x4, - /* 0x8 */ J3DMdlFlag_SkinNrmCpu = 0x8, + /* 0x00001 */ J3DMdlFlag_Unk00001 = 0x1, + /* 0x00002 */ J3DMdlFlag_Unk00002 = 0x2, + /* 0x00004 */ J3DMdlFlag_SkinPosCpu = 0x4, + /* 0x00008 */ J3DMdlFlag_SkinNrmCpu = 0x8, + /* 0x00010 */ J3DMdlFlag_Unk00010 = 0x10, + /* 0x20000 */ J3DMdlFlag_Unk20000 = 0x20000, + /* 0x40000 */ J3DMdlFlag_Unk40000 = 0x40000, + /* 0x80000 */ J3DMdlFlag_Unk80000 = 0x80000, }; struct J3DUnkCalc1 { diff --git a/include/JSystem/JAudio2/JASResArcLoader.h b/include/JSystem/JAudio2/JASResArcLoader.h index 32050268a6..8e32fb6b06 100644 --- a/include/JSystem/JAudio2/JASResArcLoader.h +++ b/include/JSystem/JAudio2/JASResArcLoader.h @@ -1,6 +1,44 @@ #ifndef JASRESARCLOADER_H #define JASRESARCLOADER_H -#include "dolphin/types.h" +#include "JSystem/JKernel/JKRArchive.h" + +namespace JASResArcLoader { + /* 80290BD0 */ size_t getResSize(JKRArchive const*, u16); + /* 80290C04 */ size_t getResMaxSize(JKRArchive const*); + /* 80290C7C */ static void loadResourceCallback(void*); + /* 80290D18 */ int loadResourceAsync(JKRArchive*, u16, u8*, u32, void (*)(u32, u32), u32); +}; + + + +// from pikmin2 +typedef void (*LoadCallback)(u32, u32); + +enum ResArcMessage { + RESARCMSG_Error = -1, + RESARCMSG_Success = 0, +}; + +struct CallbackArgs { + inline CallbackArgs(u16 id, u8* buf, u32 size, JKRArchive* archive) + : mArchive(archive) + , mID(id) + , mBuffer(buf) + , mBufferSize(size) + , mCallback(0) + , mCallbackArg(0) + , mQueue(0) + { + } + + JKRArchive* mArchive; // _00 + u16 mID; // _04 + u8* mBuffer; // _08 + u32 mBufferSize; // _0C + LoadCallback mCallback; // _10 + u32 mCallbackArg; // _14, arg to pass to mCallback along with readResource result + OSMessageQueue* mQueue; // _18 +}; #endif /* JASRESARCLOADER_H */ diff --git a/include/JSystem/JKernel/JKRArchive.h b/include/JSystem/JKernel/JKRArchive.h index b339fb71ef..2583da20b8 100644 --- a/include/JSystem/JKernel/JKRArchive.h +++ b/include/JSystem/JKernel/JKRArchive.h @@ -84,6 +84,7 @@ public: // was needed for open__14JKRAramArchiveFl u8 getCompressFlag() const { return (getFlags() & 0x04); } bool isYAZ0Compressed() const { return (getFlags() & 0x80) != 0; } + u32 getSize() const { return data_size; } }; enum EMountMode { diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index 927ee8d6e8..4d8f196f90 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -236,4 +236,8 @@ inline s32 JKRResizeMemBlock(JKRHeap* heap, void* ptr, u32 size) { return JKRHeap::resize(ptr, size, heap); } +inline JKRHeap* JKRGetRootHeap() { + return JKRHeap::getRootHeap(); +} + #endif /* JKRHEAP_H */ diff --git a/include/JSystem/JUtility/JUTException.h b/include/JSystem/JUtility/JUTException.h index 447e1483aa..e03079cd50 100644 --- a/include/JSystem/JUtility/JUTException.h +++ b/include/JSystem/JUtility/JUTException.h @@ -98,6 +98,10 @@ public: mGamePadPort = JUTGamePad::Port_Unknown; } + static void setMapFile(const char* map) { + appendMapFile(map); + } + private: static OSMessageQueue sMessageQueue; static const char* sCpuExpName[17]; diff --git a/include/JSystem/JUtility/JUTNameTab.h b/include/JSystem/JUtility/JUTNameTab.h index e539c6f08c..d6c17bdddb 100644 --- a/include/JSystem/JUtility/JUTNameTab.h +++ b/include/JSystem/JUtility/JUTNameTab.h @@ -20,7 +20,7 @@ class JUTNameTab { public: JUTNameTab(); JUTNameTab(const ResNTAB* pNameTable); - virtual ~JUTNameTab() {} + virtual ~JUTNameTab() {}; void setResource(const ResNTAB* pNameTable); s32 getIndex(char const*) const; diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index f37db70369..f01ab4d0d1 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -457,6 +457,7 @@ public: void OnCoSetBit() { mObjCo.OnSPrmBit(1); } void OffAtVsPlayerBit() { mObjAt.OffSPrmBit(0xC); } void OnAtVsPlayerBit() { mObjAt.OnSPrmBit(0xC); } + void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); } }; // Size = 0x40 diff --git a/include/SSystem/SComponent/c_math.h b/include/SSystem/SComponent/c_math.h index 86330cc7d3..8369f5238a 100644 --- a/include/SSystem/SComponent/c_math.h +++ b/include/SSystem/SComponent/c_math.h @@ -29,6 +29,10 @@ inline s16 cM_deg2s(f32 val) { return val * 182.04445f; } +inline s16 i_cM_deg2s(f32 val) { + return val; +} + inline f32 cM_fsin(f32 v) { return JMASSin(cM_rad2s(v)); } diff --git a/include/SSystem/SComponent/c_sxyz.h b/include/SSystem/SComponent/c_sxyz.h index c595b8f495..7395f7e142 100644 --- a/include/SSystem/SComponent/c_sxyz.h +++ b/include/SSystem/SComponent/c_sxyz.h @@ -7,7 +7,7 @@ class csXyz : public SVec { public: static const csXyz Zero; - /* 80018BD0 */ ~csXyz() {} + /* 80018BD0 */ ~csXyz() {}; /* inline */ csXyz() {} /* inline */ csXyz(const csXyz& other) : SVec(other){}; /* 802673F4 */ csXyz(s16, s16, s16); diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 5404009a9f..d05a1591c6 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -3142,7 +3142,7 @@ public: return checkHookshotReadyAnime() || checkHookshotShootAnime(); } BOOL checkBoomerangReadyAnime() const { - return (mEquipItem == BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(0x54); + return (mEquipItem == BOOMERANG || mEquipItem == noentry71) && checkUpperAnime(0x54); } bool checkDkCaught2Anime() const { return checkUpperAnime(0x262); } BOOL checkCopyRodThrowAnime() const { return mEquipItem == COPY_ROD && checkUpperAnime(0x53); } @@ -3181,7 +3181,7 @@ public: bool swordButton() { return itemButtonCheck(8); } daPy_actorKeep_c* getThrowBoomerangAcKeep() { return &mThrowBoomerangAcKeep; } s32 getStartRoomNo() { return fopAcM_GetParam(this) & 0x3F; } - bool checkFisingRodLure() const { return mEquipItem == 0x105; } + bool checkFisingRodLure() const { return mEquipItem == noentry73; } bool doTrigger() const { return mItemTrigger & BTN_A; } bool swordTrigger() { return itemTriggerCheck(BTN_B); } bool peepSubjectCancelTrigger() { return itemTriggerCheck(0x8); } diff --git a/include/d/bg/d_bg_s_acch.h b/include/d/bg/d_bg_s_acch.h index 2f474c8f67..b2b4210101 100644 --- a/include/d/bg/d_bg_s_acch.h +++ b/include/d/bg/d_bg_s_acch.h @@ -121,6 +121,7 @@ public: void SetLin() { m_lin.SetStartEnd(*pm_old_pos, *pm_pos); } bool ChkGroundFind() { return m_flags & GROUND_FIND; } bool ChkGroundHit() { return m_flags & GROUND_HIT; } + bool ChkGroundLanding() { return m_flags & GROUND_LANDING; } void ClrGroundLanding() { m_flags &= ~GROUND_LANDING; } void ClrGroundAway() { m_flags &= ~GROUND_AWAY; } void ClrWallHit() { m_flags &= ~WALL_HIT; } @@ -136,6 +137,8 @@ public: void SetWaterHit() { m_flags |= WATER_HIT; } void ClrWaterIn() { m_flags &= ~WATER_IN; } void SetWaterIn() { m_flags |= WATER_IN; } + const u32 MaskWaterIn() { return m_flags & WATER_IN; } + const bool ChkWaterIn() { return MaskWaterIn();} void ClrGroundFind() { m_flags &= ~GROUND_FIND; } u32 MaskRoofHit() { return m_flags & ROOF_HIT; } bool ChkRoofHit() { return MaskRoofHit(); } diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 5c8ed40c72..66c7217599 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -346,6 +346,7 @@ public: void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); } void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); } void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); } + u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); } static u32 const m_hitSeID[24]; diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h index 033dd088de..3d2e298d6c 100644 --- a/include/d/com/d_com_inf_game.h +++ b/include/d/com/d_com_inf_game.h @@ -937,6 +937,10 @@ inline void dComIfGs_setCollectClothes(u8 i_clothesNo) { g_dComIfG_gameInfo.info.getPlayer().getCollect().setCollect(COLLECT_CLOTHING, i_clothesNo); } +inline void dComIfGs_setCardToMemory(char* card_ptr,int dataNum) { + g_dComIfG_gameInfo.info.card_to_memory(card_ptr,dataNum); +} + inline void dComIfGs_setRodTypeLevelUp() { g_dComIfG_gameInfo.info.getPlayer().getItem().setRodTypeLevelUp(); } @@ -1008,6 +1012,7 @@ inline void dComIfGs_offSwitch(int i_no, int i_roomNo) { g_dComIfG_gameInfo.info.offSwitch(i_no, i_roomNo); } + inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo) { return g_dComIfG_gameInfo.info.isSwitch(i_no, i_roomNo); } @@ -1479,6 +1484,10 @@ inline BOOL dComIfGs_isActor(int i_no, int i_roomNo) { return g_dComIfG_gameInfo.info.isActor(i_no, i_roomNo); } +inline void dComIfGs_offActor(int i_no, int i_roomNo) { + g_dComIfG_gameInfo.info.offActor(i_no,i_roomNo); +} + inline void dComIfGs_putSave(int i_stageNo) { g_dComIfG_gameInfo.info.putSave(i_stageNo); } diff --git a/include/d/d_lib.h b/include/d/d_lib.h index 0f87597d27..7a54285045 100644 --- a/include/d/d_lib.h +++ b/include/d/d_lib.h @@ -3,6 +3,7 @@ #include "dolphin/types.h" #include "dolphin/os/OS.h" +#include "dolphin/mtx/quat.h" struct JKRAramArchive; u32 dLib_getExpandSizeFromAramArchive(JKRAramArchive* arc, char const* resName); @@ -81,4 +82,6 @@ struct dLib_time_c { static bool m_timeStopped; }; +extern Quaternion ZeroQuat; + #endif /* D_D_LIB_H */ diff --git a/include/d/file/d_file_select.h b/include/d/file/d_file_select.h index bf6f18282e..f223124fcc 100644 --- a/include/d/file/d_file_select.h +++ b/include/d/file/d_file_select.h @@ -2,5 +2,468 @@ #define D_FILE_D_FILE_SELECT_H #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" +#include "m_Do/m_Do_MemCard.h" +#include "d/file/d_file_sel_warning.h" +#include "d/d_name.h" +#include "d/msg/d_msg_string.h" +#include "JSystem/J3DGraphLoader/J3DModelLoader.h" +#include "JSystem/J3DGraphLoader/J3DAnmLoader.h" + +class dDlst_FileSel_c { +public: + /* 8018DEBC */ void draw(); + /* 8019135C */ ~dDlst_FileSel_c(); + + /* 0x00 */ void* vtable; + /* 0x04 */ J2DScreen* mpScreen; +}; + +struct dFile_select3D_c { + /* 801902F0 */ dFile_select3D_c(); + /* 80190380 */ ~dFile_select3D_c(); + /* 801903DC */ void _create(u8, u8); + /* 8019049C */ void _delete(); + /* 801904A0 */ void freeHeap(); + /* 801904E4 */ void _move(); + /* 801905A8 */ void draw(); + /* 8019065C */ void setJ3D(char const*, char const*, char const*); + /* 8019095C */ void set_mtx(); + /* 80190A14 */ void animePlay(); + /* 80190B44 */ void animeEntry(); + /* 80190BA8 */ void createMaskModel(); + /* 80190D68 */ void createMirrorModel(); + /* 80190FE8 */ void toItem3Dpos(f32, f32, f32, cXyz*); + /* 801910D4 */ void calcViewMtx(f32 (*)[4]); +}; + +struct dDlst_FileSelYn_c { + /* 8018E0C0 */ void draw(); + /* 801911F4 */ ~dDlst_FileSelYn_c(); + + /* 0x00 */ void* vtable; + /* 0x04 */ J2DScreen* mpScreen; + /* 0x08 */ u8 field_0x08[4]; +}; + +struct dDlst_FileSelDt_c { + /* 8018DEF4 */ void draw(); + /* 801912E4 */ ~dDlst_FileSelDt_c(); + + /* 0x00 */ void* vtable; + /* 0x04 */ J2DScreen* mpScreen; + /* 0x08 */ J2DPane* mpPane; + /* 0x0C */ u8 field_0x0c[4]; +}; + +struct dDlst_FileSelCp_c { + /* 8018DFFC */ void draw(); + /* 8019126C */ ~dDlst_FileSelCp_c(); + + /* 0x00 */ void* vtable; + /* 0x04 */ J2DScreen* mpScreen; + /* 0x08 */ bool field_0x08; + /* 0x0C */ J2DPane* mpPane1; + /* 0x10 */ J2DPane* mpPane2; +}; + +struct dDlst_FileSel3m_c { + /* 8018E0F8 */ void draw(); + /* 8019117C */ ~dDlst_FileSel3m_c(); + + /* 0x00 */ void* vtable; + /* 0x04 */ J2DScreen* mpScreen; +}; + +struct dFile_info_c { + /* 80192434 */ dFile_info_c(JKRArchive*, u8); + /* 80192954 */ void setSaveData(dSv_save_c*, int, u8); + /* 80192D60 */ void _draw(); +}; + +// temp struct in order to get matches +class dFs_HIO_c_tmp { +public: + /* 0x0000 */ void* vtable; + /* 0x0004 */ s8 field_0x0004; + /* 0x0005 */ u8 field_0x0005; + /* 0x0006 */ u8 field_0x0006; + /* 0x0007 */ u8 field_0x0007; + /* 0x0008 */ u8 field_0x0008; + /* 0x0009 */ u8 field_0x0009; + /* 0x000A */ u8 field_0x000a; + /* 0x000B */ u8 field_0x000b; + /* 0x000C */ u8 field_0x000c; + /* 0x000D */ u8 field_0x000d; + /* 0x000E */ u8 field_0x000e[2]; + /* 0x0010 */ float field_0x0010; + /* 0x0014 */ float field_0x0014; + /* 0x0018 */ float field_0x0018; + /* 0x001C */ u8 field_0x001c; + /* 0x001D */ u8 field_0x001d; + /* 0x001E */ u8 field_0x001e; + /* 0x001F */ u8 field_0x001f; + /* 0x0020 */ u8 field_0x0020; + /* 0x0021 */ u8 field_0x0021; + /* 0x0022 */ u8 field_0x0022; + /* 0x0023 */ u8 field_0x0023; +}; + +class dFs_HIO_c { +public: + /* 801835F8 */ dFs_HIO_c(); + /* 801913E0 */ virtual ~dFs_HIO_c(); + + /* 0x0000 */ // void* vtable; + /* 0x0004 */ s8 field_0x0004; + /* 0x0005 */ u8 field_0x0005; + /* 0x0006 */ u8 field_0x0006; + /* 0x0007 */ u8 field_0x0007; + /* 0x0008 */ u8 field_0x0008; + /* 0x0009 */ u8 field_0x0009; + /* 0x000A */ u8 field_0x000a; + /* 0x000B */ u8 field_0x000b; + /* 0x000C */ u8 field_0x000c; + /* 0x000D */ u8 field_0x000d; + /* 0x000E */ u8 field_0x000e[2]; + /* 0x0010 */ float field_0x0010; + /* 0x0014 */ float field_0x0014; + /* 0x0018 */ float field_0x0018; + /* 0x001C */ u8 field_0x001c; + /* 0x001D */ u8 field_0x001d; + /* 0x001E */ u8 field_0x001e; + /* 0x001F */ u8 field_0x001f; + /* 0x0020 */ u8 field_0x0020; + /* 0x0021 */ u8 field_0x0021; + /* 0x0022 */ u8 field_0x0022; + /* 0x0023 */ u8 field_0x0023; +}; + +class dFile_select_c { +public: + /* 8018366C */ dFile_select_c(JKRArchive*); + /* 8018375C */ ~dFile_select_c(); + /* 801843CC */ void _create(); + /* 801844FC */ void _move(); + /* 80184664 */ void selFileWakuAnm(); + /* 801848A0 */ void bookIconAnm(); + /* 8018499C */ void selCopyFileWakuAnm(); + /* 80184A48 */ void copyBookIconAnm(); + /* 80184B44 */ void dataDelEffAnm(); + /* 80184BFC */ void dataCopyEffAnm(); + /* 80184CB4 */ void selectDataBaseMoveAnmInitSet(int, int); + /* 80184D4C */ void selectDataBaseMoveAnm(); + /* 80184E38 */ void dataSelectInAnmSet(); + /* 80185040 */ void dataSelectIn(); + /* 80185230 */ void dataSelectInit(); + /* 801853C4 */ void dataSelect(); + /* 80185508 */ void dataSelectStart(); + /* 80185994 */ void selectDataMoveAnmInitSet(int, int); + /* 80185AAC */ void selectDataMoveAnm(); + /* 80185C2C */ void dataSelectAnmSet(); + /* 80185DE0 */ void dataSelectMoveAnime(); + /* 80186088 */ void makeRecInfo(u8); + /* 801864DC */ void selectDataOpenMove(); + /* 80186638 */ void selectDataNameMove(); + /* 801866C8 */ void selectDataOpenEraseMove(); + /* 80186774 */ void menuSelect(); + /* 801868EC */ void menuSelectStart(); + /* 80186A80 */ void menuSelectCansel(); + /* 80186B48 */ void menuMoveAnmInitSet(int, int); + /* 80186CAC */ bool menuMoveAnm(); + /* 80186E14 */ void menuSelectAnmSet(); + /* 80186F98 */ void menuSelectMoveAnm(); + /* 8018721C */ void ToNameMove(); + /* 801872C4 */ void ToNameMove2(); + /* 80187384 */ void nameInputWait(); + /* 801873BC */ void nameInput(); + /* 801874F8 */ void nameToDataSelectMove(); + /* 8018759C */ void nameInputFade(); + /* 801876A0 */ void nameInput2Move(); + /* 8018774C */ void nameInput2(); + /* 80187824 */ void backNameInputMove0(); + /* 80187908 */ void backNameInputMove(); + /* 801879B8 */ void ToCopyPaneMove(); + /* 80187ADC */ void ToErasePaneMove(); + /* 80187B44 */ void backSelectMove(); + /* 80187BE8 */ void copySelMoveAnmInitSet(int, int); + /* 80187DB8 */ void setSaveDataForCopySel(); + /* 80187ED4 */ void copyDataToSelect(); + /* 8018801C */ void copyDataToSelectStart(); + /* 80188234 */ void copyDataToSelectCansel(); + /* 8018832C */ void copyDataToSelectMoveAnmSet(); + /* 801884D0 */ void copyDataToSelectMoveAnm(); + /* 80188834 */ void copySelectWakuAlpahAnmInit(u8, u8, u8, u8); + /* 80188878 */ void copySelectWakuAlpahAnm(u8); + /* 80188950 */ void getCptoNum(u8); + /* 80188994 */ void copyToSelBack(); + /* 80188B54 */ void copyToSelPaneMove(); + /* 80188BBC */ void yesnoMenuMoveAnmInitSet(int, int); + /* 80188D38 */ bool yesnoMenuMoveAnm(); + /* 80188ED0 */ void yesnoSelectMoveAnm(); + /* 8018912C */ void yesnoCursorShow(); + /* 8018929C */ void YesNoSelect(); + /* 801893E4 */ void yesNoSelectStart(); + /* 8018978C */ void yesnoSelectAnmSet(); + /* 80189904 */ void yesnoCancelAnmSet(); + /* 80189A24 */ void YesNoCancelMove(); + /* 80189BA8 */ void yesNoCursorMoveAnm(); + /* 80189C14 */ void CmdExecPaneMove0(); + /* 80189E28 */ void CommandExec(); + /* 80189F68 */ void DataEraseWait(); + /* 80189FFC */ void DataEraseWait2(); + /* 8018A194 */ void ErasePaneMoveOk(); + /* 8018A2DC */ void ErasePaneMoveOk2(); + /* 8018A3B0 */ void eraseEndBackSelectWait(); + /* 8018A444 */ void eraseEndBackSelect(); + /* 8018A4D0 */ void DataCopyWait(); + /* 8018A564 */ void DataCopyWait2(); + /* 8018A6F8 */ void copyPaneMoveOk(); + /* 8018A868 */ void copyPaneMoveOk2(); + /* 8018A960 */ void ErrorMsgPaneMove(); + /* 8018AAC4 */ void backDatSelPaneMove(); + /* 8018AC3C */ void backDatSelWait(); + /* 8018AD38 */ void backDatSelWait2(); + /* 8018AD9C */ void nextModeWait(); + /* 8018ADA0 */ void screenSet(); + /* 8018BF2C */ void screenSetCopySel(); + /* 8018C524 */ void screenSetYesNo(); + /* 8018C8F4 */ void screenSet3Menu(); + /* 8018CCD0 */ void screenSetDetail(); + /* 8018CE38 */ void setWakuAnm(); + /* 8018CF50 */ void displayInit(); + /* 8018D044 */ void setSaveData(); + /* 8018D0E4 */ void headerTxtSet(u16, u8, u8); + /* 8018D25C */ bool headerTxtChangeAnm(); + /* 8018D344 */ void modoruTxtChange(u8); + /* 8018D3A0 */ void modoruTxtDispAnmInit(u8); + /* 8018D41C */ bool modoruTxtDispAnm(); + /* 8018D4F8 */ void ketteiTxtDispAnmInit(u8); + /* 8018D574 */ bool ketteiTxtDispAnm(); + /* 8018D650 */ void selectWakuAlpahAnmInit(u8, u8, u8, u8); + /* 8018D68C */ void selectWakuAlpahAnm(u8); + /* 8018D764 */ void selFileCursorShow(); + /* 8018D884 */ void menuWakuAlpahAnmInit(u8, u8, u8, u8); + /* 8018D8C8 */ void menuWakuAlpahAnm(u8); + /* 8018DA10 */ void menuCursorShow(); + /* 8018DB80 */ void yesnoWakuAlpahAnmInit(u8, u8, u8, u8); + /* 8018DBCC */ void yesnoWakuAlpahAnm(u8); + /* 8018DD38 */ void _draw(); + /* 8018E130 */ void errorMoveAnmInitSet(int, int); + /* 8018E1C0 */ bool errorMoveAnm(); + /* 8018E2B4 */ void errDispInitSet(int, int); + /* 8018E4CC */ void MemCardCheckMain(); + /* 8018E504 */ void MemCardStatCheck(); + /* 8018E7C4 */ void MemCardLoadWait(); + /* 8018E93C */ void MemCardErrMsgWaitKey(); + /* 8018E9B0 */ void noFileSpaceDispInit(); + /* 8018E9D4 */ void MemCardNoFileSpaceDisp(); + /* 8018EA3C */ void iplSelDispInit(); + /* 8018EA90 */ void MemCardGotoIPLSelectDisp(); + /* 8018EB10 */ void MemCardGotoIPLSelect(); + /* 8018EBCC */ void MemCardGotoIPL(); + /* 8018EC4C */ void noSaveSelDispInit(); + /* 8018ECBC */ void MemCardNoSaveSelDisp(); + /* 8018ED80 */ void MemCardErrMsgWaitNoSaveSel(); + /* 8018EF5C */ void formatYesSelDispInitSet(); + /* 8018EFAC */ void formatNoSelDispInitSet(); + /* 8018EFFC */ void MemCardFormatYesSelDisp(); + /* 8018F080 */ void MemCardFormatNoSelDisp(); + /* 8018F128 */ void MemCardErrMsgWaitFormatSel(); + /* 8018F17C */ void formatYesSel2DispInitSet(); + /* 8018F1CC */ void MemCardErrMsgWaitFormatSel2(); + /* 8018F228 */ void MemCardFormatYesSel2Disp(); + /* 8018F2A4 */ void MemCardFormat(); + /* 8018F304 */ void MemCardFormatWait(); + /* 8018F374 */ void MemCardFormatCheck(); + /* 8018F400 */ void MemCardMakeGameFileSel(); + /* 8018F488 */ void MemCardMakeGameFileSelDisp(); + /* 8018F580 */ void MemCardMakeGameFile(); + /* 8018F5E0 */ void MemCardMakeGameFileWait(); + /* 8018F650 */ void MemCardMakeGameFileCheck(); + /* 8018F6DC */ void MemCardMsgWindowInitOpen(); + /* 8018F8D8 */ void MemCardMsgWindowOpen(); + /* 8018F974 */ void MemCardMsgWindowClose(); + /* 8018FA2C */ void errYesNoSelect(); + /* 8018FB80 */ void errCurMove(u8); + /* 8018FBF8 */ void MemCardErrYesNoCursorMoveAnm(); + /* 8018FC64 */ void errorTxtSet(u16); + /* 8018FD30 */ void errorTxtChangeAnm(); + /* 8018FE18 */ bool fileRecScaleAnm(); + /* 8018FE64 */ void fileRecScaleAnmInitSet2(f32, f32); + /* 8018FEF4 */ void fileRecScaleAnm2(); + /* 8018FF9C */ bool fileInfoScaleAnm(); + /* 80190074 */ void nameMoveAnmInitSet(int, int); + /* 80190124 */ bool nameMoveAnm(); + /* 80190208 */ void MemCardSaveDataClear(); + /* 80190254 */ void setInitSaveData(); + /* 801902B8 */ void dataSave(); + + bool getFadeFlag() { return mFadeFlag; } + int isDataNew(u8 i) { return mDataNew[i]; } + int isSelectEnd() { return mSelectEnd; } + u8 getSelectNum() { return mSelectNum; } + void setUseType(u8 type) { mUseType = type; } + + /* 0x0000 */ void* vtable; + /* 0x0004 */ u8 field_0x04[4]; + /* 0x0008 */ JKRArchive* mpArchive; + /* 0x000C */ dFile_select3D_c* mpFileSelect3d; + /* 0x0010 */ dDlst_FileSel_c mFileSelectDlst; + /* 0x0018 */ JUTFont* mpMessageFont; + /* 0x001C */ JUTFont* mpSubFont; + /* 0x0020 */ dMsgString_c* mpMessageString; + /* 0x0024 */ dDlst_FileSelDt_c mFileSelDeleteDlst; + /* 0x0034 */ dDlst_FileSelCp_c mFileSelCopyDlst; + /* 0x0048 */ dDlst_FileSelYn_c mFileSelYesNoDlst; + /* 0x0054 */ dDlst_FileSel3m_c mFileSel3mDlst; + /* 0x005C */ u8 field_0x00[4]; + /* 0x0060 */ dSelect_cursor_c* mpCursor1; + /* 0x0064 */ dSelect_cursor_c* mpCursor2; + /* 0x0068 */ dName_c* mpName; + /* 0x006C */ dFile_warning_c* mpFileWarning; + /* 0x0070 */ u8 field_0x70[0xc]; + /* 0x007C */ dFile_info_c* mpFileInfo[2]; + /* 0x0084 */ J2DAnmBase* mpAnmBase[7]; + /* 0x00A0 */ u8 field_0xa0[4]; + /* 0x00A4 */ CPaneMgr* mpPaneMgr1; + /* 0x00A8 */ u8 field_0xa8[0xbc-0xa8]; + /* 0x00BC */ CPaneMgr* mpPaneMgrs[4]; + /* 0x00CC */ u8 field_0x00cc[8]; + /* 0x00D4 */ float field_0x00d4; + /* 0x00D8 */ u8 field_0xd8[0x108 - 0xd8]; + /* 0x0108 */ bool field_0x108; + /* 0x0109 */ bool field_0x109; + /* 0x010A */ u8 field_0x10a[2]; + /* 0x010C */ J2DPane* mpPane; + /* 0x0110 */ int field_0x0110; + /* 0x0110 */ int field_0x0114; + /* 0x0118 */ J2DPane* field_0x0118; + /* 0x011C */ J2DPane* field_0x011c; + /* 0x0120 */ int field_0x0120; + /* 0x0124 */ int field_0x0124; + /* 0x0128 */ bool field_0x0128; + /* 0x0129 */ u8 field_0x0129[0x012C - 0x0129]; + /* 0x012C */ J2DPane* field_0x012c; + /* 0x0130 */ int field_0x0130; + /* 0x0134 */ int field_0x0134; + /* 0x0138 */ u8 field_0x0138[0x014A - 0x0138]; + /* 0x014A */ bool field_0x014a; + /* 0x014B */ bool field_0x014b; + /* 0x014C */ u8 field_0x014C[0x0188 - 0x014C]; + /* 0x0188 */ CPaneMgr* field_0x0188[3]; + /* 0x0194 */ u8 field_0x0194[0x01C8 - 0x0194]; + /* 0x01C8 */ J2DAnmBase* field_0x01c8; + /* 0x01CC */ u8 field_0x01CC[0x01D0 - 0x01CC]; + /* 0x01D0 */ J2DAnmBase* field_0x01d0; + /* 0x01D4 */ u8 field_0x01D4[0x01D8 - 0x01D4]; + /* 0x01D8 */ J2DAnmBase* field_0x01d8; + /* 0x01DC */ u8 field_0x01DC[0x01E0 - 0x01DC]; + /* 0x01E0 */ J2DAnmBase* field_0x01e0; + /* 0x01E4 */ u8 field_0x01E4[0x01E8 - 0x01E4]; + /* 0x01E8 */ J2DAnmBase* field_0x01e8; + /* 0x01EC */ u8 field_0x01EC[0x01F0 - 0x01EC]; + /* 0x01F0 */ J2DAnmBase* field_0x01f0; + /* 0x01F4 */ u8 field_0x01F4[0x01F8 - 0x01F4]; + /* 0x01F8 */ J2DAnmBase* field_0x01f8; + /* 0x01FC */ u8 field_0x01FC[0x0200 - 0x01FC]; + /* 0x0200 */ J2DAnmBase* field_0x0200; + /* 0x0204 */ u8 field_0x0204[8]; + /* 0x020C */ CPaneMgrAlpha* field_0x020c; + /* 0x0210 */ u8 field_0x0210[0x021C - 0x0210]; + /* 0x021C */ u8 field_0x021c; + /* 0x021D */ u8 field_0x021d; + /* 0x021E */ u8 field_0x021e[0x0238 - 0x021E]; + /* 0x0238 */ CPaneMgrAlpha* field_0x0238; + /* 0x023C */ CPaneMgrAlpha* field_0x023c; + /* 0x0240 */ CPaneMgrAlpha* field_0x0240; + /* 0x0244 */ CPaneMgrAlpha* field_0x0244; + /* 0x0248 */ u8 field_0x0248[0x024A - 0x0248]; + /* 0x024A */ bool field_0x024a; + /* 0x024B */ u8 field_0x024B[0x0250 - 0x024B]; + /* 0x0250 */ char* field_0x0250; + /* 0x0254 */ STControl* mStick; + /* 0x0258 */ u8 mDataNew[3]; + /* 0x025B */ u8 field_0x025b; + /* 0x025C */ u8 field_0x025c[0x0264 - 0x025C]; + /* 0x0264 */ u8 field_0x0264; + /* 0x0265 */ u8 mSelectNum; + /* 0x0266 */ u8 field_0x0266; + /* 0x0267 */ u8 field_0x0267; + /* 0x0268 */ u8 field_0x0268[0x026A - 0x0268]; + /* 0x026A */ u8 field_0x026a; + /* 0x026B */ u8 field_0x026b[0x026e - 0x026b]; + /* 0x026E */ u8 field_0x026e; + /* 0x026F */ u8 field_0x026f; + /* 0x0270 */ bool mSelectEnd; + /* 0x0271 */ u8 field_0x0271[0x0283 - 0x0271]; + /* 0x0283 */ bool field_0x0283; + /* 0x0284 */ u8 field_0x0284[0x029C - 0x0284]; + /* 0x029C */ J2DAnmBase* field_0x029c; + /* 0x02A0 */ J2DAnmBase* field_0x02a0; + /* 0x02A4 */ u8 field_0x02A4[0x02E8 - 0x02A4]; + /* 0x02E8 */ J2DAnmBase* field_0x02e8; + /* 0x02EC */ u8 field_0x02EC[0x02F0 - 0x02EC]; + /* 0x02F0 */ J2DAnmBase* field_0x02f0; + /* 0x02F4 */ u8 field_0x02F4[0x02F8 - 0x02F4]; + /* 0x02F8 */ J2DAnmBase* field_0x02f8; + /* 0x02FC */ u8 field_0x02FC[0x0300 - 0x02FC]; + /* 0x0300 */ J2DAnmBase* field_0x0300; + /* 0x0304 */ u8 field_0x0304[0x0308 - 0x0304]; + /* 0x0308 */ J2DAnmBase* field_0x0308; + /* 0x030C */ u8 field_0x030C[0x0310 - 0x030C]; + /* 0x0310 */ J2DAnmBase* field_0x0310; + /* 0x0314 */ J2DAnmBase* field_0x0314; + /* 0x0318 */ J2DAnmBase* field_0x0318; + /* 0x031C */ J2DAnmBase* field_0x031c; + /* 0x0320 */ J2DAnmBase* field_0x0320; + /* 0x0324 */ u8 field_0x0324[0x0328 - 0x0324]; + /* 0x0328 */ J2DAnmTransform* field_0x0328; // actually J2DAnmVtxColor? + /* 0x032C */ J2DAnmTransform* field_0x032c; + /* 0x0330 */ J2DAnmBase* field_0x0330; + /* 0x0334 */ u8 field_0x0334[0x0338 - 0x0334]; + /* 0x0338 */ J2DAnmBase* field_0x0338; + /* 0x033C */ u8 field_0x033c[4]; + /* 0x0340 */ CPaneMgrAlpha* field_0x0340; + /* 0x0344 */ u8 field_0x0344[8]; + /* 0x034C */ s32 field_0x034c; + /* 0x0350 */ u8 field_0x0350[8]; + /* 0x0358 */ int field_0x0358; + /* 0x035C */ int field_0x035c; + /* 0x0360 */ bool field_0x0360; + /* 0x0361 */ u8 field_0x0361[3]; + /* 0x0364 */ CPaneMgrAlpha* mpPaneAlpha1; + /* 0x0368 */ u8 field_0x0368[8]; + /* 0x0370 */ CPaneMgrAlpha* mpPaneAlpha2; + /* 0x0374 */ u8 field_0x0374[8]; + /* 0x037C */ CPaneMgrAlpha* mpPaneAlpha3; + /* 0x0380 */ u8 field_0x0380[8]; + /* 0x0388 */ u8 field_0x0388; + /* 0x0389 */ u8 field_0x0389; + /* 0x038A */ u8 field_0x038a; + /* 0x038B */ u8 field_0x038b; + /* 0x038C */ u8 field_0x038c; + /* 0x038D */ u8 field_0x038d; + /* 0x038E */ u8 field_0x038e; + /* 0x038F */ u8 field_0x038f; + /* 0x0390 */ u8 field_0x0390[4]; + /* 0x0394 */ CPaneMgr* mpPaneMgr2; + /* 0x0398 */ u8 field_0x0398[0x03A0 - 0x0398]; + /* 0x03A0 */ J2DAnmBase* field_0x03a0; + /* 0x03A4 */ u8 field_0x03A4[0x03A8 - 0x03A4]; + /* 0x03A8 */ CPaneMgr* field_0x03a8; + /* 0x03AC */ s16 field_0x03ac; + /* 0x03AE */ u8 field_0x03AE[0x03B0 - 0x03AE]; + /* 0x03B0 */ u8 mUseType; + /* 0x03B1 */ u8 field_0x03b1[7]; + /* 0x03B8 */ char mpMemCard; + /* 0x03B9 */ u8 field_0x03b9[3]; + /* 0x03BC */ u8 field_0x03bc[0x2374 - 0x3BC]; + /* 0x2374 */ bool mFadeFlag; + /* 0x2375 */ bool mHasDrawn; + /* 0x2376 */ u8 field_0x2376[0x2378 - 0x2376]; + /* 0x2378 */ J2DPicture* field_0x2378; +}; +STATIC_ASSERT(sizeof(dFile_select_c) == 0x237C); #endif /* D_FILE_D_FILE_SELECT_H */ diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h index b008503a7a..532c728910 100644 --- a/include/d/save/d_save.h +++ b/include/d/save/d_save.h @@ -60,266 +60,274 @@ enum ItemSlots { }; enum ItemTable { - /* 0x00 */ HEART, - /* 0x01 */ GREEN_RUPEE, - /* 0x02 */ BLUE_RUPEE, - /* 0x03 */ YELLOW_RUPEE, - /* 0x04 */ RED_RUPEE, - /* 0x05 */ PURPLE_RUPEE, - /* 0x06 */ ORANGE_RUPEE, - /* 0x07 */ SILVER_RUPEE, - /* 0x08 */ S_MAGIC, - /* 0x09 */ L_MAGIC, - /* 0x0A */ BOMB_5, - /* 0x0B */ BOMB_10, - /* 0x0C */ BOMB_20, - /* 0x0D */ BOMB_30, - /* 0x0E */ ARROW_10, - /* 0x0F */ ARROW_20, - /* 0x10 */ ARROW_30, - /* 0x11 */ ARROW_1, - /* 0x12 */ PACHINKO_SHOT, - /* 0x13 */ noentry1, - /* 0x14 */ noentry2, - /* 0x15 */ noentry3, - /* 0x16 */ WATER_BOMB_5, - /* 0x17 */ WATER_BOMB_10, - /* 0x18 */ WATER_BOMB_20, - /* 0x19 */ WATER_BOMB_30, - /* 0x1A */ BOMB_INSECT_5, - /* 0x1B */ BOMB_INSECT_10, - /* 0x1C */ BOMB_INSECT_20, - /* 0x1D */ BOMB_INSECT_30, - /* 0x1E */ RECOVERY_FAILY, - /* 0x1F */ TRIPLE_HEART, - /* 0x20 */ SMALL_KEY, - /* 0x21 */ KAKERA_HEART, - /* 0x22 */ UTAWA_HEART, - /* 0x23 */ MAP, - /* 0x24 */ COMPUS, - /* 0x25 */ DUNGEON_EXIT, - /* 0x26 */ BOSS_KEY, - /* 0x27 */ DUNGEON_BACK, - /* 0x28 */ SWORD, - /* 0x29 */ MASTER_SWORD, - /* 0x2A */ WOOD_SHIELD, - /* 0x2B */ SHIELD, - /* 0x2C */ HYLIA_SHIELD, - /* 0x2D */ TKS_LETTER, - /* 0x2E */ WEAR_CASUAL, - /* 0x2F */ WEAR_KOKIRI, - /* 0x30 */ ARMOR, - /* 0x31 */ WEAR_ZORA, - /* 0x32 */ MAGIC_LV1, - /* 0x33 */ DUNGEON_EXIT_2, - /* 0x34 */ WALLET_LV1, - /* 0x35 */ WALLET_LV2, - /* 0x36 */ WALLET_LV3, - /* 0x37 */ noentry4, - /* 0x38 */ noentry5, - /* 0x39 */ noentry6, - /* 0x3A */ noentry7, - /* 0x3B */ noentry8, - /* 0x3C */ noentry9, - /* 0x3D */ ZORAS_JEWEL, - /* 0x3E */ HAWK_EYE, - /* 0x3F */ WOOD_STICK, - /* 0x40 */ BOOMERANG, - /* 0x41 */ SPINNER, - /* 0x42 */ IRONBALL, - /* 0x43 */ BOW, - /* 0x44 */ HOOKSHOT, - /* 0x45 */ HVY_BOOTS, - /* 0x46 */ COPY_ROD, - /* 0x47 */ W_HOOKSHOT, - /* 0x48 */ KANTERA, - /* 0x49 */ LIGHT_SWORD, - /* 0x4A */ FISHING_ROD_1, - /* 0x4B */ PACHINKO, - /* 0x4C */ COPY_ROD_2, - /* 0x4D */ noentry10, - /* 0x4E */ noentry11, - /* 0x4F */ BOMB_BAG_LV2, - /* 0x50 */ BOMB_BAG_LV1, - /* 0x51 */ BOMB_IN_BAG, - /* 0x52 */ noentry12, - /* 0x53 */ LIGHT_ARROW, - /* 0x54 */ ARROW_LV1, - /* 0x55 */ ARROW_LV2, - /* 0x56 */ ARROW_LV3, - /* 0x57 */ noentry13, - /* 0x58 */ LURE_ROD, - /* 0x59 */ BOMB_ARROW, - /* 0x5A */ HAWK_ARROW, - /* 0x5B */ BEE_ROD, - /* 0x5C */ JEWEL_ROD, - /* 0x5D */ WORM_ROD, - /* 0x5E */ JEWEL_BEE_ROD, - /* 0x5F */ JEWEL_WORM_ROD, - /* 0x60 */ EMPTY_BOTTLE, - /* 0x61 */ RED_BOTTLE, - /* 0x62 */ GREEN_BOTTLE, - /* 0x63 */ BLUE_BOTTLE, - /* 0x64 */ MILK_BOTTLE, - /* 0x65 */ HALF_MILK_BOTTLE, - /* 0x66 */ OIL_BOTTLE, - /* 0x67 */ WATER_BOTTLE, - /* 0x68 */ OIL_BOTTLE_2, - /* 0x69 */ RED_BOTTLE_2, - /* 0x6A */ UGLY_SOUP, - /* 0x6B */ HOT_SPRING, - /* 0x6C */ FAIRY, - /* 0x6D */ HOT_SPRING_2, - /* 0x6E */ OIL2, - /* 0x6F */ OIL, - /* 0x70 */ NORMAL_BOMB, - /* 0x71 */ WATER_BOMB, - /* 0x72 */ POKE_BOMB, - /* 0x73 */ FAIRY_DROP, - /* 0x74 */ WORM, - /* 0x75 */ DROP_BOTTLE, - /* 0x76 */ BEE_CHILD, - /* 0x77 */ CHUCHU_RARE, - /* 0x78 */ CHUCHU_RED, - /* 0x79 */ CHUCHU_BLUE, - /* 0x7A */ CHUCHU_GREEN, - /* 0x7B */ CHUCHU_YELLOW, - /* 0x7C */ CHUCHU_PURPLE, - /* 0x7D */ LV1_SOUP, - /* 0x7E */ LV2_SOUP, - /* 0x7F */ LV3_SOUP, - /* 0x80 */ LETTER, - /* 0x81 */ BILL, - /* 0x82 */ WOOD_STATUE, - /* 0x83 */ IRIAS_PENDANT, - /* 0x84 */ HORSE_FLUTE, - /* 0x85 */ noentry14, - /* 0x86 */ noentry15, - /* 0x87 */ noentry16, - /* 0x88 */ noentry17, - /* 0x89 */ noentry18, - /* 0x8A */ noentry19, - /* 0x8B */ noentry20, - /* 0x8C */ noentry21, - /* 0x8D */ noentry22, - /* 0x8E */ noentry23, - /* 0x8F */ noentry24, - /* 0x90 */ RAFRELS_MEMO, - /* 0x91 */ ASHS_SCRIBBLING, - /* 0x92 */ noentry25, - /* 0x93 */ noentry26, - /* 0x94 */ noentry27, - /* 0x95 */ noentry28, - /* 0x96 */ noentry29, - /* 0x97 */ noentry30, - /* 0x98 */ noentry31, - /* 0x99 */ noentry32, - /* 0x9A */ noentry33, - /* 0x9B */ noentry34, - /* 0x9C */ CHUCHU_YELLOW2, - /* 0x9D */ OIL_BOTTLE3, - /* 0x9E */ SHOP_BEE_CHILD, - /* 0x9F */ CHUCHU_BLACK, - /* 0xA0 */ LIGHT_DROP, - /* 0xA1 */ DROP_CONTAINER, - /* 0xA2 */ DROP_CONTAINER02, - /* 0xA3 */ DROP_CONTAINER03, - /* 0xA4 */ FILLED_CONTAINER, - /* 0xA5 */ MIRROR_PIECE_2, - /* 0xA6 */ MIRROR_PIECE_3, - /* 0xA7 */ MIRROR_PIECE_4, - /* 0xA8 */ noentry35, - /* 0xA9 */ noentry36, - /* 0xAA */ noentry37, - /* 0xAB */ noentry38, - /* 0xAC */ noentry39, - /* 0xAD */ noentry40, - /* 0xAE */ noentry41, - /* 0xAF */ noentry42, - /* 0xB0 */ SMELL_YELIA_POUCH, - /* 0xB1 */ SMELL_PUMPKIN, - /* 0xB2 */ SMELL_POH, - /* 0xB3 */ SMELL_FISH, - /* 0xB4 */ SMELL_CHILDREN, - /* 0xB5 */ SMELL_MEDICINE, - /* 0xB6 */ noentry43, - /* 0xB7 */ noentry44, - /* 0xB8 */ noentry45, - /* 0xB9 */ noentry46, - /* 0xBA */ noentry47, - /* 0xBB */ noentry48, - /* 0xBC */ noentry49, - /* 0xBD */ noentry50, - /* 0xBE */ noentry51, - /* 0xBF */ noentry52, - /* 0xC0 */ M_BEETLE, - /* 0xC1 */ F_BEETLE, - /* 0xC2 */ M_BUTTERFLY, - /* 0xC3 */ F_BUTTERFLY, - /* 0xC4 */ M_STAG_BEETLE, - /* 0xC5 */ F_STAG_BEETLE, - /* 0xC6 */ M_GRASSHOPPER, - /* 0xC7 */ F_GRASSHOPPER, - /* 0xC8 */ M_NANAFUSHI, - /* 0xC9 */ F_NANAFUSHI, - /* 0xCA */ M_DANGOMUSHI, - /* 0xCB */ F_DANGOMUSHI, - /* 0xCC */ M_MANTIS, - /* 0xCD */ F_MANTIS, - /* 0xCE */ M_LADYBUG, - /* 0xCF */ F_LADYBUG, - /* 0xD0 */ M_SNAIL, - /* 0xD1 */ F_SNAIL, - /* 0xD2 */ M_DRAGONFLY, - /* 0xD3 */ F_DRAGONFLY, - /* 0xD4 */ M_ANT, - /* 0xD5 */ F_ANT, - /* 0xD6 */ M_MAYFLY, - /* 0xD7 */ F_MAYFLY, - /* 0xD8 */ noentry53, - /* 0xD9 */ noentry54, - /* 0xDA */ noentry55, - /* 0xDB */ noentry56, - /* 0xDC */ noentry57, - /* 0xDD */ noentry58, - /* 0xDE */ noentry59, - /* 0xDF */ noentry60, - /* 0xE0 */ POU_SPIRIT, - /* 0xE1 */ noentry61, - /* 0xE2 */ noentry62, - /* 0xE3 */ noentry63, - /* 0xE4 */ noentry64, - /* 0xE5 */ noentry65, - /* 0xE6 */ noentry66, - /* 0xE7 */ noentry67, - /* 0xE8 */ noentry68, - /* 0xE9 */ ANCIENT_DOCUMENT, - /* 0xEA */ AIR_LETTER, - /* 0xEB */ ANCIENT_DOCUMENT2, - /* 0xEC */ LV7_DUNGEON_EXIT, - /* 0xED */ LINKS_SAVINGS, - /* 0xEE */ SMALL_KEY2, - /* 0xEF */ POU_FIRE1, - /* 0xF0 */ POU_FIRE2, - /* 0xF1 */ POU_FIRE3, - /* 0xF2 */ POU_FIRE4, - /* 0xF3 */ BOSSRIDER_KEY, - /* 0xF4 */ TOMATO_PUREE, - /* 0xF5 */ TASTE, - /* 0xF6 */ LV5_BOSS_KEY, - /* 0xF7 */ SURFBOARD, - /* 0xF8 */ KANTERA2, - /* 0xF9 */ L2_KEY_PIECES1, - /* 0xFA */ L2_KEY_PIECES2, - /* 0xFB */ L2_KEY_PIECES3, - /* 0xFC */ KEY_OF_CARAVAN, - /* 0xFD */ LV2_BOSS_KEY, - /* 0xFE */ KEY_OF_FILONE, - /* 0xFF */ NO_ITEM -}; - -enum EquipItem { - /* 0x103 */ EQUIP_SWORD = 0x103, + /* 0x0000 */ HEART, + /* 0x0001 */ GREEN_RUPEE, + /* 0x0002 */ BLUE_RUPEE, + /* 0x0003 */ YELLOW_RUPEE, + /* 0x0004 */ RED_RUPEE, + /* 0x0005 */ PURPLE_RUPEE, + /* 0x0006 */ ORANGE_RUPEE, + /* 0x0007 */ SILVER_RUPEE, + /* 0x0008 */ S_MAGIC, + /* 0x0009 */ L_MAGIC, + /* 0x000A */ BOMB_5, + /* 0x000B */ BOMB_10, + /* 0x000C */ BOMB_20, + /* 0x000D */ BOMB_30, + /* 0x000E */ ARROW_10, + /* 0x000F */ ARROW_20, + /* 0x0010 */ ARROW_30, + /* 0x0011 */ ARROW_1, + /* 0x0012 */ PACHINKO_SHOT, + /* 0x0013 */ noentry1, + /* 0x0014 */ noentry2, + /* 0x0015 */ noentry3, + /* 0x0016 */ WATER_BOMB_5, + /* 0x0017 */ WATER_BOMB_10, + /* 0x0018 */ WATER_BOMB_20, + /* 0x0019 */ WATER_BOMB_30, + /* 0x001A */ BOMB_INSECT_5, + /* 0x001B */ BOMB_INSECT_10, + /* 0x001C */ BOMB_INSECT_20, + /* 0x001D */ BOMB_INSECT_30, + /* 0x001E */ RECOVERY_FAILY, + /* 0x001F */ TRIPLE_HEART, + /* 0x0020 */ SMALL_KEY, + /* 0x0021 */ KAKERA_HEART, + /* 0x0022 */ UTAWA_HEART, + /* 0x0023 */ MAP, + /* 0x0024 */ COMPUS, + /* 0x0025 */ DUNGEON_EXIT, + /* 0x0026 */ BOSS_KEY, + /* 0x0027 */ DUNGEON_BACK, + /* 0x0028 */ SWORD, + /* 0x0029 */ MASTER_SWORD, + /* 0x002A */ WOOD_SHIELD, + /* 0x002B */ SHIELD, + /* 0x002C */ HYLIA_SHIELD, + /* 0x002D */ TKS_LETTER, + /* 0x002E */ WEAR_CASUAL, + /* 0x002F */ WEAR_KOKIRI, + /* 0x0030 */ ARMOR, + /* 0x0031 */ WEAR_ZORA, + /* 0x0032 */ MAGIC_LV1, + /* 0x0033 */ DUNGEON_EXIT_2, + /* 0x0034 */ WALLET_LV1, + /* 0x0035 */ WALLET_LV2, + /* 0x0036 */ WALLET_LV3, + /* 0x0037 */ noentry4, + /* 0x0038 */ noentry5, + /* 0x0039 */ noentry6, + /* 0x003A */ noentry7, + /* 0x003B */ noentry8, + /* 0x003C */ noentry9, + /* 0x003D */ ZORAS_JEWEL, + /* 0x003E */ HAWK_EYE, + /* 0x003F */ WOOD_STICK, + /* 0x0040 */ BOOMERANG, + /* 0x0041 */ SPINNER, + /* 0x0042 */ IRONBALL, + /* 0x0043 */ BOW, + /* 0x0044 */ HOOKSHOT, + /* 0x0045 */ HVY_BOOTS, + /* 0x0046 */ COPY_ROD, + /* 0x0047 */ W_HOOKSHOT, + /* 0x0048 */ KANTERA, + /* 0x0049 */ LIGHT_SWORD, + /* 0x004A */ FISHING_ROD_1, + /* 0x004B */ PACHINKO, + /* 0x004C */ COPY_ROD_2, + /* 0x004D */ noentry10, + /* 0x004E */ noentry11, + /* 0x004F */ BOMB_BAG_LV2, + /* 0x0050 */ BOMB_BAG_LV1, + /* 0x0051 */ BOMB_IN_BAG, + /* 0x0052 */ noentry12, + /* 0x0053 */ LIGHT_ARROW, + /* 0x0054 */ ARROW_LV1, + /* 0x0055 */ ARROW_LV2, + /* 0x0056 */ ARROW_LV3, + /* 0x0057 */ noentry13, + /* 0x0058 */ LURE_ROD, + /* 0x0059 */ BOMB_ARROW, + /* 0x005A */ HAWK_ARROW, + /* 0x005B */ BEE_ROD, + /* 0x005C */ JEWEL_ROD, + /* 0x005D */ WORM_ROD, + /* 0x005E */ JEWEL_BEE_ROD, + /* 0x005F */ JEWEL_WORM_ROD, + /* 0x0060 */ EMPTY_BOTTLE, + /* 0x0061 */ RED_BOTTLE, + /* 0x0062 */ GREEN_BOTTLE, + /* 0x0063 */ BLUE_BOTTLE, + /* 0x0064 */ MILK_BOTTLE, + /* 0x0065 */ HALF_MILK_BOTTLE, + /* 0x0066 */ OIL_BOTTLE, + /* 0x0067 */ WATER_BOTTLE, + /* 0x0068 */ OIL_BOTTLE_2, + /* 0x0069 */ RED_BOTTLE_2, + /* 0x006A */ UGLY_SOUP, + /* 0x006B */ HOT_SPRING, + /* 0x006C */ FAIRY, + /* 0x006D */ HOT_SPRING_2, + /* 0x006E */ OIL2, + /* 0x006F */ OIL, + /* 0x0070 */ NORMAL_BOMB, + /* 0x0071 */ WATER_BOMB, + /* 0x0072 */ POKE_BOMB, + /* 0x0073 */ FAIRY_DROP, + /* 0x0074 */ WORM, + /* 0x0075 */ DROP_BOTTLE, + /* 0x0076 */ BEE_CHILD, + /* 0x0077 */ CHUCHU_RARE, + /* 0x0078 */ CHUCHU_RED, + /* 0x0079 */ CHUCHU_BLUE, + /* 0x007A */ CHUCHU_GREEN, + /* 0x007B */ CHUCHU_YELLOW, + /* 0x007C */ CHUCHU_PURPLE, + /* 0x007D */ LV1_SOUP, + /* 0x007E */ LV2_SOUP, + /* 0x007F */ LV3_SOUP, + /* 0x0080 */ LETTER, + /* 0x0081 */ BILL, + /* 0x0082 */ WOOD_STATUE, + /* 0x0083 */ IRIAS_PENDANT, + /* 0x0084 */ HORSE_FLUTE, + /* 0x0085 */ noentry14, + /* 0x0086 */ noentry15, + /* 0x0087 */ noentry16, + /* 0x0088 */ noentry17, + /* 0x0089 */ noentry18, + /* 0x008A */ noentry19, + /* 0x008B */ noentry20, + /* 0x008C */ noentry21, + /* 0x008D */ noentry22, + /* 0x008E */ noentry23, + /* 0x008F */ noentry24, + /* 0x0090 */ RAFRELS_MEMO, + /* 0x0091 */ ASHS_SCRIBBLING, + /* 0x0092 */ noentry25, + /* 0x0093 */ noentry26, + /* 0x0094 */ noentry27, + /* 0x0095 */ noentry28, + /* 0x0096 */ noentry29, + /* 0x0097 */ noentry30, + /* 0x0098 */ noentry31, + /* 0x0099 */ noentry32, + /* 0x009A */ noentry33, + /* 0x009B */ noentry34, + /* 0x009C */ CHUCHU_YELLOW2, + /* 0x009D */ OIL_BOTTLE3, + /* 0x009E */ SHOP_BEE_CHILD, + /* 0x009F */ CHUCHU_BLACK, + /* 0x00A0 */ LIGHT_DROP, + /* 0x00A1 */ DROP_CONTAINER, + /* 0x00A2 */ DROP_CONTAINER02, + /* 0x00A3 */ DROP_CONTAINER03, + /* 0x00A4 */ FILLED_CONTAINER, + /* 0x00A5 */ MIRROR_PIECE_2, + /* 0x00A6 */ MIRROR_PIECE_3, + /* 0x00A7 */ MIRROR_PIECE_4, + /* 0x00A8 */ noentry35, + /* 0x00A9 */ noentry36, + /* 0x00AA */ noentry37, + /* 0x00AB */ noentry38, + /* 0x00AC */ noentry39, + /* 0x00AD */ noentry40, + /* 0x00AE */ noentry41, + /* 0x00AF */ noentry42, + /* 0x00B0 */ SMELL_YELIA_POUCH, + /* 0x00B1 */ SMELL_PUMPKIN, + /* 0x00B2 */ SMELL_POH, + /* 0x00B3 */ SMELL_FISH, + /* 0x00B4 */ SMELL_CHILDREN, + /* 0x00B5 */ SMELL_MEDICINE, + /* 0x00B6 */ noentry43, + /* 0x00B7 */ noentry44, + /* 0x00B8 */ noentry45, + /* 0x00B9 */ noentry46, + /* 0x00BA */ noentry47, + /* 0x00BB */ noentry48, + /* 0x00BC */ noentry49, + /* 0x00BD */ noentry50, + /* 0x00BE */ noentry51, + /* 0x00BF */ noentry52, + /* 0x00C0 */ M_BEETLE, + /* 0x00C1 */ F_BEETLE, + /* 0x00C2 */ M_BUTTERFLY, + /* 0x00C3 */ F_BUTTERFLY, + /* 0x00C4 */ M_STAG_BEETLE, + /* 0x00C5 */ F_STAG_BEETLE, + /* 0x00C6 */ M_GRASSHOPPER, + /* 0x00C7 */ F_GRASSHOPPER, + /* 0x00C8 */ M_NANAFUSHI, + /* 0x00C9 */ F_NANAFUSHI, + /* 0x00CA */ M_DANGOMUSHI, + /* 0x00CB */ F_DANGOMUSHI, + /* 0x00CC */ M_MANTIS, + /* 0x00CD */ F_MANTIS, + /* 0x00CE */ M_LADYBUG, + /* 0x00CF */ F_LADYBUG, + /* 0x00D0 */ M_SNAIL, + /* 0x00D1 */ F_SNAIL, + /* 0x00D2 */ M_DRAGONFLY, + /* 0x00D3 */ F_DRAGONFLY, + /* 0x00D4 */ M_ANT, + /* 0x00D5 */ F_ANT, + /* 0x00D6 */ M_MAYFLY, + /* 0x00D7 */ F_MAYFLY, + /* 0x00D8 */ noentry53, + /* 0x00D9 */ noentry54, + /* 0x00DA */ noentry55, + /* 0x00DB */ noentry56, + /* 0x00DC */ noentry57, + /* 0x00DD */ noentry58, + /* 0x00DE */ noentry59, + /* 0x00DF */ noentry60, + /* 0x00E0 */ POU_SPIRIT, + /* 0x00E1 */ noentry61, + /* 0x00E2 */ noentry62, + /* 0x00E3 */ noentry63, + /* 0x00E4 */ noentry64, + /* 0x00E5 */ noentry65, + /* 0x00E6 */ noentry66, + /* 0x00E7 */ noentry67, + /* 0x00E8 */ noentry68, + /* 0x00E9 */ ANCIENT_DOCUMENT, + /* 0x00EA */ AIR_LETTER, + /* 0x00EB */ ANCIENT_DOCUMENT2, + /* 0x00EC */ LV7_DUNGEON_EXIT, + /* 0x00ED */ LINKS_SAVINGS, + /* 0x00EE */ SMALL_KEY2, + /* 0x00EF */ POU_FIRE1, + /* 0x00F0 */ POU_FIRE2, + /* 0x00F1 */ POU_FIRE3, + /* 0x00F2 */ POU_FIRE4, + /* 0x00F3 */ BOSSRIDER_KEY, + /* 0x00F4 */ TOMATO_PUREE, + /* 0x00F5 */ TASTE, + /* 0x00F6 */ LV5_BOSS_KEY, + /* 0x00F7 */ SURFBOARD, + /* 0x00F8 */ KANTERA2, + /* 0x00F9 */ L2_KEY_PIECES1, + /* 0x00FA */ L2_KEY_PIECES2, + /* 0x00FB */ L2_KEY_PIECES3, + /* 0x00FC */ KEY_OF_CARAVAN, + /* 0x00FD */ LV2_BOSS_KEY, + /* 0x00FE */ KEY_OF_FILONE, + /* 0x00FF */ NO_ITEM, + /* 0x0100 */ noentry69, + /* 0x0101 */ noentry70, + /* 0x0102 */ noentry71, + /* 0x0103 */ EQUIP_SWORD, + /* 0x0104 */ noentry72, + /* 0x0105 */ noentry73, + /* 0x0106 */ noentry74, + /* 0x0107 */ noentry75, + /* 0x0108 */ noentry76, + /* 0x0109 */ noentry77, + /* 0x010A */ noentry78, + /* 0x010B */ noentry79, }; enum CollectItem { diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index dbe347e096..947b66da7e 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -107,7 +107,7 @@ public: /* 0x497 */ u8 mCullType; /* 0x498 */ u8 mDemoActorId; /* 0x499 */ s8 mSubtype; - /* 0x49A */ u8 field_0x49a; + /* 0x49A */ u8 mCarryType; /* 0x49C */ u32 mStatus; /* 0x4A0 */ u32 mCondition; /* 0x4A4 */ u32 mParentPcId; diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index ccc70027ab..6439a94ee6 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -80,9 +80,14 @@ class fopAcM_gc_c { public: static dBgS_GndChk* getGroundCheck() { return (dBgS_GndChk*)&mGndCheck; } static bool gndCheck(const cXyz*); - static u8 mGndCheck[84]; + static u8 mGndCheck[84]; // this is dBgS_GndChk but all static data in the TU probably needs to be setup first (otherwise causes a reordering problem with the __sinit function) static f32 mGroundY; + // strange issue where f_op_actor_mng.h can't find the dComIfG_Bgsp() inline even when you include the header + // static bool getTriPla(cM3dGPla* pPlane) { + // return dComIfG_Bgsp().GetTriPla(mGndCheck,pPlane); + // } + static f32 getGroundY() { return mGroundY; } }; @@ -129,13 +134,15 @@ inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) { } enum fopAcM_CARRY { - fopAcM_CARRY_HEAVY = 2, - fopAcM_CARRY_SIDE = 4, - fopAcM_CARRY_TYPE_8 = 8, + /* 0x01 */ fopAcM_CARRY_TYPE_1 = 1, + /* 0x02 */ fopAcM_CARRY_HEAVY = 2, + /* 0x04 */ fopAcM_CARRY_SIDE = 4, + /* 0x08 */ fopAcM_CARRY_TYPE_8 = 8, + /* 0x10 */ fopAcM_CARRY_LIGHT = 16, // guess based on context }; inline u32 fopAcM_CheckCarryType(fopAc_ac_c* actor, fopAcM_CARRY type) { - return actor->field_0x49a & type; + return actor->mCarryType & type; } inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) { @@ -242,6 +249,10 @@ inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) { actor->mGravity = gravity; } +inline void fopAcM_SetMaxFallSpeed(fopAc_ac_c* actor, f32 speed) { + actor->mMaxFallSpeed = speed; +} + inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) { actor->mCullMtx = m; } @@ -258,6 +269,10 @@ inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) { actor->mStatus = status; } +inline void fopAcM_SetModel(fopAc_ac_c* actor, J3DModel* model) { + actor->model = model; +} + inline fopAcM_prm_class* fopAcM_GetAppend(void* actor) { return (fopAcM_prm_class*)fpcM_GetAppend(actor); } @@ -293,6 +308,7 @@ inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) { inline void dComIfGs_onSwitch(int i_no, int i_roomNo); inline void dComIfGs_offSwitch(int i_no, int i_roomNo); inline BOOL dComIfGs_isSwitch(int i_no, int i_roomNo); +inline void dComIfGs_offActor(int i_no, int i_roomNo); inline void i_fopAcM_onSwitch(const fopAc_ac_c* pActor, int sw) { return dComIfGs_onSwitch(sw, fopAcM_GetHomeRoomNo(pActor)); @@ -582,6 +598,14 @@ inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 p i_mDoAud_seStartLevel(sfxID, &actor->current.pos, param_2, dComIfGp_getReverb(roomNo)); } +inline void fopAcM_offActor(fopAc_ac_c* pActor, u32 flag) { + dComIfGs_offActor(flag,fopAcM_GetHomeRoomNo(pActor)); +} + +inline void fopAcM_OnCarryType(fopAc_ac_c* pActor, fopAcM_CARRY param_2) { + pActor->mCarryType |= param_2; +} + extern "C" { void fopAcM_initManager__Fv(void); void fopAcM_CreateAppend__Fv(void); diff --git a/include/m_Do/m_Do_machine_exception.h b/include/m_Do/m_Do_machine_exception.h index 1c98c7980e..6d81404a7c 100644 --- a/include/m_Do/m_Do_machine_exception.h +++ b/include/m_Do/m_Do_machine_exception.h @@ -2,6 +2,7 @@ #define M_DO_M_DO_MACHINE_EXCEPTION_H #include "dolphin/types.h" +#include "dolphin/gx/GX.h" struct JUTConsole; diff --git a/include/m_Do/m_Do_mtx.h b/include/m_Do/m_Do_mtx.h index ac0f4b29e9..2d66ab19ce 100644 --- a/include/m_Do/m_Do_mtx.h +++ b/include/m_Do/m_Do_mtx.h @@ -65,6 +65,14 @@ inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) { param_1->z = param_0[2][3]; } +inline void mDoMtx_quatMultiply(const Quaternion* a, const Quaternion* b, Quaternion* ab) { + PSQUATMultiply(a,b,ab); +} + +inline void mDoMtx_quatSlerp(const Quaternion* a, const Quaternion* b, Quaternion* ab, f32 param_4) { + C_QUATSlerp(a,b,ab,param_4); +} + class mDoMtx_stack_c { public: /* 8000CCC8 */ static bool push(); diff --git a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h index 92a18fb097..fa880eb032 100644 --- a/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h +++ b/include/rel/d/a/obj/d_a_obj_stone/d_a_obj_stone.h @@ -2,5 +2,79 @@ #define D_A_OBJ_STONE_H #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + +enum { + OBJ_STONE_TYPE_SMALL = 0, + OBJ_STONE_TYPE_BIG = 1 +}; + +class daObjStone_c : public fopAc_ac_c { +public: + u8 getType() { return fopAcM_GetParamBit(this,0,4); } + u8 getItemType() { return fopAcM_GetParamBit(this,4,2); } + u8 getItemNo() { return fopAcM_GetParamBit(this,8,8); } + u8 getItemBit() { return fopAcM_GetParamBit(this,16,8); } + + /* 80CE93C4 */ void initBaseMtx(); + /* 80CE9468 */ void setBaseMtx(); + /* 80CE9540 */ int Create(); + /* 80CE97C0 */ bool CreateHeap(); + /* 80CE9840 */ int create(); + /* 80CE9BA0 */ int execute(); + /* 80CE9CF8 */ void mode_proc_call(); + /* 80CEAF88 */ void init_modePutWait(); + /* 80CEAFD8 */ void modePutWait(); + /* 80CEAFE8 */ void init_modeWait(); + /* 80CEB01C */ void modeWait(); + /* 80CEB0B8 */ void init_modeDrop(); + /* 80CEB0F8 */ void modeDrop(); + /* 80CEB35C */ void init_modeCarry(); + /* 80CEB480 */ void modeCarry(); + /* 80CEB6E8 */ void init_modeWalk(); + /* 80CEB720 */ void modeWalk(); + /* 80CEBCDC */ void init_modePushWolfNonBreak(); + /* 80CEBE24 */ void init_modeYogan(); + /* 80CEBE84 */ void modeYogan(); + /* 80CEBF1C */ void init_modeBreak(); + /* 80CEC180 */ void modeBreak(); + /* 80CEC1AC */ void CrrPos(); + /* 80CEC264 */ void createItem(); + /* 80CEC33C */ void calcRotBaseMtx(s16*); + /* 80CEC5BC */ int checkRollAngle(); + /* 80CEC6D8 */ void set_carry_eff(); + /* 80CEC7DC */ void effect_delete(bool); + /* 80CEC888 */ int draw(); + /* 80CEC948 */ int _delete(); + + /* 0x0568 */ request_of_phase_process_class mPhase; + /* 0x0570 */ J3DModel* mpModel; + /* 0x0574 */ dBgS_ObjAcch mChkObj; + /* 0x074C */ dBgS_AcchCir mChkCircle; + /* 0x078C */ dCcD_Stts mStatus; + /* 0x07C8 */ dCcD_Sph mCollider; + /* 0x0900 */ csXyz mShapeAngle; + /* 0x0906 */ u8 mStoneType; // 0: small rock, 1: big rock + /* 0x0907 */ u8 field_0x0907; + /* 0x0908 */ u8 field_0x0908; + /* 0x090C */ u32 mMode; // maybe a better name for this + /* 0x0910 */ cXyz field_0x0910; + /* 0x091C */ u16 field_0x091c; + /* 0x091E */ u8 field_0x091E[0x0920 - 0x091E]; + /* 0x0920 */ Quaternion field_0x0920; + /* 0x0930 */ Quaternion field_0x0930; + /* 0x0940 */ f32 mInitialOffsetY; + /* 0x0944 */ f32 mLastPosY; + /* 0x0948 */ f32 mLastSpeedY; // maybe a better name for this + /* 0x094C */ u8 field_0x094c; + /* 0x094C */ u8 field_0x094d; + /* 0x094E */ bool mIsInWater; + /* 0x094F */ u8 field_0x094f; + /* 0x0950 */ u8 field_0x0950; + /* 0x0951 */ u8 field_0x0951[0x0960 - 0x0951]; + /* 0x0960 */ u32 field_0x0960; + /* 0x0964 */ JPABaseEmitter* field_0x0964[3]; + /* 0x0970 */ Z2SoundObjSimple mSound; +}; #endif /* D_A_OBJ_STONE_H */ diff --git a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h index 57d2459a9f..a96de02ae2 100644 --- a/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h +++ b/include/rel/d/a/obj/d_a_obj_stoneMark/d_a_obj_stoneMark.h @@ -2,5 +2,24 @@ #define D_A_OBJ_STONEMARK_H #include "dolphin/types.h" +#include "d/com/d_com_inf_game.h" + + +class daObjSMark_c : public fopAc_ac_c { +public: + /* 8059A018 */ void initBaseMtx(); + /* 8059A038 */ void setBaseMtx(); + /* 8059A080 */ int Create(); + /* 8059A168 */ int create(); + /* 8059A2CC */ int draw(); + /* 8059A33C */ int _delete(); + + /* 0x0568 */ request_of_phase_process_class mpPhase; + /* 0x0570 */ GXTexObj mTexObj; + /* 0x0590 */ dBgS_ObjAcch mObjAcch; + /* 0x0768 */ dBgS_AcchCir mAcchCir; + /* 0x07A8 */ dCcD_Stts mStts; + /* 0x07E4 */ Mtx mCullMtx; +}; #endif /* D_A_OBJ_STONEMARK_H */ |
