mirror of
https://github.com/zeldaret/tp
synced 2026-06-12 05:27:46 -04:00
move d_a_alink and some related stuff (#130)
* clean up d_a_player * move some of daalink * more daalink / daplayer * setup some daalink members * rest of daalink members setup * remove comment * few more matches * remove asm * more matches * more matches + move e_wb_class * fix some d_save classes Co-authored-by: lepelog <lepelog@users.noreply.github.com>
This commit is contained in:
@@ -7,11 +7,11 @@
|
||||
class J3DFrameCtrl {
|
||||
public:
|
||||
void init(s16);
|
||||
void checkPass(f32);
|
||||
BOOL checkPass(f32);
|
||||
void update();
|
||||
~J3DFrameCtrl();
|
||||
|
||||
float getRate() { return mRate; }
|
||||
float getRate() const { return mRate; }
|
||||
void setAttribute(u8 pAttr) { mAttribute = pAttr; }
|
||||
void setEnd(s16 pEnd) { mEnd = pEnd; }
|
||||
void setRate(float pRate) { mRate = pRate; }
|
||||
|
||||
@@ -1,6 +1,93 @@
|
||||
#ifndef J3DMODEL_H
|
||||
#define J3DMODEL_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DModel;
|
||||
struct J3DSkinDeform {
|
||||
/* 8032C9B0 */ void initSkinInfo(J3DModelData*);
|
||||
/* 8032CF44 */ void initMtxIndexArray(J3DModelData*);
|
||||
/* 8032D378 */ void changeFastSkinDL(J3DModelData*);
|
||||
/* 8032D738 */ void transformVtxPosNrm(J3DModelData*);
|
||||
/* 8032DFDC */ void deform(J3DModel*);
|
||||
};
|
||||
|
||||
struct J3DDeformData {
|
||||
/* 8032E230 */ void offAllFlag(u32);
|
||||
/* 8032E274 */ void deform(J3DModel*);
|
||||
};
|
||||
|
||||
class J3DMtxBuffer {
|
||||
public:
|
||||
/* 80326214 */ void initialize();
|
||||
/* 80326258 */ void create(J3DModelData*, u32);
|
||||
/* 803268D4 */ void calcWeightEnvelopeMtx();
|
||||
/* 80326ACC */ void calcDrawMtx(u32, Vec const&, f32 const (&)[3][4]);
|
||||
/* 80326D3C */ void calcNrmMtx();
|
||||
/* 80326EF0 */ void calcBBoardMtx();
|
||||
/* 803283B4 */ ~J3DMtxBuffer();
|
||||
|
||||
Mtx* getAnmMtx(int p1) {
|
||||
Mtx* tmp = mMatrices[0];
|
||||
return tmp + (p1);
|
||||
}
|
||||
|
||||
/* 0x00 */ void* mJointTree;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
/* 0x08 */ u32 field_0x8;
|
||||
/* 0x0C */ Mtx* mMatrices[5];
|
||||
};
|
||||
|
||||
class J3DModel {
|
||||
public:
|
||||
/* 800CFFF4 */ void setBaseTRMtx(f32 (*)[4]);
|
||||
/* 80327100 */ void initialize();
|
||||
/* 80327184 */ void entryModelData(J3DModelData*, u32, u32);
|
||||
/* 80327300 */ void createShapePacket(J3DModelData*);
|
||||
/* 803273CC */ void createMatPacket(J3DModelData*, u32);
|
||||
/* 803275FC */ void newDifferedDisplayList(u32);
|
||||
/* 8032767C */ void lock();
|
||||
/* 803276B4 */ void unlock();
|
||||
/* 803276EC */ void calcMaterial();
|
||||
/* 80327858 */ void calcDiffTexMtx();
|
||||
/* 803279A0 */ void diff();
|
||||
/* 80327A2C */ void setDeformData(J3DDeformData*, u32);
|
||||
/* 80327AA0 */ void setSkinDeform(J3DSkinDeform*, u32);
|
||||
/* 80327BD4 */ void calcAnmMtx();
|
||||
/* 80327C58 */ void calcWeightEnvelopeMtx();
|
||||
/* 80327CA4 */ void update();
|
||||
/* 80327CF0 */ void calc();
|
||||
/* 80327E4C */ void entry();
|
||||
/* 80327F40 */ void viewCalc();
|
||||
/* 80328190 */ void calcNrmMtx();
|
||||
/* 803281B4 */ void calcBumpMtx();
|
||||
/* 803282B8 */ void calcBBoardMtx();
|
||||
/* 803282EC */ void prepareShapePackets();
|
||||
/* 80328350 */ ~J3DModel();
|
||||
Mtx* getAnmMtx(int p1);
|
||||
|
||||
// better way to handle inlines with same name as non-inlines?
|
||||
Mtx* i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
|
||||
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ J3DModelData* mModelData;
|
||||
/* 0x08 */ u32 mFlags;
|
||||
/* 0x0C */ u32 field_0x0c;
|
||||
/* 0x10 */ int field_0x10;
|
||||
/* 0x14 */ int mUserData;
|
||||
/* 0x18 */ Vec mPosition;
|
||||
/* 0x24 */ Mtx mBaseTransformMtx;
|
||||
/* 0x54 */ Mtx mInternalView;
|
||||
/* 0x84 */ J3DMtxBuffer* mMtxBuffer;
|
||||
/* 0x88 */ void* mVertexBuffer;
|
||||
/* 0xC0 */ void* mMaterialPacket;
|
||||
/* 0xC4 */ void* mShapePacket;
|
||||
/* 0xC8 */ void* mDeformData;
|
||||
/* 0xCC */ void* mSkinDeform;
|
||||
/* 0xD0 */ void* mVtxColorCalc;
|
||||
/* 0xD4 */ u8 field_0xd4[8];
|
||||
};
|
||||
|
||||
#endif /* J3DMODEL_H */
|
||||
|
||||
@@ -3,4 +3,16 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DModelData {
|
||||
/* 80325D88 */ void clear();
|
||||
/* 80325DA0 */ J3DModelData();
|
||||
/* 80325E14 */ void newSharedDisplayList(u32);
|
||||
/* 80325EC8 */ void indexToPtr();
|
||||
/* 80325F94 */ void makeSharedDL();
|
||||
/* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
|
||||
/* 803260CC */ void syncJ3DSysPointers() const;
|
||||
/* 803260F8 */ void syncJ3DSysFlags() const;
|
||||
/* 8032617C */ ~J3DModelData();
|
||||
};
|
||||
|
||||
#endif /* J3DMODELDATA_H */
|
||||
|
||||
@@ -1,6 +1,14 @@
|
||||
#ifndef J3DMATBLOCK_H
|
||||
#define J3DMATBLOCK_H
|
||||
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class J3DGXColorS10 {
|
||||
public:
|
||||
/* 8000E460 */ J3DGXColorS10();
|
||||
|
||||
_GXColorS10 mColor;
|
||||
};
|
||||
|
||||
#endif /* J3DMATBLOCK_H */
|
||||
|
||||
@@ -51,9 +51,10 @@ public:
|
||||
virtual ~J3DPacket();
|
||||
|
||||
public:
|
||||
J3DPacket* mpNextSibling;
|
||||
J3DPacket* mpFirstChild;
|
||||
};
|
||||
/* 0x04 */ J3DPacket* mpNextSibling;
|
||||
/* 0x08 */ J3DPacket* mpFirstChild;
|
||||
/* 0x0C */ void* mpUserData;
|
||||
}; // Size = 0x10
|
||||
|
||||
class J3DDrawPacket : public J3DPacket {
|
||||
public:
|
||||
@@ -64,7 +65,6 @@ public:
|
||||
virtual void draw();
|
||||
|
||||
public:
|
||||
void* mpUserData;
|
||||
int mFlags;
|
||||
char mPad0[0x0C]; // unk
|
||||
J3DDisplayListObj* mpDisplayListObj;
|
||||
|
||||
@@ -1,6 +1,170 @@
|
||||
#ifndef JAISOUND_H
|
||||
#define JAISOUND_H
|
||||
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "global.h"
|
||||
|
||||
class JAISoundID {
|
||||
public:
|
||||
operator u32() const { return this->mId; }
|
||||
|
||||
JAISoundID(u32 pId) : mId(pId) {}
|
||||
|
||||
JAISoundID(JAISoundID const& other);
|
||||
|
||||
private:
|
||||
u32 mId;
|
||||
};
|
||||
|
||||
struct JASSoundParams {};
|
||||
|
||||
struct JAISoundParams {
|
||||
/* 802A2280 */ void mixOutAll(JASSoundParams const&, JASSoundParams*, f32);
|
||||
|
||||
float field_0x0;
|
||||
float field_0x4;
|
||||
float field_0x8;
|
||||
float field_0xc;
|
||||
float field_0x10;
|
||||
float field_0x14;
|
||||
float field_0x18;
|
||||
float field_0x1c;
|
||||
};
|
||||
|
||||
struct JASTrack {
|
||||
/* 80291444 */ void setChannelMgrCount(u32);
|
||||
/* 802919F4 */ void assignExtBuffer(u32, JASSoundParams*);
|
||||
/* 80291C30 */ void openChild(u32);
|
||||
/* 80292918 */ void writePort(u32, u16);
|
||||
/* 8029297C */ void readPort(u32);
|
||||
};
|
||||
|
||||
class JAISoundHandle;
|
||||
class JAIAudible;
|
||||
class JAIAudience;
|
||||
class JAISound {
|
||||
public:
|
||||
/* 802A21A0 */ void releaseHandle();
|
||||
/* 802A21BC */ void attachHandle(JAISoundHandle*);
|
||||
/* 802A22F8 */ JAISound();
|
||||
/* 802A2328 */ void start_JAISound_(JAISoundID, JGeometry::TVec3<f32> const*, JAIAudience*);
|
||||
/* 802A244C */ void acceptsNewAudible() const;
|
||||
/* 802A2474 */ void newAudible(JGeometry::TVec3<f32> const&, JGeometry::TVec3<f32> const*, u32,
|
||||
JAIAudience*);
|
||||
/* 802A2598 */ void stop();
|
||||
/* 802A24DC */ void stop(u32 fadeout);
|
||||
/* 802A25D8 */ bool asSe();
|
||||
/* 802A25E0 */ bool asSeq();
|
||||
/* 802A25E8 */ bool asStream();
|
||||
/* 802A25F0 */ void die_JAISound_();
|
||||
/* 802A266C */ void increasePrepareCount_JAISound_();
|
||||
/* 802A26B8 */ void calc_JAISound_();
|
||||
/* 802A29DC */ void initTrack_JAISound_(JASTrack*);
|
||||
|
||||
JAISoundID getID() const { return JAISoundID((u32)this->sound_id); }
|
||||
u32 getUserData() const { return user_data; }
|
||||
|
||||
// TODO: do proper struct later
|
||||
void* __vt;
|
||||
struct JAISoundHandle* handle;
|
||||
struct JAIAudible* audible;
|
||||
struct JAIAudience* audience;
|
||||
s32 field_0xc;
|
||||
s32 num_prepare_steps;
|
||||
struct JAISoundID sound_id;
|
||||
u8 field_0x18;
|
||||
u8 field_0x19;
|
||||
u8 field_0x1a;
|
||||
u8 field_0x1b;
|
||||
u32 user_data;
|
||||
float field_0x20;
|
||||
float field_0x24;
|
||||
float field_0x28;
|
||||
s32 field_0x2c;
|
||||
s32 audience_priority;
|
||||
s32 field_0x34;
|
||||
struct JAISoundParams params;
|
||||
u8 field_0x58;
|
||||
u8 field_0x59;
|
||||
u8 field_0x5a;
|
||||
u8 field_0x5b;
|
||||
u8 field_0x5c;
|
||||
u8 field_0x5d;
|
||||
u8 field_0x5e;
|
||||
u8 field_0x5f;
|
||||
u8 field_0x60;
|
||||
u8 field_0x61;
|
||||
u8 field_0x62;
|
||||
u8 field_0x63;
|
||||
u8 field_0x64;
|
||||
u8 field_0x65;
|
||||
u8 field_0x66;
|
||||
u8 field_0x67;
|
||||
u8 field_0x68;
|
||||
u8 field_0x69;
|
||||
u8 field_0x6a;
|
||||
u8 field_0x6b;
|
||||
u8 field_0x6c;
|
||||
u8 field_0x6d;
|
||||
u8 field_0x6e;
|
||||
u8 field_0x6f;
|
||||
u8 field_0x70;
|
||||
u8 field_0x71;
|
||||
u8 field_0x72;
|
||||
u8 field_0x73;
|
||||
u8 field_0x74;
|
||||
u8 field_0x75;
|
||||
u8 field_0x76;
|
||||
u8 field_0x77;
|
||||
u8 field_0x78;
|
||||
u8 field_0x79;
|
||||
u8 field_0x7a;
|
||||
u8 field_0x7b;
|
||||
u8 field_0x7c;
|
||||
u8 field_0x7d;
|
||||
u8 field_0x7e;
|
||||
u8 field_0x7f;
|
||||
u8 field_0x80;
|
||||
u8 field_0x81;
|
||||
u8 field_0x82;
|
||||
u8 field_0x83;
|
||||
u8 field_0x84;
|
||||
u8 field_0x85;
|
||||
u8 field_0x86;
|
||||
u8 field_0x87;
|
||||
u8 field_0x88;
|
||||
u8 field_0x89;
|
||||
u8 field_0x8a;
|
||||
u8 field_0x8b;
|
||||
u8 field_0x8c;
|
||||
u8 field_0x8d;
|
||||
u8 field_0x8e;
|
||||
u8 field_0x8f;
|
||||
u8 field_0x90;
|
||||
u8 field_0x91;
|
||||
u8 field_0x92;
|
||||
u8 field_0x93;
|
||||
};
|
||||
|
||||
class JAISoundHandle {
|
||||
public:
|
||||
JAISoundHandle(); // noninline in JAUClusterSound.cpp
|
||||
~JAISoundHandle();
|
||||
|
||||
bool isSoundAttached() const { return mSound != NULL; }
|
||||
|
||||
JAISound* operator->() const {
|
||||
JUT_ASSERT(mSound != NULL);
|
||||
return mSound;
|
||||
}
|
||||
|
||||
operator bool() const { return isSoundAttached(); }
|
||||
|
||||
void releaseSound();
|
||||
|
||||
private:
|
||||
JAISound* mSound;
|
||||
};
|
||||
|
||||
#endif /* JAISOUND_H */
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef JGEOMETRY_H
|
||||
#define JGEOMETRY_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace JGeometry {
|
||||
|
||||
template <typename T>
|
||||
struct TVec3 {
|
||||
T x;
|
||||
T y;
|
||||
T z;
|
||||
};
|
||||
/*
|
||||
template <>
|
||||
struct TVec3<f32> {
|
||||
TVec3(Vec& v) {
|
||||
|
||||
}
|
||||
};
|
||||
*/
|
||||
|
||||
} // namespace JGeometry
|
||||
|
||||
#endif
|
||||
@@ -3,4 +3,23 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class JPABaseParticle;
|
||||
struct _GXTexMapID {};
|
||||
|
||||
struct JPABaseEmitter {
|
||||
/* 8027EB60 */ void createChild(JPABaseParticle*);
|
||||
/* 8027EA40 */ void createParticle();
|
||||
/* 8027EF30 */ void getCurrentCreateNumber() const;
|
||||
/* 8027EF40 */ void getDrawCount() const;
|
||||
/* 8027EF50 */ void loadTexture(u8, _GXTexMapID);
|
||||
};
|
||||
|
||||
class JPAParticleCallBack {
|
||||
public:
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
~JPAParticleCallBack();
|
||||
virtual void draw(JPABaseEmitter*, JPABaseParticle*);
|
||||
virtual void execute(JPABaseEmitter*, JPABaseParticle*);
|
||||
};
|
||||
|
||||
#endif /* JPAPARTICLE_H */
|
||||
|
||||
@@ -3,4 +3,31 @@
|
||||
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct ResTIMG { /* Acts as the header to image data. Usually texture data immediately follows it,
|
||||
so any pointer arithmetic to go past the end of this structure is so that a
|
||||
variable sized allocated buffer can be accessed. */
|
||||
u8 texture_format;
|
||||
bool is_alpha_enabled;
|
||||
u16 texture_width;
|
||||
u16 texture_height;
|
||||
u8 wrap_s;
|
||||
u8 wrap_t;
|
||||
bool is_palettes_enabled;
|
||||
u8 palette_format;
|
||||
u16 palette_count;
|
||||
u32 palette_offset;
|
||||
bool is_mip_map_enabled;
|
||||
bool do_edge_lod;
|
||||
bool bias_clamp;
|
||||
u8 max_anisotropy;
|
||||
u8 min_filter;
|
||||
u8 mag_filter;
|
||||
u8 min_lod;
|
||||
u8 max_lod;
|
||||
u8 num_mipmaps;
|
||||
u8 unknown;
|
||||
u16 lod_bias;
|
||||
u32 texture_data_offset;
|
||||
};
|
||||
|
||||
#endif /* JUTTEXTURE_H */
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
class cBgS_Chk {
|
||||
private:
|
||||
/* 0x0 */ u32 unk_0x00;
|
||||
/* 0x4 */ u32 unk_0x04;
|
||||
/* 0x8 */ u32 unk_0x08;
|
||||
/* 0x0 */ u32 mPolyPassChk;
|
||||
/* 0x4 */ u32 mGrpPassChk;
|
||||
/* 0x8 */ u32 mActorPid;
|
||||
/* 0xC */ u8 unk_0x0C;
|
||||
/* 0x10 */ // __vtable__
|
||||
public:
|
||||
|
||||
@@ -2,12 +2,18 @@
|
||||
#define C_BG_S_GND_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cBgS_GndChk : public cBgS_Chk {
|
||||
private:
|
||||
// poly info
|
||||
/* 0x14 */ cBgS_PolyInfo mPolyInfo;
|
||||
/* 0x24 */ cXyz m_pos;
|
||||
/* 0x30 */ int field_0x30;
|
||||
/* 0x34 */ float mNowY;
|
||||
/* 0x38 */ void* mWallPrecheck;
|
||||
|
||||
public:
|
||||
cBgS_GndChk(void);
|
||||
virtual ~cBgS_GndChk(void);
|
||||
|
||||
@@ -1,10 +1,25 @@
|
||||
#ifndef C_BG_S_LIN_CHK_H
|
||||
#define C_BG_S_LIN_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_chk.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class cBgS_LinChk {
|
||||
private:
|
||||
/* 0x000 */ cBgS_Chk mChk;
|
||||
/* 0x014 */ cBgS_PolyInfo mPolyInfo;
|
||||
/* 0x024 */ cM3dGLin mLin;
|
||||
/* 0x040 */ cXyz field_0x40;
|
||||
/* 0x04C */ int field_0x4c;
|
||||
/* 0x050 */ u8 mPreWallChk;
|
||||
/* 0x051 */ u8 mPreGroundChk;
|
||||
/* 0x052 */ u8 mPreRoofChk;
|
||||
/* 0x053 */ u8 mFrontFlag;
|
||||
/* 0x054 */ u8 mBackFlag;
|
||||
|
||||
public:
|
||||
cBgS_LinChk(void);
|
||||
~cBgS_LinChk(void);
|
||||
|
||||
@@ -9,6 +9,7 @@ class cM3dGPla {
|
||||
public:
|
||||
cXyz mNormal;
|
||||
f32 mD;
|
||||
cM3dGPla();
|
||||
cM3dGPla(const cXyz*, f32);
|
||||
virtual ~cM3dGPla();
|
||||
bool crossInfLin(const cXyz&, const cXyz&, cXyz&) const;
|
||||
|
||||
@@ -16,6 +16,8 @@ public:
|
||||
cXyz mCenter;
|
||||
f32 mRadius;
|
||||
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
virtual ~cM3dGSph();
|
||||
void SetC(const cXyz&);
|
||||
void Set(const cXyz&, f32);
|
||||
void Set(const cM3dGSphS&);
|
||||
|
||||
@@ -1,6 +1,109 @@
|
||||
#ifndef Z2CREATURE_H
|
||||
#define Z2CREATURE_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "Z2AudioLib/Z2SoundObject.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2Creature {
|
||||
public:
|
||||
Z2Creature();
|
||||
~Z2Creature();
|
||||
|
||||
void init(Vec*, Vec*, u8, u8);
|
||||
void init(Vec*, Vec*, Vec*, u8, u8, u8);
|
||||
void initAnime(void*, bool, f32, f32);
|
||||
void updateAnime(f32, f32);
|
||||
void stopAnime();
|
||||
|
||||
virtual void deleteObject();
|
||||
virtual void setSoundStarter(Z2SoundStarter*);
|
||||
virtual void framework(u32, s8);
|
||||
virtual void startCreatureSound(JAISoundID, u32, s8);
|
||||
virtual void startCreatureSoundLevel(JAISoundID, u32, s8);
|
||||
virtual void startCreatureVoice(JAISoundID, s8);
|
||||
virtual void startCreatureVoiceLevel(JAISoundID, s8);
|
||||
virtual void startCreatureExtraSound(JAISoundID, u32, s8);
|
||||
virtual void startCreatureExtraSoundLevel(JAISoundID, u32, s8);
|
||||
virtual void startCollisionSE(u32, u32);
|
||||
|
||||
private:
|
||||
/* 0x04 */ int field_0x04;
|
||||
/* 0x08 */ Z2SoundObjAnime mSoundObjAnime;
|
||||
/* 0x50 */ Z2SoundObjSimple mSoundObjSimple1;
|
||||
/* 0x70 */ Z2SoundObjSimple mSoundObjSimple2;
|
||||
};
|
||||
|
||||
struct Z2LinkSoundStarter : public Z2SoundStarter {
|
||||
Z2LinkSoundStarter(void);
|
||||
~Z2LinkSoundStarter();
|
||||
/* 802C4928 */ void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32,
|
||||
f32, f32, f32, f32, f32, u32);
|
||||
};
|
||||
|
||||
#pragma pack(push, 1)
|
||||
class Z2CreatureLink : public Z2Creature {
|
||||
public:
|
||||
Z2CreatureLink(void);
|
||||
~Z2CreatureLink();
|
||||
|
||||
void setLinkState(u8);
|
||||
void setLinkGroupInfo(u8);
|
||||
void setLinkHp(s32, s32);
|
||||
void setLinkSwordType(s32, s32);
|
||||
void setLinkShieldType(s32, s32);
|
||||
void setLinkBootsType(s32);
|
||||
void deleteObject();
|
||||
void init(Vec*, Vec*, Vec*);
|
||||
void initKantera(Vec*);
|
||||
void deleteKantera(void);
|
||||
void setKanteraState(u8);
|
||||
void framework(u32, s8);
|
||||
void setSinkDepth(s8);
|
||||
void setRiding(bool);
|
||||
void setMagnetized(bool);
|
||||
void setWolfEyeOpen(bool);
|
||||
void startLinkSound(JAISoundID, u32, s8);
|
||||
void startLinkSoundLevel(JAISoundID, u32, s8);
|
||||
void startLinkVoice(JAISoundID, s8);
|
||||
void startLinkVoiceLevel(JAISoundID, s8);
|
||||
void startLinkSwordSound(JAISoundID, u32, s8);
|
||||
void startCollisionSE(u32, u32);
|
||||
int startHitItemSE(u32, u32, Z2SoundObjBase*, float);
|
||||
void setResumeAttack(bool);
|
||||
|
||||
static Z2CreatureLink* mLinkPtr;
|
||||
|
||||
private:
|
||||
/* 0x90 */ Z2LinkSoundStarter mLinkSoundStarter;
|
||||
/* 0x94 */ Z2SoundObjSimple mSoundObjSimple;
|
||||
/* 0xB4 */ cXyz field_0xb4;
|
||||
/* 0xC0 */ u8 mLinkState;
|
||||
/* 0xC1 */ u8 unk193;
|
||||
/* 0xC2 */ u8 unk194;
|
||||
/* 0xC3 */ u8 mLinkHp;
|
||||
/* 0xC4 */ u8 mBootsType;
|
||||
/* 0xC5 */ u8 mLanternState;
|
||||
/* 0xC6 */ u8 unk198;
|
||||
/* 0xC7 */ u8 unk199;
|
||||
/* 0xC8 */ u8 unk200;
|
||||
/* 0xC9 */ u8 unk201;
|
||||
/* 0xCA */ u8 mSinkDepth;
|
||||
/* 0xCB */ u8 flags1;
|
||||
/* 0xCC */ u8 flags2;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class Z2CreatureRide {
|
||||
public:
|
||||
void setLinkRiding(bool);
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ u8 Z2Creature_members[140];
|
||||
/* 0x90 */ u8 Z2RideSoundStarter[8];
|
||||
/* 0x98 */ bool mLinkRiding;
|
||||
/* 0x99 */ u8 padding[3];
|
||||
};
|
||||
|
||||
#endif /* Z2CREATURE_H */
|
||||
|
||||
@@ -1,6 +1,35 @@
|
||||
#ifndef Z2SOUNDHANDLES_H
|
||||
#define Z2SOUNDHANDLES_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "JSystem/JSupport/JSUList.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class Z2SoundHandlePool : public JAISoundHandle, JSULink<Z2SoundHandlePool> {};
|
||||
|
||||
class Z2SoundHandles : protected JSUList<Z2SoundHandlePool> {
|
||||
public:
|
||||
Z2SoundHandles();
|
||||
~Z2SoundHandles();
|
||||
|
||||
void initHandlesPool(u8 pNumHandles);
|
||||
void deleteHandlesPool();
|
||||
void getFreeHandle();
|
||||
void getLowPrioSound(JAISoundID);
|
||||
|
||||
bool isActive() const;
|
||||
|
||||
JAISoundHandle* getHandleSoundID(JAISoundID pSoundId);
|
||||
JAISoundHandle* getHandleUserData(u32 pUserData);
|
||||
|
||||
void stopAllSounds(u32 fadeout);
|
||||
|
||||
void setPos(const JGeometry::TVec3<f32>& pos);
|
||||
|
||||
u32 getNumHandles() const { return this->getNumLinks(); }
|
||||
|
||||
private:
|
||||
u8 mNumHandles;
|
||||
};
|
||||
|
||||
#endif /* Z2SOUNDHANDLES_H */
|
||||
|
||||
@@ -1,6 +1,87 @@
|
||||
#ifndef Z2SOUNDOBJECT_H
|
||||
#define Z2SOUNDOBJECT_H
|
||||
|
||||
#include "Z2AudioLib/Z2SoundHandles.h"
|
||||
#include "Z2AudioLib/Z2SoundStarter.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct JAUSoundAnimationSound {};
|
||||
|
||||
class Z2SoundObjBase : protected Z2SoundHandles {
|
||||
public:
|
||||
Z2SoundObjBase();
|
||||
~Z2SoundObjBase();
|
||||
|
||||
void deleteObject();
|
||||
void startCollisionSE(u32, u32, Z2SoundObjBase*);
|
||||
|
||||
bool isAlive() const { return mIsInitialized; }
|
||||
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
virtual void framework(u32, s8);
|
||||
virtual void dispose();
|
||||
virtual bool stopOK(Z2SoundHandlePool& pool);
|
||||
virtual void init(Vec* pSoundPos, u8 pNumHandles);
|
||||
virtual void startSound(JAISoundID, u32, s8);
|
||||
virtual void startLevelSound(JAISoundID, u32, s8);
|
||||
|
||||
// Z2SoundObjBase_vtable* vtable;
|
||||
/* 0x14 */ Z2SoundStarter* mSoundStarter;
|
||||
/* 0x18 */ Vec* mSoundPos;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
/* 0x1F */ bool mIsInitialized;
|
||||
};
|
||||
|
||||
class Z2SoundObjSimple : protected Z2SoundObjBase {
|
||||
public:
|
||||
Z2SoundObjSimple();
|
||||
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
virtual void init(Vec* pSoundPos, u8 pNumHandles);
|
||||
virtual void startSound(JAISoundID, u32, s8);
|
||||
virtual void startLevelSound(JAISoundID, u32, s8);
|
||||
};
|
||||
|
||||
class Z2SoundObjAnime : protected Z2SoundObjBase {
|
||||
public:
|
||||
/* 802BEB94 */ Z2SoundObjAnime();
|
||||
/* 802BEBFC */ void initAnime(void*, bool, f32, f32);
|
||||
/* 802BED68 */ void ageSounds_();
|
||||
/* 802BEED4 */ void updateAnime(f32, f32);
|
||||
/* 802BF304 */ void updateSoundLifeTime_(f32, f32);
|
||||
/* 802BF660 */ void startSoundInner(JGeometry::TVec3<f32> const&, f32, Z2SoundStarter*, u32,
|
||||
s8);
|
||||
/* 802BF890 */ void getSoundID(JAUSoundAnimationSound const*, JGeometry::TVec3<f32> const&,
|
||||
f32);
|
||||
/* 802BF898 */ void playsSound(JAUSoundAnimationSound const*, JGeometry::TVec3<f32> const&,
|
||||
f32);
|
||||
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
/* 802BEBDC */ virtual void init(Vec*, u8);
|
||||
|
||||
/* 0x20 */ void* field_0x20; // JAUSoundAnimation*
|
||||
/* 0x24 */ int field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ int field_0x34;
|
||||
/* 0x38 */ int field_0x38;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ int field_0x40;
|
||||
/* 0x44 */ bool field_0x44;
|
||||
};
|
||||
|
||||
class Z2DopplerSoundObjBase : protected Z2SoundHandles {
|
||||
Z2DopplerSoundObjBase();
|
||||
~Z2DopplerSoundObjBase();
|
||||
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
virtual void framework(u32, s8);
|
||||
virtual void init(Vec*, u8);
|
||||
virtual void startSound(JAISoundID, u32, s8);
|
||||
virtual void startLevelSound(JAISoundID, u32, s8);
|
||||
};
|
||||
|
||||
#endif /* Z2SOUNDOBJECT_H */
|
||||
|
||||
@@ -1,6 +1,29 @@
|
||||
#ifndef Z2SOUNDSTARTER_H
|
||||
#define Z2SOUNDSTARTER_H
|
||||
|
||||
#include "JSystem/JAudio2/JAISound.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct Z2SoundStarter_vtable {
|
||||
void* field_0x0;
|
||||
void* field_0x4;
|
||||
void* dtor;
|
||||
void* startSound1;
|
||||
void* startSound2;
|
||||
};
|
||||
|
||||
struct Z2SoundStarter {
|
||||
// Z2SoundStarter_vtable* vtable;
|
||||
|
||||
Z2SoundStarter(bool);
|
||||
virtual ~Z2SoundStarter();
|
||||
|
||||
virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
|
||||
virtual void startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*, u32, float,
|
||||
float, float, float, float, u32);
|
||||
|
||||
void setPortData(JAISoundHandle*, u32, u16, s8);
|
||||
void getPortData(JAISoundHandle*, u32, s8);
|
||||
};
|
||||
|
||||
#endif /* Z2SOUNDSTARTER_H */
|
||||
|
||||
@@ -1,6 +1,76 @@
|
||||
#ifndef Z2WOLFHOWLMGR_H
|
||||
#define Z2WOLFHOWLMGR_H
|
||||
|
||||
#include "Z2AudioLib/Z2SoundObject.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct Z2WolfHowlData {};
|
||||
|
||||
class Z2WolfHowlMgr {
|
||||
public:
|
||||
Z2WolfHowlMgr();
|
||||
|
||||
void resetState();
|
||||
void calcVolumeMod(float);
|
||||
void getNowPitch();
|
||||
void getNowInputValue();
|
||||
void calcPitchMod(float, float);
|
||||
void startWolfHowlSound(float, float, bool, float);
|
||||
void setCorrectData(s8, Z2WolfHowlData*);
|
||||
void getCorrectLine(u8);
|
||||
void getCorrectLineNum();
|
||||
void checkLine();
|
||||
void getOnLineNum();
|
||||
void startWindStoneSound(s8, Vec*);
|
||||
void startGuideMelody(bool);
|
||||
void skipCorrectDemo();
|
||||
|
||||
private:
|
||||
/* 0x00 */ JAISoundHandle* field_0x00;
|
||||
/* 0x04 */ JAISoundHandle* field_0x04;
|
||||
/* 0x08 */ JAISoundHandle* field_0x08;
|
||||
/* 0x0C */ Z2WolfHowlData* field_0x0c;
|
||||
/* 0x10 */ void* field_0x10;
|
||||
/* 0x14 */ float mNowInputValue;
|
||||
/* 0x18 */ float field_0x18;
|
||||
/* 0x1C */ float field_0x1c;
|
||||
/* 0x20 */ float field_0x20;
|
||||
/* 0x24 */ float field_0x24;
|
||||
/* 0x28 */ float field_0x28;
|
||||
/* 0x2C */ u8 field_0x2c[4];
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ float field_0x34;
|
||||
/* 0x38 */ float field_0x38;
|
||||
/* 0x3C */ float field_0x3c;
|
||||
/* 0x40 */ float field_0x40;
|
||||
/* 0x44 */ float field_0x44;
|
||||
/* 0x48 */ float field_0x48;
|
||||
/* 0x4C */ float field_0x4c;
|
||||
/* 0x50 */ float field_0x50;
|
||||
/* 0x54 */ float field_0x54;
|
||||
/* 0x58 */ float field_0x58;
|
||||
/* 0x5C */ float field_0x5c;
|
||||
/* 0x60 */ float field_0x60;
|
||||
/* 0x64 */ float field_0x64;
|
||||
/* 0x68 */ float field_0x68;
|
||||
/* 0x6C */ float field_0x6c;
|
||||
/* 0x70 */ float field_0x70;
|
||||
/* 0x74 */ float field_0x74;
|
||||
/* 0x78 */ float field_0x78;
|
||||
/* 0x7C */ float field_0x7c;
|
||||
/* 0x80 */ float field_0x80;
|
||||
/* 0x84 */ float field_0x84;
|
||||
/* 0x88 */ void* mTimer;
|
||||
/* 0x8C */ u8 mReleaseTimer;
|
||||
/* 0x8D */ u8 field_0x8d;
|
||||
/* 0x8E */ u8 mCorrectCurveID;
|
||||
/* 0x8F */ u8 field_0x8f;
|
||||
/* 0x90 */ s16 field_0x90;
|
||||
/* 0x92 */ u8 field_0x92[20];
|
||||
/* 0xA6 */ u8 field_0xa6[0x14];
|
||||
/* 0xBA */ u8 field_0xba;
|
||||
/* 0xBB */ u8 field_0xbb;
|
||||
/* 0xBC */ u8 field_0xbc;
|
||||
};
|
||||
|
||||
#endif /* Z2WOLFHOWLMGR_H */
|
||||
|
||||
+2935
-1
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,33 @@
|
||||
#ifndef D_A_D_A_HORSE_STATIC_H
|
||||
#define D_A_D_A_HORSE_STATIC_H
|
||||
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class e_wb_class {
|
||||
public:
|
||||
BOOL checkWait(void);
|
||||
void setPlayerRideNow(void);
|
||||
void setPlayerRide(void);
|
||||
void getOff(void);
|
||||
BOOL checkDownDamage(void);
|
||||
u8 checkNormalRideMode(void) const;
|
||||
void setRunRideMode(void);
|
||||
|
||||
private:
|
||||
u8 unk0[0x5b4];
|
||||
s16 unk1460;
|
||||
u8 unk1462[0x36];
|
||||
Z2CreatureRide mZ2Ride;
|
||||
u8 unk1673[7];
|
||||
s16 unk1680;
|
||||
u16 unk1682;
|
||||
u8 unk1684[0x2a];
|
||||
u16 unk1726;
|
||||
};
|
||||
|
||||
class daTagHstop_c {
|
||||
static daTagHstop_c* m_top;
|
||||
};
|
||||
|
||||
#endif /* D_A_D_A_HORSE_STATIC_H */
|
||||
|
||||
+121
-50
@@ -2,24 +2,51 @@
|
||||
#define D_A_D_A_PLAYER_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "SSystem/SComponent/c_bg_s_poly_info.h"
|
||||
#include "d/d_drawlist.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/d_stage.h"
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class daPy_sightPacket_c {
|
||||
/* 80140CDC */ ~daPy_sightPacket_c();
|
||||
virtual void test(); // temp to build OK, remove later
|
||||
/* 8015F1A0 */ virtual void draw();
|
||||
/* 8015F2FC */ void setSight();
|
||||
/* 8015F384 */ void setSightImage(ResTIMG*);
|
||||
|
||||
private:
|
||||
/* 0x04 */ bool mDrawFlag;
|
||||
/* 0x05 */ u8 field_0x5[3];
|
||||
/* 0x08 */ cXyz mPos;
|
||||
/* 0x14 */ Mtx field_0x14;
|
||||
/* 0x44 */ ResTIMG* field_0x44;
|
||||
/* 0x48 */ ResTIMG* field_0x48;
|
||||
};
|
||||
|
||||
struct daPy_boomerangMove_c {
|
||||
/* 8015E5B0 */ void initOffset(cXyz const*);
|
||||
/* 8015E654 */ void posMove(cXyz*, s16*, fopAc_ac_c*, s16);
|
||||
/* 8015E87C */ void bgCheckAfterOffset(cXyz const*);
|
||||
};
|
||||
|
||||
class daPy_anmHeap_c {
|
||||
public:
|
||||
enum daAlinkHEAP_TYPE {};
|
||||
|
||||
/* 80140DCC */ void __defctor();
|
||||
daPy_anmHeap_c(u32);
|
||||
~daPy_anmHeap_c();
|
||||
void initData();
|
||||
void mallocBuffer();
|
||||
void createHeap(daPy_anmHeap_c::daAlinkHEAP_TYPE);
|
||||
void loadData(u16);
|
||||
void loadDataIdx(u16);
|
||||
void loadDataPriIdx(u16);
|
||||
void loadDataDemoRID(u16, u16);
|
||||
J3DAnmBase* loadData(u16);
|
||||
J3DAnmBase* loadDataIdx(u16);
|
||||
J3DAnmBase* loadDataPriIdx(u16);
|
||||
J3DAnmBase* loadDataDemoRID(u16, u16);
|
||||
void setAnimeHeap();
|
||||
|
||||
u16 getIdx() const { return mIdx; }
|
||||
@@ -56,6 +83,8 @@ private:
|
||||
#pragma pack(push, 1)
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
/* 80140D24 */ ~daPy_frameCtrl_c();
|
||||
/* 80140D80 */ daPy_frameCtrl_c();
|
||||
bool checkAnmEnd(void);
|
||||
void updateFrame(void);
|
||||
void setFrameCtrl(u8, short, short, float, float);
|
||||
@@ -78,6 +107,11 @@ private:
|
||||
|
||||
class daPy_demo_c {
|
||||
public:
|
||||
void setSpecialDemoType();
|
||||
|
||||
void setDemoType(u16 pType) { mDemoType = pType; }
|
||||
u16 getDemoType() const { return mDemoType; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ u16 mDemoType;
|
||||
/* 0x02 */ s16 mDemoMoveAngle;
|
||||
@@ -91,7 +125,7 @@ private:
|
||||
}; // Size = 0x24
|
||||
|
||||
class daPy_py_c : public fopAc_ac_c {
|
||||
private:
|
||||
public:
|
||||
/* 0x0538 */ u8 field_0x538[0x32];
|
||||
/* 0x056A */ u8 field_0x56a;
|
||||
/* 0x056B */ u8 field_0x56b[5];
|
||||
@@ -116,16 +150,26 @@ private:
|
||||
/* 0x0604 */ daPy_demo_c mDemo;
|
||||
|
||||
public:
|
||||
enum daPy_FLG0 { EquipHeavyBoots = 0x2000000 };
|
||||
enum daPy_FLG2 {};
|
||||
enum daPy_FLG0 {
|
||||
EquipHeavyBoots = 0x2000000,
|
||||
MagneBootsOn = 0x1000,
|
||||
UnkFrollCrashFlg2 = 0x10,
|
||||
UnkFrollCrashFlg1 = 0x8
|
||||
};
|
||||
enum daPy_FLG1 { Wolf = 0x2000000, ThrowDamage = 0x4000 };
|
||||
enum daPy_FLG2 { BoarSingleBattle = 0x1800000, UnkArmor = 0x80000, Unk = 1 };
|
||||
enum daPy_FLG3 { CopyRodThrowAfter = 0x40000 };
|
||||
enum daPy_ERFLG0 {};
|
||||
enum daPy_ERFLG1 { GanonFinish = 0x80000000, UnkForcePutPos = 0x2000 };
|
||||
enum daPy_ERFLG2 {};
|
||||
enum daPy_RFLG0 {};
|
||||
|
||||
void setParamData(int, int, int, int);
|
||||
void checkFishingRodItem(int);
|
||||
int checkFishingRodItem(int);
|
||||
void checkBombItem(int);
|
||||
void checkBottleItem(int);
|
||||
void checkDrinkBottleItem(int);
|
||||
void checkOilBottleItem(int);
|
||||
int checkOilBottleItem(int);
|
||||
void checkOpenBottleItem(int);
|
||||
void checkBowItem(int);
|
||||
void checkHookshotItem(int);
|
||||
@@ -156,23 +200,38 @@ public:
|
||||
void setMidnaFaceNum(int);
|
||||
int checkNoResetFlg0(daPy_FLG0) const;
|
||||
int checkEquipHeavyBoots() const;
|
||||
u32 checkBoarSingleBattle(void) const;
|
||||
u32 checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
int checkBoarSingleBattle(void) const;
|
||||
int checkEndResetFlg0(daPy_ERFLG0) const;
|
||||
void onNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
void offNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg2(daPy_py_c::daPy_ERFLG2) const;
|
||||
bool getSumouMode() const;
|
||||
int checkNoResetFlg3(daPy_py_c::daPy_FLG3) const;
|
||||
void checkShieldGet();
|
||||
void onNoResetFlg0(daPy_py_c::daPy_FLG0);
|
||||
int checkEndResetFlg1(daPy_py_c::daPy_ERFLG1) const;
|
||||
void offNoResetFlg1(daPy_py_c::daPy_FLG1);
|
||||
void offNoResetFlg2(daPy_py_c::daPy_FLG2);
|
||||
int checkWolf() const;
|
||||
void checkSwordGet();
|
||||
int checkResetFlg0(daPy_py_c::daPy_RFLG0) const;
|
||||
int checkNoResetFlg2(daPy_py_c::daPy_FLG2) const;
|
||||
int checkMagneBootsOn() const;
|
||||
|
||||
virtual void unk();
|
||||
virtual bool getMidnaAtnPos(void) const;
|
||||
virtual void setMidnaMsgNum(fopAc_ac_c*, u16);
|
||||
virtual u32 getModelMtx(void);
|
||||
virtual u32 getInvMtx(void);
|
||||
virtual Mtx* getModelMtx(void);
|
||||
virtual Mtx* getInvMtx(void);
|
||||
virtual cXyz* getShadowTalkAtnPos(void);
|
||||
virtual float getGroundY();
|
||||
virtual u32 getLeftItemMatrix(void);
|
||||
virtual u32 getRightItemMatrix(void);
|
||||
virtual u32 getLeftHandMatrix(void);
|
||||
virtual u32 getRightHandMatrix(void);
|
||||
virtual u32 getLinkBackBone1Matrix(void);
|
||||
virtual u32 getWolfMouthMatrix(void);
|
||||
virtual u32 getWolfBackbone2Matrix(void);
|
||||
virtual Mtx* getLeftItemMatrix(void);
|
||||
virtual Mtx* getRightItemMatrix(void);
|
||||
virtual Mtx* getLeftHandMatrix(void);
|
||||
virtual Mtx* getRightHandMatrix(void);
|
||||
virtual Mtx* getLinkBackBone1Matrix(void);
|
||||
virtual Mtx* getWolfMouthMatrix(void);
|
||||
virtual Mtx* getWolfBackbone2Matrix(void);
|
||||
virtual bool getBottleMtx(void);
|
||||
virtual bool checkPlayerGuard(void) const;
|
||||
virtual bool checkPlayerFly() const;
|
||||
@@ -216,45 +275,45 @@ public:
|
||||
virtual bool checkHorseElecDamage(void) const;
|
||||
virtual float getBaseAnimeFrameRate(void) const;
|
||||
virtual float getBaseAnimeFrame(void) const;
|
||||
virtual float setAnimeFrame(float);
|
||||
virtual void setAnimeFrame(float);
|
||||
virtual bool checkWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*) const;
|
||||
virtual bool cancelWolfLock(fopAc_ac_c*);
|
||||
virtual bool getAtnActorID(void) const;
|
||||
virtual bool getItemID(void) const;
|
||||
virtual s32 getItemID(void) const;
|
||||
virtual bool getGrabActorID(void) const;
|
||||
virtual bool exchangeGrabActor(fopAc_ac_c*);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, bool, bool);
|
||||
virtual bool setForceGrab(fopAc_ac_c*, int, int);
|
||||
virtual void setForcePutPos(cXyz const&);
|
||||
virtual bool checkPlayerNoDraw(void);
|
||||
virtual bool checkRopeTag(void);
|
||||
virtual void voiceStart(u32);
|
||||
virtual void seStartOnlyReverb(u32);
|
||||
virtual void seStartOnlyReverbLevel(u32);
|
||||
virtual float setOutPower(float, short, bool);
|
||||
virtual void setGrabCollisionOffset(float, float, void*);
|
||||
virtual void setOutPower(float, short, int);
|
||||
virtual void setGrabCollisionOffset(float, float, cBgS_PolyInfo*);
|
||||
virtual void onMagneGrab(float, float);
|
||||
virtual void onFrollCrashFlg(u8, bool);
|
||||
virtual bool getModelJoboolMtx(u16);
|
||||
virtual void onFrollCrashFlg(u8, int);
|
||||
virtual bool getModelJointMtx(u16);
|
||||
virtual bool getHeadMtx(void);
|
||||
virtual bool setHookshotCarryOffset(u32, cXyz const*);
|
||||
virtual bool setHookshotCarryOffset(unsigned int, cXyz const*);
|
||||
virtual bool checkIronBallReturn(void) const;
|
||||
virtual bool checkIronBallGroundStop(void) const;
|
||||
virtual bool checkSingleBoarBattleSecondBowReady(void) const;
|
||||
virtual bool checkPoboolSubWindowMode(void) const;
|
||||
virtual void setClothesChange(bool);
|
||||
virtual bool checkPointSubWindowMode(void) const;
|
||||
virtual void setClothesChange(int);
|
||||
virtual void setPlayerPosAndAngle(float (*)[4]);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, csXyz const*);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, bool);
|
||||
virtual bool setThrowDamage(short, float, float, bool, bool, bool);
|
||||
virtual bool checkSetNpcTks(cXyz*, bool, bool);
|
||||
virtual void setPlayerPosAndAngle(cXyz const*, short, int);
|
||||
virtual bool setThrowDamage(short, float, float, int, int, int);
|
||||
virtual bool checkSetNpcTks(cXyz*, int, int);
|
||||
virtual bool setRollJump(float, float, short);
|
||||
virtual void playerStartCollisionSE(u32, u32);
|
||||
virtual void changeTextureAnime(u16, u16, bool);
|
||||
virtual void changeTextureAnime(u16, u16, int);
|
||||
virtual void cancelChangeTextureAnime(void);
|
||||
virtual void cancelDungeonWarpReadyNeck(void);
|
||||
virtual void onSceneChangeArea(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeAreaJump(u8, u8, fopAc_ac_c*);
|
||||
virtual void onSceneChangeDead(u8, bool);
|
||||
virtual void onSceneChangeDead(u8, int);
|
||||
virtual bool checkHorseRide() const;
|
||||
virtual bool checkBoarRide() const;
|
||||
virtual bool checkCanoeRide() const;
|
||||
@@ -263,23 +322,23 @@ public:
|
||||
virtual bool getSpinnerActor(void);
|
||||
virtual bool checkHorseRideNotReady(void) const;
|
||||
virtual bool checkArrowChargeEnd(void) const;
|
||||
virtual float getSearchBallScale(void) const;
|
||||
virtual void getSearchBallScale(void) const;
|
||||
virtual bool checkFastShotTime(void);
|
||||
virtual bool checkNoEquipItem(void) const;
|
||||
virtual bool checkFireMaterial(void) const;
|
||||
virtual bool checkKandelaarSwing(bool) const;
|
||||
virtual bool checkKandelaarSwing(int) const;
|
||||
virtual bool getBoardCutTurnOffsetAngleY(void) const;
|
||||
virtual bool getMagneHitPos(void);
|
||||
virtual bool getMagneBootsTopVec(void);
|
||||
virtual cXyz* getMagneHitPos(void);
|
||||
virtual cXyz* getMagneBootsTopVec(void);
|
||||
virtual bool getKandelaarFlamePos();
|
||||
virtual bool checkUseKandelaar(bool);
|
||||
virtual bool checkUseKandelaar(int);
|
||||
virtual void setDkCaught(fopAc_ac_c*);
|
||||
virtual void onPressedDamage(cXyz const&, short);
|
||||
virtual bool checkPriActorOwn(fopAc_ac_c const*) const;
|
||||
virtual bool onWolfEnemyBiteAll(fopAc_ac_c*, daPy_FLG2);
|
||||
virtual bool checkWolfEnemyBiteAllOwn(fopAc_ac_c const*) const;
|
||||
virtual void setWolfEnemyHangBiteAngle(short);
|
||||
virtual void setKandelaarMtx(float (*)[4], bool, bool);
|
||||
virtual void setKandelaarMtx(float (*)[4], int, int);
|
||||
virtual bool getStickAngleFromPlayerShape(short*) const;
|
||||
virtual bool checkSpinnerPathMove(void);
|
||||
virtual bool checkSpinnerTriggerAttack(void);
|
||||
@@ -290,13 +349,13 @@ public:
|
||||
virtual bool checkCanoeFishingGetRight(void) const;
|
||||
virtual bool checkBeeChildDrink(void) const;
|
||||
virtual void skipPortalObjWarp(void);
|
||||
virtual bool checkTreasureRupeeReturn(bool) const;
|
||||
virtual bool checkTreasureRupeeReturn(int) const;
|
||||
virtual void setSumouReady(fopAc_ac_c*);
|
||||
virtual bool checkAcceptDungeonWarpAlink(bool);
|
||||
virtual bool checkAcceptDungeonWarpAlink(int);
|
||||
virtual bool getSumouCounter(void) const;
|
||||
virtual bool checkSumouWithstand(void) const;
|
||||
virtual void cancelGoronThrowEvent(void);
|
||||
virtual void setSumouGraspCancelCount(bool);
|
||||
virtual void setSumouGraspCancelCount(int);
|
||||
virtual void setSumouPushBackDirection(short);
|
||||
virtual void setSumouLoseHeadUp(void);
|
||||
virtual s16 getGiantPuzzleAimAngle(void) const;
|
||||
@@ -318,7 +377,7 @@ public:
|
||||
virtual bool checkMetamorphose(void) const;
|
||||
virtual bool checkWolfDownAttackPullOut(void) const;
|
||||
virtual bool checkBootsOrArmorHeavy(void) const;
|
||||
virtual bool getBottleOpenAppearItem(void) const;
|
||||
virtual s32 getBottleOpenAppearItem(void) const;
|
||||
virtual bool checkItemSwordEquip(void) const;
|
||||
virtual float getSinkShapeOffset(void) const;
|
||||
virtual bool checkSinkDead(void) const;
|
||||
@@ -329,10 +388,22 @@ public:
|
||||
virtual bool checkCopyRodEquip(void) const;
|
||||
virtual bool checkCutJumpMode(void) const;
|
||||
|
||||
inline void onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
inline void onNoResetFlg3(int pFlg) { mNoResetFlg3 |= pFlg; }
|
||||
inline void offNoResetFlg3(int pFlg) { mNoResetFlg3 &= ~pFlg; }
|
||||
// inline fopAc_ac_c& getActor() { return mActor; }
|
||||
inline bool getSumouCameraMode() const {
|
||||
bool sumouCameraMode = false;
|
||||
if (field_0x56a != 0 && field_0x56a < 0x26) {
|
||||
sumouCameraMode = true;
|
||||
}
|
||||
return sumouCameraMode;
|
||||
}
|
||||
|
||||
// some functions use these function as an inline
|
||||
// is there a better way to handle this?
|
||||
int i_checkNoResetFlg0(daPy_FLG0 pFlag) const { return mNoResetFlg0 & pFlag; }
|
||||
int i_checkNoResetFlg1(daPy_FLG1 pFlag) const { return mNoResetFlg1 & pFlag; }
|
||||
int i_checkNoResetFlg2(daPy_FLG2 pFlag) const { return mNoResetFlg2 & pFlag; }
|
||||
void i_onNoResetFlg0(int pFlg) { mNoResetFlg0 |= pFlg; }
|
||||
void i_onEndResetFlg1(daPy_ERFLG1 pFlg) { mEndResetFlg1 |= pFlg; }
|
||||
int i_checkWolf() { return i_checkNoResetFlg1(Wolf); }
|
||||
|
||||
static u8 m_midnaActor[4];
|
||||
};
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "SSystem/SComponent/c_m3d_g_pla.h"
|
||||
#include "d/a/d_a_player.h"
|
||||
#include "d/bg/d_bg_s_gnd_chk.h"
|
||||
#include "d/bg/d_bg_s_lin_chk.h"
|
||||
#include "d/bg/d_bg_s_roof_chk.h"
|
||||
#include "d/bg/d_bg_s_wtr_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
@@ -69,6 +70,11 @@ public:
|
||||
/* 800773EC */ void OnWallSort();
|
||||
/* 800773FC */ void ChkWallSort();
|
||||
/* 80077408 */ void ChkLineDown();
|
||||
/* 800D00D0 */ void ChkRoofHit() const;
|
||||
/* 800D00DC */ void ClrGroundHit();
|
||||
/* 80141404 */ void ChkGroundHit() const;
|
||||
|
||||
float GetGroundH() const { return mGroundH; }
|
||||
|
||||
private:
|
||||
/* 0x000 */ cBgS_Chk field_0x000;
|
||||
@@ -108,6 +114,8 @@ private:
|
||||
/* 0x1D4 */ u8 mWtrChkMode;
|
||||
};
|
||||
|
||||
class dBgS_LinkAcch : public dBgS_Acch {};
|
||||
class dBgS_LinkAcch : public dBgS_Acch {
|
||||
/* 80140F30 */ ~dBgS_LinkAcch();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ACCH_H */
|
||||
|
||||
@@ -15,7 +15,10 @@ private:
|
||||
/* 0x3C */ dBgS_Chk mChk;
|
||||
}; // Size = 0x54
|
||||
|
||||
class dBgS_LinkGndChk : dBgS_GndChk {};
|
||||
class dBgS_LinkGndChk : dBgS_GndChk {
|
||||
virtual void temp(); // temp to build OK
|
||||
/* 80140EB8 */ virtual ~dBgS_LinkGndChk();
|
||||
};
|
||||
|
||||
class dBgS_ObjGndChk : dBgS_GndChk {};
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
class cBgS_GrpPassChk {
|
||||
public:
|
||||
~cBgS_GrpPassChk();
|
||||
|
||||
void* vtable;
|
||||
};
|
||||
|
||||
class dBgS_GrpPassChk : public cBgS_GrpPassChk {
|
||||
|
||||
@@ -1,6 +1,46 @@
|
||||
#ifndef D_BG_D_BG_S_LIN_CHK_H
|
||||
#define D_BG_D_BG_S_LIN_CHK_H
|
||||
|
||||
#include "SSystem/SComponent/c_bg_s_lin_chk.h"
|
||||
#include "d/bg/d_bg_s_chk.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class dBgS_LinChk {
|
||||
public:
|
||||
/* 80077C68 */ dBgS_LinChk();
|
||||
/* 80077CDC */ ~dBgS_LinChk();
|
||||
/* 80077D64 */ void Set(cXyz const*, cXyz const*, fopAc_ac_c const*);
|
||||
|
||||
private:
|
||||
/* 0x00 */ cBgS_LinChk mLinChk;
|
||||
/* 0x58 */ dBgS_Chk mChk;
|
||||
};
|
||||
|
||||
class dBgS_LinkLinChk : dBgS_LinChk {
|
||||
public:
|
||||
/* 80078030 */ dBgS_LinkLinChk();
|
||||
/* 8007808C */ ~dBgS_LinkLinChk();
|
||||
};
|
||||
|
||||
class dBgS_RopeLinChk : dBgS_LinChk {
|
||||
/* 8007838C */ dBgS_RopeLinChk();
|
||||
/* 800783E8 */ ~dBgS_RopeLinChk();
|
||||
};
|
||||
|
||||
class dBgS_BoomerangLinChk : dBgS_LinChk {
|
||||
/* 800782B8 */ dBgS_BoomerangLinChk();
|
||||
/* 80078314 */ ~dBgS_BoomerangLinChk();
|
||||
};
|
||||
|
||||
class dBgS_ArrowLinChk : dBgS_LinChk {
|
||||
/* 800781D8 */ dBgS_ArrowLinChk();
|
||||
/* 80078240 */ ~dBgS_ArrowLinChk();
|
||||
};
|
||||
|
||||
class dBgS_ObjLinChk : dBgS_LinChk {
|
||||
/* 80077F5C */ dBgS_ObjLinChk();
|
||||
/* 80077FB8 */ ~dBgS_ObjLinChk();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_LIN_CHK_H */
|
||||
|
||||
@@ -6,6 +6,8 @@
|
||||
class cBgS_PolyPassChk {
|
||||
public:
|
||||
~cBgS_PolyPassChk();
|
||||
|
||||
void* vtable;
|
||||
};
|
||||
|
||||
class dBgS_PolyPassChk : public cBgS_PolyPassChk {
|
||||
|
||||
@@ -12,6 +12,7 @@ public:
|
||||
/* 80078FF4 */ dBgS_RoofChk();
|
||||
/* 80079090 */ ~dBgS_RoofChk();
|
||||
/* 80079124 */ void Init();
|
||||
/* 800B146C */ void SetPos(cXyz const&);
|
||||
|
||||
private:
|
||||
/* 0x00 */ cBgS_PolyInfo field_0x00;
|
||||
@@ -22,6 +23,9 @@ private:
|
||||
/* 0x4C */ float mNowY;
|
||||
}; // Size = 0x50
|
||||
|
||||
class dBgS_LinkRoofChk : dBgS_RoofChk {};
|
||||
class dBgS_LinkRoofChk : dBgS_RoofChk {
|
||||
public:
|
||||
/* 80140E40 */ ~dBgS_LinkRoofChk();
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
|
||||
|
||||
@@ -152,6 +152,7 @@ public:
|
||||
/* 80084954 */ void MoveCAt(cXyz&);
|
||||
/* 800849C4 */ void MoveCTg(cXyz&);
|
||||
/* 80084D60 */ ~dCcD_Cyl();
|
||||
dCcD_Cyl();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CylAttr mCylAttr;
|
||||
@@ -176,6 +177,7 @@ public:
|
||||
/* 80084824 */ void CalcAtVec();
|
||||
/* 80084854 */ void CalcTgVec();
|
||||
/* 8008506C */ ~dCcD_Cps();
|
||||
dCcD_Cps();
|
||||
|
||||
private:
|
||||
/* 0x104 */ cCcD_CpsAttr mCpsAttr;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef D_COM_D_COM_INF_GAME_H
|
||||
#define D_COM_D_COM_INF_GAME_H
|
||||
|
||||
#include "d/a/d_a_alink.h"
|
||||
#include "d/bg/d_bg_s.h"
|
||||
#include "d/cc/d_cc_s.h"
|
||||
#include "d/d_attention.h"
|
||||
@@ -13,16 +14,6 @@
|
||||
#include "d/save/d_save.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct JKRExpHeap {
|
||||
/* 802CEE2C */ void create(u32, JKRHeap*, bool);
|
||||
};
|
||||
|
||||
struct daAlink_c {
|
||||
/* 800BDE48 */ void setLastSceneMode(u32*);
|
||||
};
|
||||
|
||||
struct daHorse_c {};
|
||||
|
||||
struct dTimer_c {
|
||||
/* 8025D524 */ void deleteCheck();
|
||||
/* 8025D618 */ void start(int, s16);
|
||||
@@ -392,23 +383,17 @@ public:
|
||||
u8 setWorldDark() { return mWorldDark; }
|
||||
|
||||
dSv_player_c& getPlayer() { return info.getPlayer(); }
|
||||
dSv_save_c& getSaveFile() { return info.getSaveFile(); }
|
||||
dSv_save_c& getSaveFile() { return info.getSavedata(); }
|
||||
u32 getNowVibration() { return play.getNowVibration(); }
|
||||
dDlst_peekZ_c& getdlstPeekZ() { return draw_list_list.dlstPeekZ; }
|
||||
dComIfG_play_c& getPlay() { return play; }
|
||||
dSv_memory_c& getMemory() { return info.getMemory(); }
|
||||
dSv_event_c& getEvent() { return info.getEvent(); }
|
||||
dSv_event_c& getEvent() { return info.getTmp(); }
|
||||
dSv_info_c& getInfo() { return info; }
|
||||
inline dDlst_list_c& getDrawlist() { return draw_list_list; }
|
||||
|
||||
private:
|
||||
/* 0x00000 */ dSv_info_c info;
|
||||
/* 0x00EEC */ u8 field_0xeec[0x38];
|
||||
/* 0x00F24 */ u32 saveTotalTime;
|
||||
/* 0x00F28 */ u32 saveStartTime;
|
||||
/* 0x00F2C */ u32 field_0xf2c;
|
||||
/* 0x00F30 */ u32 field_0xf30;
|
||||
/* 0x00F34 */ u32 field_0xf34;
|
||||
/* 0x00F38 */ dComIfG_play_c play;
|
||||
/* 0x05F64 */ dDlst_list_c draw_list_list;
|
||||
/* 0x1C110 */ u8 field_0x1C114[0x1E8];
|
||||
|
||||
+5
-12
@@ -1,21 +1,13 @@
|
||||
#ifndef D_D_DRAWLIST_H
|
||||
#define D_D_DRAWLIST_H
|
||||
|
||||
#include "JSystem/J3DGraphBase/J3DPacket.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/mtx/mtx44.h"
|
||||
#include "dolphin/mtx/mtxvec.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DPacket {};
|
||||
struct _GXColor;
|
||||
|
||||
struct J3DDrawBuffer {
|
||||
/* 80324F08 */ void initialize();
|
||||
/* 80324F70 */ void allocBuffer(u32);
|
||||
/* 80325008 */ ~J3DDrawBuffer();
|
||||
/* 80325068 */ void frameInit();
|
||||
/* 8032548C */ void entryImm(J3DPacket*, u16);
|
||||
/* 803254AC */ void draw() const;
|
||||
};
|
||||
|
||||
class dDlst_FileInfo_c {
|
||||
public:
|
||||
void draw(void);
|
||||
@@ -59,6 +51,7 @@ private:
|
||||
|
||||
class dDlst_base_c {
|
||||
public:
|
||||
virtual void temp(); // temp to build OK, remove later
|
||||
virtual void draw();
|
||||
};
|
||||
|
||||
|
||||
@@ -1,6 +1,35 @@
|
||||
#ifndef D_D_EYE_HL_H
|
||||
#define D_D_EYE_HL_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
|
||||
#include "JSystem/J3DGraphBase/J3DDrawBuffer.h"
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
class dEyeHL_c;
|
||||
|
||||
class dEyeHL_mng_c {
|
||||
public:
|
||||
/* 8009CA48 */ void update();
|
||||
/* 8009CB14 */ void entry(dEyeHL_c*);
|
||||
/* 8009CB34 */ void remove(dEyeHL_c*);
|
||||
|
||||
static u8 m_obj[4 + 4 /* padding */];
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ ResTIMG* field_0x04;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x0A */ u8 field_0x0a[2];
|
||||
/* 0x0C */ dEyeHL_mng_c* field_0x0c;
|
||||
/* 0x10 */ dEyeHL_mng_c* field_0x10;
|
||||
};
|
||||
|
||||
class dEyeHL_c : public dEyeHL_mng_c {
|
||||
public:
|
||||
/* 8009C964 */ void entry(J3DModelData*, char const*);
|
||||
/* 8009CA28 */ void remove();
|
||||
/* 80140C80 */ ~dEyeHL_c();
|
||||
};
|
||||
|
||||
#endif /* D_D_EYE_HL_H */
|
||||
|
||||
@@ -1,6 +1,27 @@
|
||||
#ifndef D_D_JNT_COL_H
|
||||
#define D_D_JNT_COL_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "SSystem/SComponent/c_m3d_g_lin.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class dJntColData_c {};
|
||||
|
||||
class dJntCol_c {
|
||||
public:
|
||||
/* 80035C8C */ dJntCol_c();
|
||||
/* 80035CA0 */ void init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int);
|
||||
/* 80035CC8 */ void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*);
|
||||
/* 80035DC8 */ void searchNearPos(cM3dGLin const*, cXyz const*, cXyz*, int) const;
|
||||
/* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const;
|
||||
/* 80036C44 */ void getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const;
|
||||
/* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*);
|
||||
|
||||
/* 0x00 */ dJntColData_c* mData;
|
||||
/* 0x04 */ J3DModel* mModel;
|
||||
/* 0x08 */ int field_0x8;
|
||||
/* 0x0C */ int field_0xc;
|
||||
};
|
||||
|
||||
#endif /* D_D_JNT_COL_H */
|
||||
|
||||
@@ -2,18 +2,10 @@
|
||||
#define D_D_RESORCE_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
struct JKRHeap {
|
||||
/* 802CE6B0 */ void getSize(void*, JKRHeap*);
|
||||
/* 802CE784 */ void getTotalFreeSize();
|
||||
/* 802CE5CC */ void freeAll();
|
||||
/* 802CE83C */ void findFromRoot(void*);
|
||||
|
||||
static u8 sCurrentHeap[4];
|
||||
};
|
||||
|
||||
struct JKRArchive {
|
||||
/* 802D5CE4 */ void getIdxResource(u32);
|
||||
/* 802D625C */ void getFileAttribute(u32) const;
|
||||
|
||||
@@ -1,6 +1,19 @@
|
||||
#ifndef D_KANKYO_D_KANKYO_H
|
||||
#define D_KANKYO_D_KANKYO_H
|
||||
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "dolphin/gx/GXTexture.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct LIGHT_INFLUENCE {
|
||||
/* 800CFC7C */ ~LIGHT_INFLUENCE();
|
||||
/* 8019F4F8 */ LIGHT_INFLUENCE();
|
||||
|
||||
/* 0x00 */ cXyz field_0x00;
|
||||
/* 0x0C */ _GXColorS10 mColor;
|
||||
/* 0x14 */ float field_0x14;
|
||||
/* 0x18 */ float field_0x18;
|
||||
/* 0x1C */ int field_0x1c;
|
||||
};
|
||||
|
||||
#endif /* D_KANKYO_D_KANKYO_H */
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#ifndef D_METER_D_METER2_INFO_H
|
||||
#define D_METER_D_METER2_INFO_H
|
||||
|
||||
#include "JSystem/JUtility/JUTTexture.h"
|
||||
#include "d/d_resorce.h"
|
||||
#include "d/msg/d_msg_flow.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
//#include "JSystem/JUtility/JUTFont.h"
|
||||
@@ -14,14 +16,6 @@ struct dMsgObject_c {
|
||||
/* 802384C4 */ void setLetterNameID(u16);
|
||||
};
|
||||
|
||||
struct dMsgFlow_c {
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
|
||||
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
|
||||
/* 8024A538 */ void getMsgNo();
|
||||
};
|
||||
|
||||
class dMeterMap_c {
|
||||
public:
|
||||
/* 8020D900 */ bool isMapOpenCheck();
|
||||
@@ -51,8 +45,6 @@ class dMeter2_c {};
|
||||
|
||||
class dMw_c {};
|
||||
|
||||
struct ResTIMG {};
|
||||
|
||||
class dMeter2Info_c {
|
||||
public:
|
||||
class WarpInfo_c {
|
||||
@@ -105,8 +97,10 @@ public:
|
||||
void resetMiniGameItem(bool);
|
||||
void setMiniGameCount(s8);
|
||||
void setSaveStageName(const char*);
|
||||
|
||||
u8& getDirectUseItem() { return mDirectUseItem; }
|
||||
dMeterMap_c* getMeterMapClass() { return mMeterMap; }
|
||||
void offUseButton(int pButton) { mUseButton &= ~(u16)pButton; }
|
||||
|
||||
private:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
|
||||
@@ -2,5 +2,174 @@
|
||||
#define D_MSG_D_MSG_FLOW_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
struct mesg_flow_node_branch {};
|
||||
|
||||
struct mesg_flow_node_event {};
|
||||
|
||||
struct mesg_flow_node {};
|
||||
|
||||
class dMsgFlow_c {
|
||||
public:
|
||||
/* 80249F00 */ dMsgFlow_c();
|
||||
/* 80249F48 */ ~dMsgFlow_c();
|
||||
/* 80249F90 */ void init(fopAc_ac_c*, int, int, fopAc_ac_c**);
|
||||
/* 8024A13C */ void checkOpenDoor(fopAc_ac_c*, int*);
|
||||
/* 8024A2D8 */ void doFlow(fopAc_ac_c*, fopAc_ac_c**, int);
|
||||
/* 8024A424 */ void checkEventRender(int*, int*, int*, int*);
|
||||
/* 8024A4C4 */ void remove();
|
||||
/* 8024A528 */ void getEventId(int*);
|
||||
/* 8024A538 */ void getMsgNo();
|
||||
/* 8024A540 */ void getNowMsgNo();
|
||||
/* 8024A548 */ void getMsg();
|
||||
/* 8024A580 */ void setInitValue(int);
|
||||
/* 8024A618 */ void setInitValueGroupChange(int, fopAc_ac_c**);
|
||||
/* 8024A6EC */ void getMsgDataBlock(char const*);
|
||||
/* 8024A784 */ void getInitNodeIndex(u16);
|
||||
/* 8024A7CC */ void setNodeIndex(u16, fopAc_ac_c**);
|
||||
/* 8024A95C */ void setSelectMsg(mesg_flow_node*, mesg_flow_node*, fopAc_ac_c*);
|
||||
/* 8024AA50 */ void setNormalMsg(mesg_flow_node*, fopAc_ac_c*);
|
||||
/* 8024AB30 */ void messageNodeProc(fopAc_ac_c*, fopAc_ac_c**);
|
||||
/* 8024AD54 */ void branchNodeProc(fopAc_ac_c*, fopAc_ac_c**);
|
||||
/* 8024ADEC */ void eventNodeProc(fopAc_ac_c*, fopAc_ac_c**);
|
||||
/* 8024AFF8 */ void nodeProc(fopAc_ac_c*, fopAc_ac_c**);
|
||||
/* 8024B0F0 */ void getParam(u16*, u16*, u8*);
|
||||
/* 8024B108 */ void getParam(u8*, u8*);
|
||||
/* 8024B130 */ void getParam(u8*);
|
||||
/* 8024B138 */ void query001(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B180 */ void query002(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B208 */ void query003(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B250 */ void query004(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B2C0 */ void query005(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B2F8 */ void query006(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B32C */ void query007(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B45C */ void query008(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B4A4 */ void query009(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B4D0 */ void query010(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B504 */ void query011(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B54C */ void query012(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B584 */ void query013(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B5BC */ void query014(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B5F4 */ void query015(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B62C */ void query016(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B664 */ void query017(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B6A8 */ void query018(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B6EC */ void query019(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B730 */ void query020(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B774 */ void query021(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B8E4 */ void query022(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B918 */ void query023(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B954 */ void query024(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B974 */ void query025(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B9BC */ void query026(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024B9E8 */ void query027(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BA4C */ void query028(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BAA0 */ void query029(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BAE0 */ void query030(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BB18 */ void query031(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BB74 */ void query032(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BB9C */ void query033(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BBE4 */ void query034(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BC14 */ void query035(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BC3C */ void query036(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BC80 */ void query037(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BCC4 */ void query038(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BDB0 */ void query039(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BE4C */ void query040(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BF50 */ void query041(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024BFEC */ void query042(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C0A8 */ void query043(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C144 */ void query044(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C18C */ void query045(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C218 */ void query046(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C248 */ bool query047(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C250 */ void query048(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C2A0 */ void query049(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C2FC */ void query050(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C340 */ void query051(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C3A0 */ void query052(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C3D4 */ void query053(mesg_flow_node_branch*, fopAc_ac_c*, int);
|
||||
/* 8024C3FC */ void event000(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C488 */ void event001(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C514 */ void event002(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C550 */ void event003(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C590 */ void event004(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C5F0 */ void event005(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C654 */ void event006(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C694 */ void event007(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C6D8 */ void event008(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C744 */ void event009(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C76C */ void event010(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C7F8 */ void event011(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C884 */ bool event012(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C88C */ void event013(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C8CC */ void event014(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024C994 */ void event015(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CA5C */ void event016(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CA94 */ void event017(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CBB0 */ void event018(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CCA4 */ bool event019(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CCAC */ void event020(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CD84 */ void event021(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CDAC */ void event022(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CE40 */ void event023(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CF2C */ void event024(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CF54 */ void event025(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024CF9C */ void event026(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D004 */ void event027(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D3C4 */ void event028(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D500 */ void event029(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D544 */ void event030(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D5BC */ void event031(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D5EC */ void event032(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D6BC */ void event033(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D788 */ void event034(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D7C8 */ void event035(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D870 */ void event036(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D8C4 */ void event037(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D918 */ void event038(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D93C */ void event039(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024D970 */ void event040(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024DA78 */ void event041(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
/* 8024DAA8 */ bool event042(mesg_flow_node_event*, fopAc_ac_c*);
|
||||
|
||||
static u8 mQueryList[636];
|
||||
static u8 mEventList[516];
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ void* field_0x04;
|
||||
/* 0x08 */ void* field_0x08;
|
||||
/* 0x0C */ void* field_0x0c;
|
||||
/* 0x10 */ u16 field_0x10;
|
||||
/* 0x12 */ u16 field_0x12;
|
||||
/* 0x14 */ fopAc_ac_c* field_0x14;
|
||||
/* 0x18 */ int field_0x18;
|
||||
/* 0x1C */ u16 field_0x1c;
|
||||
/* 0x1E */ u8 field_0x1e[2];
|
||||
/* 0x20 */ int mMsg;
|
||||
/* 0x24 */ u8 mSelectMessage;
|
||||
/* 0x25 */ u8 field_0x25;
|
||||
/* 0x26 */ u8 field_0x26;
|
||||
/* 0x27 */ u8 field_0x27;
|
||||
/* 0x28 */ int mMsgNo;
|
||||
/* 0x2C */ int mNowMsgNo;
|
||||
/* 0x30 */ u16 field_0x30;
|
||||
/* 0x32 */ u16 mEventId;
|
||||
/* 0x34 */ int field_0x34;
|
||||
/* 0x38 */ u16 field_0x38;
|
||||
/* 0x3A */ s16 mChoiceNo;
|
||||
/* 0x3C */ int field_0x3c;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41;
|
||||
/* 0x42 */ s8 field_0x42;
|
||||
/* 0x43 */ s8 field_0x43;
|
||||
/* 0x44 */ s8 field_0x44;
|
||||
/* 0x45 */ s8 field_0x45;
|
||||
/* 0x46 */ u8 field_0x46;
|
||||
/* 0x47 */ u8 field_0x47;
|
||||
/* 0x48 */ u8 mNonStopJunpFlowFlag;
|
||||
};
|
||||
|
||||
#endif /* D_MSG_D_MSG_FLOW_H */
|
||||
|
||||
@@ -1,6 +1,39 @@
|
||||
#ifndef D_PARTICLE_D_PARTICLE_H
|
||||
#define D_PARTICLE_D_PARTICLE_H
|
||||
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_actor.h"
|
||||
|
||||
class JPAEmitterCallBack {
|
||||
public:
|
||||
/* 80050368 */ void execute(JPABaseEmitter*);
|
||||
/* 8005036C */ void draw(JPABaseEmitter*);
|
||||
/* 80050370 */ void drawAfter(JPABaseEmitter*);
|
||||
/* 80050374 */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8027E6A4 */ ~JPAEmitterCallBack();
|
||||
};
|
||||
|
||||
class dPa_levelEcallBack : public JPAEmitterCallBack {
|
||||
public:
|
||||
/* 8004FB18 */ ~dPa_levelEcallBack();
|
||||
/* 8004FB8C */ void cleanup();
|
||||
};
|
||||
|
||||
class dPa_hermiteEcallBack_c : public dPa_levelEcallBack {
|
||||
public:
|
||||
/* 8004F6B8 */ void setOldPosP(cXyz const*, cXyz const*);
|
||||
/* 8004F6C4 */ void executeAfter(JPABaseEmitter*);
|
||||
/* 8004FABC */ void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8);
|
||||
/* 8004FCC8 */ ~dPa_hermiteEcallBack_c();
|
||||
|
||||
private:
|
||||
/* 0x00 */ void* vtable;
|
||||
/* 0x04 */ float mRate;
|
||||
/* 0x08 */ int mMaxCnt;
|
||||
/* 0x0C */ cXyz* field_0xc;
|
||||
/* 0x10 */ cXyz* field_0x10;
|
||||
/* 0x14 */ cXyz* field_0x14;
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE_D_PARTICLE_H */
|
||||
|
||||
@@ -1,6 +1,31 @@
|
||||
#ifndef D_PARTICLE_D_PARTICLE_COPOLY_H
|
||||
#define D_PARTICLE_D_PARTICLE_COPOLY_H
|
||||
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct dKy_tevstr_c {};
|
||||
|
||||
class dPaPo_c {
|
||||
public:
|
||||
/* 80050C9C */ void init(dBgS_Acch*, f32, f32);
|
||||
/* 80050CC4 */ void checkWaterIn(cXyz*, cXyz const*, dKy_tevstr_c const*, u32, s8, f32, f32);
|
||||
/* 80050E7C */ void setEffect(u32*, int, dKy_tevstr_c const*, cXyz const*, u32, u32,
|
||||
cXyz const*, csXyz const*, s8, u8*, u8*);
|
||||
/* 80051008 */ void setEffectCenter(dKy_tevstr_c const*, cXyz const*, u32, u32, cXyz const*,
|
||||
csXyz const*, cXyz const*, s8, f32, f32);
|
||||
/* 8005113C */ void clearID(u32*, u8*);
|
||||
/* 80051488 */ void getCenterEffType(int) const;
|
||||
/* 80051524 */ void getCenterEmitter(int, int);
|
||||
|
||||
/* 0x00 */ u8 field_0x00[0x28];
|
||||
/* 0x28 */ dBgS_Acch* field_0x28;
|
||||
/* 0x2C */ float field_0x2c;
|
||||
/* 0x30 */ float field_0x30;
|
||||
/* 0x34 */ u8 field_0x34;
|
||||
/* 0x35 */ u8 field_0x35;
|
||||
/* 0x36 */ u8 field_0x36;
|
||||
/* 0x37 */ u8 field_0x37;
|
||||
};
|
||||
|
||||
#endif /* D_PARTICLE_D_PARTICLE_COPOLY_H */
|
||||
|
||||
+172
-145
@@ -13,6 +13,8 @@
|
||||
#define LETTER_INFO_BIT 64
|
||||
#define BOMB_BAG_MAX 3
|
||||
#define BOTTLE_MAX 4
|
||||
#define TBOX_MAX 64
|
||||
#define DSV_MEMBIT_ENUM_MAX 8
|
||||
|
||||
enum Wallets { WALLET, BIG_WALLET, GIANT_WALLET };
|
||||
|
||||
@@ -302,7 +304,7 @@ enum ItemTable {
|
||||
NO_ITEM
|
||||
};
|
||||
|
||||
enum EquipmentBits { CLOTHING_BITFIELD, SWORD_BITFIELD, SHIELD_BITFIELD };
|
||||
enum CollectItem { COLLECT_CLOTHING, COLLECT_SWORD, COLLECT_SHIELD, COLLECT_SMELL, B_BUTTON_ITEM };
|
||||
|
||||
enum Swords { ORDON_SWORD_FLAG, MASTER_SWORD_FLAG, WOODEN_SWORD_FLAG, LIGHT_SWORD_FLAG };
|
||||
|
||||
@@ -310,9 +312,9 @@ enum Shields { ORDON_SHIELD_FLAG, HYLIAN_SHIELD_FLAG, WOODEN_SHIELD_FLAG };
|
||||
|
||||
enum Armors { KOKIRI_CLOTHES_FLAG };
|
||||
|
||||
enum DungeonItem { MAP_FLAG, COMPASS_FLAG, BOSS_KEY_FLAG, OOCCOO_NOTE_FLAG = 6 };
|
||||
enum LightDropStages { FARON_VESSEL, ELDIN_VESSEL, LANAYRU_VESSEL };
|
||||
|
||||
enum AreaVessel { FARON_VESSEL, ELDIN_VESSEL, LANAYRU_VESSEL };
|
||||
enum ItemMax { ARROW_MAX, NORMAL_BOMB_MAX, WATER_BOMB_MAX, POKE_BOMB_MAX = 6 };
|
||||
|
||||
class dSv_player_status_a_c {
|
||||
public:
|
||||
@@ -324,42 +326,42 @@ public:
|
||||
u16 getRupeeMax(void) const;
|
||||
int isMagicFlag(u8) const;
|
||||
|
||||
u16& getMaxLife() { return mMaxHealth; }
|
||||
u16& getLife() { return mCurrentHealth; }
|
||||
u16& getRupee() { return mCurrentRupees; }
|
||||
u16& getOil() { return mCurrentLanternOil; }
|
||||
u8 getSelectEquip(int item) const { return mEquipment[item]; }
|
||||
void setWalletLV(u8 lv) { mCurrentWallet = lv; }
|
||||
void setOil(u16 oil) { mCurrentLanternOil = oil; }
|
||||
void setMaxOil(u16 max) { mMaxLanternOil = max; }
|
||||
void setWalletSize(u8 size) { mCurrentWallet = size; }
|
||||
void setMagic(u8 magic) { mCurrentMagic = magic; }
|
||||
u16& getMaxLife() { return mMaxLife; }
|
||||
u16& getLife() { return mLife; }
|
||||
u16& getRupee() { return mRupee; }
|
||||
u16& getOil() { return mOil; }
|
||||
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
|
||||
void setWalletLV(u8 lv) { mWalletSize = lv; }
|
||||
void setOil(u16 oil) { mOil = oil; }
|
||||
void setMaxOil(u16 max) { mMaxOil = max; }
|
||||
void setWalletSize(u8 size) { mWalletSize = size; }
|
||||
void setMagic(u8 magic) { mMagic = magic; }
|
||||
void setMaxMagic(u8 max) { mMaxMagic = max; }
|
||||
void setRupee(u16 rupees) { mCurrentRupees = rupees; }
|
||||
void setLife(u16 life) { mCurrentHealth = life; }
|
||||
void setMaxLife(u8 max) { mMaxHealth = max; }
|
||||
void setSelectEquip(int item_index, u8 item) { mEquipment[item_index] = item; }
|
||||
void setRupee(u16 rupees) { mRupee = rupees; }
|
||||
void setLife(u16 life) { mLife = life; }
|
||||
void setMaxLife(u8 max) { mMaxLife = max; }
|
||||
void setSelectEquip(int item_index, u8 item) { mSelectEquip[item_index] = item; }
|
||||
|
||||
private:
|
||||
u16 mMaxHealth;
|
||||
u16 mCurrentHealth;
|
||||
u16 mCurrentRupees;
|
||||
u16 mMaxLanternOil;
|
||||
u16 mCurrentLanternOil;
|
||||
u8 unk10;
|
||||
u8 mSelectItem[3];
|
||||
u8 mMixItem[3];
|
||||
u8 unk17;
|
||||
u8 unk18;
|
||||
u8 mEquipment[6];
|
||||
u8 mCurrentWallet;
|
||||
u8 mMaxMagic;
|
||||
u8 mCurrentMagic;
|
||||
u8 mMagicFlag;
|
||||
u8 unk29;
|
||||
u8 unk30;
|
||||
u8 unk31[3];
|
||||
u8 padding[6];
|
||||
/* 0x00 */ u16 mMaxLife;
|
||||
/* 0x02 */ u16 mLife;
|
||||
/* 0x04 */ u16 mRupee;
|
||||
/* 0x06 */ u16 mMaxOil;
|
||||
/* 0x08 */ u16 mOil;
|
||||
/* 0x0A */ u8 unk10;
|
||||
/* 0x0B */ u8 mSelectItem[3];
|
||||
/* 0x0E */ u8 mMixItem[3];
|
||||
/* 0x11 */ u8 unk17;
|
||||
/* 0x12 */ u8 unk18;
|
||||
/* 0x13 */ u8 mSelectEquip[6];
|
||||
/* 0x19 */ u8 mWalletSize;
|
||||
/* 0x1A */ u8 mMaxMagic;
|
||||
/* 0x1B */ u8 mMagic;
|
||||
/* 0x1C */ u8 mMagicFlag;
|
||||
/* 0x1D */ u8 unk29;
|
||||
/* 0x1E */ u8 mTransformStatus;
|
||||
/* 0x1F */ u8 unk31[3];
|
||||
/* 0x22 */ u8 padding[6];
|
||||
};
|
||||
|
||||
class dSv_player_status_b_c {
|
||||
@@ -371,14 +373,13 @@ public:
|
||||
BOOL isTransformLV(int) const;
|
||||
|
||||
private:
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u64 mDateIpl;
|
||||
u8 mTransformLevelFlag;
|
||||
u8 mDarkClearLevelFlag;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
float mTimeOfDay;
|
||||
u16 unk16;
|
||||
float mTime;
|
||||
u16 mDate;
|
||||
u8 unk18[3];
|
||||
u8 padding[3];
|
||||
};
|
||||
@@ -417,13 +418,13 @@ public:
|
||||
void set(const char*, const cXyz&, s16, s8, u8);
|
||||
|
||||
private:
|
||||
cXyz mLastPosition;
|
||||
s16 mLastAngle;
|
||||
char mLastStage[8];
|
||||
cXyz mPos;
|
||||
s16 mAngleY;
|
||||
char mName[8];
|
||||
u8 mLastSpawnId;
|
||||
u8 mLastRoomId;
|
||||
u8 unk24;
|
||||
u8 mLastRegion;
|
||||
u8 mRegionNo;
|
||||
bool mFieldDataExistFlag;
|
||||
u8 mRegion;
|
||||
u8 unk26[2];
|
||||
};
|
||||
|
||||
@@ -501,13 +502,13 @@ public:
|
||||
u8 addBottleNum(u8, s16);
|
||||
u8 getBottleNum(u8) const;
|
||||
|
||||
void setArrowNum(u8 amount) { mBow = amount; }
|
||||
void setArrowNum(u8 amount) { mArrowNum = amount; }
|
||||
|
||||
private:
|
||||
u8 mBow;
|
||||
u8 mBombBags[3];
|
||||
u8 mBottles[4];
|
||||
u8 mSlingshot;
|
||||
u8 mArrowNum;
|
||||
u8 mBombNum[3];
|
||||
u8 mBottleNum[4];
|
||||
u8 mPachinkoNum;
|
||||
u8 unk5[3];
|
||||
};
|
||||
|
||||
@@ -517,11 +518,11 @@ public:
|
||||
void setBombNum(u8, u8);
|
||||
u8 getBombNum(u8) const;
|
||||
|
||||
void setArrowNum(u8 max) { mItemCapacities[0] = max; }
|
||||
u8 getArrowNum() { return mItemCapacities[0]; }
|
||||
void setArrowNum(u8 max) { mItemMax[ARROW_MAX] = max; }
|
||||
u8 getArrowNum() { return mItemMax[ARROW_MAX]; }
|
||||
|
||||
private:
|
||||
u8 mItemCapacities[8];
|
||||
u8 mItemMax[8];
|
||||
};
|
||||
|
||||
class dSv_player_collect_c {
|
||||
@@ -534,15 +535,15 @@ public:
|
||||
void onCollectMirror(u8);
|
||||
BOOL isCollectMirror(u8) const;
|
||||
|
||||
u8 getPohNum() { return mPoeCount; }
|
||||
u8 getPohNum() { return mPohNum; }
|
||||
|
||||
private:
|
||||
u8 unk0[8];
|
||||
u8 mItem[8];
|
||||
u8 unk8;
|
||||
u8 mCrystal;
|
||||
u8 mMirror;
|
||||
u8 unk11;
|
||||
u8 mPoeCount;
|
||||
u8 mPohNum;
|
||||
u8 padding[3];
|
||||
};
|
||||
|
||||
@@ -564,7 +565,7 @@ public:
|
||||
BOOL isLightDropGetFlag(u8) const;
|
||||
|
||||
private:
|
||||
u8 mLightDropCounts[4];
|
||||
u8 mLightDropNum[4];
|
||||
u8 mLightDropGetFlag;
|
||||
u8 unk5[3];
|
||||
};
|
||||
@@ -586,31 +587,30 @@ private:
|
||||
class dSv_fishing_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
void addFishCount(u8); // merged with init in the assembly
|
||||
void addFishCount(u8);
|
||||
|
||||
private:
|
||||
u16 mFishCount[16];
|
||||
u8 unk32[16];
|
||||
u8 mMaxSize[16];
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
class dSv_player_info_c {
|
||||
public:
|
||||
void init(void);
|
||||
char* getLinkName() { return (char*)link_name; }
|
||||
char* getLinkName() { return (char*)mPlayerName; }
|
||||
|
||||
private:
|
||||
u32 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unk12;
|
||||
u64 mTotalTime;
|
||||
u16 unk16;
|
||||
u16 unk18;
|
||||
u8 link_name[16];
|
||||
u16 mDeathCount;
|
||||
u8 mPlayerName[16];
|
||||
u8 unk36;
|
||||
u8 epona_name[16];
|
||||
u8 mHorseName[16];
|
||||
u8 unk53;
|
||||
u8 unk54;
|
||||
u8 mClearCount;
|
||||
u8 unk55[5];
|
||||
u8 padding[4];
|
||||
};
|
||||
@@ -627,15 +627,15 @@ public:
|
||||
private:
|
||||
u8 unk0;
|
||||
u8 mSoundMode;
|
||||
u8 unk2;
|
||||
u8 mVibrationStatus;
|
||||
u8 mAttentionType;
|
||||
u8 mVibration;
|
||||
u8 unk4;
|
||||
u8 unk5;
|
||||
u16 unk6;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
u16 mCalibrateDist;
|
||||
u8 mCalValue;
|
||||
u8 mShortCut;
|
||||
u8 mCameraControl;
|
||||
u8 mPointer;
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
@@ -652,8 +652,6 @@ public:
|
||||
dSv_light_drop_c& getLightDrop() { return light_drop; }
|
||||
dSv_player_get_item_c& getPlayerGetItem() { return player_get_item; }
|
||||
|
||||
void setPlayerStatusAWalletLV(u8 lv) { player_status_a.setWalletLV(lv); }
|
||||
|
||||
private:
|
||||
dSv_player_status_a_c player_status_a;
|
||||
dSv_player_status_b_c player_status_b;
|
||||
@@ -677,6 +675,17 @@ private:
|
||||
#pragma pack(push, 1)
|
||||
class dSv_memBit_c {
|
||||
public:
|
||||
enum {
|
||||
MAP_FLAG,
|
||||
COMPASS_FLAG,
|
||||
BOSS_KEY_FLAG,
|
||||
STAGE_BOSS_ENEMY,
|
||||
STAGE_LIFE,
|
||||
STAGE_BOSS_DEMO,
|
||||
OOCCOO_NOTE_FLAG,
|
||||
STAGE_BOSS_ENEMY_2
|
||||
};
|
||||
|
||||
void init(void);
|
||||
void onTbox(int);
|
||||
void offTbox(int);
|
||||
@@ -690,7 +699,7 @@ public:
|
||||
void onDungeonItem(int);
|
||||
bool isDungeonItem(int) const;
|
||||
|
||||
u8 getKeyNum() { return small_key_flags; }
|
||||
u8 getKeyNum() { return mKeyNum; }
|
||||
void onDungeonItemMap() { onDungeonItem(MAP_FLAG); }
|
||||
bool isDungeonItemMap() const { return isDungeonItem(MAP_FLAG); }
|
||||
void onDungeonItemCompass() { onDungeonItem(COMPASS_FLAG); }
|
||||
@@ -699,11 +708,11 @@ public:
|
||||
bool isDungeonItemBossKey() const { return isDungeonItem(BOSS_KEY_FLAG); }
|
||||
|
||||
private:
|
||||
u32 area_flags_bitfields1[2];
|
||||
u32 area_flags_bitfields2[4];
|
||||
u32 rupee_flags_bitfields;
|
||||
u8 small_key_flags;
|
||||
u8 dungeons_flags;
|
||||
/* 0x00 */ u32 mTbox[2];
|
||||
/* 0x08 */ u32 mSwitch[4];
|
||||
/* 0x18 */ u32 mItem[1]; // not sure if this is right
|
||||
/* 0x1C */ u8 mKeyNum;
|
||||
/* 0x1D */ u8 mDungeonItem;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
@@ -717,7 +726,7 @@ public:
|
||||
u8 getEventReg(u16) const;
|
||||
|
||||
private:
|
||||
u8 events[256];
|
||||
u8 mEvent[256];
|
||||
};
|
||||
|
||||
class dSv_MiniGame_c {
|
||||
@@ -728,34 +737,34 @@ private:
|
||||
u8 unk0;
|
||||
u8 unk1[3];
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
u32 unk12;
|
||||
u32 mBalloonScore;
|
||||
u32 mRaceGameTime;
|
||||
u32 unk16;
|
||||
u32 unk20;
|
||||
};
|
||||
|
||||
class dSv_memory_c {
|
||||
public:
|
||||
dSv_memory_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
dSv_memory_c(void);
|
||||
void init(void);
|
||||
dSv_memBit_c& getTempFlags() { return temp_flags; }
|
||||
const dSv_memBit_c& getTempFlagsConst() const { return temp_flags; }
|
||||
dSv_memBit_c& getMemBit() { return mMemBit; }
|
||||
const dSv_memBit_c& getMemBitConst() const { return mMemBit; }
|
||||
|
||||
private:
|
||||
dSv_memBit_c temp_flags;
|
||||
dSv_memBit_c mMemBit;
|
||||
u8 padding30[2];
|
||||
};
|
||||
|
||||
class dSv_memory2_c {
|
||||
public:
|
||||
dSv_memory2_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
dSv_memory2_c(void);
|
||||
void init(void);
|
||||
void onVisitedRoom(int);
|
||||
void offVisitedRoom(int);
|
||||
BOOL isVisitedRoom(int);
|
||||
|
||||
private:
|
||||
u32 unk0[2];
|
||||
u32 mVisitedRoom[2];
|
||||
};
|
||||
|
||||
class dSv_danBit_c {
|
||||
@@ -769,11 +778,11 @@ public:
|
||||
BOOL isItem(int) const;
|
||||
|
||||
private:
|
||||
s8 mStageNum;
|
||||
s8 mStageNo;
|
||||
u8 unk1;
|
||||
u8 unk2[2];
|
||||
u32 switch_bitfield[2];
|
||||
u32 item_bitfield[4];
|
||||
u32 mSwitch[2];
|
||||
u32 mItem[4];
|
||||
s16 unk28[16];
|
||||
};
|
||||
|
||||
@@ -796,10 +805,10 @@ public:
|
||||
BOOL isOneItem(int) const;
|
||||
|
||||
private:
|
||||
u16 switch_bitfield[2];
|
||||
u16 room_switch;
|
||||
u16 item_bitfield[2];
|
||||
u16 room_item;
|
||||
u16 mSwitch[2];
|
||||
u16 mRoomSwitch;
|
||||
u16 mItem[2];
|
||||
u16 mRoomItem;
|
||||
u16 unk12;
|
||||
};
|
||||
|
||||
@@ -820,18 +829,18 @@ class dSv_zone_c {
|
||||
public:
|
||||
dSv_zone_c(void); // the assembly for this is in d_com_inf_game.s
|
||||
void init(int);
|
||||
dSv_zoneBit_c& getZoneBit() { return zone_bit; }
|
||||
const dSv_zoneBit_c& getZoneBitConst() const { return zone_bit; }
|
||||
dSv_zoneActor_c& getZoneActor() { return zone_actor; }
|
||||
const dSv_zoneActor_c& getZoneActorConst() const { return zone_actor; }
|
||||
dSv_zoneBit_c& getZoneBit() { return mBit; }
|
||||
const dSv_zoneBit_c& getZoneBitConst() const { return mBit; }
|
||||
dSv_zoneActor_c& getZoneActor() { return mActor; }
|
||||
const dSv_zoneActor_c& getZoneActorConst() const { return mActor; }
|
||||
|
||||
s8& getUnk0() { return unk0; }
|
||||
s8& getRoomNo() { return mRoomNo; }
|
||||
|
||||
private:
|
||||
s8 unk0;
|
||||
s8 mRoomNo;
|
||||
u8 unk1;
|
||||
dSv_zoneBit_c zone_bit;
|
||||
dSv_zoneActor_c zone_actor;
|
||||
dSv_zoneBit_c mBit;
|
||||
dSv_zoneActor_c mActor;
|
||||
};
|
||||
|
||||
class dSv_restart_c {
|
||||
@@ -839,22 +848,34 @@ public:
|
||||
void setRoom(const cXyz&, s16, s8);
|
||||
|
||||
private:
|
||||
u8 unk0;
|
||||
u8 unk1[5];
|
||||
s16 mXRotation;
|
||||
cXyz mPosition;
|
||||
u8 padding20[16];
|
||||
/* 0x00 */ s8 mRoomNo;
|
||||
/* 0x01 */ u8 field_0x01[3];
|
||||
/* 0x04 */ s16 mStartPoint;
|
||||
/* 0x06 */ s16 mRoomAngleY;
|
||||
/* 0x08 */ cXyz mRoomPos;
|
||||
/* 0x14 */ u32 mRoomParam;
|
||||
/* 0x18 */ f32 mLastSpeedF;
|
||||
/* 0x1C */ u32 mLastMode;
|
||||
/* 0x20 */ s16 mLastAngleY;
|
||||
};
|
||||
|
||||
class dSv_turnRestart_c {
|
||||
public:
|
||||
class dSv_turnRestart_camera_c {
|
||||
cXyz mCameraCtr;
|
||||
cXyz mCameraEye;
|
||||
cXyz mCameraUp;
|
||||
};
|
||||
|
||||
void set(const cXyz&, s16, s8, u32);
|
||||
|
||||
private:
|
||||
cXyz mPosition;
|
||||
u32 unk12;
|
||||
s16 mXRotation;
|
||||
s8 unk18;
|
||||
/* 0x00 */ cXyz mPosition;
|
||||
/* 0x0C */ u32 mParam;
|
||||
/* 0x10 */ s16 mAngleY;
|
||||
/* 0x12 */ s8 unk18;
|
||||
/* 0x14 */ dSv_turnRestart_camera_c mCamera;
|
||||
/* 0x38 */ f32 mCameraFvy;
|
||||
};
|
||||
|
||||
class dSv_reserve_c {
|
||||
@@ -867,28 +888,27 @@ class dSv_save_c {
|
||||
public:
|
||||
void init(void);
|
||||
dSv_memory2_c* getSave2(int);
|
||||
dSv_player_c& getPlayer() { return player; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return player.getPlayerStatusA(); }
|
||||
dSv_player_get_item_c& getPlayerGetItem() { return player.getPlayerGetItem(); }
|
||||
dSv_player_item_record_c& getPlayerItemRecord() { return player.getPlayerItemRecord(); }
|
||||
dSv_player_item_max_c& getPlayerItemMax() { return player.getPlayerItemMax(); }
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return player.getPlayerLastMarkInfo(); }
|
||||
dSv_player_item_c& getPlayerItem() { return player.getPlayerItem(); }
|
||||
dSv_player_collect_c& getPlayerCollect() { return player.getPlayerCollect(); }
|
||||
dSv_light_drop_c& getLightDrop() { return player.getLightDrop(); }
|
||||
dSv_event_c& getEventFlags() { return event_flags; }
|
||||
dSv_player_c& getPlayer() { return mPlayer; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return mPlayer.getPlayerStatusA(); }
|
||||
dSv_player_get_item_c& getPlayerGetItem() { return mPlayer.getPlayerGetItem(); }
|
||||
dSv_player_item_record_c& getPlayerItemRecord() { return mPlayer.getPlayerItemRecord(); }
|
||||
dSv_player_item_max_c& getPlayerItemMax() { return mPlayer.getPlayerItemMax(); }
|
||||
dSv_player_last_mark_info_c& getPlayerLastMarkInfo() { return mPlayer.getPlayerLastMarkInfo(); }
|
||||
dSv_player_item_c& getPlayerItem() { return mPlayer.getPlayerItem(); }
|
||||
dSv_player_collect_c& getPlayerCollect() { return mPlayer.getPlayerCollect(); }
|
||||
dSv_light_drop_c& getLightDrop() { return mPlayer.getLightDrop(); }
|
||||
dSv_event_c& getEvent() { return mEvent; }
|
||||
|
||||
void setPlayerStatusAWallet(u8 lv) { player.setPlayerStatusAWalletLV(lv); }
|
||||
|
||||
static const int STAGE_MAX = 4;
|
||||
static const int STAGE_MAX = 32;
|
||||
static const int STAGE2_MAX = 64;
|
||||
|
||||
private:
|
||||
dSv_player_c player;
|
||||
dSv_memory_c area_flags[32];
|
||||
dSv_memory2_c unk_flags[64];
|
||||
dSv_event_c event_flags;
|
||||
dSv_player_c mPlayer;
|
||||
dSv_memory_c mSave[STAGE_MAX];
|
||||
dSv_memory2_c mSave2[STAGE2_MAX];
|
||||
dSv_event_c mEvent;
|
||||
dSv_reserve_c reserve;
|
||||
dSv_MiniGame_c minigame_flags;
|
||||
dSv_MiniGame_c mMiniGame;
|
||||
};
|
||||
#pragma pack(push, 1)
|
||||
class dSv_info_c {
|
||||
@@ -911,20 +931,27 @@ public:
|
||||
void card_to_memory(char*, int);
|
||||
void initdata_to_card(char*, int);
|
||||
|
||||
dSv_save_c& getSaveFile() { return save_file; }
|
||||
dSv_memory_c& getMemory() { return memory; }
|
||||
dSv_zone_c* getZones() { return zones; }
|
||||
dSv_player_c& getPlayer() { return save_file.getPlayer(); }
|
||||
dSv_event_c& getEvent() { return events; }
|
||||
dSv_save_c& getSavedata() { return mSavedata; }
|
||||
dSv_memory_c& getMemory() { return mMemory; }
|
||||
dSv_zone_c* getZones() { return mZone; }
|
||||
dSv_player_c& getPlayer() { return mSavedata.getPlayer(); }
|
||||
dSv_event_c& getTmp() { return mTmp; }
|
||||
|
||||
private:
|
||||
/* 0x000 */ dSv_save_c save_file;
|
||||
/* 0x958 */ dSv_memory_c memory;
|
||||
/* 0x978 */ dSv_danBit_c dungeon_bit;
|
||||
/* 0x9B4 */ dSv_zone_c zones[32];
|
||||
/* 0xDB4 */ dSv_restart_c restart;
|
||||
/* 0xDD8 */ dSv_event_c events;
|
||||
/* 0xED8 */ dSv_turnRestart_c turn_restart;
|
||||
/* 0x000 */ dSv_save_c mSavedata;
|
||||
/* 0x958 */ dSv_memory_c mMemory;
|
||||
/* 0x978 */ dSv_danBit_c mDan;
|
||||
/* 0x9B4 */ dSv_zone_c mZone[32];
|
||||
/* 0xDB4 */ dSv_restart_c mRestart;
|
||||
/* 0xDD8 */ dSv_event_c mTmp;
|
||||
/* 0xED8 */ dSv_turnRestart_c mTurnRestart;
|
||||
/* 0xF14 */ u8 field_0xf14[4];
|
||||
/* 0xF18 */ u8 mDataNum;
|
||||
/* 0xF19 */ u8 mNewFile;
|
||||
/* 0xF1A */ u8 mNoFile;
|
||||
/* 0xF1B */ u8 field_0xf1b[13];
|
||||
/* 0xF28 */ u64 mStartTime;
|
||||
/* 0xF30 */ u64 mSaveTotalTime;
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ struct _GXColor {
|
||||
u8 a;
|
||||
};
|
||||
|
||||
struct GXColorS10 {
|
||||
struct _GXColorS10 {
|
||||
s16 r;
|
||||
s16 g;
|
||||
s16 b;
|
||||
|
||||
+23
-13
@@ -3,27 +3,37 @@
|
||||
|
||||
#include "SSystem/SComponent/c_sxyz.h"
|
||||
#include "SSystem/SComponent/c_xyz.h"
|
||||
#include "f_pc/f_pc_base.h"
|
||||
#include "dolphin/mtx/mtx.h"
|
||||
#include "f_pc/f_pc_leaf.h"
|
||||
|
||||
struct JKRSolidHeap;
|
||||
|
||||
class fopAc_ac_c : public base_process_class {
|
||||
struct actor_place {
|
||||
cXyz mPosition;
|
||||
csXyz mAngle;
|
||||
u8 mRoomNo;
|
||||
u8 field_0x13;
|
||||
};
|
||||
|
||||
class fopAc_ac_c : public leafdraw_class {
|
||||
public:
|
||||
/* 0x0B8 */ u8 unk_0x0B8[0xF0 - 0xB8];
|
||||
/* 0x0C0 */ int mAcType;
|
||||
/* 0x0C4 */ create_tag_class mAcTg;
|
||||
/* 0x0D8 */ create_tag_class mDwTg;
|
||||
/* 0x0EC */ profile_method_class* mSubMtd;
|
||||
/* 0x0F0 */ JKRSolidHeap* unk_0x0F0;
|
||||
/* 0x0F4 */ u8 unk_0x0F4[0x496 - 0xF4];
|
||||
/* 0x496 */ u8 unk_0x496;
|
||||
/* 0x497 */ u8 unk_0x497[0x499 - 0x497];
|
||||
/* 0x499 */ s8 unk_0x499;
|
||||
/* 0x497 */ u8 unk_0x49A[0x4D0 - 0x49A];
|
||||
/* 0x4D0 */ cXyz mPosition;
|
||||
/* 0x4DC */ csXyz mAngle;
|
||||
/* 0x4E2 */ s8 mRoomNo;
|
||||
/* 0x4E3 */ u8 unk_0x4E3[0x4E6 - 0x4E3];
|
||||
/* 0x4E6 */ s16 unk_0x4E6;
|
||||
/* 0x4E8 */ u8 unk_0x4E8[0x4F8 - 0x4E8];
|
||||
/* 0x49A */ u8 unk_0x49A[0x4A8 - 0x49A];
|
||||
/* 0x4A8 */ actor_place mOrig;
|
||||
/* 0x4BC */ actor_place mNext;
|
||||
/* 0x4D0 */ actor_place mCurrent;
|
||||
/* 0x4E4 */ csXyz mCollisionRot;
|
||||
/* 0x4EC */ cXyz mScale;
|
||||
/* 0x4F8 */ cXyz mSpeed;
|
||||
/* 0x504 */ u8 unk_0x504[4];
|
||||
/* 0x504 */ Mtx* mCullMtx;
|
||||
/* 0x508 */ cXyz mCullMin;
|
||||
/* 0x514 */ cXyz mCullMax;
|
||||
/* 0x520 */ u8 unk_0x520[0xC];
|
||||
@@ -36,8 +46,8 @@ public:
|
||||
|
||||
static u8 stopStatus[4];
|
||||
|
||||
const cXyz& getPosition() const { return mPosition; }
|
||||
const csXyz& getAngle() const { return mAngle; }
|
||||
const cXyz& getPosition() const { return mCurrent.mPosition; }
|
||||
const csXyz& getAngle() const { return mCurrent.mAngle; }
|
||||
}; // Size: unknown
|
||||
|
||||
#endif
|
||||
@@ -32,6 +32,8 @@ struct fopAcM_prm_class {
|
||||
class fopAcM_lc_c {
|
||||
public:
|
||||
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
|
||||
|
||||
static u8 mLineCheck[112];
|
||||
};
|
||||
|
||||
class fopAcM_rc_c {
|
||||
@@ -42,11 +44,17 @@ public:
|
||||
class fopAcM_gc_c {
|
||||
public:
|
||||
static bool gndCheck(const cXyz*);
|
||||
|
||||
static u8 mGndCheck[84];
|
||||
static f32 mGroundY;
|
||||
};
|
||||
|
||||
class fopAcM_wt_c {
|
||||
public:
|
||||
static bool waterCheck(const cXyz*);
|
||||
|
||||
static u8 mWaterCheck[84 + 4 /* padding */];
|
||||
static f32 mWaterY[1 + 1 /* padding */];
|
||||
};
|
||||
|
||||
struct dKy_tevstr_c;
|
||||
@@ -59,7 +67,15 @@ struct DOUBLE_POS {
|
||||
};
|
||||
|
||||
inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
|
||||
return pActor->mRoomNo;
|
||||
return pActor->mCurrent.mRoomNo;
|
||||
}
|
||||
|
||||
inline u32 fopAcM_GetID(const void* pActor) {
|
||||
return fpcM_GetID(pActor);
|
||||
}
|
||||
|
||||
inline s16 fopAcM_GetName(fopAc_ac_c* pActor) {
|
||||
return fpcM_GetName(pActor);
|
||||
}
|
||||
|
||||
void* fopAcM_FastCreate(s16 pProcTypeID, FastCreateReqFunc param_2, void* param_3, void* pData);
|
||||
@@ -94,7 +110,7 @@ void fopAcM_setCullSizeSphere(fopAc_ac_c*, f32, f32, f32, f32);
|
||||
void fopAcM_setCullSizeBox2(fopAc_ac_c*, J3DModelData*);
|
||||
bool fopAcM_addAngleY(fopAc_ac_c*, s16, s16);
|
||||
inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) {
|
||||
return pActor->mAngle;
|
||||
return pActor->mCurrent.mAngle;
|
||||
}
|
||||
void fopAcM_calcSpeed(fopAc_ac_c*);
|
||||
void fopAcM_posMove(fopAc_ac_c*, const cXyz*);
|
||||
|
||||
@@ -15,6 +15,10 @@ typedef int (*fpcM_DrawIteraterFunc)(void*, void*);
|
||||
inline u32 fpcM_GetID(const void* pProc) {
|
||||
return pProc != NULL ? ((base_process_class*)pProc)->mBsPcId : 0xFFFFFFFF;
|
||||
}
|
||||
inline s16 fpcM_GetName(const void* pActor) {
|
||||
return ((base_process_class*)pActor)->mProcName;
|
||||
}
|
||||
|
||||
void fpcM_Draw(void* pProc);
|
||||
s32 fpcM_DrawIterater(fpcM_DrawIteraterFunc pFunc);
|
||||
void fpcM_Execute(void* pProc);
|
||||
|
||||
+13
-15
@@ -2,23 +2,11 @@
|
||||
#define M_DO_M_DO_EXT_H
|
||||
|
||||
#include "JSystem/J3DGraphAnimator/J3DAnimation.h"
|
||||
#include "JSystem/J3DGraphAnimator/J3DModel.h"
|
||||
#include "JSystem/JKernel/JKRExpHeap.h"
|
||||
#include "JSystem/JKernel/JKRSolidHeap.h"
|
||||
#include "dolphin/types.h"
|
||||
|
||||
struct J3DModelData {
|
||||
/* 80325E14 */ void newSharedDisplayList(u32);
|
||||
/* 80325F94 */ void makeSharedDL();
|
||||
/* 8032600C */ void simpleCalcMaterial(u16, f32 (*)[4]);
|
||||
};
|
||||
|
||||
struct J3DModel {
|
||||
/* 80327100 */ void initialize();
|
||||
/* 80327184 */ void entryModelData(J3DModelData*, u32, u32);
|
||||
/* 803275FC */ void newDifferedDisplayList(u32);
|
||||
/* 8032767C */ void lock();
|
||||
/* 803276B4 */ void unlock();
|
||||
/* 803279A0 */ void diff();
|
||||
};
|
||||
|
||||
struct J3DMaterialTable;
|
||||
struct J3DAnmTextureSRTKey {
|
||||
/* 80329E5C */ J3DAnmTextureSRTKey();
|
||||
@@ -130,4 +118,14 @@ private:
|
||||
};
|
||||
#pragma pack(pop)
|
||||
|
||||
class mDoExt_AnmRatioPack {
|
||||
public:
|
||||
/* 80140DF0 */ ~mDoExt_AnmRatioPack();
|
||||
/* 80140E2C */ mDoExt_AnmRatioPack();
|
||||
|
||||
private:
|
||||
/* 0x0 */ float mRatio;
|
||||
/* 0x4 */ J3DAnmTransform* mAnmTransform;
|
||||
}; // Size = 0x8
|
||||
|
||||
#endif /* M_DO_M_DO_EXT_H */
|
||||
|
||||
Reference in New Issue
Block a user