f_op debug work (#2991)

* f_op debug 1

* f_op debug 2

* f_op debug 3

* f_op debug 4

* f_op debug 5

* f_op_debug fix build

* f_op linking

* remove goto in fopac_create

* fix regressions

* fix regressions

* pr comments
This commit is contained in:
Niklas Bauer
2025-12-26 22:17:51 +01:00
committed by GitHub
parent 11b713902f
commit df0ffcd87c
50 changed files with 690 additions and 407 deletions
+1
View File
@@ -278,6 +278,7 @@ public:
fopAc_ac_c();
~fopAc_ac_c();
static u32 getStopStatus() { return stopStatus; }
static void setStopStatus(u32 status) { stopStatus = status; }
static u32 stopStatus;
+9 -5
View File
@@ -76,6 +76,8 @@ struct fopAcM_search4ev_prm {
};
struct fopAcM_search_prm {
fopAcM_search_prm() {};
/* 0x00 */ u32 prm0;
/* 0x04 */ u32 prm1;
/* 0x08 */ s16 procname;
@@ -480,15 +482,14 @@ inline f32 fopAcM_searchActorDistanceY(const fopAc_ac_c* actorA, const fopAc_ac_
return actorB->current.pos.y - actorA->current.pos.y;
}
inline u16 fopAcM_GetSetId(const fopAc_ac_c* i_actor) {
inline int fopAcM_GetSetId(const fopAc_ac_c* i_actor) {
return i_actor->setID;
}
inline void dComIfGs_onActor(int bitNo, int roomNo);
inline void fopAcM_onActor(const fopAc_ac_c* i_actor) {
int setId = fopAcM_GetSetId(i_actor);
dComIfGs_onActor(setId, fopAcM_GetHomeRoomNo(i_actor));
dComIfGs_onActor(fopAcM_GetSetId(i_actor), fopAcM_GetHomeRoomNo(i_actor));
}
inline void fopAcM_onDraw(fopAc_ac_c* i_actor) {
@@ -781,7 +782,7 @@ inline void fopAcM_seStartCurrentLevel(const fopAc_ac_c* actor, u32 sfxID, u32 p
dComIfGp_getReverb(fopAcM_GetRoomNo(actor)));
}
inline void fopAcM_offActor(fopAc_ac_c* i_actor, u32 flag) {
inline void fopAcM_offActor(const fopAc_ac_c* i_actor, int flag) {
dComIfGs_offActor(flag, fopAcM_GetHomeRoomNo(i_actor));
}
@@ -853,7 +854,10 @@ public:
static cXyz* getCrossP() { return mLineCheck.GetCrossP(); }
static cXyz& getCross() { return mLineCheck.GetCross(); }
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
static bool getTriPla(cM3dGPla* o_tri) { return dComIfG_Bgsp().GetTriPla(mLineCheck, o_tri); }
static bool dummyCheck(cM3dGPla* i_plane);
static bool getTriPla(cM3dGPla* i_plane) {
return dComIfG_Bgsp().GetTriPla(mLineCheck, i_plane);
};
static s32 getWallCode() { return dComIfG_Bgsp().GetWallCode(mLineCheck); }
static bool checkWallHit() {
cM3dGPla poly;
+1 -1
View File
@@ -3,7 +3,7 @@
#include "SSystem/SComponent/c_tag.h"
int fopAcTg_ActorQTo(create_tag_class* i_createTag);
void fopAcTg_ActorQTo(create_tag_class* i_createTag);
int fopAcTg_Init(create_tag_class* i_createTag, void* i_data);
int fopAcTg_ToActorQ(create_tag_class* i_createTag);
+1 -2
View File
@@ -1,9 +1,8 @@
#ifndef F_F_OP_CAMERA_MNG_H_
#define F_F_OP_CAMERA_MNG_H_
#include "SSystem/SComponent/c_phase.h"
#include "d/d_camera.h"
#include "f_op/f_op_view.h"
#include "d/d_camera.h"
typedef struct leafdraw_method_class leafdraw_method_class;
+2
View File
@@ -19,6 +19,8 @@ struct kankyo_process_profile_definition {
/* 0x24 */ leafdraw_method_class* sub_method;
}; // Size: 0x28
void fopKy_IsKankyo(void* i_this);
extern leafdraw_method_class g_fopKy_Method;
#endif /* F_OP_F_OP_KANKYO_H */
+21 -3
View File
@@ -1,6 +1,7 @@
#ifndef F_F_OP_SCENE_MNG_H_
#define F_F_OP_SCENE_MNG_H_
#include "f_op/f_op_scene_pause.h"
#include "f_pc/f_pc_manager.h"
#include "f_op/f_op_scene.h"
@@ -15,9 +16,10 @@ void fopScnM_Management();
void fopScnM_Init();
inline fpc_ProcID fpcM_LayerID(const void* i_process) {
return fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)i_process)->subtype) != FALSE ?
((scene_class*)i_process)->base.layer.layer_id :
fpcM_ERROR_PROCESS_ID_e;
if (fpcBs_Is_JustOfType(g_fpcNd_type, ((base_process_class*)i_process)->subtype) != FALSE) {
return ((scene_class*)i_process)->base.layer.layer_id;
}
return fpcM_ERROR_PROCESS_ID_e;
}
inline fpc_ProcID fopScnM_GetID(void* i_scene) {
@@ -32,4 +34,20 @@ inline u32 fopScnM_GetParam(void* i_scene) {
return fpcM_GetParam(i_scene);
}
inline void fopScnM_SetParam(void* i_scene, u32 i_param) {
fpcM_SetParam(i_scene, i_param);
}
inline void* fopScnM_GetAppend(void* i_scene) {
return fpcM_GetAppend(i_scene);
}
inline int fopScnM_PauseEnable(scene_class* i_scene) {
return fopScnPause_Enable(i_scene);
}
inline int fopScnM_PauseDisable(scene_class* i_scene) {
return fopScnPause_Disable(i_scene);
}
#endif
+1 -1
View File
@@ -15,6 +15,6 @@ public:
fpc_ProcID fopScnRq_Request(int i_reqType, scene_class* i_scene, s16 i_procName, void* i_data, s16 param_5,
u16 param_6);
s32 fopScnRq_ReRequest(fpc_ProcID i_requestId, s16 i_procName, void* i_data);
void fopScnRq_Handler();
int fopScnRq_Handler();
#endif