summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorhatal175 <hatal175@users.noreply.github.com>2024-12-28 05:16:59 +0200
committerGitHub <noreply@github.com>2024-12-27 19:16:59 -0800
commitc429ce21eb7cf4687da596c51fbc47249fbe4c13 (patch)
treecefe2fbec93fb91fd9f51ad92611aa5803cdc301 /include/d
parentad2badcd29f53cb6788455d2e7cf12717453770a (diff)
d_a_obj_cwall almost matching (#2270)
* d_a_obj_cwall almost matching * d_a_obj_pdoor OK
Diffstat (limited to 'include/d')
-rw-r--r--include/d/actor/d_a_obj_cwall.h73
-rw-r--r--include/d/actor/d_a_obj_pdoor.h39
-rw-r--r--include/d/actor/d_a_player.h4
3 files changed, 94 insertions, 22 deletions
diff --git a/include/d/actor/d_a_obj_cwall.h b/include/d/actor/d_a_obj_cwall.h
index 211775286f..5867f80d3d 100644
--- a/include/d/actor/d_a_obj_cwall.h
+++ b/include/d/actor/d_a_obj_cwall.h
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_CWALL_H
#define D_A_OBJ_CWALL_H
+#include "d/d_bg_s_movebg_actor.h"
+#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,21 +13,30 @@
* @details
*
*/
-class daObjCwall_c : public fopAc_ac_c {
+class daObjCwall_c : public dBgS_MoveBgActor {
public:
struct chain_s {
public:
/* 80BD6E94 */ ~chain_s();
/* 80BD6ED0 */ chain_s();
+
+ J3DModel* mModel;
+ cXyz mPos;
+ };
+
+ enum Type {
+ TYPE_0,
+ TYPE_1,
};
+ typedef void (daObjCwall_c::*modeFunc)();
/* 80BD6A4C */ void initBaseMtx();
/* 80BD6A88 */ void setBaseMtx();
- /* 80BD6AEC */ void Create();
- /* 80BD6D08 */ void CreateHeap();
- /* 80BD6ED4 */ void create1st();
- /* 80BD6F80 */ void Execute(f32 (**)[3][4]);
+ /* 80BD6AEC */ int Create();
+ /* 80BD6D08 */ int CreateHeap();
+ /* 80BD6ED4 */ int create1st();
+ /* 80BD6F80 */ int Execute(Mtx**);
/* 80BD7288 */ void setTension();
/* 80BD7718 */ void calcSePos();
/* 80BD7788 */ void getChainBasePos(cXyz*);
@@ -40,14 +51,54 @@ public:
/* 80BD8BC8 */ void initClose();
/* 80BD8BF0 */ void modeClose();
/* 80BD935C */ void setPower(f32, s16*);
- /* 80BD9414 */ void checkWall();
- /* 80BD95A0 */ void checkPullNow();
- /* 80BD977C */ void checkPull();
- /* 80BD9848 */ void Draw();
- /* 80BD9948 */ void Delete();
+ /* 80BD9414 */ BOOL checkWall();
+ /* 80BD95A0 */ BOOL checkPullNow();
+ /* 80BD977C */ BOOL checkPull();
+ /* 80BD9848 */ int Draw();
+ /* 80BD9948 */ int Delete();
+
+ u8 getArg0() { return fopAcM_GetParamBit(this, 0, 4); }
+ u8 getType() { return fopAcM_GetParamBit(this, 4, 4); }
+ u8 getSwbit() { return fopAcM_GetParamBit(this, 8, 8); }
private:
- /* 0x568 */ u8 field_0x568[0xf5c - 0x568];
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* mWallModel;
+ /* 0x5AC */ dCcD_Stts mStts;
+ /* 0x5E8 */ dCcD_Cyl mCyl;
+ /* 0x724 */ dCcD_Sph mSph;
+ /* 0x85C */ dCcD_Cyl mCyls[4];
+ /* 0xD4C */ dCcD_Cyl mCyl2;
+ /* 0xE88 */ J3DModel* mHandleModel;
+ /* 0xE8C */ chain_s* mChains;
+ /* 0xE90 */ u8 field_0xe90;
+ /* 0xE91 */ u8 field_0xe91;
+ /* 0xE92 */ u8 field_0xe92;
+ /* 0xE93 */ u8 field_0xe93;
+ /* 0xE94 */ cXyz field_0xe94[7];
+ /* 0xEE8*/ f32 field_0xee8[7];
+ /* 0xF04 */ u8 field_0xf04[7];
+ /* 0xF0B */ u8 field_0xf0b;
+ /* 0xF0C */ u8 field_0xf0c;
+ /* 0xF0D */ u8 field_0xf0d;
+ /* 0xF0E */ u8 field_0xf0e;
+ /* 0xF0F */ u8 field_0xf0f;
+ /* 0xF10 */ u8 field_0xf10;
+ /* 0xF11 */ u8 mType;
+ /* 0xF12 */ u8 field_0xf12;
+ /* 0xF14 */ s16 field_0xf14;
+ /* 0xF16 */ s16 field_0xf16;
+ /* 0xF18 */ s16 field_0xf18;
+ /* 0xF1A */ s16 field_0xf1a;
+ /* 0xF1C */ s16 field_0xf1c;
+ /* 0xF20 */ cXyz field_0xf20;
+ /* 0xF2C */ cXyz field_0xf2c;
+ /* 0xF38 */ cXyz field_0xf38;
+ /* 0xF44 */ cXyz field_0xf44;
+ /* 0xF50 */ f32 field_0xf50;
+ /* 0xF54 */ f32 field_0xf54;
+ /* 0xF58 */ u8 field_0xf58;
+ /* 0xF58 */ u8 field_0xf59;
};
STATIC_ASSERT(sizeof(daObjCwall_c) == 0xf5c);
diff --git a/include/d/actor/d_a_obj_pdoor.h b/include/d/actor/d_a_obj_pdoor.h
index feec7aed90..d7fa7813c5 100644
--- a/include/d/actor/d_a_obj_pdoor.h
+++ b/include/d/actor/d_a_obj_pdoor.h
@@ -1,6 +1,7 @@
#ifndef D_A_OBJ_PDOOR_H
#define D_A_OBJ_PDOOR_H
+#include "d/d_bg_s_movebg_actor.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,24 +12,44 @@
* @details
*
*/
-class daObjPDoor_c : public fopAc_ac_c {
+class daObjPDoor_c : public dBgS_MoveBgActor {
public:
+ typedef void (daObjPDoor_c::*modeFunc)();
+
+ enum Mode {
+ MODE_WAIT,
+ MODE_ROTATE,
+ };
+
/* 80CA9F9C */ void initBaseMtx();
/* 80CA9FD8 */ void setBaseMtx();
- /* 80CAA03C */ void Create();
- /* 80CAA14C */ void CreateHeap();
- /* 80CAA1BC */ void create1st();
- /* 80CAA23C */ void Execute(f32 (**)[3][4]);
+ /* 80CAA03C */ int Create();
+ /* 80CAA14C */ int CreateHeap();
+ /* 80CAA1BC */ int create1st();
+ /* 80CAA23C */ int Execute(Mtx**);
/* 80CAA290 */ void mode_proc_call();
/* 80CAA31C */ void init_modeWait();
/* 80CAA354 */ void modeWait();
/* 80CAA698 */ void init_modeRotate();
/* 80CAA6B4 */ void modeRotate();
- /* 80CAA968 */ void Draw();
- /* 80CAAA0C */ void Delete();
+ /* 80CAA968 */ int Draw();
+ /* 80CAAA0C */ int Delete();
+
+ u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
+ u8 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
-private:
- /* 0x568 */ u8 field_0x568[0x5c4 - 0x568];
+ /* 0x5A0 */ request_of_phase_process_class mPhase;
+ /* 0x5A8 */ J3DModel* mModel;
+ /* 0x5AC */ s8 mDoorDirection;
+ /* 0x5AD */ u8 mMode;
+ /* 0x5B0 */ int field_0x5b0;
+ /* 0x5B4 */ u8 field_0x5b4;
+ /* 0x5B5 */ u8 field_0x5b5;
+ /* 0x5B6 */ u8 field_0x5b6[2];
+ /* 0x5B8 */ s16 field_0x5b8;
+ /* 0x5BA */ s16 field_0x5ba;
+ /* 0x5BC */ s16 field_0x5bc;
+ /* 0x5C0 */ dBgW_Base::PushPullLabel mPushPullLabel;
};
STATIC_ASSERT(sizeof(daObjPDoor_c) == 0x5c4);
diff --git a/include/d/actor/d_a_player.h b/include/d/actor/d_a_player.h
index d044673891..1a8a8814b2 100644
--- a/include/d/actor/d_a_player.h
+++ b/include/d/actor/d_a_player.h
@@ -670,7 +670,7 @@ public:
static f32 getAttentionOffsetY();
static int checkNowWolfEyeUp();
static void forceRestartRoom(int, u32, int);
- static void setFmChainPos(fopAc_ac_c*, cXyz*, int);
+ static BOOL setFmChainPos(fopAc_ac_c*, cXyz*, int);
static void cancelFmChainGrab();
static void setLookPos(cXyz*);
static void setPlayerSe(u32);
@@ -698,7 +698,7 @@ public:
cXyz* getLeftFootPosP() { return &mLeftFootPos; }
BOOL checkCopyRodThrowAfter() const { return checkNoResetFlg3(FLG3_COPY_ROD_THROW_AFTER); }
BOOL checkRide() const { return checkHorseRide() || checkBoarRide() || checkSpinnerRide() || checkCanoeRide() || checkBoardRide(); }
- const cXyz& getRightHandPos() const { return mRightHandPos; }
+ cXyz getRightHandPos() const { return mRightHandPos; }
const cXyz getLeftHandPos() const { return mLeftHandPos; }
const cXyz getItemPos() const { return mItemPos; }