diff options
33 files changed, 486 insertions, 429 deletions
diff --git a/configure.py b/configure.py index e715a408..ab7ccc0a 100755 --- a/configure.py +++ b/configure.py @@ -495,7 +495,7 @@ config.libs = [ Object(Matching, "f_pc/f_pc_node.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "f_pc/f_pc_node_req.cpp"), Object(Matching, "f_pc/f_pc_priority.cpp"), - Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "f_pc/f_pc_profile.cpp"), + Object(Matching, "f_pc/f_pc_profile.cpp"), Object(Matching, "f_pc/f_pc_searcher.cpp"), Object(Matching, "f_pc/f_pc_line_tag.cpp"), Object(Matching, "f_pc/f_pc_line_iter.cpp"), @@ -630,7 +630,7 @@ config.libs = [ Object(Matching, "d/d_place_name.cpp"), Object(NonMatching, "d/d_camera.cpp"), Object(Matching, "d/d_envse.cpp"), - Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_file_error.cpp"), + Object(Matching, "d/d_file_error.cpp"), Object(MatchingFor("D44J01", "GZLJ01", "GZLE01"), "d/d_file_select.cpp"), Object(Matching, "d/d_gameover.cpp"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d/d_kankyo.cpp"), diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index 646c7ce3..49dacd67 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -100,9 +100,9 @@ public: mRotation = angle; calcMtx(); } - void setInfluencedAlpha(bool) {} + void setInfluencedAlpha(bool v) { mInfluencedAlpha = v; } -public: +protected: /* 0x04 */ u32 mMagic; /* 0x08 */ int mTag; /* 0x0C */ JGeometry::TBox2<f32> mBounds; @@ -118,7 +118,7 @@ public: /* 0xAB */ u8 mCullMode; /* 0xAC */ u8 mAlpha; /* 0xAD */ u8 mDrawAlpha; - /* 0xAE */ u8 mInheritAlpha; + /* 0xAE */ bool mInfluencedAlpha; /* 0xAF */ u8 mIsConnectParent; /* 0xB0 */ JSUTree<J2DPane> mPaneTree; }; diff --git a/include/JSystem/JKernel/JKRExpHeap.h b/include/JSystem/JKernel/JKRExpHeap.h index cdbc89f1..b1043ae3 100644 --- a/include/JSystem/JKernel/JKRExpHeap.h +++ b/include/JSystem/JKernel/JKRExpHeap.h @@ -62,10 +62,12 @@ public: s32 getUsedSize(u8 groupId) const; s32 getTotalUsedSize(void) const; - CMemBlock* getHeadUsedList() const { return mHeadUsedList; } + CMemBlock* getUsedFirst() { return mHeadUsedList; } void setAllocationMode(EAllocMode mode) { mAllocMode = mode; } + static s32 getUsedSize_(JKRExpHeap* heap) { return heap->mSize - heap->getTotalFreeSize(); } + static void* getState_(TState* state) { return getState_buf_(state); } public: /* vt[04] */ virtual u32 getHeapType(); /* override */ diff --git a/include/JSystem/JKernel/JKRHeap.h b/include/JSystem/JKernel/JKRHeap.h index d0b9d283..9323fcbe 100644 --- a/include/JSystem/JKernel/JKRHeap.h +++ b/include/JSystem/JKernel/JKRHeap.h @@ -83,18 +83,16 @@ public: /* vt[23] */ virtual void state_dump(JKRHeap::TState const& p) const; void setDebugFill(bool debugFill) { mDebugFill = debugFill; } - bool getDebugFill() const { return mDebugFill; } - void* getStartAddr() const { return (void*)mStart; } - void* getEndAddr() const { return (void*)mEnd; } - u32 getSize() const { return mSize; } + void* getStartAddr() { return (void*)mStart; } + void* getEndAddr() { return (void*)mEnd; } bool getErrorFlag() const { return mErrorFlag; } - void callErrorHandler(JKRHeap* heap, u32 size, int alignment) { + void callErrorHandler(void* heap, u32 size, int alignment) { if (mErrorHandler) { (*mErrorHandler)(heap, size, alignment); } } - JKRHeap* getParent() const { + JKRHeap* getParent() { JSUTree<JKRHeap>* parent = mChildTree.getParent(); return parent->getObject(); } @@ -102,8 +100,8 @@ public: JSUTree<JKRHeap>& getHeapTree() { return mChildTree; } void appendDisposer(JKRDisposer* disposer) { mDisposerList.append(&disposer->mLink); } void removeDisposer(JKRDisposer* disposer) { mDisposerList.remove(&disposer->mLink); } - void lock() { OSLockMutex(&mMutex); } - void unlock() { OSUnlockMutex(&mMutex); } + void lock() const { OSLockMutex(const_cast<OSMutex*>(&mMutex)); } + void unlock() const { OSUnlockMutex(const_cast<OSMutex*>(&mMutex)); } u32 getHeapSize() { return mSize; } protected: @@ -137,6 +135,7 @@ public: static JKRErrorHandler setErrorHandler(JKRErrorHandler errorHandler); + static bool isDefaultDebugFill() { return sDefaultFillFlag; } static void setDefaultDebugFill(bool status) { sDefaultFillFlag = status; } static void* getCodeStart(void) { return mCodeStart; } static void* getCodeEnd(void) { return mCodeEnd; } @@ -144,14 +143,9 @@ public: static void* getUserRamEnd(void) { return mUserRamEnd; } static u32 getMemorySize(void) { return mMemorySize; } static JKRHeap* getRootHeap() { return sRootHeap; } -#if DEBUG - static JKRHeap* getRootHeap2() { return sRootHeap2; } -#endif static JKRHeap* getSystemHeap() { return sSystemHeap; } static JKRHeap* getCurrentHeap() { return sCurrentHeap; } - static void setSystemHeap(JKRHeap* heap) { sSystemHeap = heap; } - static void setCurrentHeap(JKRHeap* heap) { sCurrentHeap = heap; } static void setState_u32ID_(TState* state, u32 id) { state->mId = id; } static void setState_uUsedSize_(TState* state, u32 usedSize) { state->mUsedSize = usedSize; } @@ -159,7 +153,6 @@ public: state->mCheckCode = checkCode; } static void* getState_buf_(TState* state) { return &state->mBuf; } - static void* getState_(TState* state) { return getState_buf_(state); } static void* mCodeStart; static void* mCodeEnd; @@ -168,9 +161,6 @@ public: static u32 mMemorySize; static JKRHeap* sRootHeap; -#if DEBUG - static JKRHeap* sRootHeap2; -#endif static JKRHeap* sSystemHeap; static JKRHeap* sCurrentHeap; diff --git a/include/JSystem/JKernel/JKRSolidHeap.h b/include/JSystem/JKernel/JKRSolidHeap.h index 9c0b6c98..ba14ff58 100644 --- a/include/JSystem/JKernel/JKRSolidHeap.h +++ b/include/JSystem/JKernel/JKRSolidHeap.h @@ -58,6 +58,8 @@ public: s32 adjustSize(void); static JKRSolidHeap* create(u32, JKRHeap*, bool); + + static void* getState_(TState* state) { return getState_buf_(state); } }; // Size: 0x80 inline JKRSolidHeap* JKRCreateSolidHeap(u32 size, JKRHeap* parent, bool errorFlag) { return JKRSolidHeap::create(size, parent, errorFlag); } diff --git a/include/JSystem/JKernel/JKRStdHeap.h b/include/JSystem/JKernel/JKRStdHeap.h index 21a5eb08..55573696 100644 --- a/include/JSystem/JKernel/JKRStdHeap.h +++ b/include/JSystem/JKernel/JKRStdHeap.h @@ -31,6 +31,8 @@ public: s32 do_getSize(void* ptr) { return OSReferentSize(ptr); }; s32 do_getTotalFreeSize() { return getFreeSize(); }; + static void* getState_(TState* state) { return getState_buf_(state); } + OSHeapHandle mHeapHandle; }; diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index e98b1db4..63fda32b 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1245,6 +1245,7 @@ inline s32 dComIfGs_getCollectMapNum() { inline void dComIfGs_onSaveArriveGrid(int i_no) { g_dComIfG_gameInfo.save.getPlayer().getMap().onSaveArriveGrid(i_no); } + inline BOOL dComIfGs_isSaveArriveGrid(int i_no) { return g_dComIfG_gameInfo.save.getPlayer().getMap().isSaveArriveGrid(i_no); } @@ -3519,7 +3520,7 @@ inline s32 dComIfGp_event_order(u16 eventType, u16 priority, u16 flag, u16 hind, return g_dComIfG_gameInfo.play.getEvent()->order(eventType, priority, flag, hind, pActor1, pActor2, eventID, infoIdx); } -inline s32 dComIfGp_event_orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* pActor1, void* pActor2, const char *pEventName) { +inline s32 dComIfGp_event_orderOld(u16 eventType, u16 priority, u16 flag, u16 hind, void* pActor1, void* pActor2, void* pEventName) { return g_dComIfG_gameInfo.play.getEvent()->orderOld(eventType, priority, flag, hind, pActor1, pActor2, pEventName); } diff --git a/include/d/d_menu_fmap.h b/include/d/d_menu_fmap.h index 94b0339f..0da5e0ce 100644 --- a/include/d/d_menu_fmap.h +++ b/include/d/d_menu_fmap.h @@ -144,8 +144,12 @@ public: JUT_ASSERT(VERSION_SELECT(558, 558, 569, 569), fmapSv != NULL); fmapSv->setCurHY(val); } - void lineInter0to1(f32, f32, f32) {} - void lineInter0to1ForU8(u8, u8, f32) {} + f32 lineInter0to1(f32 a, f32 b, f32 c) { + return a + (b - a) * c; + } + u8 lineInter0to1ForU8(u8 a, u8 b, f32 c) { + return a + (b - a) * c; + } void setFont(JUTFont* font, JUTFont* rfont) { mFont = font; mRFont = rfont; @@ -306,7 +310,7 @@ public: bool _open_wallPaper(); int getButtonIconMode(); -public: +private: /* 0x0004 */ u8 padding_0x4[0x18 - 0x4]; /* 0x0018 */ ResTIMG * mChkPntTxt_p; /* 0x001C */ dDlst_FMAP_c fmapDl; @@ -347,7 +351,7 @@ public: /* 0x34CC */ fopMsgM_pane_class mFmnPanes[15]; /* 0x3814 */ fopMsgM_pane_class mClgPane; /* 0x384C */ fopMsgM_pane_class mSc2xPanes[7]; - /* 0x39D4 */ fopMsgM_pane_class mR0xPanes[11]; + /* 0x39D4 */ fopMsgM_pane_class mR0xPanes[DEMO_SELECT(10, 11)]; /* 0x3C3C */ fopMsgM_pane_class mStxxPanes[49]; /* 0x46F4 */ fopMsgM_pane_class mCk1xPanes[3]; /* 0x479C */ fopMsgM_pane_class mCk2xPanes[3]; @@ -377,7 +381,7 @@ public: /* 0x4F44 */ fopMsgM_pane_class mGsPanes[7]; #endif #if VERSION == VERSION_DEMO - u8 pad [0x340 + 8]; + u8 pad [0x340 + 8 + 0x38]; #endif /* 0x50CC */ STControl* stick; /* 0x50D0 */ JUTFont* mFont; @@ -435,8 +439,8 @@ public: /* 0x517A */ u8 mFishmanTimer3; /* 0x517B */ u8 mCheckMarkTimer; /* 0x517C */ u8 mCheckMarkToggle; - /* 0x517D */ u8 field_0x517D; - /* 0x517E */ u8 field_0x517E; + /* 0x517D */ u8 mKorokMarkTimer; + /* 0x517E */ u8 mKorokMarkToggle; /* 0x517F */ bool mFishmanActive; /* 0x5180 */ u8 mSalvagePntIdx; /* 0x5181 */ u8 mButtonIconMode; @@ -448,11 +452,11 @@ public: /* 0x5187 */ u8 padding_0x5187[0x518C-0x5187]; /* 0x518C */ char* mpKtx1String; /* 0x5190 */ char* mpKtx2String; - /* 0x5194 */ JUtility::TColor mCk1Color; + /* 0x5194 */ JUtility::TColor mCk1Color1; /* 0x5198 */ JUtility::TColor mCk1Color2; - /* 0x519C */ JUtility::TColor mKr0Color; + /* 0x519C */ JUtility::TColor mKr0Color1; /* 0x51A0 */ JUtility::TColor mKr0Color2; - /* 0x51A4 */ JUtility::TColor mYs01Color; + /* 0x51A4 */ JUtility::TColor mYs01Color1; /* 0x51A8 */ JUtility::TColor mYs01Color2; #if VERSION > VERSION_JPN /* 0x51AC */ bool mMoonAlphaActive; @@ -543,12 +547,12 @@ public: /* 0x0E0 */ u8 mCheckMarkAnimFrame; /* 0x0E1 */ GXColor mCheckMarkWhite; /* 0x0E5 */ GXColor mCheckMarkBlack; - /* 0x0E9 */ u8 field_0xE9; - /* 0x0EA */ GXColor field_0xEA; - /* 0x0EE */ GXColor field_0xEE; + /* 0x0E9 */ u8 mKorokMarkAnimFrame; + /* 0x0EA */ GXColor mKorokMarkAnimWhite; + /* 0x0EE */ GXColor mKorokMarkAnimBlack; /* 0x0F2 */ u8 field_0xF2; - /* 0x0F3 */ GXColor mKorokWhite; - /* 0x0F7 */ GXColor mKorokBlack; + /* 0x0F3 */ GXColor mKorokMarkWhite; + /* 0x0F7 */ GXColor mKorokMarkBlack; /* 0x0FB */ u8 field_0xFB; /* 0x0FC */ GXColor mAreaTxtColor; /* 0x100 */ GXColor mAreaTxtColorMain; diff --git a/include/d/d_menu_fmap2.h b/include/d/d_menu_fmap2.h index d39473dd..7cf7b921 100644 --- a/include/d/d_menu_fmap2.h +++ b/include/d/d_menu_fmap2.h @@ -1,8 +1,11 @@ #ifndef D_MENU_FMAP2_H #define D_MENU_FMAP2_H +#include "JSystem/J2DGraph/J2DTextBox.h" #include "d/d_drawlist.h" #include "d/d_menu_fmapSv.h" +#include "f_op/f_op_msg_mng.h" +#include "m_Do/m_Do_hostIO.h" struct fopMsgM_pane_class; class J2DScreen; @@ -10,6 +13,7 @@ class JUTFont; struct ResTIMG; class STControl; class dDlst_2DOutFont_c; +class mDoDvdThd_mountArchive_c; class dDlst_FMAP2GS_c : public dDlst_base_c { public: @@ -35,7 +39,7 @@ public: void getCmapDatValue() {} void lineInter0to1ForU8(u8, u8, f32) {} void setAramCmapDat(aramCmapDat_c* i_ptr) { mpFmapDatPnt = i_ptr; } - void setSvPtr(dMenu_FmapSv_c*) {} + void setSvPtr(dMenu_FmapSv_c* i_ptr) { fmapSv = i_ptr; } void _create(); void screenSet(); @@ -203,9 +207,9 @@ public: fmapSv->setCmapSelNo(no); } -public: - /* 0x0004 */ void* mChkPntTxt_p; - /* 0x0008 */ void* mCmapTxtMain_p[2]; +private: + /* 0x0004 */ ResTIMG* mChkPntTxt_p; + /* 0x0008 */ ResTIMG* mCmapTxtMain_p[2]; /* 0x0010 */ dMenu_FmapSv_c* fmapSv; /* 0x0014 */ u8 padding_0x14[0x18 - 0x14]; /* 0x0018 */ mDoDvdThd_mountArchive_c* field_0x18; @@ -218,10 +222,8 @@ public: /* 0x003C */ dDlst_2DOutFont_c* outFont[2]; /* 0x0044 */ dDlst_2DOutFont_c* outFontS[2]; /* 0x004C */ fopMsgM_pane_class mClPane; - /* 0x0084 */ fopMsgM_pane_class mFc0xPanes[4]; - /* 0x0164 */ fopMsgM_pane_class mFc1xPanes[4]; - /* 0x0244 */ fopMsgM_pane_class mCc0xPanes[4]; - /* 0x0324 */ fopMsgM_pane_class mCc1xPanes[4]; + /* 0x0084 */ fopMsgM_pane_class mFcxxPanes[8]; + /* 0x0244 */ fopMsgM_pane_class mCcxxPanes[8]; /* 0x0404 */ fopMsgM_pane_class mKdmPane; /* 0x043c */ fopMsgM_pane_class field_0x43c[5]; /* 0x0554 */ fopMsgM_pane_class field_0x554[17]; @@ -437,10 +439,8 @@ public: /* 0x2824 */ JUtility::TColor color_0x2824; /* 0x2828 */ JUtility::TColor color_0x2828; /* 0x282C */ JUtility::TColor color_0x282C; - /* 0x2830 */ f32 field_0x2830; - /* 0x2834 */ f32 field_0x2834; - /* 0x2838 */ f32 field_0x2838; - /* 0x283C */ f32 field_0x283c; + /* 0x2830 */ J2DTextBox::TFontSize field_0x2830; + /* 0x2838 */ J2DTextBox::TFontSize field_0x2838; /* 0x2840 */ f32 field_0x2840; /* 0x2844 */ f32 field_0x2844; /* 0x2848 */ u16 field_0x2848[2]; @@ -460,6 +460,8 @@ public: dMf2_HIO_c(); virtual ~dMf2_HIO_c() {} + void genMessage(JORMContext* ctx) { UNUSED(ctx); } + /* 0x04 */ s8 mNo; /* 0x05 */ u8 field_0x5; /* 0x06 */ u8 field_0x6; diff --git a/include/d/d_menu_fmapSv.h b/include/d/d_menu_fmapSv.h index fd1e538e..91adbb17 100644 --- a/include/d/d_menu_fmapSv.h +++ b/include/d/d_menu_fmapSv.h @@ -39,7 +39,7 @@ public: mNum = a_pat->num; mpPnt = a_pat->pnt; } else { - JUT_ASSERT(252, FALSE); + JUT_ASSERT(DEMO_SELECT(246, 252), FALSE); } } void getAramCmapDatValue() {} @@ -53,10 +53,14 @@ public: } pnt++; } - if (i < mNum) { - return pnt; - } - return NULL; + // if (i < mNum) { + // return pnt; + // } else { + // pnt = NULL; + // } + // return pnt; + // Fakematch: Ternary is needed to match getGridNumToCmapDatPnt for demo, but doesn't match debug map size + return i < mNum ? pnt : NULL; } aramCmapDatPnt_t* getCmapDatPnt4(int i_cmapIdx) { aramCmapDatPnt_t* pnt = mpPnt; @@ -69,8 +73,10 @@ public: } if (i < mNum) { return pnt; + } else { + pnt = NULL; } - return NULL; + return pnt; } private: diff --git a/src/JSystem/J2DGraph/J2DPane.cpp b/src/JSystem/J2DGraph/J2DPane.cpp index b8417d52..8403d6ef 100644 --- a/src/JSystem/J2DGraph/J2DPane.cpp +++ b/src/JSystem/J2DGraph/J2DPane.cpp @@ -53,7 +53,7 @@ void J2DPane::initiate() { mRotation = 0.0f; mCullMode = GX_CULL_NONE; mAlpha = 0xFF; - mInheritAlpha = TRUE; + mInfluencedAlpha = true; mDrawAlpha = 0xFF; mIsConnectParent = 0; calcMtx(); @@ -106,9 +106,9 @@ void J2DPane::makePaneStream(J2DPane* pParentPane, JSURandomInputStream* pStream size--; } - mInheritAlpha = TRUE; + mInfluencedAlpha = true; if (size != 0) { - mInheritAlpha = pStream->readU8() != 0; + mInfluencedAlpha = pStream->readU8() != 0; size--; } @@ -175,7 +175,7 @@ void J2DPane::draw(f32 x, f32 y, const J2DGrafContext* pCtx, bool clip) { } mDrawAlpha = mAlpha; - if (mInheritAlpha) + if (mInfluencedAlpha) mDrawAlpha = (mAlpha * pParentPane->mDrawAlpha) / 0xFF; } else { mGlobalBounds.addPos(x, y); diff --git a/src/JSystem/JKernel/JKRExpHeap.cpp b/src/JSystem/JKernel/JKRExpHeap.cpp index a47d561a..89a53732 100644 --- a/src/JSystem/JKernel/JKRExpHeap.cpp +++ b/src/JSystem/JKernel/JKRExpHeap.cpp @@ -358,7 +358,7 @@ void JKRExpHeap::do_freeAll() { JKRHeap::callAllDisposer(); mHeadFreeList = (CMemBlock*)getStartAddr(); mTailFreeList = mHeadFreeList; - mHeadFreeList->initiate(NULL, NULL, getSize() - 0x10, 0, 0); + mHeadFreeList->initiate(NULL, NULL, getHeapSize() - 0x10, 0, 0); mHeadUsedList = NULL; mTailUsedList = NULL; unlock(); @@ -1009,12 +1009,13 @@ static void dummy2() { void JKRExpHeap::state_register(TState* p, u32 param_1) const { JUT_ASSERT(VERSION_SELECT(2271, 2420, 2423, 2423), p != NULL); JUT_ASSERT(VERSION_SELECT(2272, 2421, 2424, 2424), p->getHeap() == this); - p->mId = param_1; + + getState_(p); + setState_u32ID_(p, param_1); if (param_1 <= 0xff) { - p->mUsedSize = getUsedSize(param_1); + setState_uUsedSize_(p, getUsedSize(param_1)); } else { - s32 freeSize = const_cast<JKRExpHeap*>(this)->getTotalFreeSize(); - p->mUsedSize = getSize() - freeSize; + setState_uUsedSize_(p, getUsedSize_(const_cast<JKRExpHeap*>(this))); } u32 checkCode = 0; @@ -1028,18 +1029,18 @@ void JKRExpHeap::state_register(TState* p, u32 param_1) const { checkCode += (u32)block * 3; } } - p->mCheckCode = checkCode; + setState_u32CheckCode_(p, checkCode); } /* 802B31D4-802B327C .text state_compare__10JKRExpHeapCFRCQ27JKRHeap6TStateRCQ27JKRHeap6TState */ bool JKRExpHeap::state_compare(const JKRHeap::TState& r1, const JKRHeap::TState& r2) const { JUT_ASSERT(VERSION_SELECT(2319, 2468, 2471, 2471), r1.getHeap() == r2.getHeap()); bool result = true; - if (r1.mCheckCode != r2.mCheckCode) { + if (r1.getCheckCode() != r2.getCheckCode()) { result = false; } - if (r1.mUsedSize != r2.mUsedSize) { + if (r1.getUsedSize() != r2.getUsedSize()) { result = false; } diff --git a/src/JSystem/JKernel/JKRStdHeap.cpp b/src/JSystem/JKernel/JKRStdHeap.cpp index 03ea37bb..91ee6233 100644 --- a/src/JSystem/JKernel/JKRStdHeap.cpp +++ b/src/JSystem/JKernel/JKRStdHeap.cpp @@ -125,6 +125,8 @@ void* JKRStdHeap::do_getMaxFreeBlock() { void JKRStdHeap::state_register(JKRHeap::TState* p, u32 id) const { JUT_ASSERT(370, p != NULL); JUT_ASSERT(371, p->getHeap() == this); + + getState_(p); setState_u32ID_(p, id); setState_uUsedSize_(p, 0); setState_u32CheckCode_(p, 0); @@ -134,11 +136,11 @@ void JKRStdHeap::state_register(JKRHeap::TState* p, u32 id) const { bool JKRStdHeap::state_compare(const JKRHeap::TState& r1, const JKRHeap::TState& r2) const { JUT_ASSERT(394, r1.getHeap() == r2.getHeap()); bool result = true; - if (r1.mCheckCode != r2.mCheckCode) { + if (r1.getCheckCode() != r2.getCheckCode()) { result = false; } - if (r1.mUsedSize != r2.mUsedSize) { + if (r1.getUsedSize() != r2.getUsedSize()) { result = false; } diff --git a/src/d/actor/d_a_lstair.cpp b/src/d/actor/d_a_lstair.cpp index 7e5060a5..91a0ddfa 100644 --- a/src/d/actor/d_a_lstair.cpp +++ b/src/d/actor/d_a_lstair.cpp @@ -8,15 +8,22 @@ #include "d/d_stage.h" #include "res/Object/Gkai00.h" +namespace daLStair_prm { + inline int getSwitchNo(daLStair_c* actor) { return fopAcM_GetParam(actor) & 0xFF; } +} + const char daLStair_c::m_arcname[] = "Gkai00"; /* 00000078-000000D4 .text _delete__10daLStair_cFv */ bool daLStair_c::_delete() { - if (heap != NULL) { +#if VERSION > VERSION_DEMO + if (heap != NULL) +#endif + { dComIfG_Bgsp()->Release(mpBgW); } - dComIfG_resDelete(&mPhase, m_arcname); + dComIfG_resDeleteDemo(&mPhase, m_arcname); return TRUE; } @@ -29,7 +36,7 @@ static BOOL CheckCreateHeap(fopAc_ac_c* i_this) { /* 000000F4-000004F8 .text CreateHeap__10daLStair_cFv */ BOOL daLStair_c::CreateHeap() { J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BDL_GKAI00_e); - JUT_ASSERT(0xD8, modelData != NULL); + JUT_ASSERT(DEMO_SELECT(209, 216), modelData != NULL); mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000223); if (mpModel == NULL) { @@ -37,35 +44,35 @@ BOOL daLStair_c::CreateHeap() { } J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BCK_GKAI00_e); - JUT_ASSERT(0xE9, pbck != NULL); + JUT_ASSERT(DEMO_SELECT(226, 233), pbck != NULL); if (!mBckAnm.init(modelData, pbck, true, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, false)) { return FALSE; } J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BTK_GKAI00_e); - JUT_ASSERT(0xF4, pbtk != NULL); + JUT_ASSERT(DEMO_SELECT(237, 244), pbtk != NULL); if (!mBtkAnm.init(modelData, pbtk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) { return FALSE; } J3DAnmColor* pbpk = (J3DAnmColor*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BPK_GKAI00_01_e); - JUT_ASSERT(0xFF, pbpk != NULL); + JUT_ASSERT(DEMO_SELECT(248, 255), pbpk != NULL); if (!mBpkAnm0.init(modelData, pbpk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) { return FALSE; } pbpk = (J3DAnmColor*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BPK_GKAI00_02_e); - JUT_ASSERT(0x10A, pbpk != NULL); + JUT_ASSERT(DEMO_SELECT(259, 266), pbpk != NULL); if (!mBpkAnm1.init(modelData, pbpk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) { return FALSE; } J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes(m_arcname, dRes_INDEX_GKAI00_BRK_GKAI00_e); - JUT_ASSERT(0x116, pbrk != NULL); + JUT_ASSERT(DEMO_SELECT(271, 278), pbrk != NULL); if (!mBrkAnm.init(modelData, pbrk, true, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1, false, 0)) { return FALSE; @@ -87,11 +94,11 @@ BOOL daLStair_c::CreateHeap() { /* 000004F8-00000638 .text CreateInit__10daLStair_cFv */ void daLStair_c::CreateInit() { - cullMtx = mpModel->getBaseTRMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -200.0f, -300.0f, -100.0f, 200.0f, 100.0f, 700.0f); - cullSizeFar = 1.5f; - mSwitchNo = fopAcM_GetParam(this) & 0xFF; - mSwitchStatus = dComIfGs_isSwitch(mSwitchNo, fopAcM_GetHomeRoomNo(this)) != 0; + fopAcM_setCullSizeFar(this, 1.5f); + mSwitchNo = daLStair_prm::getSwitchNo(this); + mSwitchStatus = fopAcM_isSwitch(this, mSwitchNo); mEnemyGone = fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL; mEventIdx = dComIfGp_evmng_getEventIdx("STAIRAPPEAR", 0xFF); mStairYOffset = -330.0f; @@ -140,24 +147,20 @@ void daLStair_c::set_mtx() { /* 00000998-00000A1C .text setMoveBGMtx__10daLStair_cFv */ void daLStair_c::setMoveBGMtx() { - f32 y = current.pos.y; - f32 h = mStairYOffset; - f32 c = -300.0f; - + f32 f3 = -300.0f; mDoMtx_stack_c::transS( current.pos.x, - h + (y + c), + current.pos.y + f3 + mStairYOffset, current.pos.z ); - mDoMtx_stack_c::YrotM(shape_angle.y); mDoMtx_stack_c::scaleM(scale.x, scale.y, scale.z); - mDoMtx_copy(mDoMtx_stack_c::get(), mBgMtx); + MTXCopy(mDoMtx_stack_c::get(), mBgMtx); } /* 00000A1C-00000ACC .text _execute__10daLStair_cFv */ bool daLStair_c::_execute() { - bool switch_status = dComIfGs_isSwitch(mSwitchNo, fopAcM_GetHomeRoomNo(this)); + bool switch_status = fopAcM_isSwitch(this, mSwitchNo); bool enemy_gone = fopAcM_myRoomSearchEnemy(fopAcM_GetRoomNo(this)) == NULL; checkAppear(); @@ -195,10 +198,7 @@ void daLStair_c::demoMove() { /* 00000B8C-00000C88 .text checkAppear__10daLStair_cFv */ void daLStair_c::checkAppear() { - bool switch_status = dComIfGs_isSwitch( - mSwitchNo, - fopAcM_GetHomeRoomNo(this) - ); + bool switch_status = fopAcM_isSwitch(this, mSwitchNo); bool enemy_gone = fopAcM_myRoomSearchEnemy(current.roomNo) == NULL; if (mSwitchNo != 0xFF) { @@ -230,9 +230,11 @@ void daLStair_c::checkAppear() { /* 00000C88-00000D78 .text moveBG__10daLStair_cFv */ void daLStair_c::moveBG() { - bool switch_status = dComIfGs_isSwitch(mSwitchNo, home.roomNo); + bool switch_status = fopAcM_isSwitch(this, mSwitchNo); bool enemy_gone = fopAcM_myRoomSearchEnemy(current.roomNo) == NULL; + f32 maxStep = 10.0f; + f32 minStep = 5.0f; f32 target; if ((mSwitchNo != 0xFF && switch_status) || (mSwitchNo == 0xFF && enemy_gone)) { @@ -243,7 +245,8 @@ void daLStair_c::moveBG() { if (mAppearTimer < 0) { if (cLib_calcTimer(&mTimer) == 0) { - cLib_addCalc(&mStairYOffset, target, 1.0f / 60.0f, 10.0f, 5.0f); + int r0 = 60; + cLib_addCalc(&mStairYOffset, target, 1.0f / r0, maxStep, minStep); } } @@ -264,8 +267,8 @@ void daLStair_c::appear_stair() { ); mDoMtx_stack_c::YrotM(current.angle.y); - PSMTXMultVec(mDoMtx_stack_c::get(), &local_2c, &local_2c); - PSMTXMultVec(mDoMtx_stack_c::get(), &local_38, &local_38); + mDoMtx_stack_c::multVec(&local_2c, &local_2c); + mDoMtx_stack_c::multVec(&local_38, &local_38); local_20.y -= 300.0f; @@ -307,7 +310,7 @@ void daLStair_c::disappear_stair() { /* 0000103C-000010D4 .text set_on_se__10daLStair_cFv */ void daLStair_c::set_on_se() { - stage_stag_info_class* stage_info = dComIfGp_getStage().getStagInfo(); + stage_stag_info_class* stage_info = dComIfGp_getStageStagInfo(); if ((dStage_stagInfo_GetSaveTbl(stage_info)) == dStageType_FF1_e) { fopAcM_seStart(this, JA_SE_OBJ_R_STAIR_APPEAR, 0); @@ -333,14 +336,10 @@ inline BOOL daLStair_c::_draw() { g_env_light.settingTevStruct(TEV_TYPE_BG0, ¤t.pos, &tevStr); g_env_light.setLightTevColorType(mpModel, &tevStr); - J3DModelData* modelData = mpModel->getModelData(); - mBtkAnm.entry(modelData, mBtkAnm.getFrame()); - modelData = mpModel->getModelData(); - mBpkAnm0.entry(modelData, mBpkAnm0.getFrame()); - modelData = mpModel->getModelData(); - mBpkAnm1.entry(modelData, mBpkAnm1.getFrame()); - modelData = mpModel->getModelData(); - mBrkAnm.entry(modelData, mBrkAnm.getFrame()); + mBtkAnm.entry(mpModel->getModelData()); + mBpkAnm0.entry(mpModel->getModelData()); + mBpkAnm1.entry(mpModel->getModelData()); + mBrkAnm.entry(mpModel->getModelData()); dComIfGd_setListBG(); mDoExt_modelUpdateDL(mpModel); diff --git a/src/d/d_attention.cpp b/src/d/d_attention.cpp index c0864032..e7774d5f 100644 --- a/src/d/d_attention.cpp +++ b/src/d/d_attention.cpp @@ -100,7 +100,7 @@ dAttention_c::dAttention_c(fopAc_ac_c* i_player, u32 i_padNo) { mDoExt_restoreCurrentHeap(); if (mDoExt_adjustSolidHeap(heap) >= 0) - DCStoreRangeNoSync(heap->getStartAddr(), heap->getSize()); + DCStoreRangeNoSync(heap->getStartAddr(), heap->getHeapSize()); field_0x028 = -1; mFlags = 0; diff --git a/src/d/d_file_error.cpp b/src/d/d_file_error.cpp index a8c50d1c..f55e8d07 100644 --- a/src/d/d_file_error.cpp +++ b/src/d/d_file_error.cpp @@ -78,6 +78,12 @@ void dFile_error_c::_delete() { MyScreen::~MyScreen() { } +#if VERSION == VERSION_DEMO +void dFile_error_c::_deleteSp() { + mDoHIO_deleteChild(g_feHIO.mNo); +} +#endif + /* 8017DF04-8017E010 .text setErrMessage__13dFile_error_cFUli */ void dFile_error_c::setErrMessage(u32 msgNo, int param_2) { m2fa = (u8) param_2; @@ -123,7 +129,7 @@ void dFile_error_c::closeMessage() { /* 8017E068-8017E228 .text resizeMsgBoard__13dFile_error_cFi */ void dFile_error_c::resizeMsgBoard(int param_1) { J2DPane *pane_2_pane = msgPanes[2].pane; - f32 pane_2_height = pane_2_pane->mBounds.getHeight(); + f32 pane_2_height = pane_2_pane->getHeight(); f32 scale = ((pane_2_height / VERSION_SELECT(9.0f, 9.0f, 12.0f, 12.0f)) * (f32) param_1) / pane_2_height; fopMsgM_paneScaleY(&msgPanes[2], scale); @@ -191,8 +197,8 @@ void dFile_error_c::setMessage(char* message) { while (*message != '\0') { if (*message == '\x1a') { m2f7 = 1; - msgPanes[0].pane->mVisible = true; - msgPanes[1].pane->mVisible = true; + msgPanes[0].pane->show(); + msgPanes[1].pane->show(); message ++; for (int i = 0; i < in_r9; i ++) { @@ -232,7 +238,9 @@ int dFile_error_c::getLineCount(char* text) { text ++; } - return line_count + 1; + line_count++; + + return line_count; } typedef void(dFile_error_c::*procFunc)(); @@ -379,8 +387,8 @@ void dFile_error_c::yesNoSelectWait() { mDoAud_seStart(JA_SE_MSEL_CANCEL_1); } - msgPanes[0].pane->mVisible = false; - msgPanes[1].pane->mVisible = false; + msgPanes[0].pane->hide(); + msgPanes[1].pane->hide(); m2fe = 0; mState = 2; @@ -524,8 +532,8 @@ void dFile_error_c::screenSet() { search_result = fileErr.Scr->search('cur2'); fopMsgM_setPaneData(&msgPanes[1], search_result); - mPane0Rotation = msgPanes[0].pane->mRotation; - mPane1Rotation = msgPanes[1].pane->mRotation; + mPane0Rotation = msgPanes[0].pane->getRotate(); + mPane1Rotation = msgPanes[1].pane->getRotate(); int i; int id_1 = 'cc00'; @@ -656,8 +664,8 @@ void dFile_error_c::paneTransInit() { PaneTranceBase(m2fe, g_feHIO.m8, (f32) g_feHIO.m6, 0.0, 0.0, 0.0, 1, 1); - msgPanes[0].pane->mVisible = false; - msgPanes[1].pane->mVisible = false; + msgPanes[0].pane->hide(); + msgPanes[1].pane->hide(); } /* 8017F3E0-8017F3FC .text displayInit__13dFile_error_cFv */ diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 2008539c..6c5dd7da 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -207,7 +207,7 @@ void dMenu_Collect_c::screenSet() { fopMsgM_setPaneData(&m7E8, scrn, 'nk00'); fopMsgM_setPaneData(&m820, scrn, 'no11'); - m820.mUserArea = m820.pane->mRotation; + m820.mUserArea = m820.pane->getRotate(); if (m820.mUserArea > 180) m820.mUserArea -= 360; @@ -1802,53 +1802,21 @@ void dMenu_Collect_c::itemScale() { if (now == 3) { m2478->insertChild(m1498[0].pane, m1738.pane); fopMsgM_paneScaleXY(&m1738, g_menuHIO.field_0x8); - - J2DPane* pane = m1738.pane; - float y = m1738.mSize.y / 2.0f; - float x = m1738.mSize.x / 2.0f; - - pane->mBasePosition.x = x; - pane->mBasePosition.y = y; - pane->mRotationAxis = ROTATE_Z; - pane->calcMtx(); + m1738.pane->rotate(m1738.mSize.x / 2.0f, m1738.mSize.y / 2.0f, ROTATE_Z, m1738.pane->getRotate()); } else { m2478->insertChild(m15E8[5].pane, m1738.pane); fopMsgM_paneScaleXY(&m1738, 1.0f); - - J2DPane* pane = m1738.pane; - float y = m1738.mSize.y / 2.0f; - float x = m1738.mSize.x / 2.0f; - - pane->mBasePosition.x = x; - pane->mBasePosition.y = y; - pane->mRotationAxis = ROTATE_Z; - pane->calcMtx(); + m1738.pane->rotate(m1738.mSize.x / 2.0f, m1738.mSize.y / 2.0f, ROTATE_Z, m1738.pane->getRotate()); } if (now == 4) { m2478->insertChild(m1498[0].pane, m1770.pane); fopMsgM_paneScaleXY(&m1770, g_menuHIO.field_0x8); - - J2DPane* pane = m1770.pane; - float y = m1770.mSize.y / 2.0f; - float x = m1770.mSize.x / 2.0f; - - pane->mBasePosition.x = x; - pane->mBasePosition.y = y; - pane->mRotationAxis = ROTATE_Z; - pane->calcMtx(); + m1770.pane->rotate(m1770.mSize.x / 2.0f, m1770.mSize.y / 2.0f, ROTATE_Z, m1770.pane->getRotate()); } else { m2478->insertChild(m15E8[5].pane, m1770.pane); fopMsgM_paneScaleXY(&m1770, 1.0f); - - J2DPane* pane = m1770.pane; - float y = m1770.mSize.y / 2.0f; - float x = m1770.mSize.x / 2.0f; - - pane->mBasePosition.x = x; - pane->mBasePosition.y = y; - pane->mRotationAxis = ROTATE_Z; - pane->calcMtx(); + m1770.pane->rotate(m1770.mSize.x / 2.0f, m1770.mSize.y / 2.0f, ROTATE_Z, m1770.pane->getRotate()); } break; @@ -3495,7 +3463,7 @@ void dMenu_Collect_c::outFontMove() { f32 rotOffX = m820.mPosCenter.x - m3F8[i].mPosTopLeft.x; f32 rotOffY = m820.mPosCenter.y - m3F8[i].mPosTopLeft.y; - m3F8[i].pane->rotate(rotOffX, rotOffY, ROTATE_Z, m820.pane->mRotation); + m3F8[i].pane->rotate(rotOffX, rotOffY, ROTATE_Z, m820.pane->getRotate()); } else { fopMsgM_setNowAlphaZero(&m0B0[i]); } diff --git a/src/d/d_menu_dmap.cpp b/src/d/d_menu_dmap.cpp index 1b8d9932..8314d33c 100644 --- a/src/d/d_menu_dmap.cpp +++ b/src/d/d_menu_dmap.cpp @@ -341,10 +341,7 @@ void dMenu_Dmap_c::screenSet() { mMpp1SizeX = mpp1pane.mSizeOrig.x; mMpp1SizeY = mpp1pane.mSizeOrig.y; - f32 h = scrn->search('mpp2')->getHeight(); - J2DPane* p2 = scrn->search('mpp2'); - J2DPane* p1 = scrn->search('mpp1'); - mMppGapY = p1->mBounds.i.y - (p2->mBounds.i.y + h); + mMppGapY = scrn->search('mpp1')->getBounds().i.y - (scrn->search('mpp2')->getBounds().i.y + scrn->search('mpp2')->getHeight()); } /* 801A92D4-801A9364 .text dMap_isBossDoor__FP21stage_tgsc_data_class */ diff --git a/src/d/d_menu_fmap.cpp b/src/d/d_menu_fmap.cpp index 6df1dfae..27fbe753 100644 --- a/src/d/d_menu_fmap.cpp +++ b/src/d/d_menu_fmap.cpp @@ -148,24 +148,24 @@ dMf_HIO_c::dMf_HIO_c() { mCheckMarkBlack.r = 255; mCheckMarkBlack.g = 255; mCheckMarkBlack.b = 255; - field_0xE9 = 50; - field_0xEE.r = 255; - field_0xEE.g = 64; - field_0xEE.b = 0; - field_0xEE.a = 0; - field_0xEA.r = 0; - field_0xEA.g = 0; - field_0xEA.b = 0; - field_0xEA.a = 255; + mKorokMarkAnimFrame = 50; + mKorokMarkAnimBlack.r = 255; + mKorokMarkAnimBlack.g = 64; + mKorokMarkAnimBlack.b = 0; + mKorokMarkAnimBlack.a = 0; + mKorokMarkAnimWhite.r = 0; + mKorokMarkAnimWhite.g = 0; + mKorokMarkAnimWhite.b = 0; + mKorokMarkAnimWhite.a = 255; field_0xF2 = 192; - mKorokBlack.r = 0; - mKorokBlack.g = 64; - mKorokBlack.b = 0; - mKorokBlack.a = 0; - mKorokWhite.r = 0; - mKorokWhite.g = 129; - mKorokWhite.b = 0; - mKorokWhite.a = 255; + mKorokMarkBlack.r = 0; + mKorokMarkBlack.g = 64; + mKorokMarkBlack.b = 0; + mKorokMarkBlack.a = 0; + mKorokMarkWhite.r = 0; + mKorokMarkWhite.g = 129; + mKorokMarkWhite.b = 0; + mKorokMarkWhite.a = 255; field_0xFB = 128; mAreaTxtColor.r = 136; mAreaTxtColor.g = 50; @@ -479,7 +479,7 @@ void dMenu_Fmap_c::screenSet() { } fopMsgM_setPaneData(&mCk3xPanes[0], fmapDl.scrn, 'CK31'); fopMsgM_setPaneData(&mCk3xPanes[1], fmapDl.scrn, 'CK32'); - mCk1Color.set(((J2DPicture*)mCk1xPanes[0].pane)->getBlack()); + mCk1Color1.set(((J2DPicture*)mCk1xPanes[0].pane)->getBlack()); mCk1Color2.set(((J2DPicture*)mCk1xPanes[0].pane)->getWhite()); for (i = 0; i < 8; i++) { @@ -488,10 +488,10 @@ void dMenu_Fmap_c::screenSet() { }; fopMsgM_setPaneData(&mKr0xPanes[i], fmapDl.scrn, tagkr[i]); } - mKr0Color.set(((J2DPicture*)mKr0xPanes[0].pane)->getBlack()); + mKr0Color1.set(((J2DPicture*)mKr0xPanes[0].pane)->getBlack()); mKr0Color2.set(((J2DPicture*)mKr0xPanes[0].pane)->getWhite()); - for (i = 0; i < 11; i++) { + for (i = 0; i < ARRAY_SSIZE(mR0xPanes); i++) { static const u32 l_island[] = { 'R01', 'R04', 'R0B', 'R0D', 'R14', 'R17', #if VERSION > VERSION_DEMO @@ -556,7 +556,7 @@ void dMenu_Fmap_c::screenSet() { ((J2DTextBox*)mWt1Pane.pane)->setFont(mRFont); mYs01Color2.set(((J2DPicture*)mYs01Pane.pane)->getWhite()); - mYs01Color.set(((J2DPicture*)mYs01Pane.pane)->getBlack()); + mYs01Color1.set(((J2DPicture*)mYs01Pane.pane)->getBlack()); #if VERSION > VERSION_JPN ((J2DTextBox*)mWt0Pane.pane)->setBlack(JUtility::TColor(0xffffff00)); @@ -675,6 +675,9 @@ void dMenu_Fmap_c::initialize() { mPlayerChkPntNo = dMap_getCheckPointUseGrid(mGridX, mGridY); mWnd1Pane.mUserArea = 0; checkMarkAnimeInit(); +#if VERSION == VERSION_DEMO + krogMarkAnimeInit(); +#endif mAreaTxtBufIdx = 0; mAreaTxtTimer = 0; mAreaTxtChanging = false; @@ -725,7 +728,7 @@ void dMenu_Fmap_c::displayinit() { setPaneOnOff(fmapDl.scrn, hist[i], !dComIfGs_isSaveArriveGrid(i)); } - for (i = 0; i < 11; i++) { + for (i = 0; i < ARRAY_SSIZE(mR0xPanes); i++) { static int islandPos[] = { dIsleRoom_ForsakenFortress_e, dIsleRoom_GaleIsle_e, @@ -771,7 +774,7 @@ void dMenu_Fmap_c::displayinit() { #if VERSION > VERSION_JPN gShipMarkAnimeInit(); #endif - mFmap2.fmapSv = fmapSv; + mFmap2.setSvPtr(fmapSv); mFmap2._create(); mFmap2.setAramCmapDat(&mCmapDatPnt); mFmap2.initialize(); @@ -875,8 +878,8 @@ void dMenu_Fmap_c::dispEndSalvageMark() { fopMsgM_pane_class pane; fopMsgM_setPaneData(&pane, fmapDl.scrn, hist[i]); - f32 y = pnt->salvagePnt[mSalvagePntIdx].y; f32 x = pnt->salvagePnt[mSalvagePntIdx].x; + f32 y = pnt->salvagePnt[mSalvagePntIdx].y; mStxxPanes[i].mPosCenterOrig.x = pane.mPosCenterOrig.x + x * 56.0f / 100000.0f; mStxxPanes[i].mPosCenterOrig.y = pane.mPosCenterOrig.y + y * 56.0f / 100000.0f; mStxxPanes[i].mPosCenter.x = mStxxPanes[i].mPosCenterOrig.x; @@ -907,11 +910,21 @@ void dMenu_Fmap_c::checkMarkCheck1() { mCk1xPanes[1].pane->show(); } +#if VERSION > VERSION_DEMO if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_1E80)) { mCk1xPanes[1].pane->hide(); } +#endif - if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_3920)) { +#if VERSION == VERSION_DEMO + if (dComIfGs_isSymbol(dSymbol_NAYRU_e)) +#else + if (dComIfGs_isEventBit(dSv_event_flag_c::UNK_3920)) +#endif + { +#if VERSION == VERSION_DEMO + mCk1xPanes[1].pane->hide(); +#endif if (dComIfGs_isEventBit(dSv_event_flag_c::PLACED_DINS_PEARL)) { mCk2xPanes[0].pane->hide(); } else { @@ -955,7 +968,16 @@ void dMenu_Fmap_c::checkMarkCheck3() { bool stat = dComIfGs_isEventBit(dSv_event_flag_c::UNK_0102) || ((dComIfGs_getEventReg(dSv_event_flag_c::UNK_9EFF) & 0xFF) >> bit & 1); if (stat != 0) { - ((J2DPicture*)mKr0xPanes[i].pane)->setBlackWhite(g_mfHIO.mKorokBlack, g_mfHIO.mKorokWhite); + ((J2DPicture*)mKr0xPanes[i].pane)->setBlackWhite(g_mfHIO.mKorokMarkBlack, g_mfHIO.mKorokMarkWhite); +#if VERSION == VERSION_DEMO + mKr0xPanes[i].mInitAlpha = g_mfHIO.field_0xFB; + mKr0xPanes[i].mNowAlpha = g_mfHIO.field_0xFB; +#endif + } else { +#if VERSION == VERSION_DEMO + mKr0xPanes[i].mInitAlpha = g_mfHIO.field_0xF2; + mKr0xPanes[i].mNowAlpha = g_mfHIO.field_0xF2; +#endif } ((J2DPicture*)mKr0xPanes[i].pane)->changeTexture(korogStat[stat], 0); @@ -996,8 +1018,9 @@ void dMenu_Fmap_c::setPaneOnOff(J2DScreen* i_screen, u32 i_arg2, bool i_arg3) { /* 801B1978-801B19F0 .text childPaneMoveSp__12dMenu_Fmap_cFP18fopMsgM_pane_classP18fopMsgM_pane_classfff */ void dMenu_Fmap_c::childPaneMoveSp(fopMsgM_pane_class* i_pane1, fopMsgM_pane_class* i_pane2, f32 i_scale, f32 i_x, f32 i_y) { + f32 xSize = i_pane2->mSize.x / 2.0f; f32 ySize = i_pane2->mSize.y / 2.0f; - i_pane1->mPosCenter.x = i_pane2->mSize.x / 2.0f + i_scale * (i_pane1->mPosCenterOrig.x - i_pane2->mSizeOrig.x / 2.0f); + i_pane1->mPosCenter.x = xSize + i_scale * (i_pane1->mPosCenterOrig.x - i_pane2->mSizeOrig.x / 2.0f); i_pane1->mPosCenter.y = ySize + i_scale * (i_pane1->mPosCenterOrig.y - i_pane2->mSizeOrig.y / 2.0f); fopMsgM_paneScale(i_pane1, i_x, i_y); } @@ -1339,14 +1362,14 @@ void dMenu_Fmap_c::checkMarkAnime() { alpha = 1.0f - alpha; } - white.r = g_mfHIO.mCheckMarkWhite.r + alpha * (mCk1Color2.r - g_mfHIO.mCheckMarkWhite.r); - white.g = g_mfHIO.mCheckMarkWhite.g + alpha * (mCk1Color2.g - g_mfHIO.mCheckMarkWhite.g); - white.b = g_mfHIO.mCheckMarkWhite.b + alpha * (mCk1Color2.b - g_mfHIO.mCheckMarkWhite.b); + white.r = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.r, mCk1Color2.r, alpha); + white.g = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.g, mCk1Color2.g, alpha); + white.b = lineInter0to1ForU8(g_mfHIO.mCheckMarkWhite.b, mCk1Color2.b, alpha); white.a = mCk1Color2.a; - black.r = g_mfHIO.mCheckMarkBlack.r + alpha * (mCk1Color.r - g_mfHIO.mCheckMarkBlack.r); - black.g = g_mfHIO.mCheckMarkBlack.g + alpha * (mCk1Color.g - g_mfHIO.mCheckMarkBlack.g); - black.b = g_mfHIO.mCheckMarkBlack.b + alpha * (mCk1Color.b - g_mfHIO.mCheckMarkBlack.b); - black.a = mCk1Color.a; + black.r = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.r, mCk1Color1.r, alpha); + black.g = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.g, mCk1Color1.g, alpha); + black.b = lineInter0to1ForU8(g_mfHIO.mCheckMarkBlack.b, mCk1Color1.b, alpha); + black.a = mCk1Color1.a; if (mCheckMarkTimer == 0) { mCheckMarkTimer = g_mfHIO.mCheckMarkAnimFrame; @@ -1366,15 +1389,20 @@ void dMenu_Fmap_c::checkMarkAnime() { for (int i = 0; i < 2; i++) { if (mCk3xPanes[i].pane->isVisible()) { +#if VERSION == VERSION_DEMO + // @bug Bad copy paste, sets ck1x again + ((J2DPicture*)mCk1xPanes[i].pane)->setBlackWhite(black, white); +#else ((J2DPicture*)mCk3xPanes[i].pane)->setBlackWhite(black, white); +#endif } } } #if VERSION == VERSION_DEMO void dMenu_Fmap_c::krogMarkAnimeInit() { - field_0x517D = g_mfHIO.field_0xE9; - field_0x517E = 1; + mKorokMarkTimer = g_mfHIO.mKorokMarkAnimFrame; + mKorokMarkToggle = 1; } #endif @@ -1393,20 +1421,20 @@ void dMenu_Fmap_c::krogMarkAnime() { alpha = 1.0f - alpha; } - white.r = g_mfHIO.mCheckMarkWhite.r + alpha * (mCk1Color2.r - g_mfHIO.mCheckMarkWhite.r); - white.g = g_mfHIO.mCheckMarkWhite.g + alpha * (mCk1Color2.g - g_mfHIO.mCheckMarkWhite.g); - white.b = g_mfHIO.mCheckMarkWhite.b + alpha * (mCk1Color2.b - g_mfHIO.mCheckMarkWhite.b); + white.r = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.r, mKr0Color2.r, alpha); + white.g = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.g, mKr0Color2.g, alpha); + white.b = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimWhite.b, mKr0Color2.b, alpha); white.a = mCk1Color2.a; - black.r = g_mfHIO.mCheckMarkBlack.r + alpha * (mCk1Color.r - g_mfHIO.mCheckMarkBlack.r); - black.g = g_mfHIO.mCheckMarkBlack.g + alpha * (mCk1Color.g - g_mfHIO.mCheckMarkBlack.g); - black.b = g_mfHIO.mCheckMarkBlack.b + alpha * (mCk1Color.b - g_mfHIO.mCheckMarkBlack.b); - black.a = mCk1Color.a; - - if (mCheckMarkTimer == 0) { - mCheckMarkTimer = g_mfHIO.mCheckMarkAnimFrame; - mCheckMarkToggle ^= 1; + black.r = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.r, mKr0Color1.r, alpha); + black.g = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.g, mKr0Color1.g, alpha); + black.b = lineInter0to1ForU8(g_mfHIO.mKorokMarkAnimBlack.b, mKr0Color1.b, alpha); + black.a = mCk1Color1.a; + + if (mKorokMarkTimer == 0) { + mKorokMarkTimer = g_mfHIO.mKorokMarkAnimFrame; + mKorokMarkToggle ^= 1; } else { - mCheckMarkTimer--; + mKorokMarkTimer--; } for (int i = 0; i < 8; i++) { @@ -1734,15 +1762,20 @@ void dMenu_Fmap_c::checkDspHugeMapShip() { if (!mFishmanActive) { mSpi3Pane.pane->hide(); mDspHugeMapShip = false; - } else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) == 0 + } else if (dComIfGp_checkPlayerStatus0(0, daPyStts0_SHIP_RIDE_e) == 0 && mTargetGridX == getCtCurX() - && mTargetGridY == getCtCurY()) { + && mTargetGridY == getCtCurY() + ) { +#if VERSION == VERSION_DEMO + mDspHugeMapShip = true; +#else if (mShipOpenWater) { mDspHugeMapShip = false; mSpi3Pane.pane->hide(); } else { mDspHugeMapShip = true; } +#endif } else { mSpi3Pane.pane->hide(); mDspHugeMapShip = false; @@ -1752,9 +1785,11 @@ void dMenu_Fmap_c::checkDspHugeMapShip() { /* 801B4B44-801B4C0C .text _open__12dMenu_Fmap_cFv */ bool dMenu_Fmap_c::_open() { BOOL ret; +#if VERSION > VERSION_DEMO if (mFrameTimer == 0) { mButtonIconMode = FMAP_BTN_ICON_WORLD; } +#endif if (mZoomLocked) { ret = TRUE; } else { @@ -1763,6 +1798,9 @@ bool dMenu_Fmap_c::_open() { } if (ret == TRUE) { mFrameTimer = 0; +#if VERSION == VERSION_DEMO + mButtonIconMode = FMAP_BTN_ICON_WORLD; +#endif return true; } return false; @@ -1976,7 +2014,9 @@ void dMenu_Fmap_c::zoomMapAlphaSet(s8 i_gridX, s8 i_gridY, fopMsgM_pane_class* i } else { i_pane->mInitAlpha = 0xFF; } +#if VERSION > VERSION_DEMO i_pane->mInitAlpha = 0xFF; +#endif fopMsgM_setAlpha(i_pane); } @@ -2019,9 +2059,9 @@ void dMenu_Fmap_c::ZoomGridLv1Proc() { mDispIslandPosY * (mClgPane.mSizeOrig.y / 100000.0f), 0.0, 0.0, mTsw1Pane.mSizeOrig.x / clgOrigX, 1.0, 0x2, 0); for (int i = 0; i < 8; i++) { - mKk3xPanes[i].pane->mInheritAlpha = false; + mKk3xPanes[i].pane->setInfluencedAlpha(false); } - mR01bPane.pane->mInheritAlpha = false; + mR01bPane.pane->setInfluencedAlpha(false); mFrameTimer = 0; mFmapProcIdx = FMAP_ZOOM_PROC_LV2_IN; } @@ -2085,8 +2125,22 @@ void dMenu_Fmap_c::ZoomGridLv2In() { mFrameTimer++; if (zoom2 == TRUE && alpha == TRUE) { mFrameTimer = 0; - mDspHugeMapLink ? mLnk3Pane.pane->show() : mLnk3Pane.pane->hide(); - mDspHugeMapShip ? mSpi3Pane.pane->show() : mSpi3Pane.pane->hide(); + if (mDspHugeMapLink) { + mLnk3Pane.pane->show(); + } +#if VERSION > VERSION_DEMO + else { + mLnk3Pane.pane->hide(); + } +#endif + if (mDspHugeMapShip) { + mSpi3Pane.pane->show(); + } +#if VERSION > VERSION_DEMO + else { + mSpi3Pane.pane->hide(); + } +#endif mFmapProcIdx = FMAP_ZOOM_PROC_LV2; } } @@ -2128,9 +2182,9 @@ void dMenu_Fmap_c::ZoomGridLv2Out() { } mClgPane.pane->hide(); for (int i = 0; i < 8; i++) { - mKk3xPanes[i].pane->mInheritAlpha = true; + mKk3xPanes[i].pane->setInfluencedAlpha(true); } - mR01bPane.pane->mInheritAlpha = true; + mR01bPane.pane->setInfluencedAlpha(true); mFrameTimer = 0; mFmapProcIdx = FMAP_ZOOM_PROC_LV1; } @@ -2358,11 +2412,17 @@ BOOL dMenu_Fmap_c::paneTranceZoom2Map(s16 i_frame, u8 i_max, f32 i_transStartX, return TRUE; } + f32 scale; f32 alpha = fopMsgM_valueIncrease(i_max, i_frame, i_mode); - f32 scaleAdj = alpha * (i_scaleEnd - i_scaleStart); - fopMsgM_paneTrans(&mClgPane, i_transStartX + alpha * (i_transEndX - i_transStartX), i_transStartY + alpha * (i_transEndY - i_transStartY)); + f32 transXRange = i_transEndX - i_transStartX; + f32 transYRange = i_transEndY - i_transStartY; + f32 scaleRange = i_scaleEnd - i_scaleStart; + f32 transXAdj = alpha * transXRange; + f32 transYAdj = alpha * transYRange; + f32 scaleAdj = alpha * scaleRange; + fopMsgM_paneTrans(&mClgPane, i_transStartX + transXAdj, i_transStartY + transYAdj); fopMsgM_paneScaleXY(&mClgPane, i_scaleStart + scaleAdj); - f32 scale = i_scaleStart + scaleAdj; + scale = i_scaleStart + scaleAdj; if (i_flag == 1) { alpha = 1.0f - alpha; @@ -2532,6 +2592,9 @@ bool dMenu_Fmap_c::_open_warpMode() { mWrapSpotEmitters[i]->playDrawParticle(); } mWrapBackEmitter->clearStatus(JPAEmtrStts_StopDraw); +#if VERSION == VERSION_DEMO + mButtonIconMode = FMAP_BTN_ICON_WARP; +#endif mWarpProcIdx = WARP_PROC_MOVE; return true; } @@ -2571,14 +2634,13 @@ void dMenu_Fmap_c::init_warpMode() { setWrapBackEmitter(backEmitter); mWrapBackEmitter->setStatus(JPAEmtrStts_StopDraw); - int i = 0; - for (; i < DEMO_SELECT(8, FMAP_WARP_COUNT); i++) { - // !@bug Demo iterates 8 times instead of 7, accessing out of bounds of these three arrays. - spotEmitter.x = g_mfHIO.mWarpSpotPosX[i]; - spotEmitter.y = g_mfHIO.mWarpSpotPosY[i]; + int i = DEMO_SELECT(1, 0); + for (; i < FMAP_WARP_COUNT + DEMO_SELECT(1, 0); i++) { + spotEmitter.x = g_mfHIO.mWarpSpotPosX[i-DEMO_SELECT(1, 0)]; + spotEmitter.y = g_mfHIO.mWarpSpotPosY[i-DEMO_SELECT(1, 0)]; spotEmitter.z = 0.0f; - setWrapSpotEmitter(i, spotEmitter); - mWrapSpotEmitters[i]->stopDrawParticle(); + setWrapSpotEmitter(i-DEMO_SELECT(1, 0), spotEmitter); + mWrapSpotEmitters[i-DEMO_SELECT(1, 0)]->stopDrawParticle(); } areaTextChangeAnimeInit(); @@ -2624,6 +2686,9 @@ void dMenu_Fmap_c::wrapMove() { if (CPad_CHECK_TRIG_A(0)) { mDoAud_seStart(JA_SE_SHIPPU_DIST_SEL); if (dComIfGs_isSaveArriveGrid(getCtCurWX() + (getCtCurWY() + 3) * 7 + 3)) { +#if VERSION == VERSION_DEMO + msgNo += 0x45; +#else if (msgNo == 7) { msgNo = 0x43; } else if (msgNo == 8) { @@ -2631,6 +2696,7 @@ void dMenu_Fmap_c::wrapMove() { } else { msgNo += 0x45; } +#endif } else { msgNo = 0x44; } @@ -2645,8 +2711,8 @@ void dMenu_Fmap_c::wrapMove() { ((J2DPicture*) mNo00Pane.pane)->setBlackWhite( JUtility::TColor(0x33, 0x15, 0x00, 0x00), JUtility::TColor(0x76, 0x54, 0x2F, 0xFF)); - ((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); - ((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); + ((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); + ((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); warpSelCursorMove(); warpSelCursorAnimeInit(); @@ -2753,8 +2819,8 @@ void dMenu_Fmap_c::wrapSelect() { ((J2DPicture*)mYs00Pane.pane)->setBlackWhite( JUtility::TColor(0x33, 0x15, 0x00, 0x00), JUtility::TColor(0x76, 0x54, 0x2F, 0xFF)); - ((J2DPicture*)mNo01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); - ((J2DPicture*)mNo00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); + ((J2DPicture*)mNo01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); + ((J2DPicture*)mNo00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); } } else if (stick->checkLeftTrigger()) { if (mWarpSubState != FMAP_WARP_SEL_YES) { @@ -2767,8 +2833,8 @@ void dMenu_Fmap_c::wrapSelect() { ((J2DPicture*)mNo00Pane.pane)->setBlackWhite( JUtility::TColor(0x33, 0x15, 0x00, 0x00), JUtility::TColor(0x76, 0x54, 0x2F, 0xFF)); - ((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); - ((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color, mYs01Color2); + ((J2DPicture*)mYs01Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); + ((J2DPicture*)mYs00Pane.pane)->setBlackWhite(mYs01Color1, mYs01Color2); } } warpSelCursorAnime(); @@ -2853,7 +2919,8 @@ BOOL dMenu_Fmap_c::paneTranceWarpMsg(fopMsgM_pane_class* i_pane, s16 i_frame, u8 return TRUE; } f32 alpha = fopMsgM_valueIncrease(i_max, i_frame, i_mode); - fopMsgM_paneTrans(i_pane, 0.0f, i_startY + alpha * (i_endY - i_startY)); + f32 yAdj = alpha * (i_endY - i_startY); + fopMsgM_paneTrans(i_pane, 0.0f, i_startY + yAdj); if (i_flag != 2) { if (i_flag == 1) { alpha = 1.0f - alpha; @@ -2972,7 +3039,7 @@ int dMenu_Fmap_c::getWarpAreaNoRight(const cursorTable_t* i_table) { /* 801B9784-801B97DC .text getWarpAreaTablePtr__12dMenu_Fmap_cFScSc */ const cursorTable_t* dMenu_Fmap_c::getWarpAreaTablePtr(s8 i_gridX, s8 i_gridY) { const cursorTable_t* table = NULL; - for (int i = 0; i < 9; i++) { + for (int i = 0; i < FMAP_WARP_COUNT; i++) { if (g_cursorTable[i].gridX == i_gridX && g_cursorTable[i].gridY == i_gridY) { table = &g_cursorTable[i]; break; @@ -3075,26 +3142,22 @@ void dMenu_Fmap_c::setDspWarpBackCornerColor(f32 i_ratio) { next = 0; } - f32 cur = rgb[i][0]; - f32 nextC = rgb[next][0]; - color[i].r = cur + alpha * (nextC - cur); - - cur = rgb[i][1]; - nextC = rgb[next][1]; - color[i].g = cur + alpha * (nextC - cur); - - cur = rgb[i][2]; - nextC = rgb[next][2]; - color[i].b = cur + alpha * (nextC - cur); - + color[i].r = lineInter0to1(rgb[i][0], rgb[next][0], alpha); + color[i].g = lineInter0to1(rgb[i][1], rgb[next][1], alpha); + color[i].b = lineInter0to1(rgb[i][2], rgb[next][2], alpha); color[i].a = 255; } + int idx0 = (idx + 0) % 4; + int idx1 = (idx + 1) % 4; + int idx2 = (idx + 2) % 4; + int idx3 = (idx + 3) % 4; + ((J2DPicture*)mClPane.pane)->setCornerColor( - color[idx % 4], - color[(idx + 1) % 4], - color[(idx + 3) % 4], - color[(idx + 2) % 4]); + color[idx0], + color[idx1], + color[idx3], + color[idx2]); } /* 801BA01C-801BA08C .text setWrapBackEmitter__12dMenu_Fmap_cF4cXyz */ @@ -3116,6 +3179,9 @@ bool dMenu_Fmap_c::_open_fishManMode() { mFrameTimer++; if (ret == TRUE) { mFrameTimer = 0; +#if VERSION == VERSION_DEMO + mButtonIconMode = FMAP_BTN_ICON_FISHMAN; +#endif mFishmanProcIdx = FISHMAN_PROC_DISP_AREA; return true; } @@ -3137,7 +3203,9 @@ bool dMenu_Fmap_c::_close_fishManMode() { /* 801BA214-801BA49C .text init_fishManMode__12dMenu_Fmap_cFv */ void dMenu_Fmap_c::init_fishManMode() { mFmapMode = FMAP_MODE_FISHMAN; +#if VERSION > VERSION_DEMO mButtonIconMode = FMAP_BTN_ICON_FISHMAN; +#endif selCursorHide(); int i; for (i = 0; i < 3; i++) { @@ -3232,9 +3300,9 @@ void dMenu_Fmap_c::fmZoomGridLv1In() { mFrameTimer = 0; mClgPane.pane->show(); for (int i = 0; i < 8; i++) { - mKk3xPanes[i].pane->mInheritAlpha = false; + mKk3xPanes[i].pane->setInfluencedAlpha(false); } - mR01bPane.pane->mInheritAlpha = false; + mR01bPane.pane->setInfluencedAlpha(false); mFishmanProcIdx = FISHMAN_PROC_ZOOM_LV2_IN; } } @@ -3284,7 +3352,11 @@ void dMenu_Fmap_c::fmMapWrite() { mFishmanTimer1--; } else { if (mFrameTimer == 0) { +#if VERSION == VERSION_DEMO + mDoAud_seStart(JA_SE_SO_MAP_ADD_FIN); +#else mDoAud_subBgmStart(JA_BGM_BGN_GET_BOX); +#endif } BOOL zoomMap = paneAlphaZoom2Map(mFrameTimer, g_mfHIO.mFishmanZoom2AlphaFrame, 0x02, 0); mFrameTimer++; @@ -3341,9 +3413,9 @@ void dMenu_Fmap_c::fmZoomGridLv2Out() { mDoAud_seStart(JA_SE_CHART_ZOOM_OUT); mClgPane.pane->hide(); for (int i = 0; i < 8; i++) { - mKk3xPanes[i].pane->mInheritAlpha = true; + mKk3xPanes[i].pane->setInfluencedAlpha(true); } - mR01bPane.pane->mInheritAlpha = true; + mR01bPane.pane->setInfluencedAlpha(true); mFrameTimer = 0; mFishmanProcIdx = FISHMAN_PROC_ZOOM_LV1_OUT; } @@ -3389,6 +3461,9 @@ bool dMenu_Fmap_c::_open_wallPaper() { mFrameTimer++; if (ret == 1) { mFrameTimer = 0; +#if VERSION == VERSION_DEMO + mButtonIconMode = FMAP_BTN_ICON_WALLPAPER; +#endif mFmapMode = FMAP_MODE_WALLPAPER; return true; } diff --git a/src/d/d_menu_fmap2.cpp b/src/d/d_menu_fmap2.cpp index 3dd78ad2..517ae248 100644 --- a/src/d/d_menu_fmap2.cpp +++ b/src/d/d_menu_fmap2.cpp @@ -126,7 +126,6 @@ dMf2_HIO_c::dMf2_HIO_c() { /* 801BB5B8-801BBA2C .text _create__13dMenu_Fmap2_cFv */ void dMenu_Fmap2_c::_create() { - /* Nonmatching */ fmap2Dl.scrn = new J2DScreen(); JUT_ASSERT(VERSION_SELECT(293, 293, 316, 316), fmap2Dl.scrn != NULL); fmap2Dl.scrn->set("f_hikaku_1.blo", dComIfGp_getFmapResArchive()); @@ -142,11 +141,11 @@ void dMenu_Fmap2_c::_create() { JUT_ASSERT(VERSION_SELECT(310, 310, 333, 333), outFontS[1] != NULL); field_0x34 = mDoExt_getMesgFont(); field_0x38 = mDoExt_getRubyFont(); - mChkPntTxt_p = new(0x20) u8[0x2c00]; + mChkPntTxt_p = (ResTIMG*)operator new(0x2c00, 0x20); JUT_ASSERT(VERSION_SELECT(317, 317, 340, 340), mChkPntTxt_p != NULL); - mCmapTxtMain_p[0] = new(0x20) u8[0x2c00]; + mCmapTxtMain_p[0] = (ResTIMG*)operator new(0x2c00, 0x20); JUT_ASSERT(VERSION_SELECT(321, 321, 344, 344), mCmapTxtMain_p[0] != NULL); - mCmapTxtMain_p[1] = new(0x20) u8[0x2c00]; + mCmapTxtMain_p[1] = (ResTIMG*)operator new(0x2c00, 0x20); JUT_ASSERT(VERSION_SELECT(323, 323, 346, 346), mCmapTxtMain_p[1] != NULL); screenSet(); field_0x27fb = 0; @@ -155,18 +154,18 @@ void dMenu_Fmap2_c::_create() { /* 801BBA2C-801BCC74 .text screenSet__13dMenu_Fmap2_cFv */ void dMenu_Fmap2_c::screenSet() { - /* Nonmatching */ + int i; fopMsgM_setPaneData(&mClPane, fmap2Dl.scrn->search('cl')); fopMsgM_setPaneData(&mKdmPane, fmap2Dl.scrn->search('Kdm')); u32 r26 = 'Fc01'; u32 r30 = 'Fc11'; u32 r24 = 'cc01'; u32 r23 = 'cc11'; - for (int i = 0; i < 4; r26++, r30++, r24++, r23++, i++) { - fopMsgM_setPaneData(&mFc0xPanes[i], fmap2Dl.scrn->search(r26)); - fopMsgM_setPaneData(&mFc1xPanes[i], fmap2Dl.scrn->search(r30)); - fopMsgM_setPaneData(&mCc0xPanes[i], fmap2Dl.scrn->search(r24)); - fopMsgM_setPaneData(&mCc1xPanes[i], fmap2Dl.scrn->search(r23)); + for (i = 0; i < 4; r26++, r30++, r24++, r23++, i++) { + fopMsgM_setPaneData(&mFcxxPanes[i+0], fmap2Dl.scrn->search(r26)); + fopMsgM_setPaneData(&mFcxxPanes[i+4], fmap2Dl.scrn->search(r30)); + fopMsgM_setPaneData(&mCcxxPanes[i+0], fmap2Dl.scrn->search(r24)); + fopMsgM_setPaneData(&mCcxxPanes[i+4], fmap2Dl.scrn->search(r23)); } fopMsgM_setPaneData(&mNcddPane, fmap2Dl.scrn->search('ncdd')); fopMsgM_setPaneData(&mMkcdPane, fmap2Dl.scrn->search('mkCD')); @@ -193,7 +192,7 @@ void dMenu_Fmap2_c::screenSet() { local_178.move(); local_2c8.move(); char local_3c8[256]; - for (int i = 0; i < 256; i++) { + for (i = 0; i < 256; i++) { local_3c8[i] = 'A'; } local_3c8[255] = 0; @@ -211,16 +210,14 @@ void dMenu_Fmap2_c::screenSet() { 'ck18', 'ck19', 'ck1a', 'bt11', 'bt12', }; - for (int i = 0; i < 17; i++) { + for (i = 0; i < 17; i++) { fopMsgM_setPaneData(&field_0x554[i], fmap2Dl.scrn->search(l_tagNm01[i])); fopMsgM_setPaneData(&field_0x90c[i], fmap2Dl.scrn->search(l_tagNm02[i])); } - field_0x2830 = field_0x554[1].pane->mGlobalBounds.i.x; - field_0x2834 = field_0x554[1].pane->mGlobalBounds.i.y; - field_0x2838 = field_0x554[3].pane->mGlobalBounds.i.x; - field_0x283c = field_0x554[3].pane->mGlobalBounds.i.y; - field_0x2840 = field_0x554[1].pane->mGlobalBounds.f.y; - field_0x2844 = field_0x554[3].pane->mGlobalBounds.f.y; + ((J2DTextBox*)field_0x554[1].pane)->getFontSize(field_0x2830); + ((J2DTextBox*)field_0x554[3].pane)->getFontSize(field_0x2838); + field_0x2840 = ((J2DTextBox*)field_0x554[1].pane)->getLineSpace(); + field_0x2844 = ((J2DTextBox*)field_0x554[3].pane)->getLineSpace(); ((J2DTextBox*)field_0x554[1].pane)->setFont(field_0x34); ((J2DTextBox*)field_0x554[2].pane)->setFont(field_0x34); ((J2DTextBox*)field_0x554[3].pane)->setFont(field_0x38); @@ -339,11 +336,11 @@ void dMenu_Fmap2_c::screenSet() { fopMsgM_setPaneData(&field_0x1484[6], fmap2Dl.scrn->search('cmk1')); fopMsgM_setPaneData(&field_0x1484[7], fmap2Dl.scrn->search('cmk2')); char local_448[128]; - for (int i = 0; i < 128; i++) { + for (i = 0; i < 128; i++) { local_448[i] = 'A'; } local_448[127] = 0; - for (int i = 0; i < 4; i++) { + for (i = 0; i < 4; i++) { ((J2DTextBox*)field_0x1484[i].pane)->setFont(field_0x34); ((J2DTextBox*)field_0x1484[i].pane)->setString(local_448); field_0x27c8[i] = ((J2DTextBox*)field_0x1484[i].pane)->getStringPtr(); @@ -357,14 +354,16 @@ void dMenu_Fmap2_c::screenSet() { fopMsgM_setPaneData(&mFmk1Pane, fmap2Dl.scrn->search('fmk1')); fopMsgM_setPaneData(&mRkjnPane, fmap2Dl.scrn->search('Rkjn')); fopMsgM_setPaneData(&mClg2Pane, fmap2Dl.scrn->search('clg2')); + JUtility::TColor black; + JUtility::TColor white; fopMsgM_setPaneData(&mAreaPane, fmap2Dl.scrn->search('area')); - JUtility::TColor local_454 = ((J2DPicture*)mAreaPane.pane)->getWhite(); - JUtility::TColor local_458 = ((J2DPicture*)mAreaPane.pane)->getBlack(); - field_0x27f8 = local_458.a; - field_0x27f9 = local_454.a; + white = (u32)((J2DPicture*)mAreaPane.pane)->getWhite(); + black = (u32)((J2DPicture*)mAreaPane.pane)->getBlack(); + field_0x27f8 = black.a; + field_0x27f9 = white.a; fopMsgM_setPaneData(&field_0xe1c[0], fmap2Dl.scrn->search('fdt1')); fopMsgM_setPaneData(&field_0xe1c[1], fmap2Dl.scrn->search('fts1')); - for (int i = 0; i < 2; i++) { + for (i = 0; i < 2; i++) { ((J2DTextBox*)field_0xe1c[i].pane)->setFont(field_0x34); ((J2DTextBox*)field_0xe1c[i].pane)->setString(local_448); field_0x27c0[i] = ((J2DTextBox*)field_0xe1c[i].pane)->getStringPtr(); @@ -374,7 +373,6 @@ void dMenu_Fmap2_c::screenSet() { /* 801BCC74-801BD258 .text initialize__13dMenu_Fmap2_cFv */ void dMenu_Fmap2_c::initialize() { - /* Nonmatching */ field_0x27ac = 0; field_0x280d = 0; field_0x280e = 0; @@ -385,7 +383,7 @@ void dMenu_Fmap2_c::initialize() { fopAc_ac_c* player = dComIfGp_getPlayer(0); field_0x27b0 = player->current.pos.x; field_0x27b4 = player->current.pos.z; - field_0x27b8 = ((player->shape_angle.y + 0x8000) * 180.0f) / 32768.0f; + field_0x27b8 = ((s16)(player->shape_angle.y + 0x8000) * 180.0f) / 32768.0f; if (strcmp(dComIfGp_getStartStageName(), "sea") == 0) { s8 local_27; s8 local_28; @@ -437,7 +435,7 @@ void dMenu_Fmap2_c::initialize() { /* 801BD258-801BD588 .text displayInit__13dMenu_Fmap2_cFv */ void dMenu_Fmap2_c::displayInit() { - /* Nonmatching */ + int i; static const u32 hist[] = { 'mR01', 'mR02', 'mR03', 'mR04', 'mR05', 'mR06', 'mR07', 'mR08', 'mR09', 'mR0A', 'mR0B', 'mR0C', 'mR0D', 'mR0E', @@ -448,7 +446,7 @@ void dMenu_Fmap2_c::displayInit() { 'mR2B', 'mR2C', 'mR2D', 'mR2E', 'mR2F', 'mR30', 'mR31', }; - for (int i = 0; i < 49; i++) { + for (i = 0; i < 49; i++) { setPaneOnOff(fmap2Dl.scrn, hist[i], dComIfGs_isSaveArriveGrid(i) == 0); } fopMsgM_paneTrans(&mAreaPane, field_0x27bc * 16.0f, field_0x27bd * 16.0f); @@ -458,12 +456,12 @@ void dMenu_Fmap2_c::displayInit() { field_0xcc4[field_0x2816][0].pane->hide(); field_0xcc4[field_0x2816 ^ 1][0].pane->hide(); if (dComIfGs_getOptRuby()) { - for (int i = 3; i < 5; i++) { + for (i = 3; i < 5; i++) { field_0x43c[i].pane->hide(); field_0x554[i].pane->hide(); field_0x90c[i].pane->hide(); } - for (int i = 1; i < 3; i++) { + for (i = 1; i < 3; i++) { field_0x43c[i].mPosCenterOrig.y -= 4.0f; field_0x43c[i].mPosCenter.y = field_0x43c[i].mPosCenterOrig.y; field_0x554[i].mPosCenterOrig.y -= 4.0f; @@ -965,8 +963,13 @@ void dMenu_Fmap2_c::CmapOpen() { field_0x27ac = 0; field_0x2812 = 2; if (getCollectMapKind(field_0x27a9) || isOpenCollectMapTriforce(field_0x27a9)) { +#if VERSION == VERSION_DEMO + field_0xcc4[field_0x2816][0].pane->hide(); +#endif paneTranceMessage(0, g_mf2HIO.field_0x3f, 1.0f, 1.0f, 0.0f, 0.0f, 0, field_0x2816, 0); +#if VERSION > VERSION_DEMO field_0xcc4[field_0x2816][0].pane->hide(); +#endif } field_0x2848[field_0x2816] = 0xffff; for (int i = 0; i < 2; i++) { @@ -1069,8 +1072,8 @@ void dMenu_Fmap2_c::screenSetGs() { fopMsgM_setPaneData(&mGsS02PaneAlpha, fmap2GsDl.scrn->search('S02')); fopMsgM_setPaneData(&mGsKz05PaneAlpha, fmap2GsDl.scrn->search('kz05')); fopMsgM_setPaneData(&mGsKz01PaneAlpha, fmap2GsDl.scrn->search('kz01')); - color_0x2828 = ((J2DPicture*)mGsKz01PaneAlpha.pane)->getBlack(); - color_0x282C = ((J2DPicture*)mGsKz01PaneAlpha.pane)->getWhite(); + color_0x2828 = (u32)((J2DPicture*)mGsKz01PaneAlpha.pane)->getBlack(); + color_0x282C = (u32)((J2DPicture*)mGsKz01PaneAlpha.pane)->getWhite(); #if VERSION == VERSION_DEMO fopMsgM_setPaneData(&mGsBt1PaneAlpha, fmap2GsDl.scrn->search('BT1')); fopMsgM_setPaneData(&mGsBt2PaneAlpha, fmap2GsDl.scrn->search('BT2')); @@ -1082,9 +1085,15 @@ void dMenu_Fmap2_c::screenSetGs() { fopMsgM_setPaneData(&mGsGsixPaneAlpha[i], fmap2GsDl.scrn->search(shipicon[i])); #endif } - color_0x2820 = ((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getBlack(); - color_0x2824 = ((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getWhite(); - if (dComIfGs_getEventReg(0x8803) == 3) { + color_0x2820 = (u32)((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getBlack(); + color_0x2824 = (u32)((J2DPicture*)mGsTk0xPaneAlpha[0].pane)->getWhite(); + int r0 = dComIfGs_getEventReg(0x8803); +#if VERSION == VERSION_DEMO + for (int i = 0; i < r0; i++) { + mGsTk0xPaneAlpha[i].pane->show(); + } +#endif + if (r0 == 3) { field_0x2811 = 1; for (int i = 0; i < 7; i++) { mGsTk0xPaneAlpha[i].pane->hide(); @@ -1096,7 +1105,7 @@ void dMenu_Fmap2_c::screenSetGs() { } else { field_0x2811 = 0; field_0x2817 = 0; - if (dComIfGs_getTime() >= 285.0f || (dComIfGs_getTime() >= 0.0f && dComIfGs_getTime() <= 90.0f)) { + if (dComIfGs_getTime() >= DEMO_SELECT(330.0f, 285.0f) || (dComIfGs_getTime() >= 0.0f && dComIfGs_getTime() <= 90.0f)) { field_0x2817 = 1; #if VERSION > VERSION_JPN mGsGsixPaneAlpha[dKy_moon_type_chk()].pane->show(); @@ -1604,7 +1613,7 @@ void dMenu_Fmap2_c::cmapMove() { if (isSpMap(getCollectMapKind(field_0x27a9))) { changeSelCmap2(); } else { - readPaneCmapTexture((ResTIMG*)mCmapTxtMain_p[field_0x2815 ^ 1], field_0x27a9); + readPaneCmapTexture(mCmapTxtMain_p[field_0x2815 ^ 1], field_0x27a9); changeSelCmap(); changeZoomCmap(); } @@ -1615,7 +1624,7 @@ void dMenu_Fmap2_c::cmapMove() { void dMenu_Fmap2_c::changeSelCmap() { /* Nonmatching */ int r30 = getCollectMapKind(field_0x27a9); - ((J2DPicture *)field_0x124c[field_0x2813 ^ 1][0].pane)->changeTexture((ResTIMG*)mCmapTxtMain_p[field_0x2815 ^ 1], 0); + ((J2DPicture *)field_0x124c[field_0x2813 ^ 1][0].pane)->changeTexture(mCmapTxtMain_p[field_0x2815 ^ 1], 0); if (isOpenCollectMap(field_0x27a9)) { field_0x2812 = 2; field_0x1aa4[field_0x2815 ^ 1][0].pane->show(); @@ -1777,7 +1786,7 @@ void dMenu_Fmap2_c::changeFmapTexture() { mR01gPane.pane->hide(); } else { mR01gPane.pane->show(); - ((J2DPicture*)mR01gPane.pane)->changeTexture((ResTIMG*)mChkPntTxt_p, 0); + ((J2DPicture*)mR01gPane.pane)->changeTexture(mChkPntTxt_p, 0); } } @@ -1909,7 +1918,8 @@ BOOL dMenu_Fmap2_c::paneAlphaZoomCmapBase(s16 param_1, u8 param_2, f32 param_3, return true; } f32 f31 = fopMsgM_valueIncrease(param_2, param_1, param_5); - fopMsgM_paneTrans(&field_0x1aa4[param_6][0], param_3 + f31 * (param_4 - param_3), 0.0f); + f32 f0 = f31 * (param_4 - param_3); + fopMsgM_paneTrans(&field_0x1aa4[param_6][0], param_3 + f0, 0.0f); if (param_7 != 2) { if (param_7 == 1) { f31 = 1.0f - f31; @@ -2131,9 +2141,11 @@ int dMenu_Fmap2_c::calcGetCollectMap() { /* 801C7164-801C71D4 .text calcGetCollectMap2__13dMenu_Fmap2_cFv */ int dMenu_Fmap2_c::calcGetCollectMap2() { /* Nonmatching */ + int i; int result = 0; - for (int i = 0; i < 49; i++) { - if (isGetCollectMap(s8(getCmapDatPnt4(i)->collectMapNo))) { + for (i = 0; i < 49; i++) { + int collectMapNo = getCmapDatPnt4(i)->collectMapNo; + if (isGetCollectMap(collectMapNo)) { result++; } } @@ -2142,9 +2154,9 @@ int dMenu_Fmap2_c::calcGetCollectMap2() { /* 801C71D4-801C724C .text calcFinCollectMap__13dMenu_Fmap2_cFv */ int dMenu_Fmap2_c::calcFinCollectMap() { - /* Nonmatching */ + int i; int result = 0; - for (int i = 0; i < 52; i++) { + for (i = 0; i < 52; i++) { if (i != 34 && i != 35 && dComIfGs_isCompleteCollectMap(i + 1)) { result++; } @@ -2172,11 +2184,11 @@ int dMenu_Fmap2_c::getNowCmapFirstNum() { /* 801C72D8-801C7364 .text getNowCmapNextNum__13dMenu_Fmap2_cFSci */ int dMenu_Fmap2_c::getNowCmapNextNum(s8 param_1, int param_2) { - /* Nonmatching */ if (field_0x27a8 == 1) { return param_1; } int r31 = param_1; + int collectMapNo; do { r31 += param_2; if (r31 < 0) { @@ -2185,7 +2197,8 @@ int dMenu_Fmap2_c::getNowCmapNextNum(s8 param_1, int param_2) { if (r31 > 60) { r31 = 0; } - } while (!isGetCollectMap(s8(getCmapDatPnt4(r31)->collectMapNo))); + collectMapNo = getCmapDatPnt4(r31)->collectMapNo; + } while (!isGetCollectMap(collectMapNo)); return r31; } @@ -2257,7 +2270,8 @@ int dMenu_Fmap2_c::getCollectMapKind(s8 i_cmapIdx) { /* 801C77BC-801C7844 .text isCompleteCollectMap__13dMenu_Fmap2_cFSc */ BOOL dMenu_Fmap2_c::isCompleteCollectMap(s8 i_cmapIdx) { - return dComIfGs_isCompleteCollectMap(mpFmapDatPnt->getCmapDatPnt4(i_cmapIdx)->collectMapNo); + aramCmapDatPnt_t* pnt = mpFmapDatPnt->getCmapDatPnt4(i_cmapIdx); + return dComIfGs_isCompleteCollectMap(pnt->collectMapNo); } /* 801C7844-801C78A8 .text draw__13dDlst_FMAP2_cFv */ diff --git a/src/d/d_meter.cpp b/src/d/d_meter.cpp index f6d4c6b2..44823791 100644 --- a/src/d/d_meter.cpp +++ b/src/d/d_meter.cpp @@ -4337,8 +4337,8 @@ void dMeter_magicTransScale(sub_meter_class* i_Meter, f32 param_2, f32 param_3, (param_3 + (i_Meter->field_0x11a0.mPosCenterOrig.y + (param_4 * (i_Meter->field_0x0f38[i].mPosCenterOrig.y - i_Meter->field_0x11a0.mPosCenterOrig.y)))); i_Meter->field_0x0f38[i].mPosCenter.x -= ((i_Meter->field_0x0f38[i].mSizeOrig.x * param_4) / 2.0f); - i_Meter->field_0x0f38[i].mSize.x = param_4 * i_Meter->field_0x0f38[i].pane->mBounds.getWidth(); - i_Meter->field_0x0f38[i].mSize.y = param_4 * i_Meter->field_0x0f38[i].pane->mBounds.getHeight(); + i_Meter->field_0x0f38[i].mSize.x = param_4 * i_Meter->field_0x0f38[i].pane->getWidth(); + i_Meter->field_0x0f38[i].mSize.y = param_4 * i_Meter->field_0x0f38[i].pane->getHeight(); i_Meter->field_0x0f38[i].mPosCenter.x += (i_Meter->field_0x0f38[i].mSize.x / 2.0f); fopMsgM_cposMove(&i_Meter->field_0x0f38[i]); i_Meter->field_0x0f38[i].mSize.x = i_Meter->field_0x0f38[i].mSizeOrig.x; @@ -5150,11 +5150,7 @@ void dMeter_keyLight(fopMsgM_pane_class* param_1, s16* param_2, f32 param_3) { f32 y = param_1->mPosTopLeftOrig.y - (dVar9 - param_1->mSizeOrig.y) / 2.0f; param_1->pane->move(x, y); param_1->pane->resize(dVar10, dVar9); - J2DPane* j2dPane = param_1->pane; - j2dPane->mBasePosition.x = (dVar10 / 2.0f); - j2dPane->mBasePosition.y = (dVar9 / 2.0f); - j2dPane->mRotationAxis = ROTATE_Z; - j2dPane->calcMtx(); + param_1->pane->rotate(dVar10 / 2.0f, dVar9 / 2.0f, ROTATE_Z, param_1->pane->getRotate()); param_1->mNowAlpha = dVar7 * param_3; } @@ -5261,9 +5257,9 @@ void dMeter_keyMove(sub_meter_class* i_Meter) { /* 801FD09C-801FD104 .text dMeter_compassRotate__FP18fopMsgM_pane_classP18fopMsgM_pane_classf */ void dMeter_compassRotate(fopMsgM_pane_class* param_1, fopMsgM_pane_class* param_2, f32 param_3) { - f32 offsetX = param_1->pane->mBounds.getWidth(); + f32 offsetX = param_1->pane->getWidth(); offsetX /= 2.0f; - f32 offsetY = param_1->pane->mBounds.getHeight(); + f32 offsetY = param_1->pane->getHeight(); offsetY /= 2.0f; param_1->pane->rotate(offsetX, offsetY, ROTATE_Z, param_3); } @@ -5363,10 +5359,10 @@ void dMeter_compassGetOffProc(sub_meter_class* i_Meter) { /* 801FD48C-801FD6C8 .text dMeter_compassDirOpen__FP15sub_meter_class */ void dMeter_compassDirOpen(sub_meter_class* i_Meter) { - f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f; - f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f; + f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f; + f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f; i_Meter->field_0x12f0.mUserArea++; f32 dVar5; if (i_Meter->field_0x12f0.mUserArea >= 5) { @@ -5394,10 +5390,10 @@ void dMeter_compassDirOpen(sub_meter_class* i_Meter) { /* 801FD6C8-801FD8C0 .text dMeter_compassWindOpen__FP15sub_meter_class */ void dMeter_compassWindOpen(sub_meter_class* i_Meter) { - f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f; - f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f; + f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f; + f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f; i_Meter->field_0x12f0.mUserArea++; f32 dVar5; if (i_Meter->field_0x12f0.mUserArea >= 10) { @@ -5422,10 +5418,10 @@ void dMeter_compassWindOpen(sub_meter_class* i_Meter) { /* 801FD8C0-801FDB64 .text dMeter_compassWindClose__FP15sub_meter_class */ void dMeter_compassWindClose(sub_meter_class* i_Meter) { /* Nonmatching */ - f32 dVar11 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar10 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f; - f32 dVar9 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar8 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f; + f32 dVar11 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar10 = i_Meter->field_0x1948.pane->getHeight() / 2.0f; + f32 dVar9 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar8 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f; i_Meter->field_0x12f0.mUserArea--; s16 sVar6; @@ -5466,10 +5462,10 @@ void dMeter_compassWindClose(sub_meter_class* i_Meter) { /* 801FDB64-801FDDA4 .text dMeter_compassDirClose__FP15sub_meter_class */ void dMeter_compassDirClose(sub_meter_class* i_Meter) { - f32 dVar9 = i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar8 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f; - f32 dVar7 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar6 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f; + f32 dVar9 = i_Meter->field_0x1948.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar8 = i_Meter->field_0x1948.pane->getHeight() / 2.0f; + f32 dVar7 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar6 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f; i_Meter->field_0x12f0.mUserArea--; f32 dVar5; @@ -5535,11 +5531,11 @@ void dMeter_compassValueInit(sub_meter_class* i_Meter) { } i_Meter->field_0x12f0.mUserArea = 0; i_Meter->field_0x302a = 0; - f32 temp2 = (i_Meter->field_0x1948.pane->mBounds.getWidth() / 2.0f) - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar6 = i_Meter->field_0x1948.pane->mBounds.getHeight() / 2.0f; - f32 dVar5 = i_Meter->field_0x16a8.pane->mBounds.getWidth() / 2.0f; - f32 temp1 = dVar5 - (i_Meter->field_0x13d0.pane->mBounds.getWidth() / 2.0f); - f32 dVar4 = i_Meter->field_0x16a8.pane->mBounds.getHeight() / 2.0f; + f32 temp2 = (i_Meter->field_0x1948.pane->getWidth() / 2.0f) - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar6 = i_Meter->field_0x1948.pane->getHeight() / 2.0f; + f32 dVar5 = i_Meter->field_0x16a8.pane->getWidth() / 2.0f; + f32 temp1 = dVar5 - (i_Meter->field_0x13d0.pane->getWidth() / 2.0f); + f32 dVar4 = i_Meter->field_0x16a8.pane->getHeight() / 2.0f; f32 x = -(i_Meter->field_0x1948.mPosTopLeftOrig.x + i_Meter->field_0x1948.mSizeOrig.x); fopMsgM_paneTrans(&i_Meter->field_0x12f0, x, 0.0f); fopMsgM_paneTrans(&i_Meter->field_0x1948, x, 0.0f); diff --git a/src/d/d_metronome.cpp b/src/d/d_metronome.cpp index 8c330e4a..2e3bab18 100644 --- a/src/d/d_metronome.cpp +++ b/src/d/d_metronome.cpp @@ -304,15 +304,9 @@ void dMetronome_c::melodyGuideShow(s32 note, s16 no) { fopMsgM_cposMove(&pane_cn[no]); - // This is almost J2DPane::setBasePosition f32 centerX = pane_i11[no].mSize.x / 2.0f; f32 centerY = pane_i11[no].mSize.y / 2.0f; - J2DScreen* scrn = (J2DScreen*)pane_i11[no].pane; - scrn->mBasePosition.x = centerX; - scrn->mBasePosition.y = centerY; - scrn->mRotationAxis = ROTATE_Z; - scrn->mRotation = rot[note]; - scrn->calcMtx(); + ((J2DScreen*)pane_i11[no].pane)->rotate(centerX, centerY, ROTATE_Z, rot[note]); } /* 80222854-80222C4C .text melodyShow__12dMetronome_cFv */ diff --git a/src/d/d_msg.cpp b/src/d/d_msg.cpp index 38d237f9..b9be2163 100644 --- a/src/d/d_msg.cpp +++ b/src/d/d_msg.cpp @@ -84,33 +84,17 @@ void dDlst_2DMSG_c::draw() { mpMsg->mMsgDataProc.selectArrow(arrowPane); } else if (msg->mStatus == fopMsgStts_INPUT_e) { if ((mpMsg->mMesgEntry.mTextboxType == 0) || (mpMsg->mMesgEntry.mTextboxType == 10)) { - f32 dVar3 = (numberPane[0]->mBounds.getWidth() + numberPane[0]->getCharSpace()); - f32 f3; - f32 f4; + f32 dVar3 = (numberPane[0]->getWidth() + numberPane[0]->getCharSpace()); if (msg->mMsgNo == 0x1cfa) { - f4 = maskPane->mBounds.getHeight(); - f3 = maskPane->mBounds.getWidth(); - maskPane->draw(mpMsg->m10EC + (dVar3 * (2 - msg->mSelectNum)), mpMsg->m10F0, f3, f4, false, false, false); - f4 = numberPane[2]->mBounds.getWidth(); - f3 = numberPane[2]->mBounds.getHeight(); - numberPane[2]->draw(mpMsg->m10EC, mpMsg->m10F0 + f3, f4, HBIND_CENTER); - f4 = numberPane[1]->mBounds.getWidth(); - f3 = numberPane[1]->mBounds.getHeight(); - numberPane[1]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + f3, f4, HBIND_CENTER); - f4 = numberPane[0]->mBounds.getWidth(); - f3 = numberPane[0]->mBounds.getHeight(); - numberPane[0]->draw(mpMsg->m10EC + (dVar3 * 2.0f), mpMsg->m10F0 + f3, f4, HBIND_CENTER); + maskPane->draw(mpMsg->m10EC + (dVar3 * (2 - msg->mSelectNum)), mpMsg->m10F0, maskPane->getWidth(), maskPane->getHeight(), false, false, false); + numberPane[2]->draw(mpMsg->m10EC, mpMsg->m10F0 + numberPane[2]->getHeight(), numberPane[2]->getWidth(), HBIND_CENTER); + numberPane[1]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + numberPane[1]->getHeight(), numberPane[1]->getWidth(), HBIND_CENTER); + numberPane[0]->draw(mpMsg->m10EC + (dVar3 * 2.0f), mpMsg->m10F0 + numberPane[0]->getHeight(), numberPane[0]->getWidth(), HBIND_CENTER); } else { numberPane[2]->hide(); - f4 = maskPane->mBounds.getHeight(); - f3 = maskPane->mBounds.getWidth(); - maskPane->draw(mpMsg->m10EC + (dVar3 * (1 - msg->mSelectNum)), mpMsg->m10F0, f3, f4, false, false, false); - f4 = numberPane[1]->mBounds.getWidth(); - f3 = numberPane[1]->mBounds.getHeight(); - numberPane[1]->draw(mpMsg->m10EC, mpMsg->m10F0 + f3, f4, HBIND_CENTER); - f4 = numberPane[0]->mBounds.getWidth(); - f3 = numberPane[0]->mBounds.getHeight(); - numberPane[0]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + f3, f4, HBIND_CENTER); + maskPane->draw(mpMsg->m10EC + (dVar3 * (1 - msg->mSelectNum)), mpMsg->m10F0, maskPane->getWidth(), maskPane->getHeight(), false, false, false); + numberPane[1]->draw(mpMsg->m10EC, mpMsg->m10F0 + numberPane[1]->getHeight(), numberPane[1]->getWidth(), HBIND_CENTER); + numberPane[0]->draw((mpMsg->m10EC + dVar3), mpMsg->m10F0 + numberPane[0]->getHeight(), numberPane[0]->getWidth(), HBIND_CENTER); } } } @@ -131,31 +115,31 @@ void dDlst_2DMSG_c::outFontDraw() { iconNum != fopMsgM_Icon_INPUT_e ) { J2DScreen* scrn = (J2DScreen*)mpMsg->m0544[0].pane; - int r5 = posX + scrn->mBounds.i.x; + int r5 = posX + scrn->getBounds().i.x; int r6; u8 alpha; if (mpMsg->mMesgEntry.mTextboxType == 5) { f32 local_30 = g_msgHIO.field_0x5e * posY; f32 local_38 = mpMsg->m1104 * (2 - mpMsg->m1108); - r6 = (int)(local_38 + scrn->mBounds.i.y + local_30); + r6 = (int)(local_38 + scrn->getBounds().i.y + local_30); alpha = mpMsg->m0544[0].mNowAlpha; } else if (mpMsg->mMesgEntry.mTextboxType == 0xe) { f32 local_28 = g_msgHIO.field_0x5e * posY; f32 local_30 = mpMsg->m1104; - r6 = (int)(local_30 + scrn->mBounds.i.y + local_28); + r6 = (int)(local_30 + scrn->getBounds().i.y + local_28); alpha = mpMsg->m0544[0].mNowAlpha; } else { if (scale > mpMsg->m110C) { if (mpMsg->m1108 > 1) { int temp1 = (mpMsg->m1104 * ((3 - posY) - (mpMsg->m1108 + -2))); - r6 = ((scale - mpMsg->m110C) / 2) + (int)((temp1 + scrn->mBounds.i.y) - (f32)(int)(scale / 2)); + r6 = ((scale - mpMsg->m110C) / 2) + (int)((temp1 + scrn->getBounds().i.y) - (f32)(int)(scale / 2)); } else { - r6 = (int)(((mpMsg->m1104 << 2) + scrn->mBounds.i.y) - (f32)(int)(scale / 2)); + r6 = (int)(((mpMsg->m1104 << 2) + scrn->getBounds().i.y) - (f32)(int)(scale / 2)); } } else { f32 local_28 = g_msgHIO.field_0x5e * posY; f32 local_30 = mpMsg->m1104 * (3 - mpMsg->m1108); - r6 = (int)(local_30 + scrn->mBounds.i.y + local_28); + r6 = (int)(local_30 + scrn->getBounds().i.y + local_28); } alpha = mpMsg->m0544[0].mNowAlpha; } @@ -1499,8 +1483,8 @@ void dMsg_numberInput(sub_msg_class* i_Msg) { for (s32 i = 0; i < 8; i++) { if (i_Msg->mMsgDataProc.getIconNum(i) == fopMsgM_Icon_INPUT_e) { - i_Msg->m10EC = ((i_Msg->m0544[0].pane)->mBounds.i.x + i_Msg->mMsgDataProc.getIconPosX(i)); - i_Msg->m10F0 = ((i_Msg->m0544[0].pane)->mBounds.i.y + (i_Msg->m1104 * (s32)((3 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i)) * 2))); + i_Msg->m10EC = ((i_Msg->m0544[0].pane)->getBounds().i.x + i_Msg->mMsgDataProc.getIconPosX(i)); + i_Msg->m10F0 = ((i_Msg->m0544[0].pane)->getBounds().i.y + (i_Msg->m1104 * (s32)((3 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i)) * 2))); } } if (i_Msg->mMsgNo == 0x1cfa) { @@ -1954,8 +1938,8 @@ s32 dMsg_selectProc(sub_msg_class* i_Msg) { J2DPicture* pJVar14; pJVar8 = (J2DTextBox*)i_Msg->m0544[0].pane; - iVar10 = (int)pJVar8->mBounds.i.x; - iVar11 = (int)pJVar8->mBounds.i.y; + iVar10 = (int)pJVar8->getBounds().i.x; + iVar11 = (int)pJVar8->getBounds().i.y; uVar1 = pJVar8->getLineSpace(); sVar3 = i_Msg->m026C[0].mUserArea; if (sVar3 == 0) { @@ -2048,10 +2032,10 @@ s32 dMsg_selectProc(sub_msg_class* i_Msg) { for (s32 i = 0; i < 8; i++) { u8 iconNum = i_Msg->mMsgDataProc.getIconNum(i); if (iconNum == fopMsgM_Icon_SELECT_YOKO_LEFT_e) { - var_r5 = i_Msg->m0544[0].pane->mBounds.i.x + i_Msg->mMsgDataProc.getIconPosX(i); - var_r6 = i_Msg->m0544[0].pane->mBounds.i.y + i_Msg->m1104 * ((2 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i) * 2)); + var_r5 = i_Msg->m0544[0].pane->getBounds().i.x + i_Msg->mMsgDataProc.getIconPosX(i); + var_r6 = i_Msg->m0544[0].pane->getBounds().i.y + i_Msg->m1104 * ((2 - i_Msg->m1108) + (i_Msg->mMsgDataProc.getIconPosY(i) * 2)); } else if (iconNum == fopMsgM_Icon_SELECT_YOKO_RIGHT_e) { - var_r11 = (i_Msg->m0544[0].pane->mBounds.i.x + (i_Msg->mMsgDataProc.getIconPosX(i))); + var_r11 = (i_Msg->m0544[0].pane->getBounds().i.x + (i_Msg->mMsgDataProc.getIconPosX(i))); } } i_Msg->mSelectNum = i_Msg->mMsgDataProc.selectCheckYoko(arrowPane, var_r5, var_r6, var_r11 - var_r5); @@ -2893,15 +2877,15 @@ static BOOL dMsg_Execute(sub_msg_class* i_Msg) { GVar7 = g_msgHIO.field_0x5; bVar1 = i_Msg->mMesgEntry.mTextboxType; if (bVar1 == 5) { - static s32 posY0 = (i_Msg->m0544[0].pane)->mBounds.i.y; - static s32 posY1 = (i_Msg->m0544[1].pane)->mBounds.i.y; - static s32 posY2 = (i_Msg->m0544[2].pane)->mBounds.i.y; - static s32 posY3 = (i_Msg->m0544[3].pane)->mBounds.i.y; + static s32 posY0 = (i_Msg->m0544[0].pane)->getBounds().i.y; + static s32 posY1 = (i_Msg->m0544[1].pane)->getBounds().i.y; + static s32 posY2 = (i_Msg->m0544[2].pane)->getBounds().i.y; + static s32 posY3 = (i_Msg->m0544[3].pane)->getBounds().i.y; pJVar12 = (MyScreen*)i_Msg->m0544[0].pane; - s32 fVar1 = pJVar12->mBounds.i.x; - fVar2 = i_Msg->m0544[1].pane->mBounds.i.x; - fVar3 = i_Msg->m0544[2].pane->mBounds.i.x; - fVar4 = i_Msg->m0544[3].pane->mBounds.i.x; + s32 fVar1 = pJVar12->getBounds().i.x; + fVar2 = i_Msg->m0544[1].pane->getBounds().i.x; + fVar3 = i_Msg->m0544[2].pane->getBounds().i.x; + fVar4 = i_Msg->m0544[3].pane->getBounds().i.x; pJVar12->move(fVar1, posY0); i_Msg->m0544[1].pane->move(fVar2, posY1); i_Msg->m0544[2].pane->move(fVar3, posY2); diff --git a/src/d/d_picture_box.cpp b/src/d/d_picture_box.cpp index 1739f1a9..25fa6d2a 100644 --- a/src/d/d_picture_box.cpp +++ b/src/d/d_picture_box.cpp @@ -1718,12 +1718,12 @@ void dJle_Pb_c::messageSet(u32 msgNo) { if (icon == fopMsgM_Icon_SELECT_YOKO_LEFT_e) { mChoiceCursorX0 = (int)( - ((J2DTextBox*)pane_tx[0].pane)->mBounds.i.x + + ((J2DTextBox*)pane_tx[0].pane)->getBounds().i.x + (f32)mMsgDataProc.getIconPosX(i) ); mChoiceCursorY = (int)( - ((J2DTextBox*)pane_tx[0].pane)->mBounds.i.y + + ((J2DTextBox*)pane_tx[0].pane)->getBounds().i.y + (f32)( halfLine * ((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) + @@ -1744,12 +1744,12 @@ void dJle_Pb_c::messageSet(u32 msgNo) { } } else if (icon == fopMsgM_Icon_SELECT_YOKO_RIGHT_e) { mChoiceCursorX1 = (int)( - ((J2DTextBox*)pane_tx[0].pane)->mBounds.i.x + + ((J2DTextBox*)pane_tx[0].pane)->getBounds().i.x + (f32)mMsgDataProc.getIconPosX(i) ); mChoiceCursorYAlt = (int)( - ((J2DTextBox*)pane_tx[0].pane)->mBounds.i.y + + ((J2DTextBox*)pane_tx[0].pane)->getBounds().i.y + (f32)( halfLine * ((1 - mMsgLineCount) + @@ -2173,9 +2173,9 @@ void dJle_Pb_c::draw() { J2DTextBox* base = (J2DTextBox*)pane_tx[0].pane; f32 lineSpace = base->getLineSpace(); int r9 = (int)(lineSpace / 2.0f); - int r5 = posX + base->mBounds.i.x; + int r5 = posX + base->getBounds().i.x; f32 f1 = r9 * ((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) + posY * 2); - int r6 = f1 + base->mBounds.i.y; + int r6 = f1 + base->getBounds().i.y; u8 alpha = base->getAlpha(); fopMsgM_outFontDraw( @@ -2235,9 +2235,9 @@ void dJle_Pb_c::draw() { J2DTextBox* base = (J2DTextBox*)pane_tx[0].pane; f32 lineSpace = base->getLineSpace(); int r9 = (int)(lineSpace / 2.0f); - int r5 = posX + base->mBounds.i.x; + int r5 = posX + base->getBounds().i.x; f32 f1 = r9 * ((VERSION_SELECT(1, 1, 2, 2) - mMsgLineCount) + posY * 2); - int r6 = f1 + base->mBounds.i.y; + int r6 = f1 + base->getBounds().i.y; u8 alpha = base->getAlpha(); fopMsgM_outFontDraw( diff --git a/src/d/d_resorce.cpp b/src/d/d_resorce.cpp index 49767ee0..85705282 100644 --- a/src/d/d_resorce.cpp +++ b/src/d/d_resorce.cpp @@ -418,7 +418,7 @@ int dRes_info_c::setRes() { mode = 2; if (mode == 0) { - u32 allocSize = (mDataHeap->getSize() - mpParentHeap->getFreeSize()) + 0x8c; + u32 allocSize = (mDataHeap->getHeapSize() - mpParentHeap->getFreeSize()) + 0x8c; JKRSolidHeap * pHeap = mDoExt_createSolidHeapFromGameToCurrent(allocSize, 0); if (pHeap != NULL) { mDoExt_adjustSolidHeap(mDataHeap); diff --git a/src/d/d_s_open_sub.cpp b/src/d/d_s_open_sub.cpp index fbfad047..12a9c47b 100644 --- a/src/d/d_s_open_sub.cpp +++ b/src/d/d_s_open_sub.cpp @@ -243,7 +243,7 @@ dScnOpen_proc_c::dScnOpen_proc_c() { pane2d[PANE_tx2] = m_Screen->search('\0tx2'); #if VERSION >= VERSION_USA - pane2d[PANE_tx1]->move(pane2d[PANE_tx1]->mBounds.i.x, 376.0f); + pane2d[PANE_tx1]->move(pane2d[PANE_tx1]->getBounds().i.x, 376.0f); #endif m_message->set_pane_pointer(pane2d[PANE_tx1], pane2d[PANE_tx2]); diff --git a/src/d/d_scope.cpp b/src/d/d_scope.cpp index 38b4f362..bfb37de8 100644 --- a/src/d/d_scope.cpp +++ b/src/d/d_scope.cpp @@ -168,21 +168,21 @@ void dScp_ScreenDataSet(sub_scp_class* i_Scp) { #if VERSION == VERSION_PAL if (dComIfGs_getOptRuby()) { - i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 14.0f); - i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 14.0f); + i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 14.0f); + i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 14.0f); } else { - i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 10.0f); - i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 10.0f); + i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 10.0f); + i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 10.0f); } #else if (dComIfGs_getOptRuby()) { - i_Scp->mpTextBox->move(i_Scp->mpTextBox->mBounds.i.x, i_Scp->mpTextBox->mBounds.i.y - 4.0f); - i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->mBounds.i.x, i_Scp->mpTextBoxSdw->mBounds.i.y - 4.0f); + i_Scp->mpTextBox->move(i_Scp->mpTextBox->getBounds().i.x, i_Scp->mpTextBox->getBounds().i.y - 4.0f); + i_Scp->mpTextBoxSdw->move(i_Scp->mpTextBoxSdw->getBounds().i.x, i_Scp->mpTextBoxSdw->getBounds().i.y - 4.0f); } #endif - i_Scp->mpRubyBox->move(i_Scp->mpRubyBox->mBounds.i.x, i_Scp->mpRubyBox->mBounds.i.y - 3.0f); - i_Scp->mpRubyBoxSdw->move(i_Scp->mpRubyBoxSdw->mBounds.i.x, i_Scp->mpRubyBoxSdw->mBounds.i.y - 3.0f); + i_Scp->mpRubyBox->move(i_Scp->mpRubyBox->getBounds().i.x, i_Scp->mpRubyBox->getBounds().i.y - 3.0f); + i_Scp->mpRubyBoxSdw->move(i_Scp->mpRubyBoxSdw->getBounds().i.x, i_Scp->mpRubyBoxSdw->getBounds().i.y - 3.0f); i_Scp->mpTextBox->setFont(font0); i_Scp->mpRubyBox->setFont(font1); diff --git a/src/d/d_wind_arrow.cpp b/src/d/d_wind_arrow.cpp index 48d58ecc..23ba9395 100644 --- a/src/d/d_wind_arrow.cpp +++ b/src/d/d_wind_arrow.cpp @@ -31,7 +31,7 @@ BOOL dWindArrow_c::createHeap() { void dWindArrow_c::adjustHeap() { mDoExt_restoreCurrentHeap(); if (mDoExt_adjustSolidHeap(heap) >= 0) - DCStoreRangeNoSync(heap->getStartAddr(), heap->getSize()); + DCStoreRangeNoSync(heap->getStartAddr(), heap->getHeapSize()); } /* 8023E46C-8023E48C .text dWindArrow_Draw__FP12dWindArrow_c */ diff --git a/src/f_op/f_op_actor_mng.cpp b/src/f_op/f_op_actor_mng.cpp index 6c10fdf8..e74d173e 100644 --- a/src/f_op/f_op_actor_mng.cpp +++ b/src/f_op/f_op_actor_mng.cpp @@ -332,7 +332,7 @@ bool fopAcM_entrySolidHeap(fopAc_ac_c* i_this, heapCallbackFunc createHeapCB, u3 mDoExt_destroySolidHeap(heap); heap = NULL; } else { - u32 allocSize = ALIGN_NEXT(heap->getSize() - heap->getFreeSize(), 0x20); + u32 allocSize = ALIGN_NEXT(heap->getHeapSize() - heap->getFreeSize(), 0x20); if (estimatedHeapSize < allocSize + 0x40) { mDoExt_adjustSolidHeap(heap); i_this->heap = heap; @@ -380,7 +380,7 @@ bool fopAcM_entrySolidHeap(fopAc_ac_c* i_this, heapCallbackFunc createHeapCB, u3 // If fopAcM::HeapAdjustEntry is set, try to reallocate everything a second time. // This time we set the estimated maximum heap size to the exact size allocated last time. JKRSolidHeap * heap1 = NULL; - u32 allocSize = ALIGN_NEXT(heap->getSize() - heap->getFreeSize(), 0x10); + u32 allocSize = ALIGN_NEXT(heap->getHeapSize() - heap->getFreeSize(), 0x10); if (allocSize + 0x10 + sizeof(JKRSolidHeap) < mDoExt_getGameHeap()->getFreeSize()) heap1 = mDoExt_createSolidHeapFromGameToCurrent(allocSize, 0x20); @@ -455,7 +455,8 @@ void fopAcM_calcSpeed(fopAc_ac_c* i_this) { f32 speedF = fopAcM_GetSpeedF(i_this); f32 gravity = fopAcM_GetGravity(i_this); f32 xSpeed = speedF * cM_ssin(i_this->current.angle.y); - f32 ySpeed = i_this->speed.y + gravity; + cXyz* speed_p = fopAcM_GetSpeed_p(i_this); + f32 ySpeed = speed_p->y + gravity; f32 zSpeed = speedF * cM_scos(i_this->current.angle.y); if (ySpeed < fopAcM_GetMaxFallSpeed(i_this)) @@ -466,9 +467,9 @@ void fopAcM_calcSpeed(fopAc_ac_c* i_this) { /* 800251A0-8002520C .text fopAcM_posMove__FP10fopAc_ac_cPC4cXyz */ void fopAcM_posMove(fopAc_ac_c* i_this, const cXyz* move) { - i_this->current.pos.x += i_this->speed.x; - i_this->current.pos.y += i_this->speed.y; - i_this->current.pos.z += i_this->speed.z; + i_this->current.pos.x += fopAcM_GetSpeed_p(i_this)->x; + i_this->current.pos.y += fopAcM_GetSpeed_p(i_this)->y; + i_this->current.pos.z += fopAcM_GetSpeed_p(i_this)->z; if (move != NULL) { i_this->current.pos.x += move->x; @@ -581,10 +582,8 @@ static fopAc_cullSizeSphere l_cullSizeSphere[8] = { }; static void dummy() { - static Vec dummy_4863; - static Vec min; - static Vec dummy_4899; - static Vec max; + static cXyz min; + static cXyz max; } /* 80025660-800259A8 .text fopAcM_cullingCheck__FP10fopAc_ac_c */ @@ -1047,7 +1046,7 @@ fopAc_ac_c* fopAcM_createItemForKP2(cXyz* pos, int i_itemNo, int roomNo, csXyz* if (ac != NULL) { fopAcM_SetSpeedF(ac, speedF); ac->speed.y = speedY; - fopAcM_SetGravity(ac, gravity); + ac->gravity = gravity; } return ac; } @@ -1071,10 +1070,10 @@ void* fopAcM_fastCreateItem(cXyz* pos, int i_itemNo, int roomNo, csXyz* angle, c int i; u8 itemNo = check_itemno(i_itemNo); + u8 itemBitNo = (u8)i_itemBitNo; int type = daItemType_0_e; int action = daItemAct_A_e; int switchNo2 = -1; - u8 itemBitNo = i_itemBitNo; u32 params = MAKE_ITEM_PARAMS(itemNo, itemBitNo, switchNo2, type, action); if (isHeart(i_itemNo)) { @@ -1286,7 +1285,7 @@ fopAc_ac_c* fopAcM_myRoomSearchEnemy(s8 roomNo) { scene_class* roomProc = fopScnM_SearchByID(dStage_roomControl_c::getStatusProcID(roomNo)); JUT_ASSERT(DEMO_SELECT(3572, 3594), roomProc != NULL); - fpc_ProcID grabProcID = daPy_getPlayerActorClass()->getGrabActorID(); + fpc_ProcID grabProcID = ((daPy_py_c*)dComIfGp_getPlayer(0))->getGrabActorID(); fopAc_ac_c* enemy = fopAcM_SearchByID(grabProcID); if (enemy != NULL && fopAcM_GetGroup(enemy) == fopAc_ENEMY_e) return enemy; diff --git a/src/f_op/f_op_msg_mng.cpp b/src/f_op/f_op_msg_mng.cpp index 42f0cbe8..f741eb4d 100644 --- a/src/f_op/f_op_msg_mng.cpp +++ b/src/f_op/f_op_msg_mng.cpp @@ -9800,10 +9800,10 @@ fopMsgM_f2d_class fopMsgM_centerPosCalc(fopMsgM_f2d_class param_1, fopMsgM_f2d_c /* 8003BA40-8003BB34 .text fopMsgM_pane_parts_set__FP18fopMsgM_pane_class */ void fopMsgM_pane_parts_set(fopMsgM_pane_class* i_pane) { - i_pane->mPosTopLeftOrig.x = i_pane->pane->mBounds.i.x; - i_pane->mPosTopLeftOrig.y = i_pane->pane->mBounds.i.y; - i_pane->mSizeOrig.x = i_pane->pane->mBounds.getWidth(); - i_pane->mSizeOrig.y = i_pane->pane->mBounds.getHeight(); + i_pane->mPosTopLeftOrig.x = i_pane->pane->getBounds().i.x; + i_pane->mPosTopLeftOrig.y = i_pane->pane->getBounds().i.y; + i_pane->mSizeOrig.x = i_pane->pane->getWidth(); + i_pane->mSizeOrig.y = i_pane->pane->getHeight(); fopMsgM_f2d_class center = fopMsgM_centerPosCalc(i_pane->mPosTopLeftOrig, i_pane->mSizeOrig); i_pane->mPosCenterOrig.x = center.x; i_pane->mPosCenterOrig.y = center.y; diff --git a/src/f_pc/f_pc_node_req.cpp b/src/f_pc/f_pc_node_req.cpp index 912deaf4..18c0a985 100644 --- a/src/f_pc/f_pc_node_req.cpp +++ b/src/f_pc/f_pc_node_req.cpp @@ -164,7 +164,7 @@ s32 fpcNdRq_IsPossibleTarget(process_node_class* i_procNode) { currentNode = (request_node_class*)l_fpcNdRq_Queue.mpHead; while (currentNode != NULL) { currentNdCr = currentNode->mNodeCrReq; - if ((currentNdCr->mParameter == 2 || currentNdCr->mParameter == 4 || currentNdCr->mParameter == 1) && currentNdCr->mNodeProc.mProcId == bsPcId) + if ((currentNdCr->mParameter == 2 || currentNdCr->mParameter == DEMO_SELECT(3, 4) || currentNdCr->mParameter == 1) && currentNdCr->mNodeProc.mProcId == bsPcId) return 0; currentNode = (request_node_class*)NODE_GET_NEXT((¤tNode->base)); } @@ -189,9 +189,19 @@ s32 fpcNdRq_IsIng(process_node_class* i_procNode) { /* 8003F774-8003F8EC .text fpcNdRq_Create__FUl */ node_create_request* fpcNdRq_Create(u32 i_requestSize) { static node_create_request clear = { - NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL, - 0, NULL, NULL, NULL, 0, 0, NULL, 5, 0xFFFFFFFF, - NULL, 0xFFFFFFFE, NULL, 0xFFFFFFFE, 0x7FFF, NULL, 0x7FFF, + /* mCreateTag */ NULL, NULL, NULL, NULL, 0, + /* mProcMthCls */ NULL, NULL, NULL, NULL, 0, NULL, NULL, + /* mReqPhsProc */ NULL, 0, + /* mpPhsHandler */ NULL, + /* mpNodeCrReqMthCls */ NULL, + /* mParameter */ DEMO_SELECT(4, 5), + /* mRequestId */ 0xFFFFFFFF, + /* mNodeProc */ NULL, 0xFFFFFFFE, + /* mpLayerClass */ NULL, + /* mCreatingID */ 0xFFFFFFFE, + /* mProcName */ fpcNm_INVALID_e, + /* mpUserData */ NULL, + /* unk_0x60 */ 0x7FFF, }; node_create_request* req = (node_create_request*)cMl::memalignB(-4, i_requestSize); @@ -299,7 +309,7 @@ node_create_request* fpcNdRq_Request(u32 i_requestSize, int i_reqType, case 2: req = fpcNdRq_ChangeNode(i_requestSize, i_procNode, i_procName, i_data); break; - case 4: + case DEMO_SELECT(3, 4): break; } diff --git a/src/f_pc/f_pc_profile.cpp b/src/f_pc/f_pc_profile.cpp index cd1f5c2e..792b2a79 100644 --- a/src/f_pc/f_pc_profile.cpp +++ b/src/f_pc/f_pc_profile.cpp @@ -9,5 +9,6 @@ process_profile_definition** g_fpcPf_ProfileList_p; /* 8004003C-80040050 .text fpcPf_Get__Fs */ process_profile_definition* fpcPf_Get(s16 i_profName) { - return g_fpcPf_ProfileList_p[i_profName]; + int profName = i_profName; + return g_fpcPf_ProfileList_p[profName]; } diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 76ad53a2..cc411e90 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -106,7 +106,7 @@ void CheckHeap(JUTGamePad* i_pad) { static int countUsed(JKRExpHeap* heap) { OSDisableScheduler(); int counter = 0; - JKRExpHeap::CMemBlock* used_blocks_head = heap->getHeadUsedList(); + JKRExpHeap::CMemBlock* used_blocks_head = heap->getUsedFirst(); while (used_blocks_head) { used_blocks_head = used_blocks_head->getNextBlock(); @@ -124,7 +124,7 @@ s32 HeapCheck::getUsedCount() const { /* 800058D4-80005B28 .text heapDisplay__9HeapCheckFv */ void HeapCheck::heapDisplay() { - s32 heap_size = mHeap->getSize(); + s32 heap_size = mHeap->getHeapSize(); s32 used_count = field_0x14 * mTargetHeapSize; field_0x10 = used_count; |
