From f367d21472ab76c3ebc6b8ce59f8f588e703afa6 Mon Sep 17 00:00:00 2001 From: Pheenoh Date: Thu, 5 Jan 2023 20:50:31 -0700 Subject: [PATCH] anm_init --- include/rel/d/a/d_a_do/d_a_do.h | 76 +++------------------------------ rel/d/a/d_a_do/d_a_do.cpp | 11 +++-- src/d/bg/d_bg_s_acch.cpp | 1 + 3 files changed, 12 insertions(+), 76 deletions(-) diff --git a/include/rel/d/a/d_a_do/d_a_do.h b/include/rel/d/a/d_a_do/d_a_do.h index da72620e7cf..680b1526d38 100644 --- a/include/rel/d/a/d_a_do/d_a_do.h +++ b/include/rel/d/a/d_a_do/d_a_do.h @@ -3,7 +3,7 @@ #include "dolphin/types.h" #include "d/a/d_a_player.h" -// #include "d/a/d_a_item_static.h" +#include "d/a/d_a_item_static.h" #include "d/bg/d_bg_s_acch.h" #include "d/cc/d_cc_d.h" #include "d/msg/d_msg_flow.h" @@ -26,12 +26,10 @@ public: /* 0x5B4 */ u8 field_0x5b4[20]; /* 0x5C8 */ float field_0x5c8; /* 0x5CC */ u8 field_0x5cc[4]; - /* 0x5D0 */ int field_0x5d0; - /* 0x5D4 */ u8 field_0x5d4[4]; /* 0x5D8 */ mDoExt_McaMorf* mpMorf; + /* 0x5D4 */ u8 field_0x5d4[8]; /* 0x5DC */ u8 field_0x5dc[8]; - /* 0x5E4 */ u8 field_0x5e4; - /* 0x5E5 */ u8 field_0x5e5[3]; + /* 0x5E4 */ s32 field_0x5e4; /* 0x5E8 */ float field_0x5e8; /* 0x5EC */ float field_0x5ec; /* 0x5F0 */ u8 field_0x5f0[2]; @@ -42,8 +40,9 @@ public: /* 0x5FC */ u16 field_0x5fc; /* 0x5FE */ u8 field_0x5fe[6]; /* 0x604 */ u16 field_0x604; - /* 0x606 */ u8 field_0x606[10]; - /* 0x610 */ float field_0x610; + /* 0x606 */ u8 field_0x606[2]; + /* 0x608 */ float field_0x608; + /* 0x60C */ u8 field_0x60c[8]; /* 0x614 */ u16 field_0x614; /* 0x616 */ u8 field_0x616[30]; /* 0x634 */ u32 field_0x634; @@ -92,67 +91,4 @@ public: /* 8066ED40 */ virtual ~daDo_HIO_c() {}; }; -struct daItem_c { - /* 80037BF4 */ void startControl(); - /* 80037C04 */ void endControl(); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); -}; - -// struct dBgS_PolyPassChk { -// /* 80078E68 */ void SetObj(); -// }; - -// struct dBgS_ObjGndChk_Spl { -// /* 800777B0 */ dBgS_ObjGndChk_Spl(); -// /* 80077848 */ ~dBgS_ObjGndChk_Spl(); -// }; - -// struct dBgS_ObjAcch { -// /* 8066ECD0 */ ~dBgS_ObjAcch(); -// }; - -// struct dBgS_LinChk { -// /* 80077C68 */ dBgS_LinChk(); -// /* 80077CDC */ ~dBgS_LinChk(); -// /* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*); -// }; - -// struct dBgS_GndChk { -// /* 8007757C */ dBgS_GndChk(); -// /* 800775F0 */ ~dBgS_GndChk(); -// }; - -// 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 cCcS { -// /* 80264BA8 */ void Set(cCcD_Obj*); -// }; - -// struct cBgS_LinChk {}; - -// struct cBgS_GndChk { -// /* 80267D28 */ void SetPos(cXyz const*); -// /* 80267D0C */ void SetPos(Vec const*); -// }; - -// struct cBgS { -// /* 800743B4 */ void LineCross(cBgS_LinChk*); -// /* 800744A0 */ void GroundCross(cBgS_GndChk*); -// }; - #endif /* D_A_DO_H */ diff --git a/rel/d/a/d_a_do/d_a_do.cpp b/rel/d/a/d_a_do/d_a_do.cpp index b85e2025814..d89b62d7a75 100644 --- a/rel/d/a/d_a_do/d_a_do.cpp +++ b/rel/d/a/d_a_do/d_a_do.cpp @@ -6,7 +6,7 @@ #include "rel/d/a/d_a_do/d_a_do.h" #include "dol2asm.h" #include "dolphin/types.h" -// #include "d/com/d_com_inf_game.h" +#include "d/com/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" // @@ -178,7 +178,6 @@ extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; extern "C" extern void* __vt__9cCcD_Stts[8]; extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; extern "C" u8 mCurrentMtx__6J3DSys[48]; extern "C" u8 sincosTable___5JMath[65536]; @@ -439,11 +438,11 @@ SECTION_DEAD static char const* const stringBase_8066EFB0 = "Do"; #pragma pop /* 80667DA8-80667E68 000148 00C0+00 16/16 0/0 0/0 .text anm_init__FP8do_classifUcf */ -#ifdef NONMATCHING +#ifndef NONMATCHING static void anm_init(do_class* i_dogP, int param_1, f32 param_2, u8 param_3, f32 param_4) { - if (i_dogP->field_0x610 < 1.0f) { - i_dogP->mpMorf->setAnm(dComIfG_getObjectRes("Do",param_1),param_4,param_2,0.0f,0.0f,-1.0f,0); - i_dogP->field_0x5e4 = param_3; + if (!(i_dogP->field_0x608 > FLOAT_LABEL(lit_3662))) { + i_dogP->mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("Do",param_1),param_3,param_2,param_4,FLOAT_LABEL(lit_3682),FLOAT_LABEL(lit_3683),0); + i_dogP->field_0x5e4 = param_1; } } #else diff --git a/src/d/bg/d_bg_s_acch.cpp b/src/d/bg/d_bg_s_acch.cpp index 8836b0eff68..83596cc9422 100644 --- a/src/d/bg/d_bg_s_acch.cpp +++ b/src/d/bg/d_bg_s_acch.cpp @@ -3,6 +3,7 @@ // Translation Unit: d/bg/d_bg_s_acch // +// Temporary fix until the TU matches #define __dt__12dBgS_AcchCirFv_DEFINED #include "d/bg/d_bg_s_acch.h"