d_a_obj_wind_stone OK (#2066)

* set up TU

* d_a_obj_wind_stone OK
This commit is contained in:
Trueffel
2024-02-08 13:35:24 +01:00
committed by GitHub
parent a825c39d93
commit 95176edb82
51 changed files with 413 additions and 1883 deletions
+1
View File
@@ -3140,6 +3140,7 @@ public:
u32 i_checkModeFlg(u32 pFlag) const { return mModeFlg & pFlag; }
bool i_checkSmallUpperGuardAnime() const { return checkUpperAnime(0x16); }
bool i_checkFmChainGrabAnime() const { return checkUpperAnime(0x62) || checkUpperAnime(0x2A0); }
Z2WolfHowlMgr* i_getWolfHowlMgrP() { return &mZ2WolfHowlMgr; }
// this might be a fake match, but helps fix usage in many functions
#pragma optimization_level 2
+15
View File
@@ -1,5 +1,20 @@
#ifndef D_A_D_A_OBJ_H
#define D_A_D_A_OBJ_H
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
namespace daObj {
/* 80037038 */ void eff_break_tsubo(fopAc_ac_c*, cXyz, int);
/* 80037180 */ void make_eff_break_kotubo(fopAc_ac_c*);
/* 80037210 */ void make_eff_break_kotubo2(fopAc_ac_c*);
/* 800372A0 */ void make_eff_break_gm_kotubo(fopAc_ac_c*);
/* 80037330 */ void make_eff_break_gm_ootubo(fopAc_ac_c*);
/* 800373C0 */ void posMoveF_stream(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32);
/* 80037620 */ void posMoveF_grade(fopAc_ac_c*, cXyz const*, cXyz const*, f32, f32, cXyz const*,
f32, f32, cXyz const*);
/* 80037788 */ void quat_rotBaseY(Quaternion*, cXyz const&);
/* 80037900 */ void HitSeStart(cXyz const*, int, dCcD_GObjInf const*, u32);
}; // namespace daObj
#endif /* D_A_D_A_OBJ_H */
+1 -1
View File
@@ -143,7 +143,7 @@ public:
/* 807E2908 */ void startCheckSkipEdge(void*);
u16 chkFlag2(u16 flag) { return flag & mFlag2; }
bool runCheck() { return mEventStatus != 0; }
BOOL runCheck() { return mEventStatus != 0; }
f32 getCullRate() { return mCullRate; }
u16 chkEventFlag(u16 flag) { return flag & mEventFlag; }
void onEventFlag(u16 flag) { mEventFlag |= flag; }
+5
View File
@@ -142,6 +142,7 @@ public:
void setLightDropGetFlag(int index, u8 flag) { mLightDropGetFlag[index] = flag; }
u8 getRentalBombBag() { return mRentalBombBagIdx; }
void setTableMapRegionNo(u8 regionNo) { mTableMapRegionNo = regionNo; }
void setGoldWolfMapType(u8 i_mapType) { mGoldWolfMapType = i_mapType; }
dMeter2_c* getMeterClass() { return mMeterClass; }
u8 getMiniGameItemSetFlag() { return mMiniGameItemSetFlag; }
s16 getMsgKeyWaitTimer() { return mMsgKeyWaitTimer; }
@@ -543,6 +544,10 @@ inline void dMeter2Info_setTableMapRegionNo(u8 regionNo) {
g_meter2_info.setTableMapRegionNo(regionNo);
}
inline void dMeter2Info_setGoldWolfMapType(u8 i_mapType) {
g_meter2_info.setGoldWolfMapType(i_mapType);
}
inline void dMeter2Info_changeWater(u8 bottleIdx) {
g_meter2_info.changeWater(bottleIdx);
}
+1 -59
View File
@@ -3,69 +3,11 @@
#include "d/a/d_a_npc.h"
#include "d/shop/d_shop_item_ctrl.h"
#include "d/shop/d_shop_camera.h"
class dSelect_cursor_c;
class STControl;
typedef int (*ShopCam_actionFunc)(void);
class ShopCam_action_c {
public:
/* 80196544 */ void setCamDataIdx(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, cXyz*,
cXyz*);
/* 80196608 */ void setCamDataIdx2(fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*,
fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*);
/* 801968B8 */ void setMasterCamCtrPos(cXyz*);
void setCameraSpeed(f32 param_0, f32 param_1, f32 param_2, f32 param_3) {
field_0xc0 = param_0;
field_0xc4 = param_1;
field_0xc8 = param_2;
field_0xcc = param_3;
}
void SetSelectIdx(s16 idx) {
mSelectIdx = idx;
setCameraSpeed(0.25f, 20.0f, 0.25f, 5.0f);
}
/* 0x00 */ int field_0x0;
/* 0x04 */ int field_0x4;
/* 0x08 */ ShopCam_actionFunc mCamActionFunc;
/* 0x0C */ u8 field_0xc[0xC];
/* 0x18 */ fopAc_ac_c* field_0x18;
/* 0x1C */ fopAc_ac_c* field_0x1c;
/* 0x20 */ fopAc_ac_c* field_0x20;
/* 0x24 */ fopAc_ac_c* field_0x24;
/* 0x28 */ fopAc_ac_c* field_0x28;
/* 0x2C */ fopAc_ac_c* field_0x2c;
/* 0x30 */ fopAc_ac_c* field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ cXyz field_0x38;
/* 0x44 */ cXyz field_0x44;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ cXyz field_0x54;
/* 0x60 */ cXyz field_0x60;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ cXyz field_0x70;
/* 0x7C */ cXyz field_0x7c;
/* 0x88 */ cXyz field_0x88;
/* 0x94 */ f32 field_0x94;
/* 0x98 */ cXyz field_0x98;
/* 0xA4 */ cXyz field_0xa4;
/* 0xB0 */ cXyz field_0xb0;
/* 0xBC */ f32 field_0xbc;
/* 0xC0 */ f32 field_0xc0;
/* 0xC4 */ f32 field_0xc4;
/* 0xC8 */ f32 field_0xc8;
/* 0xCC */ f32 field_0xcc;
/* 0xD0 */ u8 field_0xd0[4];
/* 0xD4 */ s16 mSelectIdx;
/* 0xD6 */ s16 field_0xd6;
/* 0xD8 */ s16 field_0xd8;
/* 0xDA */ u8 field_0xda;
};
class dShopSystem_c : public daNpcT_c {
public:
enum {
@@ -5,7 +5,7 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjKJgjs_c : public dBgS_MoveBgActor {
class daObjKJgjs_c : public dBgS_MoveBgActor, public request_of_phase_process_class {
public:
/* 80C46098 */ int create1st();
/* 80C4616C */ void setMtx();
@@ -18,7 +18,6 @@ public:
u32 getType() { return fopAcM_GetParamBit(this, 0, 4); }
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ Mtx mMtx[2];
/* 0x608 */ J3DModel* mpModel;
/* 0x60C */ s32 field_0x60c;
@@ -1,6 +1,76 @@
#ifndef D_A_OBJ_MOVEBOX_H
#define D_A_OBJ_MOVEBOX_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
struct daObjMovebox {
struct Act_c {
struct Prm_e {};
/* 8047E628 */ void prm_get_swSave1() const;
/* 8047E650 */ void prmZ_init();
/* 8047E680 */ void prmX_init();
/* 8047E6B0 */ void attr() const;
/* 8047E6C8 */ void set_mtx();
/* 8047E7B0 */ void init_mtx();
/* 8047E7F4 */ void path_init();
/* 8047E92C */ void path_save();
/* 8047EB48 */ void CreateHeap();
/* 8047EBEC */ void RideCallBack(dBgW*, fopAc_ac_c*, fopAc_ac_c*);
/* 8047ED10 */ void PPCallBack(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel);
/* 8047EE0C */ void Create();
/* 8047F11C */ void afl_sway();
/* 8047F38C */ void check_to_walk();
/* 8047F50C */ void clr_moment_cnt();
/* 8047F530 */ void chk_appear() const;
/* 8047F5CC */ void eff_smoke_slip_start();
/* 8047F634 */ void mode_wait_init();
/* 8047F6A8 */ void mode_wait();
/* 8047F8D4 */ void mode_walk_init();
/* 8047F8F4 */ void mode_walk();
/* 8047FCBC */ void mode_afl_init();
/* 8047FCE4 */ void mode_afl();
/* 8047FF5C */ void sound_slip();
/* 80480020 */ void sound_limit();
/* 804800E4 */ void sound_land();
/* 804801A8 */ void vib_land();
/* 804801FC */ void eff_land_smoke();
/* 8048027C */ void Execute(f32 (**)[3][4]);
/* 80480728 */ void Draw();
/* 804808FC */ void Delete();
static void* M_dir_base[2];
static void* const M_arcname[8];
static u8 const M_cyl_src[68];
static u8 const M_attr[1280];
};
struct BgcSrc_c {};
struct Bgc_c {
/* 8047DAEC */ Bgc_c();
/* 8047DBF0 */ void gnd_pos(daObjMovebox::Act_c const*, daObjMovebox::BgcSrc_c const*, int,
f32);
/* 8047DD88 */ void wrt_pos(cXyz const&);
/* 8047DE58 */ void wall_pos(daObjMovebox::Act_c const*, daObjMovebox::BgcSrc_c const*, int,
s16, f32);
/* 8047E134 */ void proc_vertical(daObjMovebox::Act_c*);
/* 8047E2D4 */ void chk_wall_pre(daObjMovebox::Act_c const*, daObjMovebox::BgcSrc_c const*,
int, s16);
/* 8047E350 */ void chk_wall_touch(daObjMovebox::Act_c const*,
daObjMovebox::BgcSrc_c const*, s16);
/* 8047E5A0 */ void chk_wall_touch2(daObjMovebox::Act_c const*,
daObjMovebox::BgcSrc_c const*, int, s16);
static u8 const M_lin5[80];
static u8 const M_lin20[368];
static u8 M_gnd_work[1932];
static u8 M_wrt_work[84];
static u8 M_wall_work[2576];
};
};
#endif /* D_A_OBJ_MOVEBOX_H */
@@ -4,10 +4,10 @@
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjProp_c : public fopAc_ac_c {
class daObjProp_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80CB51F8 */ daObjProp_c();
/* 80CB5234 */ virtual ~daObjProp_c();
/* 80CB52B4 */ bool createHeap();
/* 80CB5334 */ int create();
/* 80CB5408 */ int Delete();
@@ -19,10 +19,6 @@ public:
u32 getNameArg_0() { return fopAcM_GetParamBit(this, 0, 4); }
u32 getArg_0() { return fopAcM_GetParamBit(this, 4, 4); }
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 0x570 */ /* 80CB5234 */ virtual ~daObjProp_c();
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ u8 mArg;
}; // Size: 0x57C
@@ -4,10 +4,10 @@
#include "f_op/f_op_actor_mng.h"
#include "d/com/d_com_inf_game.h"
class daObjRCircle_c : public fopAc_ac_c {
class daObjRCircle_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80CB8678 */ daObjRCircle_c();
/* 80CB874C */ virtual ~daObjRCircle_c();
/* 80CB8814 */ int createHeap();
/* 80CB8928 */ int create();
/* 80CB8A28 */ int Delete();
@@ -18,10 +18,6 @@ public:
int getSwBit() { return fopAcM_GetParamBit(this, 0, 8) & 0xFF; }
/* 0x568 */ request_of_phase_process_class mPhaseReq;
/* 80CB874C */ virtual ~daObjRCircle_c();
/* 0x574 */ mDoExt_brkAnm mBrk;
/* 0x58C */ mDoExt_btkAnm mBtk;
/* 0x5A4 */ J3DModel* mpModel;
@@ -1,28 +1,42 @@
#ifndef D_A_OBJ_WIND_STONE_H
#define D_A_OBJ_WIND_STONE_H
#include "d/bg/d_bg_s.h"
#include "d/bg/d_bg_w.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daWindStone_c : public fopAc_ac_c {
class daWindStone_c : public fopAc_ac_c, public request_of_phase_process_class {
public:
/* 80D37A18 */ daWindStone_c();
/* 80D37A68 */ ~daWindStone_c();
/* 80D37AF4 */ void createHeap();
/* 80D37C20 */ void create();
/* 80D37F0C */ void execute();
/* 80D37F6C */ void draw();
/* 80D3806C */ void Delete();
/* 80D37A68 */ virtual ~daWindStone_c();
/* 80D37AF4 */ int createHeap();
/* 80D37C20 */ int create();
/* 80D37F0C */ int execute();
/* 80D37F6C */ int draw();
/* 80D3806C */ int Delete();
/* 80D3811C */ void setModelMtx();
/* 80D38180 */ void init();
/* 80D381EC */ void chkWlfInRange();
/* 80D38278 */ void chkEveOccur();
/* 80D381EC */ bool chkWlfInRange();
/* 80D38278 */ bool chkEveOccur();
/* 80D382C4 */ void exeModeHowl();
/* 80D3835C */ void exeModeMapDisp();
/* 80D383FC */ void chkMapDispMode();
/* 80D384C4 */ void getGoldWolfIdx();
/* 80D383FC */ bool chkMapDispMode();
/* 80D384C4 */ u8 getGoldWolfIdx();
s8 getTuneId() { return fopAcM_GetParamBit(this, 4, 4); }
int getNextSceneId() { return fopAcM_GetParamBit(this, 0, 4); }
u32 getSwBit1() { return orig.angle.x & 0xff; }
u32 getSwBit2() { return fopAcM_GetParamBit(this, 8, 8); }
u32 getDelEveFlgId() { return fopAcM_GetParamBit(this, 0x10, 0x10); }
/* 0x574 */ cBgS_PolyInfo mPolyInfo;
/* 0x584 */ J3DModel* mpModel;
/* 0x588 */ dBgW* mpBgW;
/* 0x58C */ Mtx field_0x58c;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ u32 field_0x5c0;
/* 0x5C4 */ u8 field_0x5c4;
};
#endif /* D_A_OBJ_WIND_STONE_H */