From 0441c35d4dfbb96138342205059b50cda3d83389 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Sat, 27 Mar 2021 22:25:18 -0400 Subject: [PATCH] fopScn_Draw OK --- include/f/f_op/f_op_scene.h | 17 +++++++++++++++++ include/f/f_op/f_op_scene_pause.h | 9 +-------- src/f/f_op/f_op_scene.cpp | 18 +++++++++--------- src/f/f_op/f_op_scene_tag.cpp | 15 ++------------- 4 files changed, 29 insertions(+), 30 deletions(-) create mode 100644 include/f/f_op/f_op_scene.h diff --git a/include/f/f_op/f_op_scene.h b/include/f/f_op/f_op_scene.h new file mode 100644 index 0000000000..0258131b3b --- /dev/null +++ b/include/f/f_op/f_op_scene.h @@ -0,0 +1,17 @@ +#ifndef F_F_OP_SCENE_H_ +#define F_F_OP_SCENE_H_ + +#include "dolphin/types.h" +#include "f/f_pc/f_pc_node.h" + +class scene_class { +public: + /* 0x000 */ u8 field_0x00; + /* 0x004 */ u32 field_0x04; + /* 0x008 */ u8 field_0x08[0x24]; + /* 0x02C */ int* field_0x2C; + /* 0x030 */ u8 field_0x30[0x17C]; + /* 0x1AC */ nodedraw_method_class* mpNodedrawMtd; +}; + +#endif \ No newline at end of file diff --git a/include/f/f_op/f_op_scene_pause.h b/include/f/f_op/f_op_scene_pause.h index d6d160ed36..e289aa1e38 100644 --- a/include/f/f_op/f_op_scene_pause.h +++ b/include/f/f_op/f_op_scene_pause.h @@ -2,14 +2,7 @@ #define F_F_OP_SCENE_PAUSE_H_ #include "dolphin/types.h" - -class scene_class { -public: - /* 0x00 */ u8 field_0x00; - /* 0x04 */ u32 field_0x04; - /* 0x08 */ u8 field_0x08[0x24]; - /* 0x2C */ int* field_0x2C; -}; +#include "f/f_op/f_op_scene.h" int fopScnPause_Enable(scene_class* pScene); int fopScnPause_Disable(scene_class* pScene); diff --git a/src/f/f_op/f_op_scene.cpp b/src/f/f_op/f_op_scene.cpp index d67ad32d71..ef34a98cf2 100644 --- a/src/f/f_op/f_op_scene.cpp +++ b/src/f/f_op/f_op_scene.cpp @@ -1,6 +1,9 @@ /* f_op_scene.cpp autogenerated by split.py v0.4 at 2021-02-15 21:09:24.524260 */ #include "global.h" +#include "f/f_op/f_op_scene.h" +#include "f/f_op/f_op_scene_pause.h" +#include "f/f_pc/f_pc_node.h" // additional symbols needed for f_op_scene.cpp // autogenerated by split.py v0.4 at 2021-02-15 21:09:24.524298 @@ -23,39 +26,36 @@ void fopScn_Create__FPv(void); // additional symbols needed for f_op_scene.cpp // autogenerated by split.py v0.4 at 2021-02-15 21:09:24.524304 -extern "C" { // fopScn_Draw__FP11scene_class // fopScn_Draw__FP11scene_class(scene_class*) -asm void fopScn_Draw__FP11scene_class(void) { - nofralloc -#include "f/f_op/f_op_scene/asm/func_8001EB34.s" +void fopScn_Draw(scene_class* pScene) { + fpcNd_DrawMethod(pScene->mpNodedrawMtd,pScene); } // fopScn_Execute__FP11scene_class // fopScn_Execute(scene_class*) -asm void fopScn_Execute__FP11scene_class(void) { +asm void fopScn_Execute(scene_class*) { nofralloc #include "f/f_op/f_op_scene/asm/func_8001EB5C.s" } // fopScn_IsDelete__FPv // fopScn_IsDelete(void*) -asm void fopScn_IsDelete__FPv(void) { +asm void fopScn_IsDelete(void*) { nofralloc #include "f/f_op/f_op_scene/asm/func_8001EB84.s" } // fopScn_Delete__FPv // fopScn_Delete(void*) -asm void fopScn_Delete__FPv(void) { +asm void fopScn_Delete(void*) { nofralloc #include "f/f_op/f_op_scene/asm/func_8001EBAC.s" } // fopScn_Create__FPv // fopScn_Create(void*) -asm void fopScn_Create__FPv(void) { +asm void fopScn_Create(void*) { nofralloc #include "f/f_op/f_op_scene/asm/func_8001EC00.s" } -}; diff --git a/src/f/f_op/f_op_scene_tag.cpp b/src/f/f_op/f_op_scene_tag.cpp index de46bec59f..ab7c892dbb 100644 --- a/src/f/f_op/f_op_scene_tag.cpp +++ b/src/f/f_op/f_op_scene_tag.cpp @@ -4,14 +4,6 @@ #include "SComponent/c_tag.h" #include "global.h" -// additional symbols needed for f_op_scene_tag.cpp -// autogenerated by split.py v0.4 at 2021-02-15 20:28:40.331363 -extern "C" { -void fopScnTg_Init__FP15scene_tag_classPv(void); -void fopScnTg_QueueTo__FP15scene_tag_class(void); -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 node_list_class g_fopScnTg_SceneList; @@ -24,9 +16,6 @@ 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(scene_tag_class*, void*) { - nofralloc -#include "f/f_op/f_op_scene_tag/asm/func_8001F188.s" +void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData) { + cTg_Create((create_tag_class*)pSceneTag,pData); }