diff --git a/configure.py b/configure.py index b91fbea8e..09be59faa 100755 --- a/configure.py +++ b/configure.py @@ -1211,6 +1211,7 @@ config.libs = [ Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/direct_io.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/file_io.c", extra_cflags=["-inline noauto"]), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/FILE_POS.c"), + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/locale.c"), # Demo-only Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mbstring.c", extra_cflags=["-inline noauto"]), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/mem_funcs.c"), @@ -1219,6 +1220,7 @@ config.libs = [ Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/float.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/scanf.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/string.c"), + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtold.c"), # Demo-only Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/strtoul.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Src/uart_console_io.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Src/wchar_io.c"), @@ -1226,6 +1228,7 @@ config.libs = [ Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_asin.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_atan2.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_fmod.c"), + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_pow.c"), # Demo-only Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/e_rem_pio2.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_cos.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/k_rem_pio2.c"), @@ -1238,12 +1241,14 @@ config.libs = [ Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_frexp.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_ldexp.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_modf.c"), + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_nextafter.c"), # Demo-only Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_sin.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/s_tan.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_acos.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_asin.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_atan2.c"), Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_fmod.c"), + Object(NonMatching, "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common_Embedded/Math/Double_precision/w_pow.c"), # Demo-only Object(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "PowerPC_EABI_Support/MSL/MSL_C/PPC_EABI/Src/math_ppc.c"), ], }, @@ -1466,6 +1471,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_hmlif"), ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_hys", extra_cflags=['-pragma "nosyminline on"']), ActorRel(NonMatching, "d_a_kamome"), + ActorRel(NonMatching, "d_a_kamome2"), # Demo-only ActorRel(NonMatching, "d_a_kantera"), ActorRel(NonMatching, "d_a_kn"), ActorRel(NonMatching, "d_a_kokiie"), diff --git a/include/d/actor/d_a_kamome2.h b/include/d/actor/d_a_kamome2.h new file mode 100644 index 000000000..d8341131d --- /dev/null +++ b/include/d/actor/d_a_kamome2.h @@ -0,0 +1,12 @@ +#ifndef D_A_KAMOME2_H +#define D_A_KAMOME2_H + +#include "f_op/f_op_actor.h" + +class kamome2_class : public fopAc_ac_c { +public: + /* Place member variables here */ + /* 0x290 */ u8 m290[0x690 - 0x290]; +}; // Size: 0x690 + +#endif /* D_A_KAMOME2_H */ diff --git a/src/d/actor/d_a_kamome2.cpp b/src/d/actor/d_a_kamome2.cpp new file mode 100644 index 000000000..0652f3dcc --- /dev/null +++ b/src/d/actor/d_a_kamome2.cpp @@ -0,0 +1,64 @@ +#include "d/actor/d_a_kamome2.h" +#include "m_Do/m_Do_ext.h" +#include "d/d_procname.h" + +static void anm_init(kamome2_class*, int, f32, u8, f32, int) { + /* Nonmatching */ +} + +static BOOL daKamome2_Draw(kamome2_class*) { + /* Nonmatching */ +} + +static void kamome2_bgcheck(kamome2_class*) { + /* Nonmatching */ +} + +static void key_move(kamome2_class*) { + /* Nonmatching */ +} + +static BOOL daKamome2_Execute(kamome2_class*) { + /* Nonmatching */ +} + +static BOOL daKamome2_IsDelete(kamome2_class*) { + /* Nonmatching */ +} + +static BOOL daKamome2_Delete(kamome2_class*) { + /* Nonmatching */ +} + +static BOOL useHeapInit(fopAc_ac_c*) { + /* Nonmatching */ +} + +static cPhs_State daKamome2_Create(fopAc_ac_c*) { + /* Nonmatching */ +} + +static actor_method_class l_daKamome2_Method = { + (process_method_func)daKamome2_Create, + (process_method_func)daKamome2_Delete, + (process_method_func)daKamome2_Execute, + (process_method_func)daKamome2_IsDelete, + (process_method_func)daKamome2_Draw, +}; + +actor_process_profile_definition g_profile_KAMOME2 = { + /* LayerID */ fpcLy_CURRENT_e, + /* ListID */ 0x0007, + /* ListPrio */ fpcPi_CURRENT_e, + /* ProcName */ PROC_KAMOME2, + /* Proc SubMtd */ &g_fpcLf_Method.base, + /* Size */ sizeof(kamome2_class), + /* SizeOther */ 0, + /* Parameters */ 0, + /* Leaf SubMtd */ &g_fopAc_Method.base, + /* Priority */ 0x00B6, + /* Actor SubMtd */ &l_daKamome2_Method, + /* Status */ fopAcStts_CULL_e | fopAcStts_UNK40000_e, + /* Group */ fopAc_ACTOR_e, + /* CullType */ fopAc_CULLBOX_0_e, +};