mirror of https://github.com/zeldaret/tp
D_a_e_mm_mt 99% matching (#2881)
* do draw, smbindeffect, isdelete, delete, most of heapinit * Fix lowercase hex * fix style * Add spaces after if * Do most of drop and carry * Almost done * Finish normal * Get functions to mostly regalloc + a few compiler quirks. * fix up comments * Fix all issues and get everything to 100
This commit is contained in:
parent
da03a43cef
commit
72c37de758
|
|
@ -1786,7 +1786,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_mk"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_mk_bo"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_mm"),
|
||||
ActorRel(NonMatching, "d_a_e_mm_mt"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_mm_mt"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_ms"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_nz"),
|
||||
ActorRel(MatchingFor(ALL_GCN), "d_a_e_oc"),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
#ifndef D_A_E_MM_MT_H
|
||||
#define D_A_E_MM_MT_H
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/actor/d_a_e_mm.h"
|
||||
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
|
|
@ -10,9 +13,44 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class e_mm_mt_class : public fopEn_enemy_c {
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0xba4 - 0x5ac];
|
||||
class e_mm_mt_class {
|
||||
public:
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
/* 0x5AC */ request_of_phase_process_class m_phase;
|
||||
/* 0x5B4 */ Z2CreatureEnemy m_sound;
|
||||
/* 0x658 */ u8 parameters;
|
||||
/* 0x65A */ u8 field_0x65A[3];
|
||||
/* 0x65C */ J3DModel* mp_model;
|
||||
/* 0x660 */ u32 m_shadowKey;
|
||||
/* 0x664 */ s16 m_lifetime;
|
||||
/* 0x666 */ s16 m_action;
|
||||
/* 0x668 */ s16 m_mode;
|
||||
/* 0x66A */ u8 field_0x66A[0x672 - 0x66A];
|
||||
/* 0x672 */ s8 field_0x672;
|
||||
/* 0x673 */ u8 field_0x673;
|
||||
/* 0x674 */ cXyz field_0x674;
|
||||
/* 0x680 */ u8 field_0x680[0x684 - 0x680];
|
||||
/* 0x684 */ s16 m_timer[2];
|
||||
/* 0x688 */ s16 m_invulnerabilityTimer;
|
||||
/* 0x68A */ bool field_0x68A[2];
|
||||
/* 0x68C */ csXyz m_rotation;
|
||||
/* 0x692 */ s16 m_carryAngleSpeed;
|
||||
/* 0x694 */ s16 m_carryAngle;
|
||||
/* 0x696 */ u8 field_0x696[0x698 - 0x696];
|
||||
/* 0x698 */ int field_0x698;
|
||||
/* 0x69C */ f32 field_0x69C;
|
||||
/* 0x6A0 */ s16 field_0x6A0;
|
||||
/* 0x6A2 */ s16 field_0x6A2;
|
||||
/* 0x6A4 */ s16 m_spin;
|
||||
/* 0x6A6 */ u8 field_0x6A6[0x6A8 - 0x6A6];
|
||||
/* 0x6A8 */ f32 field_0x6A8;
|
||||
/* 0x6AC */ dBgS_AcchCir m_acchCir;
|
||||
/* 0x6EC */ dBgS_ObjAcch m_acch;
|
||||
/* 0x8C4 */ dCcD_Stts m_stts;
|
||||
/* 0x900 */ dCcD_Sph m_sphere;
|
||||
/* 0xA38 */ dCcD_Sph m_sph;
|
||||
/* 0xB70 */ dCcU_AtInfo m_atInfo;
|
||||
/* 0xB94 */ u8 field_0xB94[0xBA4 - 0xB94];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_mm_mt_class) == 0xba4);
|
||||
|
|
|
|||
|
|
@ -210,6 +210,7 @@ public:
|
|||
cXyz* GetRVecP() { return &mRVec; }
|
||||
void SetHitPos(cXyz& pos) { mHitPos = pos; }
|
||||
cXyz* GetHitPosP() { return &mHitPos; }
|
||||
u8 GetSe() { return mSe; }
|
||||
|
||||
private:
|
||||
/* 0x1C */ u8 mSe;
|
||||
|
|
@ -408,11 +409,13 @@ public:
|
|||
void SetAtRVec(cXyz& vec) { mGObjAt.SetRVec(vec); }
|
||||
void SetTgHitPos(cXyz& pos) { mGObjTg.SetHitPos(pos); }
|
||||
void SetAtHitPos(cXyz& pos) { mGObjAt.SetHitPos(pos); }
|
||||
u8 GetTgSe() { return mGObjTg.GetSe(); }
|
||||
u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); }
|
||||
cXyz* GetAtHitPosP() { return mGObjAt.GetHitPosP(); }
|
||||
cXyz* GetTgHitPosP() { return mGObjTg.GetHitPosP(); }
|
||||
cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); }
|
||||
bool ChkTgHookshotThrough() { return mGObjTg.ChkSPrm(0x80); }
|
||||
void OffTgHookShotNoHitMark() {mGObjTg.OffSPrm(0x400);}
|
||||
bool ChkTgShieldHit() { return mGObjTg.ChkRPrm(2); }
|
||||
void OffTgNoAtHitInfSet() { mObjTg.OffSPrmBit(0x20); }
|
||||
bool ChkTgSpinnerReflect() { return mGObjTg.ChkSPrm(0x200); }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue