diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-09-04 19:36:03 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-09-04 19:36:03 -0400 |
| commit | 56528e2e29fc74d7a58d07e6314724deaa8cee5b (patch) | |
| tree | 9efb4c91f4119c6a4b5bb45964f03643ddcfe923 /include/d | |
| parent | 7735a21e142cd13b02029948c0cbbdd0f2f5d3be (diff) | |
demo progress for d_menu_fmap and ghostship
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/actor/d_a_ghostship.h | 10 | ||||
| -rw-r--r-- | include/d/d_cloth_packet.h | 34 | ||||
| -rw-r--r-- | include/d/d_menu_fmap.h | 63 |
3 files changed, 64 insertions, 43 deletions
diff --git a/include/d/actor/d_a_ghostship.h b/include/d/actor/d_a_ghostship.h index 0408bbb6..d47fa6cf 100644 --- a/include/d/actor/d_a_ghostship.h +++ b/include/d/actor/d_a_ghostship.h @@ -18,8 +18,8 @@ public: }; bool checkInShip() { return mbCanEnterShip; } - void getAlpha() {} - void setMtx() {} + f32 getAlpha() { return mAlpha; } + inline void setMtx(); inline cPhs_State _create(); inline bool _delete(); @@ -38,7 +38,7 @@ public: void createInit(); void getArg(); -public: +private: /* 0x290 */ u32 mMode; /* 0x294 */ s32 mPathNo; /* 0x298 */ u8 moonPhase; @@ -52,8 +52,8 @@ public: /* 0x2C8 */ u32 field_0x2C8; /* 0x2CC */ request_of_phase_process_class mPhs; /* 0x2D4 */ request_of_phase_process_class mClothPhs; - /* 0x2DC */ dCloth_packet_c* mpCloth; - /* 0x2E0 */ dCloth_packet_c* mpCloth2; + /* 0x2DC */ dCloth_packetXlu_c* mpCloth; + /* 0x2E0 */ dCloth_packetXlu_c* mpCloth2; /* 0x2E4 */ J3DModel* mpModel; /* 0x2E8 */ mDoExt_btkAnm mBtk; /* 0x2FC */ f32 mAlpha; diff --git a/include/d/d_cloth_packet.h b/include/d/d_cloth_packet.h index 65560400..6cbd7496 100644 --- a/include/d/d_cloth_packet.h +++ b/include/d/d_cloth_packet.h @@ -5,6 +5,7 @@ #include "JSystem/J3DGraphAnimator/J3DModel.h" #include "JSystem/JUtility/JUTTexture.h" #include "SSystem/SComponent/c_xyz.h" +#include "d/d_kankyo.h" class dKy_tevstr_c; @@ -57,11 +58,11 @@ public: return false; } - cXyz* getPosP() const { return mpPosArr[mCurArr]; } - cXyz* getNrmP() const { return mpNrmArr[mCurArr]; } - cXyz* getBackNrmP() const { return mpNrmArrBack[mCurArr]; } - cXyz* getSpdP() const { return mpSpeedArr; } - u32 getVerticalNum() const { return mHoistGridSize; } + cXyz* getPosP() { return mpPosArr[mCurArr]; } + cXyz* getNrmP() { return mpNrmArr[mCurArr]; } + cXyz* getBackNrmP() { return mpNrmArrBack[mCurArr]; } + cXyz* getSpdP() { return mpSpeedArr; } + u32 getVarticalNum() const { return mHoistGridSize; } GXTexObj* getTexObjP() { return &mTexObj; } GXTexObj* getToonTexObjP() { return &mToonTex; } @@ -100,15 +101,20 @@ protected: /* 0xF6 */ s16 mRotateY; /* 0xF8 */ u8 mCurArr; }; // Size: 0xFC + dCloth_packet_c* dCloth_packet_create( ResTIMG* i_flagimage, ResTIMG* i_toonimage, int flyGridSize, int hoistGridSize, float flyLength, float hoistLength, dKy_tevstr_c* tevstr, cXyz** posArr ); class dCloth_packetXlu_c : public dCloth_packet_c { +public: virtual void cloth_draw(); virtual void TevSetting(); -private: + void setAlpha(dKy_tevstr_c* tevStr, u8 alpha) { + tevStr->mColorC0.a = alpha; + } + dCloth_packetXlu_c(ResTIMG* i_toonimage, int flyGridSize, int hoistGridSize, float flyLength, float hoistLength, dKy_tevstr_c* tevstr, cXyz** posArr) : dCloth_packet_c(i_toonimage, flyGridSize, hoistGridSize, flyLength, hoistLength, tevstr, posArr) {} @@ -123,13 +129,13 @@ dCloth_packetXlu_c* dCloth_packetXlu_create( ); class dClothVobj03_c : public dCloth_packet_c { +public: virtual void init(); virtual void cloth_move(); virtual void TexObjInit(ResTIMG*); virtual void TexObjLoad(); void cloth_copy(); -private: dClothVobj03_c(ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr) : dCloth_packet_c(i_toonimage, 5, 5, 120.0f, 60.0f, tevstr, posArr) { if (posArr) { @@ -139,7 +145,6 @@ private: } } -private: static dClothVobj03_c* top_pointer; static s32 cloth_counter; @@ -150,16 +155,17 @@ private: bool mIsStandItem; bool mIsIndoors; }; + dClothVobj03_c* dClothVobj03_create(ResTIMG* i_flagimage, ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr); class dClothVobj04_c : public dCloth_packet_c { +public: virtual void init(); virtual void cloth_move(); virtual void TexObjInit(ResTIMG*); virtual void TexObjLoad(); void cloth_copy(); -private: dClothVobj04_c(ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr) : dCloth_packet_c(i_toonimage, 5, 5, 120.0f, 60.0f, tevstr, posArr) { if (posArr) { @@ -169,7 +175,6 @@ private: } }; -private: static dClothVobj04_c* top_pointer; static s32 cloth_counter; @@ -180,16 +185,17 @@ private: bool mIsStandItem; bool mIsIndoors; }; + dClothVobj04_c* dClothVobj04_create(ResTIMG* i_flagimage, ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr); class dClothVobj05_c : public dCloth_packet_c { +public: virtual void init(); virtual void cloth_move(); virtual void TexObjInit(ResTIMG*); virtual void TexObjLoad(); void cloth_copy(); -private: dClothVobj05_c(ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr) : dCloth_packet_c(i_toonimage, 5, 5, 50.0f, 120.0f, tevstr, posArr) { if (posArr) { @@ -199,7 +205,6 @@ private: } } -private: static dClothVobj05_c* top_pointer; static s32 cloth_counter; @@ -210,16 +215,17 @@ private: bool mIsStandItem; bool mIsIndoors; }; + dClothVobj05_c* dClothVobj05_create(ResTIMG* i_flagimage, ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr); class dClothVobj07_0_c : public dCloth_packet_c { +public: virtual void init(); virtual void cloth_move(); virtual void TexObjInit(ResTIMG*); virtual void TexObjLoad(); void cloth_copy(); -private: dClothVobj07_0_c(ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr) : dCloth_packet_c(i_toonimage, 5, 5, 120.0f, 70.0f, tevstr, posArr) { if (posArr) { @@ -229,7 +235,6 @@ private: } } -private: static dClothVobj07_0_c* top_pointer; static s32 cloth_counter; @@ -240,6 +245,7 @@ private: bool mIsStandItem; bool mIsIndoors; }; + dClothVobj07_0_c* dClothVobj07_0_create(ResTIMG* i_flagimage, ResTIMG* i_toonimage, dKy_tevstr_c* tevstr, cXyz** posArr); #endif /* D_A_CLOTH_PACKET_H */ diff --git a/include/d/d_menu_fmap.h b/include/d/d_menu_fmap.h index 94430538..423317c7 100644 --- a/include/d/d_menu_fmap.h +++ b/include/d/d_menu_fmap.h @@ -52,6 +52,12 @@ enum dMf_WarpSel { FMAP_WARP_SEL_NO = 1, }; +#if VERSION == VERSION_DEMO +#define FMAP_WARP_COUNT 7 +#else +#define FMAP_WARP_COUNT 9 +#endif + class dDlst_FMAP_c : public dDlst_base_c { public: virtual ~dDlst_FMAP_c() {} @@ -68,75 +74,75 @@ public: void draw() { _draw(); } u8 getCtDispMode() { JUT_ASSERT(VERSION_SELECT(456, 456, 467, 467), fmapSv != NULL); - return fmapSv->dispMode; + return fmapSv->getDispMode(); } void setCtDispMode(u8 val) { JUT_ASSERT(VERSION_SELECT(461, 461, 472, 472), fmapSv != NULL); - fmapSv->dispMode = val; + fmapSv->setDispMode(val); } u8 getCtFmapZoom() { JUT_ASSERT(VERSION_SELECT(467, 467, 478, 478), fmapSv != NULL); - return fmapSv->fmapZoom; + return fmapSv->getFmapZoom(); } void setCtFmapZoom(u8 val) { JUT_ASSERT(VERSION_SELECT(472, 472, 483, 483), fmapSv != NULL); - fmapSv->fmapZoom = val; + fmapSv->setFmapZoom(val); } s8 getCtCurX() { JUT_ASSERT(VERSION_SELECT(478, 478, 489, 489), fmapSv != NULL); - return fmapSv->curX; + return fmapSv->getCurX(); } void setCtCurX(s8 val) { JUT_ASSERT(VERSION_SELECT(483, 483, 494, 494), fmapSv != NULL); - fmapSv->curX = val; + fmapSv->setCurX(val); } s8 getCtCurY() { JUT_ASSERT(VERSION_SELECT(489, 489, 500, 500), fmapSv != NULL); - return fmapSv->curY; + return fmapSv->getCurY(); } void setCtCurY(s8 val) { JUT_ASSERT(VERSION_SELECT(494, 494, 505, 505), fmapSv != NULL); - fmapSv->curY = val; + fmapSv->setCurY(val); } s8 getCtCurWX() { JUT_ASSERT(VERSION_SELECT(500, 500, 511, 511), fmapSv != NULL); - return fmapSv->curWX; + return fmapSv->getCurWX(); } void setCtCurWX(s8 val) { JUT_ASSERT(VERSION_SELECT(505, 505, 516, 516), fmapSv != NULL); - fmapSv->curWX = val; + fmapSv->setCurWX(val); } s8 getCtCurWY() { JUT_ASSERT(VERSION_SELECT(511, 511, 522, 522), fmapSv != NULL); - return fmapSv->curWY; + return fmapSv->getCurWY(); } void setCtCurWY(s8 val) { JUT_ASSERT(VERSION_SELECT(516, 516, 527, 527), fmapSv != NULL); - fmapSv->curWY = val; + fmapSv->setCurWY(val); } s8 getCtZoomGridX() { JUT_ASSERT(VERSION_SELECT(522, 522, 533, 533), fmapSv != NULL); - return fmapSv->zoomGridX; + return fmapSv->getZoomGridX(); } void setCtZoomGridX(s8 val) { JUT_ASSERT(VERSION_SELECT(527, 527, 538, 538), fmapSv != NULL); - fmapSv->zoomGridX = val; + fmapSv->setZoomGridX(val); } s8 getCtZoomGridY() { JUT_ASSERT(VERSION_SELECT(532, 532, 543, 543), fmapSv != NULL); - return fmapSv->zoomGridY; + return fmapSv->getZoomGridY(); } void setCtZoomGridY(s8 val) { JUT_ASSERT(VERSION_SELECT(537, 537, 548, 548), fmapSv != NULL); - fmapSv->zoomGridY = val; + fmapSv->setZoomGridY(val); } void setCtCurHX(s8 val) { JUT_ASSERT(VERSION_SELECT(548, 548, 559, 559), fmapSv != NULL); - fmapSv->curHX = val; + fmapSv->setCurHX(val); } void setCtCurHY(s8 val) { JUT_ASSERT(VERSION_SELECT(558, 558, 569, 569), fmapSv != NULL); - fmapSv->curHY = val; + fmapSv->setCurHY(val); } void lineInter0to1(f32, f32, f32) {} void lineInter0to1ForU8(u8, u8, f32) {} @@ -200,6 +206,10 @@ public: void windArrowColorAnime(); void checkMarkAnimeInit(); void checkMarkAnime(); +#if VERSION == VERSION_DEMO + void krogMarkAnimeInit(); + void krogMarkAnime(); +#endif u32 readFmapTexture(const char*); void aramCmapDatRead(); void initCmapDatPnt(aramCmapDatPat_t*); @@ -301,6 +311,9 @@ public: /* 0x0018 */ ResTIMG * mChkPntTxt_p; /* 0x001C */ dDlst_FMAP_c fmapDl; /* 0x0024 */ dMenu_Fmap2_c mFmap2; +#if VERSION == VERSION_DEMO + u8 pad4[0x38 * 2]; +#endif /* 0x2874 */ u8 padding_0x2874[0x2878 - 0x2874]; /* 0x2878 */ dMenu_FmapSv_c* fmapSv; /* 0x287C */ aramCmapDat_c mCmapDatPnt; @@ -367,11 +380,14 @@ public: #if VERSION > VERSION_JPN /* 0x4F44 */ fopMsgM_pane_class mGsPanes[7]; #endif +#if VERSION == VERSION_DEMO + u8 pad [0x340 + 8]; +#endif /* 0x50CC */ STControl* stick; /* 0x50D0 */ JUTFont* mFont; /* 0x50D4 */ JUTFont* mRFont; /* 0x50D8 */ JPABaseEmitter* mWrapBackEmitter; - /* 0x50DC */ JPABaseEmitter* mWrapSpotEmitters[9]; + /* 0x50DC */ JPABaseEmitter* mWrapSpotEmitters[FMAP_WARP_COUNT]; /* 0x5100 */ u8 padding_0x5100[0x510C - 0x5100]; /* 0x510C */ bool mMapClose; /* 0x510D */ u8 mSelCursorBufIdx; @@ -423,7 +439,8 @@ public: /* 0x517A */ u8 mFishmanTimer3; /* 0x517B */ u8 mCheckMarkTimer; /* 0x517C */ u8 mCheckMarkToggle; - /* 0x517D */ u8 padding_0x517D[0x517F-0x517D]; + /* 0x517D */ u8 field_0x517D; + /* 0x517E */ u8 field_0x517E; /* 0x517F */ bool mFishmanActive; /* 0x5180 */ u8 mSalvagePntIdx; /* 0x5181 */ u8 mButtonIconMode; @@ -451,8 +468,6 @@ public: #endif }; // Size: 0x51B4 -STATIC_ASSERT(sizeof(dMenu_Fmap_c) == VERSION_SELECT(0x4E54, 0x4E54, 0x51B4, 0x51B4)); - class dMf_HIO_c : public JORReflexible { public: dMf_HIO_c(); @@ -509,8 +524,8 @@ public: /* 0x04D */ u8 mWarpCursorAlphaMin; /* 0x04E */ u8 mWarpCursorAlphaMax; /* 0x04F */ u8 padding_0x4F[0x50 - 0x4F]; - /* 0x050 */ f32 mWarpSpotPosX[9]; - /* 0x074 */ f32 mWarpSpotPosY[9]; + /* 0x050 */ f32 mWarpSpotPosX[FMAP_WARP_COUNT]; + /* 0x074 */ f32 mWarpSpotPosY[FMAP_WARP_COUNT]; /* 0x098 */ f32 mWarpSpotScaleSel; /* 0x09C */ f32 mWarpSpotScale; /* 0x0A0 */ f32 field_0xA0; |
