d_a_guard_mng OK, d_a_obj_smoke OK, d_a_tag_smk_emt OK, d_a_hitobj OK (#298)

* d_a_guard_mng OK

* d_a_obj_smoke OK

* d_a_tag_smk_emt OK

* d_a_hitobj attempt

* fixes

* rm comment

* cc_sph_src

* rename and move mGuardDataTbl
This commit is contained in:
Pheenoh
2023-02-20 00:53:33 -07:00
committed by GitHub
parent 8471d1d6cc
commit fa1f47f7a1
40 changed files with 422 additions and 1477 deletions
+81 -189
View File
@@ -1,215 +1,107 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_hitobj
//
/**
* d_a_hitobj.cpp
*
*/
#include "rel/d/a/d_a_hitobj/d_a_hitobj.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct hitobj_class {};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
};
struct cXyz {};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8046B53C */ ~cM3dGSph();
};
struct cM3dGAab {
/* 8046B584 */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
//
// Forward References:
//
extern "C" static bool daHitobj_Draw__FP12hitobj_class();
extern "C" static void daHitobj_Execute__FP12hitobj_class();
extern "C" static bool daHitobj_IsDelete__FP12hitobj_class();
extern "C" static void daHitobj_Delete__FP12hitobj_class();
extern "C" static void daHitobj_Create__FP10fopAc_ac_c();
extern "C" void __dt__8cM3dGSphFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" extern char const* const d_a_hitobj__stringBase0;
//
// External References:
//
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopKyM_Delete__FPv();
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGSphFRC4cXyz();
extern "C" void __dl__FPv();
extern "C" extern void* g_fopAc_Method[8];
extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */];
extern "C" extern void* __vt__8dCcD_Sph[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
//
// Declarations:
//
#include "f_op/f_op_kankyo_mng.h"
/* 8046B358-8046B360 000078 0008+00 1/0 0/0 0/0 .text daHitobj_Draw__FP12hitobj_class */
static bool daHitobj_Draw(hitobj_class* param_0) {
return true;
static int daHitobj_Draw(hitobj_class* i_this) {
return 1;
}
/* 8046B360-8046B3C8 000080 0068+00 1/0 0/0 0/0 .text daHitobj_Execute__FP12hitobj_class
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHitobj_Execute(hitobj_class* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_hitobj/d_a_hitobj/daHitobj_Execute__FP12hitobj_class.s"
static int daHitobj_Execute(hitobj_class* i_this) {
if (i_this->field_0x572 != 0) {
i_this->field_0x572--;
i_this->field_0x5b0.SetC(i_this->current.pos);
dComIfG_Ccsp()->Set(&i_this->field_0x5b0);
} else {
fopKyM_Delete(i_this);
}
return 1;
}
#pragma pop
/* 8046B3C8-8046B3D0 0000E8 0008+00 1/0 0/0 0/0 .text daHitobj_IsDelete__FP12hitobj_class
*/
static bool daHitobj_IsDelete(hitobj_class* param_0) {
return true;
static int daHitobj_IsDelete(hitobj_class* i_this) {
return 1;
}
/* ############################################################################################## */
/* 8046B5D4-8046B5D4 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_8046B5D4 = "Hitobj";
/* @stringBase0 padding */
SECTION_DEAD static char const* const pad_8046B5DB = "";
#pragma pop
/* 8046B3D0-8046B400 0000F0 0030+00 1/0 0/0 0/0 .text daHitobj_Delete__FP12hitobj_class
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHitobj_Delete(hitobj_class* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_hitobj/d_a_hitobj/daHitobj_Delete__FP12hitobj_class.s"
static int daHitobj_Delete(hitobj_class* i_this) {
dComIfG_resDelete(&i_this->mPhase,"Hitobj");
return 1;
}
#pragma pop
/* ############################################################################################## */
/* 8046B5DC-8046B61C 000000 0040+00 1/1 0/0 0/0 .data cc_sph_src$3657 */
SECTION_DATA static u8 cc_sph_src[64] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 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, 0x42, 0xC8, 0x00, 0x00,
};
/* 8046B61C-8046B63C -00001 0020+00 1/0 0/0 0/0 .data l_daHitobj_Method */
SECTION_DATA static void* l_daHitobj_Method[8] = {
(void*)daHitobj_Create__FP10fopAc_ac_c,
(void*)daHitobj_Delete__FP12hitobj_class,
(void*)daHitobj_Execute__FP12hitobj_class,
(void*)daHitobj_IsDelete__FP12hitobj_class,
(void*)daHitobj_Draw__FP12hitobj_class,
(void*)NULL,
(void*)NULL,
(void*)NULL,
};
/* 8046B63C-8046B66C -00001 0030+00 0/0 0/0 1/0 .data g_profile_HITOBJ */
SECTION_DATA extern void* g_profile_HITOBJ[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01040000, (void*)&g_fpcLf_Method,
(void*)0x000006E8, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02B20000, (void*)&l_daHitobj_Method,
(void*)0x00040000, (void*)NULL,
};
/* 8046B66C-8046B678 000090 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGSph */
SECTION_DATA extern void* __vt__8cM3dGSph[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGSphFv,
};
/* 8046B678-8046B684 00009C 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
static dCcD_SrcSph cc_sph_src = {
{
{0, {{0, 0, 0x13}, {0, 3}, 0}},
{dCcD_SE_NONE, 0, 0, 0, {0}},
{dCcD_SE_NONE, 0, 0, 0, {0}},
{0},
},
{
{0.0f, 0.0f, 0.0f},
100.0f,
},
};
/* 8046B400-8046B53C 000120 013C+00 1/0 0/0 0/0 .text daHitobj_Create__FP10fopAc_ac_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daHitobj_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/d_a_hitobj/d_a_hitobj/daHitobj_Create__FP10fopAc_ac_c.s"
}
#pragma pop
static int daHitobj_Create(fopAc_ac_c* i_this) {
hitobj_class* hitobj = (hitobj_class*)i_this;
if (!fopAcM_CheckCondition(hitobj, 8)) {
new (hitobj) hitobj_class();
fopAcM_OnCondition(hitobj, 8);
}
/* 8046B53C-8046B584 00025C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGSphFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGSph::~cM3dGSph() {
nofralloc
#include "asm/rel/d/a/d_a_hitobj/d_a_hitobj/__dt__8cM3dGSphFv.s"
}
#pragma pop
int ret = dComIfG_resLoad(&hitobj->mPhase,"Hitobj");
/* 8046B584-8046B5CC 0002A4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
nofralloc
#include "asm/rel/d/a/d_a_hitobj/d_a_hitobj/__dt__8cM3dGAabFv.s"
}
#pragma pop
if (ret == cPhs_COMPLEATE_e) {
hitobj->field_0x570 = fopAcM_GetParam(hitobj);
hitobj->field_0x574.Init(0xff,0xff,hitobj);
hitobj->field_0x5b0.Set(cc_sph_src);
hitobj->field_0x5b0.SetStts(&hitobj->field_0x574);
hitobj->field_0x572 = 3;
}
/* 8046B5D4-8046B5D4 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
return ret;
}
/* 8046B61C-8046B63C -00001 0020+00 1/0 0/0 0/0 .data l_daHitobj_Method */
static actor_method_class l_daHitobj_Method = {
(process_method_func)daHitobj_Create,
(process_method_func)daHitobj_Delete,
(process_method_func)daHitobj_Execute,
(process_method_func)daHitobj_IsDelete,
(process_method_func)daHitobj_Draw
};
/* 8046B63C-8046B66C -00001 0030+00 0/0 0/0 1/0 .data g_profile_HITOBJ */
extern actor_process_profile_definition g_profile_HITOBJ = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_HITOBJ, // mProcName
0, // padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(hitobj_class), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x02B2, // mPriority
0, // padding
0, // padding
&l_daHitobj_Method, // mSubMtd
0x00040000, // mStatus
0, // mActorType
0, // mCullType
0, // padding
0 // padding
};