From 2dbee60cf521c41a78a05d6edd02ea49c95dbfff Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 6 Jan 2024 12:09:33 -0800 Subject: [PATCH] d_event work, build fix --- include/d/d_com_inf_game.h | 4 ++ include/d/d_event.h | 1 + include/d/d_event_data.h | 48 +++++++++++++++++- src/d/d_event.cpp | 101 ++++++++++++++++++++++++++++++------- src/d/d_event_data.cpp | 4 +- src/d/d_event_manager.cpp | 68 ++++++++++++------------- src/d/d_metronome.cpp | 20 ++++---- src/d/d_place_name.cpp | 2 +- 8 files changed, 180 insertions(+), 68 deletions(-) diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 36468c50b..eb4ee1727 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -2400,6 +2400,10 @@ inline dEvent_manager_c* dComIfGp_getPEvtManager() { return &g_dComIfG_gameInfo.play.getEvtManager(); } +inline u8 dComIfGp_event_getMode() { + return g_dComIfG_gameInfo.play.getEvent().getMode(); +} + // Note: Some of the below functions call g_dComIfG_gameInfo.play.getEvtManager(), while others use // dComIfGp_getPEvtManager(), without a clear pattern for which was chosen. diff --git a/include/d/d_event.h b/include/d/d_event.h index fc85957db..554c85b50 100644 --- a/include/d/d_event.h +++ b/include/d/d_event.h @@ -101,6 +101,7 @@ public: void reset() { onEventFlag(8); } bool runCheck() { return mMode != 0; } + u8 getMode() { return mMode; } /* 0x00 */ dEvt_order_c mOrder[8]; /* 0xC0 */ s8 mOrderCount; diff --git a/include/d/d_event_data.h b/include/d/d_event_data.h index ea33f6eca..2bec9858d 100644 --- a/include/d/d_event_data.h +++ b/include/d/d_event_data.h @@ -30,6 +30,12 @@ public: /* 0x2C */ s32 mSubstanceSize; /* 0x30 */ s32 mNextIdx; /* 0x34 */ u32 field_0x34[3]; + + char* getName() { return mName; } + s32 getNext() { return mNextIdx; } + s32 getNumber() { return mSubstanceSize; } + s32 getIndex() { return mSubstanceIdx; } + s32 getType() { return mSubstanceType; } }; // Size: 0x40 class dEvDtCut_c { @@ -38,12 +44,15 @@ public: s32 getNext() { return mNextCutIdx; } u32 getFlagId() { return mFlagIdx; } u32 getTagId() { return mTagId; } + u32 getStartFlag(int idx) { return mStartFlag[idx]; } + u32 getDataTop() { return mFirstDataIdx; } + char* getName() { return mName; } public: /* 0x00 */ char mName[32]; /* 0x20 */ u32 mTagId; /* 0x24 */ u32 mIndex; - /* 0x28 */ u32 mFlagCheck[3]; + /* 0x28 */ u32 mStartFlag[3]; /* 0x34 */ u32 mFlagIdx; /* 0x38 */ u32 mFirstDataIdx; /* 0x3C */ u32 mNextCutIdx; @@ -165,7 +174,42 @@ public: void advanceCut(dEvDtEvent_c*); bool advanceCutLocal(dEvDtStaff_c*); - dEvDtCut_c * getCutP(int idx) { return &mCutP[idx]; } + event_binary_data_header* getHeaderP() { return mHeaderP; } + dEvDtStaff_c* getStaffP(int i) { return &mStaffP[i]; } + dEvDtEvent_c* getEventP(int i) { return &mEventP[i]; } + dEvDtData_c* getDataP(int i) { return &mDataP[i]; } + dEvDtCut_c* getCutP(int i) { return &mCutP[i]; } + char* getEventName(int i) { return mEventP[i].getName(); } + int getStaffCurrentCut(int i) { return mStaffP[i].getCurrentCut(); } + dEvDtCut_c* getCutStaffCurrentCutP(int i) { return getCutP(getStaffCurrentCut(i)); } + int getStaffStartCut(int i) { return mStaffP[i].getStartCut(); } + dEvDtCut_c* getCutStaffStartCutP(int i) { return getCutP(getStaffStartCut(i)); } + int* getIDataP(int i) { return &mIDataP[i]; } + f32* getFDataP(int i) { return &mFDataP[i]; } + char* getSDataP(int i) { return &mSDataP[i]; } + u32 getEventTop() { return mHeaderP->eventTop; } + s32 getEventNum() { return mHeaderP->eventNum; } + u32 getStaffTop() { return mHeaderP->staffTop; } + s32 getStaffNum() { return mHeaderP->staffNum; } + u32 getCutTop() { return mHeaderP->cutTop; } + s32 getCutNum() { return mHeaderP->cutNum; } + u32 getDataTop() { return mHeaderP->dataTop; } + s32 getDataNum() { return mHeaderP->dataNum; } + u32 getFDataTop() { return mHeaderP->fDataTop; } + s32 getFDataNum() { return mHeaderP->fDataNum; } + u32 getIDataTop() { return mHeaderP->iDataTop; } + s32 getIDataNum() { return mHeaderP->iDataNum; } + u32 getSDataTop() { return mHeaderP->sDataTop; } + s32 getSDataNum() { return mHeaderP->sDataNum; } + + void setHeaderP(event_binary_data_header* p_header) { mHeaderP = p_header; } + void setEventP(dEvDtEvent_c* p_event) { mEventP = p_event; } + void setStaffP(dEvDtStaff_c* p_staff) { mStaffP = p_staff; } + void setCutP(dEvDtCut_c* p_cut) { mCutP = p_cut; } + void setDataP(dEvDtData_c* p_data) { mDataP = p_data; } + void setFDataP(f32* p_fdata) { mFDataP = p_fdata; } + void setIDataP(int* p_idata) { mIDataP = p_idata; } + void setSDataP(char* p_sdata) { mSDataP = p_sdata; } public: /* 0x00 */ event_binary_data_header* mHeaderP; diff --git a/src/d/d_event.cpp b/src/d/d_event.cpp index 88d3b5a9b..1c82407f8 100644 --- a/src/d/d_event.cpp +++ b/src/d/d_event.cpp @@ -18,6 +18,13 @@ enum { dEvtFlag_UNK8_e = 0x08, }; +enum { + dEvtMode_NONE_e, + dEvtMode_TALK_e, + dEvtMode_DEMO_e, + dEvtMode_COMPULSORY_e, +}; + /* 8006FE04-8006FE54 .text __ct__14dEvt_control_cFv */ dEvt_control_c::dEvt_control_c() { remove(); @@ -53,15 +60,15 @@ s32 dEvt_control_c::order(u16 eventType, u16 priority, u16 flag, u16 hindFlag, v if (mOrderCount == 0) { mFirstOrderIdx = 0; - pNewOrder->mNextOrderIdx = 0xFF; + pNewOrder->mNextOrderIdx = -1; } else { - u32 queueIdx = mFirstOrderIdx; + s32 queueIdx = mFirstOrderIdx; dEvt_order_c* pQueue = &mOrder[queueIdx]; if (pNewOrder->mPriority < pQueue->mPriority) { mFirstOrderIdx = mOrderCount; pNewOrder->mNextOrderIdx = queueIdx; } else { - while ((queueIdx = pQueue->mNextOrderIdx) < 0xFF) { + while ((queueIdx = pQueue->mNextOrderIdx) >= 0) { pQueue = &mOrder[queueIdx]; if (pNewOrder->mPriority < pQueue->mPriority) break; @@ -140,7 +147,7 @@ BOOL dEvt_control_c::talkCheck(dEvt_order_c* order) { const char* defaultEventName = "DEFAULT_TALK"; fopAc_ac_c* actor2 = order->mActor2; if (commonCheck(order, dEvtCnd_CANTALK_e, dEvtCmd_INTALK_e)) { - mMode = 1; + mMode = dEvtMode_TALK_e; if (mEventId == -1) { if (actor2 != NULL && actor2->mEvtInfo.getEventName() != NULL) { mEventId = actor2->mEvtInfo.getEventId(); @@ -189,11 +196,13 @@ BOOL dEvt_control_c::photoCheck(dEvt_order_c* order) { JUT_ASSERT(0x1b5, 0); mbInPhoto = 1; - mMode = 1; + mMode = dEvtMode_TALK_e; return TRUE; + } else if (dComIfGp_getPictureStatus() == 0) { + return FALSE; } - return dComIfGp_getPictureStatus() ? TRUE : FALSE; + return TRUE; } /* 800706D8-800707C0 .text catchCheck__14dEvt_control_cFP12dEvt_order_c */ @@ -209,7 +218,7 @@ BOOL dEvt_control_c::catchCheck(dEvt_order_c* order) { actor2->mEvtInfo.setCommand(dEvtCmd_INCATCH_e); setParam(order); mItemNo = dComIfGp_att_getCatchChgItem(); - mMode = 2; + mMode = dEvtMode_DEMO_e; if (mEventId != -1 && !dComIfGp_evmng_order(mEventId)) JUT_ASSERT(0x1e3, 0); onEventFlag(0x80); @@ -256,7 +265,7 @@ BOOL dEvt_control_c::demoCheck(dEvt_order_c* order) { if (actor2 != NULL) actor2->mEvtInfo.setCommand(dEvtCmd_INDEMO_e); - mMode = 2; + mMode = dEvtMode_DEMO_e; setParam(order); afterFlagProc(order); @@ -295,7 +304,7 @@ BOOL dEvt_control_c::potentialCheck(dEvt_order_c* order) { return FALSE; actor1->mEvtInfo.setCommand(dEvtCmd_INDEMO_e); - mMode = 2; + mMode = dEvtMode_DEMO_e; setParam(order); afterFlagProc(order); return TRUE; @@ -304,7 +313,7 @@ BOOL dEvt_control_c::potentialCheck(dEvt_order_c* order) { /* 80070B24-80070C54 .text doorCheck__14dEvt_control_cFP12dEvt_order_c */ BOOL dEvt_control_c::doorCheck(dEvt_order_c* order) { if (commonCheck(order, dEvtCnd_CANDOOR_e, dEvtCmd_INDOOR_e)) { - mMode = 2; + mMode = dEvtMode_DEMO_e; fopAc_ac_c* actor2 = convPId(mPt2); if (mEventId == -1 && actor2 != NULL && actor2->mEvtInfo.getEventId() != -1) mEventId = actor2->mEvtInfo.getEventId(); @@ -329,7 +338,7 @@ BOOL dEvt_control_c::doorCheck(dEvt_order_c* order) { BOOL dEvt_control_c::itemCheck(dEvt_order_c* order) { const char* defaultEventName = "DEFAULT_GETITEM"; if (commonCheck(order, dEvtCnd_CANGETITEM_e, dEvtCmd_INGETITEM_e)) { - mMode = 2; + mMode = dEvtMode_DEMO_e; mEventId = dComIfGp_evmng_getEventIdx(defaultEventName, 0xFF); if (!dComIfGp_evmng_order(mEventId)) JUT_ASSERT(0x2ea, 0); @@ -342,19 +351,19 @@ BOOL dEvt_control_c::itemCheck(dEvt_order_c* order) { /* 80070D1C-80070DD4 .text endProc__14dEvt_control_cFv */ BOOL dEvt_control_c::endProc() { switch (mMode) { - case 1: + case dEvtMode_TALK_e: talkEnd(); break; - case 2: + case dEvtMode_DEMO_e: demoEnd(); break; - case 3: + case dEvtMode_COMPULSORY_e: break; default: JUT_ASSERT(0x315, 0); } - mMode = 0; + mMode = dEvtMode_NONE_e; field_0xde = 0xFF; mEventInfoIdx = 0xFF; mTalkButton = 0; @@ -405,12 +414,68 @@ BOOL dEvt_control_c::changeProc() { /* 80070EA8-80071020 .text checkStart__14dEvt_control_cFv */ BOOL dEvt_control_c::checkStart() { - /* Nonmatching */ + if (mOrderCount != 0) { + s8 idx = mFirstOrderIdx; + mOrderCount = 0; + + while (true) { + dEvt_order_c* pOrder = &mOrder[idx]; + idx = pOrder->mNextOrderIdx; + + switch (pOrder->mEventType) { + case dEvtType_TALK_e: + if (talkCheck(pOrder)) + return TRUE; + break; + case dEvtType_OTHER_e: + if (demoCheck(pOrder)) + return TRUE; + break; + case dEvtType_DOOR_e: + case dEvtType_TREASURE_e: + if (doorCheck(pOrder)) + return TRUE; + break; + case dEvtType_COMPULSORY_e: + mMode = dEvtMode_COMPULSORY_e; + setParam(pOrder); + return TRUE; + case dEvtType_POTENTIAL_e: + return potentialCheck(pOrder); + case dEvtType_ITEM_e: + return itemCheck(pOrder); + case dEvtType_SHOWITEM_X_e: + case dEvtType_SHOWITEM_Y_e: + case dEvtType_SHOWITEM_Z_e: + if (talkXyCheck(pOrder)) + return TRUE; + break; + case dEvtType_PHOTO_e: + if (photoCheck(pOrder)) + return TRUE; + break; + case dEvtType_CATCH_e: + if (catchCheck(pOrder)) + return TRUE; + break; + case dEvtType_CHANGE_e: + break; + default: + JUT_ASSERT(0x39c, 0); + break; + } + + if (idx < 0) + break; + } + } + + return FALSE; } /* 80071020-80071048 .text soundProc__14dEvt_control_cFv */ BOOL dEvt_control_c::soundProc() { - if (mEventEndSound != 0 && mMode != 2) + if (mEventEndSound != 0 && mMode != dEvtMode_DEMO_e) mEventEndSound = 0; return TRUE; } @@ -485,7 +550,7 @@ s32 dEvt_control_c::moveApproval(void* actor) { return dEvtMove_MOVE_e; if (fopAcM_checkStatus(i_ac, fopAcStts_UNK800_e)) return dEvtMove_MOVE_e; - if ((g_dComIfG_gameInfo.play.getEvent().mMode == 3 || g_dComIfG_gameInfo.play.getEvent().mMode == 1) && fopAcM_checkStatus(i_ac, fopAcStts_BOSS_e)) + if ((dComIfGp_event_getMode() == dEvtMode_COMPULSORY_e || dComIfGp_event_getMode() == dEvtMode_TALK_e) && fopAcM_checkStatus(i_ac, fopAcStts_BOSS_e)) return dEvtMove_NOMOVE_e; if (chkEventFlag(0x80) && fopAcM_checkStatus(i_ac, fopAcStts_BOSS_e)) return dEvtMove_NOMOVE_e; diff --git a/src/d/d_event_data.cpp b/src/d/d_event_data.cpp index 5ae0c3812..4d2fc7dbc 100644 --- a/src/d/d_event_data.cpp +++ b/src/d/d_event_data.cpp @@ -834,8 +834,8 @@ void dEvDtStaff_c::specialProcTimekeeper() { /* 800735BC-8007364C .text startCheck__10dEvDtCut_cFv */ s32 dEvDtCut_c::startCheck() { - for (s32 i = 0; i < (s32)ARRAY_SIZE(mFlagCheck); i++) { - int flag_id = mFlagCheck[i]; + for (s32 i = 0; i < (s32)ARRAY_SIZE(mStartFlag); i++) { + int flag_id = getStartFlag(i); if (flag_id == -1) { return i == 0 ? -1 : 1; } diff --git a/src/d/d_event_manager.cpp b/src/d/d_event_manager.cpp index c27e6219c..8902005e5 100644 --- a/src/d/d_event_manager.cpp +++ b/src/d/d_event_manager.cpp @@ -100,23 +100,23 @@ enum { /* 80073A4C-80073BC0 .text getSubstance__16dEvent_manager_cFP11dEvDtData_ci */ void* dEvent_manager_c::getSubstance(dEvDtData_c* data, int type) { /* Nonmatching */ - if (data->mSubstanceIdx < 0 || data->mSubstanceSize <= 0) { + if (data->getIndex() < 0 || data->getNumber() <= 0) { JUT_ASSERT(0x169, 0); return NULL; } - if (type != -1 && type != data->mSubstanceType) { + if (type != -1 && type != data->getType()) { JUT_ASSERT(0x16e, 0); } - switch (data->mSubstanceType) { + switch (data->getType()) { case dEvtSub_FLOAT_e: case dEvtSub_XYZ_e: - return &mList.mFDataP[data->mSubstanceIdx]; + return mList.getFDataP(data->getIndex()); case dEvtSub_INT_e: - return &mList.mIDataP[data->mSubstanceIdx]; + return mList.getIDataP(data->getIndex()); case dEvtSub_STR_e: - return &mList.mSDataP[data->mSubstanceIdx]; + return mList.getSDataP(data->getIndex()); default: JUT_ASSERT(0x182, 0); return NULL; @@ -128,21 +128,21 @@ void dEvent_manager_c::setData(const char* data) { if (data == NULL) return; - mList.mHeaderP = (event_binary_data_header*)data; - if (mList.mHeaderP->eventNum > 0) - mList.mEventP = (dEvDtEvent_c*)(data + mList.mHeaderP->eventTop); - if (mList.mHeaderP->staffNum > 0) - mList.mStaffP = (dEvDtStaff_c*)(data + mList.mHeaderP->staffTop); - if (mList.mHeaderP->cutNum > 0) - mList.mCutP = (dEvDtCut_c*)(data + mList.mHeaderP->cutTop); - if (mList.mHeaderP->dataNum > 0) - mList.mDataP = (dEvDtData_c*)(data + mList.mHeaderP->dataTop); - if (mList.mHeaderP->fDataNum > 0) - mList.mFDataP = (f32*)(data + mList.mHeaderP->fDataTop); - if (mList.mHeaderP->iDataNum > 0) - mList.mIDataP = (int*)(data + mList.mHeaderP->iDataTop); - if (mList.mHeaderP->sDataNum > 0) - mList.mSDataP = (char*)(data + mList.mHeaderP->sDataTop); + mList.setHeaderP((event_binary_data_header*)data); + if (mList.getEventNum() > 0) + mList.setEventP((dEvDtEvent_c*)(data + mList.getEventTop())); + if (mList.getStaffNum() > 0) + mList.setStaffP((dEvDtStaff_c*)(data + mList.getStaffTop())); + if (mList.getCutNum() > 0) + mList.setCutP((dEvDtCut_c*)(data + mList.getCutTop())); + if (mList.getDataNum() > 0) + mList.setDataP((dEvDtData_c*)(data + mList.getDataTop())); + if (mList.getFDataNum() > 0) + mList.setFDataP((f32*)(data + mList.getFDataTop())); + if (mList.getIDataNum() > 0) + mList.setIDataP((int*)(data + mList.getIDataTop())); + if (mList.getSDataNum() > 0) + mList.setSDataP((char*)(data + mList.getSDataTop())); } /* 80073C94-80073D10 .text create__16dEvent_manager_cFv */ @@ -235,7 +235,7 @@ void dEvent_manager_c::startProc(dEvDtEvent_c* event) { dEv_seach_prm prm(NULL, 0, 0); for (s32 i = 0; i < event->mNStaff; i++) { s32 staffIdx = event->mStaffIdx[i]; - dEvDtStaff_c* staff = &mList.mStaffP[staffIdx]; + dEvDtStaff_c* staff = mList.getStaffP(staffIdx); if (staff->mStaffType == dEvDtStaff_c::NORMAL_e) { fopAc_ac_c* actor = specialCast(staff->mName, 1); if (actor == NULL) { @@ -395,11 +395,10 @@ int dEvent_manager_c::getMyStaffId(const char*, fopAc_ac_c*, int) { /* 80074718-8007473C .text getIsAddvance__16dEvent_manager_cFi */ BOOL dEvent_manager_c::getIsAddvance(int staffIdx) { - /* Nonmatching */ if (staffIdx == -1) return FALSE; - return mList.mStaffP[staffIdx].mAdvance; + return mList.getStaffP(staffIdx)->mAdvance; } /* 80074824-80074964 .text getMyActIdx__16dEvent_manager_cFiPCPCciii */ @@ -424,7 +423,7 @@ char* dEvent_manager_c::getMyNowCutName(int staffIdx) { if (staffIdx == -1) return NULL; - return mList.getCutP(mList.mStaffP[staffIdx].getCurrentCut())->mName; + return mList.getCutStaffCurrentCutP(staffIdx)->getName(); } /* 800749D0-80074AA0 .text getMyDataP__16dEvent_manager_cFiPCci */ @@ -434,16 +433,16 @@ dEvDtData_c* dEvent_manager_c::getMyDataP(int staffIdx, const char* name, int mo dEvDtCut_c* cut; if (mode != 0) - cut = mList.getCutP(mList.mStaffP[staffIdx].getStartCut()); + cut = mList.getCutStaffStartCutP(staffIdx); else - cut = mList.getCutP(mList.mStaffP[staffIdx].getCurrentCut()); + cut = mList.getCutStaffCurrentCutP(staffIdx); - s32 dataIdx = cut->mFirstDataIdx; + s32 dataIdx = cut->getDataTop(); while (dataIdx != -1) { - dEvDtData_c* data = &mList.mDataP[dataIdx]; - if (strcmp(name, data->mName) == 0) + dEvDtData_c* data = mList.getDataP(dataIdx); + if (strcmp(name, data->getName()) == 0) return data; - dataIdx = data->mNextIdx; + dataIdx = data->getNext(); } return NULL; @@ -471,7 +470,7 @@ void dEvent_manager_c::cutEnd(int staffIdx) { if (staffIdx == -1) return; - mFlag.flagSet(mList.getCutP(mList.mStaffP[staffIdx].getCurrentCut())->getFlagId()); + getFlags().flagSet(mList.getCutStaffCurrentCutP(staffIdx)->getFlagId()); } /* 80074B7C-80074BB0 .text getEventPrio__16dEvent_manager_cFs */ @@ -533,14 +532,13 @@ fopAc_ac_c* dEvent_manager_c::specialCast(const char*, int) { /* 800750FC-80075288 .text setPrmStaff__16dEvent_manager_cFPvi */ void dEvent_manager_c::setPrmStaff(void* work, int staffIdx) { - /* Nonmatching */ dEv_seach_prm* prm = (dEv_seach_prm*)work; - dEvDtStaff_c* staff_data = &mList.mStaffP[staffIdx]; + dEvDtStaff_c* staff_data = mList.getStaffP(staffIdx); JUT_ASSERT(0x66b, staff_data); JUT_ASSERT(0x66c, prm); prm->mName = staff_data->getName(); - dEvDtData_c* dev_prm_data = getMyDataP(staffIdx, "DEV_PRM_MASK", 0); + dEvDtData_c* dev_prm_data = getMyDataP(staffIdx, "DEV_PRM_MASK", 1); if (dev_prm_data == NULL) { prm->mMask = 0; prm->mValue = 0; diff --git a/src/d/d_metronome.cpp b/src/d/d_metronome.cpp index 2dac1cfbe..6322b2132 100644 --- a/src/d/d_metronome.cpp +++ b/src/d/d_metronome.cpp @@ -148,11 +148,11 @@ void dMetronome_c::metronomeMove() { for (s32 i = 0; i < 21; i++) { if (i == timer) { if (i == 10) { - ((J2DPicture *)pane_timing[i].scrn)->setBlack(JUtility::TColor(0xFF505000)); - ((J2DPicture *)pane_timing[i].scrn)->setWhite(JUtility::TColor(0xFF5050FF)); + ((J2DPicture *)pane_timing[i].pane)->setBlack(JUtility::TColor(0xFF505000)); + ((J2DPicture *)pane_timing[i].pane)->setWhite(JUtility::TColor(0xFF5050FF)); } else { - ((J2DPicture *)pane_timing[i].scrn)->setBlack(JUtility::TColor(0xFFB90000)); - ((J2DPicture *)pane_timing[i].scrn)->setWhite(JUtility::TColor(0xFFB900FF)); + ((J2DPicture *)pane_timing[i].pane)->setBlack(JUtility::TColor(0xFFB90000)); + ((J2DPicture *)pane_timing[i].pane)->setWhite(JUtility::TColor(0xFFB900FF)); } } else { if (pane_timing[i].mUserArea != 0 && g_mnHIO.mTimingTrail) { @@ -181,11 +181,11 @@ void dMetronome_c::metronomeMove() { white.a = 0xFF; } - ((J2DPicture *)pane_timing[i].scrn)->setBlack(black); - ((J2DPicture *)pane_timing[i].scrn)->setWhite(white); + ((J2DPicture *)pane_timing[i].pane)->setBlack(black); + ((J2DPicture *)pane_timing[i].pane)->setWhite(white); } else { - ((J2DPicture *)pane_timing[i].scrn)->setBlack(JUtility::TColor(0x00000000)); - ((J2DPicture *)pane_timing[i].scrn)->setWhite(JUtility::TColor(0xFFFFFFFF)); + ((J2DPicture *)pane_timing[i].pane)->setBlack(JUtility::TColor(0x00000000)); + ((J2DPicture *)pane_timing[i].pane)->setWhite(JUtility::TColor(0xFFFFFFFF)); } } } @@ -306,7 +306,7 @@ void dMetronome_c::melodyGuideShow(s32 note, s16 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 = pane_i11[no].scrn; + J2DScreen* scrn = (J2DScreen*)pane_i11[no].pane; scrn->mBasePosition.x = centerX; scrn->mBasePosition.y = centerY; scrn->mRotationAxis = ROTATE_Z; @@ -452,7 +452,7 @@ void dMetronome_c::melodyFlash() { } for (s32 i = 0; i < mMelodyNum; i++) { - pane_pk[i].mAlphaOrig = g_mnHIO.mAlphaOrig; + pane_pk[i].mInitAlpha = g_mnHIO.mAlphaOrig; fopMsgM_setNowAlpha(&pane_pk[i], alpha); } } diff --git a/src/d/d_place_name.cpp b/src/d/d_place_name.cpp index 84d3a6b90..74fdff0d9 100644 --- a/src/d/d_place_name.cpp +++ b/src/d/d_place_name.cpp @@ -188,7 +188,7 @@ s32 dPn_c::_create() { #else DCStoreRangeNoSync(mpTIMG, 0x3c00); #endif - ((J2DPicture*)dPn_scrn->pane.scrn)->changeTexture(mpTIMG, 0); + ((J2DPicture*)dPn_scrn->pane.pane)->changeTexture(mpTIMG, 0); mState = 3; } mDoExt_setCurrentHeap(oldHeap);