d_a_tag_hjump / d_a_scene_exit2 OK (#361)

* d_a_tag_hjump OK

* d_a_scene_exit2 OK

* remove asm
This commit is contained in:
TakaRikka
2023-07-03 21:10:29 -07:00
committed by GitHub
parent 01d9e0a514
commit 1a168255d2
35 changed files with 437 additions and 1715 deletions
+1
View File
@@ -208,6 +208,7 @@ public:
MtxP GetBaseMtxP() { return pm_base; }
bool ChkNoCalcVtx() { return field_0x88 & 2; }
bool ChkFlush() { return field_0x91 & 8; }
void SetLock() { field_0x88 |= 0x80; }
public:
/* 0x18 */ MtxP pm_base;
+5
View File
@@ -2936,6 +2936,11 @@ inline int i_dComIfGp_evmng_getMyStaffId(const char* pName, fopAc_ac_c* pActor,
return dComIfGp_getPEvtManager()->getMyStaffId(pName, pActor, param_2);
}
inline int dComIfGp_evmng_getMyActIdx(int i_staffIdx, char** param_1, int param_2, int param_3,
int param_4) {
return dComIfGp_getPEvtManager()->getMyActIdx(i_staffIdx, param_1, param_2, param_3, param_4);
}
inline int dComIfGp_evmng_getIsAddvance(int param_0) {
return dComIfGp_getPEvtManager()->getIsAddvance(param_0);
}
+4
View File
@@ -301,6 +301,10 @@ inline dJntCol_c* fopAcM_GetJntCol(fopAc_ac_c* i_actor) {
return i_actor->mJntCol;
}
inline void fopAcM_setCullSizeFar(fopAc_ac_c* i_actor, f32 i_far) {
i_actor->mCullSizeFar = i_far;
}
inline f32 fopAcM_getCullSizeFar(const fopAc_ac_c* i_actor) {
return i_actor->mCullSizeFar;
}
+10
View File
@@ -39,6 +39,7 @@ private:
class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
/* 0x001 */ ERFLG0_UNK_1 = 0x1,
/* 0x010 */ MOVE_ACCEPT = 0x10,
/* 0x080 */ RIDE_RUN_FLG = 0x80,
/* 0x100 */ CUT_TURN_CANCEL = 0x100,
@@ -157,6 +158,7 @@ public:
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) { return mEndResetStateFlg0 & flag; }
bool checkStateFlg0(daHorse_FLG0 flag) const { return mStateFlg0 & flag; }
f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; }
f32 getLashMaxSpeedF() { return mLashMaxSpeedF; }
void changeDemoMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
void setDemoStickR(f32 stick) { mDemoStickR = stick; }
void i_changeDemoMode(u32 param_0, int param_1) { field_0x1740 = param_0; field_0x1728 = param_1; }
@@ -166,6 +168,7 @@ public:
void offRideFlg() { (this->*mpOffRideFlgFn)(); }
void onStateFlg0(daHorse_FLG0 flag) { mStateFlg0 |= flag; }
void offStateFlg0(daHorse_FLG0 flag) { mStateFlg0 &= ~flag; }
void onEndResetStateFlg0(daHorse_ERFLG0 i_flag) { mEndResetStateFlg0 |= i_flag;}
void offNoDrawWait() { offStateFlg0(NO_DRAW_WAIT); }
int checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); }
@@ -173,6 +176,13 @@ public:
bool checkTurnStand() const { return checkResetStateFlg0(TURN_STAND); }
bool checkRodeoMode() const { return checkStateFlg0(RODEO_MODE); }
void onTagJump(f32 param_0, f32 param_1, f32 param_2) {
field_0x1768 = param_0;
field_0x176c = param_1;
field_0x1770 = param_2;
onEndResetStateFlg0(ERFLG0_UNK_1);
}
static u8 const m_footJointTable[8];
static f32 const m_callLimitDistance2;
@@ -1,6 +1,48 @@
#ifndef D_A_SCENE_EXIT2_H
#define D_A_SCENE_EXIT2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daScExit_c : public fopAc_ac_c {
public:
enum act_e {
WAIT_e,
START_e,
SCENE_CHG_e,
};
enum action_e {
ACTION_WAIT_e,
ACTION_ORDER_EVENT_e,
ACTION_EVENT_e,
ACTION_DEAD_e,
};
/* 8059E158 */ void initBaseMtx();
/* 8059E178 */ void setBaseMtx();
/* 8059E1B0 */ int Create();
/* 8059E230 */ int create();
/* 8059E2C0 */ int execute();
/* 8059E2E4 */ void event_proc_call();
/* 8059E3A0 */ void actionWait();
/* 8059E408 */ void actionOrderEvent();
/* 8059E488 */ void actionEvent();
/* 8059E504 */ void actionDead();
/* 8059E508 */ int demoProc();
/* 8059E6CC */ BOOL checkArea();
/* 8059E714 */ int draw();
/* 8059E71C */ int _delete();
int getSceneID() { return fopAcM_GetParamBit(this, 0, 8); }
void setAction(u8 i_action) { mAction = i_action; }
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ int mStaffID;
/* 0x574 */ f32 mRadius;
/* 0x578 */ s16 mEventID;
/* 0x57A */ u8 mToolID;
/* 0x57B */ u8 mAction;
/* 0x57C */ u8 mTimer;
};
#endif /* D_A_SCENE_EXIT2_H */
@@ -1,6 +1,32 @@
#ifndef D_A_TAG_HJUMP_H
#define D_A_TAG_HJUMP_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
class daTagHjump_c : public dBgS_MoveBgActor {
public:
enum Type_e {
TYPE_TRIGGER_e = 0,
TYPE_OBJECT_e = 3,
};
/* 805A3B24 */ int create();
/* 805A3DA0 */ ~daTagHjump_c();
/* 805A3E70 */ int execute();
/* 805A3AB8 */ virtual int CreateHeap();
/* 805A4154 */ virtual int Draw();
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ u8 mType;
/* 0x5AD */ u8 field_0x5ad;
/* 0x5AE */ s16 field_0x5ae;
/* 0x5B0 */ u16 mOnFlagID;
/* 0x5B2 */ u16 mOffFlagID;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
};
#endif /* D_A_TAG_HJUMP_H */