mirror of
https://github.com/zeldaret/tp
synced 2026-07-09 06:53:23 -04:00
d_bg_s (#159)
* wip * d_bg_s * most of d_bg_s * small cleanup * clang * fixes
This commit is contained in:
+21
-95
@@ -4,27 +4,19 @@
|
||||
//
|
||||
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "JSystem/J3DGraphLoader/J3DAnmLoader.h"
|
||||
#include "Z2AudioLib/Z2AudioMgr.h"
|
||||
#include "d/a/d_a_horse_static.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
//
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
/* 8000CDD4 */ void transM(cXyz const&);
|
||||
/* 8000CD9C */ void transM(f32, f32, f32);
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
/* 8000CF0C */ void ZXYrotS(csXyz const&);
|
||||
/* 8000CF44 */ void ZXYrotM(csXyz const&);
|
||||
/* 8000CF7C */ void quatM(Quaternion const*);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct mDoExt_blkAnm {
|
||||
/* 8000DA08 */ void init(J3DDeformData*, J3DAnmCluster*, int, int, f32, s16, s16);
|
||||
@@ -40,16 +32,6 @@ struct mDoExt_MtxCalcAnmBlendTbl {
|
||||
|
||||
struct fopEn_enemy_c {};
|
||||
|
||||
struct e_wb_class {
|
||||
/* 80037C7C */ void checkWait();
|
||||
/* 80037C90 */ void setPlayerRideNow();
|
||||
/* 80037CB0 */ void setPlayerRide();
|
||||
/* 80037CF4 */ void getOff();
|
||||
/* 80037D68 */ void checkDownDamage();
|
||||
/* 80037D94 */ void checkNormalRideMode() const;
|
||||
/* 80037DBC */ void setRunRideMode();
|
||||
};
|
||||
|
||||
struct daTagMist_c {
|
||||
/* 80031CF0 */ void getPlayerNo();
|
||||
};
|
||||
@@ -58,10 +40,6 @@ struct daTagMagne_c {
|
||||
/* 80031B50 */ void checkMagnetCode(cBgS_PolyInfo&);
|
||||
};
|
||||
|
||||
struct daTagHstop_c {
|
||||
static u8 m_top[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct daObj_Sekizoa_c {
|
||||
/* 801312C8 */ void setWolfHowling();
|
||||
};
|
||||
@@ -621,30 +599,6 @@ struct dCamera_c {
|
||||
/* 80181500 */ void GetForceLockOnActor();
|
||||
};
|
||||
|
||||
struct dBgS_ObjAcch {
|
||||
/* 800D0C6C */ ~dBgS_ObjAcch();
|
||||
};
|
||||
|
||||
struct Z2SeqMgr {
|
||||
/* 802AF010 */ void bgmStart(u32, u32, s32);
|
||||
/* 802AF49C */ void subBgmStart(u32);
|
||||
/* 802AF884 */ void subBgmStop();
|
||||
/* 802AFF8C */ void changeBgmStatus(s32);
|
||||
/* 802B1DF4 */ void changeSubBgmStatus(s32);
|
||||
/* 802B5E84 */ void bgmSetSwordUsing(s32);
|
||||
/* 802B5E8C */ void taktModeMute();
|
||||
/* 802B5ED4 */ void taktModeMuteOff();
|
||||
};
|
||||
|
||||
struct Z2SeMgr {
|
||||
/* 802AB984 */ void seStart(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
/* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8);
|
||||
};
|
||||
|
||||
struct Z2AudioMgr {
|
||||
static u8 mAudioMgrPtr[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
namespace JStudio {
|
||||
namespace stb {
|
||||
struct data {
|
||||
@@ -659,16 +613,10 @@ struct data {
|
||||
|
||||
}; // namespace JStudio
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
struct JASKernel {
|
||||
/* 80290B08 */ void getAramHeap();
|
||||
};
|
||||
|
||||
struct JAISeqMgr {};
|
||||
|
||||
struct JAISeq {
|
||||
/* 802A0A8C */ JAISeq(JAISeqMgr*, JAISoundStrategyMgr<JAISeq>*);
|
||||
};
|
||||
@@ -679,12 +627,6 @@ struct J3DMaterialAnm {
|
||||
/* 8032C3C4 */ void calc(J3DMaterial*) const;
|
||||
};
|
||||
|
||||
struct J3DAnmLoaderDataBaseFlag {};
|
||||
|
||||
struct J3DAnmLoaderDataBase {
|
||||
/* 80337B40 */ void load(void const*, J3DAnmLoaderDataBaseFlag);
|
||||
};
|
||||
|
||||
struct J2DAnmLoaderDataBase {
|
||||
/* 80308A6C */ void load(void const*);
|
||||
};
|
||||
@@ -15763,14 +15705,9 @@ asm void daAlink_c::setFrontWallType() {
|
||||
#pragma pop
|
||||
|
||||
/* 800B146C-800B1488 0ABDAC 001C+00 1/1 0/0 0/0 .text SetPos__12dBgS_RoofChkFRC4cXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_RoofChk::SetPos(cXyz const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/SetPos__12dBgS_RoofChkFRC4cXyz.s"
|
||||
void dBgS_RoofChk::SetPos(cXyz const& pos) {
|
||||
m_pos = pos;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800B1488-800B14B4 0ABDC8 002C+00 4/4 0/0 0/0 .text checkWaterPolygonUnder__9daAlink_cFv */
|
||||
#pragma push
|
||||
@@ -19192,24 +19129,14 @@ asm void mDoExt_MtxCalcAnmBlendTbl::getAnm(int param_0) {
|
||||
#pragma pop
|
||||
|
||||
/* 800D00D0-800D00DC 0CAA10 000C+00 1/1 0/0 0/0 .text ChkRoofHit__9dBgS_AcchCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ChkRoofHit() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/ChkRoofHit__9dBgS_AcchCFv.s"
|
||||
bool dBgS_Acch::ChkRoofHit() const {
|
||||
return m_flags & ROOF_HIT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800D00DC-800D00EC 0CAA1C 0010+00 1/1 0/0 0/0 .text ClrGroundHit__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ClrGroundHit() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/ClrGroundHit__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::ClrGroundHit() {
|
||||
m_flags &= ~GROUND_HIT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800D00EC-800D0110 0CAA2C 0024+00 1/1 0/0 0/0 .text checkReinRide__9daAlink_cCFv */
|
||||
// regalloc
|
||||
@@ -20223,7 +20150,8 @@ SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
// asm dBgS_ObjAcch::~dBgS_ObjAcch() {
|
||||
extern "C" asm void __dt__12dBgS_ObjAcchFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/__dt__12dBgS_ObjAcchFv.s"
|
||||
}
|
||||
@@ -34629,7 +34557,8 @@ asm mDoExt_AnmRatioPack::mDoExt_AnmRatioPack() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinkRoofChk::~dBgS_LinkRoofChk() {
|
||||
// asm dBgS_LinkRoofChk::~dBgS_LinkRoofChk() {
|
||||
extern "C" asm void __dt__16dBgS_LinkRoofChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/__dt__16dBgS_LinkRoofChkFv.s"
|
||||
}
|
||||
@@ -34639,7 +34568,8 @@ asm dBgS_LinkRoofChk::~dBgS_LinkRoofChk() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinkGndChk::~dBgS_LinkGndChk() {
|
||||
// asm dBgS_LinkGndChk::~dBgS_LinkGndChk() {
|
||||
extern "C" asm void __dt__15dBgS_LinkGndChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/__dt__15dBgS_LinkGndChkFv.s"
|
||||
}
|
||||
@@ -34649,7 +34579,8 @@ asm dBgS_LinkGndChk::~dBgS_LinkGndChk() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinkAcch::~dBgS_LinkAcch() {
|
||||
// asm dBgS_LinkAcch::~dBgS_LinkAcch() {
|
||||
extern "C" asm void __dt__13dBgS_LinkAcchFv() {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/__dt__13dBgS_LinkAcchFv.s"
|
||||
}
|
||||
@@ -34986,14 +34917,9 @@ int daPy_py_c::checkResetFlg0(daPy_RFLG0 pFlag) const {
|
||||
}
|
||||
|
||||
/* 80141404-80141410 13BD44 000C+00 1/1 0/0 0/0 .text ChkGroundHit__9dBgS_AcchCFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ChkGroundHit() const {
|
||||
nofralloc
|
||||
#include "asm/d/a/d_a_alink/ChkGroundHit__9dBgS_AcchCFv.s"
|
||||
bool dBgS_Acch::ChkGroundHit() const {
|
||||
return m_flags & GROUND_HIT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80141410-8014141C 13BD50 000C+00 1/1 0/0 0/0 .text
|
||||
* checkNoResetFlg0__9daPy_py_cCFQ29daPy_py_c9daPy_FLG0 */
|
||||
|
||||
+2
-37
@@ -1,42 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/bg/d_bg_pc
|
||||
//
|
||||
|
||||
#include "d/bg/d_bg_pc.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct sBgPc {};
|
||||
|
||||
struct dBgPc {
|
||||
/* 80074048 */ void setCode(sBgPc&);
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void setCode__5dBgPcFR5sBgPc();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80074048-80074074 06E988 002C+00 0/0 1/1 0/0 .text setCode__5dBgPcFR5sBgPc */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgPc::setCode(sBgPc& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_pc/setCode__5dBgPcFR5sBgPc.s"
|
||||
void dBgPc::setCode(sBgPc& code) {
|
||||
m_code = code;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
+5
-31
@@ -7,20 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct sBgPc {};
|
||||
|
||||
struct dBgPlc {
|
||||
/* 80074074 */ dBgPlc();
|
||||
/* 80074080 */ ~dBgPlc();
|
||||
/* 800740BC */ void setBase(void*);
|
||||
/* 800740C4 */ void getCode(int, sBgPc**) const;
|
||||
/* 800740DC */ void getGrpCode(int) const;
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -42,28 +28,16 @@ extern "C" void __dl__FPv();
|
||||
//
|
||||
|
||||
/* 80074074-80074080 06E9B4 000C+00 0/0 1/1 0/0 .text __ct__6dBgPlcFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgPlc::dBgPlc() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_plc/__ct__6dBgPlcFv.s"
|
||||
dBgPlc::dBgPlc() {
|
||||
m_base = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80074080-800740BC 06E9C0 003C+00 0/0 1/1 0/0 .text __dt__6dBgPlcFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgPlc::~dBgPlc() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_plc/__dt__6dBgPlcFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
dBgPlc::~dBgPlc() {}
|
||||
|
||||
/* 800740BC-800740C4 -00001 0008+00 0/0 0/0 0/0 .text setBase__6dBgPlcFPv */
|
||||
void dBgPlc::setBase(void* param_0) {
|
||||
*(u32*)this = (u32)(param_0);
|
||||
void dBgPlc::setBase(void* p_base) {
|
||||
m_base = p_base;
|
||||
}
|
||||
|
||||
/* 800740C4-800740DC 06EA04 0018+00 0/0 1/1 0/0 .text getCode__6dBgPlcCFiPP5sBgPc */
|
||||
|
||||
+471
-360
File diff suppressed because it is too large
Load Diff
+439
-208
@@ -4,6 +4,7 @@
|
||||
//
|
||||
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/bg/d_bg_s.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
@@ -108,7 +109,7 @@ extern "C" extern void* __vt__11dBgS_WtrChk[12];
|
||||
extern "C" extern void* __vt__8cM3dGCyl[3];
|
||||
extern "C" extern void* __vt__8cM3dGLin[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 data_80450F68[8];
|
||||
extern "C" extern s8 data_80450F68;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -144,70 +145,51 @@ SECTION_SDATA2 static u8 lit_4025[4] = {
|
||||
};
|
||||
|
||||
/* 80075EAC-80075F14 0707EC 0068+00 0/0 4/4 336/336 .text __ct__12dBgS_AcchCirFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_AcchCir::dBgS_AcchCir() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/__ct__12dBgS_AcchCirFv.s"
|
||||
dBgS_AcchCir::dBgS_AcchCir() {
|
||||
m_flags = 0;
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_4025);
|
||||
m_wall_rr = tmp_0;
|
||||
field_0x2c = tmp_0;
|
||||
m_wall_h = tmp_0;
|
||||
m_wall_r = tmp_0;
|
||||
m_wall_angle_y = 0;
|
||||
m_wall_h_direct = tmp_0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F14-80075F40 070854 002C+00 1/1 0/0 0/0 .text ClrWallHit__12dBgS_AcchCirFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_AcchCir::ClrWallHit() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ClrWallHit__12dBgS_AcchCirFv.s"
|
||||
void dBgS_AcchCir::ClrWallHit() {
|
||||
m_flags &= ~WALL_HIT;
|
||||
ClearPi();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F40-80075F48 070880 0008+00 1/1 2/2 109/109 .text SetWallR__12dBgS_AcchCirFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_AcchCir::SetWallR(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetWallR__12dBgS_AcchCirFf.s"
|
||||
void dBgS_AcchCir::SetWallR(f32 r) {
|
||||
m_wall_r = r;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F48-80075F58 070888 0010+00 1/1 0/0 0/0 .text CalcWallRR__12dBgS_AcchCirFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_AcchCir::CalcWallRR() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/CalcWallRR__12dBgS_AcchCirFv.s"
|
||||
void dBgS_AcchCir::CalcWallRR() {
|
||||
m_wall_rr = m_wall_r * m_wall_r;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F58-80075F80 070898 0028+00 0/0 3/3 272/272 .text SetWall__12dBgS_AcchCirFff */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_AcchCir::SetWall(f32 param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetWall__12dBgS_AcchCirFff.s"
|
||||
void dBgS_AcchCir::SetWall(f32 wall_h, f32 wall_r) {
|
||||
SetWallH(wall_h);
|
||||
SetWallR(wall_r);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F80-80075F94 0708C0 0014+00 1/1 0/0 1/1 .text SetWallHDirect__12dBgS_AcchCirFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_AcchCir::SetWallHDirect(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetWallHDirect__12dBgS_AcchCirFf.s"
|
||||
void dBgS_AcchCir::SetWallHDirect(f32 h_direct) {
|
||||
m_flags |= WALL_H_DIRECT;
|
||||
m_wall_h_direct = h_direct;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80075F94-800760A0 0708D4 010C+00 3/2 6/6 468/468 .text __dt__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_Acch::~dBgS_Acch() {
|
||||
// asm dBgS_Acch::~dBgS_Acch() {
|
||||
extern "C" asm void __dt__9dBgS_AcchFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/__dt__9dBgS_AcchFv.s"
|
||||
}
|
||||
@@ -227,6 +209,43 @@ SECTION_SDATA2 static f32 lit_4091 = 1000000000.0f;
|
||||
SECTION_SDATA2 static f32 lit_4092 = 1000.0f;
|
||||
|
||||
/* 800760A0-800761CC 0709E0 012C+00 0/0 4/4 338/338 .text __ct__9dBgS_AcchFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
dBgS_Acch::dBgS_Acch() {
|
||||
SetPolyPassChk(&GetPolyPassChkInfo());
|
||||
SetGrpPassChk(&GetGrpPassChkInfo());
|
||||
|
||||
m_flags = 0;
|
||||
SetRoofNone();
|
||||
|
||||
pm_pos = NULL;
|
||||
pm_old_pos = NULL;
|
||||
pm_speed = NULL;
|
||||
m_ground_h = -1000000000.0f;
|
||||
field_0x90 = 0.0f;
|
||||
field_0x9c = 60.0f;
|
||||
field_0x94 = 0.0f;
|
||||
field_0xb4 = 0;
|
||||
field_0xb8 = 0.0f;
|
||||
field_0xbc = 0.0f;
|
||||
|
||||
m_tbl_size = 0;
|
||||
field_0x8c = NULL;
|
||||
|
||||
m_roof_height = 1000000000.0f;
|
||||
m_roof_crr_height = 0.0f;
|
||||
field_0xcc = 0.0f;
|
||||
|
||||
m_wtr_mode = 1;
|
||||
m_wtr_chk_offset = 1000.0f;
|
||||
|
||||
pm_angle = NULL;
|
||||
pm_shape_angle = NULL;
|
||||
m_my_ac = NULL;
|
||||
field_0xd4 = 0;
|
||||
field_0xd8 = -1000000000.0f;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -235,50 +254,59 @@ asm dBgS_Acch::dBgS_Acch() {
|
||||
#include "asm/d/bg/d_bg_s_acch/__ct__9dBgS_AcchFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800761CC-80076248 070B0C 007C+00 1/1 0/0 0/0 .text Init__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::Init() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/Init__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::Init() {
|
||||
ClrWallHit();
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + i)->ClrWallHit();
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + i)->ClrWallHDirect();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80076248-80076288 070B88 0040+00 0/0 2/2 314/314 .text
|
||||
* Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::Set(cXyz* param_0, cXyz* param_1, fopAc_ac_c* param_2, int param_3,
|
||||
dBgS_AcchCir* param_4, cXyz* param_5, csXyz* param_6, csXyz* param_7) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz.s"
|
||||
void dBgS_Acch::Set(cXyz* p_pos, cXyz* p_old_pos, fopAc_ac_c* p_actor, int table_size,
|
||||
dBgS_AcchCir* param_4, cXyz* p_speed, csXyz* p_angle, csXyz* p_shape_angle) {
|
||||
pm_pos = p_pos;
|
||||
pm_old_pos = p_old_pos;
|
||||
m_my_ac = p_actor;
|
||||
setActorPid(fopAcM_GetID(p_actor));
|
||||
pm_speed = p_speed;
|
||||
m_tbl_size = table_size;
|
||||
field_0x8c = param_4;
|
||||
pm_angle = p_angle;
|
||||
pm_shape_angle = p_shape_angle;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80076288-800762D8 070BC8 0050+00 0/0 1/1 7/7 .text
|
||||
* Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::Set(fopAc_ac_c* param_0, int param_1, dBgS_AcchCir* param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/Set__9dBgS_AcchFP10fopAc_ac_ciP12dBgS_AcchCir.s"
|
||||
void dBgS_Acch::Set(fopAc_ac_c* p_actor, int table_size, dBgS_AcchCir* param_2) {
|
||||
m_tbl_size = table_size;
|
||||
field_0x8c = param_2;
|
||||
m_my_ac = p_actor;
|
||||
|
||||
setActorPid(fopAcM_GetID(p_actor));
|
||||
pm_pos = &fopAcM_GetPosition_p(p_actor);
|
||||
pm_old_pos = &fopAcM_GetOldPosition_p(p_actor);
|
||||
pm_speed = &fopAcM_GetSpeed_p(p_actor);
|
||||
pm_angle = &fopAcM_GetAngle_p(p_actor);
|
||||
pm_shape_angle = &fopAcM_GetShapeAngle_p(p_actor);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800762D8-80076350 070C18 0078+00 1/1 0/0 0/0 .text GroundCheckInit__9dBgS_AcchFR4dBgS
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GroundCheckInit(dBgS& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GroundCheckInit__9dBgS_AcchFR4dBgS.s"
|
||||
void dBgS_Acch::GroundCheckInit(dBgS& param_0) {
|
||||
if (!(m_flags & 2)) {
|
||||
m_ground_h = lit_4089;
|
||||
m_gnd.SetExtChk(static_cast<cBgS_Chk&>(*this));
|
||||
field_0xb4 = ChkGroundHit();
|
||||
i_ClrGroundHit();
|
||||
ClrGroundLanding();
|
||||
ClrGroundAway();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80424B20-80424B2C 051840 000C+00 1/1 0/0 0/0 .bss @4166 */
|
||||
@@ -286,8 +314,60 @@ static u8 lit_4166[12];
|
||||
|
||||
/* 80424B2C-80424B80 05184C 0050+04 1/1 0/0 0/0 .bss tmpRoofChk$4165 */
|
||||
static u8 tmpRoofChk[80 + 4 /* padding */];
|
||||
// static dBgS_RoofChk tmpRoofChk;
|
||||
|
||||
/* 80076350-8007654C 070C90 01FC+00 2/2 0/0 0/0 .text GroundCheck__9dBgS_AcchFR4dBgS */
|
||||
// issues with tmpRoofChk
|
||||
#ifdef NONMATCHING
|
||||
void dBgS_Acch::GroundCheck(dBgS& param_0) {
|
||||
if (!(m_flags & GRND_NONE)) {
|
||||
cXyz grnd_pos;
|
||||
grnd_pos.x = pm_pos->x;
|
||||
grnd_pos.y = pm_pos->y;
|
||||
grnd_pos.z = pm_pos->z;
|
||||
grnd_pos.y += field_0x94 + (field_0x9c - field_0x90);
|
||||
|
||||
if (!ChkGndThinCellingOff()) {
|
||||
if (data_80450F68 == 0) {
|
||||
dBgS_RoofChk tmpRoofChk;
|
||||
data_80450F68 = 1;
|
||||
}
|
||||
tmpRoofChk.setActorPid(m_gnd.GetActorPid());
|
||||
tmpRoofChk.i_SetPos(*pm_pos);
|
||||
f32 tmp = param_0.RoofChk(&tmpRoofChk);
|
||||
if (grnd_pos.y > tmp) {
|
||||
grnd_pos.y = tmp;
|
||||
}
|
||||
}
|
||||
field_0x94 = 0.0f;
|
||||
m_gnd.SetPos(&grnd_pos);
|
||||
m_ground_h = param_0.GroundCross(&m_gnd);
|
||||
|
||||
if (lit_4089 != m_ground_h) {
|
||||
field_0xbc = m_ground_h + field_0x90;
|
||||
if (field_0xbc > field_0xb8) {
|
||||
pm_pos->y = field_0xbc;
|
||||
if (ChkClrSpeedY() && pm_speed != NULL) {
|
||||
pm_speed->y = 0.0f;
|
||||
}
|
||||
param_0.GetTriPla(m_gnd, &field_0xa0);
|
||||
SetGroundFind();
|
||||
SetGroundHit();
|
||||
if (field_0xc0 == 0) {
|
||||
field_0xc0 = 1;
|
||||
param_0.RideCallBack(m_gnd, m_my_ac);
|
||||
}
|
||||
if (field_0xb4 == 0) {
|
||||
SetGroundLanding();
|
||||
}
|
||||
}
|
||||
if (field_0xb4 && !ChkGroundHit()) {
|
||||
SetGroundAway();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -296,17 +376,28 @@ asm void dBgS_Acch::GroundCheck(dBgS& param_0) {
|
||||
#include "asm/d/bg/d_bg_s_acch/GroundCheck__9dBgS_AcchFR4dBgS.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8007654C-80076624 070E8C 00D8+00 1/1 0/0 0/0 .text GroundRoofProc__9dBgS_AcchFR4dBgS
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GroundRoofProc(dBgS& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GroundRoofProc__9dBgS_AcchFR4dBgS.s"
|
||||
void dBgS_Acch::GroundRoofProc(dBgS& param_0) {
|
||||
if (lit_4089 != m_ground_h) {
|
||||
if (field_0xbc < field_0xcc && field_0xcc < pm_pos->y) {
|
||||
pm_pos->y = field_0xcc;
|
||||
}
|
||||
|
||||
if (!(m_flags & ROOF_NONE) && m_ground_h >= m_roof_height) {
|
||||
m_roof.SetExtChk(static_cast<cBgS_Chk&>(*this));
|
||||
ClrRoofHit();
|
||||
cXyz roof_pos;
|
||||
roof_pos.x = pm_pos->x;
|
||||
roof_pos.y = pm_pos->y;
|
||||
roof_pos.z = pm_pos->z;
|
||||
m_roof.i_SetPos(roof_pos);
|
||||
m_roof_height = param_0.RoofChk(&m_roof);
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804526D4-804526D8 000CD4 0004+00 1/1 0/0 0/0 .sdata2 @4424 */
|
||||
@@ -330,6 +421,135 @@ SECTION_SDATA2 static f32 lit_4554 = 50.0f;
|
||||
SECTION_SDATA2 static f32 lit_4555 = 1000000.0f;
|
||||
|
||||
/* 80076AAC-80076F84 0713EC 04D8+00 0/0 15/15 414/414 .text CrrPos__9dBgS_AcchFR4dBgS */
|
||||
// close
|
||||
#ifdef NONMATCHING
|
||||
void dBgS_Acch::CrrPos(dBgS& param_0) {
|
||||
bool bvar9;
|
||||
if (!(m_flags & 1)) {
|
||||
param_0.MoveBgCrrPos(m_gnd, ChkGroundHit(), pm_pos, pm_angle, pm_shape_angle, false, false);
|
||||
|
||||
if (!ChkGroundHit()) {
|
||||
bvar9 = false;
|
||||
|
||||
if (ChkWallHit()) {
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
if (static_cast<dBgS_AcchCir*>(field_0x8c + i)->ChkWallHit()) {
|
||||
param_0.MoveBgCrrPos(*static_cast<dBgS_AcchCir*>(field_0x8c + i), true,
|
||||
pm_pos, pm_angle, pm_shape_angle, true, false);
|
||||
bvar9 = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!bvar9 && ChkRoofHit()) {
|
||||
param_0.MoveBgCrrPos(m_roof, true, pm_pos, pm_angle, pm_shape_angle, false, true);
|
||||
}
|
||||
}
|
||||
|
||||
GroundCheckInit(param_0);
|
||||
Init();
|
||||
|
||||
f32 tmp = GetWallAllLowH_R();
|
||||
f32 dvar10 = GetOldPos()->abs2XZ(*GetPos());
|
||||
f32 dvar11 = GetOldPos()->y - GetPos()->y;
|
||||
f32 tmp2 = GetWallAllLowH();
|
||||
|
||||
field_0xb8 = GetPos()->y;
|
||||
field_0xc0 = 0;
|
||||
f32 fvar12 = tmp2 + GetOldPos()->y;
|
||||
f32 fvar1 = field_0x9c + GetPos()->y;
|
||||
bool bvar2 = false;
|
||||
|
||||
OffLineCheckHit();
|
||||
if (!ChkLineCheckNone() && !cM3d_IsZero(tmp) &&
|
||||
(dvar10 > (tmp * tmp) || fvar12 > fvar1 || dvar11 > field_0x9c || ChkLineCheck())) {
|
||||
bvar2 = true;
|
||||
LineCheck(param_0);
|
||||
}
|
||||
|
||||
if (!(m_flags & WALL_NONE)) {
|
||||
if (ChkWallSort()) {
|
||||
param_0.WallCorrectSort(this);
|
||||
} else {
|
||||
param_0.WallCorrect(this);
|
||||
}
|
||||
}
|
||||
|
||||
if (ChkWallHit() && bvar2) {
|
||||
LineCheck(param_0);
|
||||
}
|
||||
field_0xcc = 1000000000.0f;
|
||||
|
||||
if (!(m_flags & ROOF_NONE)) {
|
||||
m_roof.SetExtChk(static_cast<cBgS_Chk&>(*this));
|
||||
ClrRoofHit();
|
||||
cXyz roof_pos;
|
||||
roof_pos.x = pm_pos->x;
|
||||
roof_pos.y = pm_pos->y;
|
||||
roof_pos.z = pm_pos->z;
|
||||
|
||||
m_roof.i_SetPos(roof_pos);
|
||||
m_roof_height = param_0.RoofChk(&m_roof);
|
||||
|
||||
// register issues
|
||||
if (1000000000.0f != m_roof_height && GetPos()->y > 1000000000.0f + m_roof_crr_height) {
|
||||
field_0xcc = m_roof_height - m_roof_crr_height;
|
||||
SetRoofHit();
|
||||
}
|
||||
}
|
||||
|
||||
if (!(m_flags & GRND_NONE)) {
|
||||
ClrGroundFind();
|
||||
GroundCheck(param_0);
|
||||
GroundRoofProc(param_0);
|
||||
} else {
|
||||
if (field_0xcc < GetPos()->y) {
|
||||
GetPos()->y = field_0xcc;
|
||||
}
|
||||
}
|
||||
|
||||
if (!(m_flags & 0x400)) {
|
||||
ClrWaterHit();
|
||||
ClrWaterIn();
|
||||
f32 tmp4 = -1000000000.0f;
|
||||
m_wtr.SetHeight(-1000000000.0f);
|
||||
|
||||
f32 tmp3 = m_ground_h;
|
||||
if (tmp4 == tmp3) {
|
||||
tmp3 = GetPos()->y - 50.0f; // register issues
|
||||
} else {
|
||||
tmp3 = 50.0f; // needs to be fmr
|
||||
}
|
||||
|
||||
if (m_wtr_mode == 1) {
|
||||
tmp4 = tmp3 + m_wtr_chk_offset;
|
||||
} else {
|
||||
dBgS_RoofChk roof_chk;
|
||||
roof_chk.SetUnderwaterRoof();
|
||||
roof_chk.i_SetPos(*pm_pos);
|
||||
tmp4 = param_0.RoofChk(&roof_chk);
|
||||
if (1000000000.0f == tmp4) {
|
||||
tmp4 = GetPos()->y + 1000000.0f;
|
||||
}
|
||||
}
|
||||
cXyz xyz;
|
||||
xyz.x = pm_pos->x;
|
||||
xyz.y = pm_pos->y;
|
||||
xyz.z = pm_pos->z;
|
||||
xyz.y = tmp3;
|
||||
|
||||
m_wtr.Set(xyz, tmp4);
|
||||
m_wtr.SetPassChkInfo(static_cast<dBgS_PolyPassChk&>(*this));
|
||||
if (param_0.WaterChk(&m_wtr)) {
|
||||
SetWaterHit();
|
||||
if (m_wtr.GetHeight() > GetPos()->y) {
|
||||
SetWaterIn();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -338,28 +558,61 @@ asm void dBgS_Acch::CrrPos(dBgS& param_0) {
|
||||
#include "asm/d/bg/d_bg_s_acch/CrrPos__9dBgS_AcchFR4dBgS.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80076F84-80076FC0 0718C4 003C+00 1/1 0/0 0/0 .text GetWallAllR__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GetWallAllR() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GetWallAllR__9dBgS_AcchFv.s"
|
||||
f32 dBgS_Acch::GetWallAllR() {
|
||||
f32 ret = FLOAT_LABEL(lit_4025);
|
||||
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
f32 wall_r = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallR();
|
||||
if (ret < wall_r) {
|
||||
ret = wall_r;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80076FC0-8007703C 071900 007C+00 1/1 0/0 0/0 .text SetWallCir__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetWallCir() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetWallCir__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::SetWallCir() {
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + i)->SetCir(*pm_pos);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007703C-80077114 07197C 00D8+00 1/1 0/0 0/0 .text CalcWallBmdCyl__9dBgS_AcchFv */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
void dBgS_Acch::CalcWallBmdCyl() {
|
||||
if (m_tbl_size <= 0) {
|
||||
m_wall_cyl.Set(*pm_pos, 0.0f, 0.0f);
|
||||
} else {
|
||||
f32 dvar8 = GetWallAllR();
|
||||
f32 dvar9 = field_0x8c->GetWallH();
|
||||
f32 dvar10 = field_0x8c->GetWallH();
|
||||
if (m_tbl_size >= 1) {
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
f32 tmp = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
if (dvar9 > tmp) {
|
||||
dvar9 = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
}
|
||||
|
||||
f32 tmp2 = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
if (dvar10 < tmp2) {
|
||||
dvar10 = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
}
|
||||
}
|
||||
}
|
||||
cXyz xyz;
|
||||
xyz.x = pm_pos->x;
|
||||
xyz.y = pm_pos->y;
|
||||
xyz.z = pm_pos->z;
|
||||
xyz.y += dvar9;
|
||||
|
||||
m_wall_cyl.Set(xyz, dvar8, dvar10 - dvar9);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
@@ -368,46 +621,55 @@ asm void dBgS_Acch::CalcWallBmdCyl() {
|
||||
#include "asm/d/bg/d_bg_s_acch/CalcWallBmdCyl__9dBgS_AcchFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80077114-80077128 071A54 0014+00 0/0 0/0 24/24 .text SetGroundUpY__9dBgS_AcchFf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetGroundUpY(f32 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetGroundUpY__9dBgS_AcchFf.s"
|
||||
void dBgS_Acch::SetGroundUpY(f32 param_0) {
|
||||
field_0x94 = param_0 - field_0x90;
|
||||
field_0x90 = param_0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077128-80077178 071A68 0050+00 1/1 0/0 0/0 .text GetWallAllLowH__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GetWallAllLowH() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GetWallAllLowH__9dBgS_AcchFv.s"
|
||||
f32 dBgS_Acch::GetWallAllLowH() {
|
||||
if (m_tbl_size <= 0) {
|
||||
return FLOAT_LABEL(lit_4025);
|
||||
}
|
||||
|
||||
f32 tmp = field_0x8c->GetWallH();
|
||||
for (int i = 1; i < m_tbl_size; i++) {
|
||||
f32 tmp2 = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
if (tmp > tmp2) {
|
||||
tmp = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
}
|
||||
}
|
||||
return tmp;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077178-800771E4 071AB8 006C+00 1/1 0/0 0/0 .text GetWallAllLowH_R__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GetWallAllLowH_R() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GetWallAllLowH_R__9dBgS_AcchFv.s"
|
||||
f32 dBgS_Acch::GetWallAllLowH_R() {
|
||||
if (m_tbl_size <= 0) {
|
||||
return FLOAT_LABEL(lit_4025);
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
f32 tmp = field_0x8c->GetWallH();
|
||||
for (int i = 1; i < m_tbl_size; i++) {
|
||||
f32 tmp2 = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
if (tmp > tmp2) {
|
||||
tmp = static_cast<dBgS_AcchCir*>(field_0x8c + i)->GetWallH();
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
return static_cast<dBgS_AcchCir*>(field_0x8c + index)->GetWallR();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800771E4-80077200 071B24 001C+00 1/1 4/4 0/0 .text GetSpeedY__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GetSpeedY() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GetSpeedY__9dBgS_AcchFv.s"
|
||||
f32 dBgS_Acch::GetSpeedY() {
|
||||
if (pm_speed != NULL) {
|
||||
return pm_speed->y;
|
||||
}
|
||||
return FLOAT_LABEL(lit_4025);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804526E0-804526E8 000CE0 0004+04 1/1 0/0 0/0 .sdata2 @4762 */
|
||||
@@ -418,144 +680,113 @@ SECTION_SDATA2 static f32 lit_4762[1 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 80077200-80077278 071B40 0078+00 0/0 4/4 0/0 .text GetWallAddY__9dBgS_AcchFR3Vec */
|
||||
// matches with literals
|
||||
#ifdef NONMATCHING
|
||||
f32 dBgS_Acch::GetWallAddY(Vec& param_0) {
|
||||
if (!ChkGroundFind() || field_0xa0.mNormal.y < 0.5f) {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
f32 tmp;
|
||||
if (field_0xa0.getCrossYLessD(param_0, &tmp)) {
|
||||
if (tmp > 0.0f) {
|
||||
tmp = 0.0f;
|
||||
}
|
||||
return -tmp;
|
||||
}
|
||||
return 0.0f;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::GetWallAddY(Vec& param_0) {
|
||||
asm f32 dBgS_Acch::GetWallAddY(Vec& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/GetWallAddY__9dBgS_AcchFR3Vec.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80077278-80077288 071BB8 0010+00 0/0 2/2 0/0 .text SetNowActorInfo__9dBgS_AcchFiPvUi
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetNowActorInfo(int param_0, void* param_1, unsigned int param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetNowActorInfo__9dBgS_AcchFiPvUi.s"
|
||||
void dBgS_Acch::SetNowActorInfo(int bg_index, void* param_1, unsigned int param_2) {
|
||||
m_bg_index = bg_index;
|
||||
field_0x7c = param_1;
|
||||
field_0x80 = param_2;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077288-800772E8 071BC8 0060+00 0/0 4/4 0/0 .text SetWallPolyIndex__9dBgS_AcchFii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetWallPolyIndex(int param_0, int param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetWallPolyIndex__9dBgS_AcchFii.s"
|
||||
void dBgS_Acch::SetWallPolyIndex(int index, int poly_index) {
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + index)
|
||||
->SetActorInfo(m_bg_index, field_0x7c, field_0x80);
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + index)->SetPolyIndex(poly_index);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800772E8-8007732C 071C28 0044+00 0/0 6/6 0/0 .text CalcMovePosWork__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::CalcMovePosWork() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/CalcMovePosWork__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::CalcMovePosWork() {
|
||||
SetWallCir();
|
||||
SetLin();
|
||||
CalcWallBmdCyl();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007732C-80077388 071C6C 005C+00 0/0 2/2 0/0 .text CalcWallRR__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::CalcWallRR() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/CalcWallRR__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::CalcWallRR() {
|
||||
for (int i = 0; i < m_tbl_size; i++) {
|
||||
static_cast<dBgS_AcchCir*>(field_0x8c + i)->CalcWallRR();
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077388-800773A4 071CC8 001C+00 0/0 1/1 0/0 .text SetMoveBGOnly__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetMoveBGOnly() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetMoveBGOnly__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::SetMoveBGOnly() {
|
||||
m_flags |= MOVE_BG_ONLY;
|
||||
m_wtr.OnMoveBGOnly();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773A4-800773C0 071CE4 001C+00 0/0 4/4 17/17 .text ClrMoveBGOnly__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ClrMoveBGOnly() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ClrMoveBGOnly__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::ClrMoveBGOnly() {
|
||||
m_flags &= ~MOVE_BG_ONLY;
|
||||
m_wtr.OffMoveBGOnly();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773C0-800773D0 071D00 0010+00 0/0 1/1 2/2 .text SetGndThinCellingOff__9dBgS_AcchFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::SetGndThinCellingOff() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/SetGndThinCellingOff__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::SetGndThinCellingOff() {
|
||||
m_flags |= GND_THIN_CELLING_OFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773D0-800773E0 071D10 0010+00 0/0 1/1 0/0 .text ClrGndThinCellingOff__9dBgS_AcchFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ClrGndThinCellingOff() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ClrGndThinCellingOff__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::ClrGndThinCellingOff() {
|
||||
m_flags &= ~GND_THIN_CELLING_OFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773E0-800773EC 071D20 000C+00 1/1 0/0 0/0 .text ChkGndThinCellingOff__9dBgS_AcchFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ChkGndThinCellingOff() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ChkGndThinCellingOff__9dBgS_AcchFv.s"
|
||||
bool dBgS_Acch::ChkGndThinCellingOff() {
|
||||
return m_flags & GND_THIN_CELLING_OFF;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773EC-800773FC 071D2C 0010+00 0/0 1/1 1/1 .text OnWallSort__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::OnWallSort() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/OnWallSort__9dBgS_AcchFv.s"
|
||||
void dBgS_Acch::OnWallSort() {
|
||||
m_flags |= WALL_SORT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800773FC-80077408 071D3C 000C+00 1/1 0/0 0/0 .text ChkWallSort__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ChkWallSort() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ChkWallSort__9dBgS_AcchFv.s"
|
||||
bool dBgS_Acch::ChkWallSort() {
|
||||
return m_flags & WALL_SORT;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077408-80077414 071D48 000C+00 1/1 0/0 0/0 .text ChkLineDown__9dBgS_AcchFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Acch::ChkLineDown() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/ChkLineDown__9dBgS_AcchFv.s"
|
||||
bool dBgS_Acch::ChkLineDown() {
|
||||
return m_flags & LINE_DOWN;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077414-80077484 071D54 0070+00 1/0 2/2 0/0 .text __dt__12dBgS_AcchCirFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
// asm dBgS_AcchCir::~dBgS_AcchCir() {
|
||||
extern "C" asm void __dt__12dBgS_AcchCirFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_acch/__dt__12dBgS_AcchCirFv.s"
|
||||
}
|
||||
|
||||
+7
-18
@@ -39,39 +39,28 @@ SECTION_DATA extern void* __vt__8dBgS_Chk[6] = {
|
||||
};
|
||||
|
||||
/* 8007749C-800774E8 071DDC 004C+00 0/0 6/6 0/0 .text __ct__8dBgS_ChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_Chk::dBgS_Chk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_chk/__ct__8dBgS_ChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
dBgS_Chk::dBgS_Chk() {}
|
||||
|
||||
/* 800774E8-80077560 071E28 0078+00 2/1 6/6 0/0 .text __dt__8dBgS_ChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_Chk::~dBgS_Chk() {
|
||||
// asm dBgS_Chk::~dBgS_Chk() {
|
||||
extern "C" asm void __dt__8dBgS_ChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_chk/__dt__8dBgS_ChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077560-80077564 071EA0 0004+00 0/0 6/6 0/0 .text GetPolyPassChkInfo__8dBgS_ChkFv */
|
||||
void dBgS_Chk::GetPolyPassChkInfo() {
|
||||
/* empty function */
|
||||
cBgS_PolyPassChk* dBgS_Chk::GetPolyPassChkInfo() {
|
||||
return this;
|
||||
}
|
||||
|
||||
/* 80077564-80077574 071EA4 0010+00 0/0 6/6 0/0 .text GetGrpPassChkInfo__8dBgS_ChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_Chk::GetGrpPassChkInfo() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_chk/GetGrpPassChkInfo__8dBgS_ChkFv.s"
|
||||
cBgS_GrpPassChk* dBgS_Chk::GetGrpPassChkInfo() {
|
||||
return this;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077574-8007757C 071EB4 0008+00 1/0 0/0 0/0 .text @16@__dt__8dBgS_ChkFv */
|
||||
#pragma push
|
||||
|
||||
+24
-61
@@ -7,33 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dBgS_ObjGndChk_Wtr {
|
||||
/* 80077678 */ dBgS_ObjGndChk_Wtr();
|
||||
/* 80077710 */ ~dBgS_ObjGndChk_Wtr();
|
||||
};
|
||||
|
||||
struct dBgS_ObjGndChk_Spl {
|
||||
/* 800777B0 */ dBgS_ObjGndChk_Spl();
|
||||
/* 80077848 */ ~dBgS_ObjGndChk_Spl();
|
||||
};
|
||||
|
||||
struct dBgS_ObjGndChk_All {
|
||||
/* 800778E8 */ ~dBgS_ObjGndChk_All();
|
||||
};
|
||||
|
||||
struct dBgS_CamGndChk_Wtr {
|
||||
/* 80077A00 */ dBgS_CamGndChk_Wtr();
|
||||
/* 80077A98 */ ~dBgS_CamGndChk_Wtr();
|
||||
};
|
||||
|
||||
struct dBgS_CamGndChk {
|
||||
/* 80077988 */ ~dBgS_CamGndChk();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -184,60 +157,51 @@ SECTION_DATA extern void* __vt__11dBgS_GndChk[12] = {
|
||||
};
|
||||
|
||||
/* 8007757C-800775F0 071EBC 0074+00 3/3 15/15 289/289 .text __ct__11dBgS_GndChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_GndChk::dBgS_GndChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__ct__11dBgS_GndChkFv.s"
|
||||
dBgS_GndChk::dBgS_GndChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800775F0-80077678 071F30 0088+00 8/7 13/13 295/295 .text __dt__11dBgS_GndChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_GndChk::~dBgS_GndChk() {
|
||||
// asm dBgS_GndChk::~dBgS_GndChk() {
|
||||
extern "C" asm void __dt__11dBgS_GndChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__11dBgS_GndChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077678-80077710 071FB8 0098+00 0/0 0/0 1/1 .text __ct__18dBgS_ObjGndChk_WtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjGndChk_Wtr::dBgS_ObjGndChk_Wtr() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__ct__18dBgS_ObjGndChk_WtrFv.s"
|
||||
dBgS_ObjGndChk_Wtr::dBgS_ObjGndChk_Wtr() {
|
||||
OffNormalGrp();
|
||||
OnWaterGrp();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077710-800777B0 072050 00A0+00 4/3 0/0 1/1 .text __dt__18dBgS_ObjGndChk_WtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjGndChk_Wtr::~dBgS_ObjGndChk_Wtr() {
|
||||
// asm dBgS_ObjGndChk_Wtr::~dBgS_ObjGndChk_Wtr() {
|
||||
extern "C" asm void __dt__18dBgS_ObjGndChk_WtrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__18dBgS_ObjGndChk_WtrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800777B0-80077848 0720F0 0098+00 0/0 0/0 61/61 .text __ct__18dBgS_ObjGndChk_SplFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjGndChk_Spl::dBgS_ObjGndChk_Spl() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__ct__18dBgS_ObjGndChk_SplFv.s"
|
||||
dBgS_ObjGndChk_Spl::dBgS_ObjGndChk_Spl() {
|
||||
OffNormalGrp();
|
||||
OnSpl();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077848-800778E8 072188 00A0+00 4/3 0/0 61/61 .text __dt__18dBgS_ObjGndChk_SplFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjGndChk_Spl::~dBgS_ObjGndChk_Spl() {
|
||||
// asm dBgS_ObjGndChk_Spl::~dBgS_ObjGndChk_Spl() {
|
||||
extern "C" asm void __dt__18dBgS_ObjGndChk_SplFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__18dBgS_ObjGndChk_SplFv.s"
|
||||
}
|
||||
@@ -247,7 +211,8 @@ asm dBgS_ObjGndChk_Spl::~dBgS_ObjGndChk_Spl() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjGndChk_All::~dBgS_ObjGndChk_All() {
|
||||
// asm dBgS_ObjGndChk_All::~dBgS_ObjGndChk_All() {
|
||||
extern "C" asm void __dt__18dBgS_ObjGndChk_AllFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__18dBgS_ObjGndChk_AllFv.s"
|
||||
}
|
||||
@@ -257,27 +222,25 @@ asm dBgS_ObjGndChk_All::~dBgS_ObjGndChk_All() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamGndChk::~dBgS_CamGndChk() {
|
||||
// asm dBgS_CamGndChk::~dBgS_CamGndChk() {
|
||||
extern "C" asm void __dt__14dBgS_CamGndChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__14dBgS_CamGndChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077A00-80077A98 072340 0098+00 0/0 5/5 1/1 .text __ct__18dBgS_CamGndChk_WtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamGndChk_Wtr::dBgS_CamGndChk_Wtr() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__ct__18dBgS_CamGndChk_WtrFv.s"
|
||||
dBgS_CamGndChk_Wtr::dBgS_CamGndChk_Wtr() {
|
||||
OffNormalGrp();
|
||||
OnWaterGrp();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077A98-80077B10 0723D8 0078+00 4/3 5/5 1/1 .text __dt__18dBgS_CamGndChk_WtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamGndChk_Wtr::~dBgS_CamGndChk_Wtr() {
|
||||
// asm dBgS_CamGndChk_Wtr::~dBgS_CamGndChk_Wtr() {
|
||||
extern "C" asm void __dt__18dBgS_CamGndChk_WtrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_gnd_chk/__dt__18dBgS_CamGndChk_WtrFv.s"
|
||||
}
|
||||
|
||||
@@ -41,31 +41,20 @@ SECTION_DATA extern void* __vt__15cBgS_GrpPassChk[3] = {
|
||||
};
|
||||
|
||||
/* 80077BA0-80077BC4 0724E0 0024+00 0/0 1/1 0/0 .text __ct__15dBgS_GrpPassChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_GrpPassChk::dBgS_GrpPassChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_grp_pass_chk/__ct__15dBgS_GrpPassChkFv.s"
|
||||
dBgS_GrpPassChk::dBgS_GrpPassChk() {
|
||||
mGrp = 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077BC4-80077C20 072504 005C+00 1/0 1/1 0/0 .text __dt__15dBgS_GrpPassChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_GrpPassChk::~dBgS_GrpPassChk() {
|
||||
// asm dBgS_GrpPassChk::~dBgS_GrpPassChk() {
|
||||
extern "C" asm void __dt__15dBgS_GrpPassChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_grp_pass_chk/__dt__15dBgS_GrpPassChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077C20-80077C68 072560 0048+00 1/0 0/0 0/0 .text __dt__15cBgS_GrpPassChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgS_GrpPassChk::~cBgS_GrpPassChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_grp_pass_chk/__dt__15cBgS_GrpPassChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgS_GrpPassChk::~cBgS_GrpPassChk() {}
|
||||
|
||||
+53
-106
@@ -6,25 +6,7 @@
|
||||
#include "d/bg/d_bg_s_lin_chk.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dBgS_HorseLinChk {
|
||||
/* 80078460 */ dBgS_HorseLinChk();
|
||||
/* 800784BC */ ~dBgS_HorseLinChk();
|
||||
};
|
||||
|
||||
struct dBgS_CamLinChk_NorWtr {
|
||||
/* 80077E78 */ dBgS_CamLinChk_NorWtr();
|
||||
/* 80077EE4 */ ~dBgS_CamLinChk_NorWtr();
|
||||
};
|
||||
|
||||
struct dBgS_CamLinChk {
|
||||
/* 80077DA4 */ dBgS_CamLinChk();
|
||||
/* 80077E00 */ ~dBgS_CamLinChk();
|
||||
};
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -269,20 +251,17 @@ SECTION_DATA extern void* __vt__11dBgS_LinChk[12] = {
|
||||
};
|
||||
|
||||
/* 80077C68-80077CDC 0725A8 0074+00 8/8 3/3 388/388 .text __ct__11dBgS_LinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinChk::dBgS_LinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__11dBgS_LinChkFv.s"
|
||||
dBgS_LinChk::dBgS_LinChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077CDC-80077D64 07261C 0088+00 12/11 5/5 378/378 .text __dt__11dBgS_LinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinChk::~dBgS_LinChk() {
|
||||
// asm dBgS_LinChk::~dBgS_LinChk() {
|
||||
extern "C" asm void __dt__11dBgS_LinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__11dBgS_LinChkFv.s"
|
||||
}
|
||||
@@ -290,190 +269,158 @@ asm dBgS_LinChk::~dBgS_LinChk() {
|
||||
|
||||
/* 80077D64-80077DA4 0726A4 0040+00 0/0 15/15 307/307 .text
|
||||
* Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_LinChk::Set(cXyz const* param_0, cXyz const* param_1, fopAc_ac_c const* param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c.s"
|
||||
void dBgS_LinChk::Set(cXyz const* pi_start, cXyz const* pi_end, fopAc_ac_c const* p_actor) {
|
||||
u32 id;
|
||||
|
||||
if (p_actor != NULL) {
|
||||
id = fopAcM_GetID(p_actor);
|
||||
} else {
|
||||
id = 0xFFFFFFFF;
|
||||
}
|
||||
Set2(pi_start, pi_end, id);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077DA4-80077E00 0726E4 005C+00 1/1 12/12 1/1 .text __ct__14dBgS_CamLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamLinChk::dBgS_CamLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__14dBgS_CamLinChkFv.s"
|
||||
dBgS_CamLinChk::dBgS_CamLinChk() {
|
||||
SetCam();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077E00-80077E78 072740 0078+00 5/4 12/12 1/1 .text __dt__14dBgS_CamLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamLinChk::~dBgS_CamLinChk() {
|
||||
// asm dBgS_CamLinChk::~dBgS_CamLinChk() {
|
||||
extern "C" asm void __dt__14dBgS_CamLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__14dBgS_CamLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077E78-80077EE4 0727B8 006C+00 0/0 0/0 1/1 .text __ct__21dBgS_CamLinChk_NorWtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamLinChk_NorWtr::dBgS_CamLinChk_NorWtr() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__21dBgS_CamLinChk_NorWtrFv.s"
|
||||
dBgS_CamLinChk_NorWtr::dBgS_CamLinChk_NorWtr() {
|
||||
OnWaterGrp();
|
||||
OnNormalGrp();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077EE4-80077F5C 072824 0078+00 4/3 0/0 1/1 .text __dt__21dBgS_CamLinChk_NorWtrFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_CamLinChk_NorWtr::~dBgS_CamLinChk_NorWtr() {
|
||||
// asm dBgS_CamLinChk_NorWtr::~dBgS_CamLinChk_NorWtr() {
|
||||
extern "C" asm void __dt__21dBgS_CamLinChk_NorWtrFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__21dBgS_CamLinChk_NorWtrFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077F5C-80077FB8 07289C 005C+00 0/0 4/4 9/9 .text __ct__14dBgS_ObjLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjLinChk::dBgS_ObjLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__14dBgS_ObjLinChkFv.s"
|
||||
dBgS_ObjLinChk::dBgS_ObjLinChk() {
|
||||
SetObj();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80077FB8-80078030 0728F8 0078+00 4/3 2/2 11/11 .text __dt__14dBgS_ObjLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ObjLinChk::~dBgS_ObjLinChk() {
|
||||
// asm dBgS_ObjLinChk::~dBgS_ObjLinChk() {
|
||||
extern "C" asm void __dt__14dBgS_ObjLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__14dBgS_ObjLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078030-8007808C 072970 005C+00 0/0 1/1 4/4 .text __ct__15dBgS_LinkLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinkLinChk::dBgS_LinkLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__15dBgS_LinkLinChkFv.s"
|
||||
dBgS_LinkLinChk::dBgS_LinkLinChk() {
|
||||
SetLink();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007808C-80078104 0729CC 0078+00 4/3 1/1 5/5 .text __dt__15dBgS_LinkLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_LinkLinChk::~dBgS_LinkLinChk() {
|
||||
// asm dBgS_LinkLinChk::~dBgS_LinkLinChk() {
|
||||
extern "C" asm void __dt__15dBgS_LinkLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__15dBgS_LinkLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078104-80078160 072A44 005C+00 0/0 0/0 1/1 .text __ct__15dBgS_BombLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_BombLinChk::dBgS_BombLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__15dBgS_BombLinChkFv.s"
|
||||
dBgS_BombLinChk::dBgS_BombLinChk() {
|
||||
SetBomb();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078160-800781D8 072AA0 0078+00 4/3 0/0 1/1 .text __dt__15dBgS_BombLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_BombLinChk::~dBgS_BombLinChk() {
|
||||
// asm dBgS_BombLinChk::~dBgS_BombLinChk() {
|
||||
extern "C" asm void __dt__15dBgS_BombLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__15dBgS_BombLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800781D8-80078240 072B18 0068+00 0/0 1/1 2/2 .text __ct__16dBgS_ArrowLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ArrowLinChk::dBgS_ArrowLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__16dBgS_ArrowLinChkFv.s"
|
||||
dBgS_ArrowLinChk::dBgS_ArrowLinChk() {
|
||||
SetArrow();
|
||||
OnNormalGrp();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078240-800782B8 072B80 0078+00 4/3 1/1 2/2 .text __dt__16dBgS_ArrowLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_ArrowLinChk::~dBgS_ArrowLinChk() {
|
||||
// asm dBgS_ArrowLinChk::~dBgS_ArrowLinChk() {
|
||||
extern "C" asm void __dt__16dBgS_ArrowLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__16dBgS_ArrowLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800782B8-80078314 072BF8 005C+00 0/0 1/1 1/1 .text __ct__20dBgS_BoomerangLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_BoomerangLinChk::dBgS_BoomerangLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__20dBgS_BoomerangLinChkFv.s"
|
||||
dBgS_BoomerangLinChk::dBgS_BoomerangLinChk() {
|
||||
SetBoomerang();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078314-8007838C 072C54 0078+00 4/3 1/1 1/1 .text __dt__20dBgS_BoomerangLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_BoomerangLinChk::~dBgS_BoomerangLinChk() {
|
||||
// asm dBgS_BoomerangLinChk::~dBgS_BoomerangLinChk() {
|
||||
extern "C" asm void __dt__20dBgS_BoomerangLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__20dBgS_BoomerangLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007838C-800783E8 072CCC 005C+00 0/0 1/1 0/0 .text __ct__15dBgS_RopeLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_RopeLinChk::dBgS_RopeLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__15dBgS_RopeLinChkFv.s"
|
||||
dBgS_RopeLinChk::dBgS_RopeLinChk() {
|
||||
SetRope();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800783E8-80078460 072D28 0078+00 4/3 1/1 0/0 .text __dt__15dBgS_RopeLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_RopeLinChk::~dBgS_RopeLinChk() {
|
||||
// asm dBgS_RopeLinChk::~dBgS_RopeLinChk() {
|
||||
extern "C" asm void __dt__15dBgS_RopeLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__15dBgS_RopeLinChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078460-800784BC 072DA0 005C+00 0/0 0/0 1/1 .text __ct__16dBgS_HorseLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_HorseLinChk::dBgS_HorseLinChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__ct__16dBgS_HorseLinChkFv.s"
|
||||
dBgS_HorseLinChk::dBgS_HorseLinChk() {
|
||||
SetHorse();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800784BC-80078534 072DFC 0078+00 4/3 0/0 1/1 .text __dt__16dBgS_HorseLinChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_HorseLinChk::~dBgS_HorseLinChk() {
|
||||
// asm dBgS_HorseLinChk::~dBgS_HorseLinChk() {
|
||||
extern "C" asm void __dt__16dBgS_HorseLinChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_lin_chk/__dt__16dBgS_HorseLinChkFv.s"
|
||||
}
|
||||
|
||||
@@ -4,82 +4,10 @@
|
||||
//
|
||||
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dBgW_Base {};
|
||||
|
||||
struct dBgW {
|
||||
/* 8007B970 */ dBgW();
|
||||
/* 8007B9C0 */ void Move();
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct dBgS_MoveBgActor {
|
||||
/* 80078624 */ dBgS_MoveBgActor();
|
||||
/* 80078688 */ bool CreateHeap();
|
||||
/* 80078690 */ bool Create();
|
||||
/* 80078698 */ bool Execute(f32 (**)[3][4]);
|
||||
/* 800786A0 */ bool Draw();
|
||||
/* 800786A8 */ bool Delete();
|
||||
/* 800786B0 */ bool IsDelete();
|
||||
/* 800786B8 */ bool ToFore();
|
||||
/* 800786C0 */ bool ToBack();
|
||||
/* 800786C8 */ void MoveBGCreateHeap();
|
||||
/* 800787BC */ void MoveBGCreate(char const*, int,
|
||||
void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*,
|
||||
csXyz*, csXyz*),
|
||||
u32, f32 (*)[3][4]);
|
||||
/* 800788DC */ void MoveBGDelete();
|
||||
/* 80078950 */ void MoveBGExecute();
|
||||
|
||||
static u8 m_name[4];
|
||||
static u8 m_dzb_id[4];
|
||||
static u8 m_set_func[4 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dBgS {
|
||||
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct cBgW_BgId {
|
||||
/* 802681D4 */ void ChkUsed() const;
|
||||
};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgW {
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
};
|
||||
|
||||
struct cBgS {
|
||||
/* 80074250 */ void Release(dBgW_Base*);
|
||||
};
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -120,12 +48,9 @@ extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -147,28 +72,18 @@ SECTION_DATA extern void* __vt__16dBgS_MoveBgActor[10] = {
|
||||
};
|
||||
|
||||
/* 80078624-80078668 072F64 0044+00 0/0 0/0 173/173 .text __ct__16dBgS_MoveBgActorFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_MoveBgActor::dBgS_MoveBgActor() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/__ct__16dBgS_MoveBgActorFv.s"
|
||||
dBgS_MoveBgActor::dBgS_MoveBgActor() {
|
||||
field_0x568 = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078668-80078688 072FA8 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void CheckCreateHeap(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/CheckCreateHeap__FP10fopAc_ac_c.s"
|
||||
static int CheckCreateHeap(fopAc_ac_c* p_actor) {
|
||||
return static_cast<dBgS_MoveBgActor*>(p_actor)->MoveBGCreateHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078688-80078690 072FC8 0008+00 1/0 0/0 2/0 .text CreateHeap__16dBgS_MoveBgActorFv */
|
||||
bool dBgS_MoveBgActor::CreateHeap() {
|
||||
return true;
|
||||
s32 dBgS_MoveBgActor::CreateHeap() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80078690-80078698 072FD0 0008+00 1/0 0/0 60/0 .text Create__16dBgS_MoveBgActorFv */
|
||||
@@ -208,55 +123,112 @@ bool dBgS_MoveBgActor::ToBack() {
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450F70-80450F74 000470 0004+00 2/2 0/0 0/0 .sbss m_name__16dBgS_MoveBgActor */
|
||||
u8 dBgS_MoveBgActor::m_name[4];
|
||||
const char* dBgS_MoveBgActor::m_name;
|
||||
|
||||
/* 80450F74-80450F78 000474 0004+00 2/2 0/0 0/0 .sbss m_dzb_id__16dBgS_MoveBgActor */
|
||||
u8 dBgS_MoveBgActor::m_dzb_id[4];
|
||||
int dBgS_MoveBgActor::m_dzb_id;
|
||||
|
||||
/* 80450F78-80450F80 000478 0004+04 2/2 0/0 1/1 .sbss m_set_func__16dBgS_MoveBgActor */
|
||||
u8 dBgS_MoveBgActor::m_set_func[4 + 4 /* padding */];
|
||||
MoveBGActor_SetFunc dBgS_MoveBgActor::m_set_func;
|
||||
|
||||
/* 800786C8-800787BC 073008 00F4+00 1/1 0/0 0/0 .text MoveBGCreateHeap__16dBgS_MoveBgActorFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_MoveBgActor::MoveBGCreateHeap() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/MoveBGCreateHeap__16dBgS_MoveBgActorFv.s"
|
||||
int dBgS_MoveBgActor::MoveBGCreateHeap() {
|
||||
if (!CreateHeap()) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (m_dzb_id == -1) {
|
||||
field_0x568 = NULL;
|
||||
return 1;
|
||||
} else {
|
||||
field_0x568 = new dBgW();
|
||||
if (field_0x568 != NULL) {
|
||||
cBgD_t* res = (cBgD_t*)dComIfG_getObjectRes(m_name, m_dzb_id);
|
||||
if (!field_0x568->Set(res, 1, &field_0x56c)) {
|
||||
if (m_set_func != NULL) {
|
||||
field_0x568->SetCrrFunc(m_set_func);
|
||||
}
|
||||
} else {
|
||||
goto RET; // probably fake match, clean up later
|
||||
}
|
||||
} else {
|
||||
RET:
|
||||
field_0x568 = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800787BC-800788DC 0730FC 0120+00 0/0 0/0 169/169 .text
|
||||
* MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f
|
||||
*/
|
||||
// close
|
||||
#ifdef NONMATCHING
|
||||
int dBgS_MoveBgActor::MoveBGCreate(char const* p_name, int dzb_id, MoveBGActor_SetFunc set_func,
|
||||
u32 param_3, Mtx* param_4) {
|
||||
if (param_4 == NULL) {
|
||||
mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z);
|
||||
mDoMtx_stack_c::YrotM(mCollisionRot.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), field_0x56c);
|
||||
} else {
|
||||
PSMTXCopy(*param_4, field_0x56c);
|
||||
}
|
||||
|
||||
m_name = p_name;
|
||||
m_dzb_id = dzb_id;
|
||||
m_set_func = set_func;
|
||||
|
||||
if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, param_3)) {
|
||||
return 5;
|
||||
} else {
|
||||
if (field_0x568 == NULL || dComIfG_Bgsp().Regist(field_0x568, this)) {
|
||||
return 5;
|
||||
} else {
|
||||
return Create() + 5;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_MoveBgActor::MoveBGCreate(char const* param_0, int param_1,
|
||||
void (*param_2)(dBgW*, void*, cBgS_PolyInfo const&, bool,
|
||||
cXyz*, csXyz*, csXyz*),
|
||||
u32 param_3, f32 (*param_4)[3][4]) {
|
||||
asm int dBgS_MoveBgActor::MoveBGCreate(char const* param_0, int param_1, MoveBGActor_SetFunc,
|
||||
u32 param_3, Mtx* param_4) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/func_800787BC.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 800788DC-80078950 07321C 0074+00 0/0 0/0 169/169 .text MoveBGDelete__16dBgS_MoveBgActorFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_MoveBgActor::MoveBGDelete() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/MoveBGDelete__16dBgS_MoveBgActorFv.s"
|
||||
bool dBgS_MoveBgActor::MoveBGDelete() {
|
||||
bool ret = Delete();
|
||||
|
||||
if (field_0x568 != NULL && field_0x568->ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(field_0x568);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078950-80078A14 073290 00C4+00 0/0 0/0 183/183 .text MoveBGExecute__16dBgS_MoveBgActorFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_MoveBgActor::MoveBGExecute() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_movebg_actor/MoveBGExecute__16dBgS_MoveBgActorFv.s"
|
||||
bool dBgS_MoveBgActor::MoveBGExecute() {
|
||||
Mtx* tmp = NULL;
|
||||
|
||||
bool ret = Execute(&tmp);
|
||||
if (tmp == NULL) {
|
||||
mDoMtx_stack_c::transS(mCurrent.mPosition.x, mCurrent.mPosition.y, mCurrent.mPosition.z);
|
||||
mDoMtx_stack_c::YrotM(mCollisionRot.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
PSMTXCopy(*mDoMtx_stack_c::get(), field_0x56c);
|
||||
} else {
|
||||
PSMTXCopy(*tmp, field_0x56c);
|
||||
}
|
||||
|
||||
if (field_0x568 != NULL) {
|
||||
field_0x568->Move();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
@@ -67,7 +67,8 @@ dBgS_PolyPassChk::dBgS_PolyPassChk()
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_PolyPassChk::~dBgS_PolyPassChk() {
|
||||
// asm dBgS_PolyPassChk::~dBgS_PolyPassChk() {
|
||||
extern "C" asm void __dt__16dBgS_PolyPassChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_poly_pass_chk/__dt__16dBgS_PolyPassChkFv.s"
|
||||
}
|
||||
|
||||
@@ -54,47 +54,33 @@ SECTION_DATA extern void* __vt__12dBgS_RoofChk[12] = {
|
||||
(void*)func_80079154,
|
||||
};
|
||||
|
||||
/* 804526F0-804526F4 000CF0 0004+00 1/1 0/0 0/0 .sdata2 @316 */
|
||||
SECTION_SDATA2 static u8 lit_316[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 80078FF4-80079090 073934 009C+00 0/0 10/10 1/1 .text __ct__12dBgS_RoofChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_RoofChk::dBgS_RoofChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_roof_chk/__ct__12dBgS_RoofChkFv.s"
|
||||
dBgS_RoofChk::dBgS_RoofChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
m_pos.x = 0.0f;
|
||||
m_pos.y = 0.0f;
|
||||
m_pos.z = 0.0f;
|
||||
setActorPid(0xFFFFFFFF);
|
||||
field_0x48 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80079090-80079124 0739D0 0094+00 4/3 11/11 1/1 .text __dt__12dBgS_RoofChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_RoofChk::~dBgS_RoofChk() {
|
||||
// asm dBgS_RoofChk::~dBgS_RoofChk() {
|
||||
extern "C" asm void __dt__12dBgS_RoofChkFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_roof_chk/__dt__12dBgS_RoofChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804526F4-804526F8 000CF4 0004+00 1/1 0/0 0/0 .sdata2 @333 */
|
||||
SECTION_SDATA2 static f32 lit_333 = 1000000000.0f;
|
||||
|
||||
/* 80079124-8007914C 073A64 0028+00 0/0 1/1 0/0 .text Init__12dBgS_RoofChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_RoofChk::Init() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_roof_chk/Init__12dBgS_RoofChkFv.s"
|
||||
void dBgS_RoofChk::Init() {
|
||||
SetNowY(1000000000.0f);
|
||||
ClearPi();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007914C-80079154 073A8C 0008+00 1/0 0/0 0/0 .text @16@__dt__12dBgS_RoofChkFv */
|
||||
#pragma push
|
||||
|
||||
@@ -7,33 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct dBgS_SphChk {
|
||||
/* 80078A14 */ dBgS_SphChk();
|
||||
/* 80078AC0 */ ~dBgS_SphChk();
|
||||
};
|
||||
|
||||
struct dBgS_Chk {
|
||||
/* 8007749C */ dBgS_Chk();
|
||||
/* 800774E8 */ ~dBgS_Chk();
|
||||
/* 80077560 */ void GetPolyPassChkInfo();
|
||||
/* 80077564 */ void GetGrpPassChkInfo();
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {
|
||||
/* 80268074 */ cBgS_PolyInfo();
|
||||
/* 802680B0 */ ~cBgS_PolyInfo();
|
||||
/* 80268120 */ void ClearPi();
|
||||
};
|
||||
|
||||
struct cBgS_Chk {
|
||||
/* 80267B4C */ cBgS_Chk();
|
||||
/* 80267B70 */ ~cBgS_Chk();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -88,24 +61,16 @@ SECTION_DATA extern void* __vt__11dBgS_SphChk[15 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 80078A14-80078AC0 073354 00AC+00 0/0 1/1 1/1 .text __ct__11dBgS_SphChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_SphChk::dBgS_SphChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_sph_chk/__ct__11dBgS_SphChkFv.s"
|
||||
dBgS_SphChk::dBgS_SphChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
setActorPid(0xFFFFFFFF);
|
||||
ClearPi();
|
||||
mCallback = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078AC0-80078B70 073400 00B0+00 5/4 2/2 0/0 .text __dt__11dBgS_SphChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_SphChk::~dBgS_SphChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_sph_chk/__dt__11dBgS_SphChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
dBgS_SphChk::~dBgS_SphChk() {}
|
||||
|
||||
/* 80078B70-80078B78 0734B0 0008+00 1/0 0/0 0/0 .text @20@__dt__11dBgS_SphChkFv */
|
||||
#pragma push
|
||||
|
||||
@@ -39,14 +39,10 @@ extern "C" void __dl__FPv();
|
||||
//
|
||||
|
||||
/* 80078B90-80078BB0 0734D0 0020+00 0/0 2/2 3/3 .text Set__14dBgS_SplGrpChkFR4cXyzf */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_SplGrpChk::Set(cXyz& param_0, f32 param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_spl_grp_chk/Set__14dBgS_SplGrpChkFR4cXyzf.s"
|
||||
void dBgS_SplGrpChk::Set(cXyz& ground, f32 roof) {
|
||||
m_ground = ground;
|
||||
m_roof = roof;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803ABA08-803ABA38 008B28 0030+00 2/2 0/0 0/0 .data __vt__14dBgS_SplGrpChk */
|
||||
@@ -65,46 +61,33 @@ SECTION_DATA extern void* __vt__14dBgS_SplGrpChk[12] = {
|
||||
(void*)func_80078D54,
|
||||
};
|
||||
|
||||
/* 804526E8-804526EC 000CE8 0004+00 1/1 0/0 0/0 .sdata2 @319 */
|
||||
SECTION_SDATA2 static u8 lit_319[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
|
||||
/* 804526EC-804526F0 000CEC 0004+00 1/1 0/0 0/0 .sdata2 @320 */
|
||||
SECTION_SDATA2 static f32 lit_320 = 1000000000.0f;
|
||||
|
||||
/* 80078BB0-80078C78 0734F0 00C8+00 0/0 1/1 0/0 .text __ct__14dBgS_SplGrpChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_SplGrpChk::dBgS_SplGrpChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_spl_grp_chk/__ct__14dBgS_SplGrpChkFv.s"
|
||||
dBgS_SplGrpChk::dBgS_SplGrpChk() {
|
||||
SetPolyPassChk(GetPolyPassChkInfo());
|
||||
SetGrpPassChk(GetGrpPassChkInfo());
|
||||
OffNormalGrp();
|
||||
|
||||
m_ground.x = 0.0f;
|
||||
m_ground.y = 0.0f;
|
||||
m_ground.z = 0.0f;
|
||||
m_roof = 1000000000.0f;
|
||||
m_height = 0.0f;
|
||||
|
||||
OffMoveBGOnly();
|
||||
OffIn();
|
||||
OffFind();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078C78-80078D0C 0735B8 0094+00 4/3 2/2 4/4 .text __dt__14dBgS_SplGrpChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_SplGrpChk::~dBgS_SplGrpChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_spl_grp_chk/__dt__14dBgS_SplGrpChkFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
dBgS_SplGrpChk::~dBgS_SplGrpChk() {}
|
||||
|
||||
/* 80078D0C-80078D4C 07364C 0040+00 0/0 1/1 0/0 .text Init__14dBgS_SplGrpChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgS_SplGrpChk::Init() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_spl_grp_chk/Init__14dBgS_SplGrpChkFv.s"
|
||||
void dBgS_SplGrpChk::Init() {
|
||||
OffIn();
|
||||
OffFind();
|
||||
SetHeight(GetPosP().y);
|
||||
ClearPi();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80078D4C-80078D54 07368C 0008+00 1/0 0/0 0/0 .text @16@__dt__14dBgS_SplGrpChkFv */
|
||||
#pragma push
|
||||
|
||||
@@ -1,35 +1,7 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d/bg/d_bg_s_wtr_chk
|
||||
//
|
||||
|
||||
#include "d/bg/d_bg_s_wtr_chk.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__11dBgS_WtrChkFv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__14dBgS_SplGrpChkFv();
|
||||
extern "C" extern void* __vt__11dBgS_WtrChk[12];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80079164-800791C4 073AA4 0060+00 0/0 2/2 3/3 .text __ct__11dBgS_WtrChkFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgS_WtrChk::dBgS_WtrChk() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_s_wtr_chk/__ct__11dBgS_WtrChkFv.s"
|
||||
dBgS_WtrChk::dBgS_WtrChk() {
|
||||
OnWaterGrp();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
+66
-85
@@ -4,18 +4,12 @@
|
||||
//
|
||||
|
||||
#include "d/bg/d_bg_w.h"
|
||||
#include "JSystem/JMath/JMATrigonometric.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -217,7 +211,6 @@ extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__8cM3dGPla[3];
|
||||
extern "C" extern void* __vt__8cM3dGAab[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
|
||||
//
|
||||
@@ -401,44 +394,16 @@ SECTION_DATA extern void* __vt__11cBgW_RwgElm[3 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 800791C4-800791D4 073B04 0010+00 1/1 0/0 0/0 .text __ct__11cBgW_RwgElmFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_RwgElm::cBgW_RwgElm() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__ct__11cBgW_RwgElmFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_RwgElm::cBgW_RwgElm() {}
|
||||
|
||||
/* 800791D4-8007921C 073B14 0048+00 2/1 0/0 0/0 .text __dt__11cBgW_RwgElmFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_RwgElm::~cBgW_RwgElm() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__11cBgW_RwgElmFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_RwgElm::~cBgW_RwgElm() {}
|
||||
|
||||
/* 8007921C-80079238 073B5C 001C+00 1/1 0/0 0/0 .text __ct__13cBgW_NodeTreeFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_NodeTree::cBgW_NodeTree() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__ct__13cBgW_NodeTreeFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_NodeTree::cBgW_NodeTree() {}
|
||||
|
||||
/* 80079238-80079294 073B78 005C+00 2/1 0/0 0/0 .text __dt__13cBgW_NodeTreeFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_NodeTree::~cBgW_NodeTree() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__13cBgW_NodeTreeFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_NodeTree::~cBgW_NodeTree() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804526F8-804526FC 000CF8 0004+00 6/6 0/0 0/0 .sdata2 @3717 */
|
||||
@@ -450,34 +415,47 @@ SECTION_SDATA2 static u8 lit_3717[4] = {
|
||||
};
|
||||
|
||||
/* 80079294-8007933C 073BD4 00A8+00 1/1 0/0 0/0 .text __ct__4cBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW::cBgW() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__ct__4cBgWFv.s"
|
||||
cBgW::cBgW() {
|
||||
pm_bgd = NULL;
|
||||
field_0x88 = 0x20;
|
||||
field_0x89 = 1;
|
||||
field_0x90 = 0;
|
||||
field_0x7c.set(FLOAT_LABEL(lit_3717), FLOAT_LABEL(lit_3717), FLOAT_LABEL(lit_3717));
|
||||
|
||||
pm_tri = NULL;
|
||||
pm_rwg = NULL;
|
||||
field_0xa4 = NULL;
|
||||
pm_node_tree = NULL;
|
||||
pm_grp = NULL;
|
||||
pm_vtx_tbl = NULL;
|
||||
pm_base_mtx = NULL;
|
||||
|
||||
PSMTXIdentity(m_inv_mtx);
|
||||
PSMTXIdentity(field_0x4c);
|
||||
field_0x92 = 0xFFFF;
|
||||
field_0x91 = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007933C-800793A4 073C7C 0068+00 2/1 1/1 5/5 .text __dt__4cBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW::~cBgW() {
|
||||
// asm cBgW::~cBgW() {
|
||||
extern "C" asm void __dt__4cBgWFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__4cBgWFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800793A4-800793C4 073CE4 0020+00 2/2 0/0 0/0 .text FreeArea__4cBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::FreeArea() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/FreeArea__4cBgWFv.s"
|
||||
void cBgW::FreeArea() {
|
||||
pm_tri = NULL;
|
||||
pm_rwg = NULL;
|
||||
pm_node_tree = NULL;
|
||||
field_0xa4 = NULL;
|
||||
pm_grp = NULL;
|
||||
pm_vtx_tbl = NULL;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800793C4-80079484 073D04 00C0+00 2/2 0/0 1/1 .text GlobalVtx__4cBgWFv */
|
||||
#pragma push
|
||||
@@ -523,7 +501,8 @@ asm void cBgW::SetTri() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_TriElm::~cBgW_TriElm() {
|
||||
// asm cBgW_TriElm::~cBgW_TriElm() {
|
||||
extern "C" asm void __dt__11cBgW_TriElmFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__11cBgW_TriElmFv.s"
|
||||
}
|
||||
@@ -648,7 +627,7 @@ SECTION_SDATA2 static f32 lit_4073 = 128.0f;
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::Set(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) {
|
||||
asm bool cBgW::Set(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/Set__4cBgWFP6cBgD_tUlPA3_A4_f.s"
|
||||
}
|
||||
@@ -658,7 +637,8 @@ asm void cBgW::Set(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_GrpElm::~cBgW_GrpElm() {
|
||||
// asm cBgW_GrpElm::~cBgW_GrpElm() {
|
||||
extern "C" asm void __dt__11cBgW_GrpElmFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__11cBgW_GrpElmFv.s"
|
||||
}
|
||||
@@ -720,7 +700,7 @@ asm void cBgW::LineCheckGrpRp(cBgS_LinChk* param_0, int param_1, int param_2) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::LineCheck(cBgS_LinChk* param_0) {
|
||||
asm bool cBgW::LineCheck(cBgS_LinChk* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/LineCheck__4cBgWFP11cBgS_LinChk.s"
|
||||
}
|
||||
@@ -880,7 +860,7 @@ bool cBgW::ChkGrpThrough(int param_0, cBgS_GrpPassChk* param_1, int param_2) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& param_0) const {
|
||||
asm s32 cBgW::GetGrpRoomIndex(cBgS_PolyInfo const& param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -911,7 +891,7 @@ asm void cBgW::GetTrans(cXyz* param_0) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::GetTriPnt(cBgS_PolyInfo const& param_0, cXyz* param_1, cXyz* param_2,
|
||||
asm bool cBgW::GetTriPnt(cBgS_PolyInfo const& param_0, cXyz* param_1, cXyz* param_2,
|
||||
cXyz* param_3) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz.s"
|
||||
@@ -944,7 +924,7 @@ asm void cBgW::GetTriPla(cBgS_PolyInfo const& param_0) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::GetGrpInf(cBgS_PolyInfo const& param_0) const {
|
||||
asm u32 cBgW::GetGrpInf(cBgS_PolyInfo const& param_0) const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetGrpInf__4cBgWCFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -985,7 +965,7 @@ asm void cBgW::GetMaskPolyInf0_NoShift(int param_0, u32 param_1) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetExitId(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetExitId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetExitId__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -995,7 +975,7 @@ asm void dBgW::GetExitId(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetPolyColor(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetPolyColor(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyColor__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1005,7 +985,7 @@ asm void dBgW::GetPolyColor(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1015,7 +995,7 @@ asm void dBgW::GetHorseNoEntry(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetSpecialCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetSpecialCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1035,7 +1015,7 @@ asm void dBgW::GetSpecialCode(int param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetMagnetCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1046,7 +1026,7 @@ asm void dBgW::GetMagnetCode(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetMonkeyBarsCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1096,7 +1076,7 @@ asm void dBgW::GetPolyArrowThrough(int param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetPolyHSStick(int param_0) {
|
||||
asm bool dBgW::GetPolyHSStick(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyHSStick__4dBgWFi.s"
|
||||
}
|
||||
@@ -1146,7 +1126,7 @@ asm void dBgW::GetShdwThrough(int param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetUnderwaterRoofCode(int param_0) {
|
||||
asm bool dBgW::GetUnderwaterRoofCode(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetUnderwaterRoofCode__4dBgWFi.s"
|
||||
}
|
||||
@@ -1177,7 +1157,7 @@ asm void dBgW::GetLinkNo(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetWallCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1187,7 +1167,7 @@ asm void dBgW::GetWallCode(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1197,7 +1177,7 @@ asm void dBgW::GetPolyAtt0(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1207,7 +1187,7 @@ asm void dBgW::GetPolyAtt1(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetGroundCode(cBgS_PolyInfo const& param_0) {
|
||||
asm bool dBgW::GetGroundCode(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetGroundCode__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1238,7 +1218,7 @@ asm void dBgW::GetIronBallThrough(int param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetAttackThrough(int param_0) {
|
||||
asm u32 dBgW::GetAttackThrough(int param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetAttackThrough__4dBgWFi.s"
|
||||
}
|
||||
@@ -1258,7 +1238,7 @@ asm void cBgW::GetPolyInf2(int param_0, u32 param_1, u32 param_2) const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetCamMoveBG(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetCamMoveBG(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1268,7 +1248,7 @@ asm void dBgW::GetCamMoveBG(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetRoomCamId(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetRoomCamId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetRoomCamId__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1278,7 +1258,7 @@ asm void dBgW::GetRoomCamId(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetRoomPathId(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetRoomPathId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetRoomPathId__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1288,7 +1268,7 @@ asm void dBgW::GetRoomPathId(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetRoomPathPntNo(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetRoomPathPntNo(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1318,7 +1298,7 @@ asm void cBgW::ChkNotReady() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::ChkLock() const {
|
||||
asm bool cBgW::ChkLock() const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/ChkLock__4cBgWCFv.s"
|
||||
}
|
||||
@@ -1328,7 +1308,7 @@ asm void cBgW::ChkLock() const {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void cBgW::ChkMoveBg() const {
|
||||
asm bool cBgW::ChkMoveBg() const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/ChkMoveBg__4cBgWCFv.s"
|
||||
}
|
||||
@@ -1648,7 +1628,7 @@ asm void dBgW::GetPolyGrpRoomInfId(cBgS_PolyInfo const& param_0) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::GetGrpSoundId(cBgS_PolyInfo const& param_0) {
|
||||
asm s32 dBgW::GetGrpSoundId(cBgS_PolyInfo const& param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo.s"
|
||||
}
|
||||
@@ -1758,7 +1738,7 @@ asm void dBgW::OffMoveFlag() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW::ChkMoveFlag() const {
|
||||
asm u32 dBgW::ChkMoveFlag() const {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/ChkMoveFlag__4dBgWCFv.s"
|
||||
}
|
||||
@@ -1778,7 +1758,8 @@ asm void dBgW_NewSet(cBgD_t* param_0, u32 param_1, f32 (*param_2)[3][4]) {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgW::~dBgW() {
|
||||
// asm dBgW::~dBgW() {
|
||||
extern "C" asm void __dt__4dBgWFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__4dBgWFv.s"
|
||||
}
|
||||
|
||||
+17
-52
@@ -7,28 +7,6 @@
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct fopAc_ac_c {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct dBgW_Base {
|
||||
/* 8007E5A8 */ dBgW_Base();
|
||||
/* 8007E640 */ ~dBgW_Base();
|
||||
/* 8007E69C */ void ClrDBgWBase();
|
||||
/* 8007E6D0 */ bool ChkMemoryError();
|
||||
/* 8007E6D8 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 8007E6DC */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&);
|
||||
/* 8007E6E0 */ void CalcDiffShapeAngleY(s16);
|
||||
};
|
||||
|
||||
struct cBgW_BgId {
|
||||
/* 8007E5F8 */ ~cBgW_BgId();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -128,44 +106,35 @@ SECTION_DATA extern void* __vt__9cBgW_BgId[3 + 1 /* padding */] = {
|
||||
};
|
||||
|
||||
/* 8007E5A8-8007E5F8 078EE8 0050+00 0/0 2/2 0/0 .text __ct__9dBgW_BaseFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgW_Base::dBgW_Base() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_base/__ct__9dBgW_BaseFv.s"
|
||||
dBgW_Base::dBgW_Base() {
|
||||
ClrDBgWBase();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E5F8-8007E640 078F38 0048+00 1/0 0/0 0/0 .text __dt__9cBgW_BgIdFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm cBgW_BgId::~cBgW_BgId() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_base/__dt__9cBgW_BgIdFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_BgId::~cBgW_BgId() {}
|
||||
|
||||
/* 8007E640-8007E69C 078F80 005C+00 1/0 2/2 0/0 .text __dt__9dBgW_BaseFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgW_Base::~dBgW_Base() {
|
||||
// asm dBgW_Base::~dBgW_Base() {
|
||||
extern "C" asm void __dt__9dBgW_BaseFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_base/__dt__9dBgW_BaseFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E69C-8007E6D0 078FDC 0034+00 1/1 1/1 0/0 .text ClrDBgWBase__9dBgW_BaseFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW_Base::ClrDBgWBase() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_base/ClrDBgWBase__9dBgW_BaseFv.s"
|
||||
void dBgW_Base::ClrDBgWBase() {
|
||||
m_roomId = 0xFF;
|
||||
m_priority = 2;
|
||||
field_0xa = 0xFF;
|
||||
m_diff_ShapeAngleY = 0;
|
||||
m_old_ShapeAngleY = 0;
|
||||
m_pushPull_Callback = NULL;
|
||||
m_pushPull_Ok = true;
|
||||
field_0xb = 0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007E6D0-8007E6D8 079010 0008+00 1/0 1/0 0/0 .text ChkMemoryError__9dBgW_BaseFv */
|
||||
bool dBgW_Base::ChkMemoryError() {
|
||||
@@ -186,11 +155,7 @@ void dBgW_Base::CallArrowStickCallBack(fopAc_ac_c* param_0, fopAc_ac_c* param_1,
|
||||
|
||||
/* 8007E6E0-8007E6F4 079020 0014+00 0/0 1/1 0/0 .text CalcDiffShapeAngleY__9dBgW_BaseFs
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void dBgW_Base::CalcDiffShapeAngleY(s16 param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_base/CalcDiffShapeAngleY__9dBgW_BaseFs.s"
|
||||
void dBgW_Base::CalcDiffShapeAngleY(s16 param_0) {
|
||||
m_diff_ShapeAngleY = param_0 - m_old_ShapeAngleY;
|
||||
m_old_ShapeAngleY = param_0;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
+2
-153
@@ -11,154 +11,10 @@
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct sBgPc {};
|
||||
|
||||
struct fopAc_ac_c {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct dBgW_Base {
|
||||
/* 8007E5A8 */ dBgW_Base();
|
||||
/* 8007E640 */ ~dBgW_Base();
|
||||
/* 8007E69C */ void ClrDBgWBase();
|
||||
/* 8007E6D0 */ bool ChkMemoryError();
|
||||
/* 8007E6D8 */ void CallRideCallBack(fopAc_ac_c*, fopAc_ac_c*);
|
||||
/* 8007E6DC */ void CallArrowStickCallBack(fopAc_ac_c*, fopAc_ac_c*, cXyz&);
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cBgS_ShdwDraw {};
|
||||
|
||||
struct dBgPc {
|
||||
/* 80074048 */ void setCode(sBgPc&);
|
||||
};
|
||||
|
||||
struct Vec {};
|
||||
|
||||
struct dBgS_Acch {
|
||||
/* 800771E4 */ void GetSpeedY();
|
||||
/* 80077200 */ void GetWallAddY(Vec&);
|
||||
/* 80077288 */ void SetWallPolyIndex(int, int);
|
||||
/* 800772E8 */ void CalcMovePosWork();
|
||||
};
|
||||
|
||||
struct dBgS_SphChk {};
|
||||
|
||||
struct dBgS_CaptPoly {};
|
||||
|
||||
struct dBgS_SplGrpChk {};
|
||||
|
||||
struct KC_PrismData {};
|
||||
|
||||
struct cBgS_GrpPassChk {};
|
||||
|
||||
struct cBgS_LinChk {};
|
||||
|
||||
struct cBgS_GndChk {};
|
||||
|
||||
struct dBgS_RoofChk {};
|
||||
|
||||
struct cBgS_PolyPassChk {};
|
||||
|
||||
struct dBgWKCol {
|
||||
/* 8007E6F4 */ dBgWKCol();
|
||||
/* 8007E74C */ ~dBgWKCol();
|
||||
/* 8007E7D0 */ void initKCollision(void*);
|
||||
/* 8007E804 */ void create(void*, void*);
|
||||
/* 8007E850 */ void getTriNrm(KC_PrismData*, Vec**) const;
|
||||
/* 8007E86C */ void ChkNotReady() const;
|
||||
/* 8007E87C */ bool ChkLock() const;
|
||||
/* 8007E884 */ bool ChkMoveBg() const;
|
||||
/* 8007E88C */ bool ChkMoveFlag() const;
|
||||
/* 8007E894 */ void GetTriPla(cBgS_PolyInfo const&) const;
|
||||
/* 8007E8C0 */ void GetTriPla(int) const;
|
||||
/* 8007E980 */ void GetTriPnt(cBgS_PolyInfo const&, cXyz*, cXyz*, cXyz*) const;
|
||||
/* 8007E9A4 */ void GetTriPnt(int, Vec*, Vec*, Vec*) const;
|
||||
/* 8007E9D4 */ void GetTriPnt(KC_PrismData const*, Vec*, Vec*, Vec*) const;
|
||||
/* 8007EB28 */ void GetBnd() const;
|
||||
/* 8007EB30 */ void GetGrpInf(cBgS_PolyInfo const&) const;
|
||||
/* 8007EB6C */ void OffMoveFlag();
|
||||
/* 8007EB70 */ void getPolyCode(int, dBgPc*) const;
|
||||
/* 8007EBC4 */ void chkPolyThrough(dBgPc*, cBgS_PolyPassChk*, cBgS_GrpPassChk*, cXyz&) const;
|
||||
/* 8007EE34 */ void LineCheck(cBgS_LinChk*);
|
||||
/* 8007F628 */ void GroundCross(cBgS_GndChk*);
|
||||
/* 8007F9A4 */ void ShdwDraw(cBgS_ShdwDraw*);
|
||||
/* 8007FF00 */ void ChkShdwDrawThrough(dBgPc*);
|
||||
/* 8007FF1C */ void CaptPoly(dBgS_CaptPoly&);
|
||||
/* 80080330 */ void WallCorrectSort(dBgS_Acch*);
|
||||
/* 800811A0 */ void WallCorrect(dBgS_Acch*);
|
||||
/* 80081E18 */ void RoofChk(dBgS_RoofChk*);
|
||||
/* 80082184 */ void SplGrpChk(dBgS_SplGrpChk*);
|
||||
/* 800824EC */ void SphChk(dBgS_SphChk*, void*);
|
||||
/* 800829AC */ void GetTopUnder(f32*, f32*) const;
|
||||
/* 800829F0 */ void GetGrpRoomIndex(cBgS_PolyInfo const&) const;
|
||||
/* 80082A20 */ void GetExitId(cBgS_PolyInfo const&);
|
||||
/* 80082A50 */ void GetPolyColor(cBgS_PolyInfo const&);
|
||||
/* 80082A80 */ void GetHorseNoEntry(cBgS_PolyInfo const&);
|
||||
/* 80082AB0 */ void GetSpecialCode(cBgS_PolyInfo const&);
|
||||
/* 80082AE0 */ void GetSpecialCode(int);
|
||||
/* 80082B0C */ void GetMagnetCode(cBgS_PolyInfo const&);
|
||||
/* 80082B3C */ void GetMonkeyBarsCode(cBgS_PolyInfo const&);
|
||||
/* 80082B6C */ void GetPolyObjThrough(int);
|
||||
/* 80082B98 */ void GetPolyCamThrough(int);
|
||||
/* 80082BC4 */ void GetPolyLinkThrough(int);
|
||||
/* 80082BF0 */ void GetPolyArrowThrough(int);
|
||||
/* 80082C1C */ void GetPolyHSStick(int);
|
||||
/* 80082C48 */ void GetPolyBoomerangThrough(int);
|
||||
/* 80082C74 */ void GetPolyRopeThrough(int);
|
||||
/* 80082CA0 */ void GetPolyBombThrough(int);
|
||||
/* 80082CCC */ void GetUnderwaterRoofCode(int);
|
||||
/* 80082CF8 */ void GetShdwThrough(int);
|
||||
/* 80082D24 */ void GetLinkNo(cBgS_PolyInfo const&);
|
||||
/* 80082D54 */ void GetWallCode(cBgS_PolyInfo const&);
|
||||
/* 80082D84 */ void GetPolyAtt0(cBgS_PolyInfo const&);
|
||||
/* 80082DB4 */ void GetPolyAtt1(cBgS_PolyInfo const&);
|
||||
/* 80082DE4 */ void GetGroundCode(cBgS_PolyInfo const&);
|
||||
/* 80082E14 */ void GetIronBallThrough(int);
|
||||
/* 80082E40 */ void GetAttackThrough(int);
|
||||
/* 80082E6C */ void GetCamMoveBG(cBgS_PolyInfo const&);
|
||||
/* 80082E9C */ void GetRoomCamId(cBgS_PolyInfo const&);
|
||||
/* 80082ECC */ void GetRoomPathId(cBgS_PolyInfo const&);
|
||||
/* 80082EFC */ void GetRoomPathPntNo(cBgS_PolyInfo const&);
|
||||
/* 80082F2C */ void GetPolyGrpRoomInfId(cBgS_PolyInfo const&);
|
||||
/* 80082F5C */ void GetGrpSoundId(cBgS_PolyInfo const&);
|
||||
/* 80082F8C */ void CrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 80082F90 */ void TransPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
/* 80082F94 */ void MatrixCrrPos(cBgS_PolyInfo const&, void*, bool, cXyz*, csXyz*, csXyz*);
|
||||
};
|
||||
|
||||
struct dBgS_PolyPassChk {
|
||||
/* 80078F04 */ void ChkNoHorse();
|
||||
};
|
||||
|
||||
struct dBgPlc {
|
||||
/* 80074074 */ dBgPlc();
|
||||
/* 80074080 */ ~dBgPlc();
|
||||
/* 800740C4 */ void getCode(int, sBgPc**) const;
|
||||
/* 800740DC */ void getGrpCode(int) const;
|
||||
};
|
||||
|
||||
struct cM3dGTri {
|
||||
/* 8026F8C8 */ void set(Vec const*, Vec const*, Vec const*, Vec const*);
|
||||
};
|
||||
|
||||
struct cM3dGSph {
|
||||
/* 8026F76C */ void GetMinMaxCube(cXyz&, cXyz&) const;
|
||||
};
|
||||
|
||||
struct cM3dGPla {
|
||||
/* 8026F52C */ void SetupNP(Vec const&, Vec const&);
|
||||
};
|
||||
|
||||
struct cM3dGCyl {
|
||||
/* 8026F24C */ void calcMinMax(cXyz*, cXyz*);
|
||||
};
|
||||
|
||||
struct cM2dGCir {};
|
||||
|
||||
struct JMath {
|
||||
static u8 sincosTable_[65536];
|
||||
};
|
||||
@@ -268,12 +124,6 @@ extern "C" void SetupNP__8cM3dGPlaFRC3VecRC3Vec();
|
||||
extern "C" void GetMinMaxCube__8cM3dGSphCFR4cXyzR4cXyz();
|
||||
extern "C" void set__8cM3dGTriFPC3VecPC3VecPC3VecPC3Vec();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void PSVECAdd();
|
||||
extern "C" void PSVECSubtract();
|
||||
extern "C" void PSVECScale();
|
||||
extern "C" void PSVECDotProduct();
|
||||
extern "C" void PSVECCrossProduct();
|
||||
extern "C" void PSVECSquareDistance();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void __save_gpr();
|
||||
@@ -289,8 +139,6 @@ extern "C" extern void* __vt__8cM3dGAab[3];
|
||||
extern "C" extern void* __vt__8cM3dGTri[3];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u32 __float_nan;
|
||||
extern "C" extern f32 G_CM3D_F_ABS_MIN[1 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
@@ -375,7 +223,8 @@ asm dBgWKCol::dBgWKCol() {
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgWKCol::~dBgWKCol() {
|
||||
// asm dBgWKCol::~dBgWKCol() {
|
||||
extern "C" asm void __dt__8dBgWKColFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w_kcol/__dt__8dBgWKColFv.s"
|
||||
}
|
||||
|
||||
@@ -32,11 +32,6 @@ struct dPa_control_c {
|
||||
cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct dBgS_CamGndChk_Wtr {
|
||||
/* 80077A00 */ dBgS_CamGndChk_Wtr();
|
||||
/* 80077A98 */ ~dBgS_CamGndChk_Wtr();
|
||||
};
|
||||
|
||||
struct color_RGB_class {};
|
||||
|
||||
struct Z2SeMgr {
|
||||
|
||||
Reference in New Issue
Block a user