mirror of https://github.com/zeldaret/tp.git
d_a_obj_takaraDai matching (#2457)
This commit is contained in:
parent
c94fe2280a
commit
c9ee3d4861
|
|
@ -2115,7 +2115,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_szbridge"),
|
||||
ActorRel(NonMatching, "d_a_obj_taFence"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_table"),
|
||||
ActorRel(NonMatching, "d_a_obj_takaraDai"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_takaraDai"),
|
||||
ActorRel(NonMatching, "d_a_obj_tatigi"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ten"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_testcube"),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef D_A_OBJ_TAKARADAI_H
|
||||
#define D_A_OBJ_TAKARADAI_H
|
||||
|
||||
#include "d/d_bg_s_movebg_actor.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
|
@ -11,29 +12,76 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daTkraDai_c : public fopAc_ac_c {
|
||||
class daTkraDai_c : public dBgS_MoveBgActor {
|
||||
public:
|
||||
/* 80D06E64 */ void setBaseMtx();
|
||||
/* 80D06FFC */ void CreateHeap();
|
||||
/* 80D07140 */ void create();
|
||||
/* 80D07344 */ void Execute(f32 (**)[3][4]);
|
||||
/* 80D06FFC */ int CreateHeap();
|
||||
/* 80D07140 */ int create();
|
||||
/* 80D07344 */ int Execute(Mtx**);
|
||||
/* 80D073A4 */ void procMain();
|
||||
/* 80D074D0 */ void init_modeWait();
|
||||
/* 80D07528 */ void modeWait();
|
||||
/* 80D075A4 */ void Draw();
|
||||
/* 80D07668 */ void Delete();
|
||||
/* 80D075A4 */ int Draw();
|
||||
/* 80D07668 */ int Delete();
|
||||
|
||||
u32 getSwBit() { return fopAcM_GetParamBit(this, 0, 8); }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x65c - 0x568];
|
||||
/* 0x5A0 */ request_of_phase_process_class mPhase;
|
||||
/* 0x5A8 */ J3DModel* mpBaseModel;
|
||||
/* 0x5AC */ J3DModel* mpTopModel;
|
||||
/* 0x5B0 */ u8 mMode;
|
||||
/* 0x5B1 */ u8 field_0x5b1[0x5d0 - 0x5b1];
|
||||
/* 0x5D0 */ s32 field_0x5d0;
|
||||
/* 0x5D4 */ csXyz field_0x5d4;
|
||||
/* 0x5DA */ u8 field_0x5da[0x5dc - 0x5da];
|
||||
/* 0x5DC */ f32 field_0x5dc;
|
||||
/* 0x5E0 */ f32 field_0x5e0;
|
||||
/* 0x5E4 */ f32 field_0x5e4;
|
||||
/* 0x5E8 */ f32 field_0x5e8;
|
||||
/* 0x5EC */ f32 field_0x5ec;
|
||||
/* 0x5F0 */ f32 field_0x5f0;
|
||||
/* 0x5F4 */ f32 field_0x5f4;
|
||||
/* 0x5F8 */ f32 field_0x5f8;
|
||||
/* 0x5FC */ f32 field_0x5fc;
|
||||
/* 0x600 */ f32 field_0x600;
|
||||
/* 0x604 */ f32 field_0x604;
|
||||
/* 0x608 */ f32 field_0x608;
|
||||
/* 0x60C */ f32 field_0x60c;
|
||||
/* 0x610 */ f32 field_0x610;
|
||||
/* 0x614 */ f32 field_0x614;
|
||||
/* 0x618 */ u8 field_0x618;
|
||||
/* 0x619 */ u8 field_0x619[0x61a - 0x619];
|
||||
/* 0x61A */ s16 field_0x61a;
|
||||
/* 0x61C */ cXyz field_0x61c;
|
||||
/* 0x628 */ dBgW* mpBgW;
|
||||
/* 0x62C */ Mtx field_0x62c;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTkraDai_c) == 0x65c);
|
||||
|
||||
class daTkraDai_HIO_c {
|
||||
class daTkraDai_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
/* 80D06D8C */ daTkraDai_HIO_c();
|
||||
/* 80D0775C */ ~daTkraDai_HIO_c();
|
||||
/* 80D0775C */ virtual ~daTkraDai_HIO_c() {}
|
||||
|
||||
/* 0x04 */ f32 field_0x04;
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ f32 field_0x1c;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x39 */ u8 field_0x39[0x3c - 0x39];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daTkraDai_HIO_c) == 0x3c);
|
||||
|
||||
#endif /* D_A_OBJ_TAKARADAI_H */
|
||||
|
|
|
|||
|
|
@ -1,387 +1,237 @@
|
|||
/**
|
||||
* @file d_a_obj_takaraDai.cpp
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_takaraDai.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__15daTkraDai_HIO_cFv();
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv();
|
||||
extern "C" void setBaseMtx__11daTkraDai_cFv();
|
||||
extern "C" void CreateHeap__11daTkraDai_cFv();
|
||||
extern "C" void create__11daTkraDai_cFv();
|
||||
extern "C" void Execute__11daTkraDai_cFPPA3_A4_f();
|
||||
extern "C" void procMain__11daTkraDai_cFv();
|
||||
extern "C" void init_modeWait__11daTkraDai_cFv();
|
||||
extern "C" void modeWait__11daTkraDai_cFv();
|
||||
extern "C" void Draw__11daTkraDai_cFv();
|
||||
extern "C" void Delete__11daTkraDai_cFv();
|
||||
extern "C" static void daTkraDai_Draw__FP11daTkraDai_c();
|
||||
extern "C" static void daTkraDai_Execute__FP11daTkraDai_c();
|
||||
extern "C" static void daTkraDai_Delete__FP11daTkraDai_c();
|
||||
extern "C" static void daTkraDai_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__15daTkraDai_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_obj_takaraDai_cpp();
|
||||
extern "C" extern char const* const d_a_obj_takaraDai__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_ZXYrotS__FPA4_fsss();
|
||||
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
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 dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void __ct__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool Create__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
|
||||
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
|
||||
extern "C" void
|
||||
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
|
||||
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
|
||||
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
|
||||
extern "C" void 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 __ptmf_scall();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D07808-80D0780C 000000 0004+00 3/3 0/0 0/0 .rodata @3627 */
|
||||
SECTION_RODATA static f32 const lit_3627 = 12.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07808, &lit_3627);
|
||||
|
||||
/* 80D0780C-80D07810 000004 0004+00 0/1 0/0 0/0 .rodata @3628 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3628 = 4.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0780C, &lit_3628);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07810-80D07814 000008 0004+00 0/1 0/0 0/0 .rodata @3629 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3629 = 3.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07810, &lit_3629);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07814-80D07818 00000C 0004+00 0/1 0/0 0/0 .rodata @3630 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3630 = 130.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07814, &lit_3630);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07818-80D0781C 000010 0004+00 0/1 0/0 0/0 .rodata @3631 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3631 = 3.0f / 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07818, &lit_3631);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0781C-80D07820 000014 0004+00 0/1 0/0 0/0 .rodata @3632 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3632 = 5.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0781C, &lit_3632);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07820-80D07824 000018 0004+00 0/1 0/0 0/0 .rodata @3633 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3633 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07820, &lit_3633);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07824-80D07828 00001C 0004+00 0/1 0/0 0/0 .rodata @3634 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3634 = 90.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07824, &lit_3634);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07828-80D0782C 000020 0004+00 0/2 0/0 0/0 .rodata @3635 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3635 = 30.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07828, &lit_3635);
|
||||
#pragma pop
|
||||
|
||||
/* 80D0782C-80D07830 000024 0004+00 0/1 0/0 0/0 .rodata @3636 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3636 = 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0782C, &lit_3636);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07830-80D07834 000028 0004+00 0/1 0/0 0/0 .rodata @3637 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3637 = 1.0f / 100.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07830, &lit_3637);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07834-80D07838 00002C 0004+00 0/1 0/0 0/0 .rodata @3638 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3638 = 3.0f / 10.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07834, &lit_3638);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07860-80D0786C -00001 000C+00 1/1 0/0 0/0 .data @3799 */
|
||||
SECTION_DATA static void* lit_3799[3] = {
|
||||
(void*)NULL,
|
||||
(void*)0xFFFFFFFF,
|
||||
(void*)modeWait__11daTkraDai_cFv,
|
||||
};
|
||||
|
||||
/* 80D0786C-80D07878 00000C 000C+00 1/1 0/0 0/0 .data mode_proc$3798 */
|
||||
SECTION_DATA static u8 mode_proc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80D07878-80D07898 -00001 0020+00 1/0 0/0 0/0 .data l_daTkraDai_Method */
|
||||
static actor_method_class l_daTkraDai_Method = {
|
||||
(process_method_func)daTkraDai_Create__FP10fopAc_ac_c,
|
||||
(process_method_func)daTkraDai_Delete__FP11daTkraDai_c,
|
||||
(process_method_func)daTkraDai_Execute__FP11daTkraDai_c,
|
||||
0,
|
||||
(process_method_func)daTkraDai_Draw__FP11daTkraDai_c,
|
||||
};
|
||||
|
||||
/* 80D07898-80D078C8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TakaraDai */
|
||||
extern actor_process_profile_definition g_profile_Obj_TakaraDai = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_TakaraDai, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daTkraDai_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
654, // mPriority
|
||||
&l_daTkraDai_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80D078C8-80D078F0 000068 0028+00 1/1 0/0 0/0 .data __vt__11daTkraDai_c */
|
||||
SECTION_DATA extern void* __vt__11daTkraDai_c[10] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)CreateHeap__11daTkraDai_cFv,
|
||||
(void*)Create__16dBgS_MoveBgActorFv,
|
||||
(void*)Execute__11daTkraDai_cFPPA3_A4_f,
|
||||
(void*)Draw__11daTkraDai_cFv,
|
||||
(void*)Delete__11daTkraDai_cFv,
|
||||
(void*)IsDelete__16dBgS_MoveBgActorFv,
|
||||
(void*)ToFore__16dBgS_MoveBgActorFv,
|
||||
(void*)ToBack__16dBgS_MoveBgActorFv,
|
||||
};
|
||||
|
||||
/* 80D078F0-80D078FC 000090 000C+00 2/2 0/0 0/0 .data __vt__15daTkraDai_HIO_c */
|
||||
SECTION_DATA extern void* __vt__15daTkraDai_HIO_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__15daTkraDai_HIO_cFv,
|
||||
};
|
||||
|
||||
/* 80D078FC-80D07908 00009C 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
|
||||
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14mDoHIO_entry_cFv,
|
||||
};
|
||||
#include "d/d_bg_w.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 80D06D8C-80D06E1C 0000EC 0090+00 1/1 0/0 0/0 .text __ct__15daTkraDai_HIO_cFv */
|
||||
daTkraDai_HIO_c::daTkraDai_HIO_c() {
|
||||
// NONMATCHING
|
||||
field_0x04 = 12.0f;
|
||||
field_0x10 = 4.0f;
|
||||
field_0x0c = 3.0f;
|
||||
field_0x08 = 130.0f;
|
||||
field_0x14 = 0.06f;
|
||||
field_0x18 = 5.0f;
|
||||
field_0x1c = 1.0f;
|
||||
field_0x20 = 90.0f;
|
||||
field_0x24 = 30.0f;
|
||||
field_0x28 = 10.0f;
|
||||
field_0x2c = 0.01f;
|
||||
field_0x30 = 5.0f;
|
||||
field_0x34 = 0.3f;
|
||||
field_0x38 = 15;
|
||||
}
|
||||
|
||||
/* 80D06E1C-80D06E64 00017C 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
|
||||
// mDoHIO_entry_c::~mDoHIO_entry_c() {
|
||||
extern "C" void __dt__14mDoHIO_entry_cFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D07838-80D0783C 000030 0004+00 1/2 0/0 0/0 .rodata @3687 */
|
||||
SECTION_RODATA static f32 const lit_3687 = -1235.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07838, &lit_3687);
|
||||
|
||||
/* 80D0783C-80D07840 000034 0004+00 1/2 0/0 0/0 .rodata @3688 */
|
||||
SECTION_RODATA static f32 const lit_3688 = 2050.0f;
|
||||
COMPILER_STRIP_GATE(0x80D0783C, &lit_3688);
|
||||
|
||||
/* 80D06E64-80D06FFC 0001C4 0198+00 2/2 0/0 0/0 .text setBaseMtx__11daTkraDai_cFv */
|
||||
void daTkraDai_c::setBaseMtx() {
|
||||
// NONMATCHING
|
||||
}
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::ZXYrotM(current.angle.x, current.angle.y, current.angle.z);
|
||||
mDoMtx_stack_c::ZXYrotM(field_0x5d4.x, field_0x5d4.y, field_0x5d4.z);
|
||||
mpBaseModel->setBaseScale(scale);
|
||||
mpBaseModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
cMtx_copy(mDoMtx_stack_c::get(), mBgMtx);
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D07854-80D07854 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80D07854 = "M_TakaraD";
|
||||
#pragma pop
|
||||
mDoMtx_stack_c::ZXYrotS(current.angle.x, current.angle.y, current.angle.z);
|
||||
mDoMtx_stack_c::ZXYrotM(field_0x5d4.x, field_0x5d4.y, field_0x5d4.z);
|
||||
field_0x61c.set(-1235.0f, 2050.0f, -1235.0f);
|
||||
mDoMtx_stack_c::multVec(&field_0x61c, &field_0x61c);
|
||||
mDoMtx_stack_c::transS(current.pos.x + field_0x61c.x, current.pos.y + field_0x61c.y,
|
||||
current.pos.z + field_0x61c.z);
|
||||
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
|
||||
mpTopModel->setBaseScale(scale);
|
||||
mpTopModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
cMtx_copy(mDoMtx_stack_c::get(), field_0x62c);
|
||||
}
|
||||
|
||||
/* 80D06FFC-80D07140 00035C 0144+00 1/0 0/0 0/0 .text CreateHeap__11daTkraDai_cFv */
|
||||
void daTkraDai_c::CreateHeap() {
|
||||
// NONMATCHING
|
||||
int daTkraDai_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("M_TakaraD", 4);
|
||||
mpBaseModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpBaseModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("M_TakaraD", 5);
|
||||
mpTopModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
if (mpTopModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
mpBgW = new dBgW();
|
||||
if (mpBgW != NULL &&
|
||||
!mpBgW->Set((cBgD_t*)dComIfG_getObjectRes("M_TakaraD", 9), 1, &field_0x62c))
|
||||
{
|
||||
mpBgW->SetCrrFunc(dBgS_MoveBGProc_TypicalRotY);
|
||||
} else {
|
||||
mpBgW = NULL;
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D07840-80D07844 000038 0004+00 0/1 0/0 0/0 .rodata @3776 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3776 = 250.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07840, &lit_3776);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07844-80D07848 00003C 0004+00 0/1 0/0 0/0 .rodata @3777 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3777 = 50.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07844, &lit_3777);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07848-80D0784C 000040 0004+00 0/1 0/0 0/0 .rodata @3778 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const lit_3778[4] = {
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80D07848, &lit_3778);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07140-80D07344 0004A0 0204+00 1/1 0/0 0/0 .text create__11daTkraDai_cFv */
|
||||
void daTkraDai_c::create() {
|
||||
// NONMATCHING
|
||||
int daTkraDai_c::create() {
|
||||
fopAcM_SetupActor(this, daTkraDai_c);
|
||||
|
||||
cPhs__Step phase = static_cast<cPhs__Step>(dComIfG_resLoad(&mPhase, "M_TakaraD"));
|
||||
if (phase == cPhs_COMPLEATE_e) {
|
||||
if (MoveBGCreate("M_TakaraD", 8, dBgS_MoveBGProc_Typical, 0x2e00, NULL) == cPhs_ERROR_e) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
fopAcM_SetMtx(this, mpBaseModel->getBaseTRMtx());
|
||||
J3DJoint* joint = mpBaseModel->getModelData()->getJointNodePointer(0);
|
||||
fopAcM_setCullSizeBox(this, scale.x * ((joint->getMin()->x - 250.0f)),
|
||||
scale.y * joint->getMin()->y, scale.z * (joint->getMin()->z - 250.0f),
|
||||
scale.x * joint->getMax()->x, scale.y * (joint->getMax()->y + 50.0f),
|
||||
scale.z * joint->getMax()->z);
|
||||
|
||||
if (mpBgW) {
|
||||
dComIfG_Bgsp().Regist(mpBgW, this);
|
||||
mpBgW->Move();
|
||||
}
|
||||
field_0x5d4.setall(0);
|
||||
field_0x5dc = 0;
|
||||
field_0x5f4 = 0.0f;
|
||||
field_0x5f8 = 0.0f;
|
||||
field_0x5fc = 0.0f;
|
||||
field_0x608 = 0.0f;
|
||||
field_0x5e4 = 0.0f;
|
||||
field_0x5e0 = 0.0f;
|
||||
field_0x5e8 = 0.0f;
|
||||
field_0x5ec = 0.0f;
|
||||
field_0x5f0 = 0.0f;
|
||||
field_0x600 = 0.0f;
|
||||
field_0x604 = 0.0f;
|
||||
field_0x60c = 0.0f;
|
||||
field_0x610 = 0.0f;
|
||||
field_0x614 = 0.0f;
|
||||
field_0x618 = 1;
|
||||
field_0x5d0 = 0;
|
||||
|
||||
mDoMtx_stack_c::ZXYrotS(current.angle.x, current.angle.y, current.angle.z);
|
||||
field_0x61c.set(-1235.0f, 2050.0f, -1235.0f);
|
||||
mDoMtx_stack_c::multVec(&field_0x61c, &field_0x61c);
|
||||
setBaseMtx();
|
||||
init_modeWait();
|
||||
}
|
||||
return phase;
|
||||
}
|
||||
|
||||
/* 80D07344-80D073A4 0006A4 0060+00 1/0 0/0 0/0 .text Execute__11daTkraDai_cFPPA3_A4_f */
|
||||
void daTkraDai_c::Execute(f32 (**param_0)[3][4]) {
|
||||
// NONMATCHING
|
||||
int daTkraDai_c::Execute(Mtx** param_0) {
|
||||
procMain();
|
||||
setBaseMtx();
|
||||
*param_0 = &mpBaseModel->getBaseTRMtx();
|
||||
if (mpBgW != NULL) {
|
||||
mpBgW->Move();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D0784C-80D07850 000044 0004+00 1/2 0/0 0/0 .rodata @3816 */
|
||||
SECTION_RODATA static u32 const lit_3816 = 0x43360B61;
|
||||
COMPILER_STRIP_GATE(0x80D0784C, &lit_3816);
|
||||
|
||||
/* 80D07910-80D0791C 000008 000C+00 1/1 0/0 0/0 .bss @3621 */
|
||||
static u8 lit_3621[12];
|
||||
|
||||
/* 80D0791C-80D07958 000014 003C+00 3/3 0/0 0/0 .bss l_HIO */
|
||||
static u8 l_HIO[60];
|
||||
|
||||
/* 80D07958-80D0795C 000050 0004+00 1/1 0/0 0/0 .bss None */
|
||||
static u8 data_80D07958[4];
|
||||
static daTkraDai_HIO_c l_HIO;
|
||||
|
||||
/* 80D073A4-80D074D0 000704 012C+00 1/1 0/0 0/0 .text procMain__11daTkraDai_cFv */
|
||||
void daTkraDai_c::procMain() {
|
||||
// NONMATCHING
|
||||
}
|
||||
typedef void (daTkraDai_c::*daTkraDai_modeFunc)();
|
||||
static daTkraDai_modeFunc mode_proc[] = {
|
||||
&daTkraDai_c::modeWait,
|
||||
};
|
||||
(this->*mode_proc[mMode])();
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80D07850-80D07854 000048 0004+00 0/1 0/0 0/0 .rodata @3828 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3828 = 360.0f;
|
||||
COMPILER_STRIP_GATE(0x80D07850, &lit_3828);
|
||||
#pragma pop
|
||||
field_0x5d4.z = field_0x5dc * cM_scos(field_0x5d0 * cM_deg2s(field_0x5e4));
|
||||
field_0x5d4.x = field_0x5dc * cM_ssin(field_0x5d0 * cM_deg2s(field_0x5e0));
|
||||
field_0x5d0++;
|
||||
}
|
||||
|
||||
/* 80D074D0-80D07528 000830 0058+00 1/1 0/0 0/0 .text init_modeWait__11daTkraDai_cFv */
|
||||
void daTkraDai_c::init_modeWait() {
|
||||
// NONMATCHING
|
||||
field_0x5dc = l_HIO.field_0x08;
|
||||
field_0x61a = cM_deg2s(360.0f / (l_HIO.field_0x04 * 30.0f));
|
||||
mMode = 0;
|
||||
}
|
||||
|
||||
/* 80D07528-80D075A4 000888 007C+00 1/0 0/0 0/0 .text modeWait__11daTkraDai_cFv */
|
||||
void daTkraDai_c::modeWait() {
|
||||
// NONMATCHING
|
||||
field_0x5dc = l_HIO.field_0x08;
|
||||
field_0x5e4 = l_HIO.field_0x0c;
|
||||
field_0x5e0 = l_HIO.field_0x10;
|
||||
|
||||
u32 tmp = getSwBit();
|
||||
if (!fopAcM_isSwitch(this, tmp)) {
|
||||
shape_angle.y += field_0x61a;
|
||||
}
|
||||
}
|
||||
|
||||
/* 80D075A4-80D07668 000904 00C4+00 1/0 0/0 0/0 .text Draw__11daTkraDai_cFv */
|
||||
void daTkraDai_c::Draw() {
|
||||
// NONMATCHING
|
||||
int daTkraDai_c::Draw() {
|
||||
g_env_light.settingTevStruct(16, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpBaseModel, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpTopModel, &tevStr);
|
||||
dComIfGd_setListBG();
|
||||
mDoExt_modelUpdateDL(mpBaseModel);
|
||||
mDoExt_modelUpdateDL(mpTopModel);
|
||||
dComIfGd_setList();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D07668-80D076D0 0009C8 0068+00 1/0 0/0 0/0 .text Delete__11daTkraDai_cFv */
|
||||
void daTkraDai_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daTkraDai_c::Delete() {
|
||||
dComIfG_resDelete(&mPhase, "M_TakaraD");
|
||||
if (mpBgW != NULL && mpBgW->ChkUsed()) {
|
||||
dComIfG_Bgsp().Release(mpBgW);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80D076D0-80D076FC 000A30 002C+00 1/0 0/0 0/0 .text daTkraDai_Draw__FP11daTkraDai_c */
|
||||
static void daTkraDai_Draw(daTkraDai_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daTkraDai_Draw(daTkraDai_c* i_this) {
|
||||
return i_this->Draw();
|
||||
}
|
||||
|
||||
/* 80D076FC-80D0771C 000A5C 0020+00 1/0 0/0 0/0 .text daTkraDai_Execute__FP11daTkraDai_c
|
||||
*/
|
||||
static void daTkraDai_Execute(daTkraDai_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daTkraDai_Execute(daTkraDai_c* i_this) {
|
||||
return i_this->MoveBGExecute();
|
||||
}
|
||||
|
||||
/* 80D0771C-80D0773C 000A7C 0020+00 1/0 0/0 0/0 .text daTkraDai_Delete__FP11daTkraDai_c
|
||||
*/
|
||||
static void daTkraDai_Delete(daTkraDai_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daTkraDai_Delete(daTkraDai_c* i_this) {
|
||||
return i_this->MoveBGDelete();
|
||||
}
|
||||
|
||||
/* 80D0773C-80D0775C 000A9C 0020+00 1/0 0/0 0/0 .text daTkraDai_Create__FP10fopAc_ac_c */
|
||||
static void daTkraDai_Create(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daTkraDai_Create(fopAc_ac_c* i_this) {
|
||||
fopAcM_GetID(i_this);
|
||||
return static_cast<daTkraDai_c*>(i_this)->create();
|
||||
}
|
||||
|
||||
/* 80D0775C-80D077B8 000ABC 005C+00 2/1 0/0 0/0 .text __dt__15daTkraDai_HIO_cFv */
|
||||
daTkraDai_HIO_c::~daTkraDai_HIO_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80D07878-80D07898 -00001 0020+00 1/0 0/0 0/0 .data l_daTkraDai_Method */
|
||||
static actor_method_class l_daTkraDai_Method = {
|
||||
(process_method_func)daTkraDai_Create, (process_method_func)daTkraDai_Delete,
|
||||
(process_method_func)daTkraDai_Execute, 0,
|
||||
(process_method_func)daTkraDai_Draw,
|
||||
};
|
||||
|
||||
/* 80D077B8-80D077F4 000B18 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_takaraDai_cpp */
|
||||
void __sinit_d_a_obj_takaraDai_cpp() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x80D077B8, __sinit_d_a_obj_takaraDai_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* 80D07854-80D07854 00004C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 80D07898-80D078C8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TakaraDai */
|
||||
extern actor_process_profile_definition g_profile_Obj_TakaraDai = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
3, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_TakaraDai, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daTkraDai_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
654, // mPriority
|
||||
&l_daTkraDai_Method, // sub_method
|
||||
0x00040100, // mStatus
|
||||
fopAc_ACTOR_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue