d_a_obj_lv6bemos2 and d_a_obj_lv6bemos almost equivalent (#2527)

* initial work

* All but one function equivalent

* Missed comment that needed to be removed

* initial work

* got to CreateHeap

* d_a_obj_lv6bemos almost equivalent
This commit is contained in:
Carco_21 2025-07-15 16:05:04 -04:00 committed by GitHub
parent 5c86d6d26f
commit c0717e1e56
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 1609 additions and 1412 deletions

View File

@ -1,6 +1,8 @@
#ifndef D_A_OBJ_LV6BEMOS_H
#define D_A_OBJ_LV6BEMOS_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@ -11,23 +13,51 @@
* @details
*
*/
class daObjL6Bm_c : public fopAc_ac_c {
class daObjL6Bm_c : public dBgS_MoveBgActor {
public:
typedef void (daObjL6Bm_c::*actionFunc)();
/* 80C7CE24 */ void initBaseMtx();
/* 80C7CE60 */ void setBaseMtx();
/* 80C7CED4 */ void Create();
/* 80C7CFD0 */ void CreateHeap();
/* 80C7D2F8 */ void create1st();
/* 80C7D3A4 */ void Execute(f32 (**)[3][4]);
/* 80C7CED4 */ int Create();
/* 80C7CFD0 */ int CreateHeap();
/* 80C7D2F8 */ cPhs__Step create1st();
/* 80C7D3A4 */ int Execute(f32 (**)[3][4]);
/* 80C7D4F4 */ void action();
/* 80C7D598 */ void actionWait();
/* 80C7D6CC */ void actionFindPlayer();
/* 80C7D894 */ void actionAttack();
/* 80C7D898 */ void Draw();
/* 80C7DABC */ void Delete();
/* 80C7D898 */ int Draw();
/* 80C7DABC */ int Delete();
private:
/* 0x568 */ u8 field_0x568[0x918 - 0x568];
void setAction(u8 action) { mAction = action; }
u8 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getArg0() { return fopAcM_GetParamBit(this, 0x10, 8); }
u8 getArg1() { return fopAcM_GetParamBit(this, 0x18, 8); }
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mBeamosModel;
/* 0x5AC */ dCcD_Stts mStts;
/* 0x5E8 */ dCcD_Cps field_0x5e8;
/* 0x72C */ cM3dGCpsS field_0x72c;
/* 0x748 */ dCcD_Sph field_0x748;
/* 0x880 */ J3DModel* mBeamEffectModel;
/* 0x884 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x888 */ mDoExt_btkAnm* mpBtkAnm2;
/* 0x88C */ mDoExt_bckAnm* mBeamBck;
/* 0x890 */ u8 field_0x890;
/* 0x891 */ u8 field_0x891;
/* 0x892 */ s16 field_0x892;
/* 0x894 */ cXyz field_0x894;
/* 0x8A0 */ u8 field_0x8a0[0x8b2 - 0x8a0];
/* 0x8B2 */ s16 field_0x8b2;
/* 0x8B4 */ s16 field_0x8b4;
/* 0x8B8 */ dBgS_ObjGndChk mObjGndChk;
/* 0x90C */ f32 field_0x90c;
/* 0x910 */ u8 mAction;
/* 0x911 */ u8 field_0x911;
/* 0x914 */ f32 field_0x914;
};
STATIC_ASSERT(sizeof(daObjL6Bm_c) == 0x918);

View File

@ -1,6 +1,8 @@
#ifndef D_A_OBJ_LV6BEMOS2_H
#define D_A_OBJ_LV6BEMOS2_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@ -11,20 +13,23 @@
* @details
*
*/
class daObjLv6Bm_c : public fopAc_ac_c {
class daObjLv6Bm_c : public dBgS_MoveBgActor {
public:
typedef void (daObjLv6Bm_c::*actionFunc)();
typedef void (daObjLv6Bm_c::*effectFunc)();
/* 80C7E30C */ void initBaseMtx();
/* 80C7E374 */ void setBaseMtx();
/* 80C7E448 */ void Create();
/* 80C7E764 */ void CreateHeap();
/* 80C7EB7C */ void create1st();
/* 80C7EC6C */ void Execute(f32 (**)[3][4]);
/* 80C7E448 */ int Create();
/* 80C7E764 */ int CreateHeap();
/* 80C7EB7C */ cPhs__Step create1st();
/* 80C7EC6C */ int Execute(f32 (**)[3][4]);
/* 80C7EE50 */ void action();
/* 80C7F2A4 */ void calcBeam();
/* 80C7F904 */ void checkFindPlayer();
/* 80C7FA54 */ void checkSearchPlayer();
/* 80C7FBA4 */ void getSearchDistance();
/* 80C7FBFC */ void getBeamSearchDistance();
/* 80C7F904 */ int checkFindPlayer();
/* 80C7FA54 */ int checkSearchPlayer();
/* 80C7FBA4 */ f32 getSearchDistance();
/* 80C7FBFC */ f32 getBeamSearchDistance();
/* 80C7FC54 */ void effect_proc();
/* 80C7FD8C */ void effectWait();
/* 80C7FD90 */ void initEffectSet0();
@ -41,11 +46,89 @@ public:
/* 80C81154 */ void actionDead();
/* 80C81428 */ void initActionEnd();
/* 80C814FC */ void actionEnd();
/* 80C81500 */ void Draw();
/* 80C816A8 */ void Delete();
/* 80C81500 */ int Draw();
/* 80C816A8 */ int Delete();
private:
/* 0x568 */ u8 field_0x568[0xabc - 0x568];
u8 getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getSwNo2() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getSwNo3() { return fopAcM_GetParamBit(this, 16, 8); }
s16 getHeadJoint() { return mJoints[0]; }
s16 getBigGearJoint() { return mJoints[1]; }
s16 getSmallGear0Joint() { return mJoints[2]; }
s16 getSmallGear1Joint() { return mJoints[3]; }
s16 getSmallGear2Joint() { return mJoints[4]; }
u8 getSearchDist() { return fopAcM_GetParamBit(this, 0x1C, 4); }
u16 getBeamSearchDist() { return field_0xa32 & 15; }
BOOL checkLockOnCamera() { return (field_0xa32 & 0x8000) >> 15; }
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mBeamosModel;
/* 0x5AC */ mDoExt_brkAnm* mpBrkAnm;
/* 0x5B0 */ mDoExt_bckAnm* mpBckAnm;
/* 0x5B4 */ J3DModel* mBeamEffectModel;
/* 0x5B8 */ mDoExt_btkAnm* mpBtkAnm;
/* 0x5BC */ mDoExt_btkAnm* mpBtkAnm2;
/* 0x5C0 */ mDoExt_bckAnm* mpBckAnm2;
/* 0x5C4 */ dCcD_Stts mStts;
/* 0x600 */ dCcD_Sph field_0x600;
/* 0x738 */ dCcD_Cps field_0x738;
/* 0x87C */ dCcD_Cyl field_0x87c;
/* 0x9B8 */ s16 mJoints[5];
/* 0x9C2 */ s16 field_0x9c2;
/* 0x9C4 */ s16 field_0x9c4;
/* 0x9C6 */ s16 field_0x9c6;
/* 0x9C8 */ s16 field_0x9c8;
/* 0x9CA */ s16 field_0x9ca;
/* 0x9CC */ s16 field_0x9cc;
/* 0x9CE */ s16 field_0x9ce;
/* 0x9D0 */ s16 field_0x9d0;
/* 0x9D2 */ s16 field_0x9d2;
/* 0x9D4 */ s16 field_0x9d4;
/* 0x9D6 */ s16 field_0x9d6;
/* 0x9D8 */ s16 field_0x9d8;
/* 0x9DA */ s16 field_0x9da;
/* 0x9DC */ s16 field_0x9dc;
/* 0x9DE */ s16 field_0x9de;
/* 0x9E0 */ J3DMaterial* mEyeMaterial;
/* 0x9E4 */ cXyz field_0x9e4;
/* 0x9F0 */ csXyz field_0x9f0;
/* 0x9F8 */ cXyz field_0x9f8;
/* 0xA04 */ u8 field_0xa04[0xa0c - 0xa04];
/* 0xA0C */ f32 field_0xa0c;
/* 0xA10 */ u8 field_0xa10;
/* 0xA11 */ u8 field_0xa11;
/* 0xA12 */ u8 field_0xa12;
/* 0xA13 */ u8 field_0xa13;
/* 0xA14 */ s8 field_0xa14;
/* 0xA15 */ u8 field_0xa15;
/* 0xA16 */ u8 mMode;
/* 0xA17 */ u8 field_0xa17;
/* 0xA18 */ u8 field_0xa18;
/* 0xA19 */ s8 field_0xa19;
/* 0xA1A */ u8 field_0xa1a;
/* 0xA1B */ u8 field_0xa1b;
/* 0xA1C */ u8 field_0xa1c;
/* 0xA20 */ int field_0xa20;
/* 0XA24 */ JPABaseEmitter* field_0xa24;
/* 0xA28 */ f32 field_0xa28;
/* 0xA2C */ f32 field_0xa2c;
/* 0xA30 */ u16 field_0xa30;
/* 0xA32 */ u16 field_0xa32;
/* 0xA34 */ s16 field_0xa34;
/* 0xA36 */ u8 field_0xa36;
/* 0xA37 */ u8 field_0xa37;
/* 0xA38 */ JPABaseEmitter* field_0xa38[2];
/* 0xA40 */ JPABaseEmitter* field_0xa40[4];
/* 0xA50 */ JPABaseEmitter* field_0xa50;
/* 0xA54 */ JPABaseEmitter* field_0xa54;
/* 0xA58 */ cXyz field_0xa58;
/* 0xA64 */ cXyz field_0xa64;
/* 0xA70 */ cXyz field_0xa70;
/* 0xA7C */ Z2SoundObjSimple field_0xa7c;
/* 0xA9C */ Z2SoundObjSimple field_0xa9c;
};
STATIC_ASSERT(sizeof(daObjLv6Bm_c) == 0xabc);

View File

@ -835,6 +835,11 @@ public:
getTriPla(&poly);
return cBgW_CheckBWall(poly.mNormal.y);
}
static bool checkGroundHit() {
cM3dGPla poly;
getTriPla(&poly);
return cBgW_CheckBGround(poly.mNormal.y);
}
static dBgS_ObjLinChk mLineCheck;
};

View File

@ -4,133 +4,31 @@
*/
#include "d/actor/d_a_obj_lv6bemos.h"
#include "SSystem/SComponent/c_lib.h"
#include "d/actor/d_a_player.h"
#include "d/d_cc_d.h"
#include "dol2asm.h"
enum Obj_lv6bm_RES_File_ID {
/* BCK */
/* 0x07 */ BCK_EF_BIMOBEAM = 0x07,
//
// Forward References:
//
/* BMDE */
/* 0x0A */ BMDE_BM6 = 0xA,
extern "C" static void nodeCallBack__FP8J3DJointi();
extern "C" void initBaseMtx__11daObjL6Bm_cFv();
extern "C" void setBaseMtx__11daObjL6Bm_cFv();
extern "C" void Create__11daObjL6Bm_cFv();
extern "C" void CreateHeap__11daObjL6Bm_cFv();
extern "C" void __dt__12J3DFrameCtrlFv();
extern "C" void create1st__11daObjL6Bm_cFv();
extern "C" void Execute__11daObjL6Bm_cFPPA3_A4_f();
extern "C" void action__11daObjL6Bm_cFv();
extern "C" void actionWait__11daObjL6Bm_cFv();
extern "C" void actionFindPlayer__11daObjL6Bm_cFv();
extern "C" void actionAttack__11daObjL6Bm_cFv();
extern "C" void Draw__11daObjL6Bm_cFv();
extern "C" void __dt__8cM3dGPlaFv();
extern "C" void Delete__11daObjL6Bm_cFv();
extern "C" static void daObjL6Bm_create1st__FP11daObjL6Bm_c();
extern "C" void __dt__14dBgS_ObjGndChkFv();
extern "C" void __dt__8cM3dGSphFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void __dt__10dCcD_GSttsFv();
extern "C" static void daObjL6Bm_MoveBGDelete__FP11daObjL6Bm_c();
extern "C" static void daObjL6Bm_MoveBGExecute__FP11daObjL6Bm_c();
extern "C" static void daObjL6Bm_MoveBGDraw__FP11daObjL6Bm_c();
extern "C" void __dt__10cCcD_GSttsFv();
extern "C" void func_80C7DE90(void* _this, u8*);
extern "C" static void func_80C7DEAC();
extern "C" static void func_80C7DEB4();
extern "C" static void func_80C7DEBC();
extern "C" extern char const* const d_a_obj_lv6bemos__stringBase0;
/* BMDR */
/* 0x0D */ BMDR_EF_BIMOBEAM = 0xD,
/* 0x0E */ BMDR_K_BIMO00,
//
// External References:
//
/* BTK */
/* 0x11 */ BTK_EF_BIMOBEAM = 0x11,
/* 0x12 */ BTK_EF_BIMOBEAM_0FF,
/* 0x13 */ BTK_EF_BIMOBEAM_ON,
extern "C" void mDoMtx_XrotM__FPA4_fs();
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void push__14mDoMtx_stack_cFv();
extern "C" void pop__14mDoMtx_stack_cFv();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb();
extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj();
extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla();
extern "C" void __ct__11dBgS_GndChkFv();
extern "C" void __dt__11dBgS_GndChkFv();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void SetObj__16dBgS_PolyPassChkFv();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CpsFRC11dCcD_SrcCps();
extern "C" void CalcAtVec__8dCcD_CpsFv();
extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void cM_atan2s__Fff();
extern "C" void __ct__8cM3dGCpsFv();
extern "C" void Set__8cM3dGCpsFRC9cM3dGCpsS();
extern "C" void SetC__8cM3dGSphFRC4cXyz();
extern "C" void cLib_addCalc0__FPfff();
extern "C" void cLib_addCalcAngleS2__FPssss();
extern "C" void cLib_targetAngleY__FPC3VecPC3Vec();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_25();
extern "C" void _savegpr_27();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_25();
extern "C" void _restgpr_27();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__8dCcD_Cps[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__12cCcD_CpsAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" u8 mCurrentMtx__6J3DSys[48];
extern "C" extern u8 data_80C7E138[4];
/* DZB */
/* 0x16 */ DZB_K_BIMO00 = 0x16,
/* 0x17 */ DZB_LV6_OBJ_BEMOS,
};
//
// Declarations:
//
/* ############################################################################################## */
/* 80C7DECC-80C7DF0C 000000 0040+00 5/5 0/0 0/0 .rodata l_sph_src */
const static dCcD_SrcSph l_sph_src = {
{
@ -144,120 +42,83 @@ const static dCcD_SrcSph l_sph_src = {
} // mSphAttr
};
/* 80C7DF0C-80C7DF10 000040 0004+00 0/1 0/0 0/0 .rodata @3728 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3728 = 1.0f / 10.0f;
COMPILER_STRIP_GATE(0x80C7DF0C, &lit_3728);
#pragma pop
/* 80C7DF10-80C7DF14 000044 0004+00 0/1 0/0 0/0 .rodata @3729 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3729 = 20.0f;
COMPILER_STRIP_GATE(0x80C7DF10, &lit_3729);
#pragma pop
/* 80C7DF14-80C7DF18 000048 0004+00 0/1 0/0 0/0 .rodata @3730 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3730 = 200.0f;
COMPILER_STRIP_GATE(0x80C7DF14, &lit_3730);
#pragma pop
/* 80C7DF18-80C7DF1C 00004C 0004+00 0/3 0/0 0/0 .rodata @3731 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3731[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80C7DF18, &lit_3731);
#pragma pop
/* 80C7DF1C-80C7DF24 000050 0008+00 0/1 0/0 0/0 .rodata @3732 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3732[8] = {
0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C7DF1C, &lit_3732);
#pragma pop
/* 80C7DF24-80C7DF2C 000058 0008+00 0/1 0/0 0/0 .rodata @3733 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3733[8] = {
0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C7DF24, &lit_3733);
#pragma pop
/* 80C7DF2C-80C7DF34 000060 0008+00 0/1 0/0 0/0 .rodata @3734 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3734[8] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C7DF2C, &lit_3734);
#pragma pop
/* 80C7DF34-80C7DF38 000068 0004+00 0/1 0/0 0/0 .rodata @3735 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3735 = 1200.0f;
COMPILER_STRIP_GATE(0x80C7DF34, &lit_3735);
#pragma pop
/* 80C7CB18-80C7CE24 000078 030C+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */
static void nodeCallBack(J3DJoint* param_0, int param_1) {
static int nodeCallBack(J3DJoint* i_joint, int param_2) {
// NONMATCHING
if (param_2 == 0) {
int jntNo = i_joint->getJntNo();
J3DModel* model = j3dSys.getModel();
daObjL6Bm_c* i_this = (daObjL6Bm_c*)model->getUserArea();
mDoMtx_stack_c::copy(model->getAnmMtx(jntNo));
if (jntNo == 1) {
mDoMtx_stack_c::XrotM(i_this->field_0x892);
} else if (jntNo == 2) {
mDoMtx_stack_c::push();
mDoMtx_stack_c::multVecZero(&i_this->field_0x894);
daPy_py_c* player = (daPy_py_c*)dComIfGp_getPlayer(0);
if (i_this->field_0x891 != 0) {
cLib_addCalc0(&i_this->field_0x914, 0.1f, 20.0f);
} else {
i_this->field_0x914 = 200.0f;
}
f32 fVar1 = player->current.pos.absXZ(i_this->field_0x894);
if (fVar1 > i_this->field_0x914) {
fVar1 -= i_this->field_0x914;
}
s16 sVar1 = cM_atan2s(i_this->field_0x894.y - player->current.pos.y, fVar1);
if (sVar1 > 8000) {
sVar1 = 8000;
}
mDoMtx_stack_c::transS(i_this->field_0x894);
mDoMtx_stack_c::YrotM(i_this->field_0x892);
mDoMtx_stack_c::XrotM(sVar1);
i_this->mBeamEffectModel->setBaseTRMtx(mDoMtx_stack_c::get());
cXyz sp40(0.0f, 0.0f, 1200.0f);
mDoMtx_stack_c::multVec(&sp40, &i_this->field_0x72c.mEnd);
i_this->field_0x72c.mStart = i_this->field_0x894;
i_this->field_0x72c.mRadius = 20.0f;
i_this->field_0x5e8.cM3dGCps::Set(i_this->field_0x72c);
i_this->field_0x5e8.CalcAtVec();
mDoMtx_stack_c::pop();
}
model->setAnmMtx(jntNo, mDoMtx_stack_c::get());
mDoMtx_copy(mDoMtx_stack_c::get(), J3DSys::mCurrentMtx);
}
return 1;
}
/* 80C7CE24-80C7CE60 000384 003C+00 1/1 0/0 0/0 .text initBaseMtx__11daObjL6Bm_cFv */
void daObjL6Bm_c::initBaseMtx() {
// NONMATCHING
mBeamosModel->setBaseScale(scale);
setBaseMtx();
}
/* 80C7CE60-80C7CED4 0003C0 0074+00 2/2 0/0 0/0 .text setBaseMtx__11daObjL6Bm_cFv */
void daObjL6Bm_c::setBaseMtx() {
// NONMATCHING
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mBeamosModel->setBaseTRMtx(mDoMtx_stack_c::get());
MTXCopy(mDoMtx_stack_c::get(), mBgMtx);
}
/* ############################################################################################## */
/* 80C7DF6C-80C7DF6C 0000A0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C7DF6C = "Obj_lv6bm";
#pragma pop
/* 80C7DF78-80C7DF84 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 80C7DF84-80C7DF98 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
#pragma push
#pragma force_active on
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
0x02000201,
/* padding */
0x40080000,
0x00000000,
0x3FE00000,
0x00000000,
};
#pragma pop
UNK_REL_DATA;
/* 80C7DF98-80C7DF9C -00001 0004+00 4/4 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_lv6bemos__stringBase0;
static char* l_arcName = "Obj_lv6bm";
/* 80C7DF9C-80C7DFB4 000024 0018+00 1/1 0/0 0/0 .data l_cull_box */
SECTION_DATA static u8 l_cull_box[24] = {
0xC3, 0x48, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00, 0xC3, 0x48, 0x00, 0x00,
0x43, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x43, 0x48, 0x00, 0x00,
static f32 l_cull_box[6] = {
-200.0f, -100.0f, -200.0f,
200.0f, 100.0f, 200.0f,
};
/* 80C7DFB4-80C7E000 00003C 004C+00 1/1 0/0 0/0 .data l_cps_src */
@ -274,68 +135,290 @@ static dCcD_SrcCps l_cps_src = {
};
/* 80C7CED4-80C7CFD0 000434 00FC+00 1/0 0/0 0/0 .text Create__11daObjL6Bm_cFv */
void daObjL6Bm_c::Create() {
// NONMATCHING
int daObjL6Bm_c::Create() {
initBaseMtx();
fopAcM_SetMtx(this, mBeamosModel->getBaseTRMtx());
mStts.Init(0xFF, 0xFF, this);
field_0x5e8.Set(l_cps_src);
field_0x5e8.SetStts(&mStts);
field_0x748.Set(l_sph_src);
field_0x748.SetStts(&mStts);
fopAcM_setCullSizeBox(this, l_cull_box[0], l_cull_box[1], l_cull_box[2], l_cull_box[3], l_cull_box[4], l_cull_box[5]);
J3DJoint* neckJnt = mBeamosModel->getModelData()->getJointNodePointer(1);
if (neckJnt != NULL) {
neckJnt->setCallBack(nodeCallBack);
}
J3DJoint* eyeJnt = mBeamosModel->getModelData()->getJointNodePointer(2);
if (eyeJnt != NULL) {
eyeJnt->setCallBack(nodeCallBack);
}
mBeamosModel->setUserArea((u32)this);
if (neckJnt == NULL) {
OS_REPORT_ERROR("表ビーモス:首ジョイントが見つかりませんでした!\n"); // Table Beamos : Neck joint not found!
}
if (eyeJnt == NULL) {
OS_REPORT_ERROR("表ビーモス:目ジョイントが見つかりませんでした!\n"); // Table Beamos: Eye joint not found!
}
setAction(0);
return 1;
}
/* ############################################################################################## */
/* 80C7DF38-80C7DF3C 00006C 0004+00 2/4 0/0 0/0 .rodata @3880 */
SECTION_RODATA static f32 const lit_3880 = 1.0f;
COMPILER_STRIP_GATE(0x80C7DF38, &lit_3880);
/* 80C7CFD0-80C7D2B0 000530 02E0+00 1/0 0/0 0/0 .text CreateHeap__11daObjL6Bm_cFv */
int daObjL6Bm_c::CreateHeap() {
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, BMDR_K_BIMO00);
JUT_ASSERT(620, modelData != 0);
mBeamosModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
if (mBeamosModel == NULL) {
return 0;
}
/* 80C7DF3C-80C7DF44 000070 0008+00 1/1 0/0 0/0 .rodata @3882 */
SECTION_RODATA static u8 const lit_3882[8] = {
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C7DF3C, &lit_3882);
modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, BMDR_EF_BIMOBEAM);
JUT_ASSERT(634, modelData != 0);
mBeamEffectModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284);
if (mBeamEffectModel == NULL) {
return 0;
}
/* 80C7E000-80C7E00C -00001 000C+00 0/1 0/0 0/0 .data @3939 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3939[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionWait__11daObjL6Bm_cFv,
};
#pragma pop
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_ON);
JUT_ASSERT(648, pbtk != 0);
mpBtkAnm = new mDoExt_btkAnm();
if (mpBtkAnm == NULL || mpBtkAnm->init(modelData, pbtk, 1, 0, 1.0f, 0, -1) == 0) {
return 0;
}
/* 80C7E00C-80C7E018 -00001 000C+00 0/1 0/0 0/0 .data @3940 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3940[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionFindPlayer__11daObjL6Bm_cFv,
};
#pragma pop
#ifdef DEBUG
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_OFF);
JUT_ASSERT(660, pbtk != 0);
#endif
/* 80C7E018-80C7E024 -00001 000C+00 0/1 0/0 0/0 .data @3941 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3941[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)actionAttack__11daObjL6Bm_cFv,
};
#pragma pop
pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM);
JUT_ASSERT(0x29A, pbtk != 0);
mpBtkAnm2 = new mDoExt_btkAnm();
if (mpBtkAnm2 == NULL || mpBtkAnm2->init(modelData, pbtk, 1, 2, 1.0f, 0, -1) == 0) {
return 0;
}
/* 80C7E024-80C7E048 0000AC 0024+00 0/1 0/0 0/0 .data l_func$3938 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_func[36] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#pragma pop
J3DAnmTransform* pbck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, BCK_EF_BIMOBEAM);
JUT_ASSERT(678, pbck != 0);
mBeamBck = new mDoExt_bckAnm();
if (mBeamBck == NULL || mBeamBck->init(pbck, 1, 2, 1.0f, 0, -1, false) == 0) {
return 0;
}
if (field_0x891 != 0) {
mpBtkAnm->setFrame(mpBtkAnm->getEndFrame());
mpBtkAnm2->setPlaySpeed(1.0f);
field_0x8b2 = 0x1000;
field_0x8b4 = 4;
field_0x890 = 5;
}
return 1;
}
/* 80C7D2F8-80C7D3A4 000858 00AC+00 1/1 0/0 0/0 .text create1st__11daObjL6Bm_cFv */
cPhs__Step daObjL6Bm_c::create1st() {
if (fopAcM_isSwitch(this, getSwBit())) {
OS_REPORT("ビーモス破壊済み!<%d>\n", getSwBit() & 0xFF); // Beamos has been destroyed! <%d>\n
return cPhs_ERROR_e;
}
cPhs__Step phase = (cPhs__Step)dComIfG_resLoad(&mPhase, l_arcName);
if (phase == cPhs_COMPLEATE_e) {
phase = (cPhs__Step)MoveBGCreate(l_arcName, DZB_K_BIMO00, NULL, 0x4000, NULL);
if (phase == cPhs_ERROR_e) {
return phase;
}
}
return phase;
}
/* 80C7D3A4-80C7D4F4 000904 0150+00 1/0 0/0 0/0 .text Execute__11daObjL6Bm_cFPPA3_A4_f */
int daObjL6Bm_c::Execute(f32 (**param_1)[3][4]) {
static u16 const l_particle_id[6] = {
0x828F, 0x8290, 0x8291, 0x8292, 0x8293, 0x8294,
};
if (field_0x891 != 0) {
mBeamBck->play();
dComIfG_Ccsp()->Set(&field_0x5e8);
}
if (field_0x748.ChkTgHit() && field_0x748.GetTgHitObj() != NULL) {
for (int i = 0; i < 5; i++) {
dComIfGp_particle_set(l_particle_id[i], &current.pos, NULL, &scale, 0xFF, NULL, -1, NULL, NULL, NULL);
}
fopAcM_delete(this);
fopAcM_onSwitch(this, getSwBit());
}
field_0x748.SetC(field_0x894);
dComIfG_Ccsp()->Set(&field_0x748);
action();
*param_1 = &mBgMtx;
setBaseMtx();
return 1;
}
/* 80C7D4F4-80C7D598 000A54 00A4+00 1/1 0/0 0/0 .text action__11daObjL6Bm_cFv */
void daObjL6Bm_c::action() {
static daObjL6Bm_c::actionFunc l_func[3] = {
&daObjL6Bm_c::actionWait,
&daObjL6Bm_c::actionFindPlayer,
&daObjL6Bm_c::actionAttack,
};
(this->*l_func[mAction])();
}
/* 80C7D598-80C7D6CC 000AF8 0134+00 1/0 0/0 0/0 .text actionWait__11daObjL6Bm_cFv */
void daObjL6Bm_c::actionWait() {
// NONMATCHING
f32 fVar1;
f32 playerDistance = fopAcM_searchPlayerDistanceXZ(this);
if (getArg0() != 0xFF) {
fVar1 = getArg0() * 50.0f;
} else {
fVar1 = 1000.0f;
}
if (playerDistance < fVar1 && (s16)abs((s16)(cLib_targetAngleY(fopAcM_GetPosition_p(this), fopAcM_GetPosition_p(dComIfGp_getPlayer(0))) - current.angle.y)) < 0x1000) {
setAction(1);
field_0x911 = 20;
} else {
s16 sVar1;
if (getArg1() == 0xFF) {
sVar1 = 0x4B0;
} else {
sVar1 = (u16)getArg1() * 100;
}
current.angle.y += sVar1;
}
field_0x892 = current.angle.y;
if (mpBtkAnm->play() != 0) {
mpBtkAnm->setPlaySpeed(0.0f);
}
}
/* 80C7D6CC-80C7D894 000C2C 01C8+00 1/0 0/0 0/0 .text actionFindPlayer__11daObjL6Bm_cFv */
void daObjL6Bm_c::actionFindPlayer() {
// NONMATCHING
f32 fVar1;
f32 playerDistance = fopAcM_searchPlayerDistanceXZ(this);
if (getArg0() != 0xFF) {
fVar1 = getArg0() * 50.0f;
} else {
fVar1 = 1000.0f;
}
if (playerDistance < fVar1) {
OS_REPORT("プレイヤー離れました!\n"); // Player has left!\n
setAction(0);
if (field_0x891 != 0) {
mpBtkAnm->init(mBeamEffectModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_0FF),
1, 0, 1.0f, 0, -1);
field_0x891 = 0;
}
} else {
cLib_addCalcAngleS2(&current.angle.y, fopAcM_searchPlayerAngleY(this), 10, 0x400);
if (cLib_calcTimer(&field_0x911) == 0) {
if (field_0x891 == 0) {
mpBtkAnm->init(mBeamEffectModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes(l_arcName, BTK_EF_BIMOBEAM_ON),
1, 0, 0.0f, 0, -1);
field_0x891 = 1;
mpBtkAnm->setPlaySpeed(1.0f);
}
mpBtkAnm->play();
mpBtkAnm2->play();
}
}
field_0x892 = current.angle.y;
}
/* 80C7D894-80C7D898 000DF4 0004+00 1/0 0/0 0/0 .text actionAttack__11daObjL6Bm_cFv */
void daObjL6Bm_c::actionAttack() {
/* empty function */
}
/* 80C7D898-80C7DA74 000DF8 01DC+00 1/0 0/0 0/0 .text Draw__11daObjL6Bm_cFv */
int daObjL6Bm_c::Draw() {
g_env_light.settingTevStruct(16, &current.pos, &tevStr);
g_env_light.setLightTevColorType_MAJI(mBeamosModel, &tevStr);
dComIfGd_setListBG();
mDoExt_modelUpdateDL(mBeamosModel);
dComIfGd_setList();
if (field_0x891 != 0) {
g_env_light.setLightTevColorType_MAJI(mBeamEffectModel, &tevStr);
mpBtkAnm->entry(mBeamEffectModel->getModelData());
mpBtkAnm2->entry(mBeamEffectModel->getModelData());
mBeamBck->entry(mBeamEffectModel->getModelData());
mDoExt_modelUpdateDL(mBeamEffectModel);
mBeamBck->remove(mBeamEffectModel->getModelData());
mpBtkAnm->remove(mBeamEffectModel->getModelData());
mpBtkAnm2->remove(mBeamEffectModel->getModelData());
}
if (field_0x90c != -1000000000.0f) {
cM3dGPla plane;
if (dComIfG_Bgsp().GetTriPla(mObjGndChk, &plane)) {
dComIfGd_setSimpleShadow(&current.pos, field_0x90c, 120.0f, &plane.mNormal, 0,
1.0f, dDlst_shadowControl_c::getSimpleTex());
}
}
return 1;
}
/* 80C7DABC-80C7DAF0 00101C 0034+00 1/0 0/0 0/0 .text Delete__11daObjL6Bm_cFv */
int daObjL6Bm_c::Delete() {
dComIfG_resDelete(&mPhase, l_arcName);
return 1;
}
/* 80C7DAF0-80C7DC78 001050 0188+00 1/0 0/0 0/0 .text daObjL6Bm_create1st__FP11daObjL6Bm_c */
static int daObjL6Bm_create1st(daObjL6Bm_c* i_this) {
fopAcM_SetupActor(i_this, daObjL6Bm_c);
return i_this->create1st();
}
/* 80C7DDDC-80C7DDFC 00133C 0020+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGDelete__FP11daObjL6Bm_c */
static int daObjL6Bm_MoveBGDelete(daObjL6Bm_c* i_this) {
return i_this->MoveBGDelete();
}
/* 80C7DDFC-80C7DE1C 00135C 0020+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGExecute__FP11daObjL6Bm_c */
static int daObjL6Bm_MoveBGExecute(daObjL6Bm_c* i_this) {
return i_this->MoveBGExecute();
}
/* 80C7DE1C-80C7DE48 00137C 002C+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGDraw__FP11daObjL6Bm_c */
static int daObjL6Bm_MoveBGDraw(daObjL6Bm_c* i_this) {
return i_this->MoveBGDraw();
}
/* 80C7E048-80C7E068 -00001 0020+00 1/0 0/0 0/0 .data daObjL6Bm_METHODS */
static actor_method_class daObjL6Bm_METHODS = {
(process_method_func)daObjL6Bm_create1st__FP11daObjL6Bm_c,
(process_method_func)daObjL6Bm_MoveBGDelete__FP11daObjL6Bm_c,
(process_method_func)daObjL6Bm_MoveBGExecute__FP11daObjL6Bm_c,
(process_method_func)daObjL6Bm_create1st,
(process_method_func)daObjL6Bm_MoveBGDelete,
(process_method_func)daObjL6Bm_MoveBGExecute,
0,
(process_method_func)daObjL6Bm_MoveBGDraw__FP11daObjL6Bm_c,
(process_method_func)daObjL6Bm_MoveBGDraw,
};
/* 80C7E068-80C7E098 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv6bemos */
@ -355,256 +438,3 @@ extern actor_process_profile_definition g_profile_Obj_Lv6bemos = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80C7E098-80C7E0A4 000120 000C+00 2/2 0/0 0/0 .data __vt__10cCcD_GStts */
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10cCcD_GSttsFv,
};
/* 80C7E0A4-80C7E0B0 00012C 000C+00 1/1 0/0 0/0 .data __vt__10dCcD_GStts */
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__10dCcD_GSttsFv,
};
/* 80C7E0B0-80C7E0E0 000138 0030+00 2/2 0/0 0/0 .data __vt__14dBgS_ObjGndChk */
SECTION_DATA extern void* __vt__14dBgS_ObjGndChk[12] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14dBgS_ObjGndChkFv,
(void*)NULL,
(void*)NULL,
(void*)func_80C7DEAC,
(void*)NULL,
(void*)NULL,
(void*)func_80C7DEBC,
(void*)NULL,
(void*)NULL,
(void*)func_80C7DEB4,
};
/* 80C7E0E0-80C7E0EC 000168 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGSphFv,
};
/* 80C7E0EC-80C7E0F8 000174 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 80C7E0F8-80C7E104 000180 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGPla */
SECTION_DATA extern void* __vt__8cM3dGPla[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGPlaFv,
};
/* 80C7E104-80C7E110 00018C 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};
/* 80C7CFD0-80C7D2B0 000530 02E0+00 1/0 0/0 0/0 .text CreateHeap__11daObjL6Bm_cFv */
void daObjL6Bm_c::CreateHeap() {
// NONMATCHING
}
/* 80C7D2B0-80C7D2F8 000810 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
// J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" void __dt__12J3DFrameCtrlFv() {
// NONMATCHING
}
/* 80C7D2F8-80C7D3A4 000858 00AC+00 1/1 0/0 0/0 .text create1st__11daObjL6Bm_cFv */
void daObjL6Bm_c::create1st() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C7DF44-80C7DF50 000078 000C+00 1/1 0/0 0/0 .rodata l_particle_id$3914 */
SECTION_RODATA static u8 const l_particle_id[12] = {
0x82, 0x8F, 0x82, 0x90, 0x82, 0x91, 0x82, 0x92, 0x82, 0x93, 0x82, 0x94,
};
COMPILER_STRIP_GATE(0x80C7DF44, &l_particle_id);
/* 80C7D3A4-80C7D4F4 000904 0150+00 1/0 0/0 0/0 .text Execute__11daObjL6Bm_cFPPA3_A4_f */
void daObjL6Bm_c::Execute(f32 (**param_0)[3][4]) {
// NONMATCHING
}
/* 80C7D4F4-80C7D598 000A54 00A4+00 1/1 0/0 0/0 .text action__11daObjL6Bm_cFv */
void daObjL6Bm_c::action() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C7DF50-80C7DF54 000084 0004+00 0/2 0/0 0/0 .rodata @3993 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3993 = 50.0f;
COMPILER_STRIP_GATE(0x80C7DF50, &lit_3993);
#pragma pop
/* 80C7DF54-80C7DF5C 000088 0004+04 0/2 0/0 0/0 .rodata @3994 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3994[1 + 1 /* padding */] = {
1000.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x80C7DF54, &lit_3994);
#pragma pop
/* 80C7DF5C-80C7DF64 000090 0008+00 0/2 0/0 0/0 .rodata @3996 */
#pragma push
#pragma force_active on
SECTION_RODATA static u8 const lit_3996[8] = {
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x80C7DF5C, &lit_3996);
#pragma pop
/* 80C7D598-80C7D6CC 000AF8 0134+00 1/0 0/0 0/0 .text actionWait__11daObjL6Bm_cFv */
void daObjL6Bm_c::actionWait() {
// NONMATCHING
}
/* 80C7D6CC-80C7D894 000C2C 01C8+00 1/0 0/0 0/0 .text actionFindPlayer__11daObjL6Bm_cFv
*/
void daObjL6Bm_c::actionFindPlayer() {
// NONMATCHING
}
/* 80C7D894-80C7D898 000DF4 0004+00 1/0 0/0 0/0 .text actionAttack__11daObjL6Bm_cFv */
void daObjL6Bm_c::actionAttack() {
/* empty function */
}
/* ############################################################################################## */
/* 80C7DF64-80C7DF68 000098 0004+00 0/1 0/0 0/0 .rodata @4160 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4160 = -1000000000.0f;
COMPILER_STRIP_GATE(0x80C7DF64, &lit_4160);
#pragma pop
/* 80C7DF68-80C7DF6C 00009C 0004+00 0/1 0/0 0/0 .rodata @4161 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_4161 = 120.0f;
COMPILER_STRIP_GATE(0x80C7DF68, &lit_4161);
#pragma pop
/* 80C7D898-80C7DA74 000DF8 01DC+00 1/0 0/0 0/0 .text Draw__11daObjL6Bm_cFv */
void daObjL6Bm_c::Draw() {
// NONMATCHING
}
/* 80C7DA74-80C7DABC 000FD4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */
// cM3dGPla::~cM3dGPla() {
extern "C" void __dt__8cM3dGPlaFv() {
// NONMATCHING
}
/* 80C7DABC-80C7DAF0 00101C 0034+00 1/0 0/0 0/0 .text Delete__11daObjL6Bm_cFv */
void daObjL6Bm_c::Delete() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C7E110-80C7E138 000198 0028+00 1/1 0/0 0/0 .data __vt__11daObjL6Bm_c */
SECTION_DATA extern void* __vt__11daObjL6Bm_c[10] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__11daObjL6Bm_cFv,
(void*)Create__11daObjL6Bm_cFv,
(void*)Execute__11daObjL6Bm_cFPPA3_A4_f,
(void*)Draw__11daObjL6Bm_cFv,
(void*)Delete__11daObjL6Bm_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
};
/* 80C7DAF0-80C7DC78 001050 0188+00 1/0 0/0 0/0 .text daObjL6Bm_create1st__FP11daObjL6Bm_c */
static void daObjL6Bm_create1st(daObjL6Bm_c* param_0) {
// NONMATCHING
}
/* 80C7DC78-80C7DCF0 0011D8 0078+00 4/3 0/0 0/0 .text __dt__14dBgS_ObjGndChkFv */
// dBgS_ObjGndChk::~dBgS_ObjGndChk() {
extern "C" void __dt__14dBgS_ObjGndChkFv() {
// NONMATCHING
}
/* 80C7DCF0-80C7DD38 001250 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
// cM3dGSph::~cM3dGSph() {
extern "C" void __dt__8cM3dGSphFv() {
// NONMATCHING
}
/* 80C7DD38-80C7DD80 001298 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// cM3dGAab::~cM3dGAab() {
extern "C" void __dt__8cM3dGAabFv() {
// NONMATCHING
}
/* 80C7DD80-80C7DDDC 0012E0 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
// dCcD_GStts::~dCcD_GStts() {
extern "C" void __dt__10dCcD_GSttsFv() {
// NONMATCHING
}
/* 80C7DDDC-80C7DDFC 00133C 0020+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGDelete__FP11daObjL6Bm_c */
static void daObjL6Bm_MoveBGDelete(daObjL6Bm_c* param_0) {
// NONMATCHING
}
/* 80C7DDFC-80C7DE1C 00135C 0020+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGExecute__FP11daObjL6Bm_c */
static void daObjL6Bm_MoveBGExecute(daObjL6Bm_c* param_0) {
// NONMATCHING
}
/* 80C7DE1C-80C7DE48 00137C 002C+00 1/0 0/0 0/0 .text daObjL6Bm_MoveBGDraw__FP11daObjL6Bm_c */
static void daObjL6Bm_MoveBGDraw(daObjL6Bm_c* param_0) {
// NONMATCHING
}
/* 80C7DE48-80C7DE90 0013A8 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
// cCcD_GStts::~cCcD_GStts() {
extern "C" void __dt__10cCcD_GSttsFv() {
// NONMATCHING
}
/* 80C7DE90-80C7DEAC 0013F0 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */
extern "C" void func_80C7DE90(void* _this, u8* param_0) {
// NONMATCHING
}
/* 80C7DEAC-80C7DEB4 00140C 0008+00 1/0 0/0 0/0 .text @20@__dt__14dBgS_ObjGndChkFv */
static void func_80C7DEAC() {
// NONMATCHING
}
/* 80C7DEB4-80C7DEBC 001414 0008+00 1/0 0/0 0/0 .text @76@__dt__14dBgS_ObjGndChkFv */
static void func_80C7DEB4() {
// NONMATCHING
}
/* 80C7DEBC-80C7DEC4 00141C 0008+00 1/0 0/0 0/0 .text @60@__dt__14dBgS_ObjGndChkFv */
static void func_80C7DEBC() {
// NONMATCHING
}
/* 80C7DF6C-80C7DF6C 0000A0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

File diff suppressed because it is too large Load Diff