Merge remote-tracking branch 'refs/remotes/origin/main' into unhackify-widescreen

# Conflicts:
#	src/m_Do/m_Do_main.cpp
This commit is contained in:
Luke Street
2026-04-17 23:12:58 -06:00
36 changed files with 408 additions and 299 deletions
+6
View File
@@ -4258,6 +4258,12 @@ int daAlink_c::createHeap() {
return 0;
}
#if TARGET_PC
// lets try to zero-initialize the arrays instead of having garbage values
std::memset(sp1C, 0, sizeof(J3DTransformInfo) * sp38);
std::memset(sp30, 0, sizeof(Quaternion) * sp38);
#endif
field_0x2060 = JKR_NEW mDoExt_MtxCalcOldFrame(sp1C, sp30);
if (field_0x2060 == NULL) {
return 0;
+7 -5
View File
@@ -143,12 +143,14 @@ void daAlink_c::handleQuickTransform() {
procCoMetamorphoseInit();
}
bool daAlink_c::checkGyroAimItemContext() {
if (checkWolf()) {
return false;
}
bool daAlink_c::checkGyroAimContext() {
switch (mProcID) {
case PROC_SUBJECTIVITY:
case PROC_SWIM_SUBJECTIVITY:
case PROC_HORSE_SUBJECTIVITY:
case PROC_CANOE_SUBJECTIVITY:
case PROC_BOARD_SUBJECTIVITY:
case PROC_WOLF_ROPE_SUBJECTIVITY:
case PROC_BOW_SUBJECT:
case PROC_BOOMERANG_SUBJECT:
case PROC_COPY_ROD_SUBJECT:
+1 -1
View File
@@ -130,7 +130,7 @@ BOOL daAlink_c::setBodyAngleToCamera() {
}
#if TARGET_PC
if (dusk::getSettings().game.enableGyroAim && checkGyroAimItemContext()) {
if (dusk::getSettings().game.enableGyroAim && checkGyroAimContext()) {
f32 gyro_scale = 1.0f;
if (checkWolfEyeUp()) {
gyro_scale *= 0.6f;
+1 -1
View File
@@ -1054,7 +1054,7 @@ void daMidna_c::setBodyPartMatrix() {
}
mpModel->calcWeightEnvelopeMtx();
#ifdef TARGET_PC
// Frame interpolation: Record weight envelopes for Midna here, as they are otherwise missed causing distortion
// FRAME INTERP NOTE: Record weight envelopes for Midna here, as they are otherwise missed causing distortion
for (u16 i = 0; i < mpModel->getModelData()->getWEvlpMtxNum(); i++) {
dusk::frame_interp::record_final_mtx_raw(reinterpret_cast<const Mtx*>(mpModel->getWeightAnmMtx(i)), mpModel->getWeightAnmMtx(i));
}
+4
View File
@@ -110,6 +110,10 @@ static int daNpc_Inko_Execute(npc_inko_class* i_this) {
}
f32 var_f31;
#if AVOID_UB
var_f31 = 0.0f;
#endif
if (i_this->field_0x598 == 0) {
if (i_this->field_0x59c[1] == 0) {
i_this->field_0x59c[1] = 30.0f + cM_rndF(70.0f);