summaryrefslogtreecommitdiff
path: root/src/SSystem/SComponent/c_phase.cpp
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2023-12-19 22:05:59 -0800
committerJasper St. Pierre <jstpierre@mecheye.net>2023-12-19 22:06:11 -0800
commit4bd0dede8318929a615669aad4a6c42e50e1d76c (patch)
tree346e49f6ae9656887364ca3ff56fdca05c56043b /src/SSystem/SComponent/c_phase.cpp
parent83329401b49afbeceadcccac26ef1d6169ea7f63 (diff)
c_phase match, thanks to Cuyler
also some JPA work
Diffstat (limited to 'src/SSystem/SComponent/c_phase.cpp')
-rw-r--r--src/SSystem/SComponent/c_phase.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/SSystem/SComponent/c_phase.cpp b/src/SSystem/SComponent/c_phase.cpp
index dccd132f..edbb1231 100644
--- a/src/SSystem/SComponent/c_phase.cpp
+++ b/src/SSystem/SComponent/c_phase.cpp
@@ -48,10 +48,12 @@ int cPhs_Next(request_of_phase_process_class* pPhase) {
}
/* 80245268-8024533C .text cPhs_Do__FP30request_of_phase_process_classPv */
-// pUserData loading in too early
int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) {
- if (pPhase->mpHandlerTable) {
- int newStep = pPhase->mpHandlerTable[pPhase->id](pUserData);
+ cPhs__Handler * handler = pPhase->mpHandlerTable;
+
+ if (handler) {
+ handler += pPhase->id;
+ int newStep = (*handler)(pUserData);
switch (newStep) {
case cPhs_LOADING_e:
@@ -66,6 +68,7 @@ int cPhs_Do(request_of_phase_process_class* pPhase, void* pUserData) {
case cPhs_ERROR_e:
cPhs_UnCompleate(pPhase);
return cPhs_ERROR_e;
+ case cPhs_INIT_e:
default:
return newStep;
}