blob: 6053a1cba2c9a5d105bef12c61b832243830e702 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
/**
* f_op_overlap_mng.cpp
* Overlap Process Manager
*/
#include "f_op/f_op_overlap_mng.h"
#include "SSystem/SComponent/c_request.h"
#include "f_op/f_op_overlap_req.h"
#include "f_op/f_op_scene_pause.h"
#include "f_pc/f_pc_executor.h"
#include "JSystem/JUtility/JUTAssert.h"
// making it not an array put it in .bss
static overlap_request_class* l_fopOvlpM_overlap[1] = {NULL};
int fopOvlpM_SceneIsStop() {
if (l_fopOvlpM_overlap[0] != NULL) {
return fopScnPause_Enable((scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->mpTask->mScenePId));
} else {
return 0;
}
}
int fopOvlpM_SceneIsStart() {
if (l_fopOvlpM_overlap[0] != NULL) {
return fopScnPause_Disable((scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->mpTask->mScenePId));
} else {
return 0;
}
}
BOOL fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
return pTaskClass->mRq.flag2 == 2;
}
void fopOvlpM_Done(overlap_task_class* pTaskClass) {
cReq_Done(&pTaskClass->mRq);
}
void fopOvlpM_ToldAboutID(fpc_ProcID pcId) {
if (l_fopOvlpM_overlap[0] != NULL)
l_fopOvlpM_overlap[0]->mpTask->mScenePId = pcId;
}
BOOL fopOvlpM_IsPeek() {
if (l_fopOvlpM_overlap[0] != NULL)
return l_fopOvlpM_overlap[0]->mIsPeek;
else
return FALSE;
}
BOOL fopOvlpM_IsDone() {
if (l_fopOvlpM_overlap[0] != NULL)
return cReq_Is_Done(&l_fopOvlpM_overlap[0]->base);
else
return FALSE;
}
BOOL fopOvlpM_IsDoingReq() {
if (l_fopOvlpM_overlap[0] && l_fopOvlpM_overlap[0]->field_0x4 == 1) {
return TRUE;
}
return FALSE;
}
BOOL fopOvlpM_ClearOfReq() {
if (l_fopOvlpM_overlap[0] != NULL)
return fopOvlpReq_OverlapClr(l_fopOvlpM_overlap[0]);
else
return FALSE;
}
static overlap_request_class l_fopOvlpM_Request;
request_base_class* fopOvlpM_Request(s16 procName, u16 peekTime) {
if (l_fopOvlpM_overlap[0] == NULL) {
l_fopOvlpM_overlap[0] = fopOvlpReq_Request(&l_fopOvlpM_Request, procName, peekTime);
return &l_fopOvlpM_overlap[0]->base;
}
return NULL;
}
void fopOvlpM_Management() {
if (l_fopOvlpM_overlap[0] != NULL) {
switch (fopOvlpReq_Handler(l_fopOvlpM_overlap[0])) {
case cPhs_STOP_e:
case cPhs_COMPLEATE_e:
case cPhs_ERROR_e:
l_fopOvlpM_overlap[0] = NULL;
break;
}
}
}
int fopOvlpM_Cancel() {
if (l_fopOvlpM_overlap[0] == NULL)
return 1;
if (fopOvlpReq_Cancel(l_fopOvlpM_overlap[0]) == true) {
l_fopOvlpM_overlap[0] = NULL;
JUT_WARN(331, "%s", "fopOvlpM_Cancel SUCCESSED");
return 1;
}
return 0;
}
void fopOvlpM_Init() {}
|