more SComponent

This commit is contained in:
lepelog
2021-04-08 22:18:35 +02:00
parent 745c9eb2cd
commit 10734701d5
72 changed files with 723 additions and 2120 deletions
+16 -65
View File
@@ -7,82 +7,33 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
/* 80267BB8 */ void SetExtChk(cBgS_Chk&);
/* 80267BDC */ void ChkSameActorPid(unsigned int) const;
};
//
// Forward References:
//
extern "C" void __ct__8cBgS_ChkFv();
extern "C" void __dt__8cBgS_ChkFv();
extern "C" void SetExtChk__8cBgS_ChkFR8cBgS_Chk();
extern "C" void ChkSameActorPid__8cBgS_ChkCFUi();
//
// External References:
//
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3F80-803C3F90 0210A0 000C+04 2/2 0/0 0/0 .data __vt__8cBgS_Chk */
SECTION_DATA extern void* __vt__8cBgS_Chk[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cBgS_ChkFv,
/* padding */
NULL,
};
/* 80267B4C-80267B70 26248C 0024+00 0/0 7/7 0/0 .text __ct__8cBgS_ChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_Chk::cBgS_Chk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/__ct__8cBgS_ChkFv.s"
cBgS_Chk::cBgS_Chk(void) {
unk_0x00 = 0;
unk_0x04 = 0;
unk_0x0C = 1;
}
#pragma pop
/* 80267B70-80267BB8 2624B0 0048+00 1/0 7/7 0/0 .text __dt__8cBgS_ChkFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_Chk::~cBgS_Chk() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/__dt__8cBgS_ChkFv.s"
}
#pragma pop
cBgS_Chk::~cBgS_Chk(void) {}
/* 80267BB8-80267BDC 2624F8 0024+00 0/0 4/4 0/0 .text SetExtChk__8cBgS_ChkFR8cBgS_Chk */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_Chk::SetExtChk(cBgS_Chk& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/SetExtChk__8cBgS_ChkFR8cBgS_Chk.s"
void cBgS_Chk::SetExtChk(cBgS_Chk& pOther) {
unk_0x00 = pOther.unk_0x00;
unk_0x04 = pOther.unk_0x04;
unk_0x08 = pOther.unk_0x08;
unk_0x0C = pOther.unk_0x0C;
}
#pragma pop
/* 80267BDC-80267C1C 26251C 0040+00 0/0 7/7 0/0 .text ChkSameActorPid__8cBgS_ChkCFUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_Chk::ChkSameActorPid(unsigned int param_0) const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_chk/ChkSameActorPid__8cBgS_ChkCFUi.s"
bool cBgS_Chk::ChkSameActorPid(unsigned int pUint) const {
if (unk_0x08 == -1 || pUint == UINT32_MAX || unk_0x0C == 0) {
return 0;
} else {
return (unk_0x08 == pUint) ? 1 : 0;
}
}
#pragma pop
+3 -3
View File
@@ -3,7 +3,7 @@
// Translation Unit: c_bg_s_gnd_chk
//
#include "SSystem/SComponent/c_bg_s_gnd_chk.h"
// #include "SSystem/SComponent/c_bg_s_gnd_chk.h"
#include "dol2asm.h"
#include "dolphin/types.h"
@@ -44,7 +44,7 @@ extern "C" void __dt__11cBgS_GndChkFv();
extern "C" void SetPos__11cBgS_GndChkFPC3Vec();
extern "C" void SetPos__11cBgS_GndChkFPC4cXyz();
extern "C" void PreCheck__11cBgS_GndChkFv();
extern "C" static void func_80267D54();
extern "C" void func_80267D54();
//
// External References:
@@ -123,7 +123,7 @@ asm void cBgS_GndChk::PreCheck() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void func_80267D54() {
asm void func_80267D54() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_gnd_chk/func_80267D54.s"
}
+2 -31
View File
@@ -6,37 +6,8 @@
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct cXyz {
static f32 Zero[3];
};
struct cM3dGLin {
/* 8026F2E8 */ void SetStartEnd(cXyz const&, cXyz const&);
};
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
/* 802680B0 */ ~cBgS_PolyInfo();
/* 80268120 */ void ClearPi();
};
struct cBgS_LinChk {
/* 80267D5C */ cBgS_LinChk();
/* 80267DBC */ ~cBgS_LinChk();
/* 80267E48 */ void ct();
/* 80267ED0 */ void Set2(cXyz const*, cXyz const*, unsigned int);
/* 80267F40 */ void PreCalc();
};
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
};
#include "SSystem/SComponent/c_bg_s_chk.h"
#include "SSystem/SComponent/c_bg_s_poly_info.h"
//
// Forward References:
+33 -114
View File
@@ -7,145 +7,64 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct cBgS_PolyInfo {
/* 80268074 */ cBgS_PolyInfo();
/* 802680B0 */ ~cBgS_PolyInfo();
/* 802680F8 */ void ChkSetInfo() const;
/* 80268120 */ void ClearPi();
/* 80268148 */ void SetPolyInfo(cBgS_PolyInfo const&);
/* 8026816C */ void SetActorInfo(int, void*, unsigned int);
/* 8026817C */ void ChkSafe(void const*, unsigned int) const;
/* 802681A4 */ void SetPolyIndex(int);
/* 802681AC */ void ChkBgIndex() const;
};
//
// Forward References:
//
extern "C" void __ct__13cBgS_PolyInfoFv();
extern "C" void __dt__13cBgS_PolyInfoFv();
extern "C" void ChkSetInfo__13cBgS_PolyInfoCFv();
extern "C" void ClearPi__13cBgS_PolyInfoFv();
extern "C" void SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo();
extern "C" void SetActorInfo__13cBgS_PolyInfoFiPvUi();
extern "C" void ChkSafe__13cBgS_PolyInfoCFPCvUi();
extern "C" void SetPolyIndex__13cBgS_PolyInfoFi();
extern "C" void ChkBgIndex__13cBgS_PolyInfoCFv();
//
// External References:
//
extern "C" void __dl__FPv();
//
// Declarations:
//
/* ############################################################################################## */
/* 803C3FD0-803C3FE0 0210F0 000C+04 2/2 0/0 0/0 .data __vt__13cBgS_PolyInfo */
SECTION_DATA extern void* __vt__13cBgS_PolyInfo[3 + 1 /* padding */] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__13cBgS_PolyInfoFv,
/* padding */
NULL,
};
/* 80268074-802680B0 2629B4 003C+00 0/0 7/7 9/9 .text __ct__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_PolyInfo::cBgS_PolyInfo() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/__ct__13cBgS_PolyInfoFv.s"
cBgS_PolyInfo::cBgS_PolyInfo(void) {
this->ClearPi();
}
#pragma pop
/* 802680B0-802680F8 2629F0 0048+00 1/0 10/10 393/393 .text __dt__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cBgS_PolyInfo::~cBgS_PolyInfo() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/__dt__13cBgS_PolyInfoFv.s"
}
#pragma pop
cBgS_PolyInfo::~cBgS_PolyInfo(void) {}
/* 802680F8-80268120 262A38 0028+00 0/0 4/4 0/0 .text ChkSetInfo__13cBgS_PolyInfoCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkSetInfo() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSetInfo__13cBgS_PolyInfoCFv.s"
bool cBgS_PolyInfo::ChkSetInfo(void) const {
if (mPolyIndex == 0xFFFF || unk_0x02 == 0x100) {
return false;
} else {
return true;
}
}
#pragma pop
/* 80268120-80268148 262A60 0028+00 1/1 11/11 0/0 .text ClearPi__13cBgS_PolyInfoFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ClearPi() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ClearPi__13cBgS_PolyInfoFv.s"
void cBgS_PolyInfo::ClearPi(void) {
mPolyIndex = 0xFFFF;
unk_0x02 = 0x100;
unk_0x04 = 0;
unk_0x08 = -1;
}
#pragma pop
/* 80268148-8026816C 262A88 0024+00 0/0 11/11 1/1 .text
* SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetPolyInfo(cBgS_PolyInfo const& param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyInfo__13cBgS_PolyInfoFRC13cBgS_PolyInfo.s"
void cBgS_PolyInfo::SetPolyInfo(const cBgS_PolyInfo& pOther) {
mPolyIndex = pOther.mPolyIndex;
unk_0x02 = pOther.unk_0x02;
unk_0x04 = pOther.unk_0x04;
unk_0x08 = pOther.unk_0x08;
}
#pragma pop
/* 8026816C-8026817C 262AAC 0010+00 0/0 6/6 0/0 .text SetActorInfo__13cBgS_PolyInfoFiPvUi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetActorInfo(int param_0, void* param_1, unsigned int param_2) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetActorInfo__13cBgS_PolyInfoFiPvUi.s"
void cBgS_PolyInfo::SetActorInfo(int param_1, void* param_2, unsigned int param_3) {
unk_0x02 = param_1;
unk_0x04 = param_2;
unk_0x08 = param_3;
}
#pragma pop
/* 8026817C-802681A4 262ABC 0028+00 0/0 1/1 0/0 .text ChkSafe__13cBgS_PolyInfoCFPCvUi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkSafe(void const* param_0, unsigned int param_1) const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkSafe__13cBgS_PolyInfoCFPCvUi.s"
bool cBgS_PolyInfo::ChkSafe(const void* param_1, unsigned int param_2) const {
if (unk_0x04 == param_1 && unk_0x08 == param_2) {
return true;
} else {
return false;
}
}
#pragma pop
/* 802681A4-802681AC 262AE4 0008+00 0/0 11/11 0/0 .text SetPolyIndex__13cBgS_PolyInfoFi
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::SetPolyIndex(int param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/SetPolyIndex__13cBgS_PolyInfoFi.s"
void cBgS_PolyInfo::SetPolyIndex(int pPolyIndex) {
mPolyIndex = pPolyIndex;
}
#pragma pop
/* 802681AC-802681C0 262AEC 0014+00 0/0 3/3 0/0 .text ChkBgIndex__13cBgS_PolyInfoCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgS_PolyInfo::ChkBgIndex() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_s_poly_info/ChkBgIndex__13cBgS_PolyInfoCFv.s"
bool cBgS_PolyInfo::ChkBgIndex(void) const {
return unk_0x02 != 0x100;
}
#pragma pop
+3 -26
View File
@@ -6,32 +6,9 @@
#include "SSystem/SComponent/c_bg_s_shdw_draw.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct cXyz {};
struct cM3dGPla {};
struct cM3dGAab {
/* 8026EC54 */ void Set(cXyz const*, cXyz const*);
};
struct cBgD_Vtx_t {};
struct cBgS_ShdwDraw {
/* 80267F88 */ cBgS_ShdwDraw();
/* 80267FD0 */ ~cBgS_ShdwDraw();
/* 80268048 */ void Set(cXyz&, cXyz&);
/* 8026806C */ void SetCallback(int (*)(cBgS_ShdwDraw*, cBgD_Vtx_t*, int, int, int, cM3dGPla*));
};
struct cBgS_Chk {
/* 80267B4C */ cBgS_Chk();
/* 80267B70 */ ~cBgS_Chk();
};
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_m3d_g_pla.h"
#include "SSystem/SComponent/c_m3d_g_aab.h"
//
// Forward References:
+16 -75
View File
@@ -7,99 +7,40 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct cBgW_BgId {
/* 802681C0 */ void Regist(int);
/* 802681C8 */ void Release();
/* 802681D4 */ void ChkUsed() const;
};
//
// Forward References:
//
extern "C" void Regist__9cBgW_BgIdFi();
extern "C" void Release__9cBgW_BgIdFv();
extern "C" void ChkUsed__9cBgW_BgIdCFv();
extern "C" void cBgW_CheckBGround__Ff();
extern "C" void cBgW_CheckBRoof__Ff();
extern "C" void cBgW_CheckBWall__Ff();
//
// External References:
//
//
// Declarations:
//
/* 802681C0-802681C8 262B00 0008+00 0/0 1/1 0/0 .text Regist__9cBgW_BgIdFi */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::Regist(int param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/Regist__9cBgW_BgIdFi.s"
void cBgW_BgId::Regist(int a1) {
mId = a1;
}
#pragma pop
/* 802681C8-802681D4 262B08 000C+00 0/0 2/2 0/0 .text Release__9cBgW_BgIdFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::Release() {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/Release__9cBgW_BgIdFv.s"
void cBgW_BgId::Release() {
mId = 0x100;
}
#pragma pop
/* 802681D4-802681E4 262B14 0010+00 0/0 7/7 121/121 .text ChkUsed__9cBgW_BgIdCFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_BgId::ChkUsed() const {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/ChkUsed__9cBgW_BgIdCFv.s"
unsigned int cBgW_BgId::ChkUsed() const {
unsigned int temp = mId - 0x100;
return temp >> 0x1f;
}
#pragma pop
/* ############################################################################################## */
/* 804550E8-804550EC 0036E8 0004+00 1/1 0/0 0/0 .sdata2 @2242 */
SECTION_SDATA2 static f32 lit_2242 = 0.5f;
/* 802681E4-802681FC 262B24 0018+00 1/1 22/22 8/8 .text cBgW_CheckBGround__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBGround(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBGround__Ff.s"
bool cBgW_CheckBGround(float a1) {
return a1 >= 0.5f;
}
#pragma pop
/* ############################################################################################## */
/* 804550EC-804550F0 0036EC 0004+00 1/1 0/0 0/0 .sdata2 @2249 */
SECTION_SDATA2 static f32 lit_2249 = -4.0f / 5.0f;
/* 802681FC-80268210 262B3C 0014+00 1/1 6/6 0/0 .text cBgW_CheckBRoof__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBRoof(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBRoof__Ff.s"
bool cBgW_CheckBRoof(float a1) {
return a1 < (-4.0f / 5.0f);
}
#pragma pop
/* 80268210-80268260 262B50 0050+00 0/0 16/16 4/4 .text cBgW_CheckBWall__Ff */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void cBgW_CheckBWall(f32 param_0) {
nofralloc
#include "asm/SSystem/SComponent/c_bg_w/cBgW_CheckBWall__Ff.s"
bool cBgW_CheckBWall(float a1) {
if (!cBgW_CheckBGround(a1) && !cBgW_CheckBRoof(a1))
return true;
return false;
}
#pragma pop
File diff suppressed because it is too large Load Diff