d_a_obj_tmoon OK

This commit is contained in:
Trueffeloot
2023-04-08 08:32:50 +02:00
parent 4aa1e3447f
commit dc815a9278
17 changed files with 121 additions and 510 deletions
+94 -227
View File
@@ -1,273 +1,140 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_tmoon
//
/**
* d_a_obj_tmoon.cpp
* Moon in Hidden Skill Scene
*/
#include "rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct cXyz {};
struct mDoMtx_stack_c {
/* 8000CD64 */ void transS(cXyz const&);
static u8 now[48];
};
struct leafdraw_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjTMoon_c {
/* 80D12BB8 */ void initBaseMtx();
/* 80D12BF4 */ void setBaseMtx();
/* 80D12C48 */ void Create();
/* 80D12C9C */ void CreateHeap();
/* 80D12D0C */ void create();
/* 80D12DC0 */ void execute();
/* 80D12EB4 */ void draw();
/* 80D12EDC */ void _delete();
};
struct dSv_event_flag_c {
static u8 saveBitLabels[1644 + 4 /* padding */];
};
struct dSv_event_c {
/* 800349BC */ void isEventBit(u16) const;
};
struct dRes_info_c {};
struct dRes_control_c {
/* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int);
};
struct create_tag_class {};
struct J3DModelData {};
//
// Forward References:
//
extern "C" static void CheckCreateHeap__FP10fopAc_ac_c();
extern "C" void initBaseMtx__12daObjTMoon_cFv();
extern "C" void setBaseMtx__12daObjTMoon_cFv();
extern "C" void Create__12daObjTMoon_cFv();
extern "C" void CreateHeap__12daObjTMoon_cFv();
extern "C" void create__12daObjTMoon_cFv();
extern "C" void execute__12daObjTMoon_cFv();
extern "C" void draw__12daObjTMoon_cFv();
extern "C" void _delete__12daObjTMoon_cFv();
extern "C" static void daObjTMoon_Draw__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Execute__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Delete__FP12daObjTMoon_c();
extern "C" static void daObjTMoon_Create__FP12daObjTMoon_c();
extern "C" extern char const* const d_a_obj_tmoon__stringBase0;
extern "C" extern void* g_profile_Obj_TMoon[12];
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
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 fopDwTg_ToDrawQ__FP16create_tag_classi();
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
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 getRes__14dRes_control_cFPCclP11dRes_info_ci();
extern "C" void PSMTXCopy();
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];
//
// Declarations:
//
/* 80D12B98-80D12BB8 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void CheckCreateHeap(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/CheckCreateHeap__FP10fopAc_ac_c.s"
static bool CheckCreateHeap(fopAc_ac_c* i_this) {
return static_cast<daObjTMoon_c*>(i_this)->CreateHeap();
}
#pragma pop
/* 80D12BB8-80D12BF4 000098 003C+00 1/1 0/0 0/0 .text initBaseMtx__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/initBaseMtx__12daObjTMoon_cFv.s"
void daObjTMoon_c::initBaseMtx() {
field_0x570->setBaseScale(mScale);
setBaseMtx();
}
#pragma pop
/* 80D12BF4-80D12C48 0000D4 0054+00 1/1 0/0 0/0 .text setBaseMtx__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/setBaseMtx__12daObjTMoon_cFv.s"
void daObjTMoon_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::YrotM(shape_angle.y);
PSMTXCopy(mDoMtx_stack_c::now, field_0x570->mBaseTransformMtx);
}
#pragma pop
/* 80D12C48-80D12C9C 000128 0054+00 1/1 0/0 0/0 .text Create__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/Create__12daObjTMoon_cFv.s"
int daObjTMoon_c::Create() {
field_0x574 = getEventBit1();
field_0x576 = getEventBit2();
initBaseMtx();
fopAcM_SetMtx(this, field_0x570->getBaseTRMtx());
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 80D12F98-80D12F98 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80D12F98 = "A_TMoon";
#pragma pop
/* 80D12FA0-80D12FA4 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_tmoon__stringBase0;
static const char* l_arcName[] = {"A_TMoon"};
/* 80D12C9C-80D12D0C 00017C 0070+00 1/1 0/0 0/0 .text CreateHeap__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::CreateHeap() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/CreateHeap__12daObjTMoon_cFv.s"
bool daObjTMoon_c::CreateHeap() {
field_0x570 = mDoExt_J3DModel__create((J3DModelData*)dComIfG_getObjectRes(l_arcName[0], 3),
0x80000, 0x11000084);
return field_0x570 != NULL;
}
#pragma pop
/* 80D12D0C-80D12DC0 0001EC 00B4+00 1/1 0/0 0/0 .text create__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/func_80D12D0C.s"
int daObjTMoon_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjTMoon_c();
fopAcM_OnCondition(this, 8);
}
int phase = dComIfG_resLoad(&field_0x568, l_arcName[0]);
if (phase == cPhs_COMPLEATE_e) {
if (!fopAcM_entrySolidHeap(this, (heapCallbackFunc)CheckCreateHeap, 0x880)) {
return cPhs_ERROR_e;
} else if (!Create()) {
return cPhs_ERROR_e;
}
}
return phase;
}
#pragma pop
/* 80D12DC0-80D12EB4 0002A0 00F4+00 1/1 0/0 0/0 .text execute__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/execute__12daObjTMoon_cFv.s"
int daObjTMoon_c::execute() {
if ((field_0x576 != 0x3ff) &&
(i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x576])) ||
(field_0x574 != 0x3ff) &&
(!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x574])))
{
fopDwTg_DrawQTo(&mDwTg);
return 1;
} else if ((field_0x574 != 0x3ff) &&
(i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[field_0x574])))
{
fopDwTg_ToDrawQ(&mDwTg, fpcLf_GetPriority(this));
return 1;
}
return 1;
}
#pragma pop
/* 80D12EB4-80D12EDC 000394 0028+00 1/1 0/0 0/0 .text draw__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::draw() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/draw__12daObjTMoon_cFv.s"
int daObjTMoon_c::draw() {
g_env_light.mMoonPos = current.pos;
return 1;
}
#pragma pop
/* 80D12EDC-80D12F10 0003BC 0034+00 1/1 0/0 0/0 .text _delete__12daObjTMoon_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjTMoon_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/_delete__12daObjTMoon_cFv.s"
int daObjTMoon_c::_delete() {
dComIfG_resDelete(&field_0x568, l_arcName[0]);
return 1;
}
#pragma pop
/* 80D12F10-80D12F30 0003F0 0020+00 1/0 0/0 0/0 .text daObjTMoon_Draw__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Draw(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Draw__FP12daObjTMoon_c.s"
/* 80D12F10-80D12F30 0003F0 0020+00 1/0 0/0 0/0 .text daObjTMoon_Draw__FP12daObjTMoon_c */
static int daObjTMoon_Draw(daObjTMoon_c* i_this) {
return i_this->draw();
}
#pragma pop
/* 80D12F30-80D12F50 000410 0020+00 1/0 0/0 0/0 .text daObjTMoon_Execute__FP12daObjTMoon_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Execute(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Execute__FP12daObjTMoon_c.s"
static int daObjTMoon_Execute(daObjTMoon_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 80D12F50-80D12F70 000430 0020+00 1/0 0/0 0/0 .text daObjTMoon_Delete__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Delete(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Delete__FP12daObjTMoon_c.s"
/* 80D12F50-80D12F70 000430 0020+00 1/0 0/0 0/0 .text daObjTMoon_Delete__FP12daObjTMoon_c */
static int daObjTMoon_Delete(daObjTMoon_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 80D12F70-80D12F90 000450 0020+00 1/0 0/0 0/0 .text daObjTMoon_Create__FP12daObjTMoon_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjTMoon_Create(daObjTMoon_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_tmoon/d_a_obj_tmoon/daObjTMoon_Create__FP12daObjTMoon_c.s"
/* 80D12F70-80D12F90 000450 0020+00 1/0 0/0 0/0 .text daObjTMoon_Create__FP12daObjTMoon_c */
static int daObjTMoon_Create(daObjTMoon_c* i_this) {
return i_this->create();
}
#pragma pop
/* ############################################################################################## */
/* 80D12FA4-80D12FC4 -00001 0020+00 1/0 0/0 0/0 .data l_daObjTMoon_Method */
SECTION_DATA static void* l_daObjTMoon_Method[8] = {
(void*)daObjTMoon_Create__FP12daObjTMoon_c,
(void*)daObjTMoon_Delete__FP12daObjTMoon_c,
(void*)daObjTMoon_Execute__FP12daObjTMoon_c,
(void*)NULL,
(void*)daObjTMoon_Draw__FP12daObjTMoon_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daObjTMoon_Method = {
(process_method_func)daObjTMoon_Create, (process_method_func)daObjTMoon_Delete,
(process_method_func)daObjTMoon_Execute, (process_method_func)NULL,
(process_method_func)daObjTMoon_Draw,
};
/* 80D12FC4-80D12FF4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_TMoon */
SECTION_DATA extern void* g_profile_Obj_TMoon[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01950000, (void*)&g_fpcLf_Method,
(void*)0x00000578, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02390000, (void*)&l_daObjTMoon_Method,
(void*)0x00040000, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Obj_TMoon = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Obj_TMoon, // mProcName
0, // Padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daObjTMoon_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x0239, // mPriority
0, // Padding
0, // Padding
&l_daObjTMoon_Method, // mSubMtd
0x00040000, // mStatus
0, // mActorType
14, // mCullType
0, // Padding
0, // Padding
};
/* 80D12F98-80D12F98 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */