summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPheenoh <pheenoh@gmail.com>2021-02-17 17:04:18 -0500
committerPheenoh <pheenoh@gmail.com>2021-02-17 17:04:18 -0500
commita02a65cb582cf0c620234d71ac32dc4180761a1a (patch)
tree90be3a250dfe827f76506156d17c33569ce4c946
parentf2335e88fad9ef49f2b845456422270832b5e52c (diff)
fopOvlpReq_SetPeektime OK
-rw-r--r--include/f/f_op/f_op_overlap_req.h2
-rw-r--r--src/f/f_op/f_op_overlap_req.cpp18
2 files changed, 11 insertions, 9 deletions
diff --git a/include/f/f_op/f_op_overlap_req.h b/include/f/f_op/f_op_overlap_req.h
index 5a9bec0224..cb05202c60 100644
--- a/include/f/f_op/f_op_overlap_req.h
+++ b/include/f/f_op/f_op_overlap_req.h
@@ -12,7 +12,7 @@ public:
u8 field_0x1;
s16 field_0x2;
u16 field_0x4;
- u16 field_0x6;
+ u16 mPeektime;
u32 field_0x8;
u32 field_0xc;
s16 field_0x10;
diff --git a/src/f/f_op/f_op_overlap_req.cpp b/src/f/f_op/f_op_overlap_req.cpp
index 23e6a4e393..383aeaf849 100644
--- a/src/f/f_op/f_op_overlap_req.cpp
+++ b/src/f/f_op/f_op_overlap_req.cpp
@@ -42,7 +42,7 @@ int fopOvlpReq_phase_Done(overlap_request_class* pOvlpReq) {
if (fpcM_Delete(pOvlpReq->field_0x20) == 1) {
pOvlpReq->field_0x20 = 0;
pOvlpReq->field_0x4 = 0;
- pOvlpReq->field_0x6 = 0;
+ pOvlpReq->mPeektime = 0;
pOvlpReq->field_0x8 = 0;
pOvlpReq->field_0xc = 0;
return 2;
@@ -73,11 +73,11 @@ int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* pOvlpReq) {
}
int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* pOvlpReq) {
- if (pOvlpReq->field_0x6) {
- pOvlpReq->field_0x6--;
+ if (pOvlpReq->mPeektime) {
+ pOvlpReq->mPeektime--;
}
- if (((u8)(pOvlpReq->field_0x0 & 0x3F)) == 2 && !pOvlpReq->field_0x6) {
+ if (((u8)(pOvlpReq->field_0x0 & 0x3F)) == 2 && !pOvlpReq->mPeektime) {
cReq_Command((request_base_class*)(pOvlpReq->field_0x20 + 0xC4), 2);
return 2;
}
@@ -141,12 +141,14 @@ int fopOvlpReq_Cancel(overlap_request_class* pOvlpReq) {
}
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* pOvlpReq) {
- return pOvlpReq->field_0x6 == 0 ? 1 : 0;
+ return pOvlpReq->mPeektime == 0 ? 1 : 0;
}
-asm void fopOvlpReq_SetPeektime(overlap_request_class*, u16) {
- nofralloc
-#include "f/f_op/f_op_overlap_req/asm/func_8001EAC4.s"
+void fopOvlpReq_SetPeektime(overlap_request_class* pOvlpReq, u16 param_2) {
+ if (0x7fff < param_2) {
+ return;
+ }
+ pOvlpReq->mPeektime = param_2;
}
asm int fopOvlpReq_OverlapClr(overlap_request_class*) {