mirror of
https://github.com/zeldaret/tp
synced 2026-06-22 00:46:46 -04:00
obj_mirror_6pole / obj_mirror_sand / obj_myogan OK, obj_hbombkoya wip (#1901)
* obj_mirror_6pole / obj_mirror_sand OK. d_bg_w vtables fixed * obj_myogan OK, obj_hbombkoya mostly done
This commit is contained in:
@@ -272,7 +272,7 @@ public:
|
||||
/* 8007DC70 */ bool SphChkRp(dBgS_SphChk*, void*, int);
|
||||
/* 8007DDE0 */ bool SphChkGrpRp(dBgS_SphChk*, void*, int, int);
|
||||
|
||||
/* 8007E548 */ virtual ~dBgW();
|
||||
/* 8007E548 */ virtual ~dBgW() {}
|
||||
/* 8007E4B4 */ virtual u32 ChkMoveFlag() const;
|
||||
/* 8007E4A4 */ virtual void OffMoveFlag();
|
||||
/* 8007DAF8 */ virtual void CaptPoly(dBgS_CaptPoly&);
|
||||
|
||||
@@ -1720,6 +1720,10 @@ inline u8 dComIfGs_getFishSize(u8 param_0) {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().getMaxSize(param_0);
|
||||
}
|
||||
|
||||
inline BOOL dComIfGs_isStageMiddleBoss() {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isStageBossEnemy2();
|
||||
}
|
||||
|
||||
void dComIfGp_setSelectItem(int index);
|
||||
s32 dComIfGp_offHeapLockFlag(int flag);
|
||||
void dComIfGp_createSubExpHeap2D();
|
||||
|
||||
@@ -21,7 +21,8 @@ struct action_class {
|
||||
fptr& getExecute() { return execute; }
|
||||
};
|
||||
|
||||
struct dEvLib_callback_c {
|
||||
class dEvLib_callback_c {
|
||||
public:
|
||||
dEvLib_callback_c(fopAc_ac_c* param_0) {
|
||||
mActor = param_0;
|
||||
mAction = NULL;
|
||||
|
||||
@@ -835,6 +835,7 @@ public:
|
||||
onDungeonItem(OOCCOO_NOTE);
|
||||
}
|
||||
s32 isStageBossEnemy() const { return isDungeonItem(STAGE_BOSS_ENEMY); }
|
||||
s32 isStageBossEnemy2() const { return isDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
s32 isDungeonItemWarp() const { return isDungeonItem(OOCCOO_NOTE); }
|
||||
void onStageLife() { onDungeonItem(STAGE_LIFE); }
|
||||
|
||||
|
||||
@@ -149,7 +149,11 @@ public:
|
||||
/* 8000D9E8 */ void entryJoint(J3DModelData* i_modelData, u16 i_jntNo, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
|
||||
void remove(J3DModelData* i_modelData) { i_modelData->getJointNodePointer(0)->setMtxCalc(NULL); }
|
||||
|
||||
J3DAnmTransform* getBckAnm() { return mAnm; }
|
||||
|
||||
void removeJoint(J3DModelData* i_modelData, u16 i_idx) {
|
||||
J3DJoint* mpJnt = i_modelData->getJointNodePointer(i_idx);
|
||||
mpJnt->setMtxCalc(0);
|
||||
|
||||
@@ -1,6 +1,45 @@
|
||||
#ifndef D_A_OBJ_HBOMBKOYA_H
|
||||
#define D_A_OBJ_HBOMBKOYA_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/event/d_event_lib.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class daObjHBombkoya_c : public dBgS_MoveBgActor,
|
||||
public request_of_phase_process_class,
|
||||
public dEvLib_callback_c {
|
||||
public:
|
||||
struct PSetTbl {
|
||||
/* 0x00 */ Vec m_position;
|
||||
/* 0x0C */ int m_startTime; // The time at which this table is able to be used
|
||||
/* 0x10 */ f32 m_scale;
|
||||
};
|
||||
|
||||
daObjHBombkoya_c() : dEvLib_callback_c(this) {}
|
||||
|
||||
/* 80C1B878 */ int create1st();
|
||||
/* 80C1BB7C */ bool setParticle(u16*, int, PSetTbl*, int, int);
|
||||
/* 80C1C474 */ virtual ~daObjHBombkoya_c();
|
||||
|
||||
/* 80C1B938 */ virtual int CreateHeap();
|
||||
/* 80C1B9CC */ virtual int Create();
|
||||
/* 80C1BCA0 */ virtual int Execute(Mtx**);
|
||||
/* 80C1C098 */ virtual int Draw();
|
||||
/* 80C1C16C */ virtual int Delete();
|
||||
|
||||
int getSwNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
int getSw2No() { return fopAcM_GetParamBit(this, 8, 8); }
|
||||
|
||||
/* 0x5A8 */ // dEvLib_callback_c
|
||||
/* 0x5B8 */ Mtx mBgMtx;
|
||||
/* 0x5E8 */ Mtx mMtx;
|
||||
/* 0x618 */ J3DModel* mpModel;
|
||||
/* 0x61C */ int mTimer;
|
||||
/* 0x620 */ bool mActive;
|
||||
/* 0x624 */ u32 mEmitterKeys[9];
|
||||
/* 0x648 */ dCcD_Stts mStts;
|
||||
/* 0x684 */ dCcD_Cyl mCyl;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_HBOMBKOYA_H */
|
||||
|
||||
@@ -1,6 +1,34 @@
|
||||
#ifndef D_A_OBJ_MYOGAN_H
|
||||
#define D_A_OBJ_MYOGAN_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
class dBgW;
|
||||
|
||||
class obj_myogan_class : public fopAc_ac_c {
|
||||
public:
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mpModel;
|
||||
/* 0x574 */ mDoExt_btkAnm* mpBtk;
|
||||
/* 0x578 */ mDoExt_brkAnm* mpBrk;
|
||||
/* 0x57C */ s16 field_0x57c;
|
||||
/* 0x57E */ s16 mAction;
|
||||
/* 0x580 */ u8 field_0x580[0x582 - 0x580];
|
||||
/* 0x582 */ s16 field_0x582[2];
|
||||
/* 0x586 */ u8 field_0x586[0x58C - 0x586];
|
||||
/* 0x58C */ Mtx mBgMtx;
|
||||
/* 0x5BC */ dBgW* mpBgW;
|
||||
/* 0x5C0 */ u8 mInitialized;
|
||||
};
|
||||
|
||||
class daObj_Myogan_HIO_c {
|
||||
public:
|
||||
/* 80C9EBAC */ daObj_Myogan_HIO_c();
|
||||
/* 80C9F1F0 */ virtual ~daObj_Myogan_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 field_0x4;
|
||||
/* 0x08 */ f32 mSize;
|
||||
/* 0x0C */ f32 mNormalHeight;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_MYOGAN_H */
|
||||
|
||||
@@ -1,6 +1,77 @@
|
||||
#ifndef D_A_OBJ_MIRROR_6POLE_H
|
||||
#define D_A_OBJ_MIRROR_6POLE_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
|
||||
class daObjMirror6Pole_c;
|
||||
typedef void (daObjMirror6Pole_c::*actionFunc)();
|
||||
|
||||
class daObjMirror6Pole_c : public fopAc_ac_c {
|
||||
public:
|
||||
enum Mode_e {
|
||||
MODE_WAIT_e,
|
||||
MODE_DEMO_e,
|
||||
MODE_MAX_e,
|
||||
};
|
||||
|
||||
/* 80C95E18 */ void initWait();
|
||||
/* 80C95E2C */ void executeWait();
|
||||
/* 80C95E88 */ void initDemo();
|
||||
/* 80C95E8C */ void executeDemo();
|
||||
/* 80C95EFC */ void setBaseMtx();
|
||||
/* 80C95F50 */ static int createHeapCallBack(fopAc_ac_c* i_this);
|
||||
/* 80C95F70 */ int CreateHeap();
|
||||
|
||||
inline ~daObjMirror6Pole_c();
|
||||
|
||||
inline int execute();
|
||||
inline int create();
|
||||
inline int draw();
|
||||
|
||||
void initBaseMtx() {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
// setBaseMtx();
|
||||
|
||||
// this is supposed to be setBaseMtx, but it gets inlined here for some reason?
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
|
||||
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
void create_init() {
|
||||
initBaseMtx();
|
||||
mAttentionInfo.mFlags = 0;
|
||||
setAction(MODE_WAIT_e);
|
||||
}
|
||||
|
||||
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
|
||||
|
||||
bool isSwitch() {
|
||||
return i_fopAcM_isSwitch(this, getSwitchNo()) ||
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
|
||||
}
|
||||
|
||||
void setAction(Mode_e i_action) {
|
||||
mMode = i_action;
|
||||
mAction = ActionTable[mMode];
|
||||
|
||||
callInit();
|
||||
}
|
||||
|
||||
void callInit() { (this->*mAction[0])(); }
|
||||
|
||||
void callExecute() { (this->*mAction[1])(); }
|
||||
|
||||
static actionFunc ActionTable[][2];
|
||||
|
||||
/* 0x568 */ J3DModel* mpModel;
|
||||
/* 0x56C */ mDoExt_bckAnm* mpBck;
|
||||
/* 0x570 */ request_of_phase_process_class mPhase;
|
||||
/* 0x578 */ actionFunc* mAction;
|
||||
/* 0x57C */ Mode_e mMode;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_MIRROR_6POLE_H */
|
||||
|
||||
@@ -1,6 +1,38 @@
|
||||
#ifndef D_A_OBJ_MIRROR_SAND_H
|
||||
#define D_A_OBJ_MIRROR_SAND_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/bg/d_bg_w.h"
|
||||
|
||||
class daObjMirrorSand_c : public fopAc_ac_c {
|
||||
public:
|
||||
/* 80C98508 */ void initBaseMtx();
|
||||
/* 80C98534 */ void setBaseMtx();
|
||||
|
||||
inline ~daObjMirrorSand_c();
|
||||
|
||||
inline int createHeap();
|
||||
inline int create();
|
||||
inline int execute();
|
||||
inline int draw();
|
||||
|
||||
inline void create_init();
|
||||
|
||||
u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
|
||||
|
||||
bool isSwitch() {
|
||||
return i_fopAcM_isSwitch(this, getSwitchNo()) ||
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[361]) ||
|
||||
i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354]);
|
||||
}
|
||||
|
||||
/* 0x568 */ J3DModel* mpModel;
|
||||
/* 0x56C */ mDoExt_bckAnm* mpBck;
|
||||
/* 0x570 */ request_of_phase_process_class mPhase;
|
||||
/* 0x578 */ dBgW* mpCurrentBgw;
|
||||
/* 0x57C */ dBgW mBgw[2];
|
||||
/* 0x6FC */ Mtx mBgMtx;
|
||||
};
|
||||
|
||||
#endif /* D_A_OBJ_MIRROR_SAND_H */
|
||||
|
||||
@@ -1,106 +1,14 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_hbombkoya
|
||||
//
|
||||
/**
|
||||
* d_a_obj_hbombkoya.cpp
|
||||
* Kakariko Exploding Bomb Warehouse
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjHBombkoya_c {
|
||||
struct PSetTbl {};
|
||||
|
||||
/* 80C1B878 */ void create1st();
|
||||
/* 80C1B938 */ void CreateHeap();
|
||||
/* 80C1B9CC */ void Create();
|
||||
/* 80C1BB7C */ void setParticle(u16*, int, daObjHBombkoya_c::PSetTbl*, int, int);
|
||||
/* 80C1BCA0 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80C1C098 */ void Draw();
|
||||
/* 80C1C16C */ void Delete();
|
||||
/* 80C1C474 */ ~daObjHBombkoya_c();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035200 */ void onSwitch(int, int);
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct dPa_levelEcallBack {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct _GXColor {};
|
||||
|
||||
struct dPa_control_c {
|
||||
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
|
||||
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
|
||||
cXyz const*, f32);
|
||||
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
|
||||
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
|
||||
_GXColor const*, cXyz const*, f32);
|
||||
};
|
||||
|
||||
struct dEvLib_callback_c {
|
||||
/* 80C1C414 */ ~dEvLib_callback_c();
|
||||
/* 80C1C45C */ bool eventStart();
|
||||
/* 80C1C464 */ bool eventRun();
|
||||
/* 80C1C46C */ bool eventEnd();
|
||||
};
|
||||
|
||||
struct dBgW {};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct dBgS_MoveBgActor {
|
||||
/* 80078624 */ dBgS_MoveBgActor();
|
||||
/* 800786B0 */ bool IsDelete();
|
||||
/* 800786B8 */ bool ToFore();
|
||||
/* 800786C0 */ bool ToBack();
|
||||
/* 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();
|
||||
};
|
||||
|
||||
struct cCcS {
|
||||
/* 80264BA8 */ void Set(cCcD_Obj*);
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
@@ -168,16 +76,10 @@ extern "C" void SetC__8cM3dGCylFRC4cXyz();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void PSMTXIdentity();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void PSMTXMultVec();
|
||||
extern "C" void _savegpr_19();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _restgpr_19();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
|
||||
extern "C" extern void* __vt__8dCcD_Cyl[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
@@ -185,44 +87,56 @@ extern "C" extern void* __vt__12cCcD_CylAttr[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" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
extern void* __vt__10cCcD_GStts[3];
|
||||
extern void* __vt__10dCcD_GStts[3];
|
||||
extern void* __vt__8cM3dGCyl[3];
|
||||
extern void* __vt__17dEvLib_callback_c[6];
|
||||
extern void* __vt__8cM3dGAab[3];
|
||||
extern void* __vt__16daObjHBombkoya_c[17];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1C728-80C1C728 000130 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C1C728 = "H_Bombkoy";
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C734-80C1C738 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_hbombkoya__stringBase0;
|
||||
static char* l_arcName = "H_Bombkoy";
|
||||
|
||||
/* 80C1B878-80C1B938 000078 00C0+00 1/1 0/0 0/0 .text create1st__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::create1st() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/create1st__16daObjHBombkoya_cFv.s"
|
||||
int daObjHBombkoya_c::create1st() {
|
||||
if (i_fopAcM_isSwitch(this, getSw2No())) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
request_of_phase_process_class* actor_phase = (request_of_phase_process_class*)this;
|
||||
|
||||
int phase = dComIfG_resLoad(actor_phase, l_arcName);
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
PSMTXIdentity(mBgMtx);
|
||||
|
||||
phase = MoveBGCreate(l_arcName, 7, NULL, 0x2860, &mBgMtx);
|
||||
if (phase == cPhs_ERROR_e) {
|
||||
return phase;
|
||||
}
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1B938-80C1B9CC 000138 0094+00 1/0 0/0 0/0 .text CreateHeap__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::CreateHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/CreateHeap__16daObjHBombkoya_cFv.s"
|
||||
int daObjHBombkoya_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 4);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
Mtx m;
|
||||
PSMTXIdentity(m);
|
||||
mpModel->i_setBaseTRMtx(m);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1C5F8-80C1C5FC 000000 0004+00 2/2 0/0 0/0 .rodata @3699 */
|
||||
@@ -232,70 +146,361 @@ COMPILER_STRIP_GATE(0x80C1C5F8, &lit_3699);
|
||||
/* 80C1C738-80C1C77C 000004 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */
|
||||
static dCcD_SrcCyl l_cc_cyl_src = {
|
||||
{
|
||||
{0x0, {{AT_TYPE_BOMB, 0x4, 0x13}, {0x0, 0x0}, 0x0}}, // mObj
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
|
||||
{0x0}, // mGObjCo
|
||||
}, // mObjInf
|
||||
{0x0, {{AT_TYPE_BOMB, 0x4, 0x13}, {0x0, 0x0}, 0x0}}, // mObj
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x2}, // mGObjTg
|
||||
{0x0}, // mGObjCo
|
||||
}, // mObjInf
|
||||
{
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
1000.0f, // mRadius
|
||||
1000.0f // mHeight
|
||||
} // mCyl
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
1000.0f, // mRadius
|
||||
1000.0f // mHeight
|
||||
} // mCyl
|
||||
};
|
||||
|
||||
/* 80C1C77C-80C1C790 000048 0012+02 1/1 0/0 0/0 .data id$3767 */
|
||||
SECTION_DATA static u8 id[18 + 2 /* padding */] = {
|
||||
0x85,
|
||||
0x77,
|
||||
0x85,
|
||||
0x78,
|
||||
0x85,
|
||||
0x79,
|
||||
0x85,
|
||||
0x7A,
|
||||
0x85,
|
||||
0x7B,
|
||||
0x85,
|
||||
0x7C,
|
||||
0x85,
|
||||
0x7D,
|
||||
0x85,
|
||||
0x7E,
|
||||
0x85,
|
||||
0x7F,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
/* 80C1B9CC-80C1BB34 0001CC 0168+00 1/0 0/0 0/0 .text Create__16daObjHBombkoya_cFv */
|
||||
// matches with vtables setup
|
||||
#ifdef NONMATCHING
|
||||
int daObjHBombkoya_c::Create() {
|
||||
mpModel->setBaseScale(mScale);
|
||||
fopAcM_SetMtx(this, NULL);
|
||||
|
||||
/* 80C1C790-80C1C910 00005C 0180+00 1/1 0/0 0/0 .data ptable$3776 */
|
||||
SECTION_DATA static u8 ptable[384] = {
|
||||
0x85, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x85, 0x85, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x86, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x85, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x85, 0x89, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x8A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x85, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x8C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
0x85, 0x95, 0x00, 0x00, 0xC4, 0x23, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x11, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x85, 0x95, 0x00, 0x00, 0xC2, 0xC8, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xC4, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00,
|
||||
0x85, 0x95, 0x00, 0x00, 0xC3, 0xA2, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC4, 0x3E, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0xE6, 0x66, 0x66, 0x85, 0x95, 0x00, 0x00, 0xC4, 0x31, 0x80, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xC3, 0x4D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xAC, 0xCC, 0xCD,
|
||||
0x85, 0x95, 0x00, 0x00, 0x42, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC1, 0xE0, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3F, 0x4C, 0xCC, 0xCD, 0x85, 0x96, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00,
|
||||
};
|
||||
cM3dGAab aab(*mpBgW->GetBnd());
|
||||
fopAcM_setCullSizeBox(this, aab.GetMinP()->x, aab.GetMinP()->y, aab.GetMinP()->z,
|
||||
aab.GetMaxP()->x, aab.GetMaxP()->y + 200.0f, aab.GetMaxP()->z);
|
||||
mTimer = 0;
|
||||
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(current.angle.y);
|
||||
mDoMtx_stack_c::scaleM(mScale.x, mScale.y, mScale.z);
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), mMtx);
|
||||
|
||||
for (int i = 0; i < 9; i++) {
|
||||
mEmitterKeys[i] = 0;
|
||||
}
|
||||
|
||||
mActive = false;
|
||||
mStts.Init(0xFF, 0, this);
|
||||
mCyl.Set(l_cc_cyl_src);
|
||||
mCyl.SetStts(&mStts);
|
||||
return 1;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm int daObjHBombkoya_c::Create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/Create__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80C1BB34-80C1BB7C 000334 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cM3dGAab::~cM3dGAab() {
|
||||
extern "C" asm void __dt__8cM3dGAabFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGAabFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1BB7C-80C1BCA0 00037C 0124+00 1/1 0/0 0/0 .text
|
||||
* setParticle__16daObjHBombkoya_cFPUsiPQ216daObjHBombkoya_c7PSetTblii */
|
||||
bool daObjHBombkoya_c::setParticle(u16* i_particleIDs, int i_particleMax,
|
||||
daObjHBombkoya_c::PSetTbl* i_setTbl, int i_tableMax,
|
||||
int i_timer) {
|
||||
bool particle_set = false;
|
||||
|
||||
for (int i = 0; i < i_tableMax; i++) {
|
||||
if (i_timer == i_setTbl[i].m_startTime) {
|
||||
cXyz position;
|
||||
cXyz base_pos;
|
||||
|
||||
base_pos = i_setTbl[i].m_position;
|
||||
PSMTXMultVec(mMtx, &base_pos, &position);
|
||||
|
||||
cXyz scale;
|
||||
scale.z = i_setTbl[i].m_scale;
|
||||
scale.y = i_setTbl[i].m_scale;
|
||||
scale.x = i_setTbl[i].m_scale;
|
||||
|
||||
for (int j = 0; j < i_particleMax; j++) {
|
||||
dComIfGp_particle_set(i_particleIDs[j], &position, NULL, &scale);
|
||||
particle_set = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return particle_set;
|
||||
}
|
||||
|
||||
/* 80C1BCA0-80C1C098 0004A0 03F8+00 1/0 0/0 0/0 .text Execute__16daObjHBombkoya_cFPPA3_A4_f */
|
||||
int daObjHBombkoya_c::Execute(Mtx** param_0) {
|
||||
*param_0 = &mBgMtx;
|
||||
|
||||
if (i_fopAcM_isSwitch(this, getSwNo())) {
|
||||
if (i_fopAcM_isSwitch(this, getSw2No())) {
|
||||
mActive = false;
|
||||
fopAcM_delete(this);
|
||||
} else {
|
||||
if (mTimer == 180) {
|
||||
mActive = false;
|
||||
}
|
||||
|
||||
u16 particle_ids[] = {0x858D, 0x858E, 0x858F, 0x8590, 0x8591, 0x8592, 0x8593, 0x8594};
|
||||
PSetTbl ptcl_set_table[8] = {
|
||||
{{0.0f, 235.0f, 0.0f}, 90, 0.8f}, {{-823.0f, 125.0f, -300.0f}, 110, 1.0f},
|
||||
{{-1000.0f, 1000.0f, -590.0f}, 115, 1.0f}, {{-525.0f, 863.0f, -261.0f}, 120, 0.8f},
|
||||
{{-1000.0f, 486.0f, -903.0f}, 140, 1.0f}, {{-485.0f, 12.0f, 0.0f}, 150, 0.8f},
|
||||
{{-480.0f, 614.0f, -462.0f}, 155, 1.0f}, {{-1000.0f, 116.0f, -469.0f}, 160, 1.0f},
|
||||
};
|
||||
|
||||
if (setParticle(particle_ids, 8, ptcl_set_table, 8, mTimer)) {
|
||||
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_OBJ_BOMB_EXPLODE, ¤t.pos, 0, 0, 1.0f,
|
||||
1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
u16 particle_ids2[] = {0x8580, 0x8581, 0x8582};
|
||||
PSetTbl ptcl_set_table2[5] = {
|
||||
{{-165.0f, 500.0f, 106.0f}, 0, 1.0f}, {{-715.0f, 160.0f, -158.0f}, 0, 1.2f},
|
||||
{{-318.0f, 1120.0f, -514.0f}, 0, 1.1f}, {{-1000.0f, 140.0f, -792.0f}, 0, 1.2f},
|
||||
{{-921.0f, 1000.0f, -708.0f}, 0, 1.25f},
|
||||
};
|
||||
|
||||
setParticle(particle_ids2, 3, ptcl_set_table2, 5, mTimer);
|
||||
|
||||
static u16 id[] = {0x8577, 0x8578, 0x8579, 0x857A, 0x857B,
|
||||
0x857C, 0x857D, 0x857E, 0x857F};
|
||||
|
||||
if (mTimer < 170) {
|
||||
for (int i = 0; i < 9; i++) {
|
||||
mEmitterKeys[i] = dComIfGp_particle_set(mEmitterKeys[i], id[i], ¤t.pos,
|
||||
&shape_angle, NULL);
|
||||
}
|
||||
|
||||
Z2GetAudioMgr()->mSeMgr.seStartLevel(Z2SE_OBJ_BOMB_HOUSE_BURN, ¤t.pos, 900, 0,
|
||||
1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
} else {
|
||||
i_fopAcM_onSwitch(this, getSw2No());
|
||||
|
||||
if (mTimer == 170) {
|
||||
Z2GetAudioMgr()->mSeMgr.seStart(Z2SE_OBJ_BOMB_HOUSE_EXPLD, ¤t.pos, 0, 0,
|
||||
1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
cXyz base_pos;
|
||||
cXyz cyl_pos;
|
||||
|
||||
base_pos.x = -500.0f;
|
||||
base_pos.y = 0.0f;
|
||||
base_pos.z = -500.0f;
|
||||
|
||||
PSMTXMultVec(mMtx, &base_pos, &cyl_pos);
|
||||
mCyl.SetC(cyl_pos);
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
}
|
||||
|
||||
struct ptbl {
|
||||
/* 0x00 */ u16 particle_id;
|
||||
/* 0x04 */ PSetTbl set_info;
|
||||
};
|
||||
|
||||
static ptbl ptable[] = {
|
||||
{0x8583, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8584, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8585, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8586, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8587, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8588, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8589, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x858A, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x858B, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x858C, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
{0x8595, {{-655.0f, 0.0f, -580.0f}, 0, 1.0f}},
|
||||
{0x8595, {{-100.0f, 0.0f, -640.0f}, 0, 1.25f}},
|
||||
{0x8595, {{-325.0f, 0.0f, -760.0f}, 0, 1.8f}},
|
||||
{0x8595, {{-710.0f, 0.0f, -205.0f}, 0, 1.35f}},
|
||||
{0x8595, {{36.0f, 0.0f, -28.0f}, 0, 0.8f}},
|
||||
{0x8596, {{0.0f, 0.0f, 0.0f}, 0, 1.0f}},
|
||||
};
|
||||
|
||||
for (u32 i = 0; i < 16; i++) {
|
||||
if (mTimer == ptable[i].set_info.m_startTime) {
|
||||
cXyz pos;
|
||||
cXyz base_pos;
|
||||
|
||||
base_pos = ptable[i].set_info.m_position;
|
||||
PSMTXMultVec(mMtx, &base_pos, &pos);
|
||||
|
||||
cXyz scale;
|
||||
scale.z = ptable[i].set_info.m_scale;
|
||||
scale.y = ptable[i].set_info.m_scale;
|
||||
scale.x = ptable[i].set_info.m_scale;
|
||||
|
||||
dComIfGp_particle_set(ptable[i].particle_id, &pos, ¤t.angle, &scale);
|
||||
}
|
||||
}
|
||||
|
||||
mTimer++;
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C1C098-80C1C16C 000898 00D4+00 1/0 0/0 0/0 .text Draw__16daObjHBombkoya_cFv */
|
||||
int daObjHBombkoya_c::Draw() {
|
||||
if (mActive && !i_fopAcM_isSwitch(this, getSw2No())) {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C1C16C-80C1C1A8 00096C 003C+00 1/0 0/0 0/0 .text Delete__16daObjHBombkoya_cFv */
|
||||
int daObjHBombkoya_c::Delete() {
|
||||
request_of_phase_process_class* actor_phase = (request_of_phase_process_class*)this;
|
||||
dComIfG_resDelete(actor_phase, l_arcName);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
|
||||
/* 80C1C1A8-80C1C2BC 0009A8 0114+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_create1st__FP16daObjHBombkoya_c */
|
||||
// vtable issues, read more below
|
||||
#ifdef NONMATCHING
|
||||
static int daObjHBombkoya_create1st(daObjHBombkoya_c* i_this) {
|
||||
fopAcM_SetupActor(i_this, daObjHBombkoya_c);
|
||||
|
||||
return i_this->create1st();
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjHBombkoya_create1st(daObjHBombkoya_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/daObjHBombkoya_create1st__FP16daObjHBombkoya_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 80C1C2BC-80C1C304 000ABC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" asm void __dt__8cM3dGCylFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGCylFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C304-80C1C360 000B04 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" asm void __dt__10dCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10dCcD_GSttsFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C360-80C1C380 000B60 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGDelete__FP16daObjHBombkoya_c */
|
||||
static int daObjHBombkoya_MoveBGDelete(daObjHBombkoya_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80C1C380-80C1C3A0 000B80 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGExecute__FP16daObjHBombkoya_c */
|
||||
static int daObjHBombkoya_MoveBGExecute(daObjHBombkoya_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80C1C3A0-80C1C3CC 000BA0 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGDraw__FP16daObjHBombkoya_c */
|
||||
static int daObjHBombkoya_MoveBGDraw(daObjHBombkoya_c* i_this) {
|
||||
return i_this->MoveBGDraw();
|
||||
}
|
||||
|
||||
/**
|
||||
* Vtables for daObjHBombkoya_c mostly match, but __dt__17dEvLib_callback_cFv keeps getting
|
||||
* generated above after daObjHBombkoya_create1st instead of down here. If that can be fixed,
|
||||
* it should fix all vtable issues for this TU
|
||||
*/
|
||||
|
||||
/* 80C1C3CC-80C1C414 000BCC 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" asm void __dt__10cCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10cCcD_GSttsFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C414-80C1C45C 000C14 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dEvLib_callback_c::~dEvLib_callback_c() {
|
||||
extern "C" asm void __dt__17dEvLib_callback_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__17dEvLib_callback_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C45C-80C1C464 000C5C 0008+00 2/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
// bool dEvLib_callback_c::eventStart() {
|
||||
extern "C" bool eventStart__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C464-80C1C46C 000C64 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventRun() {
|
||||
extern "C" bool eventRun__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C46C-80C1C474 000C6C 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
// bool dEvLib_callback_c::eventEnd() {
|
||||
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C474-80C1C5E8 000C74 0174+00 2/1 0/0 0/0 .text __dt__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm daObjHBombkoya_c::~daObjHBombkoya_c() {
|
||||
extern "C" asm void __dt__16daObjHBombkoya_cFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C5E8-80C1C5F0 000DE8 0008+00 1/0 0/0 0/0 .text @1448@__dt__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void func_80C1C5E8() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/func_80C1C5E8.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C910-80C1C930 -00001 0020+00 1/0 0/0 0/0 .data daObjHBombkoya_METHODS */
|
||||
SECTION_DATA static void* daObjHBombkoya_METHODS[8] = {
|
||||
@@ -357,162 +562,6 @@ SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
|
||||
/* 80C1B9CC-80C1BB34 0001CC 0168+00 1/0 0/0 0/0 .text Create__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::Create() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/Create__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1BB34-80C1BB7C 000334 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cM3dGAab::~cM3dGAab() {
|
||||
extern "C" asm void __dt__8cM3dGAabFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGAabFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1C5FC-80C1C600 000004 0004+00 1/2 0/0 0/0 .rodata @3747 */
|
||||
SECTION_RODATA static f32 const lit_3747 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C1C5FC, &lit_3747);
|
||||
|
||||
/* 80C1BB7C-80C1BCA0 00037C 0124+00 1/1 0/0 0/0 .text
|
||||
* setParticle__16daObjHBombkoya_cFPUsiPQ216daObjHBombkoya_c7PSetTblii */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::setParticle(u16* param_0, int param_1,
|
||||
daObjHBombkoya_c::PSetTbl* param_2, int param_3,
|
||||
int param_4) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/func_80C1BB7C.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1C600-80C1C610 000008 0010+00 0/1 0/0 0/0 .rodata @3758 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3758[16] = {
|
||||
0x85, 0x8D, 0x85, 0x8E, 0x85, 0x8F, 0x85, 0x90, 0x85, 0x91, 0x85, 0x92, 0x85, 0x93, 0x85, 0x94,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C1C600, &lit_3758);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C610-80C1C6B0 000018 00A0+00 0/0 0/0 0/0 .rodata @3759 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3759[160] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x43, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5A,
|
||||
0x3F, 0x4C, 0xCC, 0xCD, 0xC4, 0x4D, 0xC0, 0x00, 0x42, 0xFA, 0x00, 0x00, 0xC3, 0x96, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x6E, 0x3F, 0x80, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00, 0x44, 0x7A, 0x00, 0x00,
|
||||
0xC4, 0x13, 0x80, 0x00, 0x00, 0x00, 0x00, 0x73, 0x3F, 0x80, 0x00, 0x00, 0xC4, 0x03, 0x40, 0x00,
|
||||
0x44, 0x57, 0xC0, 0x00, 0xC3, 0x82, 0x80, 0x00, 0x00, 0x00, 0x00, 0x78, 0x3F, 0x4C, 0xCC, 0xCD,
|
||||
0xC4, 0x7A, 0x00, 0x00, 0x43, 0xF3, 0x00, 0x00, 0xC4, 0x61, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x8C,
|
||||
0x3F, 0x80, 0x00, 0x00, 0xC3, 0xF2, 0x80, 0x00, 0x41, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x96, 0x3F, 0x4C, 0xCC, 0xCD, 0xC3, 0xF0, 0x00, 0x00, 0x44, 0x19, 0x80, 0x00,
|
||||
0xC3, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9B, 0x3F, 0x80, 0x00, 0x00, 0xC4, 0x7A, 0x00, 0x00,
|
||||
0x42, 0xE8, 0x00, 0x00, 0xC3, 0xEA, 0x80, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x3F, 0x80, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C1C610, &lit_3759);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C6B0-80C1C6B8 0000B8 0006+02 0/1 0/0 0/0 .rodata @3762 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3762[6 + 2 /* padding */] = {
|
||||
0x85,
|
||||
0x80,
|
||||
0x85,
|
||||
0x81,
|
||||
0x85,
|
||||
0x82,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C1C6B0, &lit_3762);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C6B8-80C1C71C 0000C0 0064+00 0/0 0/0 0/0 .rodata @3763 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3763[100] = {
|
||||
0xC3, 0x25, 0x00, 0x00, 0x43, 0xFA, 0x00, 0x00, 0x42, 0xD4, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3F, 0x80, 0x00, 0x00, 0xC4, 0x32, 0xC0, 0x00, 0x43, 0x20, 0x00, 0x00, 0xC3, 0x1E,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x99, 0x99, 0x9A, 0xC3, 0x9F, 0x00, 0x00, 0x44,
|
||||
0x8C, 0x00, 0x00, 0xC4, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x8C, 0xCC, 0xCD,
|
||||
0xC4, 0x7A, 0x00, 0x00, 0x43, 0x0C, 0x00, 0x00, 0xC4, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3F, 0x99, 0x99, 0x9A, 0xC4, 0x66, 0x40, 0x00, 0x44, 0x7A, 0x00, 0x00, 0xC4, 0x31,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0xA0, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C1C6B8, &lit_3763);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C71C-80C1C720 000124 0004+00 0/1 0/0 0/0 .rodata @3851 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3851 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C1C71C, &lit_3851);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C720-80C1C724 000128 0004+00 0/1 0/0 0/0 .rodata @3852 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3852 = -500.0f;
|
||||
COMPILER_STRIP_GATE(0x80C1C720, &lit_3852);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C724-80C1C728 00012C 0004+00 0/1 0/0 0/0 .rodata @3853 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3853[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C1C724, &lit_3853);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1BCA0-80C1C098 0004A0 03F8+00 1/0 0/0 0/0 .text Execute__16daObjHBombkoya_cFPPA3_A4_f */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::Execute(f32 (**param_0)[3][4]) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/Execute__16daObjHBombkoya_cFPPA3_A4_f.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C098-80C1C16C 000898 00D4+00 1/0 0/0 0/0 .text Draw__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::Draw() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/Draw__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C16C-80C1C1A8 00096C 003C+00 1/0 0/0 0/0 .text Delete__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjHBombkoya_c::Delete() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/Delete__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1C9A8-80C1C9EC 000274 0044+00 2/2 0/0 0/0 .data __vt__16daObjHBombkoya_c */
|
||||
SECTION_DATA extern void* __vt__16daObjHBombkoya_c[17] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
@@ -533,128 +582,3 @@ SECTION_DATA extern void* __vt__16daObjHBombkoya_c[17] = {
|
||||
(void*)eventEnd__17dEvLib_callback_cFv,
|
||||
(void*)__dt__16daObjHBombkoya_cFv,
|
||||
};
|
||||
|
||||
/* 80C1C1A8-80C1C2BC 0009A8 0114+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_create1st__FP16daObjHBombkoya_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjHBombkoya_create1st(daObjHBombkoya_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/daObjHBombkoya_create1st__FP16daObjHBombkoya_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C2BC-80C1C304 000ABC 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" asm void __dt__8cM3dGCylFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__8cM3dGCylFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C304-80C1C360 000B04 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" asm void __dt__10dCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10dCcD_GSttsFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C360-80C1C380 000B60 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGDelete__FP16daObjHBombkoya_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjHBombkoya_MoveBGDelete(daObjHBombkoya_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/daObjHBombkoya_MoveBGDelete__FP16daObjHBombkoya_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C380-80C1C3A0 000B80 0020+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGExecute__FP16daObjHBombkoya_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjHBombkoya_MoveBGExecute(daObjHBombkoya_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/daObjHBombkoya_MoveBGExecute__FP16daObjHBombkoya_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C3A0-80C1C3CC 000BA0 002C+00 1/0 0/0 0/0 .text
|
||||
* daObjHBombkoya_MoveBGDraw__FP16daObjHBombkoya_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjHBombkoya_MoveBGDraw(daObjHBombkoya_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/daObjHBombkoya_MoveBGDraw__FP16daObjHBombkoya_c.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C3CC-80C1C414 000BCC 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" asm void __dt__10cCcD_GSttsFv() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__10cCcD_GSttsFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C414-80C1C45C 000C14 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dEvLib_callback_c::~dEvLib_callback_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__17dEvLib_callback_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C45C-80C1C464 000C5C 0008+00 2/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
|
||||
*/
|
||||
bool dEvLib_callback_c::eventStart() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C464-80C1C46C 000C64 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
|
||||
bool dEvLib_callback_c::eventRun() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C46C-80C1C474 000C6C 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
|
||||
bool dEvLib_callback_c::eventEnd() {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* 80C1C474-80C1C5E8 000C74 0174+00 2/1 0/0 0/0 .text __dt__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daObjHBombkoya_c::~daObjHBombkoya_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/__dt__16daObjHBombkoya_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C5E8-80C1C5F0 000DE8 0008+00 1/0 0/0 0/0 .text @1448@__dt__16daObjHBombkoya_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void func_80C1C5E8() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_hbombkoya/d_a_obj_hbombkoya/func_80C1C5E8.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C1C728-80C1C728 000130 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
|
||||
@@ -1,366 +1,200 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_myogan
|
||||
//
|
||||
/**
|
||||
* d_a_obj_myogan.cpp
|
||||
* Dangoro Arena Lava
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct obj_myogan_class {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CE38 */ void scaleM(f32, f32, f32);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DMaterialTable {};
|
||||
|
||||
struct J3DAnmTextureSRTKey {};
|
||||
|
||||
struct mDoExt_btkAnm {
|
||||
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
|
||||
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
|
||||
};
|
||||
|
||||
struct J3DAnmTevRegKey {};
|
||||
|
||||
struct mDoExt_brkAnm {
|
||||
/* 8000D70C */ void init(J3DMaterialTable*, J3DAnmTevRegKey*, int, int, f32, s16, s16);
|
||||
/* 8000D7A8 */ void entry(J3DMaterialTable*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObj_Myogan_HIO_c {
|
||||
/* 80C9EBAC */ daObj_Myogan_HIO_c();
|
||||
/* 80C9F1F0 */ ~daObj_Myogan_HIO_c();
|
||||
};
|
||||
|
||||
struct dSv_memBit_c {
|
||||
/* 80034934 */ void isDungeonItem(int) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_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 dBgS {
|
||||
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgW {
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
};
|
||||
|
||||
struct cBgS_PolyInfo {};
|
||||
|
||||
struct cBgS {
|
||||
/* 80074250 */ void Release(dBgW_Base*);
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80C9F064 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__18daObj_Myogan_HIO_cFv();
|
||||
extern "C" static void daObj_Myogan_Draw__FP16obj_myogan_class();
|
||||
extern "C" static void action__FP16obj_myogan_class();
|
||||
extern "C" static void daObj_Myogan_Execute__FP16obj_myogan_class();
|
||||
extern "C" static bool daObj_Myogan_IsDelete__FP16obj_myogan_class();
|
||||
extern "C" static void daObj_Myogan_Delete__FP16obj_myogan_class();
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daObj_Myogan_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__18daObj_Myogan_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_myogan_cpp();
|
||||
extern "C" extern char const* const d_a_obj_myogan__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
|
||||
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void isDungeonItem__12dSv_memBit_cCFi();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void PSMTXTrans();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9F288-80C9F28C 000000 0004+00 2/2 0/0 0/0 .rodata @3762 */
|
||||
SECTION_RODATA static f32 const lit_3762 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9F288, &lit_3762);
|
||||
|
||||
/* 80C9F28C-80C9F290 000004 0004+00 1/1 0/0 0/0 .rodata @3763 */
|
||||
SECTION_RODATA static u8 const lit_3763[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C9F28C, &lit_3763);
|
||||
|
||||
/* 80C9F2A8-80C9F2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Myogan_Method */
|
||||
SECTION_DATA static void* l_daObj_Myogan_Method[8] = {
|
||||
(void*)daObj_Myogan_Create__FP10fopAc_ac_c,
|
||||
(void*)daObj_Myogan_Delete__FP16obj_myogan_class,
|
||||
(void*)daObj_Myogan_Execute__FP16obj_myogan_class,
|
||||
(void*)daObj_Myogan_IsDelete__FP16obj_myogan_class,
|
||||
(void*)daObj_Myogan_Draw__FP16obj_myogan_class,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 80C9F2C8-80C9F2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_MYOGAN */
|
||||
SECTION_DATA extern void* g_profile_OBJ_MYOGAN[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
|
||||
(void*)0x007C0000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x000005C4, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x00340000, (void*)&l_daObj_Myogan_Method,
|
||||
(void*)0x00044000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 80C9F2F8-80C9F304 000050 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,
|
||||
};
|
||||
|
||||
/* 80C9F304-80C9F310 00005C 000C+00 2/2 0/0 0/0 .data __vt__18daObj_Myogan_HIO_c */
|
||||
SECTION_DATA extern void* __vt__18daObj_Myogan_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__18daObj_Myogan_HIO_cFv,
|
||||
};
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/bg/d_bg_w.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/bg/d_bg_s_movebg_actor.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
/* 80C9EBAC-80C9EBDC 0000EC 0030+00 1/1 0/0 0/0 .text __ct__18daObj_Myogan_HIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daObj_Myogan_HIO_c::daObj_Myogan_HIO_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/__ct__18daObj_Myogan_HIO_cFv.s"
|
||||
daObj_Myogan_HIO_c::daObj_Myogan_HIO_c() {
|
||||
field_0x4 = -1;
|
||||
mSize = 1.0f;
|
||||
mNormalHeight = 0.0f;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9EBDC-80C9EC70 00011C 0094+00 1/0 0/0 0/0 .text daObj_Myogan_Draw__FP16obj_myogan_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObj_Myogan_Draw(obj_myogan_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/daObj_Myogan_Draw__FP16obj_myogan_class.s"
|
||||
static int daObj_Myogan_Draw(obj_myogan_class* i_this) {
|
||||
g_env_light.settingTevStruct(0x10, &i_this->current.pos, &i_this->mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(i_this->mpModel, &i_this->mTevStr);
|
||||
|
||||
i_this->mpBrk->entry(i_this->mpModel->getModelData());
|
||||
i_this->mpBtk->entry(i_this->mpModel->getModelData());
|
||||
|
||||
mDoExt_modelUpdateDL(i_this->mpModel);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9F290-80C9F294 000008 0004+00 1/1 0/0 0/0 .rodata @3823 */
|
||||
SECTION_RODATA static f32 const lit_3823 = 1.0f / 20.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9F290, &lit_3823);
|
||||
|
||||
/* 80C9F294-80C9F298 00000C 0004+00 1/1 0/0 0/0 .rodata @3824 */
|
||||
SECTION_RODATA static f32 const lit_3824 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9F294, &lit_3824);
|
||||
|
||||
/* 80C9F318-80C9F31C 000008 0004+00 2/2 0/0 0/0 .bss None */
|
||||
static u8 data_80C9F318[4];
|
||||
|
||||
/* 80C9F31C-80C9F328 00000C 000C+00 1/1 0/0 0/0 .bss @3757 */
|
||||
static u8 lit_3757[12];
|
||||
static bool initialized;
|
||||
|
||||
/* 80C9F328-80C9F338 000018 0010+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[16];
|
||||
static daObj_Myogan_HIO_c l_HIO;
|
||||
|
||||
/* 80C9EC70-80C9ED5C 0001B0 00EC+00 1/1 0/0 0/0 .text action__FP16obj_myogan_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void action(obj_myogan_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/action__FP16obj_myogan_class.s"
|
||||
static void action(obj_myogan_class* i_this) {
|
||||
switch (i_this->mAction) {
|
||||
case 0:
|
||||
cLib_addCalc2(&i_this->current.pos.y, i_this->orig.pos.y + l_HIO.mNormalHeight, 0.05f,
|
||||
10.0f);
|
||||
break;
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
|
||||
mDoMtx_stack_c::transS(i_this->current.pos.x, i_this->current.pos.y, i_this->current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(i_this->shape_angle.y);
|
||||
mDoMtx_stack_c::scaleM(l_HIO.mSize, l_HIO.mSize, l_HIO.mSize);
|
||||
|
||||
i_this->mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
PSMTXCopy(mDoMtx_stack_c::get(), i_this->mBgMtx);
|
||||
|
||||
i_this->mpBgW->Move();
|
||||
i_this->mpBrk->play();
|
||||
i_this->mpBtk->play();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9ED5C-80C9EDB8 00029C 005C+00 2/1 0/0 0/0 .text daObj_Myogan_Execute__FP16obj_myogan_class
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObj_Myogan_Execute(obj_myogan_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/daObj_Myogan_Execute__FP16obj_myogan_class.s"
|
||||
static int daObj_Myogan_Execute(obj_myogan_class* i_this) {
|
||||
i_this->field_0x57c++;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
if (i_this->field_0x582[i] != 0) {
|
||||
i_this->field_0x582[i]--;
|
||||
}
|
||||
}
|
||||
|
||||
action(i_this);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9EDB8-80C9EDC0 0002F8 0008+00 1/0 0/0 0/0 .text daObj_Myogan_IsDelete__FP16obj_myogan_class
|
||||
*/
|
||||
static bool daObj_Myogan_IsDelete(obj_myogan_class* param_0) {
|
||||
return true;
|
||||
static int daObj_Myogan_IsDelete(obj_myogan_class* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9F2A0-80C9F2A0 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C9F2A0 = "S_YOGAN";
|
||||
#pragma pop
|
||||
|
||||
/* 80C9EDC0-80C9EE28 000300 0068+00 1/0 0/0 0/0 .text daObj_Myogan_Delete__FP16obj_myogan_class */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObj_Myogan_Delete(obj_myogan_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/daObj_Myogan_Delete__FP16obj_myogan_class.s"
|
||||
static int daObj_Myogan_Delete(obj_myogan_class* i_this) {
|
||||
dComIfG_resDelete(&i_this->mPhase, "S_YOGAN");
|
||||
if (i_this->mInitialized) {
|
||||
initialized = false;
|
||||
}
|
||||
|
||||
dComIfG_Bgsp().Release(i_this->mpBgW);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9EE28-80C9F064 000368 023C+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void useHeapInit(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/useHeapInit__FP10fopAc_ac_c.s"
|
||||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
obj_myogan_class* a_this = (obj_myogan_class*)i_this;
|
||||
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("S_YOGAN", 6);
|
||||
a_this->mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000284);
|
||||
if (a_this->mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a_this->mpBrk = new mDoExt_brkAnm();
|
||||
if (a_this->mpBrk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("S_YOGAN", 9);
|
||||
if (!a_this->mpBrk->init(a_this->mpModel->getModelData(), brk, TRUE,
|
||||
J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
a_this->mpBtk = new mDoExt_btkAnm();
|
||||
if (a_this->mpBtk == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("S_YOGAN", 12);
|
||||
if (!a_this->mpBtk->init(a_this->mpModel->getModelData(), btk, TRUE,
|
||||
J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
a_this->mpBgW = new dBgW();
|
||||
if (a_this->mpBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes("S_YOGAN", 15);
|
||||
if (a_this->mpBgW->Set(dzb, dBgW::MOVE_BG_e, &a_this->mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a_this->mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9F064-80C9F0AC 0005A4 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/__dt__12J3DFrameCtrlFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C9F298-80C9F29C 000010 0004+00 1/1 0/0 0/0 .rodata @3966 */
|
||||
SECTION_RODATA static f32 const lit_3966 = 65536.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9F298, &lit_3966);
|
||||
|
||||
/* 80C9F29C-80C9F2A0 000014 0004+00 1/1 0/0 0/0 .rodata @3967 */
|
||||
SECTION_RODATA static f32 const lit_3967 = 1150.0f;
|
||||
COMPILER_STRIP_GATE(0x80C9F29C, &lit_3967);
|
||||
|
||||
/* 80C9F0AC-80C9F1F0 0005EC 0144+00 1/0 0/0 0/0 .text daObj_Myogan_Create__FP10fopAc_ac_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObj_Myogan_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/daObj_Myogan_Create__FP10fopAc_ac_c.s"
|
||||
static int daObj_Myogan_Create(fopAc_ac_c* i_this) {
|
||||
fopAcM_SetupActor(i_this, obj_myogan_class);
|
||||
obj_myogan_class* a_this = (obj_myogan_class*)i_this;
|
||||
|
||||
int phase = dComIfG_resLoad(&a_this->mPhase, "S_YOGAN");
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(a_this, useHeapInit, 0x4B000)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
if (dComIfG_Bgsp().Regist(a_this->mpBgW, a_this)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
if (!initialized) {
|
||||
a_this->mInitialized = 1;
|
||||
initialized = true;
|
||||
l_HIO.field_0x4 = -1;
|
||||
}
|
||||
|
||||
a_this->field_0x57c = cM_rndF(65536.0f);
|
||||
|
||||
if (dComIfGs_isStageMiddleBoss()) {
|
||||
a_this->mAction = 1;
|
||||
a_this->current.pos.y = 1150.0f;
|
||||
}
|
||||
|
||||
daObj_Myogan_Execute(a_this);
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9F1F0-80C9F238 000730 0048+00 2/1 0/0 0/0 .text __dt__18daObj_Myogan_HIO_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm daObj_Myogan_HIO_c::~daObj_Myogan_HIO_c() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/__dt__18daObj_Myogan_HIO_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 80C9F2A8-80C9F2C8 -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Myogan_Method */
|
||||
static actor_method_class l_daObj_Myogan_Method = {
|
||||
(process_method_func)daObj_Myogan_Create, (process_method_func)daObj_Myogan_Delete,
|
||||
(process_method_func)daObj_Myogan_Execute, (process_method_func)daObj_Myogan_IsDelete,
|
||||
(process_method_func)daObj_Myogan_Draw,
|
||||
};
|
||||
|
||||
/* 80C9F238-80C9F274 000778 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_myogan_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_a_obj_myogan_cpp() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/d_a_obj_myogan/d_a_obj_myogan/__sinit_d_a_obj_myogan_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C9F238, __sinit_d_a_obj_myogan_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C9F2A0-80C9F2A0 000018 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80C9F2C8-80C9F2F8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_MYOGAN */
|
||||
extern actor_process_profile_definition g_profile_OBJ_MYOGAN = {
|
||||
-3,
|
||||
3,
|
||||
-3,
|
||||
PROC_OBJ_MYOGAN,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(obj_myogan_class),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
52,
|
||||
&l_daObj_Myogan_Method,
|
||||
0x44000,
|
||||
0,
|
||||
14,
|
||||
};
|
||||
|
||||
@@ -1,184 +1,28 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_mirror_6pole
|
||||
//
|
||||
/**
|
||||
* d_a_obj_mirror_6pole.cpp
|
||||
* Mirror Chamber Sage Poles
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
struct mDoExt_bckAnm {
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjMirror6Pole_c {
|
||||
/* 80C95E18 */ void initWait();
|
||||
/* 80C95E2C */ void executeWait();
|
||||
/* 80C95E88 */ void initDemo();
|
||||
/* 80C95E8C */ void executeDemo();
|
||||
/* 80C95EFC */ void setBaseMtx();
|
||||
/* 80C95F50 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80C95F70 */ void CreateHeap();
|
||||
|
||||
static u8 ActionTable[48];
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dSv_event_flag_c {
|
||||
static u8 saveBitLabels[1644 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dSv_event_c {
|
||||
/* 800349BC */ void isEventBit(u16) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
|
||||
};
|
||||
|
||||
struct dRes_info_c {};
|
||||
|
||||
struct dRes_control_c {
|
||||
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80C961D8 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void initWait__18daObjMirror6Pole_cFv();
|
||||
extern "C" void executeWait__18daObjMirror6Pole_cFv();
|
||||
extern "C" void initDemo__18daObjMirror6Pole_cFv();
|
||||
extern "C" void executeDemo__18daObjMirror6Pole_cFv();
|
||||
extern "C" void setBaseMtx__18daObjMirror6Pole_cFv();
|
||||
extern "C" void createHeapCallBack__18daObjMirror6Pole_cFP10fopAc_ac_c();
|
||||
extern "C" void CreateHeap__18daObjMirror6Pole_cFv();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daObjMirror6Pole_Create__FP10fopAc_ac_c();
|
||||
extern "C" static void daObjMirror6Pole_Delete__FP18daObjMirror6Pole_c();
|
||||
extern "C" static void daObjMirror6Pole_Execute__FP18daObjMirror6Pole_c();
|
||||
extern "C" static void daObjMirror6Pole_Draw__FP18daObjMirror6Pole_c();
|
||||
extern "C" static bool daObjMirror6Pole_IsDelete__FP18daObjMirror6Pole_c();
|
||||
extern "C" void __sinit_d_a_obj_mirror_6pole_cpp();
|
||||
extern "C" extern char const* const d_a_obj_mirror_6pole__stringBase0;
|
||||
extern "C" u8 ActionTable__18daObjMirror6Pole_c[48];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
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 __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C96510-80C96514 000000 0004+00 2/2 0/0 0/0 .rodata @3630 */
|
||||
SECTION_RODATA static u8 const lit_3630[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C96510, &lit_3630);
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
/* 80C95E18-80C95E2C 000078 0014+00 1/0 0/0 0/0 .text initWait__18daObjMirror6Pole_cFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::initWait() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/initWait__18daObjMirror6Pole_cFv.s"
|
||||
void daObjMirror6Pole_c::initWait() {
|
||||
mpBck->setPlaySpeed(0.0f);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C96520-80C96520 000010 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C96520 = "MR-6Pole";
|
||||
#pragma pop
|
||||
|
||||
/* 80C9652C-80C96538 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80C96538-80C9654C 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
// unused data?
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
@@ -189,228 +33,171 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
#pragma pop
|
||||
|
||||
/* 80C9654C-80C96550 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_6pole__stringBase0;
|
||||
|
||||
/* 80C96550-80C9655C -00001 000C+00 0/1 0/0 0/0 .data @3617 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3617[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)initWait__18daObjMirror6Pole_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C9655C-80C96568 -00001 000C+00 0/1 0/0 0/0 .data @3618 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3618[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)executeWait__18daObjMirror6Pole_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C96568-80C96574 -00001 000C+00 0/1 0/0 0/0 .data @3619 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3619[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)initDemo__18daObjMirror6Pole_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80C96574-80C96580 -00001 000C+00 0/1 0/0 0/0 .data @3620 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static void* lit_3620[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)executeDemo__18daObjMirror6Pole_cFv,
|
||||
};
|
||||
#pragma pop
|
||||
static char* l_arcName = "MR-6Pole";
|
||||
|
||||
/* 80C96580-80C965B0 000054 0030+00 3/4 0/0 0/0 .data ActionTable__18daObjMirror6Pole_c
|
||||
*/
|
||||
SECTION_DATA u8 daObjMirror6Pole_c::ActionTable[48] = {
|
||||
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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
static actionFunc daObjMirror6Pole_c::ActionTable[][2] = {
|
||||
{&daObjMirror6Pole_c::initWait, &daObjMirror6Pole_c::executeWait},
|
||||
{&daObjMirror6Pole_c::initDemo, &daObjMirror6Pole_c::executeDemo},
|
||||
};
|
||||
|
||||
/* 80C95E2C-80C95E88 00008C 005C+00 1/0 0/0 0/0 .text executeWait__18daObjMirror6Pole_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::executeWait() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/executeWait__18daObjMirror6Pole_cFv.s"
|
||||
void daObjMirror6Pole_c::executeWait() {
|
||||
if (i_dComIfGp_event_runCheck()) {
|
||||
setAction(MODE_DEMO_e);
|
||||
}
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C95E88-80C95E8C 0000E8 0004+00 1/0 0/0 0/0 .text initDemo__18daObjMirror6Pole_cFv */
|
||||
void daObjMirror6Pole_c::initDemo() {
|
||||
/* empty function */
|
||||
}
|
||||
void daObjMirror6Pole_c::initDemo() {}
|
||||
|
||||
/* 80C95E8C-80C95EFC 0000EC 0070+00 1/0 0/0 0/0 .text executeDemo__18daObjMirror6Pole_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::executeDemo() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/executeDemo__18daObjMirror6Pole_cFv.s"
|
||||
void daObjMirror6Pole_c::executeDemo() {
|
||||
if (!i_dComIfGp_event_runCheck()) {
|
||||
setAction(MODE_WAIT_e);
|
||||
}
|
||||
|
||||
setBaseMtx();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C95EFC-80C95F50 00015C 0054+00 1/1 0/0 0/0 .text setBaseMtx__18daObjMirror6Pole_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::setBaseMtx() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/setBaseMtx__18daObjMirror6Pole_cFv.s"
|
||||
void daObjMirror6Pole_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
|
||||
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C95F50-80C95F70 0001B0 0020+00 1/1 0/0 0/0 .text
|
||||
* createHeapCallBack__18daObjMirror6Pole_cFP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::createHeapCallBack(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/func_80C95F50.s"
|
||||
int daObjMirror6Pole_c::createHeapCallBack(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjMirror6Pole_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C96514-80C96518 000004 0004+00 1/1 0/0 0/0 .rodata @3755 */
|
||||
SECTION_RODATA static f32 const lit_3755 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C96514, &lit_3755);
|
||||
|
||||
/* 80C96518-80C96520 000008 0008+00 1/1 0/0 0/0 .rodata @3757 */
|
||||
SECTION_RODATA static u8 const lit_3757[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C96518, &lit_3757);
|
||||
|
||||
/* 80C965B0-80C965D0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirror6Pole_Method */
|
||||
SECTION_DATA static void* l_daObjMirror6Pole_Method[8] = {
|
||||
(void*)daObjMirror6Pole_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjMirror6Pole_Delete__FP18daObjMirror6Pole_c,
|
||||
(void*)daObjMirror6Pole_Execute__FP18daObjMirror6Pole_c,
|
||||
(void*)daObjMirror6Pole_IsDelete__FP18daObjMirror6Pole_c,
|
||||
(void*)daObjMirror6Pole_Draw__FP18daObjMirror6Pole_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
|
||||
/* 80C965D0-80C96600 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Mirror6Pole */
|
||||
SECTION_DATA extern void* g_profile_Obj_Mirror6Pole[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
|
||||
(void*)0x00B20000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x00000580, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02AA0000, (void*)&l_daObjMirror6Pole_Method,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
|
||||
/* 80C96600-80C9660C 0000D4 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,
|
||||
};
|
||||
|
||||
/* 80C95F70-80C961D8 0001D0 0268+00 1/1 0/0 0/0 .text CreateHeap__18daObjMirror6Pole_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirror6Pole_c::CreateHeap() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/CreateHeap__18daObjMirror6Pole_cFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
int daObjMirror6Pole_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 7);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80C961D8-80C96220 000438 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/__dt__12J3DFrameCtrlFv.s"
|
||||
J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 4);
|
||||
mpBck = new mDoExt_bckAnm();
|
||||
|
||||
f32 speed;
|
||||
if (isSwitch()) {
|
||||
speed = 1.0f;
|
||||
} else {
|
||||
speed = 0.0f;
|
||||
}
|
||||
|
||||
if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::LOOP_ONCE_e, speed, 0, -1, false)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (isSwitch()) {
|
||||
mpBck->setFrame(bck->getFrameMax());
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
int daObjMirror6Pole_c::create() {
|
||||
fopAcM_SetupActor(this, daObjMirror6Pole_c);
|
||||
|
||||
int phase = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0x1C00)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
create_init();
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C96220-80C96328 000480 0108+00 1/0 0/0 0/0 .text daObjMirror6Pole_Create__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirror6Pole_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/daObjMirror6Pole_Create__FP10fopAc_ac_c.s"
|
||||
static int daObjMirror6Pole_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjMirror6Pole_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
daObjMirror6Pole_c::~daObjMirror6Pole_c() {
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C96328-80C96378 000588 0050+00 1/0 0/0 0/0 .text
|
||||
* daObjMirror6Pole_Delete__FP18daObjMirror6Pole_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirror6Pole_Delete(daObjMirror6Pole_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/daObjMirror6Pole_Delete__FP18daObjMirror6Pole_c.s"
|
||||
static int daObjMirror6Pole_Delete(daObjMirror6Pole_c* i_this) {
|
||||
i_this->~daObjMirror6Pole_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
int daObjMirror6Pole_c::execute() {
|
||||
callExecute();
|
||||
mpBck->play();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C96378-80C963BC 0005D8 0044+00 1/0 0/0 0/0 .text
|
||||
* daObjMirror6Pole_Execute__FP18daObjMirror6Pole_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirror6Pole_Execute(daObjMirror6Pole_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/daObjMirror6Pole_Execute__FP18daObjMirror6Pole_c.s"
|
||||
static int daObjMirror6Pole_Execute(daObjMirror6Pole_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
int daObjMirror6Pole_c::draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
|
||||
|
||||
mpBck->entry(mpModel->getModelData());
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
|
||||
mpBck->remove(mpModel->getModelData());
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C963BC-80C9648C 00061C 00D0+00 1/0 0/0 0/0 .text
|
||||
* daObjMirror6Pole_Draw__FP18daObjMirror6Pole_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirror6Pole_Draw(daObjMirror6Pole_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/daObjMirror6Pole_Draw__FP18daObjMirror6Pole_c.s"
|
||||
static int daObjMirror6Pole_Draw(daObjMirror6Pole_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C9648C-80C96494 0006EC 0008+00 1/0 0/0 0/0 .text
|
||||
* daObjMirror6Pole_IsDelete__FP18daObjMirror6Pole_c */
|
||||
static bool daObjMirror6Pole_IsDelete(daObjMirror6Pole_c* param_0) {
|
||||
return true;
|
||||
static int daObjMirror6Pole_IsDelete(daObjMirror6Pole_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C96494-80C96504 0006F4 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_mirror_6pole_cpp */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_d_a_obj_mirror_6pole_cpp() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_6pole/d_a_obj_mirror_6pole/__sinit_d_a_obj_mirror_6pole_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
/* 80C965B0-80C965D0 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirror6Pole_Method */
|
||||
static actor_method_class l_daObjMirror6Pole_Method = {
|
||||
(process_method_func)daObjMirror6Pole_Create, (process_method_func)daObjMirror6Pole_Delete,
|
||||
(process_method_func)daObjMirror6Pole_Execute, (process_method_func)daObjMirror6Pole_IsDelete,
|
||||
(process_method_func)daObjMirror6Pole_Draw,
|
||||
};
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80C96494, __sinit_d_a_obj_mirror_6pole_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80C96520-80C96520 000010 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80C965D0-80C96600 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Mirror6Pole */
|
||||
extern actor_process_profile_definition g_profile_Obj_Mirror6Pole = {
|
||||
-3,
|
||||
3,
|
||||
-3,
|
||||
PROC_Obj_Mirror6Pole,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daObjMirror6Pole_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
682,
|
||||
&l_daObjMirror6Pole_Method,
|
||||
0x40000,
|
||||
0,
|
||||
14,
|
||||
};
|
||||
|
||||
@@ -1,335 +1,204 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: d_a_obj_mirror_sand
|
||||
//
|
||||
/**
|
||||
* d_a_obj_mirror_sand.cpp
|
||||
* Mirror Chamber Sand Floor
|
||||
*/
|
||||
|
||||
#include "rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
struct request_of_phase_process_class {};
|
||||
|
||||
struct csXyz {};
|
||||
|
||||
struct cXyz {};
|
||||
|
||||
struct mDoMtx_stack_c {
|
||||
/* 8000CD64 */ void transS(cXyz const&);
|
||||
/* 8000CF44 */ void ZXYrotM(csXyz const&);
|
||||
|
||||
static u8 now[48];
|
||||
};
|
||||
|
||||
struct J3DModelData {};
|
||||
|
||||
struct J3DAnmTransform {};
|
||||
|
||||
struct mDoExt_bckAnm {
|
||||
/* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool);
|
||||
/* 8000D9CC */ void entry(J3DModelData*, f32);
|
||||
};
|
||||
|
||||
struct mDoExt_baseAnm {
|
||||
/* 8000D428 */ void play();
|
||||
};
|
||||
|
||||
struct fopAc_ac_c {
|
||||
/* 80018B64 */ fopAc_ac_c();
|
||||
/* 80018C8C */ ~fopAc_ac_c();
|
||||
};
|
||||
|
||||
struct daObjMirrorSand_c {
|
||||
/* 80C98508 */ void initBaseMtx();
|
||||
/* 80C98534 */ void setBaseMtx();
|
||||
};
|
||||
|
||||
struct dSv_info_c {
|
||||
/* 80035360 */ void isSwitch(int, int) const;
|
||||
};
|
||||
|
||||
struct dSv_event_flag_c {
|
||||
static u8 saveBitLabels[1644 + 4 /* padding */];
|
||||
};
|
||||
|
||||
struct dSv_event_c {
|
||||
/* 800349BC */ void isEventBit(u16) const;
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
struct dScnKy_env_light_c {
|
||||
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
|
||||
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_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();
|
||||
/* 80C987B8 */ ~dBgW();
|
||||
};
|
||||
|
||||
struct dBgS {
|
||||
/* 80074A08 */ void Regist(dBgW_Base*, fopAc_ac_c*);
|
||||
};
|
||||
|
||||
struct cBgW_BgId {
|
||||
/* 802681D4 */ void ChkUsed() const;
|
||||
};
|
||||
|
||||
struct cBgD_t {};
|
||||
|
||||
struct cBgW {
|
||||
/* 8007933C */ ~cBgW();
|
||||
/* 80079F38 */ void Set(cBgD_t*, u32, f32 (*)[3][4]);
|
||||
};
|
||||
|
||||
struct cBgS {
|
||||
/* 80074250 */ void Release(dBgW_Base*);
|
||||
};
|
||||
|
||||
struct J3DModel {};
|
||||
|
||||
struct J3DFrameCtrl {
|
||||
/* 803283FC */ void init(s16);
|
||||
/* 80C984C0 */ ~J3DFrameCtrl();
|
||||
};
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void createSolidHeap__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" void initBaseMtx__17daObjMirrorSand_cFv();
|
||||
extern "C" void setBaseMtx__17daObjMirrorSand_cFv();
|
||||
extern "C" static void daObjMirrorSand_Draw__FP17daObjMirrorSand_c();
|
||||
extern "C" static void daObjMirrorSand_Execute__FP17daObjMirrorSand_c();
|
||||
extern "C" static bool daObjMirrorSand_IsDelete__FP17daObjMirrorSand_c();
|
||||
extern "C" static void daObjMirrorSand_Delete__FP17daObjMirrorSand_c();
|
||||
extern "C" void __dt__4dBgWFv();
|
||||
extern "C" static void daObjMirrorSand_Create__FP10fopAc_ac_c();
|
||||
extern "C" extern char const* const d_a_obj_mirror_sand__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
|
||||
extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
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 __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void isEventBit__11dSv_event_cCFUs();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void Release__4cBgSFP9dBgW_Base();
|
||||
extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
|
||||
extern "C" void __dt__4cBgWFv();
|
||||
extern "C" void Set__4cBgWFP6cBgD_tUlPA3_A4_f();
|
||||
extern "C" void __ct__4dBgWFv();
|
||||
extern "C" void Move__4dBgWFv();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void ChkUsed__9cBgW_BgIdCFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void PSMTXCopy();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" extern void* g_fopAc_Method[8];
|
||||
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
|
||||
extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */];
|
||||
extern "C" extern void* __vt__4dBgW[65];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" extern u8 g_env_light[4880];
|
||||
extern "C" extern u8 j3dSys[284];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C989D8-80C989DC 000000 0004+00 1/1 0/0 0/0 .rodata @3729 */
|
||||
SECTION_RODATA static f32 const lit_3729 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C989D8, &lit_3729);
|
||||
|
||||
/* 80C989DC-80C989E0 000004 0004+00 3/3 0/0 0/0 .rodata @3730 */
|
||||
SECTION_RODATA static u8 const lit_3730[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C989DC, &lit_3730);
|
||||
|
||||
/* 80C989E0-80C989E8 000008 0008+00 1/1 0/0 0/0 .rodata @3732 */
|
||||
SECTION_RODATA static u8 const lit_3732[8] = {
|
||||
0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C989E0, &lit_3732);
|
||||
|
||||
/* 80C989E8-80C989E8 000010 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C989E8 = "MR-Sand";
|
||||
#pragma pop
|
||||
#include "JSystem/JKernel/JKRHeap.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
/* 80C989F0-80C989F4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_mirror_sand__stringBase0;
|
||||
static char* l_arcName = "MR-Sand";
|
||||
|
||||
/* 80C989F4-80C98A14 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorSand_Method */
|
||||
SECTION_DATA static void* l_daObjMirrorSand_Method[8] = {
|
||||
(void*)daObjMirrorSand_Create__FP10fopAc_ac_c,
|
||||
(void*)daObjMirrorSand_Delete__FP17daObjMirrorSand_c,
|
||||
(void*)daObjMirrorSand_Execute__FP17daObjMirrorSand_c,
|
||||
(void*)daObjMirrorSand_IsDelete__FP17daObjMirrorSand_c,
|
||||
(void*)daObjMirrorSand_Draw__FP17daObjMirrorSand_c,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
};
|
||||
int daObjMirrorSand_c::createHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 8);
|
||||
mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80C98A14-80C98A44 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorSand */
|
||||
SECTION_DATA extern void* g_profile_Obj_MirrorSand[12] = {
|
||||
(void*)0xFFFFFFFD, (void*)0x0003FFFD,
|
||||
(void*)0x00AF0000, (void*)&g_fpcLf_Method,
|
||||
(void*)0x0000072C, (void*)NULL,
|
||||
(void*)NULL, (void*)&g_fopAc_Method,
|
||||
(void*)0x02A70000, (void*)&l_daObjMirrorSand_Method,
|
||||
(void*)0x00040000, (void*)0x000E0000,
|
||||
};
|
||||
J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5);
|
||||
mpBck = new mDoExt_bckAnm();
|
||||
|
||||
/* 80C98A44-80C98A50 000054 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,
|
||||
};
|
||||
f32 speed;
|
||||
if (isSwitch()) {
|
||||
speed = 1.0f;
|
||||
} else {
|
||||
speed = 0.0f;
|
||||
}
|
||||
|
||||
if (mpBck == NULL || !mpBck->init(bck, FALSE, J3DFrameCtrl::LOOP_ONCE_e, speed, 0, -1, false)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (isSwitch()) {
|
||||
mpBck->setFrame(bck->getFrameMax());
|
||||
}
|
||||
|
||||
int i = 0; // probably fake match, needed to avoid saving mBgMtx to a register
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 11);
|
||||
if (mBgw[0].Set(dzb, dBgW::MOVE_BG_e, (Mtx*)&mBgMtx[i])) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
cBgD_t* dzb2 = (cBgD_t*)dComIfG_getObjectRes(l_arcName, 12);
|
||||
if (mBgw[1].Set(dzb2, dBgW::MOVE_BG_e, &mBgMtx)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C981D8-80C984C0 000078 02E8+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void createSolidHeap(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/createSolidHeap__FP10fopAc_ac_c.s"
|
||||
static int createSolidHeap(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjMirrorSand_c*>(i_this)->createHeap();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C984C0-80C98508 000360 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm J3DFrameCtrl::~J3DFrameCtrl() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/__dt__12J3DFrameCtrlFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98508-80C98534 0003A8 002C+00 1/1 0/0 0/0 .text initBaseMtx__17daObjMirrorSand_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirrorSand_c::initBaseMtx() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/initBaseMtx__17daObjMirrorSand_cFv.s"
|
||||
void daObjMirrorSand_c::initBaseMtx() {
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
setBaseMtx();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98534-80C98598 0003D4 0064+00 1/1 0/0 0/0 .text setBaseMtx__17daObjMirrorSand_cFv
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm void daObjMirrorSand_c::setBaseMtx() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/setBaseMtx__17daObjMirrorSand_cFv.s"
|
||||
void daObjMirrorSand_c::setBaseMtx() {
|
||||
mDoMtx_stack_c::transS(current.pos);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle);
|
||||
|
||||
mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
mpCurrentBgw->Move();
|
||||
}
|
||||
|
||||
int daObjMirrorSand_c::draw() {
|
||||
g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr);
|
||||
|
||||
mpBck->entry(mpModel->getModelData());
|
||||
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
dComIfGd_setList();
|
||||
|
||||
mpBck->remove(mpModel->getModelData());
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98598-80C98668 000438 00D0+00 1/0 0/0 0/0 .text daObjMirrorSand_Draw__FP17daObjMirrorSand_c
|
||||
*/
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirrorSand_Draw(daObjMirrorSand_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/daObjMirrorSand_Draw__FP17daObjMirrorSand_c.s"
|
||||
static int daObjMirrorSand_Draw(daObjMirrorSand_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
int daObjMirrorSand_c::execute() {
|
||||
mpBck->play();
|
||||
|
||||
if (mpCurrentBgw == &mBgw[0] && mpBck->getPlaySpeed() > 0.0f) {
|
||||
dComIfG_Bgsp().Release(&mBgw[0]);
|
||||
dComIfG_Bgsp().Regist(&mBgw[1], this);
|
||||
mpCurrentBgw = &mBgw[1];
|
||||
mpCurrentBgw->Move();
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98668-80C98700 000508 0098+00 1/0 0/0 0/0 .text
|
||||
* daObjMirrorSand_Execute__FP17daObjMirrorSand_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirrorSand_Execute(daObjMirrorSand_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/daObjMirrorSand_Execute__FP17daObjMirrorSand_c.s"
|
||||
static int daObjMirrorSand_Execute(daObjMirrorSand_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98700-80C98708 0005A0 0008+00 1/0 0/0 0/0 .text
|
||||
* daObjMirrorSand_IsDelete__FP17daObjMirrorSand_c */
|
||||
static bool daObjMirrorSand_IsDelete(daObjMirrorSand_c* param_0) {
|
||||
return true;
|
||||
static int daObjMirrorSand_IsDelete(daObjMirrorSand_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
daObjMirrorSand_c::~daObjMirrorSand_c() {
|
||||
if (mBgw[0].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgw[0]);
|
||||
}
|
||||
|
||||
if (mBgw[1].ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(&mBgw[1]);
|
||||
}
|
||||
|
||||
dComIfG_resDelete(&mPhase, l_arcName);
|
||||
}
|
||||
|
||||
/* 80C98708-80C987B8 0005A8 00B0+00 1/0 0/0 0/0 .text
|
||||
* daObjMirrorSand_Delete__FP17daObjMirrorSand_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirrorSand_Delete(daObjMirrorSand_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/daObjMirrorSand_Delete__FP17daObjMirrorSand_c.s"
|
||||
static int daObjMirrorSand_Delete(daObjMirrorSand_c* i_this) {
|
||||
i_this->~daObjMirrorSand_c();
|
||||
return 1;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C987B8-80C98818 000658 0060+00 2/2 0/0 0/0 .text __dt__4dBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm dBgW::~dBgW() {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/__dt__4dBgWFv.s"
|
||||
void daObjMirrorSand_c::create_init() {
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
mpBck->setPlaySpeed(0.0f);
|
||||
|
||||
mBgw[0].SetCrrFunc(NULL);
|
||||
mBgw[0].SetRoomId(fopAcM_GetRoomNo(this));
|
||||
mBgw[1].SetCrrFunc(NULL);
|
||||
mBgw[1].SetRoomId(fopAcM_GetRoomNo(this));
|
||||
|
||||
dBgW* current_bgw;
|
||||
if (isSwitch()) {
|
||||
current_bgw = &mBgw[1];
|
||||
} else {
|
||||
current_bgw = &mBgw[0];
|
||||
}
|
||||
|
||||
mpCurrentBgw = current_bgw;
|
||||
dComIfG_Bgsp().Regist(mpCurrentBgw, this);
|
||||
initBaseMtx();
|
||||
}
|
||||
|
||||
int daObjMirrorSand_c::create() {
|
||||
fopAcM_SetupActor(this, daObjMirrorSand_c);
|
||||
|
||||
int phase = dComIfG_resLoad(&mPhase, l_arcName);
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x1AD0)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
create_init();
|
||||
}
|
||||
|
||||
return phase;
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C98818-80C989D0 0006B8 01B8+00 1/0 0/0 0/0 .text daObjMirrorSand_Create__FP10fopAc_ac_c */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void daObjMirrorSand_Create(fopAc_ac_c* param_0) {
|
||||
nofralloc
|
||||
#include "asm/rel/d/a/obj/mirror/d_a_obj_mirror_sand/d_a_obj_mirror_sand/daObjMirrorSand_Create__FP10fopAc_ac_c.s"
|
||||
static int daObjMirrorSand_Create(fopAc_ac_c* i_this) {
|
||||
return static_cast<daObjMirrorSand_c*>(i_this)->create();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 80C989E8-80C989E8 000010 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80C989F4-80C98A14 -00001 0020+00 1/0 0/0 0/0 .data l_daObjMirrorSand_Method */
|
||||
static actor_method_class l_daObjMirrorSand_Method = {
|
||||
(process_method_func)daObjMirrorSand_Create, (process_method_func)daObjMirrorSand_Delete,
|
||||
(process_method_func)daObjMirrorSand_Execute, (process_method_func)daObjMirrorSand_IsDelete,
|
||||
(process_method_func)daObjMirrorSand_Draw,
|
||||
};
|
||||
|
||||
/* 80C98A14-80C98A44 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_MirrorSand */
|
||||
extern actor_process_profile_definition g_profile_Obj_MirrorSand = {
|
||||
-3,
|
||||
3,
|
||||
-3,
|
||||
PROC_Obj_MirrorSand,
|
||||
&g_fpcLf_Method.mBase,
|
||||
sizeof(daObjMirrorSand_c),
|
||||
0,
|
||||
0,
|
||||
&g_fopAc_Method.base,
|
||||
679,
|
||||
&l_daObjMirrorSand_Method,
|
||||
0x40000,
|
||||
0,
|
||||
14,
|
||||
};
|
||||
|
||||
+10
-254
@@ -220,182 +220,6 @@ extern "C" u8 sincosTable___5JMath[65536];
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803ABA80-803ABB84 008BA0 0104+00 2/2 1/1 5/5 .data __vt__4dBgW */
|
||||
SECTION_DATA extern void* __vt__4dBgW[65] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__4dBgWFv,
|
||||
(void*)ChkMemoryError__4cBgWFv,
|
||||
(void*)ChkNotReady__4cBgWCFv,
|
||||
(void*)ChkLock__4cBgWCFv,
|
||||
(void*)ChkMoveBg__4cBgWCFv,
|
||||
(void*)ChkMoveFlag__4dBgWCFv,
|
||||
(void*)GetTriPla__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz,
|
||||
(void*)GetBnd__4cBgWCFv,
|
||||
(void*)GetGrpInf__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)OffMoveFlag__4dBgWFv,
|
||||
(void*)GetTopUnder__4cBgWCFPfPf,
|
||||
(void*)SetOldShapeAngleY__9dBgW_BaseFs,
|
||||
(void*)LineCheck__4cBgWFP11cBgS_LinChk,
|
||||
(void*)GroundCross__4cBgWFP11cBgS_GndChk,
|
||||
(void*)ShdwDraw__4cBgWFP13cBgS_ShdwDraw,
|
||||
(void*)CaptPoly__4dBgWFR13dBgS_CaptPoly,
|
||||
(void*)WallCorrect__4dBgWFP9dBgS_Acch,
|
||||
(void*)WallCorrectSort__4dBgWFP9dBgS_Acch,
|
||||
(void*)RoofChk__4dBgWFP12dBgS_RoofChk,
|
||||
(void*)SplGrpChk__4dBgWFP14dBgS_SplGrpChk,
|
||||
(void*)SphChk__4dBgWFP11dBgS_SphChkPv,
|
||||
(void*)GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)GetExitId__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetPolyColor__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetHorseNoEntry__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetSpecialCode__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetSpecialCode__4dBgWFi,
|
||||
(void*)GetMagnetCode__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetPolyObjThrough__4dBgWFi,
|
||||
(void*)GetPolyCamThrough__4dBgWFi,
|
||||
(void*)GetPolyLinkThrough__4dBgWFi,
|
||||
(void*)GetPolyArrowThrough__4dBgWFi,
|
||||
(void*)GetPolyHSStick__4dBgWFi,
|
||||
(void*)GetPolyBoomerangThrough__4dBgWFi,
|
||||
(void*)GetPolyRopeThrough__4dBgWFi,
|
||||
(void*)GetPolyBombThrough__4dBgWFi,
|
||||
(void*)GetShdwThrough__4dBgWFi,
|
||||
(void*)GetUnderwaterRoofCode__4dBgWFi,
|
||||
(void*)GetMonkeyBarsCode__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetLinkNo__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetWallCode__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetPolyAtt0__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetPolyAtt1__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetGroundCode__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetIronBallThrough__4dBgWFi,
|
||||
(void*)GetAttackThrough__4dBgWFi,
|
||||
(void*)GetCamMoveBG__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetRoomCamId__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetRoomPathId__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetRoomPathPntNo__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetPolyGrpRoomInfId__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)GetGrpSoundId__4dBgWFRC13cBgS_PolyInfo,
|
||||
(void*)CrrPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
|
||||
(void*)TransPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
|
||||
(void*)MatrixCrrPos__4dBgWFRC13cBgS_PolyInfoPvbP4cXyzP5csXyzP5csXyz,
|
||||
(void*)CallRideCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_c,
|
||||
(void*)CallArrowStickCallBack__4dBgWFP10fopAc_ac_cP10fopAc_ac_cR4cXyz,
|
||||
(void*)CalcPlane__4cBgWFv,
|
||||
(void*)ClassifyPlane__4cBgWFv,
|
||||
(void*)ChkPolyThrough__4dBgWFiP16cBgS_PolyPassChk,
|
||||
(void*)ChkShdwDrawThrough__4dBgWFiP16cBgS_PolyPassChk,
|
||||
(void*)ChkGrpThrough__4dBgWFiP15cBgS_GrpPassChki,
|
||||
};
|
||||
|
||||
/* 803ABB84-803ABB90 008CA4 000C+00 3/3 5/5 0/0 .data __vt__8cM3dGTri */
|
||||
SECTION_DATA extern void* __vt__8cM3dGTri[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGTriFv,
|
||||
};
|
||||
|
||||
/* 803ABB90-803ABB9C 008CB0 000C+00 2/2 0/0 0/0 .data __vt__11cBgW_GrpElm */
|
||||
SECTION_DATA extern void* __vt__11cBgW_GrpElm[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11cBgW_GrpElmFv,
|
||||
};
|
||||
|
||||
/* 803ABB9C-803ABBA8 008CBC 000C+00 2/2 0/0 0/0 .data __vt__11cBgW_TriElm */
|
||||
SECTION_DATA extern void* __vt__11cBgW_TriElm[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11cBgW_TriElmFv,
|
||||
};
|
||||
|
||||
/* 803ABBA8-803ABCAC 008CC8 0104+00 2/2 0/0 0/0 .data __vt__4cBgW */
|
||||
SECTION_DATA extern void* __vt__4cBgW[65] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__4cBgWFv,
|
||||
(void*)ChkMemoryError__4cBgWFv,
|
||||
(void*)ChkNotReady__4cBgWCFv,
|
||||
(void*)ChkLock__4cBgWCFv,
|
||||
(void*)ChkMoveBg__4cBgWCFv,
|
||||
(void*)NULL,
|
||||
(void*)GetTriPla__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)GetTriPnt__4cBgWCFRC13cBgS_PolyInfoP4cXyzP4cXyzP4cXyz,
|
||||
(void*)GetBnd__4cBgWCFv,
|
||||
(void*)GetGrpInf__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)NULL,
|
||||
(void*)GetTopUnder__4cBgWCFPfPf,
|
||||
(void*)SetOldShapeAngleY__9dBgW_BaseFs,
|
||||
(void*)LineCheck__4cBgWFP11cBgS_LinChk,
|
||||
(void*)GroundCross__4cBgWFP11cBgS_GndChk,
|
||||
(void*)ShdwDraw__4cBgWFP13cBgS_ShdwDraw,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)GetGrpRoomIndex__4cBgWCFRC13cBgS_PolyInfo,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)NULL,
|
||||
(void*)CallRideCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_c,
|
||||
(void*)CallArrowStickCallBack__9dBgW_BaseFP10fopAc_ac_cP10fopAc_ac_cR4cXyz,
|
||||
(void*)CalcPlane__4cBgWFv,
|
||||
(void*)ClassifyPlane__4cBgWFv,
|
||||
(void*)ChkPolyThrough__4cBgWFiP16cBgS_PolyPassChk,
|
||||
(void*)ChkShdwDrawThrough__4cBgWFiP16cBgS_PolyPassChk,
|
||||
(void*)ChkGrpThrough__4cBgWFiP15cBgS_GrpPassChki,
|
||||
};
|
||||
|
||||
/* 803ABCAC-803ABCB8 008DCC 000C+00 2/2 0/0 0/0 .data __vt__13cBgW_NodeTree */
|
||||
SECTION_DATA extern void* __vt__13cBgW_NodeTree[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__13cBgW_NodeTreeFv,
|
||||
};
|
||||
|
||||
/* 803ABCB8-803ABCC8 008DD8 000C+04 2/2 0/0 0/0 .data __vt__11cBgW_RwgElm */
|
||||
SECTION_DATA extern void* __vt__11cBgW_RwgElm[3 + 1 /* padding */] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__11cBgW_RwgElmFv,
|
||||
/* padding */
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 800791C4-800791D4 073B04 0010+00 1/1 0/0 0/0 .text __ct__11cBgW_RwgElmFv */
|
||||
cBgW_RwgElm::cBgW_RwgElm() {}
|
||||
|
||||
@@ -440,15 +264,9 @@ cBgW::cBgW() {
|
||||
}
|
||||
|
||||
/* 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() {
|
||||
extern "C" asm void __dt__4cBgWFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__4cBgWFv.s"
|
||||
cBgW::~cBgW() {
|
||||
FreeArea();
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 800793A4-800793C4 073CE4 0020+00 2/2 0/0 0/0 .text FreeArea__4cBgWFv */
|
||||
void cBgW::FreeArea() {
|
||||
@@ -547,15 +365,7 @@ bool cBgW::SetTri() {
|
||||
}
|
||||
|
||||
/* 800796F8-80079754 074038 005C+00 2/1 0/0 0/0 .text __dt__11cBgW_TriElmFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cBgW_TriElm::~cBgW_TriElm() {
|
||||
extern "C" asm void __dt__11cBgW_TriElmFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__11cBgW_TriElmFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_TriElm::~cBgW_TriElm() {}
|
||||
|
||||
/* 80079754-80079770 074094 001C+00 1/1 0/0 0/0 .text __ct__11cBgW_TriElmFv */
|
||||
cBgW_TriElm::cBgW_TriElm() {}
|
||||
@@ -873,22 +683,12 @@ bool cBgW::Set(cBgD_t* pbgd, u32 flags, Mtx* pbase_mtx) {
|
||||
}
|
||||
|
||||
/* 8007A184-8007A1E4 074AC4 0060+00 2/1 0/0 0/0 .text __dt__11cBgW_GrpElmFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cBgW_GrpElm::~cBgW_GrpElm() {
|
||||
extern "C" asm void __dt__11cBgW_GrpElmFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__11cBgW_GrpElmFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
cBgW_GrpElm::~cBgW_GrpElm() {}
|
||||
|
||||
/* 8007A1E4-8007A200 074B24 001C+00 1/1 0/0 0/0 .text __ct__11cBgW_GrpElmFv */
|
||||
cBgW_GrpElm::cBgW_GrpElm() {}
|
||||
|
||||
/* 8007A200-8007A344 074B40 0144+00 1/1 0/0 0/0 .text RwgLineCheck__4cBgWFUsP11cBgS_LinChk */
|
||||
// vtable issue
|
||||
#ifdef NONMATCHING
|
||||
bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) {
|
||||
bool chk;
|
||||
chk = false;
|
||||
@@ -897,8 +697,8 @@ bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) {
|
||||
while (1) {
|
||||
cBgD_Tri_t* tri_data = &pm_bgd->m_t_tbl[poly_index];
|
||||
|
||||
tri.setBg(&pm_vtx_tbl[tri_data->field_0x0], &pm_vtx_tbl[tri_data->field_0x2],
|
||||
&pm_vtx_tbl[tri_data->field_0x4], &pm_tri[poly_index].m_plane);
|
||||
tri.setBg(&pm_vtx_tbl[tri_data->m_vtx_idx0], &pm_vtx_tbl[tri_data->m_vtx_idx1],
|
||||
&pm_vtx_tbl[tri_data->m_vtx_idx2], &pm_tri[poly_index].m_plane);
|
||||
|
||||
cXyz cross;
|
||||
if (tri.cross(linchk->GetLinP(), &cross, linchk->ChkFrontFlag(), linchk->ChkBackFlag())) {
|
||||
@@ -917,27 +717,6 @@ bool cBgW::RwgLineCheck(u16 poly_index, cBgS_LinChk* linchk) {
|
||||
|
||||
return chk;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool cBgW::RwgLineCheck(u16 param_0, cBgS_LinChk* param_1) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/RwgLineCheck__4cBgWFUsP11cBgS_LinChk.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8007A344-8007A3A0 074C84 005C+00 1/0 0/0 0/0 .text __dt__8cM3dGTriFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm cM3dGTri::~cM3dGTri() {
|
||||
extern "C" asm void __dt__8cM3dGTriFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__8cM3dGTriFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 8007A3A0-8007A52C 074CE0 018C+00 1/1 0/0 0/0 .text LineCheckRp__4cBgWFP11cBgS_LinChki
|
||||
*/
|
||||
@@ -2019,8 +1798,6 @@ void dBgW::CaptPoly(dBgS_CaptPoly& poly) {
|
||||
|
||||
/* 8007DB20-8007DC70 078460 0150+00 1/1 0/0 0/0 .text RwgSphChk__4dBgWFUsP11dBgS_SphChkPv
|
||||
*/
|
||||
// vtable order
|
||||
#ifdef NONMATCHING
|
||||
bool dBgW::RwgSphChk(u16 param_0, dBgS_SphChk* param_1, void* param_2) {
|
||||
cM3dGTri acStack_50;
|
||||
cBgW_RwgElm* puVar4;
|
||||
@@ -2030,11 +1807,11 @@ bool dBgW::RwgSphChk(u16 param_0, dBgS_SphChk* param_1, void* param_2) {
|
||||
puVar4 = &pm_rwg[param_0];
|
||||
if (!ChkPolyThrough(param_0, param_1->GetPolyPassChk())) {
|
||||
puVar5 = &pm_bgd->m_t_tbl[param_0];
|
||||
acStack_50.setBg(&pm_vtx_tbl[puVar5->field_0x0], &pm_vtx_tbl[puVar5->field_0x2],
|
||||
&pm_vtx_tbl[puVar5->field_0x4], &pm_tri[param_0].m_plane);
|
||||
acStack_50.setBg(&pm_vtx_tbl[puVar5->m_vtx_idx0], &pm_vtx_tbl[puVar5->m_vtx_idx1],
|
||||
&pm_vtx_tbl[puVar5->m_vtx_idx2], &pm_tri[param_0].m_plane);
|
||||
if (param_1->cross(&acStack_50)) {
|
||||
param_1->mCallback(param_1, pm_vtx_tbl, puVar5->field_0x0, puVar5->field_0x2,
|
||||
puVar5->field_0x4, &pm_tri[param_0].m_plane, param_2);
|
||||
param_1->mCallback(param_1, pm_vtx_tbl, puVar5->m_vtx_idx0, puVar5->m_vtx_idx1,
|
||||
puVar5->m_vtx_idx2, &pm_tri[param_0].m_plane, param_2);
|
||||
param_1->SetPolyIndex(param_0);
|
||||
uVar3 = true;
|
||||
}
|
||||
@@ -2045,16 +1822,6 @@ bool dBgW::RwgSphChk(u16 param_0, dBgS_SphChk* param_1, void* param_2) {
|
||||
}
|
||||
return uVar3;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
asm bool dBgW::RwgSphChk(u16 param_0, dBgS_SphChk* param_1, void* param_2) {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/RwgSphChk__4dBgWFUsP11dBgS_SphChkPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8007DC70-8007DDE0 0785B0 0170+00 1/1 0/0 0/0 .text SphChkRp__4dBgWFP11dBgS_SphChkPvi
|
||||
*/
|
||||
@@ -2323,17 +2090,6 @@ dBgW* dBgW_NewSet(cBgD_t* pbgd, u32 flags, Mtx* pbase_mtx) {
|
||||
return nw;
|
||||
}
|
||||
|
||||
/* 8007E548-8007E5A8 078E88 0060+00 1/0 0/0 0/0 .text __dt__4dBgWFv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
// asm dBgW::~dBgW() {
|
||||
extern "C" asm void __dt__4dBgWFv() {
|
||||
nofralloc
|
||||
#include "asm/d/bg/d_bg_w/__dt__4dBgWFv.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450F88-80450F90 -00001 0008+00 0/0 4/4 0/0 .sbss None */
|
||||
/* 80450F88 0001+00 data_80450F88 None */
|
||||
|
||||
Reference in New Issue
Block a user