summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTrueffeloot <geiloking135@gmail.com>2023-04-08 06:24:08 +0200
committerTrueffeloot <geiloking135@gmail.com>2023-04-08 06:24:08 +0200
commitf49824a4e0114540cdd4682edaf8ca2fd8b25801 (patch)
treeb2e0872018705b861ea81f863e15950c4d8606c3
parent78196a18890f52703c50ec7d78c1dc708723c968 (diff)
d_a_tag_poFire OK
-rw-r--r--include/m_Do/m_Do_hostIO.h1
-rw-r--r--include/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h1
-rw-r--r--include/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h23
-rw-r--r--rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp2
-rw-r--r--rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp267
5 files changed, 89 insertions, 205 deletions
diff --git a/include/m_Do/m_Do_hostIO.h b/include/m_Do/m_Do_hostIO.h
index a6f72935e0..abf715f55d 100644
--- a/include/m_Do/m_Do_hostIO.h
+++ b/include/m_Do/m_Do_hostIO.h
@@ -6,6 +6,7 @@
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c() {}
+ u8 unk_0x4;
};
#endif /* M_DO_M_DO_HOSTIO_H */
diff --git a/include/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h b/include/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h
index 4e6743d6f5..9f0dda433d 100644
--- a/include/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h
+++ b/include/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.h
@@ -26,7 +26,6 @@ public:
/* 80D5B2EC */ daLv6CstaSw_HIO_c();
/* 80D5B740 */ virtual ~daLv6CstaSw_HIO_c();
- /* 0x04 */ s8 field_0x4;
};
#endif /* D_A_TAG_LV6CSTASW_H */
diff --git a/include/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h b/include/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h
index e49a792d69..3c5cc4451f 100644
--- a/include/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h
+++ b/include/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h
@@ -1,6 +1,27 @@
#ifndef D_A_TAG_POFIRE_H
#define D_A_TAG_POFIRE_H
-#include "dolphin/types.h"
+#include "d/com/d_com_inf_game.h"
+#include "f_op/f_op_actor_mng.h"
+#include "m_Do/m_Do_hostIO.h"
+
+class daTagPoFire_c : public fopAc_ac_c {
+public:
+ /* 80D5DB38 */ void setBaseMtx();
+ /* 80D5DB90 */ int create();
+ /* 80D5DBF0 */ int Execute();
+ /* 80D5DC20 */ int Draw();
+ /* 80D5DC28 */ int Delete();
+
+ /* 0x568 */ u8 field_0x568;
+ /* 0x569 */ u8 field_0x569;
+ /* 0x56B */ u16 field_0x56b;
+};
+
+class daTagPoFire_HIO_c : public mDoHIO_entry_c {
+public:
+ /* 80D5DACC */ daTagPoFire_HIO_c();
+ /* 80D5DCB0 */ virtual ~daTagPoFire_HIO_c();
+};
#endif /* D_A_TAG_POFIRE_H */
diff --git a/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp b/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp
index 9b1942f0d3..a679220474 100644
--- a/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp
+++ b/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp
@@ -7,7 +7,7 @@
/* 80D5B2EC-80D5B310 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daLv6CstaSw_HIO_cFv */
daLv6CstaSw_HIO_c::daLv6CstaSw_HIO_c() {
- field_0x4 = 0;
+ unk_0x4 = 0;
}
/* 80D5B358-80D5B3B0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daLv6CstaSw_cFv */
diff --git a/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp b/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp
index 8eb96eb88b..8f80310218 100644
--- a/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp
+++ b/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp
@@ -1,244 +1,107 @@
-//
-// Generated By: dol2asm
-// Translation Unit: d_a_tag_poFire
-//
+/**
+ * d_a_tag_poFire.cpp
+ * Tag - Poe Fire
+ */
#include "rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h"
-#include "dol2asm.h"
-#include "dolphin/types.h"
-
-//
-// Types:
-//
-
-struct mDoMtx_stack_c {
- static u8 now[48];
-};
-
-struct mDoHIO_entry_c {
- /* 80D5DAF0 */ ~mDoHIO_entry_c();
-};
-
-struct fopAc_ac_c {
- /* 80018B64 */ fopAc_ac_c();
-};
-
-struct daTagPoFire_c {
- /* 80D5DB38 */ void setBaseMtx();
- /* 80D5DB90 */ void create();
- /* 80D5DBF0 */ void Execute();
- /* 80D5DC20 */ bool Draw();
- /* 80D5DC28 */ bool Delete();
-};
-
-struct daTagPoFire_HIO_c {
- /* 80D5DACC */ daTagPoFire_HIO_c();
- /* 80D5DCB0 */ ~daTagPoFire_HIO_c();
-};
-
-//
-// Forward References:
-//
-
-extern "C" void __ct__17daTagPoFire_HIO_cFv();
-extern "C" void __dt__14mDoHIO_entry_cFv();
-extern "C" void setBaseMtx__13daTagPoFire_cFv();
-extern "C" void create__13daTagPoFire_cFv();
-extern "C" void Execute__13daTagPoFire_cFv();
-extern "C" bool Draw__13daTagPoFire_cFv();
-extern "C" bool Delete__13daTagPoFire_cFv();
-extern "C" static void daTagPoFire_Draw__FP13daTagPoFire_c();
-extern "C" static void daTagPoFire_Execute__FP13daTagPoFire_c();
-extern "C" static void daTagPoFire_Delete__FP13daTagPoFire_c();
-extern "C" static void daTagPoFire_Create__FP10fopAc_ac_c();
-extern "C" void __dt__17daTagPoFire_HIO_cFv();
-extern "C" void __sinit_d_a_tag_poFire_cpp();
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
-extern "C" void __ct__10fopAc_ac_cFv();
-extern "C" void fopAcM_delete__FP10fopAc_ac_c();
-extern "C" void __dl__FPv();
-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" void __register_global_object();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
-/* 80D5DD5C-80D5DD7C -00001 0020+00 1/0 0/0 0/0 .data l_daTagPoFire_Method */
-SECTION_DATA static void* l_daTagPoFire_Method[8] = {
- (void*)daTagPoFire_Create__FP10fopAc_ac_c,
- (void*)daTagPoFire_Delete__FP13daTagPoFire_c,
- (void*)daTagPoFire_Execute__FP13daTagPoFire_c,
- (void*)NULL,
- (void*)daTagPoFire_Draw__FP13daTagPoFire_c,
- (void*)NULL,
- (void*)NULL,
- (void*)NULL,
-};
-
-/* 80D5DD7C-80D5DDAC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_poFire */
-SECTION_DATA extern void* g_profile_Tag_poFire[12] = {
- (void*)0xFFFFFFFD, (void*)0x0007FFFD,
- (void*)0x017A0000, (void*)&g_fpcLf_Method,
- (void*)0x0000056C, (void*)NULL,
- (void*)NULL, (void*)&g_fopAc_Method,
- (void*)0x02890000, (void*)&l_daTagPoFire_Method,
- (void*)0x00044000, (void*)0x000E0000,
-};
-
-/* 80D5DDAC-80D5DDB8 000050 000C+00 2/2 0/0 0/0 .data __vt__17daTagPoFire_HIO_c */
-SECTION_DATA extern void* __vt__17daTagPoFire_HIO_c[3] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)__dt__17daTagPoFire_HIO_cFv,
-};
-
-/* 80D5DDB8-80D5DDC4 00005C 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,
-};
/* 80D5DACC-80D5DAF0 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daTagPoFire_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm daTagPoFire_HIO_c::daTagPoFire_HIO_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__ct__17daTagPoFire_HIO_cFv.s"
-}
-#pragma pop
-
-/* 80D5DAF0-80D5DB38 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm mDoHIO_entry_c::~mDoHIO_entry_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__dt__14mDoHIO_entry_cFv.s"
+daTagPoFire_HIO_c::daTagPoFire_HIO_c() {
+ unk_0x4 = 0x14;
}
-#pragma pop
/* 80D5DB38-80D5DB90 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daTagPoFire_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTagPoFire_c::setBaseMtx() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/setBaseMtx__13daTagPoFire_cFv.s"
+void daTagPoFire_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
/* 80D5DB90-80D5DBF0 0001B0 0060+00 1/1 0/0 0/0 .text create__13daTagPoFire_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTagPoFire_c::create() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/create__13daTagPoFire_cFv.s"
+int daTagPoFire_c::create() {
+ if (!fopAcM_CheckCondition(this, 8)) {
+ new (this) daTagPoFire_c();
+ fopAcM_OnCondition(this, 8);
+ }
+ field_0x569 = 0;
+ setBaseMtx();
+ return cPhs_COMPLEATE_e;
}
-#pragma pop
/* 80D5DBF0-80D5DC20 000210 0030+00 1/1 0/0 0/0 .text Execute__13daTagPoFire_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void daTagPoFire_c::Execute() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/Execute__13daTagPoFire_cFv.s"
+int daTagPoFire_c::Execute() {
+ if (field_0x569) {
+ fopAcM_delete(this);
+ }
+ return 1;
}
-#pragma pop
/* 80D5DC20-80D5DC28 000240 0008+00 1/1 0/0 0/0 .text Draw__13daTagPoFire_cFv */
-bool daTagPoFire_c::Draw() {
- return true;
+int daTagPoFire_c::Draw() {
+ return 1;
}
/* 80D5DC28-80D5DC30 000248 0008+00 1/1 0/0 0/0 .text Delete__13daTagPoFire_cFv */
-bool daTagPoFire_c::Delete() {
- return true;
+int daTagPoFire_c::Delete() {
+ return 1;
}
/* 80D5DC30-80D5DC50 000250 0020+00 1/0 0/0 0/0 .text daTagPoFire_Draw__FP13daTagPoFire_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagPoFire_Draw(daTagPoFire_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Draw__FP13daTagPoFire_c.s"
+static int daTagPoFire_Draw(daTagPoFire_c* i_this) {
+ return i_this->Draw();
}
-#pragma pop
/* 80D5DC50-80D5DC70 000270 0020+00 1/0 0/0 0/0 .text daTagPoFire_Execute__FP13daTagPoFire_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagPoFire_Execute(daTagPoFire_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Execute__FP13daTagPoFire_c.s"
+static int daTagPoFire_Execute(daTagPoFire_c* i_this) {
+ return i_this->Execute();
}
-#pragma pop
/* 80D5DC70-80D5DC90 000290 0020+00 1/0 0/0 0/0 .text daTagPoFire_Delete__FP13daTagPoFire_c */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagPoFire_Delete(daTagPoFire_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Delete__FP13daTagPoFire_c.s"
+static int daTagPoFire_Delete(daTagPoFire_c* i_this) {
+ return i_this->Delete();
}
-#pragma pop
/* 80D5DC90-80D5DCB0 0002B0 0020+00 1/0 0/0 0/0 .text daTagPoFire_Create__FP10fopAc_ac_c
*/
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-static asm void daTagPoFire_Create(fopAc_ac_c* param_0) {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Create__FP10fopAc_ac_c.s"
+static int daTagPoFire_Create(fopAc_ac_c* i_this) {
+ return static_cast<daTagPoFire_c*>(i_this)->create();
}
-#pragma pop
/* 80D5DCB0-80D5DD0C 0002D0 005C+00 2/1 0/0 0/0 .text __dt__17daTagPoFire_HIO_cFv */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm daTagPoFire_HIO_c::~daTagPoFire_HIO_c() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__dt__17daTagPoFire_HIO_cFv.s"
-}
-#pragma pop
+daTagPoFire_HIO_c::~daTagPoFire_HIO_c() {}
-/* ############################################################################################## */
/* 80D5DDD0-80D5DDDC 000008 000C+00 1/1 0/0 0/0 .bss @3617 */
static u8 lit_3617[12];
/* 80D5DDDC-80D5DDE4 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */
-static u8 l_HIO[8];
-
-/* 80D5DD0C-80D5DD48 00032C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_tag_poFire_cpp */
-#pragma push
-#pragma optimization_level 0
-#pragma optimizewithasm off
-asm void __sinit_d_a_tag_poFire_cpp() {
- nofralloc
-#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__sinit_d_a_tag_poFire_cpp.s"
-}
-#pragma pop
+static daTagPoFire_HIO_c l_HIO;
-#pragma push
-#pragma force_active on
-REGISTER_CTORS(0x80D5DD0C, __sinit_d_a_tag_poFire_cpp);
-#pragma pop
+/* 80D5DD5C-80D5DD7C -00001 0020+00 1/0 0/0 0/0 .data l_daTagPoFire_Method */
+static actor_method_class l_daTagPoFire_Method = {
+ (process_method_func)daTagPoFire_Create, (process_method_func)daTagPoFire_Delete,
+ (process_method_func)daTagPoFire_Execute, (process_method_func)NULL,
+ (process_method_func)daTagPoFire_Draw,
+};
+
+/* 80D5DD7C-80D5DDAC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_poFire */
+extern actor_process_profile_definition g_profile_Tag_poFire = {
+ -3, // mLayerID
+ 7, // mListID
+ -3, // mListPrio
+ PROC_Tag_poFire, // mProcName
+ 0, // Padding
+ &g_fpcLf_Method.mBase, // mSubMtd
+ sizeof(daTagPoFire_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // mSubMtd
+ 0x0289, // mPriority
+ 0, // Padding
+ 0, // Padding
+ &l_daTagPoFire_Method, // mSubMtd
+ 0x00044000, // mStatus
+ 0, // mActorType
+ 14, // mCullType
+ 0, // Padding
+ 0, // Padding
+};