summaryrefslogtreecommitdiff
path: root/src/f_pc/f_pc_fstcreate_req.cpp
diff options
context:
space:
mode:
authorLuke Street <luke.street@encounterpc.com>2023-09-10 00:42:26 -0400
committerLuke Street <luke.street@encounterpc.com>2023-09-10 00:48:55 -0400
commitadb95b135c3d7498eba29bbd9728d345eed5a407 (patch)
tree655575b939c12067569263171b68c079b1a232c8 /src/f_pc/f_pc_fstcreate_req.cpp
parent81ac53f1317dafb3506ae3ed8b2820d40645c3c8 (diff)
Import project
Original repository: https://github.com/encounter/ww
Diffstat (limited to 'src/f_pc/f_pc_fstcreate_req.cpp')
-rw-r--r--src/f_pc/f_pc_fstcreate_req.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/f_pc/f_pc_fstcreate_req.cpp b/src/f_pc/f_pc_fstcreate_req.cpp
new file mode 100644
index 00000000..2c02cdbf
--- /dev/null
+++ b/src/f_pc/f_pc_fstcreate_req.cpp
@@ -0,0 +1,55 @@
+//
+// Generated by dtk
+// Translation Unit: f_pc_fstcreate_req.cpp
+//
+
+#include "f_pc/f_pc_fstcreate_req.h"
+#include "f_pc/f_pc_base.h"
+#include "f_pc/f_pc_layer.h"
+#include "f_pc/f_pc_load.h"
+#include "SSystem/SComponent/c_phase.h"
+
+/* 80040520-80040570 .text fpcFCtRq_Do__FP19fast_create_request */
+s32 fpcFCtRq_Do(fast_create_request* i_createReq) {
+ if (i_createReq->mpFastCreateFunc != NULL && i_createReq->mpFastCreateFunc(i_createReq->mBase.mpRes, i_createReq->mpFastCreateData) == 0) {
+ return cPhs_UNK3_e;
+ } else {
+ return cPhs_COMPLEATE_e;
+ }
+}
+
+/* 80040570-80040578 .text fpcFCtRq_Delete__FP19fast_create_request */
+s32 fpcFCtRq_Delete(fast_create_request* i_createReq) {
+ return 1;
+}
+
+/* 80040578-80040648 .text fpcFCtRq_Request__FP11layer_classsPFPvPv_iPvPv */
+base_process_class* fpcFCtRq_Request(layer_class* i_layer, s16 i_procTypeID,
+ fstCreateFunc i_createFunc, void* i_createData, void* pData) {
+ static create_request_method_class submethod = {(cPhs__Handler)fpcFCtRq_Do, NULL,
+ (process_method_func)fpcFCtRq_Delete};
+
+ if (!fpcLd_Use(i_procTypeID)) {
+ return NULL;
+ } else {
+ fast_create_request* request =
+ (fast_create_request*)fpcCtRq_Create(i_layer, 0x50, &submethod);
+ if (request != NULL) {
+ base_process_class* proc;
+ fpcLy_SetCurrentLayer(i_layer);
+ proc = fpcBs_Create(i_procTypeID, fpcBs_MakeOfId(), pData);
+ if (proc != NULL) {
+ proc->mpCtRq = (struct create_request*)request;
+ request->mBase.mpRes = proc;
+ request->mBase.mBsPcId = proc->mBsPcId;
+ if (fpcBs_SubCreate(proc) == 2) {
+ request->mpFastCreateFunc = i_createFunc;
+ request->mpFastCreateData = i_createData;
+ return proc;
+ }
+ }
+ fpcCtRq_Cancel(&request->mBase);
+ }
+ return NULL;
+ }
+}