mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-16 04:44:26 -04:00
Merge branch 'main' of https://github.com/zeldaret/tww into agb
This commit is contained in:
@@ -8,10 +8,10 @@ class J3DUClipper {
|
||||
public:
|
||||
J3DUClipper() { init(); }
|
||||
virtual ~J3DUClipper() {}
|
||||
/* 80273778 */ void init();
|
||||
/* 8027378C */ void calcViewFrustum();
|
||||
/* 802738FC */ u32 clip(f32 const (*)[4], Vec, f32) const;
|
||||
/* 80273A44 */ u32 clip(f32 const (*)[4], Vec*, Vec*) const;
|
||||
void init();
|
||||
void calcViewFrustum();
|
||||
u32 clip(const Mtx, Vec, f32);
|
||||
u32 clip(const Mtx, Vec*, Vec*);
|
||||
|
||||
void setFovy(f32 fovy) { mFovY = fovy; }
|
||||
void setAspect(f32 aspect) { mAspect = aspect; }
|
||||
|
||||
@@ -12,8 +12,6 @@
|
||||
#include "dolphin/gx/GXStruct.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
|
||||
class JPACallBackBase;
|
||||
class JPACallBackBase2;
|
||||
class JPADataBlockLinkInfo;
|
||||
|
||||
enum {
|
||||
@@ -26,6 +24,18 @@ enum {
|
||||
JPAEmtrStts_Immortal = 0x40,
|
||||
};
|
||||
|
||||
template<typename T>
|
||||
class JPACallBackBase {
|
||||
public:
|
||||
JPACallBackBase() {}
|
||||
virtual ~JPACallBackBase();
|
||||
|
||||
virtual void init(JPABaseEmitter*);
|
||||
virtual void execute(JPABaseEmitter*);
|
||||
virtual void executeAfter(JPABaseEmitter*);
|
||||
virtual void draw(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
class JPABaseEmitter {
|
||||
public:
|
||||
typedef void (JPABaseEmitter::*VolumeFunc)();
|
||||
@@ -111,7 +121,7 @@ public:
|
||||
/* 0x188 */ JSUPtrList mChildParticles;
|
||||
/* 0x194 */ JSUPtrList* mpPtclVacList;
|
||||
/* 0x198 */ JPADataBlockLinkInfo* mpDataLinkInfo;
|
||||
/* 0x19C */ JPACallBackBase* mpEmitterCallBack;
|
||||
/* 0x19C */ JPACallBackBase<JPABaseEmitter>* mpEmitterCallBack;
|
||||
/* 0x1A0 */ JPACallBackBase2* mpParticleCallBack;
|
||||
/* 0x1A4 */ JMath::TRandom_fast_ mRandomSeed;
|
||||
/* 0x1A8 */ Mtx mGlobalRotation;
|
||||
|
||||
@@ -23,15 +23,15 @@ public:
|
||||
void Val(const cSAngle&);
|
||||
void Val(s16);
|
||||
void Val(float);
|
||||
float Degree(void) const;
|
||||
float Radian(void) const;
|
||||
float Norm(void) const;
|
||||
s16 Abs(void) const;
|
||||
s16 Inv(void) const;
|
||||
float Sin(void) const;
|
||||
float Cos(void) const;
|
||||
float Tan(void) const;
|
||||
cSAngle operator-(void) const;
|
||||
float Degree() const;
|
||||
float Radian() const;
|
||||
float Norm() const;
|
||||
s16 Abs() const;
|
||||
s16 Inv() const;
|
||||
float Sin() const;
|
||||
float Cos() const;
|
||||
float Tan() const;
|
||||
cSAngle operator-() const;
|
||||
cSAngle operator+(const cSAngle&) const;
|
||||
cSAngle operator-(const cSAngle&) const;
|
||||
void operator+=(const cSAngle&);
|
||||
@@ -44,10 +44,10 @@ public:
|
||||
void operator*=(float);
|
||||
bool operator<(const cSAngle& other) const { return mAngle < other.mAngle; }
|
||||
bool operator>(const cSAngle& other) const { return mAngle > other.mAngle; }
|
||||
operator s16(void) const { return mAngle; }
|
||||
operator s16() const { return mAngle; }
|
||||
void operator=(const cSAngle& other) { mAngle = other.mAngle; }
|
||||
static inline cSAngle getMaxNegative(void) { return cSAngle((s16)-0x8000); }
|
||||
inline void mirrorAtMaxNeg(void) { *this = cSAngle((s16)-0x8000) - *this; }
|
||||
static inline cSAngle getMaxNegative() { return cSAngle((s16)-0x8000); }
|
||||
inline void mirrorAtMaxNeg() { *this = cSAngle((s16)-0x8000) - *this; }
|
||||
};
|
||||
|
||||
cSAngle operator+(short, const cSAngle&);
|
||||
@@ -91,11 +91,11 @@ public:
|
||||
cDegree(float);
|
||||
~cDegree() {}
|
||||
|
||||
cDegree& Formal(void);
|
||||
cDegree& Formal();
|
||||
void Val(float);
|
||||
float Radian(void) const;
|
||||
float Sin(void) const;
|
||||
float Cos(void) const;
|
||||
float Radian() const;
|
||||
float Sin() const;
|
||||
float Cos() const;
|
||||
};
|
||||
|
||||
class cSPolar {
|
||||
@@ -107,10 +107,10 @@ private:
|
||||
public:
|
||||
cSPolar() {}
|
||||
cSPolar(const cXyz&);
|
||||
cSPolar& Formal(void);
|
||||
cSPolar& Formal();
|
||||
void Val(float, short, short);
|
||||
void Val(const cXyz&);
|
||||
cXyz Xyz(void) const;
|
||||
cXyz Xyz() const;
|
||||
void Globe(class cSGlobe*) const;
|
||||
};
|
||||
|
||||
@@ -126,18 +126,18 @@ public:
|
||||
cSGlobe(float, const cSAngle&, const cSAngle&);
|
||||
cSGlobe(const cXyz&);
|
||||
~cSGlobe() {}
|
||||
cSGlobe& Formal(void);
|
||||
cSGlobe& Formal();
|
||||
void Val(const cSGlobe&);
|
||||
void Val(float, short, short);
|
||||
void Val(float, const cSAngle&, const cSAngle&);
|
||||
void Val(const cXyz&);
|
||||
float R(void) const { return mRadius; }
|
||||
const cSAngle& V(void) const { return mAzimuth; }
|
||||
const cSAngle& U(void) const { return mInclination; }
|
||||
cXyz Xyz(void) const;
|
||||
float R() const { return mRadius; }
|
||||
const cSAngle& V() const { return mAzimuth; }
|
||||
const cSAngle& U() const { return mInclination; }
|
||||
cXyz Xyz() const;
|
||||
void Polar(cSPolar*) const;
|
||||
cXyz Norm(void) const;
|
||||
cSGlobe& Invert(void);
|
||||
cXyz Norm() const;
|
||||
cSGlobe& Invert();
|
||||
};
|
||||
|
||||
#endif /* C_ANGLE_H */
|
||||
|
||||
@@ -58,7 +58,7 @@ int cM3d_Cross_LinSph_CrossPos(const cM3dGSph&, const cM3dGLin&, Vec*, Vec*);
|
||||
bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, f32*);
|
||||
bool cM3d_Cross_CylSph(const cM3dGCyl*, const cM3dGSph*, Vec*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*);
|
||||
static bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, f32*, f32*);
|
||||
bool cM3d_Cross_SphSph(const cM3dGSph*, const cM3dGSph*, Vec*);
|
||||
static void cM3d_CalcSphVsTriCrossPoint(const cM3dGSph*, const cM3dGTri*, Vec*);
|
||||
bool cM3d_Cross_SphTri(const cM3dGSph*, const cM3dGTri*, Vec*);
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
|
||||
class daItem_c : public daItemBase_c {
|
||||
public:
|
||||
daItem_c() : mPtclFollowCb(0, 0), mPtclSmokeCb(1) {}
|
||||
|
||||
float getYOffset();
|
||||
void set_mtx();
|
||||
void set_mtx_base(J3DModel*, cXyz, csXyz);
|
||||
@@ -54,6 +56,8 @@ public:
|
||||
s32 setLock();
|
||||
s32 releaseLock();
|
||||
s32 checkActionNow();
|
||||
|
||||
static dCcD_SrcCyl m_cyl_src;
|
||||
|
||||
public:
|
||||
/* 0x63C */ cXyz mScaleTarget;
|
||||
@@ -70,10 +74,10 @@ public:
|
||||
/* 0x669 */ u8 mStatusFlags;
|
||||
/* 0x66A */ u8 mMode;
|
||||
/* 0x66B */ u8 mCurState;
|
||||
/* 0x66C */ u8 field23_0x66c[0x6BC - 0x66C];
|
||||
// /* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
|
||||
// /* 0x688 */ dPa_followEcallBack mPtclFollowCb;
|
||||
// /* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb;
|
||||
/* 0x66C */ u8 field23_0x66c[0x674 - 0x66C];
|
||||
/* 0x674 */ dPa_rippleEcallBack mPtclRippleCb;
|
||||
/* 0x688 */ dPa_followEcallBack mPtclFollowCb;
|
||||
/* 0x69C */ dPa_smokeEcallBack mPtclSmokeCb;
|
||||
/* 0x6BC */ JPABaseEmitter* mpParticleEmitter;
|
||||
};
|
||||
|
||||
|
||||
@@ -36,9 +36,9 @@ STATIC_ASSERT(sizeof(daItemBase_c_m_data) == 0x4C);
|
||||
|
||||
struct daItemBase_c : public fopAc_ac_c {
|
||||
public:
|
||||
s32 DeleteBase(const char*);
|
||||
s32 CreateItemHeap(const char*, short, short, short, short, short, short, short);
|
||||
virtual s32 DrawBase();
|
||||
BOOL DeleteBase(const char*);
|
||||
BOOL CreateItemHeap(const char*, short, short, short, short, short, short, short);
|
||||
virtual BOOL DrawBase();
|
||||
virtual void setListStart();
|
||||
void setListEnd();
|
||||
virtual void settingBeforeDraw();
|
||||
@@ -46,7 +46,7 @@ public:
|
||||
virtual void setShadow();
|
||||
virtual void animEntry();
|
||||
void animPlay(float, float, float, float, float);
|
||||
virtual s32 clothCreate();
|
||||
virtual BOOL clothCreate();
|
||||
|
||||
void getItemNo();
|
||||
void getHeight();
|
||||
@@ -65,21 +65,21 @@ public:
|
||||
|
||||
public:
|
||||
/* 0x294 */ request_of_phase_process_class mPhs;
|
||||
/* 0x29C */ J3DModel* mModel;
|
||||
/* 0x2A0 */ J3DModel* mModelArrow[2]; // Extra models for arrow bundles
|
||||
/* 0x2A8 */ mDoExt_btkAnm* mBtkAnm1;
|
||||
/* 0x2AC */ mDoExt_btkAnm* mBtkAnm2;
|
||||
/* 0x2B0 */ mDoExt_brkAnm* mBrkAnm1;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* mBrkAnm2;
|
||||
/* 0x2B8 */ mDoExt_bckAnm* mBckAnm;
|
||||
/* 0x29C */ J3DModel* mpModel;
|
||||
/* 0x2A0 */ J3DModel* mpModelArrow[2]; // Extra models for arrow bundles
|
||||
/* 0x2A8 */ mDoExt_btkAnm* mpBtkAnm1;
|
||||
/* 0x2AC */ mDoExt_btkAnm* mpBtkAnm2;
|
||||
/* 0x2B0 */ mDoExt_brkAnm* mpBrkAnm1;
|
||||
/* 0x2B4 */ mDoExt_brkAnm* mpBrkAnm2;
|
||||
/* 0x2B8 */ mDoExt_bckAnm* mpBckAnm;
|
||||
/* 0x2BC */ dBgS_ObjAcch mAcch;
|
||||
/* 0x480 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x4C0 */ dCcD_Stts mStts;
|
||||
/* 0x4FC */ dCcD_Cyl mCyl;
|
||||
/* 0x62C */ u8 field14_0x62c[0x630 - 0x62C];
|
||||
/* 0x630 */ int mPickupFlag;
|
||||
/* 0x634 */ int field19_0x634;
|
||||
/* 0x638 */ short field20_0x638;
|
||||
/* 0x62C */ s32 mShadowId;
|
||||
/* 0x630 */ s32 mPickupFlag;
|
||||
/* 0x634 */ s32 field_0x634;
|
||||
/* 0x638 */ s16 field_0x638;
|
||||
/* 0x63A */ u8 m_itemNo;
|
||||
/* 0x63B */ u8 mDrawFlags;
|
||||
};
|
||||
|
||||
@@ -1000,6 +1000,8 @@ public:
|
||||
void procCutKesa_init();
|
||||
void procCutKesa();
|
||||
void checkNoControll() const;
|
||||
|
||||
J3DAnmTevRegKey* getBombBrk() { return mpBombBrk; }
|
||||
|
||||
virtual MtxP getLeftHandMatrix();
|
||||
virtual MtxP getRightHandMatrix();
|
||||
@@ -1094,7 +1096,7 @@ public:
|
||||
/* 0x2E98 */ J3DModel* mpHeldItemModel;
|
||||
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
|
||||
/* 0x2EAC */ u8 field_0x2EAC[0x2EB0 - 0x2EAC];
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* field_0x2eb0;
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* mpBombBrk;
|
||||
/* 0x2EB4 */ J3DAnmTevRegKey* mpGwp00BrkData;
|
||||
/* 0x2EB8 */ J3DAnmTextureSRTKey* mpGwp00BtkData;
|
||||
/* 0x2EBC */ u8 field_0x2EBC[0x2ED4 - 0x2EBC];
|
||||
|
||||
@@ -14,7 +14,7 @@ struct daShopItem_c : public daItemBase_c {
|
||||
char* getShopArcname();
|
||||
s16 getShopBmdIdx();
|
||||
void CreateInit();
|
||||
int _create();
|
||||
inline int _create();
|
||||
bool _execute();
|
||||
void set_mtx();
|
||||
bool _draw();
|
||||
@@ -23,7 +23,7 @@ struct daShopItem_c : public daItemBase_c {
|
||||
void setListStart() {}
|
||||
void settingBeforeDraw();
|
||||
void setTevStr();
|
||||
s32 clothCreate();
|
||||
BOOL clothCreate();
|
||||
|
||||
//funcs in d_a_shop_item_static
|
||||
cXyz* getScaleP();
|
||||
@@ -35,7 +35,7 @@ struct daShopItem_c : public daItemBase_c {
|
||||
|
||||
static const char m_cloth_arcname[];
|
||||
static const f32 m_cullfar_max;
|
||||
static const u8 mModelType[256];
|
||||
static const u8 mModelType[255];
|
||||
static const daShopItem_c_m_data mData[255];
|
||||
|
||||
/* 0x63C */ request_of_phase_process_class field_0x63C;
|
||||
|
||||
@@ -36,6 +36,7 @@ class daAgb_c;
|
||||
class dTimer_c;
|
||||
class camera_class;
|
||||
class J2DOrthoGraph;
|
||||
class dDemo_actor_c;
|
||||
|
||||
class __d_timer_info_c {
|
||||
public:
|
||||
@@ -994,6 +995,10 @@ inline void dComIfGp_demo_update() {
|
||||
g_dComIfG_gameInfo.play.getDemo()->update();
|
||||
}
|
||||
|
||||
inline dDemo_actor_c* dComIfGp_demo_getActor(u8 id) {
|
||||
return g_dComIfG_gameInfo.play.getDemo()->mDemoObj.getActor(id);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setLkDemoAnmArchive(JKRArchive* i_arc) {
|
||||
g_dComIfG_gameInfo.play.setLkDemoAnmArchive(i_arc);
|
||||
}
|
||||
@@ -1114,6 +1119,10 @@ inline void dComIfGp_event_setItemPartnerId(u32 id) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().setPtI_Id(id);
|
||||
}
|
||||
|
||||
inline s32 dComIfGp_event_moveApproval(void* actor) {
|
||||
return g_dComIfG_gameInfo.play.getEvent().moveApproval(actor);
|
||||
}
|
||||
|
||||
inline dEvent_manager_c& dComIfGp_getEventManager() {
|
||||
return g_dComIfG_gameInfo.play.getEvtManager();
|
||||
}
|
||||
@@ -1182,6 +1191,10 @@ inline void dComIfGp_evmng_remove() {
|
||||
* === DRAWLIST ===
|
||||
*/
|
||||
|
||||
int dComIfGd_setShadow(u32 id, s8 param_2, J3DModel* pModel, cXyz* pPos, f32 param_5, f32 param_6,
|
||||
f32 y, f32 param_8, cBgS_PolyInfo& pFloorPoly, dKy_tevstr_c* param_10,
|
||||
s16 rotY, f32 param_12, GXTexObj* pTexObj);
|
||||
|
||||
inline int dComIfGd_setSimpleShadow(cXyz* pPos, f32 param_1, f32 param_2, cXyz* param_3, s16 angle,
|
||||
f32 param_5, GXTexObj* pTex) {
|
||||
return g_dComIfG_gameInfo.drawlist.setSimpleShadow(pPos, param_1, param_2, param_3, angle,
|
||||
@@ -1228,15 +1241,44 @@ inline void dComIfGd_setList() {
|
||||
g_dComIfG_gameInfo.drawlist.setXluList();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListMaskOff() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListMaskOff();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListMaskOff();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListSky() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListSky();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListSky();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListP0() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListP0();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListP0();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListP1() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListP1();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListP1();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListBG() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListBG();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setXluListBG() {
|
||||
g_dComIfG_gameInfo.drawlist.setXluListBG();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setListFilter() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaListFilter();
|
||||
g_dComIfG_gameInfo.drawlist.setXluListFilter();
|
||||
}
|
||||
|
||||
inline void dComIfGd_setList2D() {
|
||||
g_dComIfG_gameInfo.drawlist.setOpaList2D();
|
||||
g_dComIfG_gameInfo.drawlist.setXluList2D();
|
||||
}
|
||||
|
||||
inline void dComIfGd_entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
g_dComIfG_gameInfo.drawlist.entryZSortXluList(i_packet, param_1);
|
||||
}
|
||||
|
||||
+7
-1
@@ -10,6 +10,12 @@ class dDemo_light_c;
|
||||
class dDemo_system_c;
|
||||
class TControl;
|
||||
class dMesg_tControl;
|
||||
class fopAc_ac_c;
|
||||
|
||||
class dDemo_actor_c /* : public JStage::TActor */ {
|
||||
public:
|
||||
void setActor(fopAc_ac_c*);
|
||||
};
|
||||
|
||||
class dDemo_object_c {
|
||||
public:
|
||||
@@ -17,7 +23,7 @@ public:
|
||||
~dDemo_object_c();
|
||||
|
||||
void appendActor(fopAc_ac_c*);
|
||||
void getActor(u8);
|
||||
dDemo_actor_c* getActor(u8);
|
||||
void createCamera();
|
||||
void getActiveCamera();
|
||||
void createAmbient();
|
||||
|
||||
@@ -214,10 +214,20 @@ public:
|
||||
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
|
||||
void setOpaList() { setOpaDrawList(mpBufInvisibleModelOpa); }
|
||||
void setXluList() { setXluDrawList(mpBufInvisibleModelXlu); }
|
||||
void setOpaListMaskOff() { setOpaDrawList(mpBufInvisibleModelMaskOffOpa); }
|
||||
void setXluListMaskOff() { setXluDrawList(mpBufInvisibleModelMaskOffXlu); }
|
||||
void setOpaListSky() { setOpaDrawList(mpBufSkyOpa); }
|
||||
void setXluListSky() { setXluDrawList(mpBufSkyXlu); }
|
||||
void setOpaListP0() { setOpaDrawList(mpLinkBuf); }
|
||||
void setXluListP0() { setXluDrawList(mpLinkBuf); }
|
||||
void setOpaListP1() { setOpaDrawList(field_0x0000c); }
|
||||
void setXluListP1() { setXluDrawList(field_0x00010); }
|
||||
void setOpaListBG() { setOpaDrawList(mpBufWorldOpa); }
|
||||
void setXluListBG() { setXluDrawList(mpBufWorldXlu); }
|
||||
void setOpaListFilter() { setOpaDrawList(mpWetherFxBuffer); }
|
||||
void setXluListFilter() { setXluDrawList(mpWetherFxBuffer); }
|
||||
void setOpaList2D() { setOpaDrawList(field_0x00038); }
|
||||
void setXluList2D() { setXluDrawList(field_0x00038); }
|
||||
|
||||
void entryZSortXluList(J3DPacket* i_packet, cXyz& param_1) {
|
||||
entryZSortXluDrawList(mpBufInvisibleModelXlu, i_packet, param_1);
|
||||
|
||||
+1
-1
@@ -48,7 +48,7 @@ public:
|
||||
void soundProc();
|
||||
void check();
|
||||
void photoCheck();
|
||||
void moveApproval(void*);
|
||||
s32 moveApproval(void*);
|
||||
void compulsory(void*, const char*, u16);
|
||||
void remove();
|
||||
void getStageEventDt();
|
||||
|
||||
+65
-40
@@ -263,70 +263,95 @@ enum ItemTable {
|
||||
};
|
||||
|
||||
struct dItem_data_item_resource {
|
||||
/* 0x00 */ char* mModelArcName;
|
||||
/* 0x04 */ char* mIconFilename;
|
||||
/* 0x08 */ s16 mModelFileIdx;
|
||||
/* 0x0A */ s16 mBtkFileIdx;
|
||||
/* 0x0C */ s16 mBrkFileIdx;
|
||||
/* 0x0E */ s16 field5_0xe;
|
||||
/* 0x10 */ s16 field6_0x10;
|
||||
/* 0x12 */ s16 field7_0x12;
|
||||
/* 0x14 */ s8 mTevRegAnimFrameIndex; // If specified, keep the BRK animation on this frame.
|
||||
/* 0x15 */ u8 field9_0x15;
|
||||
/* 0x16 */ s16 mNameMessageId;
|
||||
/* 0x18 */ u8 temp[8];
|
||||
/* 0x20 */ u16 mMaxHeapSize;
|
||||
/* 0x22 */ u8 field20_0x22;
|
||||
/* 0x23 */ u8 field21_0x23;
|
||||
/* 0x00 */ char* mArcname;
|
||||
/* 0x04 */ char* mTexture; // Filename in /files/res/Msg/itemicon.arc of its inventory icon.
|
||||
/* 0x08 */ s16 mBmdIdx;
|
||||
/* 0x0A */ s16 mSrtIdx; // BTK
|
||||
/* 0x0C */ s16 mSrtIdx2; // BTK
|
||||
/* 0x0E */ s16 mTevIdx; // BRK
|
||||
/* 0x10 */ s16 mTevIdx2; // BRK
|
||||
/* 0x12 */ s16 mBckIdx;
|
||||
/* 0x14 */ s8 mTevFrm; // If specified, keep the BRK animation on this frame.
|
||||
/* 0x16 */ s16 mItemMesgNum; // Message containing this item's name
|
||||
/* 0x18 */ u32 mUnused; // Always 0, doesn't seem to be read
|
||||
/* 0x1C */ u32 mUnknown; // Varies between items, but doesn't seem to be read
|
||||
/* 0x20 */ u16 mHeapSize;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dItem_data_item_resource) == 0x24);
|
||||
|
||||
struct dItem_data_field_item_res {
|
||||
/* 0x00 */ char * mModelArcName;
|
||||
/* 0x04 */ short mModelFileId;
|
||||
/* 0x06 */ short mBtkAnmResIdx1;
|
||||
/* 0x08 */ short mBtkAnmResIdx2;
|
||||
/* 0x0A */ short mBrkAnmResIdx1;
|
||||
/* 0x0C */ short mBrkAnmResIdx2;
|
||||
/* 0x0E */ short mBckAnmResIdx;
|
||||
/* 0x10 */ u8 mTevRegAnimFrameIndex;
|
||||
/* 0x11 */ u8 field8_0x11;
|
||||
/* 0x12 */ u8 field9_0x12;
|
||||
/* 0x13 */ u8 field10_0x13;
|
||||
/* 0x14 */ u8 field11_0x14;
|
||||
/* 0x15 */ u8 field12_0x15;
|
||||
/* 0x16 */ u8 field13_0x16;
|
||||
/* 0x17 */ u8 field14_0x17;
|
||||
/* 0x00 */ char* mArc;
|
||||
/* 0x04 */ s16 mBmdIdx;
|
||||
/* 0x06 */ s16 mSrtIdx; // BTK
|
||||
/* 0x08 */ s16 mSrtIdx2; // BTK
|
||||
/* 0x0A */ s16 mTevIdx; // BRK
|
||||
/* 0x0C */ s16 mTevIdx2; // BRK
|
||||
/* 0x0E */ s16 mBckIdx;
|
||||
/* 0x10 */ s8 mTevFrm; // Unused, the equivalent in item_resource is used instead.
|
||||
/* 0x14 */ u32 mUnknown;
|
||||
/* 0x18 */ u16 mHeapSize;
|
||||
/* 0x1A */ u8 field16_0x1a;
|
||||
/* 0x1B */ u8 field17_0x1b;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dItem_data_field_item_res) == 0x1C);
|
||||
|
||||
struct dItem_data_item_info {
|
||||
/* 0x00 */ u8 mMaybeShadowRelated;
|
||||
/* 0x00 */ u8 mShadowSize;
|
||||
/* 0x01 */ u8 mCollisionH; // Cylinder Height
|
||||
/* 0x02 */ u8 mCollisionR; // Cylinder Radius
|
||||
/* 0x03 */ u8 mSpecialBehaviors;
|
||||
/* 0x03 */ u8 mFlag;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dItem_data_item_info) == 0x4);
|
||||
|
||||
struct dItem_data_effect_info {
|
||||
/* 0x00 */ u16 m_appear;
|
||||
/* 0x02 */ u16 m_sp_effect;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dItem_data_effect_info) == 0x4);
|
||||
|
||||
class dItem_data {
|
||||
public:
|
||||
static char* item_arcname_tbl[0x70];
|
||||
static char* item_texture_tbl[0x74];
|
||||
static dItem_data_item_resource item_resource[0x100];
|
||||
static dItem_data_field_item_res field_item_res[0x100];
|
||||
static dItem_data_item_info item_info[0x100];
|
||||
static dItem_data_effect_info effect_info[0x81];
|
||||
|
||||
static u32 getHeapSize(u8 itemNo) { return item_resource[itemNo].mMaxHeapSize; }
|
||||
static u32 getFieldHeapSize(u8 itemNo) { return field_item_res[itemNo].mHeapSize; }
|
||||
static char* getArcname(u8 no) { return item_resource[no].mArcname; }
|
||||
static char* getTexture(u8 no) { return item_resource[no].mTexture; }
|
||||
static s16 getBmdIdx(u8 no) { return item_resource[no].mBmdIdx; }
|
||||
static s16 getSrtIdx(u8 no) { return item_resource[no].mSrtIdx; }
|
||||
static s16 getSrtIdx2(u8 no) { return item_resource[no].mSrtIdx2; }
|
||||
static s16 getTevIdx(u8 no) { return item_resource[no].mTevIdx; }
|
||||
static s16 getTevIdx2(u8 no) { return item_resource[no].mTevIdx2; }
|
||||
static s16 getBckIdx(u8 no) { return item_resource[no].mBckIdx; }
|
||||
// static s16 getBmtIdx(u8 no) { return item_resource[no].mBmtIdx; }
|
||||
static s8 getTevFrm(u8 no) { return item_resource[no].mTevFrm; }
|
||||
static s16 getItemMesgNum(u8 no) { return item_resource[no].mItemMesgNum; }
|
||||
static u32 getHeapSize(u8 no) { return item_resource[no].mHeapSize; }
|
||||
|
||||
static bool checkAppearEffect(u8 itemNo);
|
||||
static s16 getAppearEffect(u8 itemNo);
|
||||
static bool checkSpecialEffect(u8 itemNo);
|
||||
static u16 getSpecialEffect(u8 itemNo);
|
||||
static char* getFieldArc(u8 no) { return field_item_res[no].mArc; }
|
||||
static s16 getFieldBmdIdx(u8 no) { return field_item_res[no].mBmdIdx; }
|
||||
static s16 getFieldSrtIdx(u8 no) { return field_item_res[no].mSrtIdx; }
|
||||
static s16 getFieldSrtIdx2(u8 no) { return field_item_res[no].mSrtIdx2; }
|
||||
static s16 getFieldTevIdx(u8 no) { return field_item_res[no].mTevIdx; }
|
||||
static s16 getFieldTevIdx2(u8 no) { return field_item_res[no].mTevIdx2; }
|
||||
static s16 getFieldBckIdx(u8 no) { return field_item_res[no].mBckIdx; }
|
||||
// static s16 getFieldBmtIdx(u8 no) { return field_item_res[no].mBmtIdx; }
|
||||
static u32 getFieldHeapSize(u8 no) { return field_item_res[no].mHeapSize; }
|
||||
|
||||
static u8 getShadowSize(u8 no) { return item_info[no].mShadowSize; }
|
||||
static u8 getH(u8 no) { return item_info[no].mCollisionH; }
|
||||
static u8 getR(u8 no) { return item_info[no].mCollisionR; }
|
||||
static bool chkFlag(u8 no, u32 mask) { return item_info[no].mFlag & mask; }
|
||||
|
||||
static bool checkAppearEffect(u8 no);
|
||||
static u16 getAppearEffect(u8 no);
|
||||
static bool checkSpecialEffect(u8 no);
|
||||
static u16 getSpecialEffect(u8 no);
|
||||
};
|
||||
|
||||
#endif /* D_ITEM_DATA_H */
|
||||
@@ -35,7 +35,7 @@ struct WIND_INFLUENCE {
|
||||
/* 0x18 */ f32 mRadius;
|
||||
/* 0x1C */ f32 mStrength;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ u8 mbConstant;
|
||||
};
|
||||
|
||||
|
||||
@@ -338,5 +338,6 @@ f32* dKyw_get_wind_power();
|
||||
void squal_proc();
|
||||
void dKyw_pntwind_set(WIND_INFLUENCE*);
|
||||
void dKyw_pntwind_cut(WIND_INFLUENCE*);
|
||||
void dKyw_pwind_cylinder_set(WIND_INFLUENCE*);
|
||||
|
||||
#endif /* D_KANKYO_WETHER_H */
|
||||
+1
-1
@@ -63,7 +63,7 @@ public:
|
||||
void drawPointAgb(u8, f32, f32, f32, s8, s16, u8, u8, u8, u8);
|
||||
void getTypeAgbGcFromTypeAcs(u8, u8*, u8*);
|
||||
static void drawPointSingle(u8, f32, f32, f32, s8, s16, u8, u8, u8);
|
||||
void drawActorPointMiniMap(fopAc_ac_c*);
|
||||
static void drawActorPointMiniMap(fopAc_ac_c*);
|
||||
void mapBufferSendAGB_commonCursor();
|
||||
void mapBufferSendAGB_ocean();
|
||||
void mapBufferSendAGB_dungeon();
|
||||
|
||||
+1
-1
@@ -66,7 +66,7 @@ class dNpc_EventCut_c {
|
||||
/* 0x18 */ int mTimer;
|
||||
/* 0x1C */ char* mpActorName;
|
||||
/* 0x20 */ u32 field_0x20;
|
||||
/* 0x24 */ s32 mSetID;
|
||||
/* 0x24 */ s32 mSetId;
|
||||
/* 0x28 */ cXyz mOffsetPos;
|
||||
/* 0x34 */ cXyz mTargetActorPos;
|
||||
/* 0x40 */ fopAc_ac_c* mpTargetActor;
|
||||
|
||||
+7
-14
@@ -29,18 +29,7 @@ public:
|
||||
/* 0x13 */ u8 mbAffectedByWind;
|
||||
};
|
||||
|
||||
class JPACallBackBase {
|
||||
public:
|
||||
JPACallBackBase();
|
||||
virtual ~JPACallBackBase();
|
||||
|
||||
virtual void init(JPABaseEmitter*);
|
||||
virtual void execute(JPABaseEmitter*);
|
||||
virtual void executeAfter(JPABaseEmitter*);
|
||||
virtual void draw(JPABaseEmitter*);
|
||||
};
|
||||
|
||||
class dPa_levelEcallBack : public JPACallBackBase {
|
||||
class dPa_levelEcallBack : public JPACallBackBase<JPABaseEmitter*> {
|
||||
public:
|
||||
virtual ~dPa_levelEcallBack() {}
|
||||
};
|
||||
@@ -69,6 +58,9 @@ STATIC_ASSERT(sizeof(dPa_followEcallBack) == 0x14);
|
||||
|
||||
class dPa_smokeEcallBack : dPa_followEcallBack {
|
||||
public:
|
||||
dPa_smokeEcallBack(u8);
|
||||
virtual ~dPa_smokeEcallBack();
|
||||
|
||||
/* 0x14 */ s8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ _GXColor field_0x16;
|
||||
@@ -163,13 +155,14 @@ public:
|
||||
|
||||
class dPa_rippleEcallBack : public dPa_levelEcallBack {
|
||||
public:
|
||||
dPa_rippleEcallBack() { mpBaseEmitter = NULL; }
|
||||
~dPa_rippleEcallBack();
|
||||
|
||||
void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
void end();
|
||||
void execute(JPABaseEmitter*);
|
||||
void draw(JPABaseEmitter*);
|
||||
|
||||
~dPa_rippleEcallBack();
|
||||
|
||||
/* 0x04 */ JPABaseEmitter* mpBaseEmitter;
|
||||
/* 0x08 */ cXyz* mPos;
|
||||
/* 0x0C */ u32 mFlags;
|
||||
|
||||
@@ -4,6 +4,10 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace dPa_name {
|
||||
enum {
|
||||
ID_SCENE_END = 0x8466,
|
||||
};
|
||||
|
||||
u16 j_o_id[];
|
||||
u16 s_o_id[];
|
||||
}
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@ struct dPath__Point {
|
||||
};
|
||||
|
||||
struct dPath {
|
||||
/* 0x00 */ u16 mNum;
|
||||
/* 0x00 */ u16 m_num;
|
||||
/* 0x02 */ u16 mNextPathId;
|
||||
/* 0x04 */ u8 mArg0;
|
||||
/* 0x05 */ u8 mLoops;
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef D_POINT_WIND_H
|
||||
#define D_POINT_WIND_H
|
||||
|
||||
#include "SSystem/SComponent/c_m3d_g_cps.h"
|
||||
#include "d/d_kankyo.h"
|
||||
|
||||
class dPointWind_c {
|
||||
public:
|
||||
cM3dGCpsS * mpCps;
|
||||
WIND_INFLUENCE mWind;
|
||||
|
||||
void set_pwind_init(cM3dGCpsS * pCps);
|
||||
void set_pwind_move();
|
||||
void set_pwind_delete();
|
||||
};
|
||||
|
||||
#endif /* D_POINT_WIND_H */
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
bool resetGame();
|
||||
void offReset();
|
||||
|
||||
static bool isPause() { return pauseTimer == 0; }
|
||||
static bool isPause() { return pauseTimer != 0; }
|
||||
static void setPauseTimer(s8 time) { pauseTimer = time; }
|
||||
|
||||
static s8 pauseTimer;
|
||||
|
||||
+4
-4
@@ -162,7 +162,7 @@ public:
|
||||
/* 0x08 */ u32 mParameter;
|
||||
/* 0x0C */ cXyz mSpawnPos;
|
||||
/* 0x18 */ csXyz mAngle;
|
||||
/* 0x1E */ u16 mEnemyNo;
|
||||
/* 0x1E */ u16 mSetId;
|
||||
}; // Size: 0x20
|
||||
|
||||
class stage_actor_class {
|
||||
@@ -770,9 +770,8 @@ public:
|
||||
};
|
||||
|
||||
class dBgW_base;
|
||||
class dStage_roomStatus_c {
|
||||
class dStage_roomStatus_c : public dStage_roomDt_c {
|
||||
public:
|
||||
/* 0x000 */ dStage_roomDt_c mRoomDt;
|
||||
/* 0x054 */ dKy_tevstr_c mTevStr;
|
||||
/* 0x104 */ u8 mFlags;
|
||||
/* 0x105 */ bool mDraw;
|
||||
@@ -800,7 +799,7 @@ public:
|
||||
void zoneCountCheck(int) const;
|
||||
void checkDrawArea() const;
|
||||
dStage_darkStatus_c* getDarkStatus();
|
||||
void getDarkMode();
|
||||
u32 getDarkMode();
|
||||
void getBgW(int);
|
||||
|
||||
static JKRExpHeap* createMemoryBlock(int, u32);
|
||||
@@ -919,6 +918,7 @@ int dStage_mapInfo_GetOceanX(stage_map_info_class*);
|
||||
void dStage_infoCreate();
|
||||
|
||||
dStage_objectNameInf* dStage_searchName(const char*);
|
||||
const char* dStage_getName2(s16 i_procName, s8 i_subtype);
|
||||
|
||||
inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* i_stagInfo) {
|
||||
return (i_stagInfo->field_0x09 >> 1) & 0x7F;
|
||||
|
||||
@@ -17,7 +17,7 @@ struct actor_method_class {
|
||||
enum fopAc_Status_e {
|
||||
fopAcStts_SHOWMAP_e = 0x00000020,
|
||||
fopAcStts_NOEXEC_e = 0x00000080,
|
||||
fopAcStts_CULLSTOP_e = 0x00000100,
|
||||
fopAcStts_CULL_e = 0x00000100,
|
||||
fopAcStts_FREEZE_e = 0x00000400,
|
||||
fopAcStts_CARRY_e = 0x00002000,
|
||||
fopAcStts_NOPAUSE_e = 0x00020000,
|
||||
@@ -170,12 +170,19 @@ struct actor_attention_types {
|
||||
|
||||
class JntHit_c;
|
||||
|
||||
struct cull_sphere {
|
||||
struct fopAc_cullSizeSphere {
|
||||
public:
|
||||
fopAc_cullSizeSphere(cXyz, float);
|
||||
|
||||
/* 0x0 */ Vec mCenter;
|
||||
/* 0xC */ f32 mRadius;
|
||||
};
|
||||
|
||||
struct cull_box {
|
||||
struct fopAc_cullSizeBox {
|
||||
public:
|
||||
fopAc_cullSizeBox(const fopAc_cullSizeBox&);
|
||||
fopAc_cullSizeBox(cXyz, cXyz);
|
||||
|
||||
/* 0x0 */ Vec mMin;
|
||||
/* 0xC */ Vec mMax;
|
||||
};
|
||||
@@ -185,16 +192,16 @@ public:
|
||||
/* 0x0C0 */ int mAcType;
|
||||
/* 0x0C4 */ create_tag_class mAcTg;
|
||||
/* 0x0D8 */ create_tag_class mDwTg;
|
||||
/* 0x0EC */ profile_method_class* mSubMtd;
|
||||
/* 0x0F0 */ JKRSolidHeap* mHeap;
|
||||
/* 0x0EC */ actor_method_class* mSubMtd;
|
||||
/* 0x0F0 */ JKRSolidHeap* heap;
|
||||
/* 0x0F4 */ dEvt_info_c mEvtInfo;
|
||||
/* 0x10C */ dKy_tevstr_c mTevStr;
|
||||
/* 0x1BC */ u16 mSetID;
|
||||
/* 0x1BC */ u16 mSetId;
|
||||
/* 0x1BE */ u8 mGroup;
|
||||
/* 0x1BF */ s8 mCullType;
|
||||
/* 0x1C0 */ u8 mDemoActorId;
|
||||
/* 0x1C1 */ s8 mSubtype;
|
||||
/* 0x1C2 */ u8 mCarryType;
|
||||
/* 0x1C2 */ u8 mGbaName;
|
||||
/* 0x1C4 */ u32 mStatus;
|
||||
/* 0x1C8 */ u32 mCondition;
|
||||
/* 0x1CC */ u32 mParentPcId;
|
||||
@@ -206,8 +213,8 @@ public:
|
||||
/* 0x220 */ cXyz speed;
|
||||
/* 0x22C */ MtxP mCullMtx;
|
||||
union {
|
||||
/* 0x230 */ cull_box mBox;
|
||||
/* 0x230 */ cull_sphere mSphere;
|
||||
/* 0x230 */ fopAc_cullSizeBox mBox;
|
||||
/* 0x230 */ fopAc_cullSizeSphere mSphere;
|
||||
} mCull;
|
||||
/* 0x248 */ f32 mCullSizeFar;
|
||||
/* 0x24C */ J3DModel* model;
|
||||
|
||||
@@ -28,10 +28,10 @@ struct fopAcM_prm_class {
|
||||
/* 0x00 */ u32 mParameter; // single U32 Parameter
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ csXyz mAngle; // rotation
|
||||
/* 0x16 */ u16 mEnemyNo;
|
||||
/* 0x16 */ u16 mSetId;
|
||||
/* 0x18 */ u8 mScale[3];
|
||||
/* 0x1B */ u8 mGbaName; // from WW, maybe a different parameter here
|
||||
/* 0x1C */ s32 mParentPId; // parent process ID
|
||||
/* 0x1B */ u8 mGbaName;
|
||||
/* 0x1C */ s32 mParentPcId; // parent process ID
|
||||
/* 0x20 */ s8 mSubtype;
|
||||
/* 0x21 */ s8 mRoomNo;
|
||||
};
|
||||
@@ -99,10 +99,6 @@ enum fopAcM_CARRY {
|
||||
/* 0x30 */ fopAcM_CARRY_UNK_30 = 0x30,
|
||||
};
|
||||
|
||||
inline u32 fopAcM_CheckCarryType(fopAc_ac_c* actor, fopAcM_CARRY type) {
|
||||
return actor->mCarryType & type;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
|
||||
return fopAcM_checkStatus(pActor, 0x100000);
|
||||
}
|
||||
@@ -143,10 +139,6 @@ inline fopAc_ac_c* fopAcM_Search(fopAcIt_JudgeFunc func, void* param) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge(func, param);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_SearchByID(unsigned int id) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
inline cXyz& fopAcM_GetPosition_p(fopAc_ac_c* pActor) {
|
||||
return pActor->current.pos;
|
||||
}
|
||||
@@ -296,6 +288,10 @@ inline BOOL fopAcM_isSwitch(fopAc_ac_c* pActor, int sw) {
|
||||
return dComIfGs_isSwitch(sw, fopAcM_GetHomeRoomNo(pActor));
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_SearchByID(unsigned int id) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge((fopAcIt_JudgeFunc)fpcSch_JudgeByID, &id);
|
||||
}
|
||||
|
||||
inline fopAc_ac_c* fopAcM_SearchByName(s16 proc_id) {
|
||||
return (fopAc_ac_c*)fopAcIt_Judge(fpcSch_JudgeForPName, &proc_id);
|
||||
}
|
||||
@@ -315,7 +311,7 @@ inline f32 fopAcM_searchActorDistanceY(fopAc_ac_c* actorA, fopAc_ac_c* actorB) {
|
||||
}
|
||||
|
||||
inline u16 fopAcM_GetSetId(fopAc_ac_c* p_actor) {
|
||||
return p_actor->mSetID;
|
||||
return p_actor->mSetId;
|
||||
}
|
||||
|
||||
inline void dComIfGs_onActor(int bitNo, int roomNo);
|
||||
@@ -345,14 +341,11 @@ fopAcM_prm_class* createAppend(u16 enemyNo, u32 parameters, cXyz* p_pos, int roo
|
||||
|
||||
void fopAcM_Log(fopAc_ac_c* p_actor, char* str);
|
||||
|
||||
void fopAcM_delete(fopAc_ac_c* p_actor);
|
||||
|
||||
s32 fopAcM_delete(fopAc_ac_c* p_actor);
|
||||
s32 fopAcM_delete(unsigned int actorID);
|
||||
|
||||
s32 fopAcM_create(char*, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle, cXyz* i_scale, createFunc i_createFunc);
|
||||
|
||||
s32 fopAcM_create(s16 i_procName, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle,
|
||||
cXyz* i_scale, s8 i_subType, createFunc i_createFunc);
|
||||
s32 fopAcM_create(s16 i_procName, u32 i_parameter, cXyz* i_pos, int i_roomNo, csXyz* i_angle, cXyz* i_scale, s8 i_subType, createFunc i_createFunc);
|
||||
|
||||
inline s32 fopAcM_create(s16 i_procName, createFunc i_createFunc, void*);
|
||||
|
||||
|
||||
@@ -2,16 +2,32 @@
|
||||
#define F_F_OP_CAMERA_H_
|
||||
|
||||
#include "f_op/f_op_view.h"
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_phase.h"
|
||||
|
||||
class camera_class;
|
||||
class camera_process_class : public view_class {
|
||||
public:
|
||||
/* 0x210 */ create_tag_class mDwTg;
|
||||
/* 0x224 */ leafdraw_method_class* mpMtd;
|
||||
/* 0x228 */ u8 field_0x228[4];
|
||||
/* 0x22C */ s8 mPrm1;
|
||||
/* 0x22D */ s8 mPrm2;
|
||||
/* 0x22E */ s8 mPrm3;
|
||||
/* 0x22F */ s8 field_0x22f;
|
||||
/* 0x230 */ csXyz mAngle;
|
||||
/* 0x238 */ int field_0x238;
|
||||
};
|
||||
|
||||
class camera_class : public camera_process_class {
|
||||
public:
|
||||
/* 0x23C */ int field_0x23c;
|
||||
/* 0x240 */ request_of_phase_process_class mPhaseReq;
|
||||
// /* 0x248 */ dCamera_c mCamera;
|
||||
};
|
||||
|
||||
struct camera_process_profile_definition {
|
||||
/* 0x00 */ view_process_profile_definition mBase;
|
||||
/* 0x3C */ leafdraw_method_class* mSubMtd; // Subclass methods
|
||||
};
|
||||
|
||||
static s32 fopCam_Draw(camera_class* param_1);
|
||||
static int fopCam_Execute(camera_class* pCamera);
|
||||
int fopCam_IsDelete(camera_class* pCamera);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -20,7 +20,7 @@ typedef struct base_process_class {
|
||||
/* 0x0B */ u8 mPauseFlag;
|
||||
/* 0x0C */ s8 mInitState;
|
||||
/* 0x0D */ u8 mUnk2;
|
||||
/* 0x0E */ s16 mBsTypeId;
|
||||
/* 0x0E */ s16 mProfName;
|
||||
/* 0x10 */ process_profile_definition* mpProf;
|
||||
/* 0x14 */ struct create_request* mpCtRq;
|
||||
/* 0x18 */ layer_management_tag_class mLyTg;
|
||||
|
||||
@@ -30,7 +30,7 @@ inline void fpcM_SetParam(void* p_actor, u32 param) {
|
||||
}
|
||||
|
||||
inline s16 fpcM_GetProfName(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mBsTypeId;
|
||||
return ((base_process_class*)pActor)->mProfName;
|
||||
}
|
||||
|
||||
inline int fpcM_Create(s16 procName, FastCreateReqFunc createFunc, void* process) {
|
||||
|
||||
@@ -62,6 +62,10 @@ inline void mDoAud_seStart(u32 i_sfxID, Vec* i_sePos, u32 param_2, s8 i_reverb)
|
||||
mDoAud_zelAudio_c::getInterface()->seStart(i_sfxID, i_sePos, param_2, i_reverb, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
|
||||
inline void mDoAud_seDeleteObject(Vec* i_sePos) {
|
||||
mDoAud_zelAudio_c::getInterface()->seDeleteObject(i_sePos);
|
||||
}
|
||||
|
||||
inline void mDoAud_bgmMuteMtDragon() {
|
||||
mDoAud_zelAudio_c::getInterface()->bgmMuteMtDragon();
|
||||
}
|
||||
|
||||
@@ -45,13 +45,13 @@ class mDoExt_btkAnm : public mDoExt_baseAnm {
|
||||
public:
|
||||
mDoExt_btkAnm() { mpTexMtxAnm = NULL; }
|
||||
int init(J3DMaterialTable* i_matTable, J3DAnmTextureSRTKey* i_btk, int i_anmPlay,
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, bool i_entry);
|
||||
int i_attribute, f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
void entry(J3DMaterialTable* i_matTable, f32 i_frame);
|
||||
void entry(J3DModelData *i_modelData, f32 i_frame);
|
||||
|
||||
void entry(J3DModelData* i_modelData) { entry(i_modelData, getFrame()); }
|
||||
int init(J3DModelData* i_modelData, J3DAnmTextureSRTKey* i_btk, int i_anmPlay, int i_attribute,
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, bool i_entry);
|
||||
f32 i_rate, s16 i_start, s16 i_end, bool i_modify, int i_entry);
|
||||
|
||||
int remove(J3DModelData* i_modelData) { return i_modelData->removeTexMtxAnimator(mpAnm); }
|
||||
void entryFrame() { entryFrame(getFrame()); }
|
||||
@@ -327,6 +327,11 @@ int mDoExt_getSafeGameHeapSize();
|
||||
int mDoExt_getSafeZeldaHeapSize();
|
||||
int mDoExt_getSafeCommandHeapSize();
|
||||
|
||||
JKRSolidHeap * mDoExt_createSolidHeapFromGameToCurrent(u32 size, u32 align);
|
||||
void mDoExt_restoreCurrentHeap();
|
||||
void mDoExt_adjustSolidHeap(JKRSolidHeap * pHeap);
|
||||
void mDoExt_destroySolidHeap(JKRSolidHeap * pHeap);
|
||||
|
||||
extern JKRExpHeap* zeldaHeap;
|
||||
extern JKRExpHeap* gameHeap;
|
||||
extern JKRExpHeap* commandHeap;
|
||||
|
||||
@@ -47,6 +47,7 @@ public:
|
||||
static bool isAutoForcus() { return data_80450BE7; } */
|
||||
static void setTickRate(u32 rate) { JFWDisplay::getManager()->setTickRate(rate); }
|
||||
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
|
||||
static BOOL isMonotone() { return mMonotone; }
|
||||
|
||||
static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; }
|
||||
static void* getFrameBufferTex() { return mFrameBufferTex; }
|
||||
@@ -74,6 +75,9 @@ public:
|
||||
static bool mBlureFlag;
|
||||
static u8 mBlureRate;
|
||||
static u8 mFade;
|
||||
static u8 mMonotone;
|
||||
static s16 mMonotoneRate;
|
||||
static s16 mMonotoneRateSpeed;
|
||||
};
|
||||
|
||||
#endif /* M_DO_M_DO_GRAPHIC_H */
|
||||
Reference in New Issue
Block a user