checkpoint until virtual destructor issue is solved

This commit is contained in:
Pheenoh 2022-11-13 14:25:41 -07:00
parent af4e91d61b
commit 0c02dd2679
4 changed files with 2797 additions and 1130 deletions

3701
diff.py

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ def apply(config, args):
config['myimg'] = 'build/dolzel2/main.elf'
config['baseimg'] = 'expected/build/dolzel2/main.elf'
config['makeflags'] = []
if args.source:
if args.show_source:
config['makeflags'].append('DEBUG=1')
config['source_directories'] = ['src', 'libs', 'include']
config['arch'] = 'ppc'

View File

@ -4,11 +4,104 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
// #include "d/bg/d_bg_s_acch.h"
// #include "d/cc/d_cc_d.h"
// struct dCcD_GStts {
// /* 80083760 */ dCcD_GStts();
// /* 80083830 */ void Move();
// };
// struct dCcD_Stts {
// /* 80083860 */ void Init(int, int, fopAc_ac_c*);
// };
// struct dCcD_SrcSph {};
// struct dCcD_Sph {
// /* 80084A34 */ void Set(dCcD_SrcSph const&);
// };
// struct cCcD_Obj {};
// struct dCcD_GObjInf {
// /* 80083A28 */ dCcD_GObjInf();
// /* 80084460 */ int ChkTgHit();
// /* 800844F8 */ cCcD_Obj* GetTgHitObj();
// };
// struct dBgS_PolyPassChk {
// /* 80078E68 */ void SetObj();
// };
// struct dBgS_ObjAcch {
// /* 807F274C */ ~dBgS_ObjAcch();
// };
// struct dBgS_AcchCir {
// /* 80075EAC */ dBgS_AcchCir();
// /* 80075F58 */ void SetWall(f32, f32);
// };
// struct dBgS {};
// struct dBgS_Acch {
// /* 80075F94 */ ~dBgS_Acch();
// /* 800760A0 */ dBgS_Acch();
// /* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
// /* 80076AAC */ void CrrPos(dBgS&);
// };
// struct cM3dGSph {
// /* 8026F648 */ void SetC(cXyz const&);
// /* 8026F708 */ void SetR(f32);
// /* 807F26BC */ ~cM3dGSph();
// };
// struct cM3dGAab {
// /* 807F2704 */ ~cM3dGAab();
// };
// struct cCcS {
// /* 80264BA8 */ void Set(cCcD_Obj*);
// };
// struct request_of_phase_process_class {};
// struct mDoMtx_stack_c {
// /* 8000CE38 */ void scaleM(f32, f32, f32);
// static u8 now[48];
// };
struct daE_YC_HIO_c {
/* 807EFECC */ daE_YC_HIO_c();
/* 807F27BC */ ~daE_YC_HIO_c();
};
// struct dVibration_c {
// /* 8006FA24 */ void StartShock(int, int, cXyz);
// };
// struct dPa_levelEcallBack {};
// struct dPa_control_c {
// struct level_c {
// /* 8004B918 */ void getEmitter(u32);
// };
// /* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
// /* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
// cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
// _GXColor const*, cXyz const*, f32);
// /* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
// u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
// cXyz const*, f32);
// };
class e_yc_class : public fopAc_ac_c {
private:
public:
/* 0x568 */ u8 field_0x568[80];
/* 0x5B8 */ int field_0x5B8;
/* 0x5BC */ Z2CreatureEnemy mEnemy;
@ -27,7 +120,7 @@ private:
/* 0x688 */ u32 field_0x688;
/* 0x68C */ u8 field_0x68C[4];
/* 0x690 */ f32 field_0x690;
/* 0x694 */ u8 field_0x694[8];
/* 0x694 */ u8 field_0x694[28];
/* 0x69C */ f32 field_0x69C;
/* 0x6A0 */ s16 field_0x6A0;
/* 0x6A2 */ s16 field_0x6A2;
@ -37,12 +130,12 @@ private:
/* 0x6AA */ s16 field_0x6AA;
/* 0x6AC */ void* field_0x6AC;
/* 0x6B0 */ u8 field_0x6B0[72];
// /* 0x6F4 */ dBgS_Acch mBgS_Acch;
// /* 0x8CC */ u8 field_0x8CC[28];
// /* 0x8E8 */ dCcD_GStts mCcD_GStts;
// /* 0x908 */ dCcD_GObjInf mCcD_GObjInf;
// /* 0xA0C */ u8 field_0xA0C[364];
// /* 0xB78 */ cCcD_Obj* mpTgHitObj;
/* 0x6F4 */ dBgS_Acch mBgS_Acch;
/* 0x8CC */ u8 field_0x8CC[28];
/* 0x8E8 */ dCcD_GStts mCcD_GStts;
/* 0x908 */ dCcD_GObjInf mCcD_GObjInf;
/* 0xA0C */ u8 field_0xA0C[364];
/* 0xB78 */ cCcD_Obj* mpTgHitObj;
};
#endif /* D_A_E_YC_H */

View File

@ -7,101 +7,6 @@
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Types:
//
struct request_of_phase_process_class {};
struct mDoMtx_stack_c {
/* 8000CE38 */ void scaleM(f32, f32, f32);
static u8 now[48];
};
struct daE_YC_HIO_c {
/* 807EFECC */ daE_YC_HIO_c();
/* 807F27BC */ ~daE_YC_HIO_c();
};
struct dVibration_c {
/* 8006FA24 */ void StartShock(int, int, cXyz);
};
struct dPa_levelEcallBack {};
struct dPa_control_c {
struct level_c {
/* 8004B918 */ void getEmitter(u32);
};
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
/* 8004D4CC */ void set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
};
struct dCcD_Stts {
/* 80083860 */ void Init(int, int, fopAc_ac_c*);
};
struct dCcD_SrcSph {};
struct dCcD_Sph {
/* 80084A34 */ void Set(dCcD_SrcSph const&);
};
struct dCcD_GStts {
/* 80083760 */ dCcD_GStts();
/* 80083830 */ void Move();
};
struct dCcD_GObjInf {
/* 80083A28 */ dCcD_GObjInf();
/* 80084460 */ void ChkTgHit();
/* 800844F8 */ void GetTgHitObj();
};
struct dBgS_PolyPassChk {
/* 80078E68 */ void SetObj();
};
struct dBgS_ObjAcch {
/* 807F274C */ ~dBgS_ObjAcch();
};
struct dBgS_AcchCir {
/* 80075EAC */ dBgS_AcchCir();
/* 80075F58 */ void SetWall(f32, f32);
};
struct dBgS {};
struct dBgS_Acch {
/* 80075F94 */ ~dBgS_Acch();
/* 800760A0 */ dBgS_Acch();
/* 80076248 */ void Set(cXyz*, cXyz*, fopAc_ac_c*, int, dBgS_AcchCir*, cXyz*, csXyz*, csXyz*);
/* 80076AAC */ void CrrPos(dBgS&);
};
struct cM3dGSph {
/* 8026F648 */ void SetC(cXyz const&);
/* 8026F708 */ void SetR(f32);
/* 807F26BC */ ~cM3dGSph();
};
struct cM3dGAab {
/* 807F2704 */ ~cM3dGAab();
};
struct cCcD_Obj {};
struct cCcS {
/* 80264BA8 */ void Set(cCcD_Obj*);
};
//
// Forward References:
//
@ -220,9 +125,9 @@ extern "C" extern void* __vt__12cCcD_SphAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
// extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
extern "C" extern void* calc_mtx[1 + 1 /* padding */];
// extern "C" extern void* calc_mtx[1 + 1 /* padding */];
extern "C" extern u8 pauseTimer__9dScnPly_c[4];
extern "C" void __register_global_object();
@ -425,6 +330,19 @@ static asm void daE_YC_Draw(e_yc_class* param_0) {
#pragma pop
/* 807F00BC-807F01AC 0002DC 00F0+00 1/1 0/0 0/0 .text damage_check__FP10e_yc_class */
#ifdef NONMATCHING
static void damage_check(e_yc_class* param_0) {
param_0->mCcD_GStts.Move();
fopAc_ac_c* player = dComIfGp_getPlayer(0);
if (param_0->field_0x6AA == 0 && !param_0->mCcD_GObjInf.ChkTgHit()) {
param_0->mpTgHitObj = param_0->mCcD_GObjInf.GetTgHitObj();
if (((daAlink_c*)player)->getCutType() != 0x2c) {
return;
}
}
}
#else
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
@ -433,6 +351,7 @@ static asm void damage_check(e_yc_class* param_0) {
#include "asm/rel/d/a/e/d_a_e_yc/d_a_e_yc/damage_check__FP10e_yc_class.s"
}
#pragma pop
#endif
/* ############################################################################################## */
/* 807F2878-807F287C 000014 0004+00 0/2 0/0 0/0 .rodata @3859 */
@ -940,7 +859,7 @@ asm cM3dGSph::~cM3dGSph() {
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
asm cM3dGAab::~cM3dGAab() {
asm cM3dGAab::~cM3dGAab() override {
nofralloc
#include "asm/rel/d/a/e/d_a_e_yc/d_a_e_yc/__dt__8cM3dGAabFv.s"
}