mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-19 13:03:33 -04:00
some cleanup of f_pc/f_op files (#2254)
* cleanup f_pc files * cleanup f_op files * fix a couple f_op_actor_mng functions * minor JSystem work
This commit is contained in:
+24
-28
@@ -19,16 +19,14 @@ fopAc_ac_c::fopAc_ac_c() {}
|
||||
/* 80018C8C-80018CE0 0135CC 0054+00 0/0 5/5 270/270 .text __dt__10fopAc_ac_cFv */
|
||||
fopAc_ac_c::~fopAc_ac_c() {}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CB8-80450CBC 0001B8 0004+00 2/2 0/0 0/0 .sbss g_fopAc_type */
|
||||
static int g_fopAc_type;
|
||||
int g_fopAc_type;
|
||||
|
||||
/* 80018CE0-80018D0C 013620 002C+00 0/0 12/12 391/391 .text fopAc_IsActor__FPv */
|
||||
s32 fopAc_IsActor(void* i_this) {
|
||||
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)i_this)->actor_type);
|
||||
BOOL fopAc_IsActor(void* i_actor) {
|
||||
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)i_actor)->actor_type);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CBC-80450CC0 0001BC 0004+00 2/2 1/1 0/0 .sbss stopStatus__10fopAc_ac_c */
|
||||
u32 fopAc_ac_c::stopStatus;
|
||||
|
||||
@@ -70,7 +68,7 @@ static int fopAc_Execute(void* i_this) {
|
||||
if (!fopAcM_checkStatus(a_this, 0x20000000) &&
|
||||
(move == 2 ||
|
||||
(move != 0 && !fopAcM_checkStatus(a_this, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(a_this, fopAcStts_NOEXEC_e) || !fopAcM_CheckCondition(a_this, 4)))))
|
||||
(!fopAcM_checkStatus(a_this, fopAcStts_NOEXEC_e) || !fopAcM_CheckCondition(a_this, fopAcCnd_NODRAW_e)))))
|
||||
{
|
||||
fopAcM_OffCondition(a_this, fopAcCnd_NOEXEC_e);
|
||||
a_this->old = a_this->current;
|
||||
@@ -101,20 +99,20 @@ static int fopAc_Execute(void* i_this) {
|
||||
static int fopAc_IsDelete(void* i_this) {
|
||||
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int isDelete = fpcMtd_IsDelete((process_method_class*)a_this->sub_method, a_this);
|
||||
if (isDelete == true) {
|
||||
int ret = fpcMtd_IsDelete((process_method_class*)a_this->sub_method, a_this);
|
||||
if (ret == TRUE) {
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
}
|
||||
|
||||
return isDelete;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */
|
||||
static int fopAc_Delete(void* i_this) {
|
||||
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int deleted = fpcMtd_Delete((process_method_class*)a_this->sub_method, a_this);
|
||||
if (deleted == true) {
|
||||
int ret = fpcMtd_Delete((process_method_class*)a_this->sub_method, a_this);
|
||||
if (ret == TRUE) {
|
||||
fopAcTg_ActorQTo(&a_this->actor_tag);
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
fopAcM_DeleteHeap(a_this);
|
||||
@@ -125,7 +123,7 @@ static int fopAc_Delete(void* i_this) {
|
||||
}
|
||||
}
|
||||
|
||||
return deleted;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
|
||||
@@ -143,21 +141,21 @@ static int fopAc_Create(void* i_this) {
|
||||
fopDwTg_Init(&a_this->draw_tag, a_this);
|
||||
|
||||
a_this->actor_status = profile->status;
|
||||
a_this->group = profile->mActorType;
|
||||
a_this->group = profile->group;
|
||||
a_this->cullType = profile->cullType;
|
||||
|
||||
fopAcM_prm_class* append = fopAcM_GetAppend(a_this);
|
||||
if (append != NULL) {
|
||||
fopAcM_SetParam(a_this, append->mParameter);
|
||||
a_this->home.pos = append->mPos;
|
||||
a_this->home.angle = append->mAngle;
|
||||
a_this->shape_angle = append->mAngle;
|
||||
a_this->parentActorID = append->mParentPId;
|
||||
a_this->subtype = append->mSubtype;
|
||||
a_this->scale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
|
||||
append->mScale[2] * 0.1f);
|
||||
a_this->setID = append->mEnemyNo;
|
||||
a_this->home.roomNo = append->mRoomNo;
|
||||
fopAcM_SetParam(a_this, append->parameters);
|
||||
a_this->home.pos = append->position;
|
||||
a_this->home.angle = append->angle;
|
||||
a_this->shape_angle = append->angle;
|
||||
a_this->parentActorID = append->parent_id;
|
||||
a_this->subtype = append->subtype;
|
||||
a_this->scale.set(append->scale[0] * 0.1f, append->scale[1] * 0.1f,
|
||||
append->scale[2] * 0.1f);
|
||||
a_this->setID = append->setId;
|
||||
a_this->home.roomNo = append->room_no;
|
||||
}
|
||||
|
||||
a_this->old = a_this->home;
|
||||
@@ -192,14 +190,14 @@ static int fopAc_Create(void* i_this) {
|
||||
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, a_this->home.roomNo) &&
|
||||
profile->mActorType == fopAc_ENEMY_e)
|
||||
profile->group == fopAc_ENEMY_e)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
} else {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, a_this->home.roomNo) &&
|
||||
profile->mActorType == fopAc_ENEMY_e)
|
||||
profile->group == fopAc_ENEMY_e)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
@@ -306,7 +304,6 @@ void fopEn_enemy_c::drawBallModel(dKy_tevstr_c* i_tevstr) {
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35B0-803A35D0 -00001 0020+00 0/0 3/0 756/0 .data g_fopAc_Method */
|
||||
extern actor_method_class g_fopAc_Method = {
|
||||
(process_method_func)fopAc_Create, (process_method_func)fopAc_Delete,
|
||||
@@ -314,8 +311,7 @@ extern actor_method_class g_fopAc_Method = {
|
||||
(process_method_func)fopAc_Draw,
|
||||
};
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CC0-80450CC8 0001C0 0004+04 0/0 9/9 0/0 .sbss
|
||||
* sInstance__35JASGlobalInstance<14JAUSectionHeap> */
|
||||
class JAUSectionHeap;
|
||||
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;
|
||||
JAUSectionHeap* JASGlobalInstance<JAUSectionHeap>::sInstance;
|
||||
|
||||
+369
-395
File diff suppressed because it is too large
Load Diff
@@ -6,22 +6,21 @@
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
#include "SSystem/SComponent/c_list.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A35E0-803A35F0 000700 000C+04 1/1 2/2 0/0 .data g_fopAcTg_Queue */
|
||||
node_list_class g_fopAcTg_Queue = {NULL, NULL, 0};
|
||||
|
||||
/* 80019834-80019860 014174 002C+00 0/0 1/1 0/0 .text fopAcTg_ToActorQ__FP16create_tag_class */
|
||||
u32 fopAcTg_ToActorQ(create_tag_class* i_createTag) {
|
||||
int fopAcTg_ToActorQ(create_tag_class* i_createTag) {
|
||||
return cTg_Addition(&g_fopAcTg_Queue, i_createTag);
|
||||
}
|
||||
|
||||
/* 80019860-80019880 0141A0 0020+00 0/0 1/1 0/0 .text fopAcTg_ActorQTo__FP16create_tag_class */
|
||||
u32 fopAcTg_ActorQTo(create_tag_class* i_createTag) {
|
||||
int fopAcTg_ActorQTo(create_tag_class* i_createTag) {
|
||||
return cTg_SingleCutFromTree(i_createTag);
|
||||
}
|
||||
|
||||
/* 80019880-800198A4 0141C0 0024+00 0/0 1/1 0/0 .text fopAcTg_Init__FP16create_tag_classPv */
|
||||
u32 fopAcTg_Init(create_tag_class* i_createTag, void* i_data) {
|
||||
int fopAcTg_Init(create_tag_class* i_createTag, void* i_data) {
|
||||
cTg_Create(i_createTag, i_data);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
+44
-46
@@ -43,12 +43,12 @@ extern "C" s32 getGrabActorID__9daPy_py_cCFv() {
|
||||
|
||||
/* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */
|
||||
static s32 fopCam_Draw(camera_class* i_this) {
|
||||
s32 cam_proc = 1;
|
||||
|
||||
s32 ret = 1;
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
cam_proc = fpcLf_DrawMethod(i_this->mpMtd, i_this);
|
||||
ret = fpcLf_DrawMethod(i_this->submethod, i_this);
|
||||
}
|
||||
return cam_proc;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */
|
||||
@@ -56,7 +56,7 @@ static int fopCam_Execute(camera_class* i_this) {
|
||||
int ret;
|
||||
|
||||
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
|
||||
ret = fpcMtd_Execute((process_method_class*)i_this->mpMtd, i_this);
|
||||
ret = fpcMtd_Execute((process_method_class*)i_this->submethod, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -65,54 +65,52 @@ static int fopCam_Execute(camera_class* i_this) {
|
||||
/* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class
|
||||
*/
|
||||
int fopCam_IsDelete(camera_class* i_this) {
|
||||
int delete_stat = fpcMtd_IsDelete((process_method_class*)i_this->mpMtd, i_this);
|
||||
if (delete_stat == 1) {
|
||||
fopDwTg_DrawQTo(&i_this->mCreateTag);
|
||||
}
|
||||
|
||||
return delete_stat;
|
||||
}
|
||||
|
||||
/* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */
|
||||
int fopCam_Delete(camera_class* i_this) {
|
||||
int delete_stat = fpcMtd_Delete((process_method_class*)i_this->mpMtd, i_this);
|
||||
if (delete_stat == 1) {
|
||||
fopDwTg_DrawQTo(&i_this->mCreateTag);
|
||||
}
|
||||
|
||||
return delete_stat;
|
||||
}
|
||||
|
||||
/* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */
|
||||
static int fopCam_Create(void* i_this) {
|
||||
camera_class* _this = (camera_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
camera_process_profile_definition* profile =
|
||||
(camera_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
_this->mpMtd = profile->sub_method;
|
||||
|
||||
fopDwTg_Init(&_this->mCreateTag, _this);
|
||||
u32* append = (u32*)fpcM_GetAppend(_this);
|
||||
|
||||
if (append) {
|
||||
fpcM_SetParam(_this, *append);
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&_this->mpMtd->mBase, _this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mCreateTag, priority);
|
||||
int ret = fpcMtd_IsDelete((process_method_class*)i_this->submethod, i_this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&i_this->create_tag);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001E21C-8001E270 018B5C 0054+00 1/0 0/0 0/0 .text fopCam_Delete__FP12camera_class */
|
||||
int fopCam_Delete(camera_class* i_this) {
|
||||
int ret = fpcMtd_Delete((process_method_class*)i_this->submethod, i_this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&i_this->create_tag);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001E270-8001E308 018BB0 0098+00 1/0 0/0 0/0 .text fopCam_Create__FPv */
|
||||
static int fopCam_Create(void* i_this) {
|
||||
camera_class* a_this = (camera_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
camera_process_profile_definition* profile = (camera_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
a_this->submethod = profile->sub_method;
|
||||
|
||||
fopDwTg_Init(&a_this->create_tag, a_this);
|
||||
u32* append = (u32*)fpcM_GetAppend(a_this);
|
||||
|
||||
if (append != NULL) {
|
||||
fpcM_SetParam(a_this, *append);
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&a_this->submethod->base, a_this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(a_this);
|
||||
fopDwTg_ToDrawQ(&a_this->create_tag, priority);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3860-803A3878 -00001 0014+04 0/0 2/0 0/0 .data g_fopCam_Method */
|
||||
leafdraw_method_class g_fopCam_Method = {
|
||||
(process_method_func)fopCam_Create, (process_method_func)fopCam_Delete,
|
||||
(process_method_func)fopCam_Execute, (process_method_func)fopCam_IsDelete,
|
||||
(process_method_func)fopCam_Draw,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -7,18 +7,17 @@
|
||||
#include "f_pc/f_pc_layer.h"
|
||||
#include "f_pc/f_pc_stdcreate_req.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803F1DD8-803F1DE8 01EAF8 0010+00 1/1 0/0 0/0 .bss l_fopCamM_id */
|
||||
static u32 l_fopCamM_id[4];
|
||||
static fpc_ProcID l_fopCamM_id[4];
|
||||
|
||||
/* 8001E308-8001E310 018C48 0008+00 0/0 12/12 2/2 .text fopCamM_GetParam__FP12camera_class */
|
||||
u32 fopCamM_GetParam(camera_class* i_this) {
|
||||
return i_this->mBase.mParameters;
|
||||
return i_this->base.parameters;
|
||||
}
|
||||
|
||||
/* 8001E310-8001E374 018C50 0064+00 0/0 1/1 0/0 .text fopCamM_Create__FisPv */
|
||||
u32 fopCamM_Create(int i_cameraIdx, s16 i_procName, void* param_3) {
|
||||
l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, 0, 0, param_3);
|
||||
fpc_ProcID fopCamM_Create(int i_cameraIdx, s16 i_procName, void* i_append) {
|
||||
l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, NULL, NULL, i_append);
|
||||
return l_fopCamM_id[i_cameraIdx];
|
||||
}
|
||||
|
||||
@@ -26,4 +25,4 @@ u32 fopCamM_Create(int i_cameraIdx, s16 i_procName, void* param_3) {
|
||||
void fopCamM_Management() {}
|
||||
|
||||
/* 8001E378-8001E37C 018CB8 0004+00 0/0 1/1 0/0 .text fopCamM_Init__Fv */
|
||||
void fopCamM_Init() {}
|
||||
void fopCamM_Init() {}
|
||||
|
||||
+13
-14
@@ -8,18 +8,17 @@
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CF8-80450D00 0001F8 0004+04 2/2 0/0 0/0 .sbss l_fopDwTg_id */
|
||||
static s32 l_fopDwTg_id;
|
||||
static int l_fopDwTg_id;
|
||||
|
||||
/* 80020400-80020444 01AD40 0044+00 2/2 0/0 0/0 .text fopDwIt_GetTag__Fv */
|
||||
create_tag_class* fopDwIt_GetTag() {
|
||||
while (l_fopDwTg_id + 1 < g_fopDwTg_Queue.mNumLists) {
|
||||
l_fopDwTg_id++;
|
||||
node_class* tmp = g_fopDwTg_Queue.mpLists[l_fopDwTg_id].mpHead;
|
||||
node_class* node = g_fopDwTg_Queue.mpLists[l_fopDwTg_id].mpHead;
|
||||
|
||||
if (tmp != NULL) {
|
||||
return (create_tag_class*)tmp;
|
||||
if (node != NULL) {
|
||||
return (create_tag_class*)node;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,21 +27,21 @@ create_tag_class* fopDwIt_GetTag() {
|
||||
|
||||
/* 80020444-80020480 01AD84 003C+00 0/0 1/1 0/0 .text fopDwIt_Begin__Fv */
|
||||
create_tag_class* fopDwIt_Begin() {
|
||||
create_tag_class* createTagClass = (create_tag_class*)g_fopDwTg_Queue.mpLists->mpHead;
|
||||
create_tag_class* tag = (create_tag_class*)g_fopDwTg_Queue.mpLists->mpHead;
|
||||
l_fopDwTg_id = 0;
|
||||
|
||||
if (createTagClass) {
|
||||
return createTagClass;
|
||||
if (tag != NULL) {
|
||||
return tag;
|
||||
}
|
||||
return createTagClass = fopDwIt_GetTag();
|
||||
return tag = fopDwIt_GetTag();
|
||||
}
|
||||
|
||||
/* 80020480-800204AC 01ADC0 002C+00 0/0 1/1 0/0 .text fopDwIt_Next__FP16create_tag_class
|
||||
*/
|
||||
create_tag_class* fopDwIt_Next(create_tag_class* i_createTag) {
|
||||
create_tag_class* createTagClass = (create_tag_class*)i_createTag->mpNode.mpNextNode;
|
||||
if (!createTagClass) {
|
||||
createTagClass = fopDwIt_GetTag();
|
||||
create_tag_class* tag = (create_tag_class*)i_createTag->mpNode.mpNextNode;
|
||||
if (tag == NULL) {
|
||||
tag = fopDwIt_GetTag();
|
||||
}
|
||||
return createTagClass;
|
||||
}
|
||||
return tag;
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
#include "global.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804505D0-804505D8 000050 0008+00 2/2 2/2 0/0 .sdata g_fopDwTg_Queue */
|
||||
node_lists_tree_class g_fopDwTg_Queue = {NULL, 0};
|
||||
|
||||
@@ -28,11 +27,9 @@ bool fopDwTg_Init(create_tag_class* i_createTag, void* i_process) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803F1E10-803F4CF0 01EB30 2EE0+00 1/1 0/0 0/0 .bss lists$2216 */
|
||||
static node_list_class lists[1000];
|
||||
|
||||
/* 80020518-80020548 01AE58 0030+00 0/0 1/1 0/0 .text fopDwTg_CreateQueue__Fv */
|
||||
void fopDwTg_CreateQueue() {
|
||||
static node_list_class lists[1000];
|
||||
|
||||
cTr_Create(&g_fopDwTg_Queue, lists, ARRAY_SIZE(lists));
|
||||
}
|
||||
}
|
||||
|
||||
+23
-26
@@ -12,10 +12,10 @@
|
||||
/* 8001F284-8001F2C0 019BC4 003C+00 1/0 0/0 0/0 .text fopKy_Draw__FPv */
|
||||
static int fopKy_Draw(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* a_this = (kankyo_class*)i_this;
|
||||
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
ret = fpcLf_DrawMethod(_this->sub_method, i_this);
|
||||
ret = fpcLf_DrawMethod(a_this->sub_method, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -24,10 +24,10 @@ static int fopKy_Draw(void* i_this) {
|
||||
/* 8001F2C0-8001F314 019C00 0054+00 1/0 0/0 0/0 .text fopKy_Execute__FPv */
|
||||
static int fopKy_Execute(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* a_this = (kankyo_class*)i_this;
|
||||
|
||||
if (dScnPly_c::isPause() && (!dComIfGp_isPauseFlag() || fpcM_GetName(i_this) == PROC_ENVSE)) {
|
||||
ret = fpcMtd_Execute(&_this->sub_method->mBase, i_this);
|
||||
ret = fpcMtd_Execute(&a_this->sub_method->base, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -36,11 +36,11 @@ static int fopKy_Execute(void* i_this) {
|
||||
/* 8001F314-8001F368 019C54 0054+00 1/0 0/0 0/0 .text fopKy_IsDelete__FPv */
|
||||
static int fopKy_IsDelete(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* a_this = (kankyo_class*)i_this;
|
||||
|
||||
ret = fpcMtd_IsDelete(&_this->sub_method->mBase, _this);
|
||||
ret = fpcMtd_IsDelete(&a_this->sub_method->base, a_this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&_this->draw_tag);
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -48,52 +48,49 @@ static int fopKy_IsDelete(void* i_this) {
|
||||
|
||||
/* 8001F368-8001F3B4 019CA8 004C+00 1/0 0/0 0/0 .text fopKy_Delete__FPv */
|
||||
static int fopKy_Delete(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* a_this = (kankyo_class*)i_this;
|
||||
|
||||
int ret = fpcMtd_Delete(&_this->sub_method->mBase, _this);
|
||||
fopDwTg_DrawQTo(&_this->draw_tag);
|
||||
int ret = fpcMtd_Delete(&a_this->sub_method->base, a_this);
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CE8-80450CF0 0001E8 0004+04 1/1 0/0 0/0 .sbss fopKy_KANKYO_TYPE */
|
||||
static int fopKy_KANKYO_TYPE;
|
||||
|
||||
/* 8001F3B4-8001F488 019CF4 00D4+00 1/0 0/0 0/0 .text fopKy_Create__FPv */
|
||||
static int fopKy_Create(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
kankyo_class* a_this = (kankyo_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
kankyo_process_profile_definition* profile =
|
||||
(kankyo_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
kankyo_process_profile_definition* profile = (kankyo_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
|
||||
_this->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
_this->sub_method = profile->sub_method;
|
||||
a_this->type = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
a_this->sub_method = profile->sub_method;
|
||||
|
||||
fopDwTg_Init(&_this->draw_tag, _this);
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(_this);
|
||||
fopDwTg_Init(&a_this->draw_tag, a_this);
|
||||
fopKyM_prm_class* append = fopKyM_GetAppend(a_this);
|
||||
|
||||
if (append != NULL) {
|
||||
_this->mPos = append->mPos;
|
||||
_this->mScale = append->mScale;
|
||||
_this->mParam = append->mParam;
|
||||
a_this->pos = append->pos;
|
||||
a_this->scale = append->scale;
|
||||
a_this->parameters = append->parameters;
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&_this->sub_method->mBase, _this);
|
||||
int ret = fpcMtd_Create(&a_this->sub_method->base, a_this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->draw_tag, priority);
|
||||
s32 priority = fpcLf_GetPriority(a_this);
|
||||
fopDwTg_ToDrawQ(&a_this->draw_tag, priority);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3940-803A3958 -00001 0014+04 0/0 7/0 0/0 .data g_fopKy_Method */
|
||||
leafdraw_method_class g_fopKy_Method = {
|
||||
(process_method_func)fopKy_Create, (process_method_func)fopKy_Delete,
|
||||
(process_method_func)fopKy_Execute, (process_method_func)fopKy_IsDelete,
|
||||
(process_method_func)fopKy_Draw,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -8,35 +8,34 @@
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 8001F660-8001F6B8 019FA0 0058+00 2/2 0/0 0/0 .text fopKyM_CreateAppend__Fv */
|
||||
static fopKyM_prm_class* fopKyM_CreateAppend() {
|
||||
fopKyM_prm_class* params =
|
||||
static_cast<fopKyM_prm_class*>(cMl::memalignB(-4, sizeof(fopKyM_prm_class)));
|
||||
fopKyM_prm_class* fopKyM_CreateAppend() {
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)cMl::memalignB(-4, sizeof(fopKyM_prm_class));
|
||||
|
||||
if (params != NULL) {
|
||||
cLib_memSet(params, 0, sizeof(fopKyM_prm_class));
|
||||
params->mScale.set(1.0f, 1.0f, 1.0f);
|
||||
if (append != NULL) {
|
||||
cLib_memSet(append, 0, sizeof(fopKyM_prm_class));
|
||||
append->scale.set(1.0f, 1.0f, 1.0f);
|
||||
}
|
||||
return params;
|
||||
return append;
|
||||
}
|
||||
|
||||
/* 8001F6B8-8001F748 019FF8 0090+00 2/2 0/0 0/0 .text createAppend__FiP4cXyzP4cXyz */
|
||||
static fopKyM_prm_class* createAppend(int i_param, cXyz* i_pos, cXyz* i_scale) {
|
||||
fopKyM_prm_class* params = fopKyM_CreateAppend();
|
||||
|
||||
if (params == NULL) {
|
||||
fopKyM_prm_class* append = fopKyM_CreateAppend();
|
||||
if (append == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (i_pos != NULL) {
|
||||
params->mPos = *i_pos;
|
||||
append->pos = *i_pos;
|
||||
}
|
||||
|
||||
if (i_scale != NULL) {
|
||||
params->mScale = *i_scale;
|
||||
append->scale = *i_scale;
|
||||
}
|
||||
params->mParam = i_param;
|
||||
|
||||
return params;
|
||||
append->parameters = i_param;
|
||||
|
||||
return append;
|
||||
}
|
||||
|
||||
/* 8001F748-8001F768 01A088 0020+00 0/0 3/3 1/1 .text fopKyM_Delete__FPv */
|
||||
@@ -45,54 +44,51 @@ void fopKyM_Delete(void* i_process) {
|
||||
}
|
||||
|
||||
/* 8001F768-8001F7B8 01A0A8 0050+00 2/2 0/0 0/0 .text fopKyM_Create__FsPFPv_iPv */
|
||||
static int fopKyM_Create(s16 i_procName, fopKyM_CreateFunc i_createFunc, void* i_process) {
|
||||
return fpcM_Create(i_procName, i_createFunc, i_process);
|
||||
fpc_ProcID fopKyM_Create(s16 i_procName, fopKyM_CreateFunc i_createFunc, void* i_append) {
|
||||
return fpcM_Create(i_procName, i_createFunc, i_append);
|
||||
}
|
||||
|
||||
/* 8001F7B8-8001F818 01A0F8 0060+00 0/0 3/3 1/1 .text fopKyM_create__FsiP4cXyzP4cXyzPFPv_i */
|
||||
int fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc) {
|
||||
fopKyM_prm_class* params = createAppend(i_param, i_pos, i_scale);
|
||||
|
||||
if (params == NULL) {
|
||||
return -1;
|
||||
fpc_ProcID fopKyM_create(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc) {
|
||||
fopKyM_prm_class* append = createAppend(i_param, i_pos, i_scale);
|
||||
if (append == NULL) {
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
return fopKyM_Create(i_procName, i_createFunc, params);
|
||||
return fopKyM_Create(i_procName, i_createFunc, append);
|
||||
}
|
||||
|
||||
/* 8001F818-8001F87C 01A158 0064+00 0/0 1/1 0/0 .text fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i */
|
||||
base_process_class* fopKyM_fastCreate(s16 i_procName, int i_param, cXyz* i_pos, cXyz* i_scale,
|
||||
fopKyM_CreateFunc i_createFunc) {
|
||||
fopKyM_prm_class* params = createAppend(i_param, i_pos, i_scale);
|
||||
|
||||
if (params == NULL) {
|
||||
fopKyM_prm_class* append = createAppend(i_param, i_pos, i_scale);
|
||||
if (append == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return fpcM_FastCreate(i_procName, i_createFunc, NULL, params);
|
||||
return fpcM_FastCreate(i_procName, i_createFunc, NULL, append);
|
||||
}
|
||||
|
||||
/* 8001F87C-8001F90C 01A1BC 0090+00 0/0 6/6 37/37 .text fopKyM_createWpillar__FPC4cXyzfi
|
||||
*/
|
||||
int fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param) {
|
||||
fopKyM_prm_class* params = fopKyM_CreateAppend();
|
||||
|
||||
if (params == NULL) {
|
||||
return -1;
|
||||
fpc_ProcID fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param) {
|
||||
fopKyM_prm_class* append = fopKyM_CreateAppend();
|
||||
if (append == NULL) {
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
params->mPos = *i_pos;
|
||||
params->mScale.x = scale;
|
||||
params->mScale.y = scale;
|
||||
params->mScale.z = scale;
|
||||
params->mParam = i_param;
|
||||
append->pos = *i_pos;
|
||||
append->scale.x = scale;
|
||||
append->scale.y = scale;
|
||||
append->scale.z = scale;
|
||||
append->parameters = i_param;
|
||||
|
||||
return fopKyM_Create(PROC_WPILLAR, NULL, params);
|
||||
return fopKyM_Create(PROC_WPILLAR, NULL, append);
|
||||
}
|
||||
|
||||
/* 8001F90C-8001F9B4 01A24C 00A8+00 0/0 0/0 3/3 .text fopKyM_createMpillar__FPC4cXyzf */
|
||||
int fopKyM_createMpillar(cXyz const* i_pos, f32 i_size) {
|
||||
fpc_ProcID fopKyM_createMpillar(cXyz const* i_pos, f32 i_size) {
|
||||
static u16 m_name[2] = {
|
||||
0x8757,
|
||||
0x8758,
|
||||
@@ -107,5 +103,5 @@ int fopKyM_createMpillar(cXyz const* i_pos, f32 i_size) {
|
||||
dComIfGp_particle_set(m_name[i], i_pos, NULL, &scale);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
+36
-37
@@ -11,81 +11,80 @@
|
||||
|
||||
/* 8001F488-8001F4B0 019DC8 0028+00 1/0 0/0 0/0 .text fopMsg_Draw__FPv */
|
||||
static int fopMsg_Draw(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
return fpcLf_DrawMethod(_this->sub_method, i_this);
|
||||
msg_class* a_this = (msg_class*)i_this;
|
||||
return fpcLf_DrawMethod(a_this->sub_method, i_this);
|
||||
}
|
||||
|
||||
/* 8001F4B0-8001F4E8 019DF0 0038+00 1/0 0/0 0/0 .text fopMsg_Execute__FPv */
|
||||
static int fopMsg_Execute(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
msg_class* a_this = (msg_class*)i_this;
|
||||
|
||||
int stat = 1;
|
||||
int ret = 1;
|
||||
if (dScnPly_c::isPause()) {
|
||||
stat = fpcMtd_Execute(&_this->sub_method->mBase, i_this);
|
||||
ret = fpcMtd_Execute(&a_this->sub_method->base, i_this);
|
||||
}
|
||||
|
||||
return stat;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001F4E8-8001F53C 019E28 0054+00 1/0 0/0 0/0 .text fopMsg_IsDelete__FPv */
|
||||
static int fopMsg_IsDelete(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
msg_class* a_this = (msg_class*)i_this;
|
||||
|
||||
int stat = fpcMtd_IsDelete(&_this->sub_method->mBase, i_this);
|
||||
if (stat == 1) {
|
||||
fopDwTg_DrawQTo(&_this->draw_tag);
|
||||
int ret = fpcMtd_IsDelete(&a_this->sub_method->base, i_this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
}
|
||||
|
||||
return stat;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001F53C-8001F588 019E7C 004C+00 1/0 0/0 0/0 .text fopMsg_Delete__FPv */
|
||||
static int fopMsg_Delete(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
msg_class* a_this = (msg_class*)i_this;
|
||||
|
||||
int stat = fpcMtd_Delete(&_this->sub_method->mBase, i_this);
|
||||
fopDwTg_DrawQTo(&_this->draw_tag);
|
||||
int ret = fpcMtd_Delete(&a_this->sub_method->base, i_this);
|
||||
fopDwTg_DrawQTo(&a_this->draw_tag);
|
||||
|
||||
return stat;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CF0-80450CF8 0001F0 0004+04 1/1 0/0 0/0 .sbss fopMsg_MSG_TYPE */
|
||||
static int fopMsg_MSG_TYPE;
|
||||
|
||||
/* 8001F588-8001F660 019EC8 00D8+00 1/0 0/0 0/0 .text fopMsg_Create__FPv */
|
||||
int fopMsg_Create(void* i_this) {
|
||||
msg_class* _this = (msg_class*)i_this;
|
||||
msg_class* a_this = (msg_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(_this)) {
|
||||
msg_process_profile_definition* profile =
|
||||
(msg_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
_this->mMsgType = fpcBs_MakeOfType(&fopMsg_MSG_TYPE);
|
||||
_this->sub_method = profile->sub_method;
|
||||
fopDwTg_Init(&_this->draw_tag, _this);
|
||||
fopMsg_prm_class* prm = fopMsgM_GetAppend(_this);
|
||||
if (prm != NULL) {
|
||||
_this->mpActor = prm->mpActor;
|
||||
_this->mPos = prm->mPos;
|
||||
_this->mMsgID = prm->mMsgID;
|
||||
_this->field_0xf0 = prm->field_0x14;
|
||||
_this->field_0xf4 = prm->field_0x18;
|
||||
if (fpcM_IsFirstCreating(a_this)) {
|
||||
msg_process_profile_definition* profile = (msg_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
a_this->type = fpcBs_MakeOfType(&fopMsg_MSG_TYPE);
|
||||
a_this->sub_method = profile->sub_method;
|
||||
|
||||
fopDwTg_Init(&a_this->draw_tag, a_this);
|
||||
|
||||
fopMsg_prm_class* append = fopMsgM_GetAppend(a_this);
|
||||
if (append != NULL) {
|
||||
a_this->talk_actor = append->talk_actor;
|
||||
a_this->pos = append->pos;
|
||||
a_this->msg_idx = append->msg_idx;
|
||||
a_this->field_0xf0 = append->field_0x14;
|
||||
a_this->field_0xf4 = append->field_0x18;
|
||||
}
|
||||
}
|
||||
|
||||
int status = fpcMtd_Create(&_this->sub_method->mBase, _this);
|
||||
if (status == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->draw_tag, priority);
|
||||
int ret = fpcMtd_Create(&a_this->sub_method->base, a_this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(a_this);
|
||||
fopDwTg_ToDrawQ(&a_this->draw_tag, priority);
|
||||
}
|
||||
|
||||
return status;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3958-803A3970 -00001 0014+04 0/0 5/0 0/0 .data g_fopMsg_Method */
|
||||
leafdraw_method_class g_fopMsg_Method = {
|
||||
(process_method_func)fopMsg_Create, (process_method_func)fopMsg_Delete,
|
||||
(process_method_func)fopMsg_Execute, (process_method_func)fopMsg_IsDelete,
|
||||
(process_method_func)fopMsg_Draw,
|
||||
};
|
||||
};
|
||||
|
||||
+157
-174
@@ -11,14 +11,13 @@
|
||||
#include "d/d_meter2_info.h"
|
||||
#include "d/d_msg_object.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "global.h"
|
||||
|
||||
/* 8001F9B4-8001FA24 01A2F4 0070+00 0/0 3/3 0/0 .text fopMsgM_setStageLayer__FPv */
|
||||
s32 fopMsgM_setStageLayer(void* param_0) {
|
||||
s32 fopMsgM_setStageLayer(void* i_process) {
|
||||
scene_class* scn = fopScnM_SearchByID(dStage_roomControl_c::getProcID());
|
||||
|
||||
int id = fopScnM_LayerID(scn);
|
||||
return fpcM_ChangeLayerID(param_0, id);
|
||||
return fpcM_ChangeLayerID(i_process, id);
|
||||
}
|
||||
|
||||
/* 8001FA24-8001FA44 01A364 0020+00 3/3 14/14 4/4 .text fopMsgM_SearchByID__FUi */
|
||||
@@ -28,8 +27,8 @@ msg_class* fopMsgM_SearchByID(fpc_ProcID i_id) {
|
||||
|
||||
/* 8001FA44-8001FA4C 01A384 0008+00 0/0 2/2 0/0 .text fopMsgM_GetAppend__FPv */
|
||||
fopMsg_prm_class* fopMsgM_GetAppend(void* i_msg) {
|
||||
msg_class* msg = static_cast<msg_class*>(i_msg);
|
||||
return (fopMsg_prm_class*)msg->mBase.mpUserData;
|
||||
msg_class* msg = (msg_class*)i_msg;
|
||||
return (fopMsg_prm_class*)msg->base.append;
|
||||
}
|
||||
|
||||
/* 8001FA4C-8001FA6C 01A38C 0020+00 0/0 2/2 0/0 .text fopMsgM_Delete__FPv */
|
||||
@@ -39,35 +38,33 @@ void fopMsgM_Delete(void* i_this) {
|
||||
|
||||
/* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi
|
||||
*/
|
||||
static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_msgID, u32* param_3,
|
||||
static fopMsg_prm_class* createAppend(fopAc_ac_c* i_talkActor, cXyz* i_pos, u32* i_msgIdx, u32* param_3,
|
||||
fpc_ProcID param_4) {
|
||||
fopMsg_prm_class* params =
|
||||
static_cast<fopMsg_prm_class*>(cMl::memalignB(-4, sizeof(fopMsg_prm_class)));
|
||||
|
||||
if (params == NULL) {
|
||||
fopMsg_prm_class* append = (fopMsg_prm_class*)cMl::memalignB(-4, sizeof(fopMsg_prm_class));
|
||||
if (append == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
params->mpActor = i_actor;
|
||||
dMsgObject_setTalkActor(i_actor);
|
||||
append->talk_actor = i_talkActor;
|
||||
dMsgObject_setTalkActor(i_talkActor);
|
||||
|
||||
if (i_msgID != NULL) {
|
||||
params->mMsgID = *i_msgID;
|
||||
if (i_msgIdx != NULL) {
|
||||
append->msg_idx = *i_msgIdx;
|
||||
}
|
||||
|
||||
if (param_3 != NULL) {
|
||||
params->field_0x14 = *param_3;
|
||||
append->field_0x14 = *param_3;
|
||||
}
|
||||
|
||||
if (i_pos != NULL) {
|
||||
params->mPos = *i_pos;
|
||||
append->pos = *i_pos;
|
||||
} else {
|
||||
params->mPos = cXyz(0.0f, 0.0f, 0.0f);
|
||||
append->pos = cXyz(0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
params->field_0x18 = param_4;
|
||||
append->field_0x18 = param_4;
|
||||
|
||||
return params;
|
||||
return append;
|
||||
}
|
||||
|
||||
/* 8001FB50-8001FC4C 01A490 00FC+00 1/1 0/0 0/0 .text createTimerAppend__FiUlUcUcffffUi
|
||||
@@ -76,60 +73,56 @@ static fopMsg_prm_timer* createTimerAppend(int i_mode, u32 i_limitMs, u8 i_type,
|
||||
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
|
||||
fpc_ProcID param_8) {
|
||||
fopMsg_prm_timer* appen = (fopMsg_prm_timer*)cMl::memalignB(-4, sizeof(fopMsg_prm_timer));
|
||||
|
||||
if (appen == NULL) {
|
||||
appen = NULL;
|
||||
} else {
|
||||
appen->mpActor = 0;
|
||||
appen->mMsgID = 0;
|
||||
appen->field_0x14 = 0;
|
||||
appen->mPos = cXyz(0.0f, 0.0f, 0.0f);
|
||||
appen->field_0x18 = param_8;
|
||||
appen->timer_mode = i_mode;
|
||||
appen->limit_ms = i_limitMs;
|
||||
appen->type = i_type;
|
||||
appen->field_0x25 = param_3;
|
||||
appen->field_0x28 = param_4;
|
||||
appen->field_0x2c = param_5;
|
||||
appen->field_0x30 = param_6;
|
||||
appen->field_0x34 = param_7;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
appen->talk_actor = NULL;
|
||||
appen->msg_idx = 0;
|
||||
appen->field_0x14 = 0;
|
||||
appen->pos = cXyz(0.0f, 0.0f, 0.0f);
|
||||
appen->field_0x18 = param_8;
|
||||
appen->timer_mode = i_mode;
|
||||
appen->limit_ms = i_limitMs;
|
||||
appen->type = i_type;
|
||||
appen->field_0x25 = param_3;
|
||||
appen->field_0x28 = param_4;
|
||||
appen->field_0x2c = param_5;
|
||||
appen->field_0x30 = param_6;
|
||||
appen->field_0x34 = param_7;
|
||||
return appen;
|
||||
}
|
||||
|
||||
/* 8001FC4C-8001FCC0 01A58C 0074+00 0/0 1/1 0/0 .text
|
||||
* fopMsgM_create__FsP10fopAc_ac_cP4cXyzPUlPUlPFPv_i */
|
||||
s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
|
||||
fpc_ProcID fopMsgM_create(s16 i_procName, fopAc_ac_c* i_talkActor, cXyz* i_pos, u32* i_msgIdx, u32* param_4,
|
||||
fopMsgCreateFunc createFunc) {
|
||||
fopMsg_prm_class* params = createAppend(param_1, param_2, param_3, param_4, -1);
|
||||
|
||||
if (params == NULL) {
|
||||
return -1;
|
||||
fopMsg_prm_class* append = createAppend(i_talkActor, i_pos, i_msgIdx, param_4, fpcM_ERROR_PROCESS_ID_e);
|
||||
if (append == NULL) {
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
return fpcSCtRq_Request(fpcLy_CurrentLayer(), param_0, (stdCreateFunc)createFunc, NULL, params);
|
||||
return fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, (stdCreateFunc)createFunc, NULL, append);
|
||||
}
|
||||
|
||||
/* 8001FCC0-8001FD34 01A600 0074+00 0/0 2/2 0/0 .text fop_Timer_create__FsUcUlUcUcffffPFPv_i */
|
||||
s32 fop_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 param_4, f32 param_5,
|
||||
fpc_ProcID fop_Timer_create(s16 i_procName, u8 i_mode, u32 i_limitMs, u8 i_type, u8 param_4, f32 param_5,
|
||||
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc i_createFunc) {
|
||||
fopMsg_prm_timer* timer_prm = createTimerAppend(i_mode, i_limitMs, i_type, param_4, param_5,
|
||||
param_6, param_7, param_8, -1);
|
||||
|
||||
if (timer_prm == NULL) {
|
||||
return -1;
|
||||
fopMsg_prm_timer* append = createTimerAppend(i_mode, i_limitMs, i_type, param_4, param_5,
|
||||
param_6, param_7, param_8, fpcM_ERROR_PROCESS_ID_e);
|
||||
if (append == NULL) {
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
return fpcSCtRq_Request(fpcLy_CurrentLayer(), i_procName, (stdCreateFunc)i_createFunc, NULL,
|
||||
timer_prm);
|
||||
append);
|
||||
}
|
||||
|
||||
/* 804505C8-804505D0 000048 0004+04 4/4 0/0 0/0 .sdata i_msgID */
|
||||
static u32 i_msgID = 0xFFFFFFFF;
|
||||
static fpc_ProcID i_msgID = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
/* 8001FD34-8001FE84 01A674 0150+00 0/0 2/2 1/1 .text fopMsgM_messageSet__FUlP10fopAc_ac_cUl */
|
||||
int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
|
||||
fpc_ProcID fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_talkActor, u32 param_2) {
|
||||
if (dComIfGp_isHeapLockFlag() == 8) {
|
||||
dMeter2Info_getMeterClass()->emphasisButtonDelete();
|
||||
}
|
||||
@@ -138,40 +131,40 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
} else {
|
||||
dComIfGp_clearMesgAnimeTagInfo();
|
||||
dComIfGp_clearMesgCameraTagInfo();
|
||||
|
||||
cXyz pos;
|
||||
if (i_actorP) {
|
||||
pos = i_actorP->eyePos;
|
||||
} else {
|
||||
pos.set(0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
if (g_MsgObject_HIO_c.mMsgDebug == true) {
|
||||
i_msgIdx = g_MsgObject_HIO_c.mMsgIndex;
|
||||
}
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg && msg->mMode == 1) {
|
||||
msg->mPos.set(pos);
|
||||
msg->mMsgID = i_msgIdx;
|
||||
msg->field_0xf0 = param_2;
|
||||
msg->mpActor = i_actorP;
|
||||
msg->setMessageIndex(i_msgIdx, param_2, false);
|
||||
return i_msgID;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
dComIfGp_clearMesgAnimeTagInfo();
|
||||
dComIfGp_clearMesgCameraTagInfo();
|
||||
|
||||
cXyz pos;
|
||||
if (i_talkActor != NULL) {
|
||||
pos = i_talkActor->eyePos;
|
||||
} else {
|
||||
pos.set(0.0f, 0.0f, 0.0f);
|
||||
}
|
||||
|
||||
if (g_MsgObject_HIO_c.mMsgDebug == true) {
|
||||
i_msgIdx = g_MsgObject_HIO_c.mMsgIndex;
|
||||
}
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg != NULL && msg->mode == 1) {
|
||||
msg->pos.set(pos);
|
||||
msg->msg_idx = i_msgIdx;
|
||||
msg->field_0xf0 = param_2;
|
||||
msg->talk_actor = i_talkActor;
|
||||
msg->setMessageIndex(i_msgIdx, param_2, false);
|
||||
return i_msgID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8001FE84-8001FFC4 01A7C4 0140+00 0/0 6/6 4/4 .text fopMsgM_messageSet__FUlUl */
|
||||
int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
|
||||
fpc_ProcID fopMsgM_messageSet(u32 i_msgIdx, u32 param_1) {
|
||||
if (dComIfGp_isHeapLockFlag() == 8) {
|
||||
dMeter2Info_getMeterClass()->emphasisButtonDelete();
|
||||
}
|
||||
@@ -180,40 +173,38 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
} else {
|
||||
cXyz pos;
|
||||
pos.x = pos.y = pos.z = 0.0f;
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg) {
|
||||
if (msg->mMode == 1) {
|
||||
msg->mPos.set(pos);
|
||||
msg->mMsgID = msgIdx;
|
||||
msg->field_0xf0 = param_1;
|
||||
msg->mpActor = NULL;
|
||||
msg->setTalkPartner(NULL);
|
||||
msg->setMessageIndex(msgIdx, param_1, false);
|
||||
return i_msgID;
|
||||
}
|
||||
|
||||
if (msg->mMode == 15) {
|
||||
msg->mPos.set(pos);
|
||||
msg->mMsgID = msgIdx;
|
||||
msg->field_0xf0 = param_1;
|
||||
msg->mpActor = NULL;
|
||||
return i_msgID;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
cXyz pos;
|
||||
pos.x = pos.y = pos.z = 0.0f;
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg != NULL) {
|
||||
if (msg->mode == 1) {
|
||||
msg->pos.set(pos);
|
||||
msg->msg_idx = i_msgIdx;
|
||||
msg->field_0xf0 = param_1;
|
||||
msg->talk_actor = NULL;
|
||||
msg->setTalkPartner(NULL);
|
||||
msg->setMessageIndex(i_msgIdx, param_1, false);
|
||||
return i_msgID;
|
||||
} else if (msg->mode == 15) {
|
||||
msg->pos.set(pos);
|
||||
msg->msg_idx = i_msgIdx;
|
||||
msg->field_0xf0 = param_1;
|
||||
msg->talk_actor = NULL;
|
||||
return i_msgID;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8001FFC4-800200C0 01A904 00FC+00 0/0 1/1 13/13 .text fopMsgM_messageSetDemo__FUl */
|
||||
int fopMsgM_messageSetDemo(u32 param_0) {
|
||||
fpc_ProcID fopMsgM_messageSetDemo(u32 i_msgidx) {
|
||||
dMsgObject_endFlowGroup();
|
||||
if (dComIfGp_isHeapLockFlag() == 8) {
|
||||
dMeter2Info_getMeterClass()->emphasisButtonDelete();
|
||||
@@ -223,25 +214,25 @@ int fopMsgM_messageSetDemo(u32 param_0) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
} else {
|
||||
cXyz pos;
|
||||
pos.x = pos.y = pos.z = 0.0f;
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg && msg->mMode == 1) {
|
||||
msg->mPos.set(pos);
|
||||
msg->mMsgID = param_0;
|
||||
msg->field_0xf0 = 1000;
|
||||
msg->mpActor = NULL;
|
||||
msg->setMessageIndexDemo(param_0, false);
|
||||
return i_msgID;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
cXyz pos;
|
||||
pos.x = pos.y = pos.z = 0.0f;
|
||||
|
||||
dMsgObject_c* msg = (dMsgObject_c*)fopMsgM_SearchByID(i_msgID);
|
||||
|
||||
if (msg != NULL && msg->mode == 1) {
|
||||
msg->pos.set(pos);
|
||||
msg->msg_idx = i_msgidx;
|
||||
msg->field_0xf0 = 1000;
|
||||
msg->talk_actor = NULL;
|
||||
msg->setMessageIndexDemo(i_msgidx, false);
|
||||
return i_msgID;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 800200C0-80020100 01AA00 0040+00 0/0 7/7 1/1 .text fopMsgM_messageGet__FPcUl */
|
||||
@@ -256,8 +247,8 @@ void fopMsgM_setMessageID(fpc_ProcID msg_id) {
|
||||
}
|
||||
|
||||
/* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */
|
||||
u32 fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_process) {
|
||||
return fpcM_Create(i_procName, i_createFunc, i_process);
|
||||
fpc_ProcID fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_append) {
|
||||
return fpcM_Create(i_procName, i_createFunc, i_append);
|
||||
}
|
||||
|
||||
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
|
||||
@@ -270,56 +261,48 @@ f32 dummy() {
|
||||
}
|
||||
|
||||
/* 80020160-800202CC 01AAA0 016C+00 1/0 4/4 2/2 .text fopMsgM_valueIncrease__FiiUc */
|
||||
// NONMATCHING regalloc
|
||||
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
|
||||
f32 fopMsgM_valueIncrease(int param_0, int param_1, u8 i_type) {
|
||||
if (param_0 <= 0) {
|
||||
return 1.0f;
|
||||
} else {
|
||||
if (param_1 < 0) {
|
||||
param_1 = 0;
|
||||
} else if (param_1 > param_0) {
|
||||
param_1 = param_0;
|
||||
}
|
||||
|
||||
f32 ret;
|
||||
f32 tmp1 = (f32)param_1 / param_0;
|
||||
|
||||
switch (param_2) {
|
||||
case 0: {
|
||||
ret = tmp1 * tmp1;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
ret = JMAFastSqrt(tmp1);
|
||||
break;
|
||||
}
|
||||
case 2:
|
||||
default: {
|
||||
ret = tmp1;
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
ret = tmp1 * ((2.0f * tmp1) - 1.0f) - 1.0f;
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
f32 tmp = cM_ssin(0.5f * ((f32)0x8000 * tmp1));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
f32 tmp = cM_ssin(0.5f * ((f32)0xFFFF * tmp1));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
ret = cM_ssin((f32)0x8000 * tmp1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (param_1 < 0) {
|
||||
param_1 = 0;
|
||||
} else if (param_1 > param_0) {
|
||||
param_1 = param_0;
|
||||
}
|
||||
|
||||
f32 var_f31 = (f32)param_1 / param_0;
|
||||
f32 var_f30;
|
||||
|
||||
switch (i_type) {
|
||||
case 0:
|
||||
var_f30 = var_f31 * var_f31;
|
||||
break;
|
||||
case 1:
|
||||
var_f30 = JMAFastSqrt(var_f31);
|
||||
break;
|
||||
case 2:
|
||||
default:
|
||||
var_f30 = var_f31;
|
||||
break;
|
||||
case 3:
|
||||
var_f30 = (2.0f * ((2.0f * var_f31) - 1.0f)) - 1.0f;
|
||||
break;
|
||||
case 4:
|
||||
var_f31 = cM_ssin(0.5f * ((f32)0x8000 * var_f31));
|
||||
var_f30 = var_f31 * var_f31;
|
||||
break;
|
||||
case 5:
|
||||
var_f31 = cM_ssin(0.5f * ((f32)0xFFFF * var_f31));
|
||||
var_f30 = var_f31 * var_f31;
|
||||
break;
|
||||
case 6:
|
||||
var_f30 = cM_ssin((f32)0x8000 * var_f31);
|
||||
break;
|
||||
}
|
||||
|
||||
return var_f30;
|
||||
}
|
||||
|
||||
// Here to generate J2DPicture virtual inlines
|
||||
|
||||
+16
-18
@@ -3,54 +3,52 @@
|
||||
* Overlap Process Framework
|
||||
*/
|
||||
|
||||
#include "SSystem/SComponent/c_request.h"
|
||||
#include "f_op/f_op_overlap.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
/* 8001E37C-8001E3A4 018CBC 0028+00 1/0 0/0 0/0 .text fopOvlp_Draw__FPv */
|
||||
static s32 fopOvlp_Draw(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
return fpcLf_DrawMethod(_this->field_0xc0, i_this);
|
||||
overlap_task_class* a_this = (overlap_task_class*)i_this;
|
||||
return fpcLf_DrawMethod(a_this->submethod, i_this);
|
||||
}
|
||||
|
||||
/* 8001E3A4-8001E3CC 018CE4 0028+00 1/0 0/0 0/0 .text fopOvlp_Execute__FPv */
|
||||
static s32 fopOvlp_Execute(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_Execute(&_this->field_0xc0->mBase, i_this);
|
||||
overlap_task_class* a_this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_Execute(&a_this->submethod->base, i_this);
|
||||
}
|
||||
|
||||
/* 8001E3CC-8001E3F4 018D0C 0028+00 1/0 0/0 0/0 .text fopOvlp_IsDelete__FPv */
|
||||
static s32 fopOvlp_IsDelete(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_IsDelete(&_this->field_0xc0->mBase, i_this);
|
||||
overlap_task_class* a_this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_IsDelete(&a_this->submethod->base, i_this);
|
||||
}
|
||||
|
||||
/* 8001E3F4-8001E41C 018D34 0028+00 1/0 0/0 0/0 .text fopOvlp_Delete__FPv */
|
||||
static s32 fopOvlp_Delete(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_Delete(&_this->field_0xc0->mBase, i_this);
|
||||
overlap_task_class* a_this = (overlap_task_class*)i_this;
|
||||
return fpcMtd_Delete(&a_this->submethod->base, i_this);
|
||||
}
|
||||
|
||||
/* 8001E41C-8001E484 018D5C 0068+00 1/0 0/0 0/0 .text fopOvlp_Create__FPv */
|
||||
static s32 fopOvlp_Create(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
overlap_task_class* a_this = (overlap_task_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(_this)) {
|
||||
if (fpcM_IsFirstCreating(a_this)) {
|
||||
overlap_process_profile_definition* profile =
|
||||
(overlap_process_profile_definition*)fpcM_GetProfile(_this);
|
||||
(overlap_process_profile_definition*)fpcM_GetProfile(a_this);
|
||||
|
||||
cReq_Create((request_base_class*)&_this->field_0xc4, 1);
|
||||
_this->field_0xc0 = profile->sub_method;
|
||||
_this->field_0xc8 = -1;
|
||||
cReq_Create(&a_this->request, 1);
|
||||
a_this->submethod = profile->sub_method;
|
||||
a_this->scene_id = fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
return fpcMtd_Create(&_this->field_0xc0->mBase, _this);
|
||||
return fpcMtd_Create(&a_this->submethod->base, a_this);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3878-803A3890 -00001 0014+04 0/0 10/0 0/0 .data g_fopOvlp_Method */
|
||||
leafdraw_method_class g_fopOvlp_Method = {
|
||||
(process_method_func)fopOvlp_Create, (process_method_func)fopOvlp_Delete,
|
||||
(process_method_func)fopOvlp_Execute, (process_method_func)fopOvlp_IsDelete,
|
||||
(process_method_func)fopOvlp_Draw,
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,59 +9,60 @@
|
||||
#include "f_op/f_op_scene_pause.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804505B0-804505B8 000030 0004+04 10/10 0/0 0/0 .sdata l_fopOvlpM_overlap */
|
||||
// making it not an array put it in .bss
|
||||
static request_base_class* l_fopOvlpM_overlap[1] = {NULL};
|
||||
static overlap_request_class* l_fopOvlpM_overlap[1] = {NULL};
|
||||
|
||||
/* 8001E484-8001E4C4 018DC4 0040+00 0/0 1/1 0/0 .text fopOvlpM_SceneIsStop__Fv */
|
||||
int fopOvlpM_SceneIsStop() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
if (l_fopOvlpM_overlap[0] != NULL) {
|
||||
return fopScnPause_Enable(
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
|
||||
} else {
|
||||
return 0;
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->overlap_task->scene_id));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8001E4C4-8001E504 018E04 0040+00 0/0 5/5 0/0 .text fopOvlpM_SceneIsStart__Fv */
|
||||
int fopOvlpM_SceneIsStart() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
if (l_fopOvlpM_overlap[0] != NULL) {
|
||||
return fopScnPause_Disable(
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
|
||||
} else {
|
||||
return 0;
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->overlap_task->scene_id));
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 8001E504-8001E51C 018E44 0018+00 0/0 3/3 0/0 .text fopOvlpM_IsOutReq__FP18overlap_task_class */
|
||||
int fopOvlpM_IsOutReq(overlap_task_class* pTaskClass) {
|
||||
return (pTaskClass->field_0xc4 & 0x3F) == 2;
|
||||
int fopOvlpM_IsOutReq(overlap_task_class* i_overlap_task) {
|
||||
return i_overlap_task->request.flag2 == 2;
|
||||
}
|
||||
|
||||
/* 8001E51C-8001E540 018E5C 0024+00 0/0 6/6 0/0 .text fopOvlpM_Done__FP18overlap_task_class */
|
||||
void fopOvlpM_Done(overlap_task_class* pTaskClass) {
|
||||
cReq_Done((request_base_class*)&pTaskClass->field_0xc4);
|
||||
void fopOvlpM_Done(overlap_task_class* i_overlap_task) {
|
||||
cReq_Done(&i_overlap_task->request);
|
||||
}
|
||||
|
||||
/* 8001E540-8001E558 018E80 0018+00 0/0 1/1 0/0 .text fopOvlpM_ToldAboutID__FUi */
|
||||
void fopOvlpM_ToldAboutID(fpc_ProcID param_1) {
|
||||
l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x20[0x32] = param_1 : 0;
|
||||
void fopOvlpM_ToldAboutID(fpc_ProcID i_sceneId) {
|
||||
if (l_fopOvlpM_overlap[0] != NULL) {
|
||||
l_fopOvlpM_overlap[0]->overlap_task->scene_id = i_sceneId;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8001E558-8001E574 018E98 001C+00 0/0 6/6 7/7 .text fopOvlpM_IsPeek__Fv */
|
||||
int fopOvlpM_IsPeek() {
|
||||
return l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x8 : 0;
|
||||
return l_fopOvlpM_overlap[0] != NULL ? l_fopOvlpM_overlap[0]->field_0x8 : FALSE;
|
||||
}
|
||||
|
||||
/* 8001E574-8001E5A8 018EB4 0034+00 0/0 1/1 0/0 .text fopOvlpM_IsDone__Fv */
|
||||
int fopOvlpM_IsDone() {
|
||||
return l_fopOvlpM_overlap[0] ? cReq_Is_Done(l_fopOvlpM_overlap[0]) : 0;
|
||||
return l_fopOvlpM_overlap[0] != NULL ? cReq_Is_Done(&l_fopOvlpM_overlap[0]->base) : FALSE;
|
||||
}
|
||||
|
||||
/* 8001E5A8-8001E5D0 018EE8 0028+00 0/0 3/3 1/1 .text fopOvlpM_IsDoingReq__Fv */
|
||||
int fopOvlpM_IsDoingReq() {
|
||||
if (l_fopOvlpM_overlap[0] && l_fopOvlpM_overlap[0]->field_0x4 == 1) {
|
||||
if (l_fopOvlpM_overlap[0] != NULL && l_fopOvlpM_overlap[0]->field_0x4 == 1) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -70,44 +71,42 @@ int fopOvlpM_IsDoingReq() {
|
||||
|
||||
/* 8001E5D0-8001E604 018F10 0034+00 0/0 1/1 0/0 .text fopOvlpM_ClearOfReq__Fv */
|
||||
int fopOvlpM_ClearOfReq() {
|
||||
return l_fopOvlpM_overlap[0] ?
|
||||
fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap[0]) :
|
||||
0;
|
||||
return l_fopOvlpM_overlap[0] != NULL ? fopOvlpReq_OverlapClr(l_fopOvlpM_overlap[0]) : 0;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803F1DE8-803F1E10 01EB08 0028+00 1/1 0/0 0/0 .bss l_fopOvlpM_Request */
|
||||
static overlap_request_class l_fopOvlpM_Request;
|
||||
|
||||
/* 8001E604-8001E650 018F44 004C+00 0/0 1/1 0/0 .text fopOvlpM_Request__FsUs */
|
||||
request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2) {
|
||||
if (!l_fopOvlpM_overlap[0]) {
|
||||
request_base_class* tmp = fopOvlpReq_Request(&l_fopOvlpM_Request, param_1, param_2);
|
||||
l_fopOvlpM_overlap[0] = tmp;
|
||||
return tmp;
|
||||
overlap_request_class* fopOvlpM_Request(s16 i_procname, u16 i_peektime) {
|
||||
if (l_fopOvlpM_overlap[0] == NULL) {
|
||||
l_fopOvlpM_overlap[0] = fopOvlpReq_Request(&l_fopOvlpM_Request, i_procname, i_peektime);
|
||||
return l_fopOvlpM_overlap[0];
|
||||
}
|
||||
|
||||
return 0;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 8001E650-8001E698 018F90 0048+00 0/0 1/1 0/0 .text fopOvlpM_Management__Fv */
|
||||
void fopOvlpM_Management() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
int tmp = fopOvlpReq_Handler((overlap_request_class*)l_fopOvlpM_overlap[0]);
|
||||
if (6 <= tmp || 3 > tmp) {
|
||||
return;
|
||||
if (l_fopOvlpM_overlap[0] != NULL) {
|
||||
switch (fopOvlpReq_Handler(l_fopOvlpM_overlap[0])) {
|
||||
case cPhs_UNK3_e:
|
||||
case cPhs_COMPLEATE_e:
|
||||
case cPhs_ERROR_e:
|
||||
l_fopOvlpM_overlap[0] = NULL;
|
||||
break;
|
||||
}
|
||||
l_fopOvlpM_overlap[0] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8001E698-8001E6E8 018FD8 0050+00 0/0 1/1 0/0 .text fopOvlpM_Cancel__Fv */
|
||||
int fopOvlpM_Cancel() {
|
||||
if (!l_fopOvlpM_overlap[0]) {
|
||||
if (l_fopOvlpM_overlap[0] == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fopOvlpReq_Cancel((overlap_request_class*)l_fopOvlpM_overlap[0]) == true) {
|
||||
if (fopOvlpReq_Cancel(l_fopOvlpM_overlap[0]) == true) {
|
||||
l_fopOvlpM_overlap[0] = NULL;
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -12,93 +12,96 @@ void fopOvlpReq_SetPeektime(overlap_request_class*, u16);
|
||||
/* 8001E6EC-8001E748 01902C 005C+00 2/1 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_Done__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_Done(overlap_request_class* i_overlapReq) {
|
||||
if (fpcM_Delete(i_overlapReq->field_0x20) == 1) {
|
||||
i_overlapReq->field_0x20 = 0;
|
||||
if (fpcM_Delete(i_overlapReq->overlap_task) == 1) {
|
||||
i_overlapReq->overlap_task = NULL;
|
||||
i_overlapReq->field_0x4 = 0;
|
||||
i_overlapReq->mPeektime = 0;
|
||||
i_overlapReq->peektime = 0;
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
i_overlapReq->field_0xc = 0;
|
||||
return 2;
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E748-8001E794 019088 004C+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_IsDone__FP21overlap_request_class */
|
||||
static s32 fopOvlpReq_phase_IsDone(overlap_request_class* param_1) {
|
||||
cReq_Done((request_base_class*)param_1);
|
||||
return param_1->field_0x2-- <= 0 ? 2 : 0;
|
||||
static s32 fopOvlpReq_phase_IsDone(overlap_request_class* i_overlapReq) {
|
||||
cReq_Done(&i_overlapReq->base);
|
||||
if (i_overlapReq->field_0x2-- <= 0) {
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E794-8001E7E4 0190D4 0050+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_IsWaitOfFadeout__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* i_overlapReq) {
|
||||
if (cReq_Is_Done((request_base_class*)(i_overlapReq->field_0x20 + 0xC4))) {
|
||||
if (cReq_Is_Done(&i_overlapReq->overlap_task->request)) {
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
return 2;
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E7E4-8001E854 019124 0070+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_WaitOfFadeout__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* i_overlapReq) {
|
||||
if (i_overlapReq->mPeektime) {
|
||||
i_overlapReq->mPeektime--;
|
||||
if (i_overlapReq->peektime) {
|
||||
i_overlapReq->peektime--;
|
||||
}
|
||||
|
||||
if (((u8)(i_overlapReq->field_0x0 & 0x3F)) == 2 && !i_overlapReq->mPeektime) {
|
||||
cReq_Command((request_base_class*)(i_overlapReq->field_0x20 + 0xC4), 2);
|
||||
return 2;
|
||||
if (i_overlapReq->base.flag2 == 2 && !i_overlapReq->peektime) {
|
||||
cReq_Command(&i_overlapReq->overlap_task->request, 2);
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
i_overlapReq->field_0x8 = 1;
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E854-8001E8A4 019194 0050+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_IsComplete__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_IsComplete(overlap_request_class* i_overlapReq) {
|
||||
if (cReq_Is_Done((request_base_class*)(i_overlapReq->field_0x20 + 0xC4))) {
|
||||
cReq_Done((request_base_class*)i_overlapReq);
|
||||
return 2;
|
||||
if (cReq_Is_Done(&i_overlapReq->overlap_task->request)) {
|
||||
cReq_Done(&i_overlapReq->base);
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E8A4-8001E904 0191E4 0060+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_IsCreated__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_IsCreated(overlap_request_class* i_overlapReq) {
|
||||
if (fpcM_IsCreating(i_overlapReq->field_0x14) == 0) {
|
||||
base_process_class* pBaseProc = fpcEx_SearchByID(i_overlapReq->field_0x14);
|
||||
|
||||
if (pBaseProc == NULL) {
|
||||
if (fpcM_IsCreating(i_overlapReq->request_id) == 0) {
|
||||
overlap_task_class* process = (overlap_task_class*)fpcM_SearchByID(i_overlapReq->request_id);
|
||||
if (process == NULL) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
i_overlapReq->field_0x20 = (u8*)pBaseProc;
|
||||
return 2;
|
||||
i_overlapReq->overlap_task = process;
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return cPhs_INIT_e;
|
||||
}
|
||||
|
||||
/* 8001E904-8001E954 019244 0050+00 1/0 0/0 0/0 .text
|
||||
* fopOvlpReq_phase_Create__FP21overlap_request_class */
|
||||
static int fopOvlpReq_phase_Create(overlap_request_class* i_overlapReq) {
|
||||
fpcLy_SetCurrentLayer(i_overlapReq->pCurrentLayer);
|
||||
i_overlapReq->field_0x14 =
|
||||
fpcSCtRq_Request(fpcLy_CurrentLayer(), i_overlapReq->field_0x10, 0, 0, 0);
|
||||
return 2;
|
||||
fpcLy_SetCurrentLayer(i_overlapReq->layer);
|
||||
i_overlapReq->request_id =
|
||||
fpcSCtRq_Request(fpcLy_CurrentLayer(), i_overlapReq->procname, NULL, NULL, NULL);
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
/* 8001E954-8001E9F0 019294 009C+00 0/0 1/1 0/0 .text
|
||||
* fopOvlpReq_Request__FP21overlap_request_classsUs */
|
||||
request_base_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16 param_2,
|
||||
u16 param_3) {
|
||||
overlap_request_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16 i_procname,
|
||||
u16 i_peektime) {
|
||||
static cPhs__Handler phaseMethod[8] = {
|
||||
(cPhs__Handler)fopOvlpReq_phase_Create,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsCreated,
|
||||
@@ -111,27 +114,27 @@ request_base_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16
|
||||
};
|
||||
|
||||
if (i_overlapReq->field_0x4 == 1) {
|
||||
i_overlapReq = 0;
|
||||
return (request_base_class*)i_overlapReq;
|
||||
i_overlapReq = NULL;
|
||||
return i_overlapReq;
|
||||
}
|
||||
|
||||
cReq_Command((request_base_class*)i_overlapReq, 1);
|
||||
i_overlapReq->field_0x10 = param_2;
|
||||
cPhs_Set(&i_overlapReq->field_0x18, phaseMethod);
|
||||
fopOvlpReq_SetPeektime(i_overlapReq, param_3);
|
||||
cReq_Command(&i_overlapReq->base, 1);
|
||||
i_overlapReq->procname = i_procname;
|
||||
cPhs_Set(&i_overlapReq->phase_req, phaseMethod);
|
||||
fopOvlpReq_SetPeektime(i_overlapReq, i_peektime);
|
||||
i_overlapReq->field_0x4 = 1;
|
||||
i_overlapReq->field_0x2 = 1;
|
||||
i_overlapReq->field_0x20 = 0;
|
||||
i_overlapReq->overlap_task = NULL;
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
i_overlapReq->field_0xc = 0;
|
||||
i_overlapReq->pCurrentLayer = fpcLy_RootLayer();
|
||||
return (request_base_class*)i_overlapReq;
|
||||
i_overlapReq->layer = fpcLy_RootLayer();
|
||||
return i_overlapReq;
|
||||
}
|
||||
|
||||
/* 8001E9F0-8001EA88 019330 0098+00 0/0 1/1 0/0 .text
|
||||
* fopOvlpReq_Handler__FP21overlap_request_class */
|
||||
int fopOvlpReq_Handler(overlap_request_class* i_overlapReq) {
|
||||
int phase_state = cPhs_Do(&i_overlapReq->field_0x18, i_overlapReq);
|
||||
int phase_state = cPhs_Do(&i_overlapReq->phase_req, i_overlapReq);
|
||||
|
||||
switch (phase_state) {
|
||||
case cPhs_NEXT_e:
|
||||
@@ -153,33 +156,31 @@ int fopOvlpReq_Handler(overlap_request_class* i_overlapReq) {
|
||||
/* 8001EA88-8001EAB4 0193C8 002C+00 0/0 1/1 0/0 .text fopOvlpReq_Cancel__FP21overlap_request_class
|
||||
*/
|
||||
int fopOvlpReq_Cancel(overlap_request_class* i_overlapReq) {
|
||||
return fopOvlpReq_phase_Done(i_overlapReq) == 2 ? 1 : 0;
|
||||
return fopOvlpReq_phase_Done(i_overlapReq) == cPhs_NEXT_e ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8001EAB4-8001EAC4 0193F4 0010+00 1/1 0/0 0/0 .text
|
||||
* fopOvlpReq_Is_PeektimeLimit__FP21overlap_request_class */
|
||||
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* i_overlapReq) {
|
||||
return i_overlapReq->mPeektime == 0 ? 1 : 0;
|
||||
return i_overlapReq->peektime == 0 ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
/* 8001EAC4-8001EAD8 019404 0014+00 1/1 0/0 0/0 .text
|
||||
* fopOvlpReq_SetPeektime__FP21overlap_request_classUs */
|
||||
void fopOvlpReq_SetPeektime(overlap_request_class* i_overlapReq, u16 param_2) {
|
||||
if (0x7fff < param_2) {
|
||||
return;
|
||||
void fopOvlpReq_SetPeektime(overlap_request_class* i_overlapReq, u16 i_peektime) {
|
||||
if (i_peektime <= 0x7FFF) {
|
||||
i_overlapReq->peektime = i_peektime;
|
||||
}
|
||||
|
||||
i_overlapReq->mPeektime = param_2;
|
||||
}
|
||||
|
||||
/* 8001EAD8-8001EB34 019418 005C+00 0/0 1/1 0/0 .text
|
||||
* fopOvlpReq_OverlapClr__FP21overlap_request_class */
|
||||
int fopOvlpReq_OverlapClr(overlap_request_class* i_overlapReq) {
|
||||
if ((u8)((i_overlapReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(i_overlapReq))
|
||||
if (i_overlapReq->base.flag0 == 1 || !fopOvlpReq_Is_PeektimeLimit(i_overlapReq))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
cReq_Create((request_base_class*)i_overlapReq, 2);
|
||||
cReq_Create(&i_overlapReq->base, 2);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
+20
-21
@@ -7,50 +7,49 @@
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
/* 8001EB34-8001EB5C 019474 0028+00 1/0 0/0 0/0 .text fopScn_Draw__FP11scene_class */
|
||||
static void fopScn_Draw(scene_class* i_this) {
|
||||
fpcNd_DrawMethod((nodedraw_method_class*)i_this->mpMtd, i_this);
|
||||
static int fopScn_Draw(scene_class* i_this) {
|
||||
return fpcNd_DrawMethod((nodedraw_method_class*)i_this->submethod, i_this);
|
||||
}
|
||||
|
||||
/* 8001EB5C-8001EB84 01949C 0028+00 1/0 0/0 0/0 .text fopScn_Execute__FP11scene_class */
|
||||
static void fopScn_Execute(scene_class* i_this) {
|
||||
fpcMtd_Execute(i_this->mpMtd, i_this);
|
||||
static int fopScn_Execute(scene_class* i_this) {
|
||||
return fpcMtd_Execute(i_this->submethod, i_this);
|
||||
}
|
||||
|
||||
/* 8001EB84-8001EBAC 0194C4 0028+00 1/0 0/0 0/0 .text fopScn_IsDelete__FPv */
|
||||
static s32 fopScn_IsDelete(void* i_this) {
|
||||
return fpcMtd_IsDelete(static_cast<scene_class*>(i_this)->mpMtd, i_this);
|
||||
static int fopScn_IsDelete(void* i_this) {
|
||||
return fpcMtd_IsDelete(static_cast<scene_class*>(i_this)->submethod, i_this);
|
||||
}
|
||||
|
||||
/* 8001EBAC-8001EC00 0194EC 0054+00 1/0 0/0 0/0 .text fopScn_Delete__FPv */
|
||||
static s32 fopScn_Delete(void* i_this) {
|
||||
scene_class* scene = static_cast<scene_class*>(i_this);
|
||||
s32 ret = fpcMtd_Delete(scene->mpMtd, scene);
|
||||
static int fopScn_Delete(void* i_this) {
|
||||
scene_class* scene = (scene_class*)i_this;
|
||||
int ret = fpcMtd_Delete(scene->submethod, scene);
|
||||
if (ret == 1) {
|
||||
fopScnTg_QueueTo(&scene->mScnTg);
|
||||
fopScnTg_QueueTo(&scene->scene_tag);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001EC00-8001EC74 019540 0074+00 1/0 0/0 0/0 .text fopScn_Create__FPv */
|
||||
static s32 fopScn_Create(void* i_this) {
|
||||
scene_class* scene = static_cast<scene_class*>(i_this);
|
||||
static int fopScn_Create(void* i_this) {
|
||||
scene_class* scene = (scene_class*)i_this;
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
scene_process_profile_definition* profile =
|
||||
(scene_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
scene->mpMtd = profile->mpMtd;
|
||||
fopScnTg_Init(&scene->mScnTg, i_this);
|
||||
fopScnTg_ToQueue(&scene->mScnTg);
|
||||
scene_process_profile_definition* profile = (scene_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
scene->submethod = profile->submethod;
|
||||
|
||||
fopScnTg_Init(&scene->scene_tag, i_this);
|
||||
fopScnTg_ToQueue(&scene->scene_tag);
|
||||
|
||||
u32* append = (u32*)fpcM_GetAppend(i_this);
|
||||
if (append != NULL) {
|
||||
scene->mBase.mBase.mParameters = *append;
|
||||
scene->base.base.parameters = *append;
|
||||
}
|
||||
}
|
||||
|
||||
return fpcMtd_Create(scene->mpMtd, i_this);
|
||||
return fpcMtd_Create(scene->submethod, i_this);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A38B0-803A38C8 -00001 0014+04 0/0 9/0 0/0 .data g_fopScn_Method */
|
||||
leafdraw_method_class g_fopScn_Method = {
|
||||
(process_method_func)fopScn_Create,
|
||||
@@ -58,4 +57,4 @@ leafdraw_method_class g_fopScn_Method = {
|
||||
(process_method_func)fopScn_Execute,
|
||||
(process_method_func)fopScn_IsDelete,
|
||||
(process_method_func)fopScn_Draw
|
||||
};
|
||||
};
|
||||
|
||||
@@ -9,13 +9,13 @@
|
||||
#include "f_op/f_op_scene_tag.h"
|
||||
|
||||
/* 8001EC74-8001ECB0 0195B4 003C+00 0/0 1/1 0/0 .text fopScnIt_Judge__FPFPvPv_PvPv */
|
||||
void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) {
|
||||
void* fopScnIt_Judge(fop_ScnItFunc i_judgeFunc, void* i_data) {
|
||||
struct {
|
||||
fop_ScnItFunc mFunc;
|
||||
void* mpData;
|
||||
} iterParams;
|
||||
fop_ScnItFunc func;
|
||||
void* data;
|
||||
} userdata;
|
||||
|
||||
iterParams.mFunc = pFunc1;
|
||||
iterParams.mpData = pData;
|
||||
return cLsIt_Judge(&g_fopScnTg_SceneList, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &iterParams);
|
||||
}
|
||||
userdata.func = i_judgeFunc;
|
||||
userdata.data = i_data;
|
||||
return cLsIt_Judge(&g_fopScnTg_SceneList, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &userdata);
|
||||
}
|
||||
|
||||
+13
-15
@@ -12,42 +12,40 @@ scene_class* fopScnM_SearchByID(fpc_ProcID id) {
|
||||
return (scene_class*)fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804505B8-804505C0 000038 0004+04 2/2 0/0 0/0 .sdata l_scnRqID */
|
||||
static u32 l_scnRqID = 0xFFFFFFFF;
|
||||
static fpc_ProcID l_scnRqID = fpcM_ERROR_PROCESS_ID_e;
|
||||
|
||||
/* 8001ECE0-8001ED3C 019620 005C+00 0/0 4/4 1/1 .text fopScnM_ChangeReq__FP11scene_classssUs */
|
||||
int fopScnM_ChangeReq(scene_class* i_scene, s16 param_2, s16 param_3, u16 param_4) {
|
||||
u32 sceneRequestID = fopScnRq_Request(2, i_scene, param_2, 0, param_3, param_4);
|
||||
|
||||
if (sceneRequestID == 0xFFFFFFFF) {
|
||||
int fopScnM_ChangeReq(scene_class* i_scene, s16 i_procName, s16 param_3, u16 param_4) {
|
||||
fpc_ProcID request_id = fopScnRq_Request(2, i_scene, i_procName, NULL, param_3, param_4);
|
||||
if (request_id == fpcM_ERROR_PROCESS_ID_e) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
l_scnRqID = sceneRequestID;
|
||||
l_scnRqID = request_id;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 8001ED3C-8001ED84 01967C 0048+00 0/0 1/1 0/0 .text fopScnM_DeleteReq__FP11scene_class
|
||||
*/
|
||||
fpc_ProcID fopScnM_DeleteReq(scene_class* i_scene) {
|
||||
u32 sceneRequestID = fopScnRq_Request(1, i_scene, 0x7FFF, 0, 0x7FFF, 0);
|
||||
return sceneRequestID != 0xFFFFFFFF;
|
||||
fpc_ProcID request_id = fopScnRq_Request(1, i_scene, 0x7FFF, NULL, 0x7FFF, 0);
|
||||
return request_id != fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
/* 8001ED84-8001EDCC 0196C4 0048+00 0/0 2/2 0/0 .text fopScnM_CreateReq__FssUsUl */
|
||||
int fopScnM_CreateReq(s16 param_1, s16 param_2, u16 param_3, u32 param_4) {
|
||||
u32 sceneRequestID = fopScnRq_Request(0, 0, param_1, (void*)param_4, param_2, param_3);
|
||||
return sceneRequestID != 0xFFFFFFFF;
|
||||
int fopScnM_CreateReq(s16 i_procName, s16 param_2, u16 param_3, u32 i_data) {
|
||||
fpc_ProcID request_id = fopScnRq_Request(0, 0, i_procName, (void*)i_data, param_2, param_3);
|
||||
return request_id != fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
/* 8001EDCC-8001EE10 01970C 0044+00 0/0 1/1 0/0 .text fopScnM_ReRequest__FsUl */
|
||||
u32 fopScnM_ReRequest(s16 param_1, u32 param_2) {
|
||||
if (l_scnRqID == 0xFFFFFFFF) {
|
||||
u32 fopScnM_ReRequest(s16 i_procName, u32 i_data) {
|
||||
if (l_scnRqID == fpcM_ERROR_PROCESS_ID_e) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return fopScnRq_ReRequest(l_scnRqID, param_1, (void*)param_2);
|
||||
return fopScnRq_ReRequest(l_scnRqID, i_procName, (void*)i_data);
|
||||
}
|
||||
|
||||
/* 8001EE10-8001EE30 019750 0020+00 0/0 1/1 0/0 .text fopScnM_Management__Fv */
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
/* 80020548-80020594 01AE88 004C+00 0/0 2/2 0/0 .text fopScnPause_Enable__FP11scene_class
|
||||
*/
|
||||
int fopScnPause_Enable(scene_class* i_scene) {
|
||||
if (i_scene) {
|
||||
if (i_scene != NULL) {
|
||||
fpcM_PauseEnable(i_scene, 1);
|
||||
fpcM_PauseEnable(i_scene, 2);
|
||||
return 1;
|
||||
@@ -21,18 +21,18 @@ int fopScnPause_Enable(scene_class* i_scene) {
|
||||
|
||||
/* 80020594-8002064C 01AED4 00B8+00 0/0 2/2 0/0 .text fopScnPause_Disable__FP11scene_class */
|
||||
int fopScnPause_Disable(scene_class* i_scene) {
|
||||
if (i_scene) {
|
||||
void* tmp = (void*)i_scene->mBase.mBase.mLyTg.mpLayer->mpPcNode;
|
||||
if (i_scene != NULL) {
|
||||
process_node_class* process_node = i_scene->base.base.layer_tag.layer->process_node;
|
||||
|
||||
if (!tmp) {
|
||||
if (process_node == NULL) {
|
||||
fpcM_PauseDisable(i_scene, 1);
|
||||
fpcM_PauseDisable(i_scene, 2);
|
||||
} else if (fpcEx_IsExist((s32)((int*)tmp)[1]) == 1) {
|
||||
if (!fpcM_IsPause(tmp, 1)) {
|
||||
} else if (fpcEx_IsExist(process_node->base.id) == TRUE) {
|
||||
if (!fpcM_IsPause(process_node, 1)) {
|
||||
fpcM_PauseDisable(i_scene, 1);
|
||||
}
|
||||
|
||||
if (!fpcM_IsPause(tmp, 2)) {
|
||||
if (!fpcM_IsPause(process_node, 2)) {
|
||||
fpcM_PauseDisable(i_scene, 2);
|
||||
}
|
||||
}
|
||||
@@ -41,4 +41,4 @@ int fopScnPause_Disable(scene_class* i_scene) {
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
+43
-43
@@ -8,6 +8,7 @@
|
||||
#include "f_op/f_op_scene.h"
|
||||
#include "f_op/f_op_scene_pause.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
/* 8001EE34-8001EE64 019774 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_ClearOverlap__FP19scene_request_class */
|
||||
@@ -22,7 +23,7 @@ static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) {
|
||||
/* 8001EE64-8001EE84 0197A4 0020+00 2/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_Execute__FP19scene_request_class */
|
||||
static cPhs__Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) {
|
||||
return (cPhs__Step)fpcNdRq_Execute(&i_sceneReq->mCrtReq);
|
||||
return (cPhs__Step)fpcNdRq_Execute(&i_sceneReq->create_request);
|
||||
}
|
||||
|
||||
/* 8001EE84-8001EEB4 0197C4 0030+00 1/0 0/0 0/0 .text
|
||||
@@ -45,42 +46,43 @@ static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq)
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CE0-80450CE8 0001E0 0004+04 2/2 0/0 0/0 .sbss l_fopScnRq_IsUsingOfOverlap */
|
||||
static s32 l_fopScnRq_IsUsingOfOverlap;
|
||||
static BOOL l_fopScnRq_IsUsingOfOverlap;
|
||||
|
||||
/* 8001EEE4-8001EF24 019824 0040+00 2/0 0/0 0/0 .text fopScnRq_phase_Done__FP19scene_request_class
|
||||
*/
|
||||
static cPhs__Step fopScnRq_phase_Done(scene_request_class* i_sceneReq) {
|
||||
if (i_sceneReq->mCrtReq.mParameter != 1) {
|
||||
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(i_sceneReq->mCrtReq.mCreatingID));
|
||||
if (i_sceneReq->create_request.parameters != 1) {
|
||||
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(i_sceneReq->create_request.creating_id));
|
||||
}
|
||||
l_fopScnRq_IsUsingOfOverlap = 0;
|
||||
|
||||
l_fopScnRq_IsUsingOfOverlap = FALSE;
|
||||
return cPhs_NEXT_e;
|
||||
}
|
||||
|
||||
/* 8001EF24-8001EF6C 019864 0048+00 1/0 0/0 0/0 .text fopScnRq_Execute__FP19scene_request_class */
|
||||
static void fopScnRq_Execute(scene_request_class* i_sceneReq) {
|
||||
int tmp = cPhs_Do(&i_sceneReq->mReqPhsProcCls, i_sceneReq);
|
||||
switch (tmp) {
|
||||
case 2:
|
||||
int phase_state = cPhs_Do(&i_sceneReq->phase_request, i_sceneReq);
|
||||
|
||||
switch (phase_state) {
|
||||
case cPhs_NEXT_e:
|
||||
fopScnRq_Execute(i_sceneReq);
|
||||
}
|
||||
}
|
||||
|
||||
/* 8001EF6C-8001EFB0 0198AC 0044+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_PostMethod__FPvP19scene_request_class */
|
||||
static int fopScnRq_PostMethod(void* param_1, scene_request_class* i_sceneReq) {
|
||||
if (i_sceneReq->mFadeRequest) {
|
||||
fopScnPause_Enable((scene_class*)param_1);
|
||||
fopOvlpM_ToldAboutID(((scene_class*)param_1)->mBase.mBase.mBsPcId);
|
||||
static int fopScnRq_PostMethod(void* i_scene, scene_request_class* i_sceneReq) {
|
||||
if (i_sceneReq->fade_request != NULL) {
|
||||
fopScnPause_Enable((scene_class*)i_scene);
|
||||
fopOvlpM_ToldAboutID(((scene_class*)i_scene)->base.base.id);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 8001EFB0-8001EFF0 0198F0 0040+00 1/0 0/0 0/0 .text fopScnRq_Cancel__FP19scene_request_class */
|
||||
static int fopScnRq_Cancel(scene_request_class* i_sceneReq) {
|
||||
if (i_sceneReq->mFadeRequest && !fopOvlpM_Cancel()) {
|
||||
if (i_sceneReq->fade_request != NULL && !fopOvlpM_Cancel()) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
@@ -88,20 +90,20 @@ static int fopScnRq_Cancel(scene_request_class* i_sceneReq) {
|
||||
}
|
||||
|
||||
/* 8001EFF0-8001F034 019930 0044+00 1/1 0/0 0/0 .text fopScnRq_FadeRequest__FsUs */
|
||||
static scene_request_class* fopScnRq_FadeRequest(s16 param_1, u16 param_2) {
|
||||
request_base_class* req = NULL;
|
||||
static scene_request_class* fopScnRq_FadeRequest(s16 i_procname, u16 i_peektime) {
|
||||
overlap_request_class* req = NULL;
|
||||
|
||||
if (l_fopScnRq_IsUsingOfOverlap == 0 && (req = fopOvlpM_Request(param_1, param_2), req != NULL))
|
||||
if (!l_fopScnRq_IsUsingOfOverlap && (req = fopOvlpM_Request(i_procname, i_peektime), req != NULL))
|
||||
{
|
||||
l_fopScnRq_IsUsingOfOverlap = 1;
|
||||
l_fopScnRq_IsUsingOfOverlap = TRUE;
|
||||
}
|
||||
|
||||
return (scene_request_class*)req;
|
||||
}
|
||||
|
||||
/* 8001F034-8001F0FC 019974 00C8+00 0/0 3/3 0/0 .text fopScnRq_Request__FiP11scene_classsPvsUs */
|
||||
s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param_4, s16 param_5,
|
||||
u16 param_6) {
|
||||
fpc_ProcID fopScnRq_Request(int i_reqType, scene_class* i_scene, s16 i_procName, void* i_data, s16 i_fadename,
|
||||
u16 i_peektime) {
|
||||
static node_create_request_method_class submethod = {
|
||||
(process_method_func)fopScnRq_Execute,
|
||||
(process_method_func)fopScnRq_Cancel,
|
||||
@@ -131,36 +133,34 @@ s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param
|
||||
NULL,
|
||||
};
|
||||
|
||||
s32 ret;
|
||||
int tmp = 0;
|
||||
cPhs__Handler* phase_handler_table;
|
||||
phase_handler_table = noFadeFase;
|
||||
scene_request_class* pScnReq = (scene_request_class*)fpcNdRq_Request(
|
||||
sizeof(scene_request_class), param_1, (process_node_class*)i_scene, param_3, param_4,
|
||||
scene_request_class* fade_req = NULL;
|
||||
cPhs__Handler* phase_handler = noFadeFase;
|
||||
|
||||
scene_request_class* req = (scene_request_class*)fpcNdRq_Request(
|
||||
sizeof(scene_request_class), i_reqType, (process_node_class*)i_scene, i_procName, i_data,
|
||||
&submethod);
|
||||
|
||||
if (!pScnReq) {
|
||||
ret = -1;
|
||||
} else {
|
||||
if (param_5 != 0x7fff) {
|
||||
phase_handler_table = fadeFase;
|
||||
tmp = (int)fopScnRq_FadeRequest(param_5, param_6);
|
||||
if (!tmp) {
|
||||
fpcNdRq_Delete(&pScnReq->mCrtReq);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
pScnReq->mFadeRequest = tmp;
|
||||
cPhs_Set(&pScnReq->mReqPhsProcCls, phase_handler_table);
|
||||
ret = pScnReq->mCrtReq.mRequestId;
|
||||
if (req == NULL) {
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
|
||||
return ret;
|
||||
if (i_fadename != 0x7FFF) {
|
||||
phase_handler = fadeFase;
|
||||
fade_req = fopScnRq_FadeRequest(i_fadename, i_peektime);
|
||||
if (fade_req == NULL) {
|
||||
fpcNdRq_Delete(&req->create_request);
|
||||
return fpcM_ERROR_PROCESS_ID_e;
|
||||
}
|
||||
}
|
||||
|
||||
req->fade_request = fade_req;
|
||||
cPhs_Set(&req->phase_request, phase_handler);
|
||||
return req->create_request.request_id;
|
||||
}
|
||||
|
||||
/* 8001F0FC-8001F11C 019A3C 0020+00 0/0 1/1 0/0 .text fopScnRq_ReRequest__FUisPv */
|
||||
s32 fopScnRq_ReRequest(fpc_ProcID param_1, s16 param_2, void* param_3) {
|
||||
return fpcNdRq_ReRequest(param_1, param_2, param_3);
|
||||
s32 fopScnRq_ReRequest(fpc_ProcID i_requestId, s16 i_procName, void* i_data) {
|
||||
return fpcNdRq_ReRequest(i_requestId, i_procName, i_data);
|
||||
}
|
||||
|
||||
/* 8001F11C-8001F13C 019A5C 0020+00 0/0 1/1 0/0 .text fopScnRq_Handler__Fv */
|
||||
|
||||
@@ -7,19 +7,18 @@
|
||||
|
||||
/* 8001F13C-8001F15C 019A7C 0020+00 0/0 1/1 0/0 .text fopScnTg_QueueTo__FP15scene_tag_class */
|
||||
void fopScnTg_QueueTo(scene_tag_class* i_sceneTag) {
|
||||
cTg_SingleCut((create_tag_class*)i_sceneTag);
|
||||
cTg_SingleCut(&i_sceneTag->base);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3918-803A3928 000A38 000C+04 1/1 1/1 0/0 .data g_fopScnTg_SceneList */
|
||||
node_list_class g_fopScnTg_SceneList = {NULL, NULL, 0};
|
||||
|
||||
/* 8001F15C-8001F188 019A9C 002C+00 0/0 1/1 0/0 .text fopScnTg_ToQueue__FP15scene_tag_class */
|
||||
void fopScnTg_ToQueue(scene_tag_class* i_sceneTag) {
|
||||
cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)i_sceneTag);
|
||||
cTg_Addition(&g_fopScnTg_SceneList, &i_sceneTag->base);
|
||||
}
|
||||
|
||||
/* 8001F188-8001F1A8 019AC8 0020+00 0/0 1/1 0/0 .text fopScnTg_Init__FP15scene_tag_classPv */
|
||||
void fopScnTg_Init(scene_tag_class* i_sceneTag, void* pData) {
|
||||
cTg_Create((create_tag_class*)i_sceneTag, pData);
|
||||
}
|
||||
void fopScnTg_Init(scene_tag_class* i_sceneTag, void* i_data) {
|
||||
cTg_Create(&i_sceneTag->base, i_data);
|
||||
}
|
||||
|
||||
+10
-12
@@ -13,36 +13,34 @@ void fopVw_Draw(view_class* i_this) {
|
||||
|
||||
/* 8001F1D0-8001F1F8 019B10 0028+00 1/0 0/0 0/0 .text fopVw_Execute__FP10view_class */
|
||||
void fopVw_Execute(view_class* i_this) {
|
||||
fpcMtd_Execute(&i_this->sub_method->mBase, i_this);
|
||||
fpcMtd_Execute(&i_this->sub_method->base, i_this);
|
||||
}
|
||||
|
||||
/* 8001F1F8-8001F220 019B38 0028+00 1/0 0/0 0/0 .text fopVw_IsDelete__FPv */
|
||||
s32 fopVw_IsDelete(void* i_this) {
|
||||
view_class* _this = (view_class*)i_this;
|
||||
return fpcMtd_IsDelete(&_this->sub_method->mBase, _this);
|
||||
view_class* a_this = (view_class*)i_this;
|
||||
return fpcMtd_IsDelete(&a_this->sub_method->base, a_this);
|
||||
}
|
||||
|
||||
/* 8001F220-8001F248 019B60 0028+00 1/0 0/0 0/0 .text fopVw_Delete__FP10view_class */
|
||||
s32 fopVw_Delete(view_class* i_this) {
|
||||
return fpcMtd_Delete(&i_this->sub_method->mBase, i_this);
|
||||
return fpcMtd_Delete(&i_this->sub_method->base, i_this);
|
||||
}
|
||||
|
||||
/* 8001F248-8001F284 019B88 003C+00 1/0 0/0 0/0 .text fopVw_Create__FPv */
|
||||
s32 fopVw_Create(void* i_this) {
|
||||
view_class* _this = (view_class*)i_this;
|
||||
view_class* a_this = (view_class*)i_this;
|
||||
|
||||
view_process_profile_definition* pProf =
|
||||
(view_process_profile_definition*)fpcM_GetProfile(_this);
|
||||
_this->sub_method = pProf->sub_method;
|
||||
_this->field_0xc4 = pProf->unk28;
|
||||
view_process_profile_definition* profile = (view_process_profile_definition*)fpcM_GetProfile(a_this);
|
||||
a_this->sub_method = profile->sub_method;
|
||||
a_this->field_0xc4 = profile->unk_0x28;
|
||||
|
||||
return fpcMtd_Create(&_this->sub_method->mBase, _this);
|
||||
return fpcMtd_Create(&a_this->sub_method->base, a_this);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3928-803A3940 -00001 0014+04 0/0 2/0 0/0 .data g_fopVw_Method */
|
||||
leafdraw_method_class g_fopVw_Method = {
|
||||
(process_method_func)fopVw_Create, (process_method_func)fopVw_Delete,
|
||||
(process_method_func)fopVw_Execute, (process_method_func)fopVw_IsDelete,
|
||||
(process_method_func)fopVw_Draw,
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user