Files
dusklight/src/f_pc/f_pc_pause.cpp
T
Luke Street 6e748ac283 More GCC compatibility/warning fixes (#3118)
* Wrap >4-char literals in a MULTI_CHAR macro

Modern compilers do not support CW's non-standard behavior with
>4 char literals. We can, however, use a constexpr function to
compute the u64 values directly. This leaves <=4 char literals
unchanged.

* Replace non-pointer usages of NULL with 0

* Define NULL to nullptr on C++11 and above

* Fix more -Wpointer-arith and -Woverflow warnings

* Replace u32/s32 with uintptr_t/intptr_t where appropriate

* JSUOutputStream: Overload all standard int types
2026-02-28 20:19:17 -08:00

43 lines
1.2 KiB
C++

/**
* f_pc_pause.cpp
* Framework - Process Pause
*/
#include "f_pc/f_pc_pause.h"
#include "f_pc/f_pc_node.h"
#include "f_pc/f_pc_layer_iter.h"
#include <cstdint>
int fpcPause_IsEnable(void* i_proc, u8 i_flag) {
if ((((base_process_class*)i_proc)->pause_flag & i_flag) == i_flag) {
return 1;
} else {
return 0;
}
}
int fpcPause_Enable(void* i_proc, u8 i_flag) {
((base_process_class*)i_proc)->pause_flag |= i_flag;
if (fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)i_proc)->subtype)) {
fpcLyIt_OnlyHere(&((process_node_class*)i_proc)->layer, (fpcLyIt_OnlyHereFunc)fpcPause_Enable,
(void*)(uintptr_t)i_flag);
}
return 1;
}
int fpcPause_Disable(void* i_proc, u8 i_flag) {
u8 var_r31 = 0xFF - i_flag;
((base_process_class*)i_proc)->pause_flag &= var_r31;
if (fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)i_proc)->subtype)) {
fpcLyIt_OnlyHere(&((process_node_class*)i_proc)->layer, (fpcLyIt_OnlyHereFunc)fpcPause_Disable, (void*)(uintptr_t)i_flag);
}
return 1;
}
void fpcPause_Init(void* i_proc) {
((base_process_class*)i_proc)->pause_flag = 0;
}