mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-05-28 07:54:51 -04:00
6e748ac283
* 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
43 lines
1.2 KiB
C++
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;
|
|
}
|