diff --git a/include/JSystem/J2DGraph/J2DWindow.h b/include/JSystem/J2DGraph/J2DWindow.h index a530550b1..acf6dc00e 100644 --- a/include/JSystem/J2DGraph/J2DWindow.h +++ b/include/JSystem/J2DGraph/J2DWindow.h @@ -45,7 +45,7 @@ public: } void getWhite() const {} void setBlack(JUtility::TColor black) { mBlack = black; } - void setContentsColor(TContentsColor& param_0) { setContentsColor(param_0.mTL, param_0.mTR, param_0.mBL, param_0.mBR); } + void setContentsColor(TContentsColor param_0) { setContentsColor(param_0.mTL, param_0.mTR, param_0.mBL, param_0.mBR); } void setContentsColor(JUtility::TColor param_0) { setContentsColor(param_0, param_0, param_0, param_0); } void setWhite(JUtility::TColor white) { mWhite = white; } diff --git a/include/d/d_lib.h b/include/d/d_lib.h index 9ab3292c5..4ee0575f9 100644 --- a/include/d/d_lib.h +++ b/include/d/d_lib.h @@ -52,7 +52,9 @@ public: class CSTControl : public STControl { public: - CSTControl() : STControl(5, 2, 3, 2) {} + CSTControl(s16 a, s16 b, s16 c, s16 d, f32 e = 0.9f, f32 f = 0.5f, s16 g = 0, s16 h = 0x2000) + : STControl(a, b, c, d, e, f, g, h) + {} virtual f32 getValueStick(); virtual s16 getAngleStick(); }; diff --git a/include/d/d_menu_base.h b/include/d/d_menu_base.h index 64dd5b0e6..98ebdcec5 100644 --- a/include/d/d_menu_base.h +++ b/include/d/d_menu_base.h @@ -5,13 +5,14 @@ class dMenu_base_c : public dDlst_base_c { public: - virtual void draw() {} + virtual ~dMenu_base_c() {} virtual void _create() {} virtual void _delete() {} virtual void _move() {} virtual void _draw() {} virtual bool _open() = 0; virtual bool _close() = 0; + virtual void draw() {} }; #endif //D_MENU_BASE_H diff --git a/include/d/d_menu_collect.h b/include/d/d_menu_collect.h index 63593e11e..810d89084 100644 --- a/include/d/d_menu_collect.h +++ b/include/d/d_menu_collect.h @@ -20,6 +20,7 @@ class JUTFont; class dMenu_Collect_c : public dMenu_base_c { public: + ~dMenu_Collect_c() {} virtual void draw() { _draw(); } void alphaChange(fopMsgM_pane_class* pane, float alpha) { pane->mInitAlpha *= alpha; } @@ -32,15 +33,15 @@ public: void setQuitArchive(JKRArchive* arc) { mpSaveArc = arc; } void setFont(JUTFont* font, JUTFont* rfont) { - mFont = font; - mRFont = rfont; + mpFont = font; + mpRubyFont = rfont; } void setTactTexBuffer(void* ptr) { mTactTexBuffer = (ResTIMG*)ptr; } void setMapTexBuffer(void* ptr) { mMapTexBuffer = (ResTIMG*)ptr; } void setTriforceTexBuffer(int idx, void* ptr) { mTriforceTexBuffer[idx] = (ResTIMG*)ptr; } - void setSymbolTexBuffer(int idx, void* ptr) { mSymbolTexBuffer[idx] = ptr; } - void setItemTexBuffer(int idx, void* ptr) { mItemTexBuffer[idx] = ptr; } + void setSymbolTexBuffer(int idx, void* ptr) { mSymbolTexBuffer[idx] = (ResTIMG*)ptr; } + void setItemTexBuffer(int idx, void* ptr) { mItemTexBuffer[idx] = (ResTIMG*)ptr; } void setTextArea(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) { name[0] = name0; @@ -176,16 +177,21 @@ private: /* 0x2464 */ JKRArchive* mpArc; /* 0x2468 */ JKRArchive* mpOptArc; /* 0x246C */ JKRArchive* mpSaveArc; - /* 0x2470 */ JUTFont* mFont; - /* 0x2474 */ JUTFont* mRFont; + /* 0x2470 */ JUTFont* mpFont; + /* 0x2474 */ JUTFont* mpRubyFont; /* 0x2478 */ J2DPane* m2478; /* 0x247C */ JPABaseEmitter* m247C[3]; /* 0x2488 */ J2DWindow::TContentsColor m2488; /* 0x2498 */ ResTIMG* mTactTexBuffer; /* 0x249C */ ResTIMG* mMapTexBuffer; /* 0x24A0 */ ResTIMG* mTriforceTexBuffer[8]; - /* 0x24C0 */ void* mSymbolTexBuffer[3]; - /* 0x24CC */ void* mItemTexBuffer[5]; + /* 0x24C0 */ ResTIMG* mSymbolTexBuffer[3]; + /* 0x24CC */ ResTIMG* mItemTexBuffer[5]; +#if VERSION == VERSION_PAL + /* 0x24E0 */ ResTIMG* mWordSaveTexBuffer; + /* 0x24E4 */ ResTIMG* mWordOptionTexBuffer; + /* 0x24E8 */ ResTIMG* mTitleCollectTexBuffer; +#endif /* 0x24E0 */ fopMsgM_msgDataProc_c mMsgProc; /* 0x2780 */ dMenu_Option_c* dMo_c; /* 0x2784 */ dMenu_save_c* dMs_c; @@ -215,8 +221,6 @@ private: /* 0x27F3 */ u8 m27F3; }; // Size: 0x27F4 -STATIC_ASSERT(sizeof(dMenu_Collect_c) == 0x27F4); - class dMc_HIO_c : public JORReflexible { public: dMc_HIO_c(); diff --git a/include/d/d_menu_dmap.h b/include/d/d_menu_dmap.h index 746716622..51adf9f69 100644 --- a/include/d/d_menu_dmap.h +++ b/include/d/d_menu_dmap.h @@ -3,6 +3,7 @@ #include "dolphin/types.h" #include "d/d_menu_base.h" +#include "f_op/f_op_msg_mng.h" class J2DPane; struct fopMsgM_pane_class; diff --git a/include/d/d_menu_option.h b/include/d/d_menu_option.h index 84fd3ec34..93853bf6c 100644 --- a/include/d/d_menu_option.h +++ b/include/d/d_menu_option.h @@ -21,9 +21,9 @@ public: void setArchive(JKRArchive* archive) { mpArchive = archive; } - void setFont(JUTFont* font_1, JUTFont* font_2) { - mD2C = font_1; - mD30 = font_2; + void setFont(JUTFont* i_font, JUTFont* i_rubyFont) { + mpFont = i_font; + mpRubyFont = i_rubyFont; } void setTextArea(char* param_1, char* param_2, char* param_3, char* param_4) { mD38 = param_1; @@ -86,8 +86,8 @@ private: /* 0xC80 */ fopMsgM_pane_class mC80[2]; /* 0xCF0 */ fopMsgM_pane_class mCF0; /* 0xD28 */ JKRArchive* mpArchive; - /* 0xD2C */ JUTFont* mD2C; - /* 0xD30 */ JUTFont* mD30; + /* 0xD2C */ JUTFont* mpFont; + /* 0xD30 */ JUTFont* mpRubyFont; /* 0xD34 */ STControl* stick; /* 0xD38 */ char* mD38; /* 0xD3C */ char* mD3C; diff --git a/include/d/dolzel.pch b/include/d/dolzel.pch index 91e321c8e..45a335ea3 100644 --- a/include/d/dolzel.pch +++ b/include/d/dolzel.pch @@ -33,5 +33,6 @@ #include "d/d_cc_uty.h" // IWYU pragma: export #include "d/d_magma.h" // IWYU pragma: export #include "d/d_mesg.h" // IWYU pragma: export +#include "d/d_menu_base.h" // IWYU pragma: export #endif /* DOLZEL_PCH */ diff --git a/src/d/actor/d_a_obj_majyuu_door.cpp b/src/d/actor/d_a_obj_majyuu_door.cpp index e5a5ff41d..e3ba9f3a3 100644 --- a/src/d/actor/d_a_obj_majyuu_door.cpp +++ b/src/d/actor/d_a_obj_majyuu_door.cpp @@ -209,7 +209,7 @@ void daObj_MjDoor_c::smoke_set() { dComIfGp_particle_setToon(dPa_name::ID_IT_ST_MJMON_SMOKE00, &mPos, &mAngle, NULL, 0xB9, &mSmoke, fopAcM_GetRoomNo(this)); if (mSmoke.getEmitter() != NULL) { - mSmoke.getEmitter()->mGlobalPrmColor.a = 200; + mSmoke.getEmitter()->setGlobalAlpha(200); } } diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 6c29bb380..b33103796 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -12,7 +12,7 @@ #include "JAZelAudio/JAZelAudio_SE.h" #include "d/d_meter.h" -static dMc_HIO_c g_mcHIO; +dMc_HIO_c g_mcHIO; // Number of beats in each baton song. static const s32 tact_beat[] = { @@ -212,8 +212,8 @@ void dMenu_Collect_c::screenSet() { if (m820.mUserArea > 180) m820.mUserArea -= 360; - ((J2DTextBox*)(m740).pane)->setFont(mRFont); - ((J2DTextBox*)(m778).pane)->setFont(mFont); + ((J2DTextBox*)(m740).pane)->setFont(mpRubyFont); + ((J2DTextBox*)(m778).pane)->setFont(mpFont); ((J2DTextBox*)(m740).pane)->setWhite(0xFFFFFFFF); ((J2DTextBox*)(m740).pane)->setCharColor(0x000000FF); @@ -224,15 +224,15 @@ void dMenu_Collect_c::screenSet() { ((J2DTextBox*)(m778).pane)->setGradColor(0x000000FF); fopMsgM_setPaneData(&m858, scrn, 'wd'); - ((J2DTextBox*)(m858).pane)->setFont(mFont); + ((J2DTextBox*)(m858).pane)->setFont(mpFont); - outFont->setPane(mFont, &m858, &m008, &m040, &m078); + outFont->setPane(mpFont, &m858, &m008, &m040, &m078); fopMsgM_setPaneData(&m890[0], scrn, 'nm00'); - ((J2DTextBox*)(m890[0]).pane)->setFont(mFont); + ((J2DTextBox*)(m890[0]).pane)->setFont(mpFont); fopMsgM_setPaneData(&m890[1], scrn, 'nm01'); - ((J2DTextBox*)(m890[1]).pane)->setFont(mFont); + ((J2DTextBox*)(m890[1]).pane)->setFont(mpFont); fopMsgM_setPaneData(&m900, scrn, 'itnm'); fopMsgM_setPaneData(&m938, scrn, 'itnk'); @@ -336,16 +336,43 @@ void dMenu_Collect_c::screenSet() { fopMsgM_setPaneData(&m23E8, scrn, 'cc07'); fopMsgM_setPaneData(&m2420, scrn, 'cc00'); +#if VERSION == VERSION_PAL + if (dComIfGs_getPalLanguage() != 0) { + char sp58[24]; + sprintf(sp58, "title_collect_%d.bti", dComIfGs_getPalLanguage()); + JKRArchive* archive = dComIfGp_getItemIconArchive(); + JKRArchive::readTypeResource(mTitleCollectTexBuffer, 0x1000, 'TIMG', sp58, mpArc); + J2DPicture* r3 = (J2DPicture*)scrn->search('tlcl'); + r3->changeTexture(mTitleCollectTexBuffer, 0); + sprintf(sp58, "word_save_%d.bti", dComIfGs_getPalLanguage()); + JKRArchive::readTypeResource(mWordSaveTexBuffer, 0xc00, 'TIMG', sp58, mpArc); + J2DPicture* r3_2 = (J2DPicture*)scrn->search('wdsv'); + r3_2->changeTexture(mWordSaveTexBuffer, 0); + sprintf(sp58, "word_option_%d.bti", dComIfGs_getPalLanguage()); + JKRArchive::readTypeResource(mWordOptionTexBuffer, 0xc00, 'TIMG', sp58, mpArc); + J2DPicture* r3_3 = (J2DPicture*)scrn->search('wdop'); + r3_3->changeTexture(mWordOptionTexBuffer, 0); + } +#endif + { JKRArchive* archive = dComIfGp_getItemIconArchive(); JKRArchive::readTypeResource(mTactTexBuffer, 0xc00, 'TIMG', "baton.bti", archive); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mTactTexBuffer, 0xc00); +#else DCStoreRangeNoSync(mTactTexBuffer, 0xc00); +#endif } { JKRArchive* archive = dComIfGp_getItemIconArchive(); JKRArchive::readTypeResource(mMapTexBuffer, 0xc00, 'TIMG', "cmap_treasure2.bti", archive); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mMapTexBuffer, 0xc00); +#else DCStoreRangeNoSync(mMapTexBuffer, 0xc00); +#endif } for (int i = 0; i < 6; i++) { @@ -357,8 +384,13 @@ void dMenu_Collect_c::screenSet() { for (int i = 0; i < 8; i++) { JKRArchive* archive = dComIfGp_getItemIconArchive(); - JKRArchive::readTypeResource(mTriforceTexBuffer[i], 0xc00, 'TIMG', triTex[i], archive); + char* r6 = triTex[i]; + JKRArchive::readTypeResource(mTriforceTexBuffer[i], 0xc00, 'TIMG', r6, archive); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mTriforceTexBuffer[i], 0xc00); +#else DCStoreRangeNoSync(mTriforceTexBuffer[i], 0xc00); +#endif ((J2DPicture*)mE08[i].pane)->changeTexture(mTriforceTexBuffer[i], 0); } @@ -368,18 +400,28 @@ void dMenu_Collect_c::screenSet() { for (int i = 0; i < 3; i++) { JKRArchive* archive = dComIfGp_getItemIconArchive(); - JKRArchive::readTypeResource(mSymbolTexBuffer[i], 0xc00, 'TIMG', symTex[i], archive); + char* r6 = symTex[i]; + JKRArchive::readTypeResource(mSymbolTexBuffer[i], 0xc00, 'TIMG', r6, archive); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mSymbolTexBuffer[i], 0xc00); +#else DCStoreRangeNoSync(mSymbolTexBuffer[i], 0xc00); - ((J2DPicture*)m1000[i].pane)->changeTexture((ResTIMG*)mSymbolTexBuffer[i], 0); - ((J2DPicture*)m10A8[i].pane)->changeTexture((ResTIMG*)mSymbolTexBuffer[i], 0); +#endif + ((J2DPicture*)m1000[i].pane)->changeTexture(mSymbolTexBuffer[i], 0); + ((J2DPicture*)m10A8[i].pane)->changeTexture(mSymbolTexBuffer[i], 0); } for (int i = 0; i < 5; i++) { JKRArchive* archive = dComIfGp_getItemIconArchive(); - JKRArchive::readTypeResource(mItemTexBuffer[i], 0xc00, 'TIMG', wepTex[i], archive); + char* r6 = wepTex[i]; + JKRArchive::readTypeResource(mItemTexBuffer[i], 0xc00, 'TIMG', r6, archive); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[i], 0xc00); +#else DCStoreRangeNoSync(mItemTexBuffer[i], 0xc00); - ((J2DPicture*)m2030[i].pane)->changeTexture((ResTIMG*)mItemTexBuffer[i], 0); - ((J2DPicture*)m2148[i].pane)->changeTexture((ResTIMG*)mItemTexBuffer[i], 0); +#endif + ((J2DPicture*)m2030[i].pane)->changeTexture(mItemTexBuffer[i], 0); + ((J2DPicture*)m2148[i].pane)->changeTexture(mItemTexBuffer[i], 0); } char print_format[0x10]; @@ -1536,10 +1578,11 @@ void dMenu_Collect_c::titleOpenProc(short i_step, short i_max) { void dMenu_Collect_c::noteOpenProc(short i_step, short i_max) { if (i_max >= i_step) { fopMsgM_valueIncrease(i_max, i_step, 0); - float t = fopMsgM_valueIncrease(i_max, i_max - i_step, 0); - float angle = m820.mUserArea + t * (45 - m820.mUserArea); + f32 t = fopMsgM_valueIncrease(i_max, i_max - i_step, 0); + f32 angle = m820.mUserArea + t * (45 - m820.mUserArea); - noteRotate(t * 200.0f, angle); + f32 f1 = t * 200.0f; + noteRotate(f1, angle); fopMsgM_setInitAlpha(&m7B0); fopMsgM_setInitAlpha(&m7E8); @@ -1638,11 +1681,8 @@ void dMenu_Collect_c::itemBitCheck() { ((J2DPicture*)mE08[4].pane)->changeTexture("triforce.bti", 0); - ResTIMG* timg = (ResTIMG*)JKRArchive::getGlbResource( - 'TIMG', - "triforce.bti", - mpArc - ); + JKRArchive* r5 = mpArc; + ResTIMG* timg = (ResTIMG*)JKRArchive::getGlbResource('TIMG', "triforce.bti", r5); mE08[4].mPosCenterOrig = mFC8.mPosCenterOrig; mE08[4].mPosCenter = mFC8.mPosCenter; @@ -1665,7 +1705,11 @@ void dMenu_Collect_c::itemBitCheck() { r7 ); - DCStoreRangeNoSync(mTriforceTexBuffer[4], 0xC00); + #if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mTriforceTexBuffer[4], 0xC00); +#else + DCStoreRangeNoSync(mTriforceTexBuffer[4], 0xC00); +#endif ((J2DPicture*)mE08[4].pane)->changeTexture( mTriforceTexBuffer[4], @@ -2450,121 +2494,87 @@ void dMenu_Collect_c::tactBaseShow() { /* 801A1600-801A2958 .text cornerMove__15dMenu_Collect_cFv */ void dMenu_Collect_c::cornerMove() { - /* Nonmatching */ + int r4 = 0xF0; J2DWindow::TContentsColor outColor; + JUtility::TColor sp1C; m27E6++; - if (m27E6 >= 0xF0) { + if (m27E6 >= r4) { m27E6 = 0; } - f32 t = fopMsgM_valueIncrease( - 60, - m27E6 % 60, - 2 - ); + int r4_2 = m27E6 % 60; + f32 t = fopMsgM_valueIncrease(60, r4_2, 2); if (m27E6 < 60) { - outColor.mTL.set( - m2488.mTL.r + (m2488.mBL.r - m2488.mTL.r) * t, - m2488.mTL.g + (m2488.mBL.g - m2488.mTL.g) * t, - m2488.mTL.b + (m2488.mBL.b - m2488.mTL.b) * t, - m2488.mTL.a + (m2488.mBL.a - m2488.mTL.a) * t - ); - outColor.mTR.set( - m2488.mTR.r + (m2488.mTL.r - m2488.mTR.r) * t, - m2488.mTR.g + (m2488.mTL.g - m2488.mTR.g) * t, - m2488.mTR.b + (m2488.mTL.b - m2488.mTR.b) * t, - m2488.mTR.a + (m2488.mTL.a - m2488.mTR.a) * t - ); - outColor.mBL.set( - m2488.mBL.r + (m2488.mBR.r - m2488.mBL.r) * t, - m2488.mBL.g + (m2488.mBR.g - m2488.mBL.g) * t, - m2488.mBL.b + (m2488.mBR.b - m2488.mBL.b) * t, - m2488.mBL.a + (m2488.mBR.a - m2488.mBL.a) * t - ); - outColor.mBR.set( - m2488.mBR.r + (m2488.mBL.r - m2488.mBR.r) * t, - m2488.mBR.g + (m2488.mBL.g - m2488.mBR.g) * t, - m2488.mBR.b + (m2488.mBL.b - m2488.mBR.b) * t, - m2488.mBR.a + (m2488.mBL.a - m2488.mBR.a) * t - ); + outColor.mTL.r = m2488.mTL.r + (m2488.mBL.r - m2488.mTL.r) * t; + outColor.mTL.g = m2488.mTL.g + (m2488.mBL.g - m2488.mTL.g) * t; + outColor.mTL.b = m2488.mTL.b + (m2488.mBL.b - m2488.mTL.b) * t; + outColor.mTL.a = m2488.mTL.a + (m2488.mBL.a - m2488.mTL.a) * t; + outColor.mTR.r = m2488.mTR.r + (m2488.mTL.r - m2488.mTR.r) * t; + outColor.mTR.g = m2488.mTR.g + (m2488.mTL.g - m2488.mTR.g) * t; + outColor.mTR.b = m2488.mTR.b + (m2488.mTL.b - m2488.mTR.b) * t; + outColor.mTR.a = m2488.mTR.a + (m2488.mTL.a - m2488.mTR.a) * t; + outColor.mBL.r = m2488.mBL.r + (m2488.mBR.r - m2488.mBL.r) * t; + outColor.mBL.g = m2488.mBL.g + (m2488.mBR.g - m2488.mBL.g) * t; + outColor.mBL.b = m2488.mBL.b + (m2488.mBR.b - m2488.mBL.b) * t; + outColor.mBL.a = m2488.mBL.a + (m2488.mBR.a - m2488.mBL.a) * t; + outColor.mBR.r = m2488.mBR.r + (m2488.mTR.r - m2488.mBR.r) * t; + outColor.mBR.g = m2488.mBR.g + (m2488.mTR.g - m2488.mBR.g) * t; + outColor.mBR.b = m2488.mBR.b + (m2488.mTR.b - m2488.mBR.b) * t; + outColor.mBR.a = m2488.mBR.a + (m2488.mTR.a - m2488.mBR.a) * t; } else if (m27E6 < 120) { - outColor.mTL.set( - m2488.mTR.r + (m2488.mBR.r - m2488.mTR.r) * t, - m2488.mTR.g + (m2488.mBR.g - m2488.mTR.g) * t, - m2488.mTR.b + (m2488.mBR.b - m2488.mTR.b) * t, - m2488.mTR.a + (m2488.mBR.a - m2488.mTR.a) * t - ); - outColor.mTR.set( - m2488.mTL.r + (m2488.mTR.r - m2488.mTL.r) * t, - m2488.mTL.g + (m2488.mTR.g - m2488.mTL.g) * t, - m2488.mTL.b + (m2488.mTR.b - m2488.mTL.b) * t, - m2488.mTL.a + (m2488.mTR.a - m2488.mTL.a) * t - ); - outColor.mBL.set( - m2488.mBR.r + (m2488.mBL.r - m2488.mBR.r) * t, - m2488.mBR.g + (m2488.mBL.g - m2488.mBR.g) * t, - m2488.mBR.b + (m2488.mBL.b - m2488.mBR.b) * t, - m2488.mBR.a + (m2488.mBL.a - m2488.mBR.a) * t - ); - outColor.mBR.set( - m2488.mBL.r + (m2488.mTL.r - m2488.mBL.r) * t, - m2488.mBL.g + (m2488.mTL.g - m2488.mBL.g) * t, - m2488.mBL.b + (m2488.mTL.b - m2488.mBL.b) * t, - m2488.mBL.a + (m2488.mTL.a - m2488.mBL.a) * t - ); + outColor.mTR.r = m2488.mTL.r + (m2488.mBL.r - m2488.mTL.r) * t; + outColor.mTR.g = m2488.mTL.g + (m2488.mBL.g - m2488.mTL.g) * t; + outColor.mTR.b = m2488.mTL.b + (m2488.mBL.b - m2488.mTL.b) * t; + outColor.mTR.a = m2488.mTL.a + (m2488.mBL.a - m2488.mTL.a) * t; + outColor.mBR.r = m2488.mTR.r + (m2488.mTL.r - m2488.mTR.r) * t; + outColor.mBR.g = m2488.mTR.g + (m2488.mTL.g - m2488.mTR.g) * t; + outColor.mBR.b = m2488.mTR.b + (m2488.mTL.b - m2488.mTR.b) * t; + outColor.mBR.a = m2488.mTR.a + (m2488.mTL.a - m2488.mTR.a) * t; + outColor.mTL.r = m2488.mBL.r + (m2488.mBR.r - m2488.mBL.r) * t; + outColor.mTL.g = m2488.mBL.g + (m2488.mBR.g - m2488.mBL.g) * t; + outColor.mTL.b = m2488.mBL.b + (m2488.mBR.b - m2488.mBL.b) * t; + outColor.mTL.a = m2488.mBL.a + (m2488.mBR.a - m2488.mBL.a) * t; + outColor.mBL.r = m2488.mBR.r + (m2488.mTR.r - m2488.mBR.r) * t; + outColor.mBL.g = m2488.mBR.g + (m2488.mTR.g - m2488.mBR.g) * t; + outColor.mBL.b = m2488.mBR.b + (m2488.mTR.b - m2488.mBR.b) * t; + outColor.mBL.a = m2488.mBR.a + (m2488.mTR.a - m2488.mBR.a) * t; } else if (m27E6 < 180) { - outColor.mTL.set( - m2488.mBR.r + (m2488.mBL.r - m2488.mBR.r) * t, - m2488.mBR.g + (m2488.mBL.g - m2488.mBR.g) * t, - m2488.mBR.b + (m2488.mBL.b - m2488.mBR.b) * t, - m2488.mBR.a + (m2488.mBL.a - m2488.mBR.a) * t - ); - outColor.mTR.set( - m2488.mTR.r + (m2488.mBR.r - m2488.mTR.r) * t, - m2488.mTR.g + (m2488.mBR.g - m2488.mTR.g) * t, - m2488.mTR.b + (m2488.mBR.b - m2488.mTR.b) * t, - m2488.mTR.a + (m2488.mBR.a - m2488.mTR.a) * t - ); - outColor.mBL.set( - m2488.mBL.r + (m2488.mTL.r - m2488.mBL.r) * t, - m2488.mBL.g + (m2488.mTL.g - m2488.mBL.g) * t, - m2488.mBL.b + (m2488.mTL.b - m2488.mBL.b) * t, - m2488.mBL.a + (m2488.mTL.a - m2488.mBL.a) * t - ); - outColor.mBR.set( - m2488.mTL.r + (m2488.mTR.r - m2488.mTL.r) * t, - m2488.mTL.g + (m2488.mTR.g - m2488.mTL.g) * t, - m2488.mTL.b + (m2488.mTR.b - m2488.mTL.b) * t, - m2488.mTL.a + (m2488.mTR.a - m2488.mTL.a) * t - ); + outColor.mBR.r = m2488.mTL.r + (m2488.mBL.r - m2488.mTL.r) * t; + outColor.mBR.g = m2488.mTL.g + (m2488.mBL.g - m2488.mTL.g) * t; + outColor.mBR.b = m2488.mTL.b + (m2488.mBL.b - m2488.mTL.b) * t; + outColor.mBR.a = m2488.mTL.a + (m2488.mBL.a - m2488.mTL.a) * t; + outColor.mBL.r = m2488.mTR.r + (m2488.mTL.r - m2488.mTR.r) * t; + outColor.mBL.g = m2488.mTR.g + (m2488.mTL.g - m2488.mTR.g) * t; + outColor.mBL.b = m2488.mTR.b + (m2488.mTL.b - m2488.mTR.b) * t; + outColor.mBL.a = m2488.mTR.a + (m2488.mTL.a - m2488.mTR.a) * t; + outColor.mTR.r = m2488.mBL.r + (m2488.mBR.r - m2488.mBL.r) * t; + outColor.mTR.g = m2488.mBL.g + (m2488.mBR.g - m2488.mBL.g) * t; + outColor.mTR.b = m2488.mBL.b + (m2488.mBR.b - m2488.mBL.b) * t; + outColor.mTR.a = m2488.mBL.a + (m2488.mBR.a - m2488.mBL.a) * t; + outColor.mTL.r = m2488.mBR.r + (m2488.mTR.r - m2488.mBR.r) * t; + outColor.mTL.g = m2488.mBR.g + (m2488.mTR.g - m2488.mBR.g) * t; + outColor.mTL.b = m2488.mBR.b + (m2488.mTR.b - m2488.mBR.b) * t; + outColor.mTL.a = m2488.mBR.a + (m2488.mTR.a - m2488.mBR.a) * t; } else { - outColor.mTL.set( - m2488.mBL.r + (m2488.mTL.r - m2488.mBL.r) * t, - m2488.mBL.g + (m2488.mTL.g - m2488.mBL.g) * t, - m2488.mBL.b + (m2488.mTL.b - m2488.mBL.b) * t, - m2488.mBL.a + (m2488.mTL.a - m2488.mBL.a) * t - ); - outColor.mTR.set( - m2488.mBR.r + (m2488.mBL.r - m2488.mBR.r) * t, - m2488.mBR.g + (m2488.mBL.g - m2488.mBR.g) * t, - m2488.mBR.b + (m2488.mBL.b - m2488.mBR.b) * t, - m2488.mBR.a + (m2488.mBL.a - m2488.mBR.a) * t - ); - outColor.mBL.set( - m2488.mTL.r + (m2488.mTR.r - m2488.mTL.r) * t, - m2488.mTL.g + (m2488.mTR.g - m2488.mTL.g) * t, - m2488.mTL.b + (m2488.mTR.b - m2488.mTL.b) * t, - m2488.mTL.a + (m2488.mTR.a - m2488.mTL.a) * t - ); - outColor.mBR.set( - m2488.mTR.r + (m2488.mBR.r - m2488.mTR.r) * t, - m2488.mTR.g + (m2488.mBR.g - m2488.mTR.g) * t, - m2488.mTR.b + (m2488.mBR.b - m2488.mTR.b) * t, - m2488.mTR.a + (m2488.mBR.a - m2488.mTR.a) * t - ); + outColor.mBL.r = m2488.mTL.r + (m2488.mBL.r - m2488.mTL.r) * t; + outColor.mBL.g = m2488.mTL.g + (m2488.mBL.g - m2488.mTL.g) * t; + outColor.mBL.b = m2488.mTL.b + (m2488.mBL.b - m2488.mTL.b) * t; + outColor.mBL.a = m2488.mTL.a + (m2488.mBL.a - m2488.mTL.a) * t; + outColor.mTL.r = m2488.mTR.r + (m2488.mTL.r - m2488.mTR.r) * t; + outColor.mTL.g = m2488.mTR.g + (m2488.mTL.g - m2488.mTR.g) * t; + outColor.mTL.b = m2488.mTR.b + (m2488.mTL.b - m2488.mTR.b) * t; + outColor.mTL.a = m2488.mTR.a + (m2488.mTL.a - m2488.mTR.a) * t; + outColor.mBR.r = m2488.mBL.r + (m2488.mBR.r - m2488.mBL.r) * t; + outColor.mBR.g = m2488.mBL.g + (m2488.mBR.g - m2488.mBL.g) * t; + outColor.mBR.b = m2488.mBL.b + (m2488.mBR.b - m2488.mBL.b) * t; + outColor.mBR.a = m2488.mBL.a + (m2488.mBR.a - m2488.mBL.a) * t; + outColor.mTR.r = m2488.mBR.r + (m2488.mTR.r - m2488.mBR.r) * t; + outColor.mTR.g = m2488.mBR.g + (m2488.mTR.g - m2488.mBR.g) * t; + outColor.mTR.b = m2488.mBR.b + (m2488.mTR.b - m2488.mBR.b) * t; + outColor.mTR.a = m2488.mBR.a + (m2488.mTR.a - m2488.mBR.a) * t; } ((J2DWindow*)mB68[1].pane)->setContentsColor(outColor); @@ -2591,14 +2601,14 @@ void dMenu_Collect_c::cornerMove() { ); } - ((J2DWindow*)mB68[1].pane)->setWhite( - JUtility::TColor( - 255.0f - (255.0f - g_mcHIO.m58.r) * pulse, - 128.0f - (128.0f - g_mcHIO.m58.g) * pulse, - g_mcHIO.m58.b * pulse, - 0xFF - ) - ); + f32 f2 = 255.0f; + f32 f0 = (f2 - g_mcHIO.m58.r); + f0 *= pulse; + sp1C.r = f2 - f0; + sp1C.g = 128.0f - (128.0f - g_mcHIO.m58.g) * pulse; + sp1C.b = -(-(f32)g_mcHIO.m58.b * pulse); + sp1C.a = 0xFF; + ((J2DWindow*)mB68[1].pane)->setWhite(sp1C); } /* 801A2958-801A2A4C .text triforceAnime__15dMenu_Collect_cFUc */ @@ -2958,7 +2968,7 @@ void dMenu_Collect_c::itemnameSet() { u8 characterWidth; mesg_header* head_p = msgGet.getMesgHeader(msgNo); - JUT_ASSERT(0xBD1, head_p); + JUT_ASSERT(VERSION_SELECT(0xBD1, 0xBD1, 0xBD1, 0xBD1), head_p); ((J2DTextBox*)m890[0].pane)->getFontSize(nameFontSize); nameFontSize.mSizeX = nameFontSize.mSizeY; @@ -2968,55 +2978,51 @@ void dMenu_Collect_c::itemnameSet() { bool firstCharacter = false; - f32 fontScale = nameFontSize.mSizeY / mFont->getCellWidth(); + f32 fontScale = nameFontSize.mSizeY / mpFont->getCellWidth(); f32 measuredWidth; current = mesg; - while (*(const s8*)current != '\0') { + while (*current != '\0') { char appendBuf[3]; appendBuf[0] = appendBuf[1] = appendBuf[2] = '\0'; if ((u8)current[0] == 0x1A) { + // Control code. current++; - - s8 skip = (s8)*current; - current = skip + current; - current--; - + int codeLen = *current; + current += codeLen - 1; continue; } - int code; + int c; - if ((current[0] == 8) || (current[0] == 9)) { - code = (u8)current[1]; - code |= (u16)(u8)current[0] << 8; + int hi_nibble = ((u8)current[0] >> 4) & 0xF; + if ((hi_nibble == 8) || (hi_nibble == 9)) { + // Multi-byte Shift JIS character. + int hi = (u8)current++[0]; + int lo = (u8)current++[0]; + c = hi << 8 | lo; - appendBuf[0] = current[0]; - appendBuf[1] = current[1]; + appendBuf[0] = hi; + appendBuf[1] = lo; appendBuf[2] = '\0'; - - current += 2; } else { - code = (u8)current[0]; - - appendBuf[0] = current[0]; + c = (u8)current++[0]; + appendBuf[0] = c; appendBuf[1] = '\0'; - - current++; } - mFont->getWidthEntry(code, &width); + mpFont->getWidthEntry(c, &width); characterWidth = width.field_0x1; strcat(name[0], appendBuf); if (!firstCharacter) { - mFont->getWidthEntry(code, &firstWidth); + mpFont->getWidthEntry(c, &firstWidth); measuredWidth = fontScale * (characterWidth + firstWidth.field_0x0); @@ -3068,12 +3074,16 @@ void dMenu_Collect_c::itemnoteSet() { f32 rubyFontSize = ((J2DTextBox*)m740.pane)->mFontSizeX; +#if VERSION == VERSION_DEMO + f32 f30 = ((J2DTextBox*)m778.pane)->mFontSizeX; +#else J2DTextBox::TFontSize msgFontSize; msgFontSize.mSizeX = g_msgHIO.field_0x70; msgFontSize.mSizeY = g_msgHIO.field_0x70; ((J2DTextBox*)m778.pane)->setFontSize(msgFontSize); ((J2DTextBox*)m778.pane)->setLineSpace(g_msgHIO.field_0x5e); +#endif switch (mNowItem) { case 0: @@ -3244,23 +3254,27 @@ void dMenu_Collect_c::itemnoteSet() { } mesg_header* head_p = msgGet.getMesgHeader(msgNo); - JUT_ASSERT(0xCD3, head_p); + JUT_ASSERT(VERSION_SELECT(0xCD3, 0xCD3, 0xCD3, 0xCD3), head_p); - char* bmgData = (char*)msgGet.getMessage(head_p); + const char* bmgData = msgGet.getMessage(head_p); JMSMesgEntry_c mesgEntry; mesgEntry = msgGet.getMesgEntry(head_p); mMsgProc.dataInit(); - mMsgProc.setBmgData(bmgData); + mMsgProc.setBmgData((char*)bmgData); mMsgProc.setOutMessage(note[0], note[1], dummy[0], dummy[1]); - mMsgProc.setFont(mFont); - mMsgProc.setRubyFont(mRFont); + mMsgProc.setFont(mpFont); + mMsgProc.setRubyFont(mpRubyFont); mMsgProc.setCharSpace(((J2DTextBox*)m778.pane)->getCharSpace()); mMsgProc.setRubyCharSpace(((J2DTextBox*)m740.pane)->getCharSpace()); mMsgProc.setLineSpace(((J2DTextBox*)m778.pane)->getLineSpace()); mMsgProc.setMesgEntry(&mesgEntry); +#if VERSION == VERSION_DEMO + mMsgProc.setFontSize(f30); +#else mMsgProc.setFontSize(msgFontSize.mSizeX); +#endif mMsgProc.setRubyFontSize(rubyFontSize); mMsgProc.setLineWidth(0x1FE); mMsgProc.setCenterLineWidth(0x1E6); @@ -3291,8 +3305,8 @@ void dMenu_Collect_c::itemnoteSet() { int halfLine = (((J2DTextBox*)m778.pane)->getLineSpace() / 2.0f); for (int i = 0; i < 15; i++) { - u8 iconNo = mMsgProc.iconNum[i]; - u32 iconColor = mMsgProc.iconColor[i]; + u8 iconNo = mMsgProc.getIconNum(i); + u32 iconColor = mMsgProc.getIconColor(i); if (iconColor == 0xFFFFFFFF) { iconColor = 0xFF; @@ -3305,8 +3319,8 @@ void dMenu_Collect_c::itemnoteSet() { m0B0[i].mUserArea = 0; } - m0B0[m27E0].mPosCenter.x = mMsgProc.iconPosX[i]; - m0B0[m27E0].mPosCenter.y = (halfLine * (lineAdjust + mMsgProc.iconPosY[i] * 2)); + m0B0[m27E0].mPosCenter.x = mMsgProc.getIconPosX(i); + m0B0[m27E0].mPosCenter.y = (halfLine * (lineAdjust + mMsgProc.getIconPosY(i) * 2)); m27EB = 1; } else if (iconNo == 0x15) { @@ -3319,9 +3333,9 @@ void dMenu_Collect_c::itemnoteSet() { m27F0 = 1; } - m0B0[m27E0].mPosTopLeft.x = mMsgProc.iconPosX[i]; + m0B0[m27E0].mPosTopLeft.x = mMsgProc.getIconPosX(i); - m0B0[m27E0].mPosTopLeft.y = (halfLine * (lineAdjust + mMsgProc.iconPosY[i] * 2)); + m0B0[m27E0].mPosTopLeft.y = (halfLine * (lineAdjust + mMsgProc.getIconPosY(i) * 2)); fopMsgM_blendDraw(&m0B0[m27E0], "font_10.bti"); @@ -3353,8 +3367,8 @@ void dMenu_Collect_c::itemnoteSet() { m27F1 = m27F0; } else if (iconNo != 0x16) { - m0B0[i].mPosTopLeft.x = mMsgProc.iconPosX[i]; - m0B0[i].mPosTopLeft.y = (halfLine * (lineAdjust + mMsgProc.iconPosY[i] * 2)); + m0B0[i].mPosTopLeft.x = mMsgProc.getIconPosX(i); + m0B0[i].mPosTopLeft.y = (halfLine * (lineAdjust + mMsgProc.getIconPosY(i) * 2)); m0B0[i].mPosTopLeftOrig.y = iconNo; @@ -3376,36 +3390,52 @@ void dMenu_Collect_c::itemSet() { mItemTexBuffer[0], 0xC00, 'TIMG', "sword_03.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[0], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[0], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } else if (dComIfGs_isCollect(0, 2)) { JKRReadTypeResource( mItemTexBuffer[0], 0xC00, 'TIMG', "sword_02.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[0], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[0], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } else if (dComIfGs_isCollect(0, 1)) { JKRReadTypeResource( mItemTexBuffer[0], 0xC00, 'TIMG', "sword_01.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[0], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[0], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } else if (dComIfGs_isCollect(0, 0) != 0) { JKRReadTypeResource( mItemTexBuffer[0], 0xC00, 'TIMG', "sword_00.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[0], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[0], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } if (dComIfGs_isCollect(1, 1)) { @@ -3413,18 +3443,26 @@ void dMenu_Collect_c::itemSet() { mItemTexBuffer[1], 0xC00, 'TIMG', "shield_01.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[1], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[1], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } else if (dComIfGs_isCollect(1, 0)) { JKRReadTypeResource( mItemTexBuffer[1], 0xC00, 'TIMG', "shield_00.bti", dComIfGp_getItemIconArchive() ); +#if VERSION <= VERSION_JPN + DCFlushRangeNoSync(mItemTexBuffer[1], 0xC00); +#else DCStoreRangeNoSync(mItemTexBuffer[1], 0xC00); - ((J2DPicture*)m2030[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); - ((J2DPicture*)m2148[0].pane)->changeTexture((ResTIMG*)mItemTexBuffer[0], 0); +#endif + ((J2DPicture*)m2030[0].pane)->changeTexture(mItemTexBuffer[0], 0); + ((J2DPicture*)m2148[0].pane)->changeTexture(mItemTexBuffer[0], 0); } } @@ -3506,6 +3544,13 @@ bool dMenu_Collect_c::collectItemGetCheck(unsigned char param_1) { case 4: case 5: return dComIfGs_isTact(param_1); +#if VERSION == VERSION_DEMO + case 6: + case 7: + case 8: + case 9: + return true; +#else case 6: case 7: return true; @@ -3518,6 +3563,7 @@ bool dMenu_Collect_c::collectItemGetCheck(unsigned char param_1) { else { return false; } +#endif case 10: for (int i = 0; i < 8; i++) { if (dComIfGs_isTriforce(i)) { @@ -3543,32 +3589,32 @@ bool dMenu_Collect_c::collectItemGetCheck(unsigned char param_1) { /* 801A4A28-801A4F18 .text _create__15dMenu_Collect_cFv */ void dMenu_Collect_c::_create() { scrn = new MyScreen(); - JUT_ASSERT(0xe4a, scrn != NULL); + JUT_ASSERT(VERSION_SELECT(0xe4a, 0xe4a, 0xe4a, 0xe4a), scrn != NULL); scrn->set("menu_collect_01.blo", mpArc); stick = new STControl(5, 2, 3, 2); - JUT_ASSERT(0xe4e, stick != NULL); + JUT_ASSERT(VERSION_SELECT(0xe4e, 0xe4e, 0xe4e, 0xe4e), stick != NULL); - cstick = new CSTControl(); - JUT_ASSERT(0xe51, cstick != NULL); + cstick = new CSTControl(5, 2, 3, 2); + JUT_ASSERT(VERSION_SELECT(0xe51, 0xe51, 0xe51, 0xe51), cstick != NULL); stick->setWaitParm(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x800); outFont = new dDlst_2DOutFont_c(); - JUT_ASSERT(0xe55, outFont != NULL); + JUT_ASSERT(VERSION_SELECT(0xe55, 0xe55, 0xe55, 0xe55), outFont != NULL); outFont->m74 = 1; dMo_c = new dMenu_Option_c(); - JUT_ASSERT(0xe59, dMo_c != NULL); + JUT_ASSERT(VERSION_SELECT(0xe59, 0xe59, 0xe59, 0xe59), dMo_c != NULL); dMo_c->setArchive(mpOptArc); - dMo_c->setFont(mFont, mRFont); + dMo_c->setFont(mpFont, mpRubyFont); dMo_c->setTextArea(note[0], note[1], dummy[0], dummy[1]); dMo_c->_create(); dMs_c = new dMenu_save_c(); - JUT_ASSERT(0xe63, dMs_c != NULL); + JUT_ASSERT(VERSION_SELECT(0xe63, 0xe63, 0xe63, 0xe63), dMs_c != NULL); dMs_c->setUseType(1); dMs_c->_create(); @@ -3600,30 +3646,30 @@ void dMenu_Collect_c::_create() { /* 801A4F18-801A5498 .text _create3__15dMenu_Collect_cFv */ void dMenu_Collect_c::_create3() { scrn = new MyScreen(); - JUT_ASSERT(0xE8F, scrn != NULL); + JUT_ASSERT(VERSION_SELECT(3638, 3651, 3727, 3727), scrn != NULL); scrn->set("menu_collect_01.blo", mpArc); stick = new STControl(5, 2, 3, 2); - JUT_ASSERT(0xE93, stick != NULL); + JUT_ASSERT(VERSION_SELECT(3642, 3655, 3731, 3731), stick != NULL); - cstick = new CSTControl(); - JUT_ASSERT(0xE96, cstick != NULL); + cstick = new CSTControl(5, 2, 3, 2); + JUT_ASSERT(VERSION_SELECT(3645, 3658, 3734, 3734), cstick != NULL); stick->setWaitParm(5, 2, 3, 2, 0.9f, 0.5f, 0, 0x800); outFont = new dDlst_2DOutFont_c(); - JUT_ASSERT(0xE9A, outFont != NULL); + JUT_ASSERT(VERSION_SELECT(0xE9A, 0xE9A, 0xE9A, 0xE9A), outFont != NULL); dMo_c = new dMenu_Option_c(); - JUT_ASSERT(0xE9D, dMo_c != NULL); + JUT_ASSERT(VERSION_SELECT(0xE9D, 0xE9D, 0xE9D, 0xE9D), dMo_c != NULL); dMo_c->setArchive(mpOptArc); - dMo_c->setFont(mFont, mRFont); + dMo_c->setFont(mpFont, mpRubyFont); dMo_c->setTextArea(note[0], note[1], dummy[0], dummy[1]); dMo_c->_create(); dMs_c = new dMenu_save_c(); - JUT_ASSERT(0xEA6, dMs_c != NULL); + JUT_ASSERT(VERSION_SELECT(0xEA6, 0xEA6, 0xEA6, 0xEA6), dMs_c != NULL); dMs_c->setUseType(1); dMs_c->_create(); @@ -3729,9 +3775,11 @@ void dMenu_Collect_c::_move() { dMo_c->initialize(); mDoAud_seStart(JA_SE_ITM_MENU_OPT_IN); } else if (mNowItem == 7) { +#if VERSION > VERSION_DEMO mCollectMode = 3; dMs_c->initialize(); mDoAud_seStart(JA_SE_ITM_MENU_OPT_IN); +#endif } else if (mNowItem == 0x11) { if (dComIfGs_isCollect(3, 0)) { dComIfGs_onCollect(3, 1); @@ -4444,7 +4492,7 @@ void dMenu_Collect_c::animeStep1(short param_1, short param_2) { if (m247C[2] == NULL) { m247C[2] = dComIfGp_particle_set2DmenuFore(dPa_name::ID_HM_J2_RUPYLIGHT, &pos); - m247C[2]->mGlobalPrmColor.a = 0xFF; + m247C[2]->setGlobalAlpha(0xFF); } } else if (step_max - 4 == step) { cXyz pos( @@ -4455,7 +4503,7 @@ void dMenu_Collect_c::animeStep1(short param_1, short param_2) { if (m247C[1] == NULL) { m247C[1] = dComIfGp_particle_set2DmenuFore(dPa_name::ID_HM_J2_RUPYLIGHT, &pos); - m247C[1]->mGlobalPrmColor.a = 0xFF; + m247C[1]->setGlobalAlpha(0xFF); } } @@ -4485,7 +4533,7 @@ void dMenu_Collect_c::animeStep1(short param_1, short param_2) { if (m247C[0] == NULL) { m247C[0] = dComIfGp_particle_set2DmenuFore(dPa_name::ID_HM_J2_RUPYLIGHT, &pos); - m247C[0]->mGlobalPrmColor.a = 0xFF; + m247C[0]->setGlobalAlpha(0xFF); } } } @@ -4546,15 +4594,15 @@ void dMenu_Collect_c::animeStep4(short param_1, short param_2) { if (step == quarter) { if (m247C[0] != NULL) { - m247C[0]->mGlobalPrmColor.a = 0; + m247C[0]->setGlobalAlpha(0); } } else if (step == quarter * 2) { if (m247C[1] != NULL) { - m247C[1]->mGlobalPrmColor.a = 0; + m247C[1]->setGlobalAlpha(0); } } else if (step == quarter * 3) { if (m247C[2] != NULL) { - m247C[2]->mGlobalPrmColor.a = 0; + m247C[2]->setGlobalAlpha(0); } } diff --git a/src/d/d_menu_option.cpp b/src/d/d_menu_option.cpp index 0e2b349c6..234e216d5 100644 --- a/src/d/d_menu_option.cpp +++ b/src/d/d_menu_option.cpp @@ -95,22 +95,22 @@ void dMenu_Option_c::screenSet() { fopMsgM_messageGet(mDE8[3], 0x1D6); #endif - ((J2DTextBox*)m008.pane)->setFont(mD2C); + ((J2DTextBox*)m008.pane)->setFont(mpFont); #if VERSION > VERSION_JPN ((J2DTextBox*)m008.pane)->setString(mD48); #endif - ((J2DTextBox*)m740[0].pane)->setFont(mD2C); - ((J2DTextBox*)m740[1].pane)->setFont(mD30); + ((J2DTextBox*)m740[0].pane)->setFont(mpFont); + ((J2DTextBox*)m740[1].pane)->setFont(mpRubyFont); for (int i = 0; i < 2; i++) { - ((J2DTextBox*)m9A8[i].pane)->setFont(mD2C); + ((J2DTextBox*)m9A8[i].pane)->setFont(mpFont); #if VERSION <= VERSION_JPN - ((J2DTextBox*)mA18_jpn[i].pane)->setFont(mD2C); + ((J2DTextBox*)mA18_jpn[i].pane)->setFont(mpFont); #endif #if VERSION > VERSION_JPN ((J2DTextBox*)m9A8[i].pane)->setString(mD5C[i]); #endif - ((J2DTextBox*)mAC0[i].pane)->setFont(mD2C); + ((J2DTextBox*)mAC0[i].pane)->setFont(mpFont); #if VERSION > VERSION_JPN ((J2DTextBox*)mAC0[i].pane)->setString(mD84[i]); changeScaleCenter(&m9A8[i], mD5C[i]); @@ -119,7 +119,7 @@ void dMenu_Option_c::screenSet() { } for (int i = 0; i < 3; i++) { - ((J2DTextBox*)mA18[i].pane)->setFont(mD2C); + ((J2DTextBox*)mA18[i].pane)->setFont(mpFont); #if VERSION > VERSION_JPN ((J2DTextBox*)mA18[i].pane)->setString(mDAC[i]); changeScaleCenter(&mA18[i], mDAC[i]); @@ -130,7 +130,7 @@ void dMenu_Option_c::screenSet() { #if VERSION > VERSION_JPN if (i == 1) continue; #endif - ((J2DTextBox*)m8C8[i].pane)->setFont(mD2C); + ((J2DTextBox*)m8C8[i].pane)->setFont(mpFont); #if VERSION > VERSION_JPN ((J2DTextBox*)m8C8[i].pane)->setString(mDE8[i]); changeScaleRight(&m8C8[i], mDE8[i]); @@ -666,8 +666,8 @@ void dMenu_Option_c::noteSet() { msgDataProc.dataInit(); msgDataProc.setBmgData((char*)mesg); msgDataProc.setOutMessage(mD38, mD3C, mD40, mD44); - msgDataProc.setFont(mD2C); - msgDataProc.setRubyFont(mD30); + msgDataProc.setFont(mpFont); + msgDataProc.setRubyFont(mpRubyFont); msgDataProc.setCharSpace(((J2DTextBox*)m740[0].pane)->getCharSpace()); msgDataProc.setRubyCharSpace(((J2DTextBox*)m740[1].pane)->getCharSpace()); msgDataProc.setLineSpace(((J2DTextBox*)m740[0].pane)->getLineSpace()); @@ -763,16 +763,16 @@ f32 dMenu_Option_c::stringlength(fopMsgM_pane_class* r30, char* r31) { J2DTextBox::TFontSize sp18; ((J2DTextBox*)r30->pane)->getFontSize(sp18); f32 f31 = ((J2DTextBox*)r30->pane)->getCharSpace(); - f30 = sp18.mSizeX / mD2C->getCellWidth(); + f30 = sp18.mSizeX / mpFont->getCellWidth(); while (*r31 != 0) { if ((u8)*r31 == 0x1A) { r31++; r31 += (*r31 - 1); } else { int r26 = (u8)*r31++; - int r28 = mD2C->getWidth(r26); + int r28 = mpFont->getWidth(r26); if (!r27) { - f29 = f30 * (r28 + mD2C->getOffset(r26)); + f29 = f30 * (r28 + mpFont->getOffset(r26)); r27 = true; } else{ f29 += f31 + r28 * f30;