Merge branch 'master' of https://github.com/zeldaret/tp into talk

This commit is contained in:
TakaRikka
2023-06-27 16:15:40 -07:00
403 changed files with 6915 additions and 19107 deletions
+1 -1
View File
@@ -5,7 +5,7 @@
#include "dolphin/types.h"
struct J2DAnmLoaderDataBase {
/* 80308A6C */ static void* load(void const*);
/* 80308A6C */ static J2DAnmBase* load(void const*);
};
class J2DAnmLoader {
@@ -9,8 +9,8 @@ typedef struct _GXColorS10 GXColorS10;
class J3DMatColorAnm {
public:
/* 8003B2B8 */ ~J3DMatColorAnm();
/* 8003B2F4 */ J3DMatColorAnm();
/* 8003B2B8 */ ~J3DMatColorAnm() {};
/* 8003B2F4 */ J3DMatColorAnm() {};
void operator=(J3DMatColorAnm const& other) {
mAnmColor = other.mAnmColor;
@@ -30,9 +30,9 @@ private:
class J3DTexNoAnm {
public:
/* 8003B1F8 */ ~J3DTexNoAnm();
/* 8003B240 */ J3DTexNoAnm();
/* 8003C82C */ virtual void calc(u16*) const;
/* 8003B1F8 */ ~J3DTexNoAnm() {};
/* 8003B240 */ J3DTexNoAnm() {};
/* 8003C82C */ virtual void calc(u16* param_0) const { mAnmTexPattern->getTexNo(field_0x4, param_0); }
void operator=(J3DTexNoAnm const& other) {
mAnmTexPattern = other.mAnmTexPattern;
@@ -52,8 +52,8 @@ private:
class J3DTexMtxAnm {
public:
/* 8003B264 */ ~J3DTexMtxAnm();
/* 8003B2A0 */ J3DTexMtxAnm();
/* 8003B264 */ ~J3DTexMtxAnm() {};
/* 8003B2A0 */ J3DTexMtxAnm() {};
void operator=(J3DTexMtxAnm const& other) {
mAnmTransform = other.mAnmTransform;
@@ -75,8 +75,8 @@ private:
class J3DTevKColorAnm {
public:
/* 8003B150 */ ~J3DTevKColorAnm();
/* 8003B18C */ J3DTevKColorAnm();
/* 8003B150 */ ~J3DTevKColorAnm() {};
/* 8003B18C */ J3DTevKColorAnm() {};
void operator=(J3DTevKColorAnm const& other) {
mAnmTevReg = other.mAnmTevReg;
@@ -96,8 +96,8 @@ private:
class J3DTevColorAnm {
public:
/* 8003B1A4 */ ~J3DTevColorAnm();
/* 8003B1E0 */ J3DTevColorAnm();
/* 8003B1A4 */ ~J3DTevColorAnm() {};
/* 8003B1E0 */ J3DTevColorAnm() {};
void operator=(J3DTevColorAnm const& other) {
mAnmTevReg = other.mAnmTevReg;
@@ -126,7 +126,7 @@ public:
/* 8032C664 */ void setTevColorAnm(int, J3DTevColorAnm*);
/* 8032C6A4 */ void setTevKColorAnm(int, J3DTevKColorAnm*);
/* 800A4820 */ virtual ~J3DMaterialAnm();
/* 800A4820 */ virtual ~J3DMaterialAnm() {};
/* 8032C3C4 */ virtual void calc(J3DMaterial*) const;
const J3DTexMtxAnm& getTexMtxAnm(int i) const { return mTexMtxAnm[i]; }
@@ -48,6 +48,7 @@ public:
GXColor* getVtxColorArray(u8 idx) const { return mVertexData.getVtxColorArray(idx); }
bool checkFlag(u32 flag) const { return (mFlags & flag) ? true : false; }
u32 getFlag() const { return mFlags; }
void* getRawData() const { return mpRawData; }
u16 checkBumpFlag() const { return mbHasBumpArray; }
void setBumpFlag(u32 flag) { mbHasBumpArray = flag; }
bool checkBBoardFlag() const { return mbHasBillboard == 1; }
+35 -18
View File
@@ -7,6 +7,7 @@
#include "dolphin/gx/GXStruct.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_lib.h"
struct J3DGXColorS10 {
/* 8000E460 */ J3DGXColorS10();
@@ -45,9 +46,9 @@ public:
virtual u32 getType() = 0;
/* 8031741C */ virtual void setTexGenNum(u32 const*);
/* 8000E0D0 */ virtual void setTexGenNum(u32);
/* 8000DFE8 */ virtual bool getTexGenNum() const;
/* 8000DFE8 */ virtual u32 getTexGenNum() const;
/* 8000E0CC */ virtual void setTexCoord(u32, J3DTexCoord const*);
/* 8000DFE0 */ virtual bool getTexCoord(u32);
/* 8000DFE0 */ virtual J3DTexCoord* getTexCoord(u32);
/* 8003AB2C */ virtual void setTexMtx(u32, J3DTexMtx*);
/* 8000DFD8 */ virtual J3DTexMtx* getTexMtx(u32);
/* 80317424 */ virtual void setNBTScale(J3DNBTScale const*);
@@ -76,9 +77,9 @@ public:
/* 80322E74 */ virtual u32 getType();
/* 80322D3C */ virtual void setTexGenNum(u32 const*);
/* 80322D34 */ virtual void setTexGenNum(u32);
/* 80322D48 */ virtual bool getTexGenNum() const;
/* 80322D48 */ virtual u32 getTexGenNum() const;
/* 80322D50 */ virtual void setTexCoord(u32, J3DTexCoord const*);
/* 80322D64 */ virtual bool getTexCoord(u32);
/* 80322D64 */ virtual J3DTexCoord* getTexCoord(u32);
/* 80322D78 */ virtual void setTexMtx(u32, J3DTexMtx*);
/* 80322D88 */ virtual J3DTexMtx* getTexMtx(u32);
/* 80322D98 */ virtual bool getTexMtxOffset() const;
@@ -151,7 +152,7 @@ public:
/* 8000DF94 */ virtual u32 getTexNo(u32) const;
/* 80323548 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 8000E0BC */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8000DFB8 */ virtual bool getTevOrder(u32);
/* 8000DFB8 */ virtual J3DTevOrder* getTevOrder(u32);
/* 80110E80 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 8000E0C4 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 8000DFC8 */ virtual _GXColorS10* getTevColor(u32);
@@ -214,7 +215,7 @@ public:
/* 803229E4 */ virtual u32 getTexNo(u32) const;
/* 80322A08 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803229F4 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322A1C */ virtual bool getTevOrder(u32);
/* 80322A1C */ virtual J3DTevOrder* getTevOrder(u32);
/* 80322B24 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80322AF8 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 80322B50 */ virtual GXColorS10* getTevColor(u32);
@@ -278,7 +279,7 @@ public:
/* 80322040 */ virtual u32 getTexNo(u32) const;
/* 80322064 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322050 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322078 */ virtual bool getTevOrder(u32);
/* 80322078 */ virtual J3DTevOrder* getTevOrder(u32);
/* 803220B8 */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 8032208C */ virtual void setTevColor(u32, J3DGXColorS10);
/* 803220E4 */ virtual GXColorS10* getTevColor(u32);
@@ -348,7 +349,7 @@ public:
/* 80322404 */ virtual u32 getTexNo(u32) const;
/* 80322428 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80322414 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 8032243C */ virtual bool getTevOrder(u32);
/* 8032243C */ virtual J3DTevOrder* getTevOrder(u32);
/* 8032247C */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80322450 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 803224A8 */ virtual GXColorS10* getTevColor(u32);
@@ -418,7 +419,7 @@ public:
/* 80321C74 */ virtual u32 getTexNo(u32) const;
/* 80321C98 */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 80321C84 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80321CAC */ virtual bool getTevOrder(u32);
/* 80321CAC */ virtual J3DTevOrder* getTevOrder(u32);
/* 80321CEC */ virtual void setTevColor(u32, J3DGXColorS10 const*);
/* 80321CC0 */ virtual void setTevColor(u32, J3DGXColorS10);
/* 80321D18 */ virtual GXColorS10* getTevColor(u32);
@@ -488,7 +489,7 @@ public:
/* 803227C8 */ virtual u32 getTexNo(u32) const;
/* 803227EC */ virtual void setTevOrder(u32, J3DTevOrder const*);
/* 803227D8 */ virtual void setTevOrder(u32, J3DTevOrder);
/* 80322800 */ virtual bool getTevOrder(u32);
/* 80322800 */ virtual J3DTevOrder* getTevOrder(u32);
/* 80322818 */ virtual void setTevStageNum(u8 const*);
/* 80322814 */ virtual void setTevStageNum(u8);
/* 8032281C */ virtual u8 getTevStageNum() const;
@@ -542,10 +543,21 @@ struct J3DFog : public J3DFogInfo {
J3DFogInfo* getFogInfo() { return (J3DFogInfo*)this; }
};
struct J3DAlphaComp {
/* 0x0 */ u16 field_0x0;
struct J3DAlphaCompInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 field_0x1;
/* 0x2 */ u8 mRef0;
/* 0x3 */ u8 mRef1;
/* 0x4 */ u8 field_0x4;
};
struct J3DAlphaComp: public J3DAlphaCompInfo {
void setAlphaCompInfo(J3DAlphaCompInfo *param_1) {
mRef0 = param_1->field_0x1;
mRef1 = param_1->field_0x4;
u32 p1_mref1 = param_1->mRef1;
*(u16*)&field_0x0 = calcAlphaCmpID(param_1->field_0x0, param_1->mRef0, p1_mref1);
}
}; // Size: 0x4
class J3DPEBlock {
@@ -563,7 +575,7 @@ public:
/* 8000DF5C */ virtual J3DFog* getFog();
/* 8031736C */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 8000E01C */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 8000DF54 */ virtual bool getAlphaComp();
/* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp();
/* 80317370 */ virtual void setBlend(J3DBlend const*);
/* 8000E018 */ virtual void setBlend(J3DBlend const&);
/* 8000DF4C */ virtual bool getBlend();
@@ -622,7 +634,7 @@ public:
/* 803219A0 */ virtual J3DFog* getFog();
/* 803219C4 */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 803219A8 */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 803219E0 */ virtual bool getAlphaComp();
/* 803219E0 */ virtual J3DAlphaComp* getAlphaComp();
/* 803219F4 */ virtual void setBlend(J3DBlend const*);
/* 803219E8 */ virtual void setBlend(J3DBlend const&);
/* 80321A00 */ virtual bool getBlend();
@@ -661,7 +673,7 @@ public:
/* 80321B00 */ virtual u32 getType();
/* 80321B28 */ virtual void setAlphaComp(J3DAlphaComp const*);
/* 80321B0C */ virtual void setAlphaComp(J3DAlphaComp const&);
/* 80321B44 */ virtual bool getAlphaComp();
/* 80321B44 */ virtual J3DAlphaComp* getAlphaComp();
/* 80321B58 */ virtual void setBlend(J3DBlend const*);
/* 80321B4C */ virtual void setBlend(J3DBlend const&);
/* 80321B64 */ virtual bool getBlend();
@@ -777,6 +789,11 @@ struct J3DColorChanInfo {
struct J3DColorChan {
/* 8000E47C */ J3DColorChan();
u8 getLightMask() { return (((mColorChanID & 0x7800) >> 7) | (mColorChanID & 0x3c) >> 2); }
void setLightMask(u8 param_1) {
mColorChanID = (mColorChanID & ~0x3c) | ((param_1 & 0xf) << 2);
mColorChanID = (mColorChanID & ~0x7800) | ((param_1 & 0xf0) << 7);
}
/* 0x0 */ u16 mColorChanID;
};
@@ -806,7 +823,7 @@ public:
/* 8000E008 */ virtual bool getColorChanNum() const;
/* 8000E0D8 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 80317450 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 8000DFF8 */ virtual bool getColorChan(u32);
/* 8000DFF8 */ virtual J3DColorChan* getColorChan(u32);
/* 801A4C08 */ virtual void setLight(u32, J3DLightObj*);
/* 80317454 */ virtual bool getLight(u32);
/* 80317460 */ virtual void setCullMode(u8 const*);
@@ -846,7 +863,7 @@ public:
/* 80322F78 */ virtual bool getColorChanNum() const;
/* 80322F94 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 80322F80 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 80322FA8 */ virtual bool getColorChan(u32);
/* 80322FA8 */ virtual J3DColorChan* getColorChan(u32);
/* 80322FBC */ virtual void setLight(u32, J3DLightObj*);
/* 80322FCC */ virtual bool getLight(u32);
/* 80322FE4 */ virtual void setCullMode(u8 const*);
@@ -891,7 +908,7 @@ public:
/* 803231D8 */ virtual bool getColorChanNum() const;
/* 803231F4 */ virtual void setColorChan(u32, J3DColorChan const&);
/* 803231E0 */ virtual void setColorChan(u32, J3DColorChan const*);
/* 80323208 */ virtual bool getColorChan(u32);
/* 80323208 */ virtual J3DColorChan* getColorChan(u32);
/* 80323224 */ virtual void setCullMode(u8 const*);
/* 8032321C */ virtual void setCullMode(u8);
/* 80323230 */ virtual s32 getCullMode() const;
@@ -66,6 +66,8 @@ public:
J3DTexMtx* getTexMtx(u32 idx) { return mTexGenBlock->getTexMtx(idx); }
u16 getIndex() { return mIndex; }
bool isDrawModeOpaTexEdge() { return (mMaterialMode & 3) == 0; }
J3DPEBlock* getPEBlock() { return mPEBlock; }
void onInvalid() { mInvalid = 1; }
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
+17 -7
View File
@@ -3,13 +3,7 @@
#include "dolphin/types.h"
struct J3DTevStageInfo {};
struct J3DTevStage {
/* 8000E230 */ J3DTevStage();
/* 8000E298 */ void setTevStageInfo(J3DTevStageInfo const&);
/* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
struct J3DTevStageInfo {
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 mTevColorOp;
/* 0x2 */ u8 mTevColorAB;
@@ -20,6 +14,12 @@ struct J3DTevStage {
/* 0x7 */ u8 mTevSwapModeInfo;
};
struct J3DTevStage : public J3DTevStageInfo {
/* 8000E230 */ J3DTevStage();
/* 8000E298 */ void setTevStageInfo(J3DTevStageInfo const&);
/* 8003AACC */ J3DTevStage(J3DTevStageInfo const&);
};
struct J3DIndTevStageInfo {
/* 0x0 */ u8 mIndStage;
/* 0x1 */ u8 mIndFormat;
@@ -39,13 +39,23 @@ struct J3DIndTevStage {
};
struct J3DTevOrderInfo {
void operator=(const J3DTevOrderInfo& other) {
*(u32*) this = *(u32*)&other;
}
/* 0x0 */ u8 field_0x0;
/* 0x1 */ u8 mTexMap;
/* 0x2 */ u8 field_0x2;
/* 0x3 */ u8 field_0x3; // Maybe padding
};
struct J3DTevOrder : public J3DTevOrderInfo {
/* 8000E140 */ J3DTevOrder();
J3DTevOrder(const J3DTevOrderInfo& info) {
*(J3DTevOrderInfo*)this = info;
}
u8 getTexMap() { return mTexMap; }
};
struct J3DTevSwapModeTable {
+15 -2
View File
@@ -22,8 +22,8 @@ public:
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
void setResTIMG(u16 entry, const ResTIMG& timg) {
mpRes[entry] = timg;
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset - (u32)(mpRes + entry))) + (u32)&timg;
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset - (u32)(mpRes + entry))) + (u32)&timg;
mpRes[entry].imageOffset = ((mpRes[entry].imageOffset + (u32)&timg - (u32)(mpRes + entry)));
mpRes[entry].paletteOffset = ((mpRes[entry].paletteOffset + (u32)&timg - (u32)(mpRes + entry)));
}
};
@@ -48,6 +48,9 @@ struct J3DTexMtxInfo {
class J3DTexMtx {
public:
J3DTexMtx(const J3DTexMtxInfo& info) {
mTexMtxInfo = info;
}
/* 803238C4 */ void load(u32) const;
/* 80323900 */ void calc(f32 const (*)[4]);
/* 80323920 */ void calcTexMtx(f32 const (*)[4]);
@@ -68,10 +71,20 @@ struct J3DTexCoordInfo {
/* 0x0 */ u8 mTexGenType;
/* 0x1 */ u8 mTexGenSrc;
/* 0x2 */ u8 mTexGenMtx;
void operator=(J3DTexCoordInfo const& other) {
*(u32*) this = *(u32*)&other;
}
};
struct J3DTexCoord : public J3DTexCoordInfo {
/* 8000E464 */ J3DTexCoord();
void setTexCoordInfo(J3DTexCoordInfo *param_1) {
*(J3DTexCoordInfo*)this = *param_1;
}
void resetTexMtxReg() {
mTexMtxReg = mTexGenMtx;
}
/* 0x4 */ u16 mTexMtxReg;
}; // Size: 0x6
@@ -9,7 +9,7 @@ struct J3DAnmBase;
struct J3DAnmLoaderDataBase {
/* 80337B40 */ static void* load(void const*, J3DAnmLoaderDataBaseFlag);
/* 80338134 */ void setResource(J3DAnmBase*, void const*);
/* 80338134 */ static void setResource(J3DAnmBase*, void const*);
};
#endif /* J3DANMLOADER_H */
@@ -4,7 +4,7 @@
#include "dolphin/types.h"
struct J3DClusterLoaderDataBase {
/* 80334130 */ void load(void const*);
/* 80334130 */ static void* load(void const*);
};
#endif /* J3DCLUSTERLOADER_H */
@@ -5,7 +5,7 @@
class J3DModelLoaderDataBase {
public:
/* 803346BC */ void load(void const*, u32);
/* 803346BC */ static void* load(void const*, u32);
};
#endif /* J3DMODELLOADER_H */
+17 -7
View File
@@ -2,17 +2,27 @@
#define JASAUDIOTHREAD_H
#include "JSystem/JAudio2/JASGadget.h"
#include "JSystem/JKernel/JKRThread.h"
struct JASAudioThread : public JASGlobalInstance<JASAudioThread> {
enum JASAudioMessage {
AUDIOMSG_DMA = 0,
AUDIOMSG_DSP = 1,
AUDIOMSG_STOP = 2,
};
struct JASAudioThread : public JKRThread, public JASGlobalInstance<JASAudioThread> {
/* 8029CCDC */ JASAudioThread(int, int, u32);
/* 8029CD4C */ void create(s32);
/* 8029CD4C */ static void create(s32);
/* 8029CDC0 */ void stop();
/* 8029CDEC */ void run();
/* 8029CF68 */ void DMACallback();
/* 8029CFBC */ void DSPCallback(void*);
/* 8029D028 */ ~JASAudioThread();
/* 8029CDEC */ virtual void* run();
/* 8029CF68 */ static void DMACallback();
/* 8029CFBC */ static void DSPCallback(void*);
/* 8029D028 */ virtual ~JASAudioThread() {}
static u8 snIntCount[4 + 4 /* padding */];
/* 0x7c */ OSThreadQueue sThreadQueue;
/* 0x84 */ bool sbPauseFlag; // type unsure
static volatile int snIntCount; // type unsure
};
#endif /* JASAUDIOTHREAD_H */
+7
View File
@@ -19,6 +19,13 @@ struct JASDriver {
/* 8029E2D0 */ void DSPSyncCallback();
/* 8029E2F8 */ void updateDacCallback();
/* 8029C9F0 */ static u32 getSubFrames();
static void initAI(void (*)());
static void startDMA();
static void stopDMA();
static void updateDac();
static void updateDacCallback();
static void finishDSPFrame();
static void updateDSP();
static u8 sDspSyncCallback[256];
static u8 sSubFrameCallback[256];
+5 -1
View File
@@ -10,8 +10,12 @@ public:
sInstance = inst;
}
JASGlobalInstance(bool param_1) {
sInstance = (T*)this;
}
~JASGlobalInstance() {
if (this == sInstance) {
if (sInstance == (T*)this) {
sInstance = NULL;
}
}
+15
View File
@@ -13,6 +13,21 @@ public:
/* 8029627C */ bool ret();
/* 802962B0 */ int readMidiValue();
void jump(u32 param_1) {
field_0x04 = (u8*)field_0x00 + param_1;
}
void jump(void* param_1) {
field_0x04 = (u8*)param_1;
}
u32 get24(int param_0) {
return (*(u32*)((int)field_0x00 + param_0 - 1)) & 0xffffff;
}
u32* getBase() { return field_0x00; }
u8* getCur() { return field_0x04; }
u8 readByte() {
u8* tmp = field_0x04;
field_0x04 += 1;
+1 -1
View File
@@ -70,7 +70,7 @@ struct JASTrack {
/* 80291F38 */ void noteOn(u32, u32, u32);
/* 80292008 */ void gateOn(u32, u32, f32, u32);
/* 80292198 */ void noteOff(u32, u16);
/* 80292220 */ void checkNoteStop(u32) const;
/* 80292220 */ bool checkNoteStop(u32) const;
/* 8029226C */ void overwriteOsc(JASChannel*);
/* 802922D8 */ void updateTimedParam();
/* 80292348 */ void updateTrack(f32);
+6 -3
View File
@@ -133,7 +133,6 @@ public:
u32 countResource(void) const;
u32 getFileAttribute(u32) const;
u32 getMountMode() const { return mMountMode; }
SDIFileEntry* findNameResource(const char*) const;
bool isSameName(CArcName&, u32, u16) const;
SDIDirEntry* findResType(u32) const;
@@ -164,6 +163,10 @@ public:
u32 countFile() const { return mArcInfoBlock->num_file_entries; }
s32 countDirectory() const { return mArcInfoBlock->num_nodes; }
u8 getMountMode() const { return mMountMode; }
bool isFileEntry(u32 param_0) {
return getFileAttribute(param_0) & 1;
}
public:
/* 0x00 */ // vtable
@@ -175,10 +178,10 @@ public:
/* 0x44 */ SArcDataInfo* mArcInfoBlock;
/* 0x48 */ SDIDirEntry* mNodes;
/* 0x4C */ SDIFileEntry* mFiles;
protected:
/* 0x50 */ s32* mExpandedSize;
/* 0x54 */ char* mStringTable;
protected:
/* 0x58 */ u32 field_0x58;
public:
+1
View File
@@ -27,6 +27,7 @@ public:
public:
static u32 fetchResource_subroutine(u8*, u32, u8*, u32, JKRCompression);
SArcHeader* getArcHeader() { return mArcHeader; }
private:
/* 0x00 */ // vtable
+1 -5
View File
@@ -72,11 +72,7 @@ public:
s32 getCurrentHeapError() const { return mCurrentHeapError; }
void setCurrentHeap(JKRHeap* heap) {
if (!heap) {
heap = JKRHeap::getCurrentHeap();
}
mCurrentHeap = heap;
mCurrentHeap = heap ? heap : JKRHeap::getCurrentHeap();
}
protected:
+2
View File
@@ -248,6 +248,8 @@ public:
void setRate(f32 rate) { mRate = rate; }
void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); }
void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTrs.set(x, y, z); }
void setGlobalAlpha(u8 alpha) { mGlobalPrmClr.a = alpha; }
// void setGlobalScale(const JGeometry::TVec3<f32>& scale) {
// mGlobalScl = scale;
// mGlobalPScl = scale;
+1 -1
View File
@@ -21,7 +21,7 @@ public:
/* 802E56DC */ virtual void draw();
s32 getStatus() const { return mStatus; }
void setColor(JUtility::TColor color) { mColor.set(color); }
void setColor(JUtility::TColor& color) { mColor.set(color); }
/* 0x04 */ s32 mStatus;
/* 0x08 */ u16 field_0x8;
+6
View File
@@ -128,6 +128,8 @@ public:
return isPushingReset;
}
inline void stopMotorWave() { mRumble.stopPatternedRumbleAtThePeriod(); }
void stopMotor() { mRumble.stopMotor(mPortNum, false); }
void stopMotorHard() { mRumble.stopMotorHard(mPortNum); }
static s8 getPortStatus(u32 port) { return mPadStatus[port].error; }
@@ -227,6 +229,10 @@ public:
/* 0x10 */ u8* field_0x10;
}; // Size: 0x14
void startMotorWave(void* param_2, CRumble::ERumble rumble, u32 param_4) {
mRumble.startPatternedRumble(param_2, rumble, param_4);
}
/* 0x18 */ CButton mButton;
/* 0x48 */ CStick mMainStick;
/* 0x58 */ CStick mSubStick;
+1
View File
@@ -458,6 +458,7 @@ public:
void OffAtVsPlayerBit() { mObjAt.OffSPrmBit(0xC); }
void OnAtVsPlayerBit() { mObjAt.OnSPrmBit(0xC); }
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }
}; // Size = 0x40
+11 -1
View File
@@ -87,7 +87,17 @@ inline T cLib_maxLimit(T val, T max) {
}
template <typename T>
T cLib_calcTimer(T* val);
T cLib_calcTimer(T* value) {
if (*value != 0) {
*value = *value - 1;
}
return *value;
}
template <typename T>
T cLib_getRndValue(T min, T range) {
return (T)(min + cM_rndF((f32)range));
}
void MtxInit(void);
void MtxTrans(f32, f32, f32, u8);
+2 -2
View File
@@ -18,11 +18,11 @@ float cM_rndF2(float);
float cM_rndFX2(float);
inline f32 cM_scos(s16 s) {
return JMath::sincosTable_.table[static_cast<u16>(s) >> 3].second;
return JMASCos(s);
}
inline f32 cM_ssin(s16 s) {
return JMath::sincosTable_.table[static_cast<u16>(s) >> 3].first;
return JMASSin(s);
}
inline s16 cM_deg2s(f32 val) {
@@ -3,4 +3,8 @@
#include "dolphin/types.h"
u8 TRKReleaseMutex();
u8 TRKAcquireMutex();
u8 TRKInitializeMutex();
#endif /* METROTRK_PORTABLE_MUTEX_TRK_H */
@@ -3,4 +3,7 @@
#include "dolphin/types.h"
u8 GetUseSerialIO();
void SetUseSerialIO(u8);
#endif /* OS_DOLPHIN_TARGET_OPTIONS_H */
@@ -3,4 +3,19 @@
#include "dolphin/types.h"
typedef struct CircleBuffer {
int field_0x0;
int field_0x4;
int field_0x8;
u32 field_0xc;
s32 readBuf;
u32 field_0x14;
u32 criticalSection;
} CircleBuffer;
s32 CircleBufferReadBytes(CircleBuffer*, u32, u32);
s32 CircleBufferWriteBytes(CircleBuffer* buf, s32 param_2, u32 param_3);
void CircleBufferInitialize(CircleBuffer* buf, s32 param_2, s32 param_3);
s32 CBGetBytesAvailableForRead(CircleBuffer* buf);
#endif /* UTILS_COMMON_CIRCLEBUFFER_H */
@@ -3,4 +3,8 @@
#include "dolphin/types.h"
void MWExitCriticalSection(u32* section);
void MWEnterCriticalSection(u32* section);
void MWInitializeCriticalSection();
#endif /* UTILS_GC_MWCRITICALSECTION_GC_H */
+9
View File
@@ -3,4 +3,13 @@
#include "dolphin/types.h"
void EXI2_Init(void);
void EXI2_EnableInterrupts(void);
u8 EXI2_Poll(void);
u8 EXI2_ReadN(void*, u32);
u8 EXI2_WriteN(void*, u32);
void EXI2_Reserve(void);
void EXI2_Unreserve(void);
u8 AMC_IsStub(void);
#endif /* AMCEXI2STUBS_H */
+10 -6
View File
@@ -6243,6 +6243,9 @@ public:
class mDoExt_morf_c;
inline BOOL dComIfGs_isTransformLV(int i_no);
inline BOOL i_dComIfGs_isEventBit(const u16);
typedef int (daMidna_c::*daMidna_func)();
class daMidna_c : public fopAc_ac_c {
public:
@@ -6257,6 +6260,7 @@ public:
FLG0_NPC_FAR = 0x40000,
FLG0_NO_INPUT = 0x4000,
FLG0_NO_DRAW = 0x2000,
FLG0_UNK_800 = 0x800,
FLG0_UNK_200 = 0x200,
};
@@ -6272,6 +6276,9 @@ public:
u32 checkForceNormalColor() const;
u32 checkForceTiredColor() const;
bool checkMidnaTired();
bool i_checkMidnaTired() {
return dComIfGs_isTransformLV(3) && !i_dComIfGs_isEventBit(0x1e08);
}
void onNoServiceWait();
/* 804BC3E0 */ void modelCallBack(int);
/* 804BC5C4 */ void changeUpperBck();
@@ -6330,6 +6337,7 @@ public:
BOOL checkNpcFar() { return checkStateFlg0(FLG0_NPC_FAR); }
BOOL checkNoDraw() const { return checkStateFlg0(FLG0_NO_DRAW); }
BOOL checkNoInput() const { return checkStateFlg0(FLG0_NO_INPUT); }
BOOL checkWolfNoPos() const { return checkStateFlg0(FLG0_UNK_800); }
int checkMetamorphoseEnable() { return (this->*mpFunc)(); }
int checkShadowModelDrawDemoForce() const { return checkStateFlg1(FLG1_SHADOW_MODEL_DRAW_DEMO_FORCE); }
@@ -6362,12 +6370,8 @@ public:
return 0;
}
int checkShadowModeTalkWait() const {
if (mDemoType != 2 && mDemoType != 1) {
return 0;
}
return 1;
bool checkShadowModeTalkWait() const {
return (field_0x84e == 2 || field_0x84e == 1) ;
}
void setShadowReturn() { mDemoType = 4; }
+192 -121
View File
@@ -4,12 +4,31 @@
#include "JSystem/J3DGraphAnimator/J3DMaterialAnm.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "d/a/d_a_player.h"
#include "d/d_path.h"
#include "d/msg/d_msg_flow.h"
#include "d/particle/d_particle_copoly.h"
#include "dolphin/types.h"
#include "global.h"
struct bckGetParam {
/* 0x00 */ int bckIdx;
/* 0x04 */ int bckAttr;
/* 0x08 */ int arcIdx;
};
struct btpGetParam {
/* 0x00 */ int btpIdx;
/* 0x04 */ int btpAttr;
/* 0x08 */ int arcIdx;
};
struct btkGetParam {
/* 0x00 */ int btkIdx;
/* 0x04 */ int btkAttr;
/* 0x08 */ int arcIdx;
};
struct dPnt {};
class daNpcT_ActorMngr_c {
@@ -126,12 +145,16 @@ private:
struct daNpcT_evtData_c {};
struct daNpcT_faceMotionAnmData_c {};
struct daNpcT_faceMotionAnmData_c {
u32 field_0x0[6];
u32 field_0x18;
};
struct daNpcT_pntData_c {};
struct daNpcT_motionAnmData_c {
u8 data[8];
u32 field_0x0[6];
u32 field_0x18;
};
class daNpcT_Hermite_c {
@@ -167,7 +190,7 @@ public:
/* 80146188 */ int chkPassed1(cXyz, int);
/* 801464D8 */ int chkPassed2(cXyz, cXyz*, int, int);
inline cXyz& getPntPos(int i_idx) {
inline Vec getPntPos(int i_idx) {
return mpRoomPath->m_points[i_idx].m_position;
}
@@ -176,6 +199,8 @@ public:
return roomPath;
}
bool chkReverse() { return mDirection == 1; }
u16 getNumPnts() {
dPath* path = mpRoomPath;
return path->m_num;
@@ -309,7 +334,7 @@ public:
/* 80148C70 */ void setEnvTevColor();
/* 80148CCC */ void setRoomNo();
/* 80148D10 */ int checkEndAnm(f32);
/* 80148DD0 */ void checkEndAnm(J3DFrameCtrl*, f32);
/* 80148DD0 */ int checkEndAnm(J3DFrameCtrl*, f32);
/* 80148E4C */ void playAllAnm();
/* 80149190 */ void setMtx();
/* 8014924C */ void ctrlFaceMotion();
@@ -336,9 +361,9 @@ public:
/* 8014BB00 */ void getActorDistance(fopAc_ac_c*, int, int);
/* 8014BBF0 */ int initTalk(int, fopAc_ac_c**);
/* 8014BC78 */ void talkProc(int*, int, fopAc_ac_c**, int);
/* 8014BE2C */ void getNearestActorP(s16);
/* 8014BE2C */ fopAc_ac_c* getNearestActorP(s16);
/* 8014BEE4 */ void getEvtAreaTagP(int, int);
/* 8014BFB0 */ u32 getShopItemTagP();
/* 8014BFB0 */ fopAc_ac_c* getShopItemTagP();
/* 8014C030 */ void setHitodamaPrtcl();
/* 8014CD20 */ virtual ~daNpcT_c();
@@ -381,8 +406,8 @@ public:
/* 8014CC2C */ virtual void drawGhost();
/* 8014CCA0 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int);
/* 8014CCE0 */ virtual bool afterSetMotionAnm(int, int, f32, int);
/* 8014CCB0 */ virtual void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCF0 */ virtual void getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CCB0 */ virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
/* 8014CCF0 */ virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c);
/* 8014CCEC */ virtual void changeAnm(int*, int*);
/* 8014CCAC */ virtual void changeBck(int*, int*);
/* 8014CCA8 */ virtual void changeBtp(int*, int*);
@@ -407,11 +432,16 @@ public:
STATIC_ASSERT(sizeof(daNpcT_c) == 0xE40);
BOOL daNpcT_chkEvtBit(u32 i_idx);
BOOL daNpcT_chkPointInArea(cXyz param_0, cXyz param_1, cXyz param_2, s16 param_3, int param_4);
class daNpcF_ActorMngr_c {
private:
/* 0x0 */ u32 mActorID;
public:
daNpcF_ActorMngr_c() { initialize(); }
/* 801506B0 */ void initialize();
/* 801506D8 */ void entry(unsigned int);
/* 801506BC */ void entry(fopAc_ac_c*);
@@ -422,19 +452,19 @@ public:
};
class daNpcF_c : public fopAc_ac_c {
private:
protected:
/* 0x568 */ mDoExt_McaMorfSO* mMcaMorf;
/* 0x56C */ mDoExt_bckAnm mBckAnm;
/* 0x588 */ mDoExt_btpAnm mBtpAnm;
/* 0x5A0 */ mDoExt_btkAnm mBtkAnm;
/* 0x5B8 */ mDoExt_brkAnm mBrkAnm;
/* 0x5D0 */ dBgS_ObjAcch field_0x5d0;
/* 0x7A8 */ dCcD_Stts field_0x7a8;
/* 0x7E4 */ dBgS_AcchCir field_0x7e4;
/* 0x5D0 */ dBgS_ObjAcch mAcch;
/* 0x7A8 */ dCcD_Stts mStts;
/* 0x7E4 */ dBgS_AcchCir mAcchCir;
/* 0x824 */ daNpcF_ActorMngr_c field_0x824;
/* 0x82C */ daNpcF_ActorMngr_c field_0x82c[5];
/* 0x854 */ cXyz field_0x854[3];
/* 0x878 */ cXyz field_0x878;
/* 0x854 */ cXyz mLookatPos[3];
/* 0x878 */ cXyz mLookPos;
/* 0x884 */ cXyz field_0x884;
/* 0x890 */ cXyz field_0x890;
/* 0x89C */ cXyz field_0x89c;
@@ -443,20 +473,20 @@ private:
/* 0x8C0 */ cXyz field_0x8c0;
/* 0x8CC */ cXyz field_0x8cc;
/* 0x8D8 */ cXyz field_0x8d8;
/* 0x8E4 */ cXyz field_0x8e4;
/* 0x8E4 */ cXyz mHeadPos;
/* 0x8F0 */ csXyz field_0x8f0;
/* 0x8F6 */ csXyz field_0x8f6;
/* 0x8FC */ csXyz field_0x8fc;
/* 0x902 */ csXyz field_0x902;
/* 0x908 */ csXyz field_0x908[3];
/* 0x91A */ csXyz field_0x91a[3];
/* 0x92C */ int field_0x92c;
/* 0x92C */ int mCutIndex;
/* 0x930 */ u32 field_0x930;
/* 0x934 */ u32 field_0x934;
/* 0x938 */ u32 field_0x938;
/* 0x93C */ u32 field_0x93c[5];
/* 0x934 */ int field_0x934; // index in 0x93c to not decrement timer (if 0x938 is nonzero)
/* 0x938 */ int field_0x938; // controls whether to use field 0x934
/* 0x93C */ int field_0x93c[5]; // timers for removing actors from 0x82c
/* 0x950 */ int field_0x950;
/* 0x954 */ int field_0x954;
/* 0x954 */ int field_0x954; // a timer
/* 0x958 */ int field_0x958;
/* 0x95C */ int field_0x95c;
/* 0x960 */ int field_0x960;
@@ -464,38 +494,37 @@ private:
/* 0x968 */ int field_0x968;
/* 0x96C */ int field_0x96c;
/* 0x970 */ f32 field_0x970;
/* 0x974 */ f32 field_0x974;
/* 0x978 */ f32 field_0x978;
/* 0x97C */ f32 field_0x97c;
/* 0x974 */ f32 mExpressionMorfOverride;
/* 0x978 */ f32 mExpressionMorf;
/* 0x97C */ f32 mMotionMorfOverride;
/* 0x980 */ f32 field_0x980;
/* 0x984 */ f32 field_0x984[3];
/* 0x990 */ u16 field_0x990;
/* 0x990 */ u16 field_0x992;
/* 0x990 */ u16 field_0x994;
/* 0x990 */ u16 field_0x996;
/* 0x992 */ u16 field_0x992;
/* 0x994 */ u16 field_0x994;
/* 0x996 */ s16 field_0x996;
/* 0x998 */ u16 field_0x998;
/* 0x99C */ u32 field_0x99c;
/* 0x99C */ u32 mAnmFlags;
/* 0x9A0 */ u32 field_0x9a0;
/* 0x9A4 */ int field_0x9a4;
/* 0x9A8 */ int field_0x9a8;
/* 0x9AC */ int field_0x9ac;
/* 0x9A4 */ profile_method_class* field_0x9a4;
/* 0x9A8 */ int field_0x9a8[2];
/* 0x9B0 */ u32 field_0x9b0;
/* 0x9B4 */ int mFlowNodeNo;
/* 0x9B8 */ cXyz field_0x9b8;
/* 0x9C4 */ cXyz field_0x9c4;
/* 0x9D0 */ u16 field_0x9d0;
/* 0x9D2 */ u16 field_0x9d2;
/* 0x9D4 */ u16 field_0x9d4;
/* 0x9D6 */ u16 field_0x9d6;
/* 0x9D8 */ u16 field_0x9d8;
/* 0x9DA */ u16 field_0x9da;
/* 0x9DC */ u16 field_0x9dc;
/* 0x9DE */ u16 field_0x9de;
/* 0x9E0 */ u16 field_0x9e0;
/* 0x9E2 */ u16 field_0x9e2;
/* 0x9E4 */ u16 field_0x9e4;
/* 0x9E6 */ u16 field_0x9e6;
/* 0x9E8 */ u8 field_0x9e8;
/* 0x9D0 */ s16 field_0x9d0;
/* 0x9D2 */ s16 field_0x9d2;
/* 0x9D4 */ s16 field_0x9d4;
/* 0x9D6 */ s16 mExpressionPhase;
/* 0x9D8 */ s16 mExpressionPrevPhase;
/* 0x9DA */ s16 mMotionPhase;
/* 0x9DC */ s16 mMotionPrevPhase;
/* 0x9DE */ s16 mExpression;
/* 0x9E0 */ s16 mMotion;
/* 0x9E2 */ u16 mMotionLoops;
/* 0x9E4 */ u16 mExpressionLoops;
/* 0x9E6 */ u16 mOrderEvtNo;
/* 0x9E8 */ s8 field_0x9e8;
/* 0x9E9 */ u8 field_0x9e9;
/* 0x9EA */ u8 field_0x9ea;
/* 0x9EB */ u8 field_0x9eb;
@@ -507,7 +536,7 @@ private:
/* 0x9F1 */ u8 field_0x9f1;
/* 0x9F2 */ bool mHide;
/* 0x9f3 */ u8 field_0x9f3;
/* 0x9F4 */ u8 field_0x9f4;
/* 0x9F4 */ bool field_0x9f4; // controls whether setHitodamaPrtcl is called
/* 0x9F5 */ u8 field_0x9f5;
/* 0x9F6 */ u8 field_0x9f6;
/* 0x9F8 */ dMsgFlow_c mFlow;
@@ -516,85 +545,118 @@ private:
/* 0xAD4 */ dBgS_LinChk field_0xad4;
public:
struct daNpcF_anmPlayData {};
struct daNpcF_anmPlayData {
u16 idx;
f32 morf;
s32 numLoops;
};
/* 80152014 */ void execute();
/* 801522AC */ void draw(int, int, f32, _GXColorS10*, int);
enum AnmFlags {
ANM_PAUSE_MORF = 0x0001,
ANM_PAUSE_BTK = 0x0002,
ANM_PAUSE_BRK = 0x0004,
ANM_PLAY_MORF = 0x0008,
ANM_PLAY_BTK = 0x0010,
ANM_PLAY_BRK = 0x0020,
ANM_PAUSE_BCK = 0x0040,
ANM_PAUSE_BTP = 0x0080,
ANM_PLAY_BCK = 0x0100,
ANM_PLAY_BTP = 0x0200,
ANM_FLAG_400 = 0x0400,
ANM_FLAG_800 = 0x0800,
ANM_PAUSE_EXPRESSION = 0x1000,
ANM_MOTION_FLAGS = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PLAY_MORF | ANM_PLAY_BTK | ANM_PLAY_BRK,
ANM_EXPRESSION_FLAGS = ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PLAY_BCK | ANM_PLAY_BTP | ANM_FLAG_400 | ANM_FLAG_800 | ANM_PAUSE_EXPRESSION,
ANM_PAUSE_ALL = ANM_PAUSE_MORF | ANM_PAUSE_BTK | ANM_PAUSE_BRK | ANM_PAUSE_BCK | ANM_PAUSE_BTP | ANM_PAUSE_EXPRESSION,
};
/* 80152014 */ BOOL execute();
/* 801522AC */ BOOL draw(int, int, f32, _GXColorS10*, int);
/* 80152614 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
/* 80152654 */ void srchAttnActor1(void*, void*);
/* 801526E8 */ void* srchActor(void*, void*);
/* 801528C8 */ void initialize();
/* 80152B2C */ void getTrnsfrmKeyAnmP(char*, int);
/* 80152B68 */ void getTexPtrnAnmP(char*, int);
/* 80152BA4 */ void getTexSRTKeyAnmP(char*, int);
/* 80152BE0 */ void getTevRegKeyAnmP(char*, int);
/* 80152C1C */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 80152C80 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
/* 80152CC4 */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
/* 80152D04 */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
/* 80152D44 */ void setBrkAnm(J3DAnmTevRegKey*, J3DModelData*, f32, int);
/* 80152B2C */ J3DAnmTransformKey* getTrnsfrmKeyAnmP(char*, int);
/* 80152B68 */ J3DAnmTexPattern* getTexPtrnAnmP(char*, int);
/* 80152BA4 */ J3DAnmTextureSRTKey* getTexSRTKeyAnmP(char*, int);
/* 80152BE0 */ J3DAnmTevRegKey* getTevRegKeyAnmP(char*, int);
/* 80152C1C */ BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end);
/* 80152C80 */ BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify);
/* 80152CC4 */ BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate, int i_attr);
/* 80152D04 */ BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
/* 80152D44 */ BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate, int i_attr);
/* 80152D84 */ void setEnvTevColor();
/* 80152DE0 */ void setRoomNo();
/* 80152E24 */ void chkEndAnm(f32);
/* 80152EC4 */ void chkEndAnm(J3DFrameCtrl*, f32);
/* 80152F40 */ void playAllAnm();
/* 80152E24 */ BOOL chkEndAnm(f32);
/* 80152EC4 */ BOOL chkEndAnm(J3DFrameCtrl*, f32);
/* 80152F40 */ BOOL playAllAnm();
/* 80153150 */ void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData***);
/* 80153264 */ void playMotionAnm(daNpcF_c::daNpcF_anmPlayData***);
/* 8015337C */ void setLookatMtx(int, int*, f32);
/* 80153578 */ void hitChk2(dCcD_Cyl*, int, int);
/* 80153658 */ void setDamage(int, int, int);
/* 80153718 */ void ctrlMsgAnm(int&, int&, fopAc_ac_c*, int);
/* 80153718 */ int ctrlMsgAnm(int&, int&, fopAc_ac_c*, int);
/* 8015387C */ void orderEvent(int, char*, u16, u16, u8, u16);
/* 80153954 */ void changeEvent(char*, char*, u16, u16);
/* 801539F0 */ void chkActorInSight(fopAc_ac_c*, f32);
/* 80153A78 */ void chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
/* 80153BDC */ void chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
/* 801539F0 */ BOOL chkActorInSight(fopAc_ac_c*, f32);
/* 80153A78 */ BOOL chkActorInArea(fopAc_ac_c*, cXyz, cXyz, s16);
/* 80153BDC */ BOOL chkActorInAttnArea(fopAc_ac_c*, fopAc_ac_c*, int);
/* 80153D1C */ int initTalk(int, fopAc_ac_c**);
/* 80153D84 */ void talkProc(int*, int, fopAc_ac_c**);
/* 80153EF4 */ void turn(s16, f32, int);
/* 80153D84 */ BOOL talkProc(int*, int, fopAc_ac_c**);
/* 80153EF4 */ BOOL turn(s16, f32, int);
/* 801540A4 */ void step(s16, int, int, int);
/* 80154250 */ void setAngle(s16);
/* 80154278 */ void getDistTableIdx(int, int);
/* 801542A0 */ int getEvtAreaTagP(int, int);
/* 8015436C */ void getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
/* 80154278 */ u8 getDistTableIdx(int, int);
/* 801542A0 */ fopAc_ac_c* getEvtAreaTagP(int, int);
/* 8015436C */ fopAc_ac_c* getAttnActorP(int, void* (*)(void*, void*), f32, f32, f32, f32, s16, int,
int);
/* 80154730 */ void chkActorInSight2(fopAc_ac_c*, f32, s16);
/* 80154834 */ bool chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 801548F4 */ bool chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 80154730 */ BOOL chkActorInSight2(fopAc_ac_c*, f32, s16);
/* 80154834 */ BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
/* 801548F4 */ BOOL chkPointInArea(cXyz, cXyz, cXyz, s16);
/* 8015496C */ cXyz getAttentionPos(fopAc_ac_c*);
/* 801549E0 */ void chkFindPlayer2(int, s16);
/* 80154BD8 */ void setHitodamaPrtcl();
/* 80155BF4 */ virtual ~daNpcF_c();
/* 80155BC8 */ virtual void setParam();
/* 80155BC0 */ virtual bool main();
/* 80155BD8 */ virtual bool ctrlBtk();
/* 80155BC0 */ virtual BOOL main();
/* 80155BD8 */ virtual BOOL ctrlBtk();
/* 80155BBC */ virtual void adjustShapeAngle();
/* 8015276C */ virtual void setMtx();
/* 801527FC */ virtual void setMtx2();
/* 80155BB8 */ virtual void setAttnPos();
/* 80155BB4 */ virtual void setCollisions();
/* 80155BE0 */ virtual bool setExpressionAnm(int, bool);
/* 80155EC8 */ virtual bool setExpressionBtp(int);
/* 80155BF0 */ virtual void setExpression(int, f32);
/* 80155BE8 */ virtual void setMotionAnm(int, f32);
/* 80155BEC */ virtual void setMotion(int, f32, int);
/* 80155BD0 */ virtual bool drawDbgInfo();
/* 80155BE0 */ virtual bool setExpressionAnm(int i_idx, bool i_modify);
/* 80155EC8 */ virtual bool setExpressionBtp(int i_idx);
/* 80155BF0 */ virtual void setExpression(int i_expression, f32 i_morf);
/* 80155BE8 */ virtual void setMotionAnm(int i_idx, f32 i_morf);
/* 80155BEC */ virtual void setMotion(int i_motion, f32 i_morf, int i_restart);
/* 80155BD0 */ virtual BOOL drawDbgInfo();
/* 80155BCC */ virtual void drawOtherMdls();
BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[3]); }
BOOL chkPlayerInSpeakArea(fopAc_ac_c* i_actor) { return chkActorInSpeakArea(daPy_getPlayerActorClass(), i_actor); }
BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) { return chkActorInAttnArea(i_actorCheck, i_actorArea, mAttentionInfo.field_0x0[1]); }
BOOL chkPlayerInTalkArea(fopAc_ac_c* i_actor) { return chkActorInTalkArea(daPy_getPlayerActorClass(), i_actor); }
BOOL checkHide() { return mHide || (field_0x9f4 && !dComIfGs_wolfeye_effect_check()); }
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
static dCcD_SrcCyl mCcDCyl;
static u8 mCcDSph[64];
static u8 mFindActorPList[400];
static fopAc_ac_c* mFindActorPList[100];
static s32 mFindCount;
static s16 mSrchActorName;
};
STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
BOOL daNpcF_chkEvtBit(u32 i_idx);
BOOL daNpcF_chkTmpBit(u32 i_idx);
void daNpcF_offTmpBit(u32 i_idx);
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2,
csXyz& param_3);
s16 daNpcF_getGroundAngle(cBgS_PolyInfo*, s16);
struct daBaseNpc_matAnm_c {
/* 8014D884 */ void calc(J3DMaterial*) const;
@@ -617,8 +679,7 @@ private:
/* 0x000 */ f32 field_0x0;
/* 0x004 */ dPath* mpRoomPath;
/* 0x008 */ f32 field_0x8;
/* 0x00C */ dPath* field_0xc;
/* 0x010 */ u8 field_0x10[2558];
/* 0x010 */ u8 field_0xc[2562];
/* 0xA0E */ u16 field_0xa0e;
/* 0xA10 */ u16 mIdx;
/* 0xA12 */ s8 mDirection;
@@ -629,11 +690,11 @@ public:
/* 8014D9A8 */ BOOL isPath();
/* 8014D9BC */ int setPathInfo(u8, s8, s8);
/* 8014DA48 */ void reverseDir();
/* 8014DA64 */ void chkPnt(cXyz);
/* 8014DA64 */ s32 chkPnt(cXyz);
/* 8014DAC4 */ void setNextPnt();
/* 8014DB04 */ u16 getIdx();
/* 8014DB0C */ void setIdx(u16);
/* 8014DB14 */ void getPntPos(u16);
/* 8014DB14 */ Vec getPntPos(u16);
/* 801503FC */ ~daBaseNpc_path_c();
@@ -649,7 +710,7 @@ private:
/* 0x34 */ cXyz mJntPos[3];
/* 0x4C */ u8 field_0x4C[24];
/* 0x64 */ csXyz mUnk[2];
/* 0x70 */ u8 field_0x70[12];
/* 0x70 */ csXyz mRotation[2];
/* 0x7C */ csXyz mUnk2[2];
/* 0x88 */ u8 field_0x88[4];
/* 0x8C */ cXyz* mpAttnPos;
@@ -661,7 +722,7 @@ public:
/* 8014E658 */ void setMinJntLmt(csXyz, int);
/* 8014E67C */ void setJntPos(cXyz, int);
/* 8014E6A0 */ int setAttnPos(cXyz*);
/* 8014E6AC */ void getRot(int);
/* 8014E6AC */ csXyz getRot(int);
/* 801502EC */ ~daBaseNpc_lookat_c();
};
@@ -765,20 +826,23 @@ public:
static u8 m_set_func[4];
};
class daNpcF_MatAnm_c {
class daNpcF_MatAnm_c : public J3DMaterialAnm {
private:
/* 0x000 */ J3DMaterialAnm mMaterialAnm;
/* 0x0F4 */ mutable f32 field_0xF4;
/* 0x0F8 */ mutable f32 field_0xF8;
/* 0x0FC */ f32 mTranslationX;
/* 0x100 */ f32 mTranslationY;
/* 0x104 */ u8 field_0x104;
/* 0x0FC */ f32 mNowOffsetX;
/* 0x100 */ f32 mNowOffsetY;
/* 0x104 */ u8 mEyeMoveFlag;
/* 0x105 */ u8 field_0x105;
public:
daNpcF_MatAnm_c() { initialize(); }
/* 80150738 */ void initialize();
/* 8015075C */ void calc(J3DMaterial*) const;
/* 80155ED0 */ ~daNpcF_MatAnm_c();
void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
void onEyeMoveFlag() { mEyeMoveFlag = 1; }
};
class daNpcF_SPCurve_c {
@@ -787,7 +851,7 @@ private:
/* 0x02 */ u16 field_0x02;
/* 0x04 */ u8 field_0x04;
/* 0x05 */ bool mIsClosed;
// /* 0x08 */ dPnt mPoints[96];
/* 0x08 */ dStage_dPnt_c mPoints[96];
public:
@@ -815,13 +879,45 @@ public:
/* 80150BE0 */ int setNextIdx();
/* 80150C18 */ u16 getNextIdx();
/* 80150C60 */ u16 getBeforeIdx();
/* 80150CA8 */ void getBeforePos(cXyz&);
/* 80150D44 */ void getNextPos(cXyz&);
/* 80150CA8 */ int getBeforePos(cXyz&);
/* 80150D44 */ int getNextPos(cXyz&);
/* 80150DE0 */ int getDstPos(cXyz, cXyz&);
/* 80150EB4 */ void setNextIdxDst(cXyz);
u16& getIdx() { return mIdx; };
cXyz* getPntPos(); // finish
inline Vec getPntPos(int i_idx) {
return mpRoomPath->m_points[i_idx].m_position;
}
int chkClose() {
return dPath_ChkClose(mpRoomPath);
}
};
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz field_0x00[4];
/* 0x30 */ cXyz* mAttnPos;
/* 0x34 */ csXyz field_0x34[4];
/* 0x4C */ csXyz field_0x4c[4];
/* 0x64 */ csXyz field_0x64[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ u8 field_0x94[4];
/* 0x98 vtable */
public:
/* 80151038 */ void initialize();
/* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
/* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int);
/* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16);
/* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int);
/* 80151A54 */ void update(cXyz*, csXyz*, f32*);
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int);
/* 80151F54 */ void setRotAngle();
/* 80151FE0 */ void clrRotAngle();
virtual ~daNpcF_Lookat_c() {}
cXyz* getAttnPos() { return mAttnPos; }
void setAttnPos(cXyz* i_attnPos) { mAttnPos = i_attnPos; }
};
class daNpcF_MoveBgActor_c {
@@ -839,29 +935,4 @@ public:
/* 80155EC0 */ bool ToBack();
};
class daNpcF_Lookat_c {
private:
/* 0x00 */ cXyz field_0x00[4];
/* 0x30 */ int field_0x30;
/* 0x34 */ csXyz field_0x34[4];
/* 0x4C */ csXyz field_0x4c[4];
/* 0x64 */ csXyz field_0x64[4];
/* 0x7C */ csXyz mRotAngle[4];
/* 0x94 */ u8 field_0x94[4];
/* 0x98 */ void* vtable;
public:
/* 80151038 */ void initialize();
/* 801510B8 */ void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
cXyz*);
/* 80151350 */ void calc(fopAc_ac_c*, f32 (*)[4], csXyz**, int, int, int);
/* 801515D4 */ void adjustMoveDisAngle(s16&, s16, s16, s16);
/* 80151648 */ void initCalc(fopAc_ac_c*, f32 (*)[4], cXyz*, csXyz*, f32*, cXyz&, int);
/* 80151A54 */ void update(cXyz*, csXyz*, f32*);
/* 80151B68 */ void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, int);
/* 80151F54 */ void setRotAngle();
/* 80151FE0 */ void clrRotAngle();
};
#endif /* D_A_D_A_NPC_H */
+2
View File
@@ -176,6 +176,7 @@ private:
class daMidna_c;
class daPy_py_c;
inline daPy_py_c* dComIfGp_getLinkPlayer();
inline BOOL i_dComIfGs_isEventBit(const u16);
class daPy_py_c : public fopAc_ac_c {
public:
@@ -788,6 +789,7 @@ public:
inline static BOOL i_checkNowWolf() { return dComIfGp_getLinkPlayer()->i_checkWolf(); }
inline bool checkZoraWearFlg() const;
inline bool checkMagicArmorWearFlg() const;
inline static BOOL i_checkFirstMidnaDemo() { return i_dComIfGs_isEventBit(0xc10); }
static daMidna_c* getMidnaActor() { return m_midnaActor; }
+1 -1
View File
@@ -43,7 +43,7 @@ public:
int Release(dBgW_Base*);
bool LineCross(cBgS_LinChk*);
f32 GroundCross(cBgS_GndChk*);
static void ConvDzb(void*);
static void* ConvDzb(void*);
fopAc_ac_c* GetActorPointer(int) const;
dBgW_Base* GetBgWBasePointer(cBgS_PolyInfo const&) const;
bool ChkPolySafe(cBgS_PolyInfo const&);
+1
View File
@@ -126,6 +126,7 @@ public:
void ClrWallHit() { m_flags &= ~WALL_HIT; }
void SetRoofNone() { m_flags |= ROOF_NONE; }
void SetRoofHit() { m_flags |= ROOF_HIT; }
void SetWaterNone() { m_flags |= WATER_NONE; }
bool ChkWallHit() { return m_flags & WALL_HIT; }
void OffLineCheckHit() { m_flags &= ~LINE_CHECK_HIT; }
void OffLineCheck() { m_flags &= ~LINE_CHECK; }
+26 -5
View File
@@ -827,6 +827,10 @@ inline int dComIfG_setObjectRes(const char* name, u8 param_1, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, heap);
}
inline int dComIfG_setObjectRes(const char* name, void* param_1, u32 param_2) {
return g_dComIfG_gameInfo.mResControl.setObjectRes(name, param_1, param_2, NULL);
}
inline int dComIfG_setStageRes(const char* name, JKRHeap* heap) {
return g_dComIfG_gameInfo.mResControl.setStageRes(name, heap);
}
@@ -924,7 +928,7 @@ void dComIfGs_offZoneSwitch(int i_swBit, int i_roomNo);
void dComIfGs_offOneZoneSwitch(int i_swBit, int i_roomNo);
s8 dComIfGp_getReverb(int i_roomNo);
void dComIfGs_gameStart();
bool dComIfGs_wolfeye_effect_check();
BOOL dComIfGs_wolfeye_effect_check();
BOOL dComIfGs_Wolf_Change_Check();
void dComIfGs_onVisitedRoom(int param_0);
void dComIfGs_offVisitedRoom(int param_0);
@@ -1698,6 +1702,10 @@ inline void dComIfGs_setOptCalibrateDist(u16 i_calibrateDist) {
g_dComIfG_gameInfo.info.getPlayer().getConfig().setCalibrateDist(i_calibrateDist);
}
inline u16 dComIfGs_getFishNum(u8 param_0) {
return g_dComIfG_gameInfo.info.getPlayer().getFishingInfo().getFishCount(param_0);
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
void dComIfGp_createSubExpHeap2D();
@@ -1744,6 +1752,11 @@ static dAttCatch_c* dComIfGp_att_getCatghTarget();
static void dComIfGp_setBottleStatus(u8 param_0, u8 param_1);
bool dComIfGp_getMapTrans(int i_roomNo, f32* o_transX, f32* o_transY, s16* o_angle);
inline void dComIfGp_itemDataInit() {
g_dComIfG_gameInfo.play.itemInit();
}
inline bool i_dComIfGp_checkPlayerStatus0(int param_0, u32 flag) {
return g_dComIfG_gameInfo.play.checkPlayerStatus(param_0, 0, flag);
}
@@ -2878,22 +2891,22 @@ inline int dComIfGp_evmng_startDemo(int param_0) {
return dComIfGp_getPEvtManager()->setStartDemo(param_0);
}
inline void* dComIfGp_event_getTalkPartner() {
inline fopAc_ac_c* dComIfGp_event_getTalkPartner() {
u32 t = g_dComIfG_gameInfo.play.getEvent().mPtT;
return g_dComIfG_gameInfo.play.getEvent().convPId(t);
}
inline void* dComIfGp_event_getItemPartner() {
inline fopAc_ac_c* dComIfGp_event_getItemPartner() {
u32 i = g_dComIfG_gameInfo.play.getEvent().mPtI;
return g_dComIfG_gameInfo.play.getEvent().convPId(i);
}
inline void* dComIfGp_event_getPt1() {
inline fopAc_ac_c* dComIfGp_event_getPt1() {
u32 pt1 = g_dComIfG_gameInfo.play.getEvent().mPt1;
return g_dComIfG_gameInfo.play.getEvent().convPId(pt1);
}
inline void* dComIfGp_event_getPt2() {
inline fopAc_ac_c* dComIfGp_event_getPt2() {
u32 pt2 = g_dComIfG_gameInfo.play.getEvent().mPt2;
return g_dComIfG_gameInfo.play.getEvent().convPId(pt2);
}
@@ -2917,6 +2930,10 @@ inline u16 i_dComIfGp_event_chkEventFlag(u16 flag) {
return g_dComIfG_gameInfo.play.getEvent().chkEventFlag(flag);
}
inline BOOL dComIfGp_event_chkTalkXY() {
return g_dComIfG_gameInfo.play.getEvent().chkTalkXY();
}
inline void dComIfGp_event_setCullRate(f32 f) {
g_dComIfG_gameInfo.play.getEvent().setCullRate(f);
}
@@ -2949,6 +2966,10 @@ inline int dComIfGp_evmng_getMySubstanceNum(int index, char* name) {
return dComIfGp_getPEvtManager()->getMySubstanceNum(index, name);
}
inline BOOL dComIfGp_evmng_ChkPresentEnd() {
return dComIfGp_getPEvtManager()->ChkPresentEnd();
}
inline int dComIfGp_evmng_checkStartDemo() {
return dComIfGp_getPEvtManager()->checkStartDemo();
}
+3
View File
@@ -215,6 +215,9 @@ public:
int GetActionCount() { return mActionCount; }
int GetLockonCount() { return mLockonCount; }
bool Lockon() { return LockonTruth() || chkFlag(0x20000000); } // only matches with -O2?
int ZHintRequest(fopAc_ac_c *param_1, int param_2) {
return mZHintTarget.request(param_1, param_2);
}
static dist_entry& i_getDistTable(int i_no) { return dist_table[i_no]; }
+1 -1
View File
@@ -46,7 +46,7 @@ public:
/* 8009C8D8 */ dMdl_c* entry(J3DModelData*, u16, int);
/* 8009C7AC */ static void create();
/* 8009C864 */ void remove();
/* 8009C8C0 */ void reset();
/* 8009C8C0 */ static void reset();
static dMdl_mng_c* m_myObj;
+2 -3
View File
@@ -18,7 +18,7 @@ public:
/* 8003A348 */ int set(char const*, char const*, u8, JKRHeap*);
/* 8003AB30 */ static void onWarpMaterial(J3DModelData*);
/* 8003AC1C */ static void offWarpMaterial(J3DModelData*);
/* 8003AD08 */ void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AD08 */ static void setWarpSRT(J3DModelData*, cXyz const&, f32, f32);
/* 8003AE14 */ static J3DModelData* loaderBasicBmd(u32, void*);
/* 8003B30C */ int loadResource();
/* 8003B998 */ void deleteArchiveRes();
@@ -34,8 +34,7 @@ public:
JKRArchive* getArchive() { return mArchive; }
void incCount() { mCount++; }
u16 decCount() {
mCount--;
return mCount;
return --mCount;
}
private:
+2
View File
@@ -58,6 +58,8 @@ public:
void onPlayAnime(int i_flag) { field_0xb4 |= (1 << i_flag); }
void offPlayAnime(int i_flag) { field_0xb4 &= ~(1 << i_flag); }
void onPlayAllAnime() { field_0xb4 = 0xff; }
void offPlayAllAnime() { field_0xb4 = 0; }
private:
/* 0x04 */ J2DScreen* mpScreen;
+20 -15
View File
@@ -18,31 +18,36 @@ public:
/* 0x13 */ s8 mAngleY;
};
class typeGroupData_c {
class typeGroupData_c : public data_s {
public:
data_s* getDataPointer() { return &mData; }
const data_s* getConstDataPointer() const { return &mData; }
data_s* getDataPointer() { return (data_s*)this; }
const data_s* getConstDataPointer() const { return (data_s*)this; }
typeGroupData_c* getNextDataPointer() const { return mNextData; }
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
u8 getNo() const { return mData.mNo; }
u8 getStatus() const { return mData.mStatus; }
void setStatus(u8 status) { mData.mStatus = status; }
void setRoomNo(s8 roomNo) { mData.mRoomNo = roomNo; }
s8 getRoomNo() const { return mData.mRoomNo; }
void setPos(const Vec& pos) { mData.mPos = pos; }
u8 getSwBit() const { return mData.mSwBit; }
const Vec* getPos() const { return &mData.mPos; }
int getAngleY() const { return mData.mAngleY; }
u8 getNo() const { return mNo; }
u8 getStatus() const { return mStatus; }
void setStatus(u8 status) { mStatus = status; }
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
s8 getRoomNo() const { return mRoomNo; }
void setPos(const Vec& pos) { mPos = pos; }
u8 getSwBit() const { return mSwBit; }
const Vec* getPos() const { return &mPos; }
int getAngleY() const { return mAngleY; }
/* 0x00 */ data_s mData;
/* 0x14 */ typeGroupData_c* mNextData;
/* 0x18 */ u8 mTypeGroupNo;
}; // Size: 0x1C
struct list_class {
/* 0x0 */ int field_0x0;
/* 0x4 */ data_s* field_0x4;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 mNumber;
};
struct type_group_list {
/* 0x0 */ typeGroupData_c* field_0x0;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x8 */ u8 mNumber;
};
@@ -67,7 +72,7 @@ public:
}
static u8 const typeToTypeGroup[17][2];
static list_class mTypeGroupListAll[17];
static type_group_list mTypeGroupListAll[17];
static typeGroupData_c* mTypeGroupData;
static u16 mNum;
};
+6 -6
View File
@@ -7,9 +7,9 @@
class dVibration_c {
public:
/* 8006F268 */ void Run();
/* 8006F268 */ int Run();
/* 8006FA24 */ bool StartShock(int, int, cXyz);
/* 8006FC0C */ void StartQuake(u8 const*, int, int, cXyz);
/* 8006FC0C */ bool StartQuake(u8 const*, int, int, cXyz);
/* 8006FB10 */ bool StartQuake(int, int, cXyz);
/* 8006FD94 */ int StopQuake(int);
/* 8006FE00 */ void Kill();
@@ -43,16 +43,16 @@ private:
/* 0x54 */ int field_0x54;
/* 0x58 */ s32 field_0x58;
/* 0x5C */ s32 field_0x5c;
/* 0x60 */ u32 field_0x60;
/* 0x60 */ s32 field_0x60;
/* 0x64 */ s32 field_0x64;
/* 0x68 */ u32 field_0x68;
/* 0x68 */ s32 field_0x68;
/* 0x6C */ u32 field_0x6c;
/* 0x70 */ s32 field_0x70;
/* 0x74 */ u32 field_0x74;
/* 0x78 */ u32 field_0x78;
/* 0x7C */ u32 field_0x7c;
/* 0x7C */ s32 field_0x7c;
/* 0x80 */ s32 field_0x80;
/* 0x84 */ u32 field_0x84;
/* 0x84 */ s32 field_0x84;
/* 0x88 */ s32 field_0x88;
/* 0x8C */ s32 field_0x8c;
}; // Size: 0x90
+5 -4
View File
@@ -125,7 +125,7 @@ public:
dStage_MapEvent_dt_c* getStageEventDt();
void sceneChange(int exitId);
u32 getPId(void*);
void* convPId(unsigned int);
fopAc_ac_c* convPId(unsigned int);
void* getStbDemoData(char* resName);
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID, s32 roomNo);
static dStage_MapEvent_dt_c* searchMapEventData(u8 mapToolID);
@@ -154,11 +154,12 @@ public:
void onFlag2(u16 flag) { mFlag2 |= flag; }
void offFlag2(u16 flag) { mFlag2 &= ~flag; }
void setCullRate(f32 f) { mCullRate = f; }
BOOL chkTalkXY() { return field_0xed == 1 || field_0xed == 2; }
bool i_isOrderOK() { return mEventStatus == 0 || mEventStatus == 2; }
void* getPt1() { return convPId(mPt1); }
void* getPt2() { return convPId(mPt2); }
void* getPtT() { return convPId(mPtT); }
fopAc_ac_c* getPt1() { return convPId(mPt1); }
fopAc_ac_c* getPt2() { return convPId(mPt2); }
fopAc_ac_c* getPtT() { return convPId(mPtT); }
bool isChangeOK(void* param_0) { return mChangeOK == param_0; }
u8 getPreItemNo() { return mPreItemNo; }
+2 -2
View File
@@ -395,8 +395,8 @@ public:
/* 0x0250 */ char* field_0x0250;
/* 0x0254 */ STControl* mStick;
/* 0x0258 */ u8 mDataNew[3];
/* 0x025B */ u8 field_0x025b;
/* 0x025C */ u8 field_0x025c[0x0264 - 0x025C];
/* 0x025B */ u8 field_0x025b[3];
/* 0x025C */ u8 field_0x025e[0x0264 - 0x025E];
/* 0x0264 */ u8 field_0x0264;
/* 0x0265 */ u8 mSelectNum;
/* 0x0266 */ u8 field_0x0266;
+4 -1
View File
@@ -18,6 +18,9 @@ public:
/* 8003FB70 */ static void create();
/* 8003FBD0 */ static void reset();
/* 8003FC70 */ static void remove();
static dDrawPath_c::room_class* getRoomPointer(int layerNo, int roomNo) {
return (mLayerList + 0x40*layerNo)[roomNo];
}
static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm
static f32 mMinX;
@@ -92,7 +95,7 @@ public:
/* 8003FFC4 */ virtual void postDrawPath();
/* 800402C0 */ virtual bool isDrawPath();
/* 8003FE4C */ virtual GXColor* getBackColor() const;
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
/* 800402E0 */ virtual int getFirstDrawLayerNo();
/* 800402E8 */ virtual int getNextDrawLayerNo(int);
/* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const;
+11 -8
View File
@@ -20,6 +20,7 @@ class dSelect_cursor_c;
class dMenu_Collect2D_c;
class dMenu_Collect2DTop_c : public dDlst_base_c {
public:
dMenu_Collect2DTop_c(dMenu_Collect2D_c* param_0) { mpCollect2D = param_0; }
/* 801B77A4 */ virtual void draw();
/* 801B7EB8 */ virtual ~dMenu_Collect2DTop_c();
@@ -32,9 +33,9 @@ public:
/* 801AFEA4 */ void _create();
/* 801B0100 */ void _delete();
/* 801B0570 */ void initialize();
/* 801B05A8 */ void isFishIconVisible();
/* 801B061C */ void isSkillIconVisible();
/* 801B071C */ void isInsectIconVisible();
/* 801B05A8 */ bool isFishIconVisible();
/* 801B061C */ bool isSkillIconVisible();
/* 801B071C */ bool isInsectIconVisible();
/* 801B074C */ void screenSet();
/* 801B1C3C */ void animationSet();
/* 801B1CE0 */ void btkAnimeLoop0(J2DAnmTextureSRTKey*);
@@ -105,6 +106,8 @@ public:
/* 801B7F00 */ virtual void draw();
/* 801AFE34 */ virtual ~dMenu_Collect2D_c();
u8 getCursorX() { return mCursorX; }
u8 getCursorY() { return mCursorY; }
u8 getSubWindowOpenCheck() { return mSubWindowOpenCheck; }
private:
@@ -311,12 +314,12 @@ public:
/* 801B6FB0 */ void animeEntry();
/* 801B7014 */ void createMaskModel();
/* 801B71C4 */ void createMirrorModel();
/* 801B7434 */ void getCrystalNum();
/* 801B749C */ void getMirrorNum();
/* 801B7434 */ int getCrystalNum();
/* 801B749C */ int getMirrorNum();
/* 801B7504 */ void getMaskMdlVisible();
/* 801B75E8 */ static void setupItem3D(f32 (*)[4]);
/* 801B75E8 */ static void setupItem3D(Mtx);
/* 801B7660 */ void toItem3Dpos(f32, f32, f32, cXyz*);
/* 801B774C */ void calcViewMtx(f32 (*)[4]);
/* 801B774C */ static void calcViewMtx(Mtx);
/* 801B6538 */ virtual ~dMenu_Collect3D_c();
@@ -331,7 +334,7 @@ private:
/* 0x018 */ J3DModel* mpModel;
/* 0x01C */ mDoExt_bckAnm* field_0x1c;
/* 0x020 */ mDoExt_brkAnm* field_0x20;
/* 0x024 */ u8 field_0x24[4];
/* 0x024 */ u32 field_0x24;
/* 0x028 */ dKy_tevstr_c field_0x28;
/* 0x3B0 */ cXyz field_0x3b0;
/* 0x3BC */ csXyz field_0x3bc;
+1 -1
View File
@@ -35,7 +35,7 @@ public:
/* 801D9644 */ void screenSetBase();
/* 801D98F0 */ void screenSetExplain();
/* 801D9BD0 */ void screenSetDoIcon();
/* 801D9D4C */ void getGetInsectNum();
/* 801D9D4C */ static u8 getGetInsectNum();
/* 801D9DCC */ void getInsectItemID(int, int);
/* 801D9DE4 */ void isGetInsect(int, int);
/* 801D9E20 */ void isGiveInsect(int, int);
+8
View File
@@ -151,6 +151,10 @@ public:
u8 getItemExplainWindowStatus() { return mItemExplainWindowStatus; }
void resetDirectUseItem() { mDirectUseItem = 0; }
u16 getFloatingFlowID() { return mFloatingFlowID; }
void setCollectCursorPosXY(u8 x, u8 y) {
mCollectCursorPosX = x;
mCollectCursorPosY = y;
}
public:
/* 0x04 */ u8 unk4[4];
@@ -550,6 +554,10 @@ inline u16 dMeter2Info_getFloatingFlowID() {
return g_meter2_info.getFloatingFlowID();
}
inline void dMeter2Info_setCollectCursorPosXY(u8 x, u8 y) {
g_meter2_info.setCollectCursorPosXY(x, y);
}
const char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
+1 -1
View File
@@ -136,7 +136,7 @@ public:
/* 80238320 */ static void onMsgSend();
/* 8023834C */ void offMsgSend();
/* 80238378 */ void isMsgSend();
/* 802383A4 */ bool isMouthCheck();
/* 802383A4 */ static bool isMouthCheck();
/* 802383D0 */ static u32 getMessageID();
/* 802383E4 */ void getSmellTypeMessageID();
/* 80238410 */ static void setSmellType(u8);
+3
View File
@@ -39,6 +39,7 @@ public:
/* 0xF */ EXEC_SCENE_CHANGE,
};
dScnLogo_c() {}
/* 802560B4 */ void preLoad_dyl_create();
/* 802560F8 */ void preLoad_dyl_remove();
/* 8025611C */ bool preLoad_dyl();
@@ -128,4 +129,6 @@ static int phase_0(dScnLogo_c* logo);
static int phase_1(dScnLogo_c* logo);
static int phase_2(dScnLogo_c* logo);
typedef int (*dScnLogo_Method)(dScnLogo_c*);;
#endif /* D_S_D_S_LOGO_H */
+43
View File
@@ -2,5 +2,48 @@
#define D_S_D_S_NAME_H
#include "dolphin/types.h"
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_scene.h"
class JKRExpHeap;
class dFile_select_c;
class dBrightCheck_c;
class dScnName_camera_c : public camera_process_class {
public:
dScnName_camera_c() { field_0x22f = 84; }
/* 80259294 */ virtual ~dScnName_camera_c() {}
};
class dScnName_c : public scene_class {
public:
dScnName_c() {}
/* 802588A0 */ s32 create();
/* 80258B2C */ void setView();
/* 80258BC8 */ s32 execute();
/* 80258C5C */ s32 draw();
/* 80258CC8 */ ~dScnName_c();
/* 80258DD0 */ void FileSelectOpen();
/* 80258E34 */ void FileSelectMain();
/* 80258E78 */ void FileSelectMainNormal();
/* 80258F20 */ void FileSelectClose();
/* 80258FD4 */ void brightCheckOpen();
/* 80259008 */ void brightCheck();
/* 802590F8 */ void changeGameScene();
private:
/* 0x1C4 */ request_of_phase_process_class field_0x1c4;
/* 0x1CC */ JKRExpHeap* mHeap;
/* 0x1D0 */ JKRExpHeap* field_0x1d0;
/* 0x1D4 */ dScnName_camera_c mCamera;
/* 0x414 */ dFile_select_c* dFs_c;
/* 0x418 */ dBrightCheck_c* mBrightCheck;
/* 0x41C */ u8 field_0x41c;
/* 0x41D */ u8 field_0x41d;
/* 0x41E */ u8 field_0x41e;
/* 0x41F */ u8 field_0x41f;
/* 0x420 */ u8 field_0x420;
};
#endif /* D_S_D_S_NAME_H */
+3 -1
View File
@@ -678,6 +678,7 @@ class dSv_fishing_info_c {
public:
void init();
void addFishCount(u8 i_fishIndex);
u16 getFishCount(u8 i_fishIndex) { return mFishCount[i_fishIndex]; }
private:
/* 0x00 */ u16 mFishCount[16];
@@ -768,6 +769,7 @@ public:
dSv_player_get_item_c& getGetItem() { return mGetItem; }
dSv_player_config_c& getConfig() { return mConfig; }
dSv_letter_info_c& getLetterInfo() { return mLetterInfo; }
dSv_fishing_info_c& getFishingInfo() { return mFishingInfo; }
dSv_player_field_last_stay_info_c& getPlayerFieldLastStayInfo() {
return mPlayerFieldLastStayInfo;
}
@@ -1111,7 +1113,7 @@ public:
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
void setNoFile(u8 file) { mNoFile = file; }
u8 getNewFile() const { return mNewFile; }
void setNewFile(u8 file) { mNewFile |= file; }
void setNewFile(u8 file) { mNewFile = file; }
static const int MEMORY_SWITCH = 0x80;
static const int DAN_SWITCH = 0x40;
+53 -38
View File
@@ -9,12 +9,12 @@ public:
/* 8025C0A0 */ dSvBit_childTransformHIO_c();
/* 8025C0D4 */ void init();
/* 8025C2E4 */ virtual ~dSvBit_childTransformHIO_c();
/* 8025C2E4 */ virtual ~dSvBit_childTransformHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool WF[4];
/* 0x09 */ bool field_0x9[4];
/* 0x05 */ u8 WF[4];
/* 0x09 */ u8 field_0x9[4];
};
class dSvBit_childDarknessHIO_c {
@@ -22,12 +22,12 @@ public:
/* 8025C004 */ dSvBit_childDarknessHIO_c();
/* 8025C038 */ void init();
/* 8025C32C */ virtual ~dSvBit_childDarknessHIO_c();
/* 8025C32C */ virtual ~dSvBit_childDarknessHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool TW[6];
/* 0x0B */ bool field_0x9[6];
/* 0x05 */ u8 TW[6];
/* 0x0B */ u8 field_0xB[6];
};
class dSvBit_childOtherHIO_c {
@@ -35,14 +35,14 @@ public:
/* 8025C13C */ dSvBit_childOtherHIO_c();
/* 8025C178 */ void init();
/* 8025C29C */ virtual ~dSvBit_childOtherHIO_c();
/* 8025C29C */ virtual ~dSvBit_childOtherHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 mDropNum;
/* 0x06 */ u8 field_0x6;
/* 0x07 */ bool mLightVessel[4];
/* 0x0B */ bool field_0xb[4];
/* 0x07 */ u8 mLightVessel[4];
/* 0x0B */ u8 field_0xb[4];
};
class dSvBit_childTbPerfectionHIO_c {
@@ -50,17 +50,20 @@ public:
/* 8025BF68 */ dSvBit_childTbPerfectionHIO_c();
/* 8025BF9C */ void init();
/* 8025C374 */ virtual ~dSvBit_childTbPerfectionHIO_c();
/* 8025C374 */ virtual ~dSvBit_childTbPerfectionHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x40];
/* 0x45 */ bool field_0x45[0x40];
/* 0x05 */ u8 field_0x5[0x40];
/* 0x45 */ u8 field_0x45[0x40];
};
class dSvBit_childTreasureHIO_c {
public:
/* 8025C874 */ virtual ~dSvBit_childTreasureHIO_c();
/* 8025C874 */ virtual ~dSvBit_childTreasureHIO_c() {}
void init() {
mPerfectSave.init();
}
private:
/* 0x04 */ u8 field_0x4;
@@ -72,7 +75,7 @@ public:
/* 8025BCB0 */ dSvBit_childSwZoneHIO_c();
/* 8025BCE4 */ void init();
/* 8025C524 */ virtual ~dSvBit_childSwZoneHIO_c();
/* 8025C524 */ virtual ~dSvBit_childSwZoneHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
@@ -85,12 +88,12 @@ public:
/* 8025BB78 */ dSvBit_childSwPerfectionHIO_c();
/* 8025BBAC */ void init();
/* 8025C5B4 */ virtual ~dSvBit_childSwPerfectionHIO_c();
/* 8025C5B4 */ virtual ~dSvBit_childSwPerfectionHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x80];
/* 0x85 */ bool field_0x85[0x80];
/* 0x05 */ u8 field_0x5[0x80];
/* 0x85 */ u8 field_0x85[0x80];
};
class dSvBit_childSwOneZoneHIO_c {
@@ -98,7 +101,7 @@ public:
/* 8025BD10 */ dSvBit_childSwOneZoneHIO_c();
/* 8025BD44 */ void init();
/* 8025C4DC */ virtual ~dSvBit_childSwOneZoneHIO_c();
/* 8025C4DC */ virtual ~dSvBit_childSwOneZoneHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
@@ -111,17 +114,23 @@ public:
/* 8025BC14 */ dSvBit_childSwDungeonHIO_c();
/* 8025BC48 */ void init();
/* 8025C56C */ virtual ~dSvBit_childSwDungeonHIO_c();
/* 8025C56C */ virtual ~dSvBit_childSwDungeonHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x40];
/* 0x45 */ bool field_0x45[0x40];
/* 0x05 */ u8 field_0x5[0x40];
/* 0x45 */ u8 field_0x45[0x40];
};
class dSvBit_childSwitchHIO_c {
public:
/* 8025C970 */ virtual ~dSvBit_childSwitchHIO_c();
/* 8025C970 */ virtual ~dSvBit_childSwitchHIO_c() {}
void init() {
field_0x8.init();
field_0x110.init();
field_0x198.init();
field_0x1e0.init();
}
private:
/* 0x004 */ u8 field_0x4;
@@ -136,12 +145,12 @@ public:
/* 8025BEA8 */ dSvBit_childItZoneHIO_c();
/* 8025BEDC */ void init();
/* 8025C404 */ virtual ~dSvBit_childItZoneHIO_c();
/* 8025C404 */ virtual ~dSvBit_childItZoneHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x20];
/* 0x25 */ bool field_0x25[0x20];
/* 0x05 */ u8 field_0x5[0x20];
/* 0x25 */ u8 field_0x25[0x20];
};
class dSvBit_childItPerfectionHIO_c {
@@ -149,12 +158,12 @@ public:
/* 8025BD70 */ dSvBit_childItPerfectionHIO_c();
/* 8025BDA4 */ void init();
/* 8025C494 */ virtual ~dSvBit_childItPerfectionHIO_c();
/* 8025C494 */ virtual ~dSvBit_childItPerfectionHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x20];
/* 0x25 */ bool field_0x25[0x20];
/* 0x05 */ u8 field_0x5[0x20];
/* 0x25 */ u8 field_0x25[0x20];
};
class dSvBit_childItOneZoneHIO_c {
@@ -162,12 +171,12 @@ public:
/* 8025BF08 */ dSvBit_childItOneZoneHIO_c();
/* 8025BF3C */ void init();
/* 8025C3BC */ virtual ~dSvBit_childItOneZoneHIO_c();
/* 8025C3BC */ virtual ~dSvBit_childItOneZoneHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x10];
/* 0x15 */ bool field_0x15[0x10];
/* 0x05 */ u8 field_0x5[0x10];
/* 0x15 */ u8 field_0x15[0x10];
};
class dSvBit_childItDungeonHIO_c {
@@ -175,17 +184,23 @@ public:
/* 8025BE0C */ dSvBit_childItDungeonHIO_c();
/* 8025BE40 */ void init();
/* 8025C44C */ virtual ~dSvBit_childItDungeonHIO_c();
/* 8025C44C */ virtual ~dSvBit_childItDungeonHIO_c() {}
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ bool field_0x5[0x80];
/* 0x85 */ bool field_0x85[0x80];
/* 0x05 */ u8 field_0x5[0x80];
/* 0x85 */ u8 field_0x85[0x80];
};
class dSvBit_childItemHIO_c {
public:
/* 8025C8D4 */ virtual ~dSvBit_childItemHIO_c();
/* 8025C8D4 */ virtual ~dSvBit_childItemHIO_c() {}
void init() {
mFullSave.init();
mDungeonSave.init();
mZoneSave.init();
mOneZoneSave.init();
}
private:
/* 0x004 */ u8 field_0x4;
@@ -199,7 +214,7 @@ class dSvBit_HIO_c {
public:
/* 8025C1F8 */ void init();
/* 8025C6FC */ virtual ~dSvBit_HIO_c();
/* 8025C6FC */ virtual ~dSvBit_HIO_c() {}
/* 0x004 */ s8 field_0x4;
/* 0x008 */ dSvBit_childSwitchHIO_c mSwitch;
@@ -208,8 +223,8 @@ public:
/* 0x468 */ dSvBit_childDarknessHIO_c mDarkness;
/* 0x47C */ dSvBit_childTransformHIO_c mTransform;
/* 0x48C */ dSvBit_childOtherHIO_c mOther;
/* 0x49C */ bool mTransformFlag;
/* 0x49D */ bool field_0x49d;
/* 0x49C */ u8 mTransformFlag;
/* 0x49D */ u8 field_0x49d;
};
STATIC_ASSERT(sizeof(dSvBit_HIO_c) == 0x4A0);
+1
View File
@@ -16,6 +16,7 @@ public:
void setItemIndex(int i, u32 index) { mItemIndex[i] = index; }
u32 getItemIndex(int i) { return mItemIndex[i]; }
void setMessageIndex(int i, u16 messageIndex) { mMessageIndex[i] = messageIndex; }
u16 getMessageIndex(int i) { return mMessageIndex[i]; }
private:
+1 -1
View File
@@ -120,7 +120,7 @@ public:
/* 8019A364 */ void setSoldOut();
/* 8019A4F4 */ void setSoldOutItemHide();
/* 8019A564 */ void deleteObject();
/* 8019A5D0 */ void searchItemActor();
/* 8019A5D0 */ int searchItemActor();
/* 8019AB00 */ int getFlowNodeNum();
/* 8019AB1C */ void setSellItemMax(u8);
/* 8019AB24 */ bool checkShopOpen();
+1
View File
@@ -52,6 +52,7 @@ void* VIGetNextFrameBuffer();
void* VIGetCurrentFrameBuffer();
void VISetBlack(BOOL);
u32 VIGetRetraceCount();
u32 VIGetDTVStatus();
vu16 __VIRegs[59] : 0xCC002000;
+3 -3
View File
@@ -473,9 +473,9 @@ s32 fopAcM_orderMapToolAutoNextEvent(fopAc_ac_c*, u8, s16, u16, u16, u16);
s32 fopAcM_orderPotentialEvent(fopAc_ac_c*, u16, u16, u16);
s32 fopAcM_orderItemEvent(fopAc_ac_c*, u16, u16);
s32 fopAcM_orderTreasureEvent(fopAc_ac_c*, fopAc_ac_c*, u16, u16);
void* fopAcM_getTalkEventPartner(const fopAc_ac_c*);
void* fopAcM_getItemEventPartner(const fopAc_ac_c*);
void* fopAcM_getEventPartner(const fopAc_ac_c*);
fopAc_ac_c* fopAcM_getTalkEventPartner(const fopAc_ac_c*);
fopAc_ac_c* fopAcM_getItemEventPartner(const fopAc_ac_c*);
fopAc_ac_c* fopAcM_getEventPartner(const fopAc_ac_c*);
static void fopAcM_onSwitch(fopAc_ac_c const* param_0, int param_1);
s32 fopAcM_createItemForPresentDemo(cXyz const* p_pos, int i_itemNo, u8 param_2, int i_itemBitNo,
+1 -1
View File
@@ -18,7 +18,7 @@ public:
/* 0x22C */ s8 mPrm1;
/* 0x22D */ s8 mPrm2;
/* 0x22E */ s8 mPrm3;
/* 0x22F */ u8 field_0x22f;
/* 0x22F */ s8 field_0x22f;
/* 0x230 */ csXyz mAngle;
/* 0x238 */ int field_0x238;
};
+5
View File
@@ -59,6 +59,11 @@ public:
static f32 getAnalogR(u32 pad) { return getCpadInfo(pad).mTriggerRight; }
static f32 getAnalogL(u32 pad) { return getCpadInfo(pad).mTriggerLeft; }
static BOOL isConnect(u32 pad) { return JUTGamePad::getPortStatus(pad) == 0; }
static void startMotorWave(u32 pad, void* param_2, JUTGamePad::CRumble::ERumble param_3, u32 param_4) {
m_gamePad[pad]->startMotorWave(param_2, param_3, param_4);
}
static void stopMotor(u32 pad) { m_gamePad[pad]->stopMotor(); }
static void stopMotorWave(u32 pad) { m_gamePad[pad]->stopMotorWave(); }
static void stopMotorHard(u32 pad) { return m_gamePad[pad]->stopMotorHard(); }
static void stopMotorWaveHard(u32 pad) { return m_gamePad[pad]->stopMotorWaveHard(); }
+4 -1
View File
@@ -26,6 +26,8 @@ public:
s16 i_endF);
/* 8000D428 */ int play();
J3DFrameCtrl* getFrameCtrl() { return &mFrameCtrl; }
f32 getPlaySpeed() { return mFrameCtrl.getRate(); }
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
f32 getFrame() { return mFrameCtrl.getFrame(); }
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
@@ -272,6 +274,7 @@ public:
f32 getEndFrame() { return mFrameCtrl.getEnd(); }
BOOL checkFrame(f32 frame) { return mFrameCtrl.checkPass(frame); }
J3DAnmTransform* getAnm() { return mpAnm; }
void changeAnm(J3DAnmTransform* anm) { mpAnm = anm; }
bool isStop() {
bool stopped = true;
@@ -299,7 +302,7 @@ public:
int, Z2Creature*, u32, u32);
/* 800108F0 */ int create(J3DModelData*, mDoExt_McaMorfCallBack1_c*, mDoExt_McaMorfCallBack2_c*,
J3DAnmTransform*, int, f32, int, int, Z2Creature*, u32, u32);
/* 80010E70 */ void setAnm(J3DAnmTransform*, int, f32, f32, f32, f32);
/* 80010E70 */ void setAnm(J3DAnmTransform* i_anm, int i_attr, f32 i_morf, f32 i_rate, f32 i_start, f32 i_end);
/* 800110B0 */ int play(u32, s8);
/* 80011154 */ void updateDL();
/* 800111C0 */ void entryDL();
+3 -1
View File
@@ -55,7 +55,7 @@ public:
static int startFadeOut(int param_0) { return JFWDisplay::getManager()->startFadeOut(param_0); }
static int startFadeIn(int param_0) { return JFWDisplay::getManager()->startFadeIn(param_0); }
static void setFadeColor(JUtility::TColor& color) { mFader->setColor(color); }
static void setFadeColor(JUtility::TColor color) { mFader->mColor.set(color); }
static void setClearColor(JUtility::TColor color) { JFWDisplay::getManager()->setClearColor(color); }
static void setBackColor(GXColor& color) { mBackColor = color; }
static void endFrame() { JFWDisplay::getManager()->endFrame(); }
@@ -73,11 +73,13 @@ public:
static f32 getMinXF() { return 0.0f; }
static f32 getMaxYF() { return 448.0f; }
static f32 getMaxXF() { return 608.0f; }
static f32 getAspect() { return 1.3571428f; }
static int getMinY() { return 0; }
static int getMinX() { return 0; }
static int getMaxY() { return 448; }
static int getMaxX() { return 608; }
static ResTIMG* getFrameBufferTimg() { return mFrameBufferTimg; }
static ResTIMG* getZbufferTimg() { return mZbufferTimg; }
static void* getFrameBufferTex() { return mFrameBufferTex; }
static void setFadeRate(f32 rate) { mFadeRate = rate; }
static f32 getFadeRate() { return mFadeRate; }
+6
View File
@@ -32,6 +32,8 @@ struct mDoLib_clipper {
mClipper.calcViewFrustum();
}
static void setup(f32, f32, f32, f32);
static J3DUClipper mClipper;
static f32 mSystemFar;
static f32 mFovyRate;
@@ -42,4 +44,8 @@ u8 mDoLib_setResTimgObj(ResTIMG const* res, GXTexObj* o_texObj, u32 tlut_name,
GXTlutObj* o_tlutObj);
void mDoLib_pos2camera(Vec* src, Vec* dst);
inline u32 calcAlphaCmpID(u32 param_1, u32 param_2, u32 param_3) {
return ((param_1 & 0xff) << 5) + ((param_2 & 0xff) << 3) + (param_3 & 0xff);
}
#endif /* M_DO_M_DO_LIB_H */
+18 -2
View File
@@ -19,8 +19,8 @@ void mDoMtx_XrotM(Mtx, s16);
void mDoMtx_YrotM(Mtx, s16);
void mDoMtx_ZrotM(Mtx, s16);
void mDoMtx_MtxToRot(CMtxP, csXyz*);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3,
void mDoMtx_lookAt(Mtx param_0, Vec const* param_1, Vec const* param_2, s16 param_3);
void mDoMtx_lookAt(Mtx param_0, Vec const* param_1, Vec const* param_2, Vec const* param_3,
s16 param_4);
void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]);
void mDoMtx_ZrotM(Mtx mtx, s16 z);
@@ -31,10 +31,18 @@ inline void mDoMtx_multVecSR(Mtx m, const Vec* src, Vec* dst) {
PSMTXMultVecSR(m, src, dst);
}
inline void cMtx_concat(const Mtx a, const Mtx b, Mtx ab) {
PSMTXConcat(a, b, ab);
}
inline void mDoMtx_multVec(Mtx m, const Vec* src, Vec* dst) {
PSMTXMultVec(m, src, dst);
}
inline void mDoMtx_multVecArray(Mtx m, const Vec* src, Vec* dst, u32 count) {
PSMTXMultVecArray(m, src, dst, count);
}
inline void mDoMtx_copy(const Mtx src, Mtx dst) {
PSMTXCopy(src, dst);
}
@@ -59,6 +67,14 @@ inline void cMtx_multVec(Mtx mtx, const Vec* src, Vec* dst) {
mDoMtx_multVec(mtx, src, dst);
}
inline void cMtx_copy(const Mtx src, Mtx dst) {
mDoMtx_copy(src, dst);
}
inline void cMtx_multVecArray(Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}
inline void mDoMtx_multVecZero(MtxP param_0, Vec* param_1) {
param_1->x = param_0[0][3];
param_1->y = param_0[1][3];
@@ -2,5 +2,123 @@
#define D_A_NPC_ASH_H
#include "dolphin/types.h"
#include "d/a/d_a_npc.h"
class daNpcAsh_c;
typedef bool (daNpcAsh_c::*daNpcAsh_actionFn)(void*);
typedef BOOL (daNpcAsh_c::*daNpcAsh_eventFn)(int);
class daNpcAsh_c : public daNpcF_c {
private:
/* 0xB48 */ Z2Creature mZ2;
/* 0xBD8 */ J3DModel* mModelBow;
/* 0xBDC */ J3DModel* mModelQuiver;
/* 0xBE0 */ daNpcF_MatAnm_c* mpMatAnm;
/* 0xBE4 */ daNpcF_Lookat_c mLookat;
/* 0xC80 */ daNpcF_ActorMngr_c mActorMngr[6];
/* 0xCB0 */ fopAc_ac_c* mTalkPartner;
/* 0xCB4 */ u32 field_0xcb4; // unused
/* 0xCB8 */ dCcD_Cyl mCcCyl[2];
/* 0xF30 */ daNpcAsh_actionFn mpActionFn;
/* 0xF3C */ request_of_phase_process_class mPhase[2];
/* 0xF4C */ u32 mItemPartnerId;
/* 0xF50 */ u32 field_0xf50; // unused
/* 0xF54 */ u32 field_0xf54;
/* 0xF58 */ s16 mMessageNo;
/* 0xF5A */ s16 mLookMode;
/* 0xF5C */ u16 field_0xf5c;
/* 0xF5E */ u8 mMapToolId;
/* 0xF5F */ u8 field_0xf5f;
/* 0xF60 */ u8 field_0xf60;
public:
/* 809582EC */ daNpcAsh_c();
/* 80958610 */ ~daNpcAsh_c();
/* 809587A0 */ cPhs__Step Create();
/* 80958B68 */ BOOL CreateHeap();
/* 809590C4 */ int Delete();
/* 809590F8 */ int Execute();
/* 8095911C */ int Draw();
/* 80959238 */ bool ctrlJoint(J3DJoint*, J3DModel*);
/* 80959458 */ static BOOL createHeapCallBack(fopAc_ac_c*);
/* 80959478 */ static BOOL ctrlJointCallBack(J3DJoint*, int);
/* 809594C4 */ bool setExpressionAnm(int, bool);
/* 809596E0 */ bool setExpressionBtp(int);
/* 809597C0 */ void setMotionAnm(int i_idx, f32 i_morf);
/* 80959910 */ void reset();
/* 80959B28 */ /* inline */ bool setAction(daNpcAsh_actionFn);
/* 80959BD0 */ /* inline */ bool isSneaking();
/* 80959C40 */ bool wait_type0(void*);
/* 8095A67C */ void setMotion(int, f32, int);
/* 8095A6C0 */ void setExpression(int, f32);
/* 8095A6EC */ bool wait_type1(void*);
/* 8095A8EC */ bool talk(void*);
/* 8095AD28 */ bool demo(void*);
/* 8095B164 */ bool leave(void*);
/* 8095B48C */ BOOL EvCut_Introduction(int cutIndex);
/* 8095B58C */ BOOL EvCut_Meeting(int cutIndex);
/* 8095B83C */ BOOL EvCut_WiretapSponsor(int cutIndex);
/* 8095BA80 */ BOOL EvCut_WiretapEntrant(int cutIndex);
/* 8095BCF0 */ void setParam();
/* 8095BF6C */ BOOL main();
/* 8095C200 */ /* inline */ void playMotion();
/* 8095C520 */ BOOL ctrlBtk();
/* 8095C5C4 */ void setAttnPos();
/* 8095C9BC */ void lookat();
/* 8095CC8C */ BOOL drawDbgInfo();
s16 getMessageNo() { return shape_angle.x; }
bool isMap() { return !(daNpcF_chkEvtBit(0x10c) || !daNpcF_chkEvtBit(0x108)); }
inline void setExpressionTalkAfter() { setExpression(7, -1.0f); }
inline void setLookMode(int i_lookMode, fopAc_ac_c* i_talkPartner);
inline void searchActors();
inline BOOL chkFindPlayer();
inline bool step(s16, bool);
inline void playExpression();
#ifdef NONMATCHING
static daNpcAsh_eventFn mEvtSeqList[6];
#else
static u8 mEvtSeqList[72];
#endif
};
STATIC_ASSERT(sizeof(daNpcAsh_c) == 0xF64);
class daNpcAsh_Param_c {
public:
/* 8095D5D4 */ virtual ~daNpcAsh_Param_c();
struct param {
/* 0x00 */ f32 m00;
/* 0x04 */ f32 mGravity;
/* 0x08 */ f32 m08;
/* 0x0C */ f32 mShadow;
/* 0x10 */ f32 mSttsWeight;
/* 0x14 */ f32 m14;
/* 0x18 */ f32 m18;
/* 0x1C */ f32 m1C;
/* 0x20 */ f32 m20;
/* 0x24 */ f32 m24;
/* 0x28 */ f32 m28;
/* 0x2C */ f32 m2C;
/* 0x30 */ f32 m30;
/* 0x34 */ f32 m34;
/* 0x38 */ f32 m38;
/* 0x3C */ f32 m3C;
/* 0x40 */ f32 mLookatScl;
/* 0x44 */ f32 m44;
/* 0x48 */ s16 m48;
/* 0x4A */ s16 m4A;
/* 0x4C */ s16 m4C;
/* 0x4E */ s16 m4E;
/* 0x50 */ f32 mSightAngle;
/* 0x54 */ f32 m54[3];
/* 0x60 */ u16 m60[6];
};
static param const m;
};
#endif /* D_A_NPC_ASH_H */
@@ -1,6 +1,22 @@
#ifndef D_A_OBJ_DIGHOLL_H
#define D_A_OBJ_DIGHOLL_H
#include "dolphin/types.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjDigholl_c : public fopAc_ac_c {
public:
/* 80BDC618 */ int create();
/* 80BDC75C */ ~daObjDigholl_c();
/* 80BDC7D8 */ int execute();
/* 80BDCB0C */ int draw();
/* 0x568 */ u8 field_0x568;
/* 0x569 */ u8 field_0x569;
/* 0x56A */ u8 field_0x56a;
/* 0x56B */ u8 field_0x56b;
/* 0x56C */ s16 field_0x56c;
/* 0x56E */ s16 field_0x56e;
}; // Size: 0x570
#endif /* D_A_OBJ_DIGHOLL_H */
@@ -1,6 +1,27 @@
#ifndef D_A_OBJ_KJGJS_H
#define D_A_OBJ_KJGJS_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
#include "f_op/f_op_actor_mng.h"
class daObjKJgjs_c : public dBgS_MoveBgActor {
public:
/* 80C46098 */ int create1st();
/* 80C4616C */ void setMtx();
/* 80C461E4 */ int CreateHeap();
/* 80C46264 */ int Create();
/* 80C46310 */ int Execute(f32 (**)[3][4]);
/* 80C46320 */ int Draw();
/* 80C463C4 */ int Delete();
/* 80C464CC */ virtual ~daObjKJgjs_c();
u32 getType() { return fopAcM_GetParamBit(this, 0, 4); }
/* 0x5A0 */ request_of_phase_process_class mPhaseReq;
/* 0x5A8 */ Mtx mMtx[2];
/* 0x608 */ J3DModel* mpModel;
/* 0x60C */ s32 field_0x60c;
}; // Size: 0x610
#endif /* D_A_OBJ_KJGJS_H */
@@ -1,6 +1,30 @@
#ifndef D_A_TAG_EVTAREA_H
#define D_A_TAG_EVTAREA_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTag_EvtArea_c : public fopAc_ac_c {
public:
/* 8048C4F8 */ cPhs__Step create();
/* 8048C728 */ bool Delete();
/* 8048C730 */ bool Execute();
/* 8048C894 */ bool Draw();
/* 8048C89C */ BOOL isDelete();
/* 8048C94C */ BOOL chkPointInArea(cXyz, cXyz);
/* 8048CD08 */ BOOL chkPointInArea(cXyz);
/* 8048CD68 */ virtual ~daTag_EvtArea_c();
inline s32 getType();
inline u32 getOnEvtBit();
inline u32 getOffEvtBit();
inline u8 getBitSW();
inline u8 getBitSW2();
private:
/* 0x568 vtable */
/* 0x56C */ u8 field_0x56c;
};
STATIC_ASSERT(sizeof(daTag_EvtArea_c) == 0x570);
#endif /* D_A_TAG_EVTAREA_H */
@@ -16,6 +16,7 @@ public:
/* 80D61050 */ u8 getSwitchBit2();
/* 80D6105C */ void initialize();
/* 80D61168 */ virtual ~daTag_ShopItem_c();
s32 getProcessID() { return field_0x56c; }
/* 0x56C */ s32 field_0x56c;
/* 0x570 */ s16 field_0x570;
@@ -2,5 +2,36 @@
#define D_A_TAG_WLJUMP_H
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
#include "d/msg/d_msg_flow.h"
#include "d/com/d_com_inf_game.h"
struct dPath;
struct daTagWljump_c : fopAc_ac_c {
/* 80D64EB8 */ int create();
/* 80D65004 */ ~daTagWljump_c();
/* 80D65090 */ int execute();
/* 80D6589C */ int draw();
int dComIfGp_att_ZHintRequest(fopAc_ac_c *param_1, int param_2) {
return dComIfGp_getAttention().ZHintRequest(param_1, param_2);
}
/* 0x568 */ s8 field_0x568;
/* 0x568 */ s8 field_0x569;
/* 0x568 */ u8 field_0x56a;
/* 0x568 */ u8 field_0x56b;
/* 0x56C */ u8 field_0x56c[4];
/* 0x570 */ u8 field_0x570;
/* 0x571 */ u8 field_0x571;
/* 0x572 */ u8 field_0x572;
/* 0x573 */ u8 field_0x573;
/* 0x574 */ s16 field_0x574;
/* 0x574 */ u16 field_0x576;
/* 0x578 */ dMsgFlow_c mMsgFlow;
/* 0x5C4 */ dPath* field_0x5c4;
/* 0x5C8 */ f32 field_0x5c8;
};
#endif /* D_A_TAG_WLJUMP_H */