mirror of https://github.com/zeldaret/tp.git
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:
parent
5c86d6d26f
commit
c0717e1e56
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
|
@ -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], ¤t.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(¤t.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, ¤t.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(¤t.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
Loading…
Reference in New Issue