From a8575550353c79bb494996bd4f4c4a1649cc6277 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Sat, 27 Mar 2021 21:52:36 -0400 Subject: [PATCH] fopScnTg_ToQueue, fopScnTg_QueueTo OK --- asm/data.s | 4 ++-- include/f/f_op/f_op_scene_tag.h | 8 +++++++ .../f/f_op/f_op_scene_tag/asm/func_8001F15C.s | 4 ++-- src/f/f_op/f_op_msg.cpp | 10 ++++----- src/f/f_op/f_op_scene_iter.cpp | 4 ++-- src/f/f_op/f_op_scene_tag.cpp | 21 +++++++------------ 6 files changed, 25 insertions(+), 26 deletions(-) create mode 100644 include/f/f_op/f_op_scene_tag.h diff --git a/asm/data.s b/asm/data.s index 584c8b19bc5..37cdedcbcf8 100644 --- a/asm/data.s +++ b/asm/data.s @@ -152,8 +152,8 @@ noFadeFase: .global fadeFase fadeFase: .incbin "baserom.dol", 0x3A08F8, 0x20 -.global lbl_803A3918 -lbl_803A3918: +.global g_fopScnTg_SceneList +g_fopScnTg_SceneList: .incbin "baserom.dol", 0x3A0918, 0x58 .global lbl_803A3970 lbl_803A3970: diff --git a/include/f/f_op/f_op_scene_tag.h b/include/f/f_op/f_op_scene_tag.h new file mode 100644 index 00000000000..152c3ff34d5 --- /dev/null +++ b/include/f/f_op/f_op_scene_tag.h @@ -0,0 +1,8 @@ +#ifndef F_F_OP_SCENE_TAG_H_ +#define F_F_OP_SCENE_TAG_H_ + +#include "dolphin/types.h" + +class scene_tag_class; + +#endif \ No newline at end of file diff --git a/include/f/f_op/f_op_scene_tag/asm/func_8001F15C.s b/include/f/f_op/f_op_scene_tag/asm/func_8001F15C.s index 0691688a8e6..2fb53a5a1c0 100644 --- a/include/f/f_op/f_op_scene_tag/asm/func_8001F15C.s +++ b/include/f/f_op/f_op_scene_tag/asm/func_8001F15C.s @@ -2,8 +2,8 @@ /* 8001F160 0001C0A0 7C 08 02 A6 */ mflr r0 /* 8001F164 0001C0A4 90 01 00 14 */ stw r0, 0x14(r1) /* 8001F168 0001C0A8 7C 64 1B 78 */ mr r4, r3 -/* 8001F16C 0001C0AC 3C 60 80 3A */ lis r3, lbl_803A3918@ha -/* 8001F170 0001C0B0 38 63 39 18 */ addi r3, r3, lbl_803A3918@l +/* 8001F16C 0001C0AC 3C 60 80 3A */ lis r3, g_fopScnTg_SceneList@ha +/* 8001F170 0001C0B0 38 63 39 18 */ addi r3, r3, g_fopScnTg_SceneList@l /* 8001F174 0001C0B4 48 24 78 71 */ bl cTg_Addition /* 8001F178 0001C0B8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8001F17C 0001C0BC 7C 08 03 A6 */ mtlr r0 diff --git a/src/f/f_op/f_op_msg.cpp b/src/f/f_op/f_op_msg.cpp index a08bbd8fab9..3db62682a24 100644 --- a/src/f/f_op/f_op_msg.cpp +++ b/src/f/f_op/f_op_msg.cpp @@ -44,7 +44,7 @@ struct unk2 { void fopMsg_Draw(void* pUserData) { unk* pUnk = (unk*)pUserData; - fpcLf_DrawMethod(pUnk->mpDrawMtd,pUserData); + fpcLf_DrawMethod(pUnk->mpDrawMtd, pUserData); } s32 fopMsg_Execute(void* pUserData) { @@ -52,28 +52,26 @@ s32 fopMsg_Execute(void* pUserData) { unk2* pUnk2 = (unk2*)pUserData; if (!lbl_80451124) { - ret = fpcMtd_Execute(pUnk2->mpPcMtd,pUserData); + ret = fpcMtd_Execute(pUnk2->mpPcMtd, pUserData); } return ret; } int fopMsg_IsDelete(void* pUserData) { - s32 ret = 1; unk2* pUnk2 = (unk2*)pUserData; - int tmp = fpcMtd_IsDelete(pUnk2->mpPcMtd,pUserData); + int tmp = fpcMtd_IsDelete(pUnk2->mpPcMtd, pUserData); if (tmp == 1) { fopDwTg_DrawQTo(&pUnk2->mTag); } return tmp; - } int fopMsg_Delete(void* pUserData) { unk2* pUnk2 = (unk2*)pUserData; - int tmp = fpcMtd_Delete(pUnk2->mpPcMtd,pUserData); + int tmp = fpcMtd_Delete(pUnk2->mpPcMtd, pUserData); fopDwTg_DrawQTo(&pUnk2->mTag); return tmp; diff --git a/src/f/f_op/f_op_scene_iter.cpp b/src/f/f_op/f_op_scene_iter.cpp index 92bd0692a4b..e84a304cbe1 100644 --- a/src/f/f_op/f_op_scene_iter.cpp +++ b/src/f/f_op/f_op_scene_iter.cpp @@ -8,7 +8,7 @@ // additional symbols needed for f_op_scene_iter.cpp // autogenerated by split.py v0.4 at 2021-02-15 20:27:34.795978 -extern node_list_class lbl_803A3918; // f_op_scene_tag::g_fopScnTg_SceneList +extern node_list_class g_fopScnTg_SceneList; // f_op_scene_tag::g_fopScnTg_SceneList void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) { struct { @@ -17,5 +17,5 @@ void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) { } iterParams; iterParams.mFunc = pFunc1; iterParams.mpData = pData; - return cLsIt_Judge(&lbl_803A3918, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &iterParams); + return cLsIt_Judge(&g_fopScnTg_SceneList, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &iterParams); } diff --git a/src/f/f_op/f_op_scene_tag.cpp b/src/f/f_op/f_op_scene_tag.cpp index 9562870999c..de46bec59f8 100644 --- a/src/f/f_op/f_op_scene_tag.cpp +++ b/src/f/f_op/f_op_scene_tag.cpp @@ -1,5 +1,6 @@ /* f_op_scene_tag.cpp autogenerated by split.py v0.4 at 2021-02-15 20:28:40.331340 */ +#include "f/f_op/f_op_scene_tag.h" #include "SComponent/c_tag.h" #include "global.h" @@ -13,27 +14,19 @@ void fopScnTg_ToQueue__FP15scene_tag_class(void); // additional symbols needed for f_op_scene_tag.cpp // autogenerated by split.py v0.4 at 2021-02-15 20:28:40.331367 -extern u8 lbl_803A3918; +extern node_list_class g_fopScnTg_SceneList; -extern "C" { -// fopScnTg_QueueTo__FP15scene_tag_class -// fopScnTg_QueueTo__FP15scene_tag_class(scene_tag_class*) -asm void fopScnTg_QueueTo__FP15scene_tag_class(void) { - nofralloc -#include "f/f_op/f_op_scene_tag/asm/func_8001F13C.s" +void fopScnTg_QueueTo(scene_tag_class* pSceneTag) { + cTg_SingleCut((create_tag_class*)pSceneTag); } -// fopScnTg_ToQueue__FP15scene_tag_class -// fopScnTg_ToQueue__FP15scene_tag_class(scene_tag_class*) -asm void fopScnTg_ToQueue__FP15scene_tag_class(void) { - nofralloc -#include "f/f_op/f_op_scene_tag/asm/func_8001F15C.s" +void fopScnTg_ToQueue(scene_tag_class* pSceneTag) { + cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)pSceneTag); } // fopScnTg_Init__FP15scene_tag_classPv // fopScnTg_Init__FP15scene_tag_classPv(scene_tag_class*, void*) -asm void fopScnTg_Init__FP15scene_tag_classPv(void) { +asm void fopScnTg_Init(scene_tag_class*, void*) { nofralloc #include "f/f_op/f_op_scene_tag/asm/func_8001F188.s" } -};