diff --git a/src/d/d_bg_s.cpp b/src/d/d_bg_s.cpp index c81ed1819..a7ceaf161 100644 --- a/src/d/d_bg_s.cpp +++ b/src/d/d_bg_s.cpp @@ -436,7 +436,7 @@ bool dBgS::WallCrrPos(dBgS_CrrPos* crr) { } /* 800A1954-800A1A74 .text MoveBgCrrPos__4dBgSFR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS::MoveBgCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgS::MoveBgCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (!accept || !polyInfo.ChkBgIndex()) return; @@ -446,13 +446,13 @@ void dBgS::MoveBgCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* if (m_chk_element[bg_index].ChkUsed()) { dBgW* bgwp = (dBgW*)m_chk_element[bg_index].m_bgw_base_ptr; if (bgwp->mFlag & 1 && ChkPolySafe(polyInfo)) { - bgwp->CrrPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle1, angle2); + bgwp->CrrPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle, shape_angle); } } } /* 800A1A74-800A1B94 .text MoveBgTransPos__4dBgSFR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS::MoveBgTransPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgS::MoveBgTransPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (!accept || !polyInfo.ChkBgIndex()) return; @@ -462,13 +462,13 @@ void dBgS::MoveBgTransPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz if (m_chk_element[bg_index].ChkUsed()) { dBgW* bgwp = (dBgW*)m_chk_element[bg_index].m_bgw_base_ptr; if (bgwp->mFlag & 1 && ChkPolySafe(polyInfo)) { - bgwp->TransPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle1, angle2); + bgwp->TransPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle, shape_angle); } } } /* 800A1B94-800A1C98 .text MoveBgMatrixCrrPos__4dBgSFR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS::MoveBgMatrixCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgS::MoveBgMatrixCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (!accept || !polyInfo.ChkBgIndex()) return; @@ -478,13 +478,13 @@ void dBgS::MoveBgMatrixCrrPos(cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, c if (m_chk_element[bg_index].ChkUsed()) { dBgW* bgwp = (dBgW*)m_chk_element[bg_index].m_bgw_base_ptr; if (bgwp->mFlag & 1) { - bgwp->MatrixCrrPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle1, angle2); + bgwp->MatrixCrrPos(polyInfo, m_chk_element[bg_index].m_actor_ptr, accept, pos, angle, shape_angle); } } } /* 800A1C98-800A1D18 .text dBgS_MoveBGProc_Typical__FP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS_MoveBGProc_Typical(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgS_MoveBGProc_Typical(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { Mtx inv; if (MTXInverse(pbgw->mOldMtx, inv)) { cXyz local, newPos; @@ -495,25 +495,25 @@ void dBgS_MoveBGProc_Typical(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bo } /* 800A1D18-800A1D4C .text dBgS_MoveBGProc_RotY__FP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS_MoveBGProc_RotY(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { - if (angle2 == NULL) +void dBgS_MoveBGProc_RotY(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { + if (shape_angle == NULL) return; s32 rot = pbgw->mRotYDelta; - if (angle2 != NULL) - angle2->y += rot; - if (angle1 != NULL) - angle1->y += rot; + if (shape_angle != NULL) + shape_angle->y += rot; + if (angle != NULL) + angle->y += rot; } /* 800A1D4C-800A1DB8 .text dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS_MoveBGProc_TypicalRotY(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { - dBgS_MoveBGProc_Typical(pbgw, user, polyInfo, accept, pos, angle1, angle2); - dBgS_MoveBGProc_RotY(pbgw, user, polyInfo, accept, pos, angle1, angle2); +void dBgS_MoveBGProc_TypicalRotY(dBgW* pbgw, void* user, cBgS_PolyInfo& polyInfo, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { + dBgS_MoveBGProc_Typical(pbgw, user, polyInfo, accept, pos, angle, shape_angle); + dBgS_MoveBGProc_RotY(pbgw, user, polyInfo, accept, pos, angle, shape_angle); } /* 800A1DB8-800A1DF8 .text dBgS_MoveBGProc_Trans__FP4dBgWPvR13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz */ -void dBgS_MoveBGProc_Trans(dBgW* pbgw, void*, cBgS_PolyInfo& polyInfo, bool, cXyz* pos, csXyz*, csXyz*) { +void dBgS_MoveBGProc_Trans(dBgW* pbgw, void*, cBgS_PolyInfo& polyInfo, bool, cXyz* pos, csXyz* angle, csXyz* shape_angle) { cXyz trans; pbgw->GetTrans(&trans); VECAdd(pos, &trans, pos); @@ -617,6 +617,6 @@ void dBgS_CrrPos::CrrPos(dBgS& i_bgs) { } /* 800A2550-800A257C .text MatrixCrrPos__4dBgWFR13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ -void dBgW::MatrixCrrPos(cBgS_PolyInfo& polyInfo, void* param_2, bool param_3, cXyz* param_4, csXyz* param_5, csXyz* param_6) { - CrrPos(polyInfo, param_2, param_3, param_4, param_5, param_6); +void dBgW::MatrixCrrPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { + CrrPos(poly, user, accept, pos, angle, shape_angle); } diff --git a/src/d/d_bg_w.cpp b/src/d/d_bg_w.cpp index ddc6543e2..823c232eb 100644 --- a/src/d/d_bg_w.cpp +++ b/src/d/d_bg_w.cpp @@ -159,15 +159,15 @@ bool dBgW::WallCrrPos(dBgS_CrrPos* crr) { } /* 800A8CB4-800A8CF0 .text CrrPos__4dBgWFR13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ -void dBgW::CrrPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgW::CrrPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (m_crr_func != NULL) - m_crr_func(this, user, poly, accept, pos, angle1, angle2); + m_crr_func(this, user, poly, accept, pos, angle, shape_angle); } /* 800A8CF0-800A8D2C .text TransPos__4dBgWFR13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ -void dBgW::TransPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle1, csXyz* angle2) { +void dBgW::TransPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (m_crr_func != NULL) - m_crr_func(this, user, poly, accept, pos, angle1, angle2); + m_crr_func(this, user, poly, accept, pos, angle, shape_angle); } /* 800A8D2C-800A9474 .text ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk */ diff --git a/src/d/d_bg_w_sv.cpp b/src/d/d_bg_w_sv.cpp index 89334e7ef..fe62759ac 100644 --- a/src/d/d_bg_w_sv.cpp +++ b/src/d/d_bg_w_sv.cpp @@ -33,74 +33,74 @@ void dBgWSv::CopyBackVtx() { } /* 800AACF0-800AAEA8 .text CrrPosWork__6dBgWSvFP4cXyziii */ -bool dBgWSv::CrrPosWork(cXyz* r4, int r5, int r6, int r7) { +bool dBgWSv::CrrPosWork(cXyz* pos, int v0, int v1, int v2) { cXyz sp2c; cXyz sp20; - sp2c.x = mBackVtx[r6].x - mBackVtx[r5].x; - sp2c.y = mBackVtx[r6].y - mBackVtx[r5].y; - sp2c.z = mBackVtx[r6].z - mBackVtx[r5].z; - sp20.x = mBackVtx[r7].x - mBackVtx[r5].x; - sp20.y = mBackVtx[r7].y - mBackVtx[r5].y; - sp20.z = mBackVtx[r7].z - mBackVtx[r5].z; + sp2c.x = mBackVtx[v1].x - mBackVtx[v0].x; + sp2c.y = mBackVtx[v1].y - mBackVtx[v0].y; + sp2c.z = mBackVtx[v1].z - mBackVtx[v0].z; + sp20.x = mBackVtx[v2].x - mBackVtx[v0].x; + sp20.y = mBackVtx[v2].y - mBackVtx[v0].y; + sp20.z = mBackVtx[v2].z - mBackVtx[v0].z; if (cM3d_IsZero(sp2c.z) || cM3d_IsZero(sp20.z)) { return true; } f32 f8 = sp2c.x - (sp2c.z * (sp20.x / sp20.z)); f32 f5 = sp20.x - (sp20.z * (sp2c.x / sp2c.z)); if (cM3d_IsZero(f8) || cM3d_IsZero(f5)) { return true; } - r4->x -= mBackVtx[r5].x; - r4->z -= mBackVtx[r5].z; + pos->x -= mBackVtx[v0].x; + pos->z -= mBackVtx[v0].z; - f32 f6 = (r4->x - (r4->z * (sp20.x / sp20.z))) / f8; - f32 f7 = (r4->x - (r4->z * (sp2c.x / sp2c.z))) / f5; + f32 f6 = (pos->x - (pos->z * (sp20.x / sp20.z))) / f8; + f32 f7 = (pos->x - (pos->z * (sp2c.x / sp2c.z))) / f5; cXyz sp14; cXyz sp08; - sp14.x = pm_vtx_tbl[r6].x - pm_vtx_tbl[r5].x; - sp14.z = pm_vtx_tbl[r6].z - pm_vtx_tbl[r5].z; - sp08.x = pm_vtx_tbl[r7].x - pm_vtx_tbl[r5].x; - sp08.z = pm_vtx_tbl[r7].z - pm_vtx_tbl[r5].z; + sp14.x = pm_vtx_tbl[v1].x - pm_vtx_tbl[v0].x; + sp14.z = pm_vtx_tbl[v1].z - pm_vtx_tbl[v0].z; + sp08.x = pm_vtx_tbl[v2].x - pm_vtx_tbl[v0].x; + sp08.z = pm_vtx_tbl[v2].z - pm_vtx_tbl[v0].z; - r4->x = f6 * sp14.x + f7 * sp08.x; - r4->z = f6 * sp14.z + f7 * sp08.z; + pos->x = f6 * sp14.x + f7 * sp08.x; + pos->z = f6 * sp14.z + f7 * sp08.z; - r4->x += pm_vtx_tbl[r5].x; - r4->z += pm_vtx_tbl[r5].z; + pos->x += pm_vtx_tbl[v0].x; + pos->z += pm_vtx_tbl[v0].z; return false; } /* 800AAEA8-800AAF64 .text CrrPos__6dBgWSvFR13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ -void dBgWSv::CrrPos(cBgS_PolyInfo& r4, void*, bool r6, cXyz* r7, csXyz*, csXyz*) { +void dBgWSv::CrrPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (ChkNoCrrPos()) { return; } - if (!r6) { return; } - u16 polyIndex = r4.GetPolyIndex(); + if (!accept) { return; } + u16 polyIndex = poly.GetPolyIndex(); int vtx0 = pm_bgd->m_t_tbl[polyIndex].vtx0; int vtx1 = pm_bgd->m_t_tbl[polyIndex].vtx1; int vtx2 = pm_bgd->m_t_tbl[polyIndex].vtx2; - if (!CrrPosWork(r7, vtx0, vtx1, vtx2)) { return; } - if (!CrrPosWork(r7, vtx1, vtx2, vtx0)) { return; } - if (!CrrPosWork(r7, vtx2, vtx0, vtx1)) {} + if (!CrrPosWork(pos, vtx0, vtx1, vtx2)) { return; } + if (!CrrPosWork(pos, vtx1, vtx2, vtx0)) { return; } + if (!CrrPosWork(pos, vtx2, vtx0, vtx1)) {} } /* 800AAF64-800AB180 .text TransPosWork__6dBgWSvFP4cXyziii */ -bool dBgWSv::TransPosWork(cXyz* r4, int r5, int r6, int r7) { +bool dBgWSv::TransPosWork(cXyz* pos, int v0, int v1, int v2) { cXyz sp2c; cXyz sp20; - sp2c.x = mBackVtx[r6].x - mBackVtx[r5].x; - sp2c.y = mBackVtx[r6].y - mBackVtx[r5].y; - sp2c.z = mBackVtx[r6].z - mBackVtx[r5].z; - sp20.x = mBackVtx[r7].x - mBackVtx[r5].x; - sp20.y = mBackVtx[r7].y - mBackVtx[r5].y; - sp20.z = mBackVtx[r7].z - mBackVtx[r5].z; + sp2c.x = mBackVtx[v1].x - mBackVtx[v0].x; + sp2c.y = mBackVtx[v1].y - mBackVtx[v0].y; + sp2c.z = mBackVtx[v1].z - mBackVtx[v0].z; + sp20.x = mBackVtx[v2].x - mBackVtx[v0].x; + sp20.y = mBackVtx[v2].y - mBackVtx[v0].y; + sp20.z = mBackVtx[v2].z - mBackVtx[v0].z; if (cM3d_IsZero(sp2c.z) || cM3d_IsZero(sp20.z)) { return true; } f32 f8 = sp2c.x - (sp2c.z * (sp20.x / sp20.z)); f32 f4 = sp20.x - (sp20.z * (sp2c.x / sp2c.z)); if (cM3d_IsZero(f8) || cM3d_IsZero(f4)) { return true; } - f32 f5 = r4->x - mBackVtx[r5].x; - f32 f1 = r4->z - mBackVtx[r5].z; + f32 f5 = pos->x - mBackVtx[v0].x; + f32 f1 = pos->z - mBackVtx[v0].z; f32 f8_2 = (f5 - (f1 * (sp20.x / sp20.z))) / f8; f32 f9 = (f5 - (f1 * (sp2c.x / sp2c.z))) / f4; @@ -110,33 +110,33 @@ bool dBgWSv::TransPosWork(cXyz* r4, int r5, int r6, int r7) { cXyz sp14; cXyz sp08; - sp14.x = pm_vtx_tbl[r6].x - pm_vtx_tbl[r5].x; - sp14.y = pm_vtx_tbl[r6].y - pm_vtx_tbl[r5].y; - sp14.z = pm_vtx_tbl[r6].z - pm_vtx_tbl[r5].z; - sp08.x = pm_vtx_tbl[r7].x - pm_vtx_tbl[r5].x; - sp08.y = pm_vtx_tbl[r7].y - pm_vtx_tbl[r5].y; - sp08.z = pm_vtx_tbl[r7].z - pm_vtx_tbl[r5].z; + sp14.x = pm_vtx_tbl[v1].x - pm_vtx_tbl[v0].x; + sp14.y = pm_vtx_tbl[v1].y - pm_vtx_tbl[v0].y; + sp14.z = pm_vtx_tbl[v1].z - pm_vtx_tbl[v0].z; + sp08.x = pm_vtx_tbl[v2].x - pm_vtx_tbl[v0].x; + sp08.y = pm_vtx_tbl[v2].y - pm_vtx_tbl[v0].y; + sp08.z = pm_vtx_tbl[v2].z - pm_vtx_tbl[v0].z; - r4->x = f8_2 * sp14.x + f9 * sp08.x; - r4->y = f8_2 * sp14.y + f9 * sp08.y; - r4->z = f8_2 * sp14.z + f9 * sp08.z; + pos->x = f8_2 * sp14.x + f9 * sp08.x; + pos->y = f8_2 * sp14.y + f9 * sp08.y; + pos->z = f8_2 * sp14.z + f9 * sp08.z; - r4->x += pm_vtx_tbl[r5].x; - r4->y += pm_vtx_tbl[r5].y; - r4->z += pm_vtx_tbl[r5].z; + pos->x += pm_vtx_tbl[v0].x; + pos->y += pm_vtx_tbl[v0].y; + pos->z += pm_vtx_tbl[v0].z; return false; } /* 800AB180-800AB23C .text TransPos__6dBgWSvFR13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */ -void dBgWSv::TransPos(cBgS_PolyInfo& r4, void*, bool r6, cXyz* r7, csXyz*, csXyz*) { +void dBgWSv::TransPos(cBgS_PolyInfo& poly, void* user, bool accept, cXyz* pos, csXyz* angle, csXyz* shape_angle) { if (ChkNoCrrPos()) { return; } - if (!r6) { return; } - u16 polyIndex = r4.GetPolyIndex(); + if (!accept) { return; } + u16 polyIndex = poly.GetPolyIndex(); int vtx0 = pm_bgd->m_t_tbl[polyIndex].vtx0; int vtx1 = pm_bgd->m_t_tbl[polyIndex].vtx1; int vtx2 = pm_bgd->m_t_tbl[polyIndex].vtx2; - if (!TransPosWork(r7, vtx0, vtx1, vtx2)) { return; } - if (!TransPosWork(r7, vtx1, vtx2, vtx0)) { return; } - if (!TransPosWork(r7, vtx2, vtx0, vtx1)) {} + if (!TransPosWork(pos, vtx0, vtx1, vtx2)) { return; } + if (!TransPosWork(pos, vtx1, vtx2, vtx0)) { return; } + if (!TransPosWork(pos, vtx2, vtx0, vtx1)) {} }