mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-09-07 02:10:14 -04:00
d_a_dmidna OK / f_op + misc cleanup (#276)
* some f_op / d_insect cleanup * rename some vars according to tww * d_a_dmidna OK * remove asm
This commit is contained in:
+92
-89
@@ -22,8 +22,8 @@ fopAc_ac_c::~fopAc_ac_c() {}
|
||||
static int g_fopAc_type;
|
||||
|
||||
/* 80018CE0-80018D0C 013620 002C+00 0/0 12/12 391/391 .text fopAc_IsActor__FPv */
|
||||
s32 fopAc_IsActor(void* actor) {
|
||||
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)actor)->mAcType);
|
||||
s32 fopAc_IsActor(void* i_this) {
|
||||
return fpcM_IsJustType(g_fopAc_type, ((fopAc_ac_c*)i_this)->mAcType);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -31,61 +31,64 @@ s32 fopAc_IsActor(void* actor) {
|
||||
u32 fopAc_ac_c::stopStatus;
|
||||
|
||||
/* 80018D0C-80018DD8 01364C 00CC+00 1/0 0/0 0/0 .text fopAc_Draw__FPv */
|
||||
static int fopAc_Draw(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
static int fopAc_Draw(void* i_this) {
|
||||
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int ret = 1;
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
if ((dComIfGp_event_moveApproval(ac) == 2 ||
|
||||
(!fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x100) || !fopAcM_cullingCheck(ac)))) &&
|
||||
!fopAcM_checkStatus(ac, 0x21000000))
|
||||
if ((dComIfGp_event_moveApproval(_this) == 2 ||
|
||||
(!fopAcM_checkStatus(_this, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(_this, 0x100) || !fopAcM_cullingCheck(_this)))) &&
|
||||
!fopAcM_checkStatus(_this, 0x21000000))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 4);
|
||||
ret = fpcLf_DrawMethod((leafdraw_method_class*)ac->mSubMtd, ac);
|
||||
fopAcM_OffCondition(_this, 4);
|
||||
ret = fpcLf_DrawMethod((leafdraw_method_class*)_this->mSubMtd, _this);
|
||||
} else {
|
||||
fopAcM_OnCondition(ac, 4);
|
||||
fopAcM_OnCondition(_this, 4);
|
||||
}
|
||||
|
||||
fopAcM_OffStatus(ac, 0x1000000);
|
||||
fopAcM_OffStatus(_this, 0x1000000);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 80018DD8-80018F78 013718 01A0+00 1/0 0/0 0/0 .text fopAc_Execute__FPv */
|
||||
static int fopAc_Execute(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
static int fopAc_Execute(void* i_this) {
|
||||
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int ret = 1;
|
||||
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
|
||||
if (!dComIfA_PauseCheck()) {
|
||||
daSus_c::check(ac);
|
||||
ac->mEvtInfo.beforeProc();
|
||||
s32 move = dComIfGp_event_moveApproval(actor);
|
||||
fopAcM_OffStatus(ac, 0x40000000);
|
||||
daSus_c::check(_this);
|
||||
_this->mEvtInfo.beforeProc();
|
||||
s32 move = dComIfGp_event_moveApproval(i_this);
|
||||
fopAcM_OffStatus(_this, 0x40000000);
|
||||
|
||||
if (!fopAcM_checkStatus(ac, 0x20000000) &&
|
||||
(move == 2 || (move != 0 && !fopAcM_checkStatus(ac, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(ac, 0x80) || !fopAcM_CheckCondition(ac, 4)))))
|
||||
if (!fopAcM_checkStatus(_this, 0x20000000) &&
|
||||
(move == 2 ||
|
||||
(move != 0 && !fopAcM_checkStatus(_this, fopAc_ac_c::stopStatus) &&
|
||||
(!fopAcM_checkStatus(_this, 0x80) || !fopAcM_CheckCondition(_this, 4)))))
|
||||
{
|
||||
fopAcM_OffCondition(ac, 2);
|
||||
ac->next = ac->current;
|
||||
ret = fpcMtd_Execute((process_method_class*)ac->mSubMtd, ac);
|
||||
fopAcM_OffCondition(_this, 2);
|
||||
_this->next = _this->current;
|
||||
ret = fpcMtd_Execute((process_method_class*)_this->mSubMtd, _this);
|
||||
} else {
|
||||
ac->mEvtInfo.suspendProc(ac);
|
||||
fopAcM_OnCondition(ac, 2);
|
||||
_this->mEvtInfo.suspendProc(_this);
|
||||
fopAcM_OnCondition(_this, 2);
|
||||
}
|
||||
|
||||
if (fopAcM_checkStatus(ac, 0x20) && ac->orig.pos.y - ac->current.pos.y > 5000.0f) {
|
||||
fopAcM_delete(ac);
|
||||
if (fopAcM_checkStatus(_this, 0x20) &&
|
||||
_this->orig.pos.y - _this->current.pos.y > 5000.0f)
|
||||
{
|
||||
fopAcM_delete(_this);
|
||||
}
|
||||
|
||||
if (ac->current.pos.y < FLOAT_MIN) {
|
||||
ac->current.pos.y = FLOAT_MIN;
|
||||
if (_this->current.pos.y < FLOAT_MIN) {
|
||||
_this->current.pos.y = FLOAT_MIN;
|
||||
}
|
||||
|
||||
dKy_depth_dist_set(ac);
|
||||
dKy_depth_dist_set(_this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -93,28 +96,28 @@ static int fopAc_Execute(void* actor) {
|
||||
}
|
||||
|
||||
/* 80018F78-80018FCC 0138B8 0054+00 1/0 0/0 0/0 .text fopAc_IsDelete__FPv */
|
||||
static int fopAc_IsDelete(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
static int fopAc_IsDelete(void* i_this) {
|
||||
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int isDelete = fpcMtd_IsDelete((process_method_class*)ac->mSubMtd, ac);
|
||||
int isDelete = fpcMtd_IsDelete((process_method_class*)_this->mSubMtd, _this);
|
||||
if (isDelete == true) {
|
||||
fopDwTg_DrawQTo(&ac->mDwTg);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
}
|
||||
|
||||
return isDelete;
|
||||
}
|
||||
|
||||
/* 80018FCC-8001904C 01390C 0080+00 1/0 0/0 0/0 .text fopAc_Delete__FPv */
|
||||
static int fopAc_Delete(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
static int fopAc_Delete(void* i_this) {
|
||||
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
|
||||
|
||||
int deleted = fpcMtd_Delete((process_method_class*)ac->mSubMtd, ac);
|
||||
int deleted = fpcMtd_Delete((process_method_class*)_this->mSubMtd, _this);
|
||||
if (deleted == true) {
|
||||
fopAcTg_ActorQTo(&ac->mAcTg);
|
||||
fopDwTg_DrawQTo(&ac->mDwTg);
|
||||
fopAcM_DeleteHeap(ac);
|
||||
fopAcTg_ActorQTo(&_this->mAcTg);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
fopAcM_DeleteHeap(_this);
|
||||
|
||||
dDemo_actor_c* demoAc = dDemo_c::getActor(ac->mDemoActorId);
|
||||
dDemo_actor_c* demoAc = dDemo_c::getActor(_this->mDemoActorId);
|
||||
if (demoAc != NULL) {
|
||||
demoAc->setActor(NULL);
|
||||
}
|
||||
@@ -124,53 +127,53 @@ static int fopAc_Delete(void* actor) {
|
||||
}
|
||||
|
||||
/* 8001904C-800193FC 01398C 03B0+00 1/0 0/0 0/0 .text fopAc_Create__FPv */
|
||||
static int fopAc_Create(void* actor) {
|
||||
fopAc_ac_c* ac = (fopAc_ac_c*)actor;
|
||||
static int fopAc_Create(void* i_this) {
|
||||
fopAc_ac_c* _this = (fopAc_ac_c*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(actor)) {
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
actor_process_profile_definition* profile =
|
||||
(actor_process_profile_definition*)fpcM_GetProfile(actor);
|
||||
ac->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
|
||||
ac->mSubMtd = (profile_method_class*)profile->mSubMtd;
|
||||
(actor_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
_this->mAcType = fpcBs_MakeOfType(&g_fopAc_type);
|
||||
_this->mSubMtd = (profile_method_class*)profile->mSubMtd;
|
||||
|
||||
fopAcTg_Init(&ac->mAcTg, ac);
|
||||
fopAcTg_ToActorQ(&ac->mAcTg);
|
||||
fopDwTg_Init(&ac->mDwTg, ac);
|
||||
fopAcTg_Init(&_this->mAcTg, _this);
|
||||
fopAcTg_ToActorQ(&_this->mAcTg);
|
||||
fopDwTg_Init(&_this->mDwTg, _this);
|
||||
|
||||
ac->mStatus = profile->mStatus;
|
||||
ac->mGroup = profile->mActorType;
|
||||
ac->mCullType = profile->mCullType;
|
||||
_this->mStatus = profile->mStatus;
|
||||
_this->mGroup = profile->mActorType;
|
||||
_this->mCullType = profile->mCullType;
|
||||
|
||||
fopAcM_prm_class* append = fopAcM_GetAppend(ac);
|
||||
fopAcM_prm_class* append = fopAcM_GetAppend(_this);
|
||||
if (append != NULL) {
|
||||
fopAcM_SetParam(ac, append->mParameter);
|
||||
ac->orig.pos = append->mPos;
|
||||
ac->orig.angle = append->mAngle;
|
||||
ac->shape_angle = append->mAngle;
|
||||
ac->mParentPcId = append->mParentPId;
|
||||
ac->mSubtype = append->mSubtype;
|
||||
ac->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
|
||||
append->mScale[2] * 0.1f);
|
||||
ac->mSetID = append->mEnemyNo;
|
||||
ac->orig.roomNo = append->mRoomNo;
|
||||
fopAcM_SetParam(_this, append->mParameter);
|
||||
_this->orig.pos = append->mPos;
|
||||
_this->orig.angle = append->mAngle;
|
||||
_this->shape_angle = append->mAngle;
|
||||
_this->mParentPcId = append->mParentPId;
|
||||
_this->mSubtype = append->mSubtype;
|
||||
_this->mScale.set(append->mScale[0] * 0.1f, append->mScale[1] * 0.1f,
|
||||
append->mScale[2] * 0.1f);
|
||||
_this->mSetID = append->mEnemyNo;
|
||||
_this->orig.roomNo = append->mRoomNo;
|
||||
}
|
||||
|
||||
ac->next = ac->orig;
|
||||
ac->current = ac->orig;
|
||||
ac->mEyePos = ac->orig.pos;
|
||||
ac->mMaxFallSpeed = -100.0f;
|
||||
ac->mAttentionInfo.field_0x0[0] = 1;
|
||||
ac->mAttentionInfo.field_0x0[1] = 2;
|
||||
ac->mAttentionInfo.field_0x0[2] = 3;
|
||||
ac->mAttentionInfo.field_0x0[3] = 5;
|
||||
ac->mAttentionInfo.field_0x4[0] = 6;
|
||||
ac->mAttentionInfo.field_0x4[3] = 14;
|
||||
ac->mAttentionInfo.field_0x4[1] = 15;
|
||||
ac->mAttentionInfo.field_0x4[2] = 15;
|
||||
ac->mAttentionInfo.field_0x8[0] = 51;
|
||||
ac->mAttentionInfo.mPosition = ac->orig.pos;
|
||||
ac->mAttentionInfo.field_0xa = 30;
|
||||
dKy_tevstr_init(&ac->mTevStr, ac->orig.roomNo, -1);
|
||||
_this->next = _this->orig;
|
||||
_this->current = _this->orig;
|
||||
_this->mEyePos = _this->orig.pos;
|
||||
_this->mMaxFallSpeed = -100.0f;
|
||||
_this->mAttentionInfo.field_0x0[0] = 1;
|
||||
_this->mAttentionInfo.field_0x0[1] = 2;
|
||||
_this->mAttentionInfo.field_0x0[2] = 3;
|
||||
_this->mAttentionInfo.field_0x0[3] = 5;
|
||||
_this->mAttentionInfo.field_0x4[0] = 6;
|
||||
_this->mAttentionInfo.field_0x4[3] = 14;
|
||||
_this->mAttentionInfo.field_0x4[1] = 15;
|
||||
_this->mAttentionInfo.field_0x4[2] = 15;
|
||||
_this->mAttentionInfo.field_0x8[0] = 51;
|
||||
_this->mAttentionInfo.mPosition = _this->orig.pos;
|
||||
_this->mAttentionInfo.field_0xa = 30;
|
||||
dKy_tevstr_init(&_this->mTevStr, _this->orig.roomNo, -1);
|
||||
|
||||
int roomNo = dComIfGp_roomControl_getStayNo();
|
||||
if (roomNo >= 0) {
|
||||
@@ -178,22 +181,22 @@ static int fopAc_Create(void* actor) {
|
||||
}
|
||||
|
||||
dStage_FileList_dt_c* filelist = NULL;
|
||||
if (ac->orig.roomNo >= 0) {
|
||||
if (_this->orig.roomNo >= 0) {
|
||||
filelist =
|
||||
dComIfGp_roomControl_getStatusRoomDt(ac->orig.roomNo)->mRoomDt.getFileListInfo();
|
||||
dComIfGp_roomControl_getStatusRoomDt(_this->orig.roomNo)->mRoomDt.getFileListInfo();
|
||||
}
|
||||
|
||||
if (filelist != NULL) {
|
||||
if (!dStage_FileList_dt_GetEnemyAppear1Flag(filelist)) {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
if (sw != 0xFF && dComIfGs_isSwitch(sw, _this->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
} else {
|
||||
u32 sw = dStage_FileList_dt_GetBitSw(filelist);
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, ac->orig.roomNo) &&
|
||||
if (sw != 0xFF && !dComIfGs_isSwitch(sw, _this->orig.roomNo) &&
|
||||
profile->mActorType == 2)
|
||||
{
|
||||
return cPhs_ERROR_e;
|
||||
@@ -202,12 +205,12 @@ static int fopAc_Create(void* actor) {
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create((process_method_class*)ac->mSubMtd, ac);
|
||||
int ret = fpcMtd_Create((process_method_class*)_this->mSubMtd, _this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(ac);
|
||||
fopDwTg_ToDrawQ(&ac->mDwTg, priority);
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
|
||||
} else if (ret == cPhs_ERROR_e) {
|
||||
fopAcM_OnCondition(ac, 0x10);
|
||||
fopAcM_OnCondition(_this, 0x10);
|
||||
}
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_actor_iter
|
||||
//
|
||||
/**
|
||||
* f_op_actor_iter.cpp
|
||||
* Actor Process Iterator
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_actor_iter.h"
|
||||
#include "SSystem/SComponent/c_list_iter.h"
|
||||
#include "SSystem/SComponent/c_tag_iter.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
|
||||
//
|
||||
@@ -22,6 +20,7 @@ int fopAcIt_Executor(fopAcIt_ExecutorFunc pExecFunc, void* pData) {
|
||||
} userData;
|
||||
userData.func = pExecFunc;
|
||||
userData.data = pData;
|
||||
|
||||
return cLsIt_Method(&g_fopAcTg_Queue, (cNdIt_MethodFunc)cTgIt_MethodCall, &userData);
|
||||
}
|
||||
|
||||
@@ -34,5 +33,6 @@ void* fopAcIt_Judge(fopAcIt_JudgeFunc pJudgeFunc, void* pData) {
|
||||
} userData;
|
||||
userData.func = pJudgeFunc;
|
||||
userData.data = pData;
|
||||
|
||||
return cLsIt_Judge(&g_fopAcTg_Queue, (cNdIt_JudgeFunc)cTgIt_JudgeFilter, &userData);
|
||||
}
|
||||
|
||||
+10
-17
@@ -1,33 +1,26 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_actor_tag
|
||||
//
|
||||
/**
|
||||
* f_op_actor_tag.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_actor_tag.h"
|
||||
#include "SSystem/SComponent/c_tag.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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* c) {
|
||||
return cTg_Addition(&g_fopAcTg_Queue, c);
|
||||
u32 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* pTag) {
|
||||
return cTg_SingleCutFromTree(pTag);
|
||||
u32 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* pTag, void* data) {
|
||||
cTg_Create(pTag, data);
|
||||
u32 fopAcTg_Init(create_tag_class* i_createTag, void* data) {
|
||||
cTg_Create(i_createTag, data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+29
-35
@@ -1,33 +1,28 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_camera
|
||||
//
|
||||
/**
|
||||
* f_op_camera.cpp
|
||||
* Camera Process Framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_camera.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
/* 8001E140-8001E180 018A80 0040+00 1/0 0/0 0/0 .text fopCam_Draw__FP12camera_class */
|
||||
static s32 fopCam_Draw(camera_class* pCamera) {
|
||||
static s32 fopCam_Draw(camera_class* i_this) {
|
||||
s32 cam_proc = 1;
|
||||
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
cam_proc = fpcLf_DrawMethod(pCamera->mpMtd, pCamera);
|
||||
cam_proc = fpcLf_DrawMethod(i_this->mpMtd, i_this);
|
||||
}
|
||||
return cam_proc;
|
||||
}
|
||||
|
||||
/* 8001E180-8001E1C8 018AC0 0048+00 1/0 0/0 0/0 .text fopCam_Execute__FP12camera_class */
|
||||
static int fopCam_Execute(camera_class* pCamera) {
|
||||
static int fopCam_Execute(camera_class* i_this) {
|
||||
int ret;
|
||||
|
||||
if (!dComIfGp_isPauseFlag() && dScnPly_c::isPause()) {
|
||||
ret = fpcMtd_Execute((process_method_class*)pCamera->mpMtd, pCamera);
|
||||
ret = fpcMtd_Execute((process_method_class*)i_this->mpMtd, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -35,45 +30,46 @@ static int fopCam_Execute(camera_class* pCamera) {
|
||||
|
||||
/* 8001E1C8-8001E21C 018B08 0054+00 1/0 0/0 0/0 .text fopCam_IsDelete__FP12camera_class
|
||||
*/
|
||||
int fopCam_IsDelete(camera_class* pCamera) {
|
||||
int delete_stat = fpcMtd_IsDelete((process_method_class*)pCamera->mpMtd, pCamera);
|
||||
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(&pCamera->mCreateTag);
|
||||
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* pCamera) {
|
||||
int delete_stat = fpcMtd_Delete((process_method_class*)pCamera->mpMtd, pCamera);
|
||||
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(&pCamera->mCreateTag);
|
||||
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_actorP) {
|
||||
camera_class* camera = (camera_class*)i_actorP;
|
||||
static int fopCam_Create(void* i_this) {
|
||||
camera_class* _this = (camera_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(i_actorP)) {
|
||||
camera_process_profile_definition* profile = (camera_process_profile_definition*) fpcM_GetProfile(i_actorP);
|
||||
camera->mpMtd = profile->mSubMtd;
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
camera_process_profile_definition* profile =
|
||||
(camera_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
_this->mpMtd = profile->mSubMtd;
|
||||
|
||||
fopDwTg_Init(&camera->mCreateTag, camera);
|
||||
u32* append = (u32*)fpcM_GetAppend(camera);
|
||||
fopDwTg_Init(&_this->mCreateTag, _this);
|
||||
u32* append = (u32*)fpcM_GetAppend(_this);
|
||||
|
||||
if (append) {
|
||||
fpcM_SetParam(camera, *append);
|
||||
fpcM_SetParam(_this, *append);
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&camera->mpMtd->mBase, camera);
|
||||
int ret = fpcMtd_Create(&_this->mpMtd->mBase, _this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(camera);
|
||||
fopDwTg_ToDrawQ(&camera->mCreateTag, priority);
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mCreateTag, priority);
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -82,9 +78,7 @@ static int fopCam_Create(void* i_actorP) {
|
||||
/* ############################################################################################## */
|
||||
/* 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
|
||||
(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,
|
||||
};
|
||||
|
||||
@@ -1,38 +1,28 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_camera_mng
|
||||
//
|
||||
/**
|
||||
* f_op_camera_mng.cpp
|
||||
* Camera Process Manager
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_camera_mng.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_pc/f_pc_stdcreate_req.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803F1DD8-803F1DE8 01EAF8 0010+00 1/1 0/0 0/0 .bss l_fopCamM_id */
|
||||
static u32 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* pCamera) {
|
||||
return pCamera->mBase.mParameters;
|
||||
u32 fopCamM_GetParam(camera_class* i_this) {
|
||||
return i_this->mBase.mParameters;
|
||||
}
|
||||
|
||||
/* 8001E310-8001E374 018C50 0064+00 0/0 1/1 0/0 .text fopCamM_Create__FisPv */
|
||||
u32 fopCamM_Create(int i_cameraIdx, s16 pProcName, void* param_3) {
|
||||
l_fopCamM_id[i_cameraIdx] = fpcSCtRq_Request(fpcLy_CurrentLayer(), pProcName, 0, 0, param_3);
|
||||
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);
|
||||
return l_fopCamM_id[i_cameraIdx];
|
||||
}
|
||||
|
||||
/* 8001E374-8001E378 018CB4 0004+00 0/0 1/1 0/0 .text fopCamM_Management__Fv */
|
||||
void fopCamM_Management() {
|
||||
/* empty function */
|
||||
}
|
||||
void fopCamM_Management() {}
|
||||
|
||||
/* 8001E378-8001E37C 018CB8 0004+00 0/0 1/1 0/0 .text fopCamM_Init__Fv */
|
||||
void fopCamM_Init() {
|
||||
/* empty function */
|
||||
}
|
||||
void fopCamM_Init() {}
|
||||
|
||||
+11
-14
@@ -1,37 +1,34 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_draw_iter
|
||||
//
|
||||
/**
|
||||
* f_op_draw_iter.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_draw_iter.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450CF8-80450D00 0001F8 0004+04 2/2 0/0 0/0 .sbss l_fopDwTg_id */
|
||||
static s32 l_fopDwTg_id;
|
||||
|
||||
/* 80020400-80020444 01AD40 0044+00 2/2 0/0 0/0 .text fopDwIt_GetTag__Fv */
|
||||
create_tag_class* fopDwIt_GetTag(void) {
|
||||
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;
|
||||
|
||||
if (tmp != NULL) {
|
||||
return (create_tag_class*)tmp;
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* 80020444-80020480 01AD84 003C+00 0/0 1/1 0/0 .text fopDwIt_Begin__Fv */
|
||||
create_tag_class* fopDwIt_Begin(void) {
|
||||
create_tag_class* fopDwIt_Begin() {
|
||||
create_tag_class* createTagClass = (create_tag_class*)g_fopDwTg_Queue.mpLists->mpHead;
|
||||
l_fopDwTg_id = 0;
|
||||
|
||||
if (createTagClass) {
|
||||
return createTagClass;
|
||||
}
|
||||
@@ -40,8 +37,8 @@ create_tag_class* fopDwIt_Begin(void) {
|
||||
|
||||
/* 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* pCreateTag) {
|
||||
create_tag_class* createTagClass = (create_tag_class*)pCreateTag->mpNode.mpNextNode;
|
||||
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();
|
||||
}
|
||||
|
||||
+11
-16
@@ -1,33 +1,28 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_draw_tag
|
||||
//
|
||||
/**
|
||||
* f_op_draw_tag.cpp
|
||||
*
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_draw_tag.h"
|
||||
#include "dol2asm.h"
|
||||
#include "global.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 804505D0-804505D8 000050 0008+00 2/2 2/2 0/0 .sdata g_fopDwTg_Queue */
|
||||
node_lists_tree_class g_fopDwTg_Queue = {NULL, 0};
|
||||
|
||||
/* 800204AC-800204D4 01ADEC 0028+00 0/0 4/4 2/2 .text fopDwTg_ToDrawQ__FP16create_tag_classi */
|
||||
void fopDwTg_ToDrawQ(create_tag_class* pCreateTagClass, int priority) {
|
||||
cTg_AdditionToTree(&g_fopDwTg_Queue, priority, pCreateTagClass);
|
||||
void fopDwTg_ToDrawQ(create_tag_class* i_createTag, int i_priority) {
|
||||
cTg_AdditionToTree(&g_fopDwTg_Queue, i_priority, i_createTag);
|
||||
}
|
||||
|
||||
/* 800204D4-800204F4 01AE14 0020+00 0/0 8/8 3/3 .text fopDwTg_DrawQTo__FP16create_tag_class */
|
||||
void fopDwTg_DrawQTo(create_tag_class* pCreateTagClass) {
|
||||
cTg_SingleCutFromTree(pCreateTagClass);
|
||||
void fopDwTg_DrawQTo(create_tag_class* i_createTag) {
|
||||
cTg_SingleCutFromTree(i_createTag);
|
||||
}
|
||||
|
||||
/* 800204F4-80020518 01AE34 0024+00 0/0 4/4 0/0 .text fopDwTg_Init__FP16create_tag_classPv */
|
||||
bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor) {
|
||||
cTg_Create(pCreateTagClass, pActor);
|
||||
bool fopDwTg_Init(create_tag_class* i_createTag, void* i_process) {
|
||||
cTg_Create(i_createTag, i_process);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -36,6 +31,6 @@ bool fopDwTg_Init(create_tag_class* pCreateTagClass, void* pActor) {
|
||||
static node_list_class lists[1000];
|
||||
|
||||
/* 80020518-80020548 01AE58 0030+00 0/0 1/1 0/0 .text fopDwTg_CreateQueue__Fv */
|
||||
void fopDwTg_CreateQueue(void) {
|
||||
void fopDwTg_CreateQueue() {
|
||||
cTr_Create(&g_fopDwTg_Queue, lists, ARRAY_SIZE(lists));
|
||||
}
|
||||
|
||||
+42
-77
@@ -1,79 +1,58 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_kankyo
|
||||
//
|
||||
/**
|
||||
* f_op_kankyo.cpp
|
||||
* Environment process framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_kankyo.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "d/d_procname.h"
|
||||
|
||||
// //
|
||||
// // External References:
|
||||
// //
|
||||
|
||||
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
|
||||
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
|
||||
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fpcBs_MakeOfType__FPi();
|
||||
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
/* 8001F284-8001F2C0 019BC4 003C+00 1/0 0/0 0/0 .text fopKy_Draw__FPv */
|
||||
static int fopKy_Draw(void* param_0) {
|
||||
static int fopKy_Draw(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* env = (kankyo_class*)param_0;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
|
||||
if (!dComIfGp_isPauseFlag()) {
|
||||
ret = fpcLf_DrawMethod(env->mSubMtd, param_0);
|
||||
ret = fpcLf_DrawMethod(_this->mSubMtd, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001F2C0-8001F314 019C00 0054+00 1/0 0/0 0/0 .text fopKy_Execute__FPv */
|
||||
static int fopKy_Execute(void* param_0) {
|
||||
static int fopKy_Execute(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* env = (kankyo_class*)param_0;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
|
||||
if (dScnPly_c::isPause() && (!dComIfGp_isPauseFlag() || fpcM_GetName(param_0) == PROC_ENVSE)) {
|
||||
ret = fpcMtd_Execute(&env->mSubMtd->mBase,param_0);
|
||||
if (dScnPly_c::isPause() && (!dComIfGp_isPauseFlag() || fpcM_GetName(i_this) == PROC_ENVSE)) {
|
||||
ret = fpcMtd_Execute(&_this->mSubMtd->mBase, i_this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001F314-8001F368 019C54 0054+00 1/0 0/0 0/0 .text fopKy_IsDelete__FPv */
|
||||
static int fopKy_IsDelete(void* param_0) {
|
||||
static int fopKy_IsDelete(void* i_this) {
|
||||
int ret;
|
||||
kankyo_class* env = (kankyo_class*)param_0;
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
|
||||
ret = fpcMtd_IsDelete(&env->mSubMtd->mBase,env);
|
||||
ret = fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
|
||||
if (ret == 1) {
|
||||
fopDwTg_DrawQTo(&env->mDwTg);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
/* 8001F368-8001F3B4 019CA8 004C+00 1/0 0/0 0/0 .text fopKy_Delete__FPv */
|
||||
static int fopKy_Delete(void* param_0) {
|
||||
kankyo_class* env = (kankyo_class*)param_0;
|
||||
static int fopKy_Delete(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
|
||||
int ret = fpcMtd_Delete(&_this->mSubMtd->mBase, _this);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
|
||||
int ret = fpcMtd_Delete(&env->mSubMtd->mBase,env);
|
||||
fopDwTg_DrawQTo(&env->mDwTg);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -82,53 +61,39 @@ static int fopKy_Delete(void* param_0) {
|
||||
static int fopKy_KANKYO_TYPE;
|
||||
|
||||
/* 8001F3B4-8001F488 019CF4 00D4+00 1/0 0/0 0/0 .text fopKy_Create__FPv */
|
||||
#ifdef NONMATCHING
|
||||
// regalloc
|
||||
static int fopKy_Create(void* param_0) {
|
||||
kankyo_class* env = (kankyo_class*)param_0;
|
||||
static int fopKy_Create(void* i_this) {
|
||||
kankyo_class* _this = (kankyo_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(param_0)) {
|
||||
// TODO: This should be kankyo_process_profile_definition
|
||||
leaf_process_profile_definition* profile = (leaf_process_profile_definition*) fpcM_GetProfile(param_0);
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
kankyo_process_profile_definition* profile =
|
||||
(kankyo_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
|
||||
env->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
env->mSubMtd = profile->mBase.mMethods;
|
||||
_this->mBsType = fpcBs_MakeOfType(&fopKy_KANKYO_TYPE);
|
||||
_this->mSubMtd = profile->mSubMtd;
|
||||
|
||||
fopDwTg_Init((create_tag_class*)&env->mDwTg, env);
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(env);
|
||||
fopDwTg_Init(&_this->mDwTg, _this);
|
||||
fopKyM_prm_class* append = (fopKyM_prm_class*)fopKyM_GetAppend(_this);
|
||||
|
||||
if (append) {
|
||||
env->mPos = append->mPos;
|
||||
env->mScale = append->mScale;
|
||||
env->mParam = append->mParam;
|
||||
if (append != NULL) {
|
||||
_this->mPos = append->mPos;
|
||||
_this->mScale = append->mScale;
|
||||
_this->mParam = append->mParam;
|
||||
}
|
||||
}
|
||||
|
||||
int ret = fpcMtd_Create(&env->mSubMtd->mBase, env);
|
||||
int ret = fpcMtd_Create(&_this->mSubMtd->mBase, _this);
|
||||
if (ret == cPhs_COMPLEATE_e) {
|
||||
s16 priority = fpcM_DrawPriority(env);
|
||||
fopDwTg_ToDrawQ((create_tag_class*)&env->mDwTg,priority);
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopKy_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_kankyo/fopKy_Create__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3940-803A3958 -00001 0014+04 0/0 7/0 0/0 .data g_fopKy_Method */
|
||||
void* g_fopKy_Method[5] = {
|
||||
fopKy_Create,
|
||||
fopKy_Delete,
|
||||
fopKy_Execute,
|
||||
fopKy_IsDelete,
|
||||
fopKy_Draw
|
||||
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,
|
||||
};
|
||||
|
||||
@@ -1,15 +1,13 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_kankyo_mng
|
||||
//
|
||||
/**
|
||||
* f_op_kankyo.cpp
|
||||
* Environment process manager
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_kankyo_mng.h"
|
||||
#include "SSystem/SComponent/c_lib.h"
|
||||
#include "SSystem/SComponent/c_malloc.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/d_procname.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
/* 8001F660-8001F6B8 019FA0 0058+00 2/2 0/0 0/0 .text fopKyM_CreateAppend__Fv */
|
||||
static fopKyM_prm_class* fopKyM_CreateAppend() {
|
||||
@@ -24,91 +22,92 @@ static fopKyM_prm_class* fopKyM_CreateAppend() {
|
||||
}
|
||||
|
||||
/* 8001F6B8-8001F748 019FF8 0090+00 2/2 0/0 0/0 .text createAppend__FiP4cXyzP4cXyz */
|
||||
static fopKyM_prm_class* createAppend(int param, cXyz* pPos, cXyz* pScale) {
|
||||
static fopKyM_prm_class* createAppend(int i_param, cXyz* i_pos, cXyz* i_scale) {
|
||||
fopKyM_prm_class* params = fopKyM_CreateAppend();
|
||||
|
||||
if (params == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (pPos != NULL) {
|
||||
params->mPos = *pPos;
|
||||
if (i_pos != NULL) {
|
||||
params->mPos = *i_pos;
|
||||
}
|
||||
|
||||
if (pScale != NULL) {
|
||||
params->mScale = *pScale;
|
||||
if (i_scale != NULL) {
|
||||
params->mScale = *i_scale;
|
||||
}
|
||||
params->mParam = param;
|
||||
params->mParam = i_param;
|
||||
|
||||
return params;
|
||||
}
|
||||
|
||||
/* 8001F748-8001F768 01A088 0020+00 0/0 3/3 1/1 .text fopKyM_Delete__FPv */
|
||||
void fopKyM_Delete(void* process) {
|
||||
fpcM_Delete(process);
|
||||
void fopKyM_Delete(void* i_process) {
|
||||
fpcM_Delete(i_process);
|
||||
}
|
||||
|
||||
/* 8001F768-8001F7B8 01A0A8 0050+00 2/2 0/0 0/0 .text fopKyM_Create__FsPFPv_iPv */
|
||||
static int fopKyM_Create(s16 procName, fopKyM_CreateFunc createFunc, void* process) {
|
||||
return fpcM_Create(procName, createFunc, process);
|
||||
static int fopKyM_Create(s16 i_procName, fopKyM_CreateFunc i_createFunc, void* i_process) {
|
||||
return fpcM_Create(i_procName, i_createFunc, i_process);
|
||||
}
|
||||
|
||||
/* 8001F7B8-8001F818 01A0F8 0060+00 0/0 3/3 1/1 .text fopKyM_create__FsiP4cXyzP4cXyzPFPv_i */
|
||||
int fopKyM_create(s16 procName, int param, cXyz* pPos, cXyz* pScale,
|
||||
fopKyM_CreateFunc createFunc) {
|
||||
fopKyM_prm_class* params = createAppend(param, pPos, pScale);
|
||||
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;
|
||||
}
|
||||
|
||||
return fopKyM_Create(procName, createFunc, params);
|
||||
return fopKyM_Create(i_procName, i_createFunc, params);
|
||||
}
|
||||
|
||||
/* 8001F818-8001F87C 01A158 0064+00 0/0 1/1 0/0 .text fopKyM_fastCreate__FsiP4cXyzP4cXyzPFPv_i */
|
||||
base_process_class* fopKyM_fastCreate(s16 procName, int param, cXyz* pPos, cXyz* pScale,
|
||||
fopKyM_CreateFunc createFunc) {
|
||||
fopKyM_prm_class* params = createAppend(param, pPos, pScale);
|
||||
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) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return fpcM_FastCreate(procName, createFunc, NULL, params);
|
||||
return fpcM_FastCreate(i_procName, i_createFunc, NULL, params);
|
||||
}
|
||||
|
||||
/* 8001F87C-8001F90C 01A1BC 0090+00 0/0 6/6 37/37 .text fopKyM_createWpillar__FPC4cXyzfi
|
||||
*/
|
||||
int fopKyM_createWpillar(cXyz const* pPos, f32 scale, int param) {
|
||||
int fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param) {
|
||||
fopKyM_prm_class* params = fopKyM_CreateAppend();
|
||||
|
||||
if (params == NULL) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
params->mPos = *pPos;
|
||||
params->mPos = *i_pos;
|
||||
params->mScale.x = scale;
|
||||
params->mScale.y = scale;
|
||||
params->mScale.z = scale;
|
||||
params->mParam = param;
|
||||
params->mParam = i_param;
|
||||
|
||||
return fopKyM_Create(PROC_WPILLAR, NULL, params);
|
||||
}
|
||||
|
||||
/* 8001F90C-8001F9B4 01A24C 00A8+00 0/0 0/0 3/3 .text fopKyM_createMpillar__FPC4cXyzf */
|
||||
int fopKyM_createMpillar(cXyz const* param_0, f32 param_1) {
|
||||
int fopKyM_createMpillar(cXyz const* i_pos, f32 i_size) {
|
||||
static u16 m_name[2] = {
|
||||
0x8757,
|
||||
0x8758,
|
||||
};
|
||||
|
||||
cXyz tmp;
|
||||
tmp.x = param_1;
|
||||
tmp.y = param_1;
|
||||
tmp.z = param_1;
|
||||
cXyz scale;
|
||||
scale.x = i_size;
|
||||
scale.y = i_size;
|
||||
scale.z = i_size;
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
dComIfGp_particle_set(m_name[i], param_0, NULL, &tmp);
|
||||
dComIfGp_particle_set(m_name[i], i_pos, NULL, &scale);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
+39
-84
@@ -1,81 +1,49 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_msg
|
||||
//
|
||||
/**
|
||||
* f_op_msg.cpp
|
||||
* Message Process Framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_msg.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "d/msg/d_msg_class.h"
|
||||
#include "d/s/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void fopMsg_Draw__FPv();
|
||||
extern "C" static void fopMsg_Execute__FPv();
|
||||
extern "C" static void fopMsg_IsDelete__FPv();
|
||||
extern "C" static void fopMsg_Delete__FPv();
|
||||
extern "C" static void fopMsg_Create__FPv();
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void fopMsgM_GetAppend__FPv();
|
||||
extern "C" void fopDwTg_ToDrawQ__FP16create_tag_classi();
|
||||
extern "C" void fopDwTg_DrawQTo__FP16create_tag_class();
|
||||
extern "C" void fopDwTg_Init__FP16create_tag_classPv();
|
||||
extern "C" void fpcBs_MakeOfType__FPi();
|
||||
extern "C" void fpcLf_GetPriority__FPC14leafdraw_class();
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
|
||||
/* 8001F488-8001F4B0 019DC8 0028+00 1/0 0/0 0/0 .text fopMsg_Draw__FPv */
|
||||
static int fopMsg_Draw(void* msg) {
|
||||
msg_class* m = static_cast<msg_class*>(msg);
|
||||
return fpcLf_DrawMethod(m->mSubMtd, msg);
|
||||
static int fopMsg_Draw(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
return fpcLf_DrawMethod(_this->mSubMtd, i_this);
|
||||
}
|
||||
|
||||
/* 8001F4B0-8001F4E8 019DF0 0038+00 1/0 0/0 0/0 .text fopMsg_Execute__FPv */
|
||||
static int fopMsg_Execute(void* msg) {
|
||||
msg_class* m = static_cast<msg_class*>(msg);
|
||||
static int fopMsg_Execute(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
|
||||
int stat = 1;
|
||||
if (dScnPly_c::isPause()) {
|
||||
stat = fpcMtd_Execute(&m->mSubMtd->mBase, msg);
|
||||
stat = fpcMtd_Execute(&_this->mSubMtd->mBase, i_this);
|
||||
}
|
||||
|
||||
return stat;
|
||||
}
|
||||
|
||||
/* 8001F4E8-8001F53C 019E28 0054+00 1/0 0/0 0/0 .text fopMsg_IsDelete__FPv */
|
||||
static int fopMsg_IsDelete(void* msg) {
|
||||
msg_class* m = static_cast<msg_class*>(msg);
|
||||
static int fopMsg_IsDelete(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
|
||||
int stat = fpcMtd_IsDelete(&m->mSubMtd->mBase, msg);
|
||||
int stat = fpcMtd_IsDelete(&_this->mSubMtd->mBase, i_this);
|
||||
if (stat == 1) {
|
||||
fopDwTg_DrawQTo(&m->mDwTg);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
}
|
||||
|
||||
return stat;
|
||||
}
|
||||
|
||||
/* 8001F53C-8001F588 019E7C 004C+00 1/0 0/0 0/0 .text fopMsg_Delete__FPv */
|
||||
static int fopMsg_Delete(void* msg) {
|
||||
msg_class* m = static_cast<msg_class*>(msg);
|
||||
static int fopMsg_Delete(void* i_this) {
|
||||
msg_class* _this = static_cast<msg_class*>(i_this);
|
||||
|
||||
int stat = fpcMtd_Delete(&m->mSubMtd->mBase, msg);
|
||||
fopDwTg_DrawQTo(&m->mDwTg);
|
||||
int stat = fpcMtd_Delete(&_this->mSubMtd->mBase, i_this);
|
||||
fopDwTg_DrawQTo(&_this->mDwTg);
|
||||
|
||||
return stat;
|
||||
}
|
||||
@@ -85,51 +53,38 @@ static int fopMsg_Delete(void* msg) {
|
||||
static int fopMsg_MSG_TYPE;
|
||||
|
||||
/* 8001F588-8001F660 019EC8 00D8+00 1/0 0/0 0/0 .text fopMsg_Create__FPv */
|
||||
#if defined NON_MATCHING
|
||||
int fopMsg_Create(void* data) {
|
||||
// r31 / r30 swap
|
||||
msg_class *msg = (msg_class*)data;
|
||||
int fopMsg_Create(void* i_this) {
|
||||
msg_class* _this = (msg_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(msg)) {
|
||||
msg_process_profile_definition* profile = (msg_process_profile_definition*) fpcM_GetProfile(msg);
|
||||
msg->mMsgType = fpcBs_MakeOfType(&fopMsg_MSG_TYPE);
|
||||
msg->mSubMtd = profile->mMethods;
|
||||
fopDwTg_Init(&msg->mDwTg, msg);
|
||||
fopMsg_prm_class * prm = fopMsgM_GetAppend(msg);
|
||||
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->mSubMtd = profile->mSubMtd;
|
||||
fopDwTg_Init(&_this->mDwTg, _this);
|
||||
fopMsg_prm_class* prm = fopMsgM_GetAppend(_this);
|
||||
if (prm != NULL) {
|
||||
msg->mpActor = prm->mpActor;
|
||||
msg->mPos = prm->mPos;
|
||||
msg->mMsgID = prm->mMsgID;
|
||||
msg->field_0xf0 = prm->field_0x14;
|
||||
msg->field_0xf4 = prm->field_0x18;
|
||||
_this->mpActor = prm->mpActor;
|
||||
_this->mPos = prm->mPos;
|
||||
_this->mMsgID = prm->mMsgID;
|
||||
_this->field_0xf0 = prm->field_0x14;
|
||||
_this->field_0xf4 = prm->field_0x18;
|
||||
}
|
||||
}
|
||||
|
||||
int status = fpcMtd_Create(&msg->mSubMtd->mBase, msg);
|
||||
int status = fpcMtd_Create(&_this->mSubMtd->mBase, _this);
|
||||
if (status == cPhs_COMPLEATE_e) {
|
||||
s32 priority = fpcLf_GetPriority(msg);
|
||||
fopDwTg_ToDrawQ(&msg->mDwTg, priority);
|
||||
s32 priority = fpcLf_GetPriority(_this);
|
||||
fopDwTg_ToDrawQ(&_this->mDwTg, priority);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm int fopMsg_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_msg/fopMsg_Create__FPv.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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,
|
||||
(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,
|
||||
};
|
||||
|
||||
+83
-85
@@ -5,13 +5,13 @@
|
||||
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "JSystem/J2DGraph/J2DPane.h"
|
||||
#include "JSystem/JMath/JMath.h"
|
||||
#include "SSystem/SComponent/c_malloc.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/com/d_com_inf_game.h"
|
||||
#include "d/msg/d_msg_object.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "JSystem/JMath/JMath.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
@@ -39,19 +39,19 @@ s32 fopMsgM_setStageLayer(void* param_0) {
|
||||
}
|
||||
|
||||
/* 8001FA24-8001FA44 01A364 0020+00 3/3 14/14 4/4 .text fopMsgM_SearchByID__FUi */
|
||||
msg_class* fopMsgM_SearchByID(unsigned int id) {
|
||||
return (msg_class*)fpcEx_SearchByID(id);
|
||||
msg_class* fopMsgM_SearchByID(unsigned int i_id) {
|
||||
return (msg_class*)fpcEx_SearchByID(i_id);
|
||||
}
|
||||
|
||||
/* 8001FA44-8001FA4C 01A384 0008+00 0/0 2/2 0/0 .text fopMsgM_GetAppend__FPv */
|
||||
fopMsg_prm_class* fopMsgM_GetAppend(void* msg) {
|
||||
msg_class* m = static_cast<msg_class*>(msg);
|
||||
return (fopMsg_prm_class*)m->mBase.mpUserData;
|
||||
fopMsg_prm_class* fopMsgM_GetAppend(void* i_msg) {
|
||||
msg_class* msg = static_cast<msg_class*>(i_msg);
|
||||
return (fopMsg_prm_class*)msg->mBase.mpUserData;
|
||||
}
|
||||
|
||||
/* 8001FA4C-8001FA6C 01A38C 0020+00 0/0 2/2 0/0 .text fopMsgM_Delete__FPv */
|
||||
void fopMsgM_Delete(void* process) {
|
||||
fpcM_Delete(process);
|
||||
void fopMsgM_Delete(void* i_this) {
|
||||
fpcM_Delete(i_this);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -65,8 +65,8 @@ SECTION_SDATA2 static u8 lit_3902[4] = {
|
||||
|
||||
/* 8001FA6C-8001FB50 01A3AC 00E4+00 1/1 0/0 0/0 .text createAppend__FP10fopAc_ac_cP4cXyzPUlPUlUi
|
||||
*/
|
||||
static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgID,
|
||||
u32* param_3, unsigned int param_4) {
|
||||
static fopMsg_prm_class* createAppend(fopAc_ac_c* i_actor, cXyz* i_pos, u32* i_msgID, u32* param_3,
|
||||
unsigned int param_4) {
|
||||
fopMsg_prm_class* params =
|
||||
static_cast<fopMsg_prm_class*>(cMl::memalignB(-4, sizeof(fopMsg_prm_class)));
|
||||
|
||||
@@ -74,19 +74,19 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgI
|
||||
return NULL;
|
||||
}
|
||||
|
||||
params->mpActor = pActor;
|
||||
dMsgObject_setTalkActor(pActor);
|
||||
params->mpActor = i_actor;
|
||||
dMsgObject_setTalkActor(i_actor);
|
||||
|
||||
if (pMsgID != NULL) {
|
||||
params->mMsgID = *pMsgID;
|
||||
if (i_msgID != NULL) {
|
||||
params->mMsgID = *i_msgID;
|
||||
}
|
||||
|
||||
if (param_3 != NULL) {
|
||||
params->field_0x14 = *param_3;
|
||||
}
|
||||
|
||||
if (pPos != NULL) {
|
||||
params->mPos = *pPos;
|
||||
if (i_pos != NULL) {
|
||||
params->mPos = *i_pos;
|
||||
} else {
|
||||
f32 tmp_0 = FLOAT_LABEL(lit_3902);
|
||||
cXyz tmp(tmp_0, tmp_0, tmp_0);
|
||||
@@ -103,15 +103,15 @@ static fopMsg_prm_class* createAppend(fopAc_ac_c* pActor, cXyz* pPos, u32* pMsgI
|
||||
static fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2, u8 param_3,
|
||||
f32 param_4, f32 param_5, f32 param_6, f32 param_7,
|
||||
unsigned int param_8) {
|
||||
fopMsg_prm_timer* timer = (fopMsg_prm_timer*)cMl::memalignB(-4,0x38);
|
||||
|
||||
if (timer == 0) {
|
||||
timer = 0;
|
||||
fopMsg_prm_timer* timer = (fopMsg_prm_timer*)cMl::memalignB(-4, 0x38);
|
||||
|
||||
if (timer == NULL) {
|
||||
timer = NULL;
|
||||
} else {
|
||||
timer->field_0x0 = 0;
|
||||
timer->field_0x10 = 0;
|
||||
timer->field_0x14 = 0;
|
||||
cXyz pos(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
|
||||
cXyz pos(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
|
||||
timer->field_0x4 = pos;
|
||||
timer->field_0x18 = param_8;
|
||||
timer->field_0x1c = param_0;
|
||||
@@ -125,7 +125,6 @@ static fopMsg_prm_timer* createTimerAppend(int param_0, u32 param_1, u8 param_2,
|
||||
}
|
||||
|
||||
return timer;
|
||||
|
||||
}
|
||||
|
||||
/* 8001FC4C-8001FCC0 01A58C 0074+00 0/0 1/1 0/0 .text
|
||||
@@ -166,11 +165,11 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
|
||||
}
|
||||
|
||||
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
|
||||
dComIfGp_isHeapLockFlag() != 2 &&
|
||||
dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
|
||||
|
||||
} else {
|
||||
dComIfGp_clearMesgAnimeTagInfo();
|
||||
dComIfGp_clearMesgCameraTagInfo();
|
||||
@@ -179,7 +178,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
|
||||
if (i_actorP) {
|
||||
pos = i_actorP->mEyePos;
|
||||
} else {
|
||||
pos.set(FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902),FLOAT_LABEL(lit_3902));
|
||||
pos.set(FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902), FLOAT_LABEL(lit_3902));
|
||||
}
|
||||
|
||||
if (g_MsgObject_HIO_c.mMsgDebug == true) {
|
||||
@@ -193,7 +192,7 @@ int fopMsgM_messageSet(u32 i_msgIdx, fopAc_ac_c* i_actorP, u32 param_2) {
|
||||
msg->mMsgID = i_msgIdx;
|
||||
msg->field_0xf0 = param_2;
|
||||
msg->mpActor = i_actorP;
|
||||
msg->setMessageIndex(i_msgIdx,param_2,false);
|
||||
msg->setMessageIndex(i_msgIdx, param_2, false);
|
||||
return i_msgID;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -208,13 +207,12 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
|
||||
}
|
||||
|
||||
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
|
||||
dComIfGp_isHeapLockFlag() != 2 &&
|
||||
dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
cXyz pos;
|
||||
pos.z = FLOAT_LABEL(lit_3902);
|
||||
pos.y = FLOAT_LABEL(lit_3902);
|
||||
@@ -229,7 +227,7 @@ int fopMsgM_messageSet(u32 msgIdx, u32 param_1) {
|
||||
msg->field_0xf0 = param_1;
|
||||
msg->mpActor = NULL;
|
||||
msg->setTalkPartner(NULL);
|
||||
msg->setMessageIndex(msgIdx,param_1,false);
|
||||
msg->setMessageIndex(msgIdx, param_1, false);
|
||||
return i_msgID;
|
||||
}
|
||||
|
||||
@@ -254,11 +252,11 @@ int fopMsgM_messageSetDemo(u32 param_0) {
|
||||
}
|
||||
|
||||
if (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 5 &&
|
||||
dComIfGp_isHeapLockFlag() != 2 &&
|
||||
dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1) {
|
||||
dComIfGp_isHeapLockFlag() != 2 && dComIfGp_isHeapLockFlag() != 3 &&
|
||||
dComIfGp_isHeapLockFlag() != 1)
|
||||
{
|
||||
return -1;
|
||||
|
||||
|
||||
} else {
|
||||
cXyz pos;
|
||||
pos.z = FLOAT_LABEL(lit_3902);
|
||||
@@ -272,7 +270,7 @@ int fopMsgM_messageSetDemo(u32 param_0) {
|
||||
msg->mMsgID = param_0;
|
||||
msg->field_0xf0 = 1000;
|
||||
msg->mpActor = NULL;
|
||||
msg->setMessageIndexDemo(param_0,false);
|
||||
msg->setMessageIndexDemo(param_0, false);
|
||||
return i_msgID;
|
||||
} else {
|
||||
return 0;
|
||||
@@ -281,9 +279,9 @@ int fopMsgM_messageSetDemo(u32 param_0) {
|
||||
}
|
||||
|
||||
/* 800200C0-80020100 01AA00 0040+00 0/0 7/7 1/1 .text fopMsgM_messageGet__FPcUl */
|
||||
char* fopMsgM_messageGet(char* msg, u32 string_id) {
|
||||
dMeter2Info_getString(string_id, msg, NULL);
|
||||
return msg;
|
||||
char* fopMsgM_messageGet(char* i_stringBuf, u32 i_msgId) {
|
||||
dMeter2Info_getString(i_msgId, i_stringBuf, NULL);
|
||||
return i_stringBuf;
|
||||
}
|
||||
|
||||
/* 80020100-80020108 01AA40 0008+00 0/0 1/1 0/0 .text fopMsgM_setMessageID__FUi */
|
||||
@@ -292,8 +290,8 @@ void fopMsgM_setMessageID(unsigned int msg_id) {
|
||||
}
|
||||
|
||||
/* 80020108-80020158 01AA48 0050+00 0/0 2/2 0/0 .text fopMsgM_Create__FsPFPv_iPv */
|
||||
u32 fopMsgM_Create(s16 param_0, int (*param_1)(void*), void* param_2) {
|
||||
fpcM_Create(param_0,param_1,param_2);
|
||||
u32 fopMsgM_Create(s16 i_procName, FastCreateReqFunc i_createFunc, void* i_process) {
|
||||
fpcM_Create(i_procName, i_createFunc, i_process);
|
||||
}
|
||||
|
||||
/* 80020158-80020160 -00001 0008+00 0/0 0/0 0/0 .text setAlpha__7J2DPaneFUc */
|
||||
@@ -338,7 +336,7 @@ SECTION_SDATA2 static f64 lit_4303 = 4503601774854144.0 /* cast s32 to float */;
|
||||
// regalloc + something up with case 2
|
||||
f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
|
||||
f32 ret;
|
||||
|
||||
|
||||
if (param_0 <= 0) {
|
||||
return FLOAT_LABEL(lit_4298);
|
||||
} else {
|
||||
@@ -351,39 +349,39 @@ f64 fopMsgM_valueIncrease(int param_0, int param_1, u8 param_2) {
|
||||
ret = param_1;
|
||||
f32 out_tmp = ret / param_0;
|
||||
|
||||
switch(param_2) {
|
||||
case 0: {
|
||||
ret = out_tmp * out_tmp;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
ret = JMAFastSqrt(out_tmp);
|
||||
break;
|
||||
}
|
||||
case 2: { // seems like this should be default case, but it causes other issues
|
||||
ret = out_tmp;
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
|
||||
tmp = out_tmp * tmp;
|
||||
ret = tmp - FLOAT_LABEL(lit_4298);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
|
||||
}
|
||||
}
|
||||
switch (param_2) {
|
||||
case 0: {
|
||||
ret = out_tmp * out_tmp;
|
||||
break;
|
||||
}
|
||||
case 1: {
|
||||
ret = JMAFastSqrt(out_tmp);
|
||||
break;
|
||||
}
|
||||
case 2: { // seems like this should be default case, but it causes other issues
|
||||
ret = out_tmp;
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
f32 tmp = (FLOAT_LABEL(lit_4299) * out_tmp) - FLOAT_LABEL(lit_4298);
|
||||
tmp = out_tmp * tmp;
|
||||
ret = tmp - FLOAT_LABEL(lit_4298);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4300) * out_tmp));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
f32 tmp = cM_ssin(FLOAT_LABEL(lit_4167) * (FLOAT_LABEL(lit_4301) * out_tmp));
|
||||
ret = tmp * tmp;
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
ret = cM_ssin(FLOAT_LABEL(lit_4300) * out_tmp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -417,15 +415,15 @@ void J2DPicture::insert(char const* param_0, u8 param_1, f32 param_2) {
|
||||
|
||||
/* 8002039C-800203E0 01ACDC 0044+00 0/0 3/3 0/0 .text fopMsgM_createExpHeap__FUlP7JKRHeap
|
||||
*/
|
||||
JKRExpHeap* fopMsgM_createExpHeap(u32 param_0, JKRHeap* heap) {
|
||||
if (heap == NULL) {
|
||||
heap = mDoExt_getGameHeap();
|
||||
JKRExpHeap* fopMsgM_createExpHeap(u32 i_heapSize, JKRHeap* i_heap) {
|
||||
if (i_heap == NULL) {
|
||||
i_heap = mDoExt_getGameHeap();
|
||||
}
|
||||
|
||||
return JKRExpHeap::create(param_0, heap, false);
|
||||
return JKRExpHeap::create(i_heapSize, i_heap, false);
|
||||
}
|
||||
|
||||
/* 800203E0-80020400 01AD20 0020+00 0/0 3/3 0/0 .text fopMsgM_destroyExpHeap__FP10JKRExpHeap */
|
||||
void fopMsgM_destroyExpHeap(JKRExpHeap* heap) {
|
||||
heap->destroy();
|
||||
void fopMsgM_destroyExpHeap(JKRExpHeap* i_heap) {
|
||||
i_heap->destroy();
|
||||
}
|
||||
|
||||
+34
-59
@@ -1,81 +1,56 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_overlap
|
||||
//
|
||||
/**
|
||||
* f_op_overlap.cpp
|
||||
* Overlap Process Framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_overlap.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void fopOvlp_Draw__FPv();
|
||||
extern "C" static void fopOvlp_Execute__FPv();
|
||||
extern "C" static void fopOvlp_IsDelete__FPv();
|
||||
extern "C" static void fopOvlp_Delete__FPv();
|
||||
extern "C" static void fopOvlp_Create__FPv();
|
||||
extern "C" extern void* g_fopOvlp_Method[5 + 1 /* padding */];
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void fpcLf_DrawMethod__FP21leafdraw_method_classPv();
|
||||
extern "C" void fpcMtd_Execute__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_IsDelete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Delete__FP20process_method_classPv();
|
||||
extern "C" void fpcMtd_Create__FP20process_method_classPv();
|
||||
extern "C" void cReq_Create__FP18request_base_classUc();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#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* ovlp) {
|
||||
overlap_task_class* overlap = (overlap_task_class*)ovlp;
|
||||
return fpcLf_DrawMethod(overlap->field_0xc0, ovlp);
|
||||
static s32 fopOvlp_Draw(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
return fpcLf_DrawMethod(_this->field_0xc0, i_this);
|
||||
}
|
||||
|
||||
/* 8001E3A4-8001E3CC 018CE4 0028+00 1/0 0/0 0/0 .text fopOvlp_Execute__FPv */
|
||||
static s32 fopOvlp_Execute(void* ovlp) {
|
||||
overlap_task_class* overlap = (overlap_task_class*)ovlp;
|
||||
return fpcMtd_Execute(&overlap->field_0xc0->mBase, ovlp);
|
||||
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);
|
||||
}
|
||||
|
||||
/* 8001E3CC-8001E3F4 018D0C 0028+00 1/0 0/0 0/0 .text fopOvlp_IsDelete__FPv */
|
||||
static s32 fopOvlp_IsDelete(void* ovlp) {
|
||||
overlap_task_class* overlap = (overlap_task_class*)ovlp;
|
||||
return fpcMtd_IsDelete(&overlap->field_0xc0->mBase, ovlp);
|
||||
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);
|
||||
}
|
||||
|
||||
/* 8001E3F4-8001E41C 018D34 0028+00 1/0 0/0 0/0 .text fopOvlp_Delete__FPv */
|
||||
static s32 fopOvlp_Delete(void* ovlp) {
|
||||
overlap_task_class* overlap = (overlap_task_class*)ovlp;
|
||||
return fpcMtd_Delete(&overlap->field_0xc0->mBase, ovlp);
|
||||
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);
|
||||
}
|
||||
|
||||
/* 8001E41C-8001E484 018D5C 0068+00 1/0 0/0 0/0 .text fopOvlp_Create__FPv */
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void fopOvlp_Create(void* param_0) {
|
||||
nofralloc
|
||||
#include "asm/f_op/f_op_overlap/fopOvlp_Create__FPv.s"
|
||||
static s32 fopOvlp_Create(void* i_this) {
|
||||
overlap_task_class* _this = (overlap_task_class*)i_this;
|
||||
|
||||
if (fpcM_IsFirstCreating(_this)) {
|
||||
overlap_process_profile_definition* profile =
|
||||
(overlap_process_profile_definition*)fpcM_GetProfile(_this);
|
||||
|
||||
cReq_Create((request_base_class*)&_this->field_0xc4, 1);
|
||||
_this->field_0xc0 = profile->mSubMtd;
|
||||
_this->field_0xc8 = -1;
|
||||
}
|
||||
|
||||
return fpcMtd_Create(&_this->field_0xc0->mBase, _this);
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3878-803A3890 -00001 0014+04 0/0 10/0 0/0 .data g_fopOvlp_Method */
|
||||
SECTION_DATA extern void* g_fopOvlp_Method[5 + 1 /* padding */] = {
|
||||
(void*)fopOvlp_Create__FPv,
|
||||
(void*)fopOvlp_Delete__FPv,
|
||||
(void*)fopOvlp_Execute__FPv,
|
||||
(void*)fopOvlp_IsDelete__FPv,
|
||||
(void*)fopOvlp_Draw__FPv,
|
||||
/* padding */
|
||||
NULL,
|
||||
extern 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,
|
||||
};
|
||||
|
||||
@@ -1,27 +1,20 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_overlap_mng
|
||||
//
|
||||
/**
|
||||
* f_op_overlap_mng.cpp
|
||||
* Overlap Process Manager
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "SSystem/SComponent/c_request.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_overlap_req.h"
|
||||
#include "f_op/f_op_scene_pause.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 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};
|
||||
|
||||
/* 8001E484-8001E4C4 018DC4 0040+00 0/0 1/1 0/0 .text fopOvlpM_SceneIsStop__Fv */
|
||||
int fopOvlpM_SceneIsStop(void) {
|
||||
int fopOvlpM_SceneIsStop() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
return fopScnPause_Enable(
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
|
||||
@@ -31,7 +24,7 @@ int fopOvlpM_SceneIsStop(void) {
|
||||
}
|
||||
|
||||
/* 8001E4C4-8001E504 018E04 0040+00 0/0 5/5 0/0 .text fopOvlpM_SceneIsStart__Fv */
|
||||
int fopOvlpM_SceneIsStart(void) {
|
||||
int fopOvlpM_SceneIsStart() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
return fopScnPause_Disable(
|
||||
(scene_class*)fpcEx_SearchByID(l_fopOvlpM_overlap[0]->field_0x20[0x32]));
|
||||
@@ -56,17 +49,17 @@ void fopOvlpM_ToldAboutID(unsigned int param_1) {
|
||||
}
|
||||
|
||||
/* 8001E558-8001E574 018E98 001C+00 0/0 6/6 7/7 .text fopOvlpM_IsPeek__Fv */
|
||||
int fopOvlpM_IsPeek(void) {
|
||||
int fopOvlpM_IsPeek() {
|
||||
return l_fopOvlpM_overlap[0] ? l_fopOvlpM_overlap[0]->field_0x8 : 0;
|
||||
}
|
||||
|
||||
/* 8001E574-8001E5A8 018EB4 0034+00 0/0 1/1 0/0 .text fopOvlpM_IsDone__Fv */
|
||||
int fopOvlpM_IsDone(void) {
|
||||
int fopOvlpM_IsDone() {
|
||||
return l_fopOvlpM_overlap[0] ? cReq_Is_Done(l_fopOvlpM_overlap[0]) : 0;
|
||||
}
|
||||
|
||||
/* 8001E5A8-8001E5D0 018EE8 0028+00 0/0 3/3 1/1 .text fopOvlpM_IsDoingReq__Fv */
|
||||
int fopOvlpM_IsDoingReq(void) {
|
||||
int fopOvlpM_IsDoingReq() {
|
||||
if (l_fopOvlpM_overlap[0] && l_fopOvlpM_overlap[0]->field_0x4 == 1) {
|
||||
return 1;
|
||||
}
|
||||
@@ -75,7 +68,7 @@ int fopOvlpM_IsDoingReq(void) {
|
||||
}
|
||||
|
||||
/* 8001E5D0-8001E604 018F10 0034+00 0/0 1/1 0/0 .text fopOvlpM_ClearOfReq__Fv */
|
||||
int fopOvlpM_ClearOfReq(void) {
|
||||
int fopOvlpM_ClearOfReq() {
|
||||
return l_fopOvlpM_overlap[0] ?
|
||||
fopOvlpReq_OverlapClr((overlap_request_class*)l_fopOvlpM_overlap[0]) :
|
||||
0;
|
||||
@@ -97,7 +90,7 @@ request_base_class* fopOvlpM_Request(s16 param_1, u16 param_2) {
|
||||
}
|
||||
|
||||
/* 8001E650-8001E698 018F90 0048+00 0/0 1/1 0/0 .text fopOvlpM_Management__Fv */
|
||||
void fopOvlpM_Management(void) {
|
||||
void fopOvlpM_Management() {
|
||||
if (l_fopOvlpM_overlap[0]) {
|
||||
int tmp = fopOvlpReq_Handler((overlap_request_class*)l_fopOvlpM_overlap[0]);
|
||||
if (6 <= tmp || 3 > tmp) {
|
||||
@@ -108,10 +101,11 @@ void fopOvlpM_Management(void) {
|
||||
}
|
||||
|
||||
/* 8001E698-8001E6E8 018FD8 0050+00 0/0 1/1 0/0 .text fopOvlpM_Cancel__Fv */
|
||||
int fopOvlpM_Cancel(void) {
|
||||
int fopOvlpM_Cancel() {
|
||||
if (!l_fopOvlpM_overlap[0]) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (fopOvlpReq_Cancel((overlap_request_class*)l_fopOvlpM_overlap[0]) == true) {
|
||||
l_fopOvlpM_overlap[0] = NULL;
|
||||
return 1;
|
||||
@@ -121,6 +115,4 @@ int fopOvlpM_Cancel(void) {
|
||||
}
|
||||
|
||||
/* 8001E6E8-8001E6EC 019028 0004+00 0/0 1/1 0/0 .text fopOvlpM_Init__Fv */
|
||||
void fopOvlpM_Init() {
|
||||
/* empty function */
|
||||
}
|
||||
void fopOvlpM_Init() {}
|
||||
|
||||
@@ -1,32 +1,27 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_overlap_req
|
||||
//
|
||||
/**
|
||||
* f_op_overlap_req.cpp
|
||||
* Overlap Process Request
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_overlap_req.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "f_pc/f_pc_stdcreate_req.h"
|
||||
|
||||
void fopOvlpReq_SetPeektime(overlap_request_class*, u16);
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
if (fpcM_Delete(pOvlpReq->field_0x20) == 1) {
|
||||
pOvlpReq->field_0x20 = 0;
|
||||
pOvlpReq->field_0x4 = 0;
|
||||
pOvlpReq->mPeektime = 0;
|
||||
pOvlpReq->field_0x8 = 0;
|
||||
pOvlpReq->field_0xc = 0;
|
||||
static int fopOvlpReq_phase_Done(overlap_request_class* i_overlapReq) {
|
||||
if (fpcM_Delete(i_overlapReq->field_0x20) == 1) {
|
||||
i_overlapReq->field_0x20 = 0;
|
||||
i_overlapReq->field_0x4 = 0;
|
||||
i_overlapReq->mPeektime = 0;
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
i_overlapReq->field_0xc = 0;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -39,104 +34,109 @@ static s32 fopOvlpReq_phase_IsDone(overlap_request_class* param_1) {
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) {
|
||||
pOvlpReq->field_0x8 = 0;
|
||||
static int fopOvlpReq_phase_IsWaitOfFadeout(overlap_request_class* i_overlapReq) {
|
||||
if (cReq_Is_Done((request_base_class*)(i_overlapReq->field_0x20 + 0xC4))) {
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
if (pOvlpReq->mPeektime) {
|
||||
pOvlpReq->mPeektime--;
|
||||
static int fopOvlpReq_phase_WaitOfFadeout(overlap_request_class* i_overlapReq) {
|
||||
if (i_overlapReq->mPeektime) {
|
||||
i_overlapReq->mPeektime--;
|
||||
}
|
||||
|
||||
if (((u8)(pOvlpReq->field_0x0 & 0x3F)) == 2 && !pOvlpReq->mPeektime) {
|
||||
cReq_Command((request_base_class*)(pOvlpReq->field_0x20 + 0xC4), 2);
|
||||
if (((u8)(i_overlapReq->field_0x0 & 0x3F)) == 2 && !i_overlapReq->mPeektime) {
|
||||
cReq_Command((request_base_class*)(i_overlapReq->field_0x20 + 0xC4), 2);
|
||||
return 2;
|
||||
}
|
||||
|
||||
pOvlpReq->field_0x8 = 1;
|
||||
i_overlapReq->field_0x8 = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
if (cReq_Is_Done((request_base_class*)(pOvlpReq->field_0x20 + 0xC4))) {
|
||||
cReq_Done((request_base_class*)pOvlpReq);
|
||||
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;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
if (fpcM_IsCreating(pOvlpReq->field_0x14) == 0) {
|
||||
base_process_class* pBaseProc = fpcEx_SearchByID(pOvlpReq->field_0x14);
|
||||
if (!pBaseProc) {
|
||||
return 5;
|
||||
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) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
pOvlpReq->field_0x20 = (u8*)pBaseProc;
|
||||
|
||||
i_overlapReq->field_0x20 = (u8*)pBaseProc;
|
||||
return 2;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
fpcLy_SetCurrentLayer(pOvlpReq->pCurrentLayer);
|
||||
pOvlpReq->field_0x14 = fpcSCtRq_Request(fpcLy_CurrentLayer(), pOvlpReq->field_0x10, 0, 0, 0);
|
||||
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;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A3890-803A38B0 -00001 0020+00 1/1 0/0 0/0 .data phaseMethod$2260 */
|
||||
cPhs__Handler phaseMethod[8] = {
|
||||
(cPhs__Handler)fopOvlpReq_phase_Create,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsCreated,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsComplete,
|
||||
(cPhs__Handler)fopOvlpReq_phase_WaitOfFadeout,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsWaitOfFadeout,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsDone,
|
||||
(cPhs__Handler)fopOvlpReq_phase_Done,
|
||||
(cPhs__Handler)NULL,
|
||||
};
|
||||
|
||||
/* 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* pOvlpReq, s16 param_2, u16 param_3) {
|
||||
if (pOvlpReq->field_0x4 == 1) {
|
||||
pOvlpReq = 0;
|
||||
return (request_base_class*)pOvlpReq;
|
||||
request_base_class* fopOvlpReq_Request(overlap_request_class* i_overlapReq, s16 param_2,
|
||||
u16 param_3) {
|
||||
static cPhs__Handler phaseMethod[8] = {
|
||||
(cPhs__Handler)fopOvlpReq_phase_Create,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsCreated,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsComplete,
|
||||
(cPhs__Handler)fopOvlpReq_phase_WaitOfFadeout,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsWaitOfFadeout,
|
||||
(cPhs__Handler)fopOvlpReq_phase_IsDone,
|
||||
(cPhs__Handler)fopOvlpReq_phase_Done,
|
||||
(cPhs__Handler)NULL,
|
||||
};
|
||||
|
||||
if (i_overlapReq->field_0x4 == 1) {
|
||||
i_overlapReq = 0;
|
||||
return (request_base_class*)i_overlapReq;
|
||||
}
|
||||
|
||||
cReq_Command((request_base_class*)pOvlpReq, 1);
|
||||
pOvlpReq->field_0x10 = param_2;
|
||||
cPhs_Set(&pOvlpReq->field_0x18, phaseMethod);
|
||||
fopOvlpReq_SetPeektime(pOvlpReq, param_3);
|
||||
pOvlpReq->field_0x4 = 1;
|
||||
pOvlpReq->field_0x2 = 1;
|
||||
pOvlpReq->field_0x20 = 0;
|
||||
pOvlpReq->field_0x8 = 0;
|
||||
pOvlpReq->field_0xc = 0;
|
||||
pOvlpReq->pCurrentLayer = fpcLy_RootLayer();
|
||||
return (request_base_class*)pOvlpReq;
|
||||
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);
|
||||
i_overlapReq->field_0x4 = 1;
|
||||
i_overlapReq->field_0x2 = 1;
|
||||
i_overlapReq->field_0x20 = 0;
|
||||
i_overlapReq->field_0x8 = 0;
|
||||
i_overlapReq->field_0xc = 0;
|
||||
i_overlapReq->pCurrentLayer = fpcLy_RootLayer();
|
||||
return (request_base_class*)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* pOvlpReq) {
|
||||
int phase_state = cPhs_Do(&pOvlpReq->field_0x18, pOvlpReq);
|
||||
int fopOvlpReq_Handler(overlap_request_class* i_overlapReq) {
|
||||
int phase_state = cPhs_Do(&i_overlapReq->field_0x18, i_overlapReq);
|
||||
|
||||
switch (phase_state) {
|
||||
case cPhs_TWO_e:
|
||||
return fopOvlpReq_Handler(pOvlpReq);
|
||||
return fopOvlpReq_Handler(i_overlapReq);
|
||||
case cPhs_ZERO_e:
|
||||
return cPhs_ZERO_e;
|
||||
case cPhs_ONE_e:
|
||||
@@ -153,31 +153,34 @@ int fopOvlpReq_Handler(overlap_request_class* pOvlpReq) {
|
||||
|
||||
/* 8001EA88-8001EAB4 0193C8 002C+00 0/0 1/1 0/0 .text fopOvlpReq_Cancel__FP21overlap_request_class
|
||||
*/
|
||||
int fopOvlpReq_Cancel(overlap_request_class* pOvlpReq) {
|
||||
return fopOvlpReq_phase_Done(pOvlpReq) == 2 ? 1 : 0;
|
||||
int fopOvlpReq_Cancel(overlap_request_class* i_overlapReq) {
|
||||
return fopOvlpReq_phase_Done(i_overlapReq) == 2 ? 1 : 0;
|
||||
}
|
||||
|
||||
/* 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* pOvlpReq) {
|
||||
return pOvlpReq->mPeektime == 0 ? 1 : 0;
|
||||
int fopOvlpReq_Is_PeektimeLimit(overlap_request_class* i_overlapReq) {
|
||||
return i_overlapReq->mPeektime == 0 ? 1 : 0;
|
||||
}
|
||||
|
||||
/* 8001EAC4-8001EAD8 019404 0014+00 1/1 0/0 0/0 .text
|
||||
* fopOvlpReq_SetPeektime__FP21overlap_request_classUs */
|
||||
void fopOvlpReq_SetPeektime(overlap_request_class* pOvlpReq, u16 param_2) {
|
||||
void fopOvlpReq_SetPeektime(overlap_request_class* i_overlapReq, u16 param_2) {
|
||||
if (0x7fff < param_2) {
|
||||
return;
|
||||
}
|
||||
pOvlpReq->mPeektime = param_2;
|
||||
|
||||
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* pOvlpReq) {
|
||||
if ((u8)((pOvlpReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(pOvlpReq)) {
|
||||
int fopOvlpReq_OverlapClr(overlap_request_class* i_overlapReq) {
|
||||
if ((u8)((i_overlapReq->field_0x0 >> 7) & 1) == 1 || !fopOvlpReq_Is_PeektimeLimit(i_overlapReq))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
cReq_Create((request_base_class*)pOvlpReq, 2);
|
||||
|
||||
cReq_Create((request_base_class*)i_overlapReq, 2);
|
||||
return 1;
|
||||
}
|
||||
|
||||
+20
-22
@@ -1,32 +1,30 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene
|
||||
//
|
||||
/**
|
||||
* f_op_scene.cpp
|
||||
* Scene Process Framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_scene_tag.h"
|
||||
#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* pScene) {
|
||||
fpcNd_DrawMethod((nodedraw_method_class*)pScene->mpMtd, pScene);
|
||||
static void fopScn_Draw(scene_class* i_this) {
|
||||
fpcNd_DrawMethod((nodedraw_method_class*)i_this->mpMtd, i_this);
|
||||
}
|
||||
|
||||
/* 8001EB5C-8001EB84 01949C 0028+00 1/0 0/0 0/0 .text fopScn_Execute__FP11scene_class */
|
||||
static void fopScn_Execute(scene_class* pScene) {
|
||||
fpcMtd_Execute(pScene->mpMtd, pScene);
|
||||
static void fopScn_Execute(scene_class* i_this) {
|
||||
fpcMtd_Execute(i_this->mpMtd, i_this);
|
||||
}
|
||||
|
||||
/* 8001EB84-8001EBAC 0194C4 0028+00 1/0 0/0 0/0 .text fopScn_IsDelete__FPv */
|
||||
static s32 fopScn_IsDelete(void* pScene) {
|
||||
return fpcMtd_IsDelete(static_cast<scene_class*>(pScene)->mpMtd, pScene);
|
||||
static s32 fopScn_IsDelete(void* i_this) {
|
||||
return fpcMtd_IsDelete(static_cast<scene_class*>(i_this)->mpMtd, i_this);
|
||||
}
|
||||
|
||||
/* 8001EBAC-8001EC00 0194EC 0054+00 1/0 0/0 0/0 .text fopScn_Delete__FPv */
|
||||
static s32 fopScn_Delete(void* pScene) {
|
||||
scene_class* scene = static_cast<scene_class*>(pScene);
|
||||
static s32 fopScn_Delete(void* i_this) {
|
||||
scene_class* scene = static_cast<scene_class*>(i_this);
|
||||
s32 ret = fpcMtd_Delete(scene->mpMtd, scene);
|
||||
if (ret == 1) {
|
||||
fopScnTg_QueueTo(&scene->mScnTg);
|
||||
@@ -35,27 +33,27 @@ static s32 fopScn_Delete(void* pScene) {
|
||||
}
|
||||
|
||||
/* 8001EC00-8001EC74 019540 0074+00 1/0 0/0 0/0 .text fopScn_Create__FPv */
|
||||
static s32 fopScn_Create(void* pScene) {
|
||||
scene_class* scene = static_cast<scene_class*>(pScene);
|
||||
if (fpcM_IsFirstCreating(pScene)) {
|
||||
static s32 fopScn_Create(void* i_this) {
|
||||
scene_class* scene = static_cast<scene_class*>(i_this);
|
||||
if (fpcM_IsFirstCreating(i_this)) {
|
||||
scene_process_profile_definition* profile =
|
||||
(scene_process_profile_definition*)fpcM_GetProfile(pScene);
|
||||
(scene_process_profile_definition*)fpcM_GetProfile(i_this);
|
||||
scene->mpMtd = profile->mpMtd;
|
||||
fopScnTg_Init(&scene->mScnTg, pScene);
|
||||
fopScnTg_Init(&scene->mScnTg, i_this);
|
||||
fopScnTg_ToQueue(&scene->mScnTg);
|
||||
|
||||
u32* append = (u32*)fpcM_GetAppend(pScene);
|
||||
u32* append = (u32*)fpcM_GetAppend(i_this);
|
||||
if (append != NULL) {
|
||||
scene->mBase.mBase.mParameters = *append;
|
||||
}
|
||||
}
|
||||
|
||||
return fpcMtd_Create(scene->mpMtd, pScene);
|
||||
return fpcMtd_Create(scene->mpMtd, i_this);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A38B0-803A38C8 -00001 0014+04 0/0 9/0 0/0 .data g_fopScn_Method */
|
||||
nodedraw_method_class g_fopScn_Method = {
|
||||
leafdraw_method_class g_fopScn_Method = {
|
||||
(process_method_func)fopScn_Create, (process_method_func)fopScn_Delete,
|
||||
(process_method_func)fopScn_Execute, (process_method_func)fopScn_IsDelete,
|
||||
(process_method_func)fopScn_Draw,
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene_iter
|
||||
//
|
||||
/**
|
||||
* f_op_scene_iter.cpp
|
||||
* Scene Process Iterator
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene_iter.h"
|
||||
#include "SSystem/SComponent/c_list.h"
|
||||
#include "SSystem/SComponent/c_list_iter.h"
|
||||
#include "SSystem/SComponent/c_tag_iter.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_scene_tag.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8001EC74-8001ECB0 0195B4 003C+00 0/0 1/1 0/0 .text fopScnIt_Judge__FPFPvPv_PvPv */
|
||||
void* fopScnIt_Judge(fop_ScnItFunc pFunc1, void* pData) {
|
||||
struct {
|
||||
|
||||
+11
-18
@@ -1,19 +1,13 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene_mng
|
||||
//
|
||||
/**
|
||||
* f_op_scene_mng.cpp
|
||||
* Scene Process Manager
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_scene_iter.h"
|
||||
#include "f_op/f_op_scene_req.h"
|
||||
#include "f_pc/f_pc_searcher.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8001ECB0-8001ECE0 0195F0 0030+00 0/0 7/7 1/1 .text fopScnM_SearchByID__FUi */
|
||||
scene_class* fopScnM_SearchByID(unsigned int id) {
|
||||
return (scene_class*)fopScnIt_Judge((fop_ScnItFunc)fpcSch_JudgeByID, &id);
|
||||
@@ -24,20 +18,21 @@ scene_class* fopScnM_SearchByID(unsigned int id) {
|
||||
static u32 l_scnRqID = 0xFFFFFFFF;
|
||||
|
||||
/* 8001ECE0-8001ED3C 019620 005C+00 0/0 4/4 1/1 .text fopScnM_ChangeReq__FP11scene_classssUs */
|
||||
int fopScnM_ChangeReq(scene_class* pScene, s16 param_2, s16 param_3, u16 param_4) {
|
||||
u32 sceneRequestID = fopScnRq_Request(2, pScene, param_2, 0, param_3, param_4);
|
||||
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) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
l_scnRqID = sceneRequestID;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 8001ED3C-8001ED84 01967C 0048+00 0/0 1/1 0/0 .text fopScnM_DeleteReq__FP11scene_class
|
||||
*/
|
||||
unsigned int fopScnM_DeleteReq(scene_class* pScene) {
|
||||
u32 sceneRequestID = fopScnRq_Request(1, pScene, 0x7fff, 0, 0x7fff, 0);
|
||||
unsigned int fopScnM_DeleteReq(scene_class* i_scene) {
|
||||
u32 sceneRequestID = fopScnRq_Request(1, i_scene, 0x7FFF, 0, 0x7FFF, 0);
|
||||
return sceneRequestID != 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
@@ -57,11 +52,9 @@ u32 fopScnM_ReRequest(s16 param_1, u32 param_2) {
|
||||
}
|
||||
|
||||
/* 8001EE10-8001EE30 019750 0020+00 0/0 1/1 0/0 .text fopScnM_Management__Fv */
|
||||
void fopScnM_Management(void) {
|
||||
void fopScnM_Management() {
|
||||
fopScnRq_Handler();
|
||||
}
|
||||
|
||||
/* 8001EE30-8001EE34 019770 0004+00 0/0 1/1 0/0 .text fopScnM_Init__Fv */
|
||||
void fopScnM_Init() {
|
||||
/* empty function */
|
||||
}
|
||||
void fopScnM_Init() {}
|
||||
|
||||
@@ -1,47 +1,44 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene_pause
|
||||
//
|
||||
/**
|
||||
* f_op_scene_pause.cpp
|
||||
* Scene Process Pause
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene_pause.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 80020548-80020594 01AE88 004C+00 0/0 2/2 0/0 .text fopScnPause_Enable__FP11scene_class
|
||||
*/
|
||||
int fopScnPause_Enable(scene_class* pScene) {
|
||||
if (pScene) {
|
||||
fpcM_PauseEnable(pScene, 1);
|
||||
fpcM_PauseEnable(pScene, 2);
|
||||
int fopScnPause_Enable(scene_class* i_scene) {
|
||||
if (i_scene) {
|
||||
fpcM_PauseEnable(i_scene, 1);
|
||||
fpcM_PauseEnable(i_scene, 2);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* 80020594-8002064C 01AED4 00B8+00 0/0 2/2 0/0 .text fopScnPause_Disable__FP11scene_class */
|
||||
int fopScnPause_Disable(scene_class* pScene) {
|
||||
if (pScene) {
|
||||
void* tmp = (void*)pScene->mBase.mBase.mLyTg.mpLayer->mpPcNode;
|
||||
int fopScnPause_Disable(scene_class* i_scene) {
|
||||
if (i_scene) {
|
||||
void* tmp = (void*)i_scene->mBase.mBase.mLyTg.mpLayer->mpPcNode;
|
||||
|
||||
if (!tmp) {
|
||||
fpcM_PauseDisable(pScene, 1);
|
||||
fpcM_PauseDisable(pScene, 2);
|
||||
fpcM_PauseDisable(i_scene, 1);
|
||||
fpcM_PauseDisable(i_scene, 2);
|
||||
} else if (fpcEx_IsExist((s32)((int*)tmp)[1]) == 1) {
|
||||
if (!fpcM_IsPause(tmp, 1)) {
|
||||
fpcM_PauseDisable(pScene, 1);
|
||||
fpcM_PauseDisable(i_scene, 1);
|
||||
}
|
||||
|
||||
if (!fpcM_IsPause(tmp, 2)) {
|
||||
fpcM_PauseDisable(pScene, 2);
|
||||
fpcM_PauseDisable(i_scene, 2);
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+56
-66
@@ -1,21 +1,15 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene_req
|
||||
//
|
||||
/**
|
||||
* f_op_scene_req.cpp
|
||||
* Scene Process Request
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene_req.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "f_pc/f_pc_executor.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8001EE34-8001EE64 019774 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_ClearOverlap__FP19scene_request_class */
|
||||
static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
|
||||
static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* i_sceneReq) {
|
||||
if (fopOvlpM_ClearOfReq() == 1) {
|
||||
return cPhs_TWO_e;
|
||||
} else {
|
||||
@@ -25,13 +19,13 @@ static cPhs__Step fopScnRq_phase_ClearOverlap(scene_request_class* param_0) {
|
||||
|
||||
/* 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* param_0) {
|
||||
return (cPhs__Step)fpcNdRq_Execute(¶m_0->mCrtReq);
|
||||
static cPhs__Step fopScnRq_phase_Execute(scene_request_class* i_sceneReq) {
|
||||
return (cPhs__Step)fpcNdRq_Execute(&i_sceneReq->mCrtReq);
|
||||
}
|
||||
|
||||
/* 8001EE84-8001EEB4 0197C4 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_IsDoingOverlap__FP19scene_request_class */
|
||||
static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
|
||||
static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* i_sceneReq) {
|
||||
if (fopOvlpM_IsDoingReq() == 1) {
|
||||
return cPhs_TWO_e;
|
||||
} else {
|
||||
@@ -41,7 +35,7 @@ static cPhs__Step fopScnRq_phase_IsDoingOverlap(scene_request_class* param_0) {
|
||||
|
||||
/* 8001EEB4-8001EEE4 0197F4 0030+00 1/0 0/0 0/0 .text
|
||||
* fopScnRq_phase_IsDoneOverlap__FP19scene_request_class */
|
||||
static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* param_0) {
|
||||
static cPhs__Step fopScnRq_phase_IsDoneOverlap(scene_request_class* i_sceneReq) {
|
||||
if (fopOvlpM_IsDone() == 1) {
|
||||
return cPhs_TWO_e;
|
||||
} else {
|
||||
@@ -55,28 +49,27 @@ static s32 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* pScnRq) {
|
||||
if (pScnRq->mCrtReq.mParameter != 1) {
|
||||
fopScnPause_Disable((scene_class*)fpcEx_SearchByID(pScnRq->mCrtReq.mCreatingID));
|
||||
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));
|
||||
}
|
||||
l_fopScnRq_IsUsingOfOverlap = 0;
|
||||
return cPhs_TWO_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* pScnRq) {
|
||||
int tmp = cPhs_Do(&pScnRq->mReqPhsProcCls, pScnRq);
|
||||
static void fopScnRq_Execute(scene_request_class* i_sceneReq) {
|
||||
int tmp = cPhs_Do(&i_sceneReq->mReqPhsProcCls, i_sceneReq);
|
||||
switch (tmp) {
|
||||
case 2: {
|
||||
fopScnRq_Execute(pScnRq);
|
||||
}
|
||||
case 2:
|
||||
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* pScnRq) {
|
||||
if (pScnRq->mFadeRequest) {
|
||||
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);
|
||||
}
|
||||
@@ -84,8 +77,8 @@ static int fopScnRq_PostMethod(void* param_1, scene_request_class* pScnRq) {
|
||||
}
|
||||
|
||||
/* 8001EFB0-8001EFF0 0198F0 0040+00 1/0 0/0 0/0 .text fopScnRq_Cancel__FP19scene_request_class */
|
||||
static int fopScnRq_Cancel(scene_request_class* pScnRq) {
|
||||
if (pScnRq->mFadeRequest && !fopOvlpM_Cancel()) {
|
||||
static int fopScnRq_Cancel(scene_request_class* i_sceneReq) {
|
||||
if (i_sceneReq->mFadeRequest && !fopOvlpM_Cancel()) {
|
||||
return 0;
|
||||
} else {
|
||||
return 1;
|
||||
@@ -94,57 +87,54 @@ static int fopScnRq_Cancel(scene_request_class* pScnRq) {
|
||||
|
||||
/* 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* tmp = NULL;
|
||||
request_base_class* req = NULL;
|
||||
|
||||
if (l_fopScnRq_IsUsingOfOverlap == 0 && (tmp = fopOvlpM_Request(param_1, param_2), tmp != 0)) {
|
||||
if (l_fopScnRq_IsUsingOfOverlap == 0 && (req = fopOvlpM_Request(param_1, param_2), req != NULL))
|
||||
{
|
||||
l_fopScnRq_IsUsingOfOverlap = 1;
|
||||
}
|
||||
|
||||
return (scene_request_class*)tmp;
|
||||
return (scene_request_class*)req;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803A38C8-803A38D8 -00001 0010+00 1/1 0/0 0/0 .data submethod$2274 */
|
||||
static node_create_request_method_class submethod = {
|
||||
(process_method_func)fopScnRq_Execute,
|
||||
(process_method_func)fopScnRq_Cancel,
|
||||
NULL,
|
||||
(process_method_func)fopScnRq_PostMethod,
|
||||
};
|
||||
|
||||
/* 803A38D8-803A38F8 -00001 0020+00 0/1 0/0 0/0 .data noFadeFase$2275 */
|
||||
static cPhs__Handler noFadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 803A38F8-803A3918 -00001 0020+00 0/1 0/0 0/0 .data fadeFase$2276 */
|
||||
static cPhs__Handler fadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoingOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_ClearOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
/* 8001F034-8001F0FC 019974 00C8+00 0/0 3/3 0/0 .text fopScnRq_Request__FiP11scene_classsPvsUs */
|
||||
s32 fopScnRq_Request(int param_1, scene_class* param_2, s16 param_3, void* param_4, s16 param_5,
|
||||
s32 fopScnRq_Request(int param_1, scene_class* i_scene, s16 param_3, void* param_4, s16 param_5,
|
||||
u16 param_6) {
|
||||
static node_create_request_method_class submethod = {
|
||||
(process_method_func)fopScnRq_Execute,
|
||||
(process_method_func)fopScnRq_Cancel,
|
||||
NULL,
|
||||
(process_method_func)fopScnRq_PostMethod,
|
||||
};
|
||||
|
||||
static cPhs__Handler noFadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
static cPhs__Handler fadeFase[8] = {
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoingOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Execute,
|
||||
(cPhs__Handler)fopScnRq_phase_ClearOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_IsDoneOverlap,
|
||||
(cPhs__Handler)fopScnRq_phase_Done,
|
||||
NULL,
|
||||
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*)param_2, param_3, param_4,
|
||||
sizeof(scene_request_class), param_1, (process_node_class*)i_scene, param_3, param_4,
|
||||
&submethod);
|
||||
|
||||
if (!pScnReq) {
|
||||
@@ -172,6 +162,6 @@ s32 fopScnRq_ReRequest(unsigned int param_1, s16 param_2, void* param_3) {
|
||||
}
|
||||
|
||||
/* 8001F11C-8001F13C 019A5C 0020+00 0/0 1/1 0/0 .text fopScnRq_Handler__Fv */
|
||||
void fopScnRq_Handler(void) {
|
||||
void fopScnRq_Handler() {
|
||||
fpcNdRq_Handler();
|
||||
}
|
||||
|
||||
+10
-16
@@ -1,19 +1,13 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_scene_tag
|
||||
//
|
||||
/**
|
||||
* f_op_scene_tag.cpp
|
||||
* Scene Process Tag
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_scene_tag.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8001F13C-8001F15C 019A7C 0020+00 0/0 1/1 0/0 .text fopScnTg_QueueTo__FP15scene_tag_class */
|
||||
void fopScnTg_QueueTo(scene_tag_class* pSceneTag) {
|
||||
cTg_SingleCut((create_tag_class*)pSceneTag);
|
||||
void fopScnTg_QueueTo(scene_tag_class* i_sceneTag) {
|
||||
cTg_SingleCut((create_tag_class*)i_sceneTag);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -21,11 +15,11 @@ void fopScnTg_QueueTo(scene_tag_class* pSceneTag) {
|
||||
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* pSceneTag) {
|
||||
cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)pSceneTag);
|
||||
void fopScnTg_ToQueue(scene_tag_class* i_sceneTag) {
|
||||
cTg_Addition(&g_fopScnTg_SceneList, (create_tag_class*)i_sceneTag);
|
||||
}
|
||||
|
||||
/* 8001F188-8001F1A8 019AC8 0020+00 0/0 1/1 0/0 .text fopScnTg_Init__FP15scene_tag_classPv */
|
||||
void fopScnTg_Init(scene_tag_class* pSceneTag, void* pData) {
|
||||
cTg_Create((create_tag_class*)pSceneTag, pData);
|
||||
void fopScnTg_Init(scene_tag_class* i_sceneTag, void* pData) {
|
||||
cTg_Create((create_tag_class*)i_sceneTag, pData);
|
||||
}
|
||||
|
||||
+22
-25
@@ -1,51 +1,48 @@
|
||||
//
|
||||
// Generated By: dol2asm
|
||||
// Translation Unit: f_op/f_op_view
|
||||
//
|
||||
/**
|
||||
* f_op_view.cpp
|
||||
* View Process Framework
|
||||
*/
|
||||
|
||||
#include "f_op/f_op_view.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "dol2asm.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
/* 8001F1A8-8001F1D0 019AE8 0028+00 1/0 0/0 0/0 .text fopVw_Draw__FP10view_class */
|
||||
void fopVw_Draw(view_class* pView) {
|
||||
fpcLf_DrawMethod(pView->mSubMtd, pView);
|
||||
void fopVw_Draw(view_class* i_this) {
|
||||
fpcLf_DrawMethod(i_this->mSubMtd, i_this);
|
||||
}
|
||||
|
||||
/* 8001F1D0-8001F1F8 019B10 0028+00 1/0 0/0 0/0 .text fopVw_Execute__FP10view_class */
|
||||
void fopVw_Execute(view_class* pView) {
|
||||
fpcMtd_Execute(&pView->mSubMtd->mBase, pView);
|
||||
void fopVw_Execute(view_class* i_this) {
|
||||
fpcMtd_Execute(&i_this->mSubMtd->mBase, i_this);
|
||||
}
|
||||
|
||||
/* 8001F1F8-8001F220 019B38 0028+00 1/0 0/0 0/0 .text fopVw_IsDelete__FPv */
|
||||
s32 fopVw_IsDelete(void* data) {
|
||||
view_class* pView = (view_class*)data;
|
||||
return fpcMtd_IsDelete(&pView->mSubMtd->mBase, pView);
|
||||
s32 fopVw_IsDelete(void* i_this) {
|
||||
view_class* _this = (view_class*)i_this;
|
||||
return fpcMtd_IsDelete(&_this->mSubMtd->mBase, _this);
|
||||
}
|
||||
|
||||
/* 8001F220-8001F248 019B60 0028+00 1/0 0/0 0/0 .text fopVw_Delete__FP10view_class */
|
||||
s32 fopVw_Delete(view_class* pView) {
|
||||
return fpcMtd_Delete(&pView->mSubMtd->mBase, pView);
|
||||
s32 fopVw_Delete(view_class* i_this) {
|
||||
return fpcMtd_Delete(&i_this->mSubMtd->mBase, i_this);
|
||||
}
|
||||
|
||||
/* 8001F248-8001F284 019B88 003C+00 1/0 0/0 0/0 .text fopVw_Create__FPv */
|
||||
s32 fopVw_Create(void* data) {
|
||||
view_class* pView = (view_class*)data;
|
||||
s32 fopVw_Create(void* i_this) {
|
||||
view_class* _this = (view_class*)i_this;
|
||||
|
||||
view_process_profile_definition* pProf = (view_process_profile_definition*)fpcM_GetProfile(pView);
|
||||
pView->mSubMtd = pProf->mSubMtd;
|
||||
pView->field_0xc4 = pProf->unk28;
|
||||
view_process_profile_definition* pProf =
|
||||
(view_process_profile_definition*)fpcM_GetProfile(_this);
|
||||
_this->mSubMtd = pProf->mSubMtd;
|
||||
_this->field_0xc4 = pProf->unk28;
|
||||
|
||||
return fpcMtd_Create(&pView->mSubMtd->mBase, pView);
|
||||
return fpcMtd_Create(&_this->mSubMtd->mBase, _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_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