diff options
| author | robojumper <robojumper@gmail.com> | 2026-05-25 01:31:59 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2026-05-25 01:31:59 +0200 |
| commit | 8506fe90a9f3cd5b4624d9e20b54ded4dbf219b7 (patch) | |
| tree | 6dcc79ef83fab4aead37598ee7fe91258321c099 /src | |
| parent | 479fbbddb4cdf423301bf9c44c96730816aadcc2 (diff) | |
Moar fixes
Diffstat (limited to 'src')
| -rw-r--r-- | src/d/a/d_a_item.cpp | 5 | ||||
| -rw-r--r-- | src/d/a/obj/d_a_obj_arrow.cpp | 11 | ||||
| -rw-r--r-- | src/d/col/c/c_cc_d.cpp | 8 |
3 files changed, 10 insertions, 14 deletions
diff --git a/src/d/a/d_a_item.cpp b/src/d/a/d_a_item.cpp index 47cfabc2..1452dd69 100644 --- a/src/d/a/d_a_item.cpp +++ b/src/d/a/d_a_item.cpp @@ -10,7 +10,6 @@ #include "d/col/bg/d_bg_s.h" #include "d/col/cc/d_cc_d.h" #include "d/col/cc/d_cc_s.h" -#include "d/d_angle.h" #include "d/d_camera.h" #include "d/d_linkage.h" #include "d/d_player.h" @@ -2038,7 +2037,7 @@ void dAcItem_c::executeState_GetDemo() { // TODO close but an extsh is missing // Same pattern as in rotateTowardsCamera mAng3_c rot; - setRotXYVec(rot, diff); + rot.set(-diff.atan2sY_XZ(), diff.atan2sX_Z(), mAng(0)); u32 alpha = 0xFF; if (dScGame_c::currentSpawnInfo.getTrial() == SpawnInfo::TRIAL) { alpha = 0x80; @@ -2584,7 +2583,7 @@ void dAcItem_c::rotateTowardsCamera() { mVec3_c diff = cam->getPosition() - mPosition; // TODO close but an extsh is missing // Same pattern as in executeState_GetDemo - setRotXYVec(mRotation, diff); + mRotation.set(-diff.atan2sY_XZ(), diff.atan2sX_Z(), mAng(0)); } void dAcItem_c::rotateFixedBirdStatuette() { diff --git a/src/d/a/obj/d_a_obj_arrow.cpp b/src/d/a/obj/d_a_obj_arrow.cpp index 0ac3b1f4..41c919b0 100644 --- a/src/d/a/obj/d_a_obj_arrow.cpp +++ b/src/d/a/obj/d_a_obj_arrow.cpp @@ -15,7 +15,6 @@ #include "d/col/c/c_cc_d.h" #include "d/col/c/c_m3d_g_pla.h" #include "d/col/cc/d_cc_s.h" -#include "d/d_angle.h" #include "d/d_jnt_col.h" #include "d/d_light_env.h" #include "d/d_linkage.h" @@ -243,7 +242,7 @@ void dAcArrow_c::fn_8025E160() { if (isSlingshotProjectile()) { field_0x6A0 = 0.0f; if (mArrowType != 17) { - setRotXY(mAngle, -link->getField_0x1268(), link->getRotation().y + link->getField_0x126A()); + mAngle.set(mAng(-link->getField_0x1268()), mAng(link->getRotation().y + link->getField_0x126A()), mAng(0)); } else { mAngle.y = mRotation.y; mAngle.x = -mRotation.x; @@ -290,7 +289,7 @@ void dAcArrow_c::fn_8025E160() { tmp2.rotY(mAngle.y); mMtx_c mtx; - mtx.setAxisRotation(tmp, i * mAng::s2r_c(0x2000) + mAng::d2r_c(cM::rndFX(2.5f))); + mtx.setAxisRotation(tmp, i * mAng::s2r_c(0x2000) + mAng::d2r_c(cM::rndFX(12.0f))); MTXMultVecSR(mtx, tmp2, tmp2); ang.x = tmp2.atan2sY_XZ(); ang.y = tmp2.atan2sX_Z(); @@ -488,8 +487,7 @@ void dAcArrow_c::executeState_Move() { sArrowLinChk.Set(&mOldPosition, &next, this); bool isCross = dBgS::GetInstance()->LineCross(&sArrowLinChk); - // TODO the constness here is probably a bit messed up - const cCcD_Obj *obj = nullptr; + cCcD_Obj *obj = nullptr; s32 flags = -1; if (mCcCps.ChkTgHit()) { obj = &mCcCps; @@ -504,8 +502,7 @@ void dAcArrow_c::executeState_Move() { mPosition = obj->GetTgHitPos(); const mVec3_c &hitDir = obj->GetTgAtHitDir(); if (hitDir.squareMagXZ() < 1.0f) { - // TODO constness - mAngle.y = cLib::targetAngleY(mPosition, const_cast<cCcD_Obj *>(obj)->GetTgActor()->mPosition); + mAngle.y = cLib::targetAngleY(mPosition, obj->GetTgActor()->mPosition); } else { mAngle.y = hitDir.atan2snX_nZ(); } diff --git a/src/d/col/c/c_cc_d.cpp b/src/d/col/c/c_cc_d.cpp index bdabbceb..e54f258e 100644 --- a/src/d/col/c/c_cc_d.cpp +++ b/src/d/col/c/c_cc_d.cpp @@ -355,11 +355,11 @@ void cCcD_Obj::ClrCoHit() { mCo.ClrEffCounter(); } -const mVec3_c &cCcD_Obj::GetAtHitPos() const { +mVec3_c &cCcD_Obj::GetAtHitPos() { return mAt.mHitPos; } -mVec3_c &cCcD_Obj::GetAtHitPos() { +const mVec3_c &cCcD_Obj::GetAtHitPos() const { return mAt.mHitPos; } @@ -375,11 +375,11 @@ bool cCcD_Obj::GetAtFlag0x8() const { return mAt.MskRPrm(8); } -const mVec3_c &cCcD_Obj::GetTgHitPos() const { +mVec3_c &cCcD_Obj::GetTgHitPos() { return mTg.mHitPos; } -mVec3_c &cCcD_Obj::GetTgHitPos() { +const mVec3_c &cCcD_Obj::GetTgHitPos() const { return mTg.mHitPos; } |
