Files
dusklight/src/f_op/f_op_overlap.cpp
T
TakaRikka a6e76c0841 project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00

49 lines
1.5 KiB
C++

/**
* f_op_overlap.cpp
* Overlap Process Framework
*/
#include "f_op/f_op_overlap.h"
#include "f_pc/f_pc_manager.h"
static s32 fopOvlp_Draw(void* i_this) {
overlap_task_class* a_this = (overlap_task_class*)i_this;
return fpcLf_DrawMethod(a_this->submethod, i_this);
}
static s32 fopOvlp_Execute(void* i_this) {
overlap_task_class* a_this = (overlap_task_class*)i_this;
return fpcMtd_Execute(&a_this->submethod->base, i_this);
}
static s32 fopOvlp_IsDelete(void* i_this) {
overlap_task_class* a_this = (overlap_task_class*)i_this;
return fpcMtd_IsDelete(&a_this->submethod->base, i_this);
}
static s32 fopOvlp_Delete(void* i_this) {
overlap_task_class* a_this = (overlap_task_class*)i_this;
return fpcMtd_Delete(&a_this->submethod->base, i_this);
}
static s32 fopOvlp_Create(void* i_this) {
overlap_task_class* a_this = (overlap_task_class*)i_this;
if (fpcM_IsFirstCreating(a_this)) {
overlap_process_profile_definition* profile =
(overlap_process_profile_definition*)fpcM_GetProfile(a_this);
cReq_Create(&a_this->request, 1);
a_this->submethod = profile->sub_method;
a_this->scene_id = fpcM_ERROR_PROCESS_ID_e;
}
return fpcMtd_Create(&a_this->submethod->base, a_this);
}
leafdraw_method_class g_fopOvlp_Method = {
(process_method_func)fopOvlp_Create, (process_method_func)fopOvlp_Delete,
(process_method_func)fopOvlp_Execute, (process_method_func)fopOvlp_IsDelete,
(process_method_func)fopOvlp_Draw,
};