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
+70 -165
View File
@@ -1,203 +1,108 @@
//
// Generated By: dol2asm
// Translation Unit: d_a_obj_smoke
//
/**
* d_a_obj_smoke.cpp
* Object - Smoke
*/
#include "rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct mDoMtx_stack_c {
static u8 now[48];
};
struct fopAc_ac_c {
/* 80018B64 */ fopAc_ac_c();
};
struct daObjSmoke_c {
/* 80CDCE78 */ void initBaseMtx();
/* 80CDCE98 */ void setBaseMtx();
/* 80CDCEF0 */ void Create();
/* 80CDCF9C */ void create();
/* 80CDD004 */ void execute();
/* 80CDD0B8 */ void _delete();
};
struct dSv_info_c {
/* 80035360 */ void isSwitch(int, int) const;
};
struct dPa_levelEcallBack {};
struct dKy_tevstr_c {};
struct csXyz {};
struct _GXColor {};
struct cXyz {};
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);
};
//
// Forward References:
//
extern "C" void initBaseMtx__12daObjSmoke_cFv();
extern "C" void setBaseMtx__12daObjSmoke_cFv();
extern "C" void Create__12daObjSmoke_cFv();
extern "C" void create__12daObjSmoke_cFv();
extern "C" void execute__12daObjSmoke_cFv();
extern "C" void _delete__12daObjSmoke_cFv();
extern "C" static void daObjSmoke_Execute__FP12daObjSmoke_c();
extern "C" static void daObjSmoke_Delete__FP12daObjSmoke_c();
extern "C" static void daObjSmoke_Create__FP10fopAc_ac_c();
extern "C" extern void* g_profile_Obj_Smoke[12];
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void PSMTXTrans();
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];
//
// Declarations:
//
/* 80CDCE78-80CDCE98 000078 0020+00 1/1 0/0 0/0 .text initBaseMtx__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::initBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/initBaseMtx__12daObjSmoke_cFv.s"
void daObjSmoke_c::initBaseMtx() {
setBaseMtx();
}
#pragma pop
/* 80CDCE98-80CDCEF0 000098 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::setBaseMtx() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/setBaseMtx__12daObjSmoke_cFv.s"
void daObjSmoke_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x,current.pos.y,current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x,shape_angle.y,shape_angle.z);
}
#pragma pop
/* ############################################################################################## */
/* 80CDD160-80CDD164 000000 0004+00 2/2 0/0 0/0 .rodata @3655 */
SECTION_RODATA static f32 const lit_3655 = 1.0f;
COMPILER_STRIP_GATE(0x80CDD160, &lit_3655);
/* 80CDCEF0-80CDCF9C 0000F0 00AC+00 1/1 0/0 0/0 .text Create__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::Create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/Create__12daObjSmoke_cFv.s"
int daObjSmoke_c::Create() {
initBaseMtx();
if (i_fopAcM_isSwitch(this,getSwbit())) {
mParticle = dComIfGp_particle_set(0x85a6,&current.pos,&current.angle,&mScale,0xff,0,0xffffffff,0,0,0);
}
return 1;
}
#pragma pop
/* 80CDCF9C-80CDD004 00019C 0068+00 1/1 0/0 0/0 .text create__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::create() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/func_80CDCF9C.s"
int daObjSmoke_c::create() {
if (!fopAcM_CheckCondition(this, 8)) {
new (this) daObjSmoke_c();
fopAcM_OnCondition(this, 8);
}
if (Create() == 0) {
return cPhs_ERROR_e;
}
return cPhs_COMPLEATE_e;
}
#pragma pop
/* 80CDD004-80CDD0B8 000204 00B4+00 1/1 0/0 0/0 .text execute__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::execute() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/execute__12daObjSmoke_cFv.s"
int daObjSmoke_c::execute() {
if (i_fopAcM_isSwitch(this,getSwbit()) && !mParticle) {
mParticle = dComIfGp_particle_set(0x85a6,&current.pos,&current.angle,&mScale,0xff,0,0xffffffff,0,0,0);
}
return 1;
}
#pragma pop
/* 80CDD0B8-80CDD0F8 0002B8 0040+00 1/1 0/0 0/0 .text _delete__12daObjSmoke_cFv */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm void daObjSmoke_c::_delete() {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/_delete__12daObjSmoke_cFv.s"
int daObjSmoke_c::_delete() {
if (mParticle) {
mParticle->quitImmortalEmitter();
mParticle->becomeInvalidEmitter();
mParticle = 0;
}
return 1;
}
#pragma pop
/* 80CDD0F8-80CDD118 0002F8 0020+00 1/0 0/0 0/0 .text daObjSmoke_Execute__FP12daObjSmoke_c */
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSmoke_Execute(daObjSmoke_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/daObjSmoke_Execute__FP12daObjSmoke_c.s"
static int daObjSmoke_Execute(daObjSmoke_c* i_this) {
return i_this->execute();
}
#pragma pop
/* 80CDD118-80CDD138 000318 0020+00 1/0 0/0 0/0 .text daObjSmoke_Delete__FP12daObjSmoke_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSmoke_Delete(daObjSmoke_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/daObjSmoke_Delete__FP12daObjSmoke_c.s"
static int daObjSmoke_Delete(daObjSmoke_c* i_this) {
return i_this->_delete();
}
#pragma pop
/* 80CDD138-80CDD158 000338 0020+00 1/0 0/0 0/0 .text daObjSmoke_Create__FP10fopAc_ac_c
*/
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
static asm void daObjSmoke_Create(fopAc_ac_c* param_0) {
nofralloc
#include "asm/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke/daObjSmoke_Create__FP10fopAc_ac_c.s"
static int daObjSmoke_Create(fopAc_ac_c* i_this) {
return static_cast<daObjSmoke_c*>(i_this)->create();
}
#pragma pop
/* ############################################################################################## */
/* 80CDD164-80CDD184 -00001 0020+00 1/0 0/0 0/0 .data l_daObjSmoke_Method */
SECTION_DATA static void* l_daObjSmoke_Method[8] = {
(void*)daObjSmoke_Create__FP10fopAc_ac_c,
(void*)daObjSmoke_Delete__FP12daObjSmoke_c,
(void*)daObjSmoke_Execute__FP12daObjSmoke_c,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
(void*)NULL,
static actor_method_class l_daObjSmoke_Method = {
(process_method_func)daObjSmoke_Create,
(process_method_func)daObjSmoke_Delete,
(process_method_func)daObjSmoke_Execute
};
/* 80CDD184-80CDD1B4 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Smoke */
SECTION_DATA extern void* g_profile_Obj_Smoke[12] = {
(void*)0xFFFFFFFD, (void*)0x0007FFFD,
(void*)0x01760000, (void*)&g_fpcLf_Method,
(void*)0x0000056C, (void*)NULL,
(void*)NULL, (void*)&g_fopAc_Method,
(void*)0x02780000, (void*)&l_daObjSmoke_Method,
(void*)0x00040100, (void*)0x000E0000,
extern actor_process_profile_definition g_profile_Obj_Smoke = {
-3, // mLayerID
7, // mListID
-3, // mListPrio
PROC_Obj_Smoke, // mProcName
0, // padding
&g_fpcLf_Method.mBase, // mSubMtd
sizeof(daObjSmoke_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // mSubMtd
0x0278, // mPriority
0, // padding
0, // padding
&l_daObjSmoke_Method, // mSubMtd
0x00040100, // mStatus
0, // mActorType
0x0E, // mCullType
0, // padding
0, // padding
};