summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/JSystem/J2DGraph/J2DPane.cpp8
-rw-r--r--src/JSystem/JKernel/JKRExpHeap.cpp17
-rw-r--r--src/JSystem/JKernel/JKRStdHeap.cpp6
-rw-r--r--src/d/actor/d_a_lstair.cpp73
-rw-r--r--src/d/d_attention.cpp2
-rw-r--r--src/d/d_file_error.cpp28
-rw-r--r--src/d/d_menu_collect.cpp44
-rw-r--r--src/d/d_menu_dmap.cpp5
-rw-r--r--src/d/d_menu_fmap.cpp263
-rw-r--r--src/d/d_menu_fmap2.cpp110
-rw-r--r--src/d/d_meter.cpp56
-rw-r--r--src/d/d_metronome.cpp8
-rw-r--r--src/d/d_msg.cpp74
-rw-r--r--src/d/d_picture_box.cpp16
-rw-r--r--src/d/d_resorce.cpp2
-rw-r--r--src/d/d_s_open_sub.cpp2
-rw-r--r--src/d/d_scope.cpp16
-rw-r--r--src/d/d_wind_arrow.cpp2
-rw-r--r--src/f_op/f_op_actor_mng.cpp25
-rw-r--r--src/f_op/f_op_msg_mng.cpp8
-rw-r--r--src/f_pc/f_pc_node_req.cpp20
-rw-r--r--src/f_pc/f_pc_profile.cpp3
-rw-r--r--src/m_Do/m_Do_main.cpp4
23 files changed, 420 insertions, 372 deletions
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, &current.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((&currentNode->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;