summaryrefslogtreecommitdiff
path: root/src/d
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2026-05-25 01:31:59 +0200
committerrobojumper <robojumper@gmail.com>2026-05-25 01:31:59 +0200
commit8506fe90a9f3cd5b4624d9e20b54ded4dbf219b7 (patch)
tree6dcc79ef83fab4aead37598ee7fe91258321c099 /src/d
parent479fbbddb4cdf423301bf9c44c96730816aadcc2 (diff)
Moar fixes
Diffstat (limited to 'src/d')
-rw-r--r--src/d/a/d_a_item.cpp5
-rw-r--r--src/d/a/obj/d_a_obj_arrow.cpp11
-rw-r--r--src/d/col/c/c_cc_d.cpp8
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;
}