tag_evtmsg and d_bg_w_sv OK (#1902)

* tag_evtmsg and d_bg_w_sv OK

* remove asm
This commit is contained in:
TakaRikka
2023-08-31 04:34:59 -07:00
committed by GitHub
parent dd4b291daf
commit 8f45369601
75 changed files with 379 additions and 3903 deletions
-2
View File
@@ -5483,8 +5483,6 @@ asm BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, f32 param_2, f32 p
/* 801548F4-8015496C 14F234 0078+00 1/1 0/0 0/0 .text chkPointInArea__8daNpcF_cF4cXyz4cXyz4cXyzs
*/
BOOL daNpcF_chkPointInArea(cXyz,cXyz,cXyz,s16); // fwd reference
BOOL daNpcF_c::chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3) {
return daNpcF_chkPointInArea(param_0,param_1,param_2,param_3);
}
+128 -222
View File
@@ -1,99 +1,10 @@
//
// Generated By: dol2asm
// Translation Unit: d/bg/d_bg_w_sv
//
/**
* d_bg_w_sv.cpp
*
*/
#include "d/bg/d_bg_w_sv.h"
#include "SSystem/SComponent/c_bg_s_chk.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void Set__6dBgWSvFP6cBgD_tUl();
extern "C" void CopyBackVtx__6dBgWSvFv();
extern "C" void CrrPosWork__6dBgWSvFP4cXyziii();
extern "C" void CrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
extern "C" void TransPosWork__6dBgWSvFP4cXyziii();
extern "C" void TransPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
extern "C" void MatrixCrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz();
extern "C" void __dt__6dBgWSvFv();
//
// External References:
//
extern "C" void SetOldShapeAngleY__9dBgW_BaseFs();
extern "C" void __dt__4cBgWFv();
extern "C" void CalcPlane__4cBgWFv();
extern "C" void ClassifyPlane__4cBgWFv();
extern "C" void ChkMemoryError__4cBgWFv();
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
extern "C" void LineCheck__4cBgWFP11cBgS_LinChk();
extern "C" void GroundCross__4cBgWFP11cBgS_GndChk();
extern "C" void ShdwDraw__4cBgWFP13cBgS_ShdwDraw();
extern "C" void GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo();
extern "C" void GetBnd__4cBgWCFv();
extern "C" void GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz();
extern "C" void GetTopUnder__4cBgWCFPfPf();
extern "C" void GetTriPla__4cBgWCFRC13cBgS_PolyInfo();
extern "C" void GetGrpInf__4cBgWCFRC13cBgS_PolyInfo();
extern "C" void GetExitId__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetPolyColor__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetSpecialCode__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetSpecialCode__4dBgWFi();
extern "C" void GetMagnetCode__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetPolyObjThrough__4dBgWFi();
extern "C" void GetPolyCamThrough__4dBgWFi();
extern "C" void GetPolyLinkThrough__4dBgWFi();
extern "C" void GetPolyArrowThrough__4dBgWFi();
extern "C" void GetPolyHSStick__4dBgWFi();
extern "C" void GetPolyBoomerangThrough__4dBgWFi();
extern "C" void GetPolyRopeThrough__4dBgWFi();
extern "C" void GetPolyBombThrough__4dBgWFi();
extern "C" void GetShdwThrough__4dBgWFi();
extern "C" void GetUnderwaterRoofCode__4dBgWFi();
extern "C" void GetLinkNo__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetWallCode__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetGroundCode__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetIronBallThrough__4dBgWFi();
extern "C" void GetAttackThrough__4dBgWFi();
extern "C" void GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetRoomCamId__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetRoomPathId__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo();
extern "C" void ChkNotReady__4cBgWCFv();
extern "C" void ChkLock__4cBgWCFv();
extern "C" void ChkMoveBg__4cBgWCFv();
extern "C" void WallCorrect__4dBgWFP9dBgS_Acch();
extern "C" void WallCorrectSort__4dBgWFP9dBgS_Acch();
extern "C" void RoofChk__4dBgWFP12dBgS_RoofChk();
extern "C" void SplGrpChk__4dBgWFP14dBgS_SplGrpChk();
extern "C" void CaptPoly__4dBgWFR13dBgS_CaptPoly();
extern "C" void SphChk__4dBgWFP11dBgS_SphChkPv();
extern "C" void GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo();
extern "C" void GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo();
extern "C" void ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk();
extern "C" void ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk();
extern "C" void ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki();
extern "C" void CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c();
extern "C" void CallArrowStickCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_cR4cXyz();
extern "C" void OffMoveFlag__4dBgWFv();
extern "C" void ChkMoveFlag__4dBgWCFv();
extern "C" void* __nwa__FUl();
extern "C" void __dl__FPv();
extern "C" void _savegpr_27();
extern "C" void _restgpr_27();
extern "C" extern void* __vt__4dBgW[65];
//
// Declarations:
//
/* 80082F98-80083020 07D8D8 0088+00 0/0 0/0 2/2 .text Set__6dBgWSvFP6cBgD_tUl */
u8 dBgWSv::Set(cBgD_t* pbgd, u32 param_1) {
@@ -122,147 +33,142 @@ void dBgWSv::CopyBackVtx() {
}
/* 8008308C-80083244 07D9CC 01B8+00 1/1 0/0 0/0 .text CrrPosWork__6dBgWSvFP4cXyziii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWSv::CrrPosWork(cXyz* param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/d/bg/d_bg_w_sv/CrrPosWork__6dBgWSvFP4cXyziii.s"
bool dBgWSv::CrrPosWork(cXyz* i_pos, int i_vtx0, int i_vtx1, int i_vtx2) {
cXyz sp34;
cXyz sp28;
sp34.x = field_0xc0[i_vtx1].x - field_0xc0[i_vtx0].x;
sp34.y = field_0xc0[i_vtx1].y - field_0xc0[i_vtx0].y;
sp34.z = field_0xc0[i_vtx1].z - field_0xc0[i_vtx0].z;
sp28.x = field_0xc0[i_vtx2].x - field_0xc0[i_vtx0].x;
sp28.y = field_0xc0[i_vtx2].y - field_0xc0[i_vtx0].y;
sp28.z = field_0xc0[i_vtx2].z - field_0xc0[i_vtx0].z;
if (cM3d_IsZero(sp34.z) || cM3d_IsZero(sp28.z)) {
return 1;
}
f32 temp_f8 = sp34.x - (sp34.z * (sp28.x / sp28.z));
f32 temp_f5_2 = sp28.x - (sp28.z * (sp34.x / sp34.z));
if (cM3d_IsZero(temp_f8) || cM3d_IsZero(temp_f5_2)) {
return 1;
}
i_pos->x -= field_0xc0[i_vtx0].x;
i_pos->z -= field_0xc0[i_vtx0].z;
cXyz sp14;
cXyz sp8;
f32 temp_f6_2 = (i_pos->x - (i_pos->z * (sp28.x / sp28.z))) / temp_f8;
f32 temp_f7_2 = (i_pos->x - (i_pos->z * (sp34.x / sp34.z))) / temp_f5_2;
sp14.x = pm_vtx_tbl[i_vtx1].x - pm_vtx_tbl[i_vtx0].x;
sp14.z = pm_vtx_tbl[i_vtx1].z - pm_vtx_tbl[i_vtx0].z;
sp8.x = pm_vtx_tbl[i_vtx2].x - pm_vtx_tbl[i_vtx0].x;
sp8.z = pm_vtx_tbl[i_vtx2].z - pm_vtx_tbl[i_vtx0].z;
i_pos->x = (temp_f6_2 * sp14.x) + (temp_f7_2 * sp8.x);
i_pos->z = (temp_f6_2 * sp14.z) + (temp_f7_2 * sp8.z);
i_pos->x += pm_vtx_tbl[i_vtx0].x;
i_pos->z += pm_vtx_tbl[i_vtx0].z;
return 0;
}
#pragma pop
/* 80083244-80083300 07DB84 00BC+00 1/0 0/0 0/0 .text
* CrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWSv::CrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3,
csXyz* param_4, csXyz* param_5) {
nofralloc
#include "asm/d/bg/d_bg_w_sv/CrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz.s"
void dBgWSv::CrrPos(cBgS_PolyInfo const& i_poly, void* i_actor_ptr, bool param_2, cXyz* i_pos,
csXyz* i_angle, csXyz* i_shapeAngle) {
if (!(field_0xc4 & 1) && param_2) {
int poly_idx = i_poly.GetPolyIndex();
int vtx0 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx0;
int vtx1 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx1;
int vtx2 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx2;
if (CrrPosWork(i_pos, vtx0, vtx1, vtx2) && CrrPosWork(i_pos, vtx1, vtx2, vtx0)) {
CrrPosWork(i_pos, vtx2, vtx0, vtx1);
}
}
}
#pragma pop
/* ############################################################################################## */
/* 80452758-8045275C 000D58 0004+00 1/1 0/0 0/0 .sdata2 @3807 */
SECTION_SDATA2 static u8 lit_3807[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 8045275C-80452760 000D5C 0004+00 1/1 0/0 0/0 .sdata2 @3808 */
SECTION_SDATA2 static f32 lit_3808 = 1.0f;
/* 80083300-8008351C 07DC40 021C+00 1/1 0/0 0/0 .text TransPosWork__6dBgWSvFP4cXyziii */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWSv::TransPosWork(cXyz* param_0, int param_1, int param_2, int param_3) {
nofralloc
#include "asm/d/bg/d_bg_w_sv/TransPosWork__6dBgWSvFP4cXyziii.s"
bool dBgWSv::TransPosWork(cXyz* i_pos, int i_vtx0, int i_vtx1, int i_vtx2) {
cXyz sp34;
cXyz sp28;
sp34.x = field_0xc0[i_vtx1].x - field_0xc0[i_vtx0].x;
sp34.y = field_0xc0[i_vtx1].y - field_0xc0[i_vtx0].y;
sp34.z = field_0xc0[i_vtx1].z - field_0xc0[i_vtx0].z;
sp28.x = field_0xc0[i_vtx2].x - field_0xc0[i_vtx0].x;
sp28.y = field_0xc0[i_vtx2].y - field_0xc0[i_vtx0].y;
sp28.z = field_0xc0[i_vtx2].z - field_0xc0[i_vtx0].z;
if (cM3d_IsZero(sp34.z) || cM3d_IsZero(sp28.z)) {
return 1;
}
f32 temp_f8 = sp34.x - (sp34.z * (sp28.x / sp28.z));
f32 temp_f5_2 = sp28.x - (sp28.z * (sp34.x / sp34.z));
if (cM3d_IsZero(temp_f8) || cM3d_IsZero(temp_f5_2)) {
return 1;
}
f32 temp_f3 = i_pos->x - field_0xc0[i_vtx0].x;
f32 temp_f4 = i_pos->z - field_0xc0[i_vtx0].z;
f32 temp_f6_2 = (temp_f3 - (temp_f4 * (sp28.x / sp28.z))) / temp_f8;
f32 temp_f7_2 = (temp_f3 - (temp_f4 * (sp34.x / sp34.z))) / temp_f5_2;
if (temp_f6_2 < 0.0f || temp_f6_2 > 1.0f || temp_f7_2 < 0.0f || temp_f7_2 > 1.0f) {
return 1;
}
cXyz sp14;
cXyz sp8;
sp14.x = pm_vtx_tbl[i_vtx1].x - pm_vtx_tbl[i_vtx0].x;
sp14.y = pm_vtx_tbl[i_vtx1].y - pm_vtx_tbl[i_vtx0].y;
sp14.z = pm_vtx_tbl[i_vtx1].z - pm_vtx_tbl[i_vtx0].z;
sp8.x = pm_vtx_tbl[i_vtx2].x - pm_vtx_tbl[i_vtx0].x;
sp8.y = pm_vtx_tbl[i_vtx2].y - pm_vtx_tbl[i_vtx0].y;
sp8.z = pm_vtx_tbl[i_vtx2].z - pm_vtx_tbl[i_vtx0].z;
i_pos->x = (temp_f6_2 * sp14.x) + (temp_f7_2 * sp8.x);
i_pos->y = (temp_f6_2 * sp14.y) + (temp_f7_2 * sp8.y);
i_pos->z = (temp_f6_2 * sp14.z) + (temp_f7_2 * sp8.z);
i_pos->x += pm_vtx_tbl[i_vtx0].x;
i_pos->y += pm_vtx_tbl[i_vtx0].y;
i_pos->z += pm_vtx_tbl[i_vtx0].z;
return 0;
}
#pragma pop
/* 8008351C-800835D8 07DE5C 00BC+00 1/0 0/0 0/0 .text
* TransPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void dBgWSv::TransPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3,
csXyz* param_4, csXyz* param_5) {
nofralloc
#include "asm/d/bg/d_bg_w_sv/TransPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz.s"
void dBgWSv::TransPos(cBgS_PolyInfo const& i_poly, void* i_actor_ptr, bool param_2, cXyz* i_pos,
csXyz* i_angle, csXyz* i_shapeAngle) {
if (!(field_0xc4 & 1) && param_2) {
int poly_idx = i_poly.GetPolyIndex();
int vtx0 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx0;
int vtx1 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx1;
int vtx2 = pm_bgd->m_t_tbl[poly_idx].m_vtx_idx2;
if (TransPosWork(i_pos, vtx0, vtx1, vtx2) && TransPosWork(i_pos, vtx1, vtx2, vtx0)) {
TransPosWork(i_pos, vtx2, vtx0, vtx1);
}
}
}
#pragma pop
/* 800835D8-800835DC 07DF18 0004+00 1/0 0/0 0/0 .text
* MatrixCrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz */
void dBgWSv::MatrixCrrPos(cBgS_PolyInfo const& param_0, void* param_1, bool param_2, cXyz* param_3,
csXyz* param_4, csXyz* param_5) {
/* empty function */
}
/* ############################################################################################## */
/* 803ABEB8-803ABFC0 008FD8 0104+04 1/1 0/0 2/2 .data __vt__6dBgWSv */
SECTION_DATA extern void* __vt__6dBgWSv[65 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__6dBgWSvFv,
(void*)ChkMemoryError__4cBgWFv,
(void*)ChkNotReady__4cBgWCFv,
(void*)ChkLock__4cBgWCFv,
(void*)ChkMoveBg__4cBgWCFv,
(void*)ChkMoveFlag__4dBgWCFv,
(void*)GetTriPla__4cBgWCFRC13cBgS_PolyInfo,
(void*)GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz,
(void*)GetBnd__4cBgWCFv,
(void*)GetGrpInf__4cBgWCFRC13cBgS_PolyInfo,
(void*)OffMoveFlag__4dBgWFv,
(void*)GetTopUnder__4cBgWCFPfPf,
(void*)SetOldShapeAngleY__9dBgW_BaseFs,
(void*)LineCheck__4cBgWFP11cBgS_LinChk,
(void*)GroundCross__4cBgWFP11cBgS_GndChk,
(void*)ShdwDraw__4cBgWFP13cBgS_ShdwDraw,
(void*)CaptPoly__4dBgWFR13dBgS_CaptPoly,
(void*)WallCorrect__4dBgWFP9dBgS_Acch,
(void*)WallCorrectSort__4dBgWFP9dBgS_Acch,
(void*)RoofChk__4dBgWFP12dBgS_RoofChk,
(void*)SplGrpChk__4dBgWFP14dBgS_SplGrpChk,
(void*)SphChk__4dBgWFP11dBgS_SphChkPv,
(void*)GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo,
(void*)GetExitId__4dBgWFRC13cBgS_PolyInfo,
(void*)GetPolyColor__4dBgWFRC13cBgS_PolyInfo,
(void*)GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo,
(void*)GetSpecialCode__4dBgWFRC13cBgS_PolyInfo,
(void*)GetSpecialCode__4dBgWFi,
(void*)GetMagnetCode__4dBgWFRC13cBgS_PolyInfo,
(void*)GetPolyObjThrough__4dBgWFi,
(void*)GetPolyCamThrough__4dBgWFi,
(void*)GetPolyLinkThrough__4dBgWFi,
(void*)GetPolyArrowThrough__4dBgWFi,
(void*)GetPolyHSStick__4dBgWFi,
(void*)GetPolyBoomerangThrough__4dBgWFi,
(void*)GetPolyRopeThrough__4dBgWFi,
(void*)GetPolyBombThrough__4dBgWFi,
(void*)GetShdwThrough__4dBgWFi,
(void*)GetUnderwaterRoofCode__4dBgWFi,
(void*)GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo,
(void*)GetLinkNo__4dBgWFRC13cBgS_PolyInfo,
(void*)GetWallCode__4dBgWFRC13cBgS_PolyInfo,
(void*)GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo,
(void*)GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo,
(void*)GetGroundCode__4dBgWFRC13cBgS_PolyInfo,
(void*)GetIronBallThrough__4dBgWFi,
(void*)GetAttackThrough__4dBgWFi,
(void*)GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo,
(void*)GetRoomCamId__4dBgWFRC13cBgS_PolyInfo,
(void*)GetRoomPathId__4dBgWFRC13cBgS_PolyInfo,
(void*)GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo,
(void*)GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo,
(void*)GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo,
(void*)CrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
(void*)TransPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
(void*)MatrixCrrPos__6dBgWSvFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
(void*)CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c,
(void*)CallArrowStickCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_cR4cXyz,
(void*)CalcPlane__4cBgWFv,
(void*)ClassifyPlane__4cBgWFv,
(void*)ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk,
(void*)ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk,
(void*)ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki,
/* padding */
NULL,
};
/* 800835DC-8008364C 07DF1C 0070+00 1/0 0/0 0/0 .text __dt__6dBgWSvFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
// asm dBgWSv::~dBgWSv() {
extern "C" asm void __dt__6dBgWSvFv() {
nofralloc
#include "asm/d/bg/d_bg_w_sv/__dt__6dBgWSvFv.s"
}
#pragma pop
void dBgWSv::MatrixCrrPos(cBgS_PolyInfo const& i_poly, void* i_actor_ptr, bool param_2, cXyz* i_pos,
csXyz* i_angle, csXyz* i_shapeAngle) {}