d_a_obj_takaraDai matching (#2457)

This commit is contained in:
meintte 2025-05-27 11:47:15 +02:00 committed by GitHub
parent c94fe2280a
commit c9ee3d4861
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 238 additions and 340 deletions

View File

@ -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"),

View File

@ -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 */

View File

@ -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, &current.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
};