diff options
Diffstat (limited to 'src/f_pc/f_pc_base.cpp')
| -rw-r--r-- | src/f_pc/f_pc_base.cpp | 35 |
1 files changed, 29 insertions, 6 deletions
diff --git a/src/f_pc/f_pc_base.cpp b/src/f_pc/f_pc_base.cpp index 68fba36923..c94a072977 100644 --- a/src/f_pc/f_pc_base.cpp +++ b/src/f_pc/f_pc_base.cpp @@ -11,10 +11,19 @@ #include "f_pc/f_pc_method.h" #include "f_pc/f_pc_pause.h" #include "f_pc/f_pc_profile.h" +#include "f_pc/f_pc_debug_sv.h" + +#if VERSION == VERSION_SHIELD_DEBUG +#include "Z2AudioLib/Z2AudioMgr.h" +#endif /* 8002064C-8002065C 0010+00 s=0 e=14 z=0 None .text fpcBs_Is_JustOfType__Fii */ BOOL fpcBs_Is_JustOfType(int i_typeA, int i_typeB) { - return i_typeB == i_typeA ? TRUE : FALSE; + if (i_typeB == i_typeA) { + return TRUE; + } else { + return FALSE; + } } /* 80450D00-80450D04 0004+00 s=1 e=0 z=0 None .sbss g_fpcBs_type */ @@ -37,13 +46,27 @@ int fpcBs_MakeOfId() { /* 800206C4-80020720 005C+00 s=0 e=1 z=0 None .text fpcBs_Execute__FP18base_process_class */ int fpcBs_Execute(base_process_class* i_proc) { - int result; - layer_class* save_layer = fpcLy_CurrentLayer(); + int result = 1; + +#ifdef DEBUG + if (!fpcBs_Is_JustOfType(g_fpcBs_type, i_proc->type)) { + if (g_fpcDbSv_service[10] != NULL) { + g_fpcDbSv_service[10](i_proc); + } + + return 0; + } +#endif - fpcLy_SetCurrentLayer(i_proc->layer_tag.layer); - result = fpcMtd_Execute(i_proc->methods, i_proc); + if (result == 1) { + layer_class* save_layer = fpcLy_CurrentLayer(); - fpcLy_SetCurrentLayer(save_layer); + fpcLy_SetCurrentLayer(i_proc->layer_tag.layer); + result = fpcMtd_Execute(i_proc->methods, i_proc); + + fpcLy_SetCurrentLayer(save_layer); + } + return result; } |
