summaryrefslogtreecommitdiff
path: root/src/f_pc/f_pc_base.cpp
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2025-03-18 12:45:44 -0700
committerGitHub <noreply@github.com>2025-03-18 15:45:44 -0400
commitd3e9175bfb5ca4fce4633e473d8d8a3556c3d3ef (patch)
tree21a10894e590edebe9cd928a2fb48f4e8d061262 /src/f_pc/f_pc_base.cpp
parent58ba86b6a3cfebe38b643b7ffecf72090a720db0 (diff)
d_a_e_pz equivalent (#2330)
* d_a_e_pz equivalent * rename var * match f_pc closer to debug * hopefully fix decompctx * sdk done * remove unneeded file
Diffstat (limited to 'src/f_pc/f_pc_base.cpp')
-rw-r--r--src/f_pc/f_pc_base.cpp35
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;
}