Moar fixes

This commit is contained in:
robojumper
2026-05-25 01:31:59 +02:00
parent 479fbbddb4
commit 8506fe90a9
5 changed files with 16 additions and 35 deletions
+6 -6
View File
@@ -1877,7 +1877,7 @@ ActorNpcBase2__update = .text:0x80048770; // type:function size:0x158
fn_800488D0 = .text:0x800488D0; // type:function size:0x8
getFloat1200 = .text:0x800488E0; // type:function size:0x8
fn_800488F0 = .text:0x800488F0; // type:function size:0x4
calcTimer<s16> = .text:0x80048900; // type:function size:0x1C
calcTimer<s>__4sLibFPs_s = .text:0x80048900; // type:function size:0x1C
fn_80048920 = .text:0x80048920; // type:function size:0x728
fn_80049050 = .text:0x80049050; // type:function size:0x8
fn_80049060 = .text:0x80049060; // type:function size:0x18
@@ -17865,7 +17865,7 @@ fn_802F25E0 = .text:0x802F25E0; // type:function size:0x19C
fn_802F2780__7mQuat_cFRC7mQuat_c = .text:0x802F2780; // type:function size:0x198
registerThread__7mThreadFP8OSThreadPv = .text:0x802F2920; // type:function size:0x48
createProjectionXZ__7mVec3_cFRC7mAng3_cf = .text:0x802F2970; // type:function size:0x110
mVec__fromXY = .text:0x802F2A80; // type:function size:0xF0
fromXY__7mVec3_cFRC4mAngRC4mAngf = .text:0x802F2A80; // type:function size:0xF0
normalize__7mVec3_cFv = .text:0x802F2B70; // type:function size:0x78
normalizeRS__7mVec3_cFv = .text:0x802F2BF0; // type:function size:0x84
rotX__7mVec3_cFRC4mAng = .text:0x802F2C80; // type:function size:0xA8
@@ -18761,13 +18761,13 @@ Set__8cCcD_ObjFRC12cCcD_SrcGObj = .text:0x80328B60; // type:function size:0x50
ClrAtHit__8cCcD_ObjFv = .text:0x80328BB0; // type:function size:0x48
ClrTgHit__8cCcD_ObjFv = .text:0x80328C00; // type:function size:0x4C
ClrCoHit__8cCcD_ObjFv = .text:0x80328C50; // type:function size:0x4C
GetAtHitPos__8cCcD_ObjCFv = .text:0x80328CA0; // type:function size:0x8
GetAtHitPos__8cCcD_ObjFv = .text:0x80328CB0; // type:function size:0x8
GetAtHitPos__8cCcD_ObjFv = .text:0x80328CA0; // type:function size:0x8
GetAtHitPos__8cCcD_ObjCFv = .text:0x80328CB0; // type:function size:0x8
GetAtFlag0x2__8cCcD_ObjCFv = .text:0x80328CC0; // type:function size:0xC
GetAtFlag0x4__8cCcD_ObjCFv = .text:0x80328CD0; // type:function size:0xC
GetAtFlag0x8__8cCcD_ObjCFv = .text:0x80328CE0; // type:function size:0xC
GetTgHitPos__8cCcD_ObjCFv = .text:0x80328CF0; // type:function size:0x8
GetTgHitPos__8cCcD_ObjFv = .text:0x80328D00; // type:function size:0x8
GetTgHitPos__8cCcD_ObjFv = .text:0x80328CF0; // type:function size:0x8
GetTgHitPos__8cCcD_ObjCFv = .text:0x80328D00; // type:function size:0x8
GetTgFlag0x4__8cCcD_ObjCFv = .text:0x80328D10; // type:function size:0xC
GetTgFlag0x8__8cCcD_ObjCFv = .text:0x80328D20; // type:function size:0xC
GetGObjInfo__8cCcD_ObjFv = .text:0x80328D30; // type:function size:0x4
-15
View File
@@ -1,15 +0,0 @@
#ifndef D_ANGLE_H
#define D_ANGLE_H
#include "m/m_angle.h"
#include "m/m_vec.h"
inline void setRotXY(mAng3_c &rot, s32 x, s32 y) {
rot.set(x, y, mAng(0));
}
inline void setRotXYVec(mAng3_c &rot, const mVec3_c &direction) {
setRotXY(rot, -direction.atan2sY_XZ(), direction.atan2sX_Z());
}
#endif
+2 -3
View File
@@ -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() {
+4 -7
View File
@@ -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();
}
+4 -4
View File
@@ -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;
}