mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-19 05:22:39 -04:00
d_a_hookshot 33%
This commit is contained in:
@@ -109,6 +109,7 @@ public:
|
||||
}
|
||||
|
||||
void setUserArea(u32 area) { mpUserData = (void*)area; }
|
||||
u32 getUserArea() const { return (u32)mpUserData; }
|
||||
|
||||
virtual bool isSame(J3DMatPacket*) const;
|
||||
virtual int entry(J3DDrawBuffer*);
|
||||
|
||||
@@ -26,9 +26,10 @@ public:
|
||||
|
||||
virtual ~cBgS_LinChk() {}
|
||||
|
||||
void ClrHit() { field_0x4c &= ~16; }
|
||||
void SetHit() { field_0x4c |= 16; }
|
||||
u32 ChkHit() const { return field_0x4c & 16; }
|
||||
void ClrHit() { field_0x4c &= ~0x10; }
|
||||
void SetHit() { field_0x4c |= 0x10; }
|
||||
u32 ChkHit() const { return field_0x4c & 0x10; }
|
||||
void ClrSttsRoofOff() { field_0x4c &= ~0x20000000; }
|
||||
void SetCross(const cXyz& pos) { mLin.SetEnd(pos); }
|
||||
cXyz& i_GetCross() { return mLin.GetEnd(); }
|
||||
cM3dGLin* GetLinP() { return &mLin; }
|
||||
|
||||
@@ -34,7 +34,7 @@ enum cCcD_ObjAtType {
|
||||
/* 0x00001000 */ AT_TYPE_UNK1000 = (1 << 12),
|
||||
/* 0x00002000 */ AT_TYPE_UNK2000 = (1 << 13),
|
||||
/* 0x00004000 */ AT_TYPE_NORMAL_ARROW = (1 << 14),
|
||||
/* 0x00008000 */ AT_TYPE_UNK8000 = (1 << 15),
|
||||
/* 0x00008000 */ AT_TYPE_HOOKSHOT = (1 << 15),
|
||||
/* 0x00010000 */ AT_TYPE_SKULL_HAMMER = (1 << 16),
|
||||
/* 0x00020000 */ AT_TYPE_UNK20000 = (1 << 17),
|
||||
/* 0x00040000 */ AT_TYPE_FIRE_ARROW = (1 << 18),
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
struct counter_class {
|
||||
u32 mCounter0;
|
||||
s32 mCounter1;
|
||||
s32 mTimer;
|
||||
u32 mTimer;
|
||||
};
|
||||
|
||||
extern counter_class g_Counter;
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
#ifndef D_A_HOOKSHOT_H
|
||||
#define D_A_HOOKSHOT_H
|
||||
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_bg_s_lin_chk.h"
|
||||
#include "d/d_bg_s_gnd_chk.h"
|
||||
|
||||
class daHookshot_shape : public J3DPacket {
|
||||
public:
|
||||
void draw();
|
||||
daHookshot_shape() {}
|
||||
~daHookshot_shape() {}
|
||||
};
|
||||
|
||||
class daHookshot_c : public fopAc_ac_c {
|
||||
public:
|
||||
typedef BOOL (daHookshot_c::*ProcFunc)();
|
||||
|
||||
int getChainCnt() { return mChainCnt; }
|
||||
void onObjHookFlg() {}
|
||||
void offObjHookFlg() {}
|
||||
void setObjSightCrossPos(const cXyz*) {}
|
||||
void getObjSightCrossPos() {}
|
||||
|
||||
daHookshot_c() {}
|
||||
BOOL draw();
|
||||
BOOL procWait_init(int);
|
||||
BOOL procWait();
|
||||
BOOL procShot();
|
||||
BOOL procPlayerPull();
|
||||
BOOL procReturn();
|
||||
BOOL execute();
|
||||
BOOL hookshot_delete();
|
||||
s32 create();
|
||||
|
||||
public:
|
||||
/* 0x290 */ daHookshot_shape mShape;
|
||||
/* 0x2A0 */ bool m2A0;
|
||||
/* 0x2A1 */ u8 m2A1;
|
||||
/* 0x2A2 */ u8 m2A2;
|
||||
/* 0x2A3 */ u8 m2A3;
|
||||
/* 0x2A4 */ s16 m2A4;
|
||||
/* 0x2A6 */ u16 m2A6;
|
||||
/* 0x2A8 */ int mChainCnt;
|
||||
/* 0x2AC */ u32 mMtrlSndId;
|
||||
/* 0x2B0 */ int m2B0;
|
||||
/* 0x2B4 */ s16 m2B4;
|
||||
/* 0x2B6 */ s16 m2B6;
|
||||
/* 0x2B8 */ s16 m2B8;
|
||||
/* 0x2BA */ csXyz m2BA;
|
||||
/* 0x2C0 */ cXyz m2C0;
|
||||
/* 0x2CC */ cXyz m2CC;
|
||||
/* 0x2D8 */ dBgS_RopeLinChk mLinChk;
|
||||
/* 0x344 */ dBgS_ObjGndChk mGndChk;
|
||||
/* 0x398 */ dCcD_Stts mStts;
|
||||
/* 0x3D4 */ dCcD_Cps mCps;
|
||||
/* 0x50C */ cXyz m50C;
|
||||
/* 0x518 */ u32 m518;
|
||||
/* 0x51C */ Mtx m51C;
|
||||
/* 0x54C */ ProcFunc mCurrProcFunc;
|
||||
};
|
||||
|
||||
// dBgS_RopeLinChk
|
||||
|
||||
#endif /* D_A_HOOKSHOT_H */
|
||||
@@ -1222,7 +1222,7 @@ public:
|
||||
|
||||
void getBoomerangCatchPos() const;
|
||||
void getLineTopPos();
|
||||
void getHookshotRootPos() const;
|
||||
cXyz getHookshotRootPos() const { return mHookshotRootPos; }
|
||||
void seStartOnlyReverb(u32);
|
||||
void seStartMapInfo(u32);
|
||||
void seStartSwordCut(u32);
|
||||
@@ -2087,7 +2087,7 @@ public:
|
||||
virtual void voiceStart(u32);
|
||||
virtual void setOutPower(f32, s16, int);
|
||||
virtual void onFrollCrashFlg(u32);
|
||||
virtual MtxP getModelJointMtx(u16);
|
||||
virtual MtxP getModelJointMtx(u16 idx) { return mpCLModel->getAnmMtx(idx); }
|
||||
virtual f32 getOldSpeedY();
|
||||
virtual BOOL setHookshotCarryOffset(unsigned int, const cXyz*);
|
||||
virtual void setPlayerPosAndAngle(cXyz*, s16);
|
||||
@@ -2404,7 +2404,7 @@ public:
|
||||
/* 0x36C4 */ cXyz m36C4;
|
||||
/* 0x36D0 */ cXyz m36D0;
|
||||
/* 0x36DC */ cXyz m36DC;
|
||||
/* 0x36E8 */ cXyz m36E8;
|
||||
/* 0x36E8 */ cXyz mHookshotRootPos;
|
||||
/* 0x36F4 */ u8 m36F4[0x3700 - 0x36F4];
|
||||
/* 0x3700 */ cXyz m3700;
|
||||
/* 0x370C */ cXyz m370C;
|
||||
|
||||
@@ -31,7 +31,7 @@ class dBgS_RopeLinChk : public dBgS_LinChk {
|
||||
public:
|
||||
dBgS_RopeLinChk() { SetRope(); }
|
||||
|
||||
virtual ~dBgS_RopeLinChk();
|
||||
virtual ~dBgS_RopeLinChk() {}
|
||||
};
|
||||
|
||||
class dBgS_BoomerangLinChk : public dBgS_LinChk {
|
||||
|
||||
@@ -2122,10 +2122,18 @@ inline s32 dComIfGd_getLightModelNum() {
|
||||
return g_dComIfG_gameInfo.drawlist.getLightModelNum();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getOpaListP1() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListP1();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getListFilter() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaListFilter();
|
||||
}
|
||||
|
||||
inline J3DDrawBuffer* dComIfGd_getList2D() {
|
||||
return g_dComIfG_gameInfo.drawlist.getOpaList2D();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setList() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaList();
|
||||
g_dComIfG_gameInfo.drawlist.setXluList();
|
||||
|
||||
@@ -343,7 +343,9 @@ public:
|
||||
static void wipeIn(f32);
|
||||
void calcWipe();
|
||||
|
||||
J3DDrawBuffer* getOpaListP1() { return mpOpaListP1; }
|
||||
J3DDrawBuffer* getOpaListFilter() { return mpOpaListFilter; }
|
||||
J3DDrawBuffer* getOpaList2D() { return mpOpaList2D; }
|
||||
|
||||
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
|
||||
@@ -418,6 +418,7 @@ void dKy_Itemgetcol_chg_move();
|
||||
void dKy_arrowcol_chg_on(cXyz*, int);
|
||||
void dKy_arrowcol_chg_move();
|
||||
void dKy_setLight_init();
|
||||
void dKy_GxFog_set();
|
||||
void GxXFog_set();
|
||||
void dKy_set_actcol_ratio(f32 ratio);
|
||||
void dKy_set_bgcol_ratio(f32 ratio);
|
||||
|
||||
@@ -31,6 +31,7 @@ enum fopAc_Status_e {
|
||||
fopAcStts_UNK2000000_e = 0x02000000,
|
||||
fopAcStts_BOSS_e = 0x04000000,
|
||||
fopAcStts_UNK8000000_e = 0x08000000,
|
||||
fopAcStts_UNK10000000_e = 0x10000000,
|
||||
};
|
||||
|
||||
enum fopAc_Condition_e {
|
||||
|
||||
@@ -95,15 +95,6 @@ inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
|
||||
return pActor->mStatus & fopAcStts_CARRY_e;
|
||||
}
|
||||
|
||||
enum fopAcM_CARRY {
|
||||
/* 0x01 */ fopAcM_CARRY_TYPE_1 = 1,
|
||||
/* 0x02 */ fopAcM_CARRY_HEAVY = 2,
|
||||
/* 0x04 */ fopAcM_CARRY_SIDE = 4,
|
||||
/* 0x08 */ fopAcM_CARRY_TYPE_8 = 8,
|
||||
/* 0x10 */ fopAcM_CARRY_LIGHT = 16, // guess based on context
|
||||
/* 0x30 */ fopAcM_CARRY_UNK_30 = 0x30,
|
||||
};
|
||||
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
|
||||
return fopAcM_checkStatus(pActor, fopAcStts_HOOK_CARRY_e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user