diff options
| author | Elijah Thomas <42302100+elijah-thomas774@users.noreply.github.com> | 2025-11-23 02:29:49 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 02:29:49 -0500 |
| commit | 57557d11285aeff9ffd86c6e57fdc09b62b391d1 (patch) | |
| tree | 9381837b90d062335cf1fd9a87c86822c568abd8 /src/d | |
| parent | 3492eac0b23272356b07268ff547494941158e89 (diff) | |
| parent | 167ee588e064a771e9b581f2c20090ebe8c3c27a (diff) | |
Merge pull request #272 from elijah-thomas774/mAng
change mAng to template operators
Diffstat (limited to 'src/d')
| -rw-r--r-- | src/d/a/d_a_insect.cpp | 2 | ||||
| -rw-r--r-- | src/d/a/obj/d_a_obj_fairy.cpp | 10 | ||||
| -rw-r--r-- | src/d/d_cs_game.cpp | 6 | ||||
| -rw-r--r-- | src/d/d_pad.cpp | 16 | ||||
| -rw-r--r-- | src/d/d_player_mdl.cpp | 2 | ||||
| -rw-r--r-- | src/d/lyt/d_lyt_map_markers.cpp | 14 | ||||
| -rw-r--r-- | src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp | 38 |
7 files changed, 46 insertions, 42 deletions
diff --git a/src/d/a/d_a_insect.cpp b/src/d/a/d_a_insect.cpp index 0360de38..93511653 100644 --- a/src/d/a/d_a_insect.cpp +++ b/src/d/a/d_a_insect.cpp @@ -219,7 +219,7 @@ bool dAcOInsect_c::fn_8018FAD0() { void dAcOInsect_c::fn_8018FDF0(const mVec3_c &point) { mMtx_c mtx; field_0x360 = point; - mtx.setAxisRotation(field_0x360, mRotation.y.radian2()); + mtx.setAxisRotation(field_0x360, mRotation.y.radian_c()); // TODO f32 a_comparision = 0.99f; } diff --git a/src/d/a/obj/d_a_obj_fairy.cpp b/src/d/a/obj/d_a_obj_fairy.cpp index 0cdb8c84..22824411 100644 --- a/src/d/a/obj/d_a_obj_fairy.cpp +++ b/src/d/a/obj/d_a_obj_fairy.cpp @@ -130,7 +130,7 @@ int dAcOFairy_c::create() { if (isWithinPlayerRadius(200.0f) && getXZAngleToPlayer().absDiff(mAng::fromVec(mVelocity)) < 0x2000) { mVelocity.rotY(0x8000); - mAngle.y += 0x8000; + mAngle.y += mAng(0x8000); } mModel.setAnm("PutFairy_fly", m3d::PLAY_MODE_4, 0.0f); @@ -210,9 +210,7 @@ int dAcOFairy_c::actorExecute() { } if (!field_0xB89) { - mEffects[0].holdEffect( - PARTICLE_RESOURCE_ID_MAPPING_331_, mPosition, nullptr, nullptr, nullptr, nullptr - ); + mEffects[0].holdEffect(PARTICLE_RESOURCE_ID_MAPPING_331_, mPosition, nullptr, nullptr, nullptr, nullptr); if (!isCuring() && !dAcPy_c::GetLink()->checkActionFlagsCont(0x400000)) { holdSound(SE_O_FAIRY_FLY_LEV); } @@ -237,9 +235,7 @@ int dAcOFairy_c::actorExecute() { } if (isCuring() && !field_0xB89) { - mEffects[1].holdEffect( - PARTICLE_RESOURCE_ID_MAPPING_327_, mPosition, nullptr, nullptr, nullptr, nullptr - ); + mEffects[1].holdEffect(PARTICLE_RESOURCE_ID_MAPPING_327_, mPosition, nullptr, nullptr, nullptr, nullptr); } if (!mStateMgr.isState(StateID_CatchDemo) && !isCuring()) { diff --git a/src/d/d_cs_game.cpp b/src/d/d_cs_game.cpp index 77bf266a..38d06764 100644 --- a/src/d/d_cs_game.cpp +++ b/src/d/d_cs_game.cpp @@ -770,9 +770,7 @@ void dCsGame_c::lytItemCursor_c::lytDowsingCsr_c::updateEffects() { mVec2_c csPos = dPad::getDpdPosScreen(); mVec3_c effectPos(csPos.x, csPos.y, 0.0f); mVec3_c effectScale(sHio.field_0x3C, sHio.field_0x3C, 1.0f); - mEffects1.holdUIEffect( - PARTICLE_RESOURCE_ID_MAPPING_725_, mVec3_c::Zero, nullptr, nullptr, nullptr, nullptr - ); + mEffects1.holdUIEffect(PARTICLE_RESOURCE_ID_MAPPING_725_, mVec3_c::Zero, nullptr, nullptr, nullptr, nullptr); mEffects2.holdUIEffect( PARTICLE_RESOURCE_ID_MAPPING_726_, effectPos, &mAng3_c::Zero, &effectScale, nullptr, nullptr ); @@ -813,7 +811,7 @@ void dCsGame_c::lytItemCursor_c::lytDowsingCsr_c::execute() { mpDowsingPane->SetScale(mVec2_c(scale, scale)); mVec3_c rot = mpRingAllPane->GetRotate(); - rot.z = -mRotZ.degree2(); + rot.z = -mRotZ.degree_c(); mpRingAllPane->SetRotate(rot); mStateMgr.executeState(); diff --git a/src/d/d_pad.cpp b/src/d/d_pad.cpp index 3b5b8791..d20ec8f5 100644 --- a/src/d/d_pad.cpp +++ b/src/d/d_pad.cpp @@ -179,7 +179,7 @@ void beginPad_BR() { mVec3_c baseY; mVec3_c baseZ; KPADVec kpadvec; - m.XrotS(mAng::deg2short(-30.f)); + m.XrotS(mAng::d2s(-30.f)); baseZ.z = m.m[2][2]; baseZ.y = m.m[1][2]; baseZ.x = m.m[0][2]; @@ -247,11 +247,19 @@ void beginPad_BR() { ex.mFSStick.x = mPad::getCore(0)->getFreeStickX(); ex.mFSStick.y = mPad::getCore(0)->getFreeStickY(); ex.mFSStickDistance = ex.mFSStick.length(); - ex.mFSStickAngle = -ex.mFSStick.ang(); + ex.mFSStickAngle = (s32)-ex.mFSStick.ang(); ex.calcFSStickDirMask(); - - bool isMpls = mPad::isMpls(0) || mPad::isMplsPtFS(0); + // I think compiler flags or some inlining optimization ruins this. + // This needs to be done separate from EGG as it will break other code + // Changing TBuffer::checkRange() as below fixes it. + // From: + // return 0 <= i && i < mSize; + // To: + // bool low = 0 <= i; + // bool high = i < mSize; + // return low && high; + bool isMpls = mPad::isMpls(0) || mPad::isMplsPtFS(0) ? true : false; if (isMpls) { ex.mMPLSVelocity.copyFrom(&mPad::getCore(0)->getCoreStatus()->mpls_rot); ex.mMPLS.mX.copyFrom(&mPad::getCore(0)->getCoreStatus()->mpls_basis_x); diff --git a/src/d/d_player_mdl.cpp b/src/d/d_player_mdl.cpp index 06ebc427..78e1e1bb 100644 --- a/src/d/d_player_mdl.cpp +++ b/src/d/d_player_mdl.cpp @@ -1177,7 +1177,7 @@ void daPlayerModelBase_c::adjustMainModelChrAnm(PlayerMainModelNode_e nodeId, nw if (nodeId == PLAYER_MAIN_NODE_HAND_R) { static const mVec3_c v1(1.0f, 1.0f, 0.0f); mMtx_c rotMtx; - rotMtx.setAxisRotation(v1, mRightHandRotation.radian2()); + rotMtx.setAxisRotation(v1, mRightHandRotation.radian_c()); mtx += rotMtx; } } diff --git a/src/d/lyt/d_lyt_map_markers.cpp b/src/d/lyt/d_lyt_map_markers.cpp index ab0ab0b0..d07d235a 100644 --- a/src/d/lyt/d_lyt_map_markers.cpp +++ b/src/d/lyt/d_lyt_map_markers.cpp @@ -897,9 +897,9 @@ void dLytMapIcon01_c::draw() { mVec3_c rotate(0.0f, 0.0f, 0.0f); if (dLytMapGlobal_c::GetInstance()->getField_0x55() != 0) { dAcPy_c *link = getLinkPtr(); - rotate.z = mAng(link->mRotation.y + link->vt_0x19C() + -mapRot).degree2(); + rotate.z = mAng(link->mRotation.y + link->vt_0x19C() + -mapRot).degree_c(); } else { - rotate.z = mAng(field_0x0D3A + -mapRot).degree2(); + rotate.z = mAng(field_0x0D3A + -mapRot).degree_c(); } pane->SetRotate(rotate); pane = pane->GetParent(); @@ -907,7 +907,7 @@ void dLytMapIcon01_c::draw() { } case MAP_ICON_01_PANE_DOOR_000: case MAP_ICON_01_PANE_START_000: { - mVec3_c rotate(0.0f, 0.0f, mAng(-mapRot + commandRot).degree2()); + mVec3_c rotate(0.0f, 0.0f, mAng(-mapRot + commandRot).degree_c()); pane->SetRotate(rotate); pane = mpPanes[paneIdx]->GetParent(); break; @@ -920,7 +920,7 @@ void dLytMapIcon01_c::draw() { case MAP_ICON_01_PANE_UTA_000: case MAP_ICON_01_PANE_MUSI_000: case MAP_ICON_01_PANE_SKYLOFT_000: { - mVec3_c rotate(0.0f, 0.0f, (-mapRot).degree2()); + mVec3_c rotate(0.0f, 0.0f, (-mapRot).degree_c()); pane->SetRotate(rotate); pane = mpPanes[paneIdx]->GetParent(); break; @@ -953,7 +953,7 @@ void dLytMapIcon01_c::draw() { } else if (dScGame_c::isCurrentStage("F023")) { setCloud(2, pane); } - mVec3_c rotate(0.0f, 0.0f, (-mapRot).degree2()); + mVec3_c rotate(0.0f, 0.0f, (-mapRot).degree_c()); pane->SetRotate(rotate); pane = mpPanes[paneIdx]->GetParent(); } @@ -1054,7 +1054,7 @@ static const char *sMapPrefix = "MAP_"; void dLytMapIcon01_c::resetDrawCommands() { for (int i = 0; i < (int)ARRAY_LENGTH(mCommands); i++) { mCommands[i].position.set(0.0f, 0.0f); - mCommands[i].rotation.setF(0.0f); + mCommands[i].rotation = 0.0f; mCommands[i].paneIdx = MAP_ICON_01_NUM_PANES; mCommands[i].passIdx = 35; field_0x0D4B[i] = ARRAY_LENGTH(mCommands); @@ -1732,7 +1732,7 @@ void dLytMapIcon00_c::draw() { void dLytMapIcon00_c::resetDrawCommands() { for (int i = 0; i < (int)ARRAY_LENGTH(mCommands); i++) { mCommands[i].position.set(0.0f, 0.0f); - mCommands[i].rotation.setF(0.0f); + mCommands[i].rotation = 0.0f; mCommands[i].paneIdx = 39; mCommands[i].passIdx = 35; field_0x0F20[i] = ARRAY_LENGTH(mCommands); diff --git a/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp b/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp index 0dc84e66..fdc7155e 100644 --- a/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp +++ b/src/d/lyt/msg_window/d_lyt_msg_window_select_btn.cpp @@ -64,8 +64,8 @@ void SelectBtnHelper::remove() { } void SelectBtnHelper::resetCursor() { - mAngX = mAngXCenter = mAng::ang2deg_c(dPad::ex_c::getInstance()->mMPLS.getHorizontalAngle()); - mAngY = mAngYCenter = mAng::ang2deg_c(dPad::ex_c::getInstance()->mMPLS.getVerticalAngle()); + mAngX = mAngXCenter = mAng::s2d_c(dPad::ex_c::getInstance()->mMPLS.getHorizontalAngle()); + mAngY = mAngYCenter = mAng::s2d_c(dPad::ex_c::getInstance()->mMPLS.getVerticalAngle()); } u8 SelectBtnHelper::execute() { @@ -111,8 +111,8 @@ bool SelectBtnHelper::handleCursorInput() { return true; } - mAngX = mAng::ang2deg_c(dPad::ex_c::getInstance()->mMPLS.getHorizontalAngle()); - mAngY = mAng::ang2deg_c(dPad::ex_c::getInstance()->mMPLS.getVerticalAngle()); + mAngX = mAng::s2d_c(dPad::ex_c::getInstance()->mMPLS.getHorizontalAngle()); + mAngY = mAng::s2d_c(dPad::ex_c::getInstance()->mMPLS.getVerticalAngle()); mVec2_c screenPos = dPad::getDpdPosScreen(); if (mCursorSelectTimer > 0) { @@ -133,8 +133,8 @@ bool SelectBtnHelper::handleCursorInput() { mPad::getCore()->startPatternRumble("**-*----", 0, false); } fn_8011E110(screenPos); - // TODO additional stack stores field_0x2C = dPad::getDpdPosScreen(); + screenPos = field_0x2C; mAngXCenter = mAngX; mAngYCenter = mAngY; } @@ -162,19 +162,22 @@ bool SelectBtnHelper::handleCursorInput() { if (selected != -1) { nw4r::math::MTX34 mtx0 = getRootPane()->GetGlobalMtx(); - mVec2_c pos0 = mVec2_c(mtx0._03, mtx0._13); + mVec2_c pos0(mtx0._03, mtx0._13); + nw4r::math::MTX34 mtxi = getPosPane(selected)->GetGlobalMtx(); - mVec2_c posi = mVec2_c(mtxi._03, mtxi._13); + mVec2_c posi(mtxi._03, mtxi._13); + mVec2_c d1 = posi - pos0; - s16 ang = d1.ang(); + mAng ang = cM::atan2s(d1.y, d1.x); + + v.x *= dLyt_HIO_c::getInstance()->getField0x770(); + v.y *= dLyt_HIO_c::getInstance()->getField0x774(); + + mVec2_c d2 = posi + v - pos0; - mVec2_c adj; - adj.x = v.x * dLyt_HIO_c::getInstance()->getField0x770(); - adj.y = v.y * dLyt_HIO_c::getInstance()->getField0x774(); - mVec2_c d2 = posi + adj - pos0; - s16 ang2 = d2.ang(); + mAng ang2 = cM::atan2s(d2.y, d2.x); - angle = mAng::ang2deg_c(ang2) - mAng::ang2deg_c(ang); + angle = ang2.degree_c() - ang.degree_c(); length = d2.length() / d1.length(); } if (length > 1.0f) { @@ -338,8 +341,7 @@ bool SelectBtnHelper::handleButtonInput() { #undef IS if (btn == -1) { - // TODO - btn = field_0x4C != -1 ? field_0x4C : 0; + btn = field_0x4C != -1 ? (s8)field_0x4C : (s8)0; } } @@ -417,8 +419,8 @@ bool SelectBtnHelper::hasNewFSStickButtonSelect() const { break; case MODE_3_UP: if (((TRIG(UP) || TRIG(UP_RIGHT) || TRIG(UP_LEFT)) && mSelectedBtnIdx == 0) || - ((TRIG(DOWN) || TRIG(DOWN_RIGHT) || TRIG(DOWN_LEFT)) && (mSelectedBtnIdx == 1 || mSelectedBtnIdx == 2) - ) || + ((TRIG(DOWN) || TRIG(DOWN_RIGHT) || TRIG(DOWN_LEFT)) && + (mSelectedBtnIdx == 1 || mSelectedBtnIdx == 2)) || ((TRIG(RIGHT) || TRIG(UP_RIGHT) || TRIG(DOWN_RIGHT)) && mSelectedBtnIdx == 1) || ((TRIG(LEFT) || TRIG(UP_LEFT) || TRIG(DOWN_LEFT)) && mSelectedBtnIdx == 2)) { return false; |
