d_a_obj_wsStick, d_a_obj_onsenTaru OK (#2268)

* d_a_obj_wsStick, d_a_obj_onsenTaru OK

* d_a_obj_pdtile OK

* d_a_obj_stone equivalent

* d_a_npc_lf OK

* Z2SoundMgr OK

* Remove fixed nonmatching comment

* d_a_obj_kantera OK

* Remove unneeded header

* daMyna_c::deleteItem matching

* d_a_obj_crvsteel OK
This commit is contained in:
hatal175
2024-12-24 12:36:01 +02:00
committed by GitHub
parent e3842d6d39
commit 87f3899f11
30 changed files with 1964 additions and 3000 deletions
+1 -1
View File
@@ -19,7 +19,7 @@ public:
JAISoundID() {}
bool isAnonymous() { return mId.mFullId == 0xffffffff; }
bool isAnonymous() const { return mId.mFullId == 0xffffffff; }
void setAnonymous() { mId.mFullId = -1; }
union {
+1
View File
@@ -45,6 +45,7 @@ enum cCcD_ObjAtType {
/* 0x00004000 */ AT_TYPE_HOOKSHOT = (1 << 14),
/* 0x00008000 */ AT_TYPE_8000 = (1 << 15),
/* 0x00010000 */ AT_TYPE_BOOMERANG = (1 << 16),
/* 0x00020000 */ AT_TYPE_20000 = (1 << 17),
/* 0x00040000 */ AT_TYPE_40000 = (1 << 18),
/* 0x00080000 */ AT_TYPE_SPINNER = (1 << 19),
/* 0x00100000 */ AT_TYPE_CSTATUE_BOSS_SWING = (1 << 20),
+2 -2
View File
@@ -215,8 +215,8 @@ struct Z2Audience : public JAIAudience, public JASGlobalInstance<Z2Audience> {
/* 802BD71C */ virtual void mixChannelOut(JASSoundParams const&, JAIAudible*, int);
Z2SpotMic* getLinkMic() { return mLinkMic; }
JGeometry::TVec3<f32> getAudioCamPos() {
return *mAudioCamera[0].getPos();
JGeometry::TVec3<f32> getAudioCamPos(int idx) {
return *mAudioCamera[idx].getPos();
}
Z2Audience3DSetting* getSetting() { return &mSetting; }
+2 -2
View File
@@ -8,8 +8,8 @@ struct lf_s {
/* 80A6A8E0 */ lf_s();
/* 0x00 */ J3DModel* mpModel;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ csXyz field_0x10;
/* 0x04 */ cXyz mPos;
/* 0x10 */ csXyz mAngle;
/* 0x16 */ s8 field_0x16;
/* 0x17 */ s8 field_0x17;
/* 0x18 */ s16 field_0x18;
+24 -8
View File
@@ -1,6 +1,9 @@
#ifndef D_A_OBJ_CRVSTEEL_H
#define D_A_OBJ_CRVSTEEL_H
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,7 +14,7 @@
* @details
*
*/
class daObjCRVSTEEL_c : public fopAc_ac_c {
class daObjCRVSTEEL_c : public dBgS_MoveBgActor {
public:
/* 80BD5BFC */ void OpenSet(f32, f32);
/* 80BD5C18 */ void CloseSet(f32);
@@ -19,15 +22,28 @@ public:
/* 80BD5CA0 */ void OpenExecute();
/* 80BD5CC8 */ void Action();
/* 80BD5D10 */ void setBaseMtx();
/* 80BD5DB8 */ void CreateHeap();
/* 80BD5E30 */ void create();
/* 80BD60A8 */ void Create();
/* 80BD60EC */ void Execute(f32 (**)[3][4]);
/* 80BD6138 */ void Draw();
/* 80BD61BC */ void Delete();
/* 80BD5DB8 */ int CreateHeap();
/* 80BD5E30 */ int create();
/* 80BD60A8 */ int Create();
/* 80BD60EC */ int Execute(Mtx**);
/* 80BD6138 */ int Draw();
/* 80BD61BC */ int Delete();
private:
/* 0x568 */ u8 field_0x568[0x848 - 0x568];
/* 0x5A0 */ u32 mSmokeParticle1;
/* 0x5A4 */ u32 mSmokeParticle2;
/* 0x5A8 */ s16 mAction;
/* 0x5AC */ f32 mMaxHeight;
/* 0x5B0 */ f32 mMinHeight;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ J3DModel* mModel;
/* 0x5C4 */ request_of_phase_process_class mPhase;
/* 0x5CC */ dBgS_AcchCir mAcchCir;
/* 0x60C */ dBgS_ObjAcch mAcch;
/* 0x7E4 */ dCcD_Stts mStts;
/* 0x820 */ u8 field_0x820[0x848 - 0x820];
};
STATIC_ASSERT(sizeof(daObjCRVSTEEL_c) == 0x848);
+2
View File
@@ -13,6 +13,8 @@
*/
class daItemKantera_c : public daItemBase_c {
public:
typedef int (daItemKantera_c::*actionFunc)();
/* 80C389BC */ void initBaseMtx();
/* 80C389F8 */ void setBaseMtx();
/* 80C38A64 */ int Create();
+48 -9
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_PDTILE_H
#define D_A_OBJ_PDTILE_H
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -11,20 +13,57 @@
* @details
*
*/
class daObjPDtile_c : public fopAc_ac_c {
class daObjPDtile_c : public dBgS_MoveBgActor, request_of_phase_process_class {
public:
/* 80CAACE0 */ void create1st();
enum Type {
TYPE_0,
TYPE_1,
TYPE_2,
TYPE_3,
TYPE_4,
};
/* 80CAACE0 */ int create1st();
/* 80CAAE80 */ void setMtx();
/* 80CAAF90 */ void rideActor(fopAc_ac_c*);
/* 80CAB1F0 */ void CreateHeap();
/* 80CAB258 */ void Create();
/* 80CAB374 */ void Execute(f32 (**)[3][4]);
/* 80CABF50 */ void Draw();
/* 80CAC094 */ void Delete();
/* 80CAC374 */ ~daObjPDtile_c();
/* 80CAB1F0 */ int CreateHeap();
/* 80CAB258 */ int Create();
/* 80CAB374 */ int Execute(Mtx**);
/* 80CABF50 */ int Draw();
/* 80CAC094 */ int Delete();
/* 80CAC374 */ virtual ~daObjPDtile_c() {}
u8 getType() { return fopAcM_GetParamBit(this, 0, 4); }
private:
/* 0x568 */ u8 field_0x568[0x7fc - 0x568];
/* 0x5A8 */ Mtx mBgMtx;
/* 0x5D8 */ Mtx field_0x5d8;
/* 0x608 */ J3DModel* mModel;
/* 0x60C */ Type mType;
/* 0x610 */ int field_0x610;
/* 0x614 */ u8 field_0x614;
/* 0x618 */ int field_0x618;
/* 0x61C */ f32 field_0x61c;
/* 0x620 */ cXyz field_0x620;
/* 0x62C */ f32 field_0x62c;
/* 0x630 */ u8 field_0x630;
/* 0x634 */ dCcD_Stts mStts;
/* 0x670 */ dCcD_Cyl mCyl;
/* 0x7AC */ int field_0x7ac;
/* 0x7B0 */ s16 field_0x7b0;
/* 0x7B2 */ s16 field_0x7b2;
/* 0x7B4 */ u8 field_0x7b4;
/* 0x7B5 */ u8 field_0x7b5;
/* 0x7B8 */ int field_0x7b8;
/* 0x7BC */ char* mArcName;
/* 0x7C0 */ u32 mDzbId;
/* 0x7C4 */ u32 mBmdId;
/* 0x7C8 */ Vec* mCullBox;
/* 0x7CC */ f32 field_0x7cc;
/* 0x7D0 */ u8 field_0x7d0;
/* 0x7D4 */ int field_0x7d4;
/* 0x7D8 */ int field_0x7d8;
/* 0x7DC */ Z2SoundObjSimple mSoundObj;
};
STATIC_ASSERT(sizeof(daObjPDtile_c) == 0x7fc);
+8 -3
View File
@@ -18,6 +18,8 @@ enum {
*/
class daObjStone_c : public fopAc_ac_c {
public:
typedef void (daObjStone_c::*modeFunc)();
u8 getType() { return fopAcM_GetParamBit(this,0,4); }
u8 getItemType() { return fopAcM_GetParamBit(this,4,2); }
u8 getItemNo() { return fopAcM_GetParamBit(this,8,8); }
@@ -67,7 +69,7 @@ private:
/* 0x0908 */ u8 field_0x0908;
/* 0x090C */ u32 mMode; // maybe a better name for this
/* 0x0910 */ cXyz field_0x0910;
/* 0x091C */ u16 field_0x091c;
/* 0x091C */ s16 field_0x091c;
/* 0x091E */ u8 field_0x091E[0x0920 - 0x091E];
/* 0x0920 */ Quaternion field_0x0920;
/* 0x0930 */ Quaternion field_0x0930;
@@ -75,11 +77,14 @@ private:
/* 0x0944 */ f32 mLastPosY;
/* 0x0948 */ f32 mLastSpeedY; // maybe a better name for this
/* 0x094C */ u8 field_0x094c;
/* 0x094C */ u8 field_0x094d;
/* 0x094D */ u8 field_0x094d;
/* 0x094E */ bool mIsInWater;
/* 0x094F */ u8 field_0x094f;
/* 0x0950 */ u8 field_0x0950;
/* 0x0951 */ u8 field_0x0951[0x0960 - 0x0951];
/* 0x0951 */ u8 field_0x0951;
/* 0x0954 */ u32 field_0x0954;
/* 0x0954 */ u32 field_0x0958;
/* 0x0954 */ u32 field_0x095c;
/* 0x0960 */ u32 field_0x0960;
/* 0x0964 */ JPABaseEmitter* field_0x0964[3];
/* 0x0970 */ Z2SoundObjSimple mSound;
+57 -12
View File
@@ -1,6 +1,8 @@
#ifndef D_A_OBJ_WDSTICK_H
#define D_A_OBJ_WDSTICK_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -13,14 +15,24 @@
*/
class daWdStick_c : public fopAc_ac_c {
public:
typedef void (daWdStick_c::*modeFunc)();
enum Mode {
MODE_WAIT,
MODE_CARRY,
MODE_DROP,
MODE_ROLL,
MODE_SINK,
};
/* 80D31BD0 */ void setBaseMtx();
/* 80D31C58 */ void CreateHeap();
/* 80D31CC4 */ void create();
/* 80D32168 */ void createHeapCallBack(fopAc_ac_c*);
/* 80D31C58 */ virtual int CreateHeap();
/* 80D31CC4 */ int create();
/* 80D32168 */ static int createHeapCallBack(fopAc_ac_c*);
/* 80D32194 */ void lightInit();
/* 80D32198 */ void setLight();
/* 80D3219C */ void setFire();
/* 80D3269C */ void Execute();
/* 80D3269C */ virtual int Execute();
/* 80D32DB4 */ void bgCheck();
/* 80D33348 */ void setBoundSe();
/* 80D333F4 */ void mode_proc_call();
@@ -32,25 +44,58 @@ public:
/* 80D33890 */ void mode_proc_drop();
/* 80D338DC */ void mode_init_roll();
/* 80D338F4 */ void mode_proc_roll();
/* 80D33D44 */ void chkWaterLineIn();
/* 80D33D44 */ BOOL chkWaterLineIn();
/* 80D33D68 */ void mode_init_sink();
/* 80D33D8C */ void mode_proc_sink();
/* 80D33EB0 */ void Draw();
/* 80D33F14 */ void Delete();
/* 80D33EB0 */ virtual int Draw();
/* 80D33F14 */ virtual int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDSph[64];
static dCcD_SrcGObjInf const mCcDObjInfo;
static dCcD_SrcSph mCcDSph;
private:
/* 0x568 */ u8 field_0x568[0xaf8 - 0x568];
/* 0x56C */ request_of_phase_process_class mPhase;
/* 0x574 */ J3DModel* mModel;
/* 0x578 */ u8 mMode;
/* 0x579 */ bool misCarrying;
/* 0x57C */ cXyz field_0x57c;
/* 0x588 */ u8 field_0x588[0x594 - 0x588];
/* 0x594 */ cXyz field_0x594;
/* 0x5A0 */ dBgS_ObjAcch mAcch;
/* 0x778 */ dBgS_AcchCir mAcchCir;
/* 0x7B8 */ dCcD_Stts mStts;
/* 0x7F4 */ dCcD_Sph mSph1;
/* 0x92C */ dCcD_Sph mSph2;
/* 0xA64 */ cXyz field_0xa64;
/* 0xA70 */ cXyz field_0xa70;
/* 0xA7C */ cXyz field_0xa7c;
/* 0xA88 */ cXyz field_0xa88;
/* 0xA94 */ cXyz field_0xa94;
/* 0xAA0 */ cXyz field_0xaa0;
/* 0xAAC */ u8 field_0xaac;
/* 0xAAD */ u8 field_0xaad;
/* 0xAAE */ u16 field_0xaae;
/* 0xAB0 */ u16 field_0xab0;
/* 0xAB4 */ cXyz field_0xab4;
/* 0xAC0 */ cXyz field_0xac0;
/* 0xACC */ cXyz field_0xacc;
/* 0xAD8 */ cXyz field_0xad8;
/* 0xAE4 */ u32 field_0xae4[2];
/* 0xAEC */ u32 field_0xaec[2];
/* 0xAF4 */ u8 field_0xaf4;
};
STATIC_ASSERT(sizeof(daWdStick_c) == 0xaf8);
class daWdStick_HIO_c {
class daWdStick_HIO_c : public mDoHIO_entry_c {
public:
/* 80D31B4C */ daWdStick_HIO_c();
/* 80D34030 */ ~daWdStick_HIO_c();
/* 80D34030 */ virtual ~daWdStick_HIO_c() {}
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ s16 field_0x06;
/* 0x08 */ u8 field_0x08;
};
+1
View File
@@ -894,6 +894,7 @@ public:
bool checkCargoCarry() const { return mSpecialMode == SMODE_CARGO_CARRY; }
bool getHeavyStateAndBoots() { return checkNoResetFlg0(FLG0_HVY_STATE); }
bool checkEnemyAttentionLock() const { return checkResetFlg0(RFLG0_ENEMY_ATTN_LOCK); }
bool getGrabUpStart() const { return checkResetFlg0(RFLG0_UNK_8000); }
bool checkCanoeSlider() const { return mSpecialMode == 0x2D; }
bool checkGoatStopGame() const { return mSpecialMode == 0x2A; }
u8 getCutType() const { return mCutType; }