Use composition instead of inheritance for most f_op classes (#2700)

This commit is contained in:
LagoLunatic
2025-09-25 15:57:15 -04:00
committed by GitHub
parent 27507a6030
commit dbf6abeb90
29 changed files with 62 additions and 55 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ class JUTConsole;
* @ingroup jsystem-jkernel
*
*/
class JKRThread : JKRDisposer {
class JKRThread : public JKRDisposer {
public:
class TLoad {
public:
+1 -1
View File
@@ -3,7 +3,7 @@
#include "JSystem/JParticle/JPAParticle.h"
class JPTraceParticleCallBack4 : JPAParticleCallBack {
class JPTraceParticleCallBack4 : public JPAParticleCallBack {
public:
/* 8001817C */ void execute(JPABaseEmitter*, JPABaseParticle*);
/* 800182A4 */ void draw(JPABaseEmitter*, JPABaseParticle*);
+2 -1
View File
@@ -233,8 +233,9 @@ struct cull_box {
/* 0xC */ Vec max;
};
class fopAc_ac_c : public leafdraw_class {
class fopAc_ac_c {
public:
/* 0x000 */ leafdraw_class base;
/* 0x0C0 */ int actor_type;
/* 0x0C4 */ create_tag_class actor_tag;
/* 0x0D8 */ create_tag_class draw_tag;
+1 -1
View File
@@ -91,7 +91,7 @@ struct fOpAcm_HIO_entry_c : public mDoHIO_entry_c {
#ifdef DEBUG
void removeHIO(const fopAc_ac_c* i_this) { removeHIO(*i_this); }
void removeHIO(const fopAc_ac_c& i_this) { removeHIO(static_cast<const leafdraw_class&>(i_this)); }
void removeHIO(const fopAc_ac_c& i_this) { removeHIO(i_this.base); }
void removeHIO(const leafdraw_class& i_this) { removeHIO(i_this.base); }
void removeHIO(const base_process_class& i_this) { removeHIO(i_this.state); }
void removeHIO(const state_class& state) {
+2 -2
View File
@@ -4,8 +4,8 @@
#include "SSystem/SComponent/c_xyz.h"
#include "f_pc/f_pc_leaf.h"
class kankyo_class : public leafdraw_class {
public:
struct kankyo_class {
/* 0x00 */ leafdraw_class base;
/* 0xC0 */ int type;
/* 0xC4 */ create_tag_class draw_tag;
/* 0xD8 */ leafdraw_method_class* sub_method;
+2 -2
View File
@@ -22,8 +22,8 @@ enum fopMsg_Mode_e {
class fopAc_ac_c;
class msg_class : public leafdraw_class {
public:
struct msg_class {
/* 0x00 */ leafdraw_class base;
/* 0xC0 */ int type;
/* 0xC4 */ create_tag_class draw_tag;
/* 0xD8 */ leafdraw_method_class* sub_method;
+2 -2
View File
@@ -4,8 +4,8 @@
#include "f_pc/f_pc_leaf.h"
#include "SSystem/SComponent/c_request.h"
class overlap_task_class : public leafdraw_class {
public:
struct overlap_task_class {
/* 0x00 */ leafdraw_class base;
/* 0xC0 */ leafdraw_method_class* submethod;
/* 0xC4 */ request_base_class request;
/* 0xC8 */ fpc_ProcID scene_id;
+2 -1
View File
@@ -39,7 +39,8 @@ struct view_port_class {
/* 0x18 */ scissor_class scissor;
};
struct view_class : public leafdraw_class {
struct view_class {
/* 0x000 */ leafdraw_class base;
/* 0x0C0 */ leafdraw_method_class* sub_method;
/* 0x0C4 */ u8 field_0xc4;
/* 0x0C8 */ f32 near;