Merge remote-tracking branch 'upstream/main' into d_menu_dmap

This commit is contained in:
Teddy Heidmann
2026-08-13 20:36:56 -07:00
74 changed files with 4830 additions and 1364 deletions
+4 -8
View File
@@ -44,14 +44,10 @@ public:
param_0.mBR = mColorBR;
}
const JUtility::TColor& getWhite() const { return mWhite; }
bool setBlack(JUtility::TColor black) { mBlack = black; return true; }
void setContentsColor(TContentsColor c) {
setContentsColor(c.mTL, c.mTR, c.mBL, c.mBR);
}
void setContentsColor(JUtility::TColor c) {
setContentsColor(c, c, c, c);
}
bool setWhite(JUtility::TColor white) { mWhite = white; return true; }
void setBlack(JUtility::TColor black) { mBlack = black; }
void setContentsColor(TContentsColor param_0) { setContentsColor(param_0.mTL, param_0.mTR, param_0.mBL, param_0.mBR); }
void setContentsColor(JUtility::TColor param_0) { setContentsColor(param_0, param_0, param_0, param_0); }
void setWhite(JUtility::TColor white) { mWhite = white; }
public:
/* 0x0CC */ JUTTexture* mpFrameTexture1;
@@ -430,7 +430,7 @@ public:
}
u16 getUpdateMaterialNum() const { return mTrackNum / 3; }
JUTNameTab * getUpdateMaterialName() { return &mUpdateMaterialName; }
u16 getUpdateTexMtxID(u16 idx) const {
int getUpdateTexMtxID(u16 idx) const {
J3D_ASSERT(1017, idx < (mTrackNum / 3), "Error : range over.");
return mUpdateTexMtxID[idx];
}
@@ -119,7 +119,6 @@ class J3DMtxCalcMayaAnm : public J3DMtxCalcMaya, public J3DMtxCalcAnm {
public:
J3DMtxCalcMayaAnm(J3DAnmTransform* pAnmTransform)
: J3DMtxCalcMaya(), J3DMtxCalcAnm(pAnmTransform) {}
virtual ~J3DMtxCalcMayaAnm() {}
virtual void calc(u16 jnt_no) { J3DMtxCalcAnm::calc(jnt_no); }
};
+24 -4
View File
@@ -9,8 +9,18 @@
struct J3DGXColorS10 {
J3DGXColorS10() {}
J3DGXColorS10(GXColorS10& other) { mColor = other; }
J3DGXColorS10(J3DGXColorS10& other) { mColor = other.mColor; }
J3DGXColorS10(GXColorS10& other) {
mColor.r = other.r;
mColor.g = other.g;
mColor.b = other.b;
mColor.a = other.a;
}
J3DGXColorS10(J3DGXColorS10& other) {
mColor.r = other.mColor.r;
mColor.g = other.mColor.g;
mColor.b = other.mColor.b;
mColor.a = other.mColor.a;
}
J3DGXColorS10& operator=(const J3DGXColorS10& other) {
mColor = other.mColor;
return *this;
@@ -25,8 +35,18 @@ struct J3DGXColorS10 {
struct J3DGXColor {
J3DGXColor() {}
J3DGXColor(GXColor& other) { mColor = other; }
J3DGXColor(J3DGXColor& other) { mColor = other.mColor; }
J3DGXColor(GXColor& other) {
mColor.r = other.r;
mColor.g = other.g;
mColor.b = other.b;
mColor.a = other.a;
}
J3DGXColor(J3DGXColor& other) {
mColor.r = other.mColor.r;
mColor.g = other.mColor.g;
mColor.b = other.mColor.b;
mColor.a = other.mColor.a;
}
J3DGXColor& operator=(const J3DGXColor& other) {
mColor = other.mColor;
return *this;
+4 -3
View File
@@ -12,9 +12,10 @@ enum J3DError {
J3DErrType_OutOfMemory = 4,
};
enum J3DSysDrawBuffer {
/* 0x0 */ OPA_BUFFER,
/* 0x1 */ XLU_BUFFER
enum J3DSysDrawBuf {
/* 0x0 */ J3DSysDrawBuf_Opa,
/* 0x1 */ J3DSysDrawBuf_Xlu,
/* 0x2 */ J3DSysDrawBuf_MAX,
};
class J3DMtxCalc;
+2 -2
View File
@@ -1,7 +1,7 @@
#ifndef JSYSTEM_PCH
#define JSYSTEM_PCH
#include "JSystem/JSupport/JSUList.h"
#include "JSystem/J3DGraphBase/J3DShape.h"
#include "JSystem/JSupport/JSUList.h" // IWYU pragma: export
#include "JSystem/J3DGraphBase/J3DShape.h" // IWYU pragma: export
#endif /* JSYSTEM_PCH */
+3 -3
View File
@@ -380,9 +380,9 @@ public:
cCcD_ObjCommonBase() { ct(); }
virtual ~cCcD_ObjCommonBase() {}
void ct() {
SetSPrm(0);
SetRPrm(0);
ClrObj();
mSPrm = 0;
mRPrm = 0;
mHitObj = NULL;
}
void SetSPrm(u32 sprm) { mSPrm = sprm; }
void SetRPrm(u32 rprm) { mRPrm = rprm; }
+12
View File
@@ -35,14 +35,26 @@ public:
void SetR(f32 r);
#endif
void Set(const cM3dGCylS & src) {
#if VERSION == VERSION_DEMO
mCenter = src.mCenter;
mRadius = src.mRadius;
mHeight = src.mHeight;
#else
SetC(src.mCenter);
SetR(src.mRadius);
SetH(src.mHeight);
#endif
}
void Set(const cXyz& center, f32 radius, f32 height) {
#if VERSION == VERSION_DEMO
mCenter = center;
mRadius = radius;
mHeight = height;
#else
SetC(center);
SetR(radius);
SetH(height);
#endif
}
bool cross(const cM3dGSph*, cXyz*) const;
bool cross(const cM3dGCyl*, cXyz*) const;
+10
View File
@@ -29,12 +29,22 @@ public:
#endif
void SetC(f32 x, f32 y, f32 z) { mCenter.x = x; mCenter.y = y; mCenter.z = z; }
void Set(const cM3dGSphS & src) {
#if VERSION == VERSION_DEMO
mCenter = src.mCenter;
mRadius = src.mRadius;
#else
SetC(src.mCenter);
SetR(src.mRadius);
#endif
}
void Set(const cXyz& srcCenter, f32 srcRadius) {
#if VERSION == VERSION_DEMO
mCenter = srcCenter;
mRadius = srcRadius;
#else
SetC(srcCenter);
SetR(srcRadius);
#endif
}
bool Cross(const cM3dGCps* cps, cXyz* dst) const {
return cM3d_Cross_CpsSph(*cps, *this, dst);
+1 -1
View File
@@ -23,7 +23,7 @@ public:
void check_col();
void lift_smooth_move();
void lift_normal_move();
BOOL check_path_point(cXyz, cXyz, cXyz, s8);
BOOL check_path_point(cXyz, cXyz, s8);
void set_next_pnt();
BOOL setNextPath();
bool chkSwitchPathType();
+1 -1
View File
@@ -9,7 +9,7 @@ class daMagma_c : public fopAc_ac_c {
public:
inline ~daMagma_c();
inline cPhs_State create();
inline s32 getPathNo() { return fopAcM_GetParam(this); }
inline s16 getPathNo() { return fopAcM_GetParam(this); }
public:
/* 0x290 */ request_of_phase_process_class mPhs;
+6 -2
View File
@@ -6,9 +6,11 @@
#include "d/d_drawlist.h"
#include "dolphin/dvd/dvd.h"
#if VERSION > VERSION_DEMO
#ifdef __cplusplus
extern "C" {
#endif
#endif
typedef u8 THPSample;
typedef s16 THPCoeff;
@@ -45,8 +47,10 @@ static void __THPInverseDCTY8(THPCoeff* in, u32 xPos);
static void __THPGQRSetup();
static s32 __THPHuffDecodeTab(THPFileInfo* info, THPHuffmanTab* h);
#if VERSION > VERSION_DEMO
#ifdef __cplusplus
}
} // extern "C"
#endif
#endif
class daMP_c : public fopAc_ac_c {
@@ -63,7 +67,7 @@ public:
public:
/* 0x290 */ u32 (*mpGetMovieRestFrame)();
/* 0x294 */ u32 (*mpSetPercentMovieVol)(f32);
/* 0x294 */ void (*mpSetPercentMovieVol)(f32);
#if VERSION == VERSION_PAL
/* 0x29C */ u32 (*mpTHPGetTotalFrame)(void);
#endif
+143 -76
View File
@@ -1,63 +1,70 @@
#ifndef D_A_NPC_BA1_H
#define D_A_NPC_BA1_H
#include "d/d_npc.h"
#include "f_op/f_op_actor.h"
class J3DNode;
class daNpc_Ba1_c : public fopAc_ac_c {
class daNpc_Ba1_c : public fopNpc_npc_c {
public:
typedef BOOL (daNpc_Ba1_c::*ProcFunc)(void*);
struct anm_prm_c {
/* 0x00 */ s8 mAnmNum;
/* 0x01 */ s8 mBtpNum;
/* 0x02 */ s16 field_0x02;
/* 0x04 */ f32 mMorf;
/* 0x08 */ f32 mSpeed;
/* 0x0C */ int mLoopMode;
};
void holdEventOn() { mHoldEvent = 1; }
void holdEventOn() { mbHoldEvent = 1; }
void nodeBa1Control(J3DNode*, J3DModel*);
void XyCheck_cB(int);
void XyEvent_cB(int);
void init_BA1_0();
void init_BA1_1();
void init_BA1_2();
void init_BA1_3();
void init_BA1_4();
void createInit();
bool XyCheck_cB(int);
s16 XyEvent_cB(int);
bool init_BA1_0();
bool init_BA1_1();
bool init_BA1_2();
bool init_BA1_3();
bool init_BA1_4();
bool createInit();
void setMtx(bool);
void anmNum_toResID(int);
void btpNum_toResID(int);
void setBtp(bool, int);
void iniTexPttrnAnm(bool);
int anmNum_toResID(int);
int btpNum_toResID(int);
bool setBtp(bool, int);
bool iniTexPttrnAnm(bool);
void plyTexPttrnAnm();
void setAnm_tex(signed char);
void setAnm_anm(anm_prm_c*);
void setAnm_tex(s8);
BOOL setAnm_anm(anm_prm_c*);
void setAnm_NUM(int, int);
void setAnm();
bool setAnm();
void chg_anmTag();
void control_anmTag();
void chg_anmAtr(unsigned char);
void chg_anmAtr(u8);
void control_anmAtr();
void setAnm_ATR(int);
void anmAtr(unsigned short);
void anmAtr(u16);
void eventOrder();
void checkOrder();
void chk_talk();
void chk_drct(float);
void chk_partsNotMove();
bool chk_talk();
bool chk_drct(f32);
bool chk_partsNotMove();
void lookBack();
void next_msgStatus(unsigned long*);
void getMsg_BA1_0();
void getMsg_BA1_1();
void getMsg_BA1_3();
void getMsg_BA1_4();
void getMsg();
void chkAttention();
u16 next_msgStatus(u32*);
u32 getMsg_BA1_0();
u32 getMsg_BA1_1();
u32 getMsg_BA1_3();
u32 getMsg_BA1_4();
u32 getMsg();
bool chkAttention();
void setAttention(bool);
void searchByID(fpc_ProcID);
void partner_srch_sub(void* (*)(void*, void*));
fopAc_ac_c* searchByID(fpc_ProcID);
bool partner_srch_sub(fpcLyIt_JudgeFunc);
void partner_srch();
void check_useFairyArea();
void checkCommandTalk();
void charDecide(int);
bool check_useFairyArea();
bool checkCommandTalk();
bool charDecide(int);
void eInit_SET_PLYER_GOL_();
void eInit_PLYER_INI_POS_();
void eInit_USE_FAIRY_END_();
@@ -66,61 +73,121 @@ public:
void eInit_ACTOR_DRW_CONTROL_(int*, int*);
void eInit_setEvTimer(int*);
void eInit_CHK_FAIRY_(int*);
void eInit_prmFloat(float*, float);
void eInit_SET_EYE_OFF_(float*);
void eInit_EYE_OFF_ZRO_(float*);
f32 eInit_prmFloat(f32*, f32);
void eInit_SET_EYE_OFF_(f32*);
void eInit_EYE_OFF_ZRO_(f32*);
void eInit_CHK_FAIRY_MOV_1(int*);
void event_actionInit(int);
void eMove_MOV_POS_();
void eMove_CHK_FAIRY_();
void eMove_EYE_OFF_ZRO_();
void eMove_CHK_FAIRY_MOV_1();
void event_action();
bool eMove_MOV_POS_();
bool eMove_CHK_FAIRY_();
bool eMove_EYE_OFF_ZRO_();
bool eMove_CHK_FAIRY_MOV_1();
bool event_action();
void cut_init_START_TALE1(int);
void cut_move_START_TALE1();
bool cut_move_START_TALE1();
void privateCut(int);
void endEvent();
void isEventEntry();
BOOL isEventEntry();
void event_proc(int);
void set_action(int (daNpc_Ba1_c::*)(void*), void*);
void setStt(signed char);
void wait_0();
void wait_1();
void talk_1();
void talk_2();
void wait_2();
void wait_3();
void ZZZwai();
void wait_action1(void*);
void wait_action2(void*);
void demo_action1(void*);
void wait_action3(void*);
void wait_action4(void*);
void demo();
BOOL set_action(int (daNpc_Ba1_c::*)(void*), void*);
void setStt(s8);
BOOL wait_0();
BOOL wait_1();
BOOL talk_1();
BOOL talk_2();
BOOL wait_2();
BOOL wait_3();
BOOL ZZZwai();
BOOL wait_action1(void*);
BOOL wait_action2(void*);
BOOL demo_action1(void*);
BOOL wait_action3(void*);
BOOL wait_action4(void*);
bool demo();
void shadowDraw();
BOOL _draw();
BOOL _execute();
BOOL _delete();
cPhs_State _create();
void create_Anm();
void create_itm_Mdl();
void CreateHeap();
J3DModelData* create_Anm();
bool create_itm_Mdl();
BOOL CreateHeap();
public:
/* 0x290 */ u8 m290[0x7F8 - 0x290];
/* 0x6C4 */ request_of_phase_process_class mPhs;
/* 0x6CC */ s8 m_hed_jnt_num;
/* 0x6CD */ s8 m_bbone_jnt_num;
/* 0x6CE */ s8 m_footL_jnt_num;
/* 0x6D0 */ J3DModel* mpClothModel;
/* 0x6D4 */ u32 mShadowID;
/* 0x6D8 */ J3DAnmTexPattern* m_hed_tex_pttrn;
/* 0x6DC */ mDoExt_btpAnm mHeadBtpAnm;
/* 0x6F0 */ u8 mBlinkFrame;
/* 0x6F2 */ s16 mBlinkTimer;
/* 0x6F4 */ ProcFunc mCurrProcFunc;
/* 0x700 */ u8 field_0x700[0x708 - 0x700];
/* 0x708 */ dNpc_EventCut_c mEventCut;
/* 0x774 */ fpc_ProcID mPartnerProcID;
/* 0x778 */ cXyz mInitialPos;
/* 0x784 */ csXyz mInitialAngle;
/* 0x78A */ csXyz m78A;
/* 0x790 */ cXyz mTransformedEyePos;
/* 0x79C */ cXyz m79C;
/* 0x7A8 */ u8 field_0x7A8[0x7C0 - 0x7A8];
/* 0x7C0 */ f32 mPrevMorfFrame;
/* 0x7C4 */ f32 mEyeOffset;
/* 0x7C8 */ f32 mEyeOffsetZero;
/* 0x7CC */ s16 mJointHeadY;
/* 0x7CE */ s16 mJointBackboneY;
/* 0x7D0 */ s16 mActorAngleY;
/* 0x7D2 */ s16 mEventIdTable[6];
/* 0x7DE */ s16 mEventIdx;
/* 0x7E0 */ s16 mEvTimer;
/* 0x7E2 */ s16 mEvTimer2;
/* 0x7E4 */ u8 field_0x7E4[0x7E8 - 0x7E4];
/* 0x7E8 */ s16 mLookAtMaxVel;
/* 0x7EA */ s16 mTargetYRot;
/* 0x7EC */ u8 field_0x7EC[0x7EE - 0x7EC];
/* 0x7EE */ s8 mbMorfAnimStopped;
/* 0x7EF */ u8 m7EF;
/* 0x7F0 */ s8 m7F0;
/* 0x7F1 */ u8 mItemNo;
#if VERSION > VERSION_JPN
/* 0x7F8 */ u8 m7F8;
/* 0x7F2 */ u8 m7F2;
#endif
/* Offsets below are for USA/PAL */
/* 0x7F9 */ u8 mHoldEvent;
};
class daNpc_Ba1_HIO_c {
public:
daNpc_Ba1_HIO_c();
public:
/* Place member variables here */
};
/* 0x7F3 */ u8 field_0x7F3[0x7F4 - 0x7F3];
/* 0x7F4 */ bool mbInitGrandma0;
/* 0x7F5 */ bool m7F5;
/* 0x7F6 */ bool m7F6;
/* 0x7F7 */ bool m7F7;
/* 0x7F8 */ bool m7F8;
/* 0x7F9 */ bool mbHoldEvent;
/* 0x7FA */ bool m7FA;
/* 0x7FB */ bool m7FB;
/* 0x7FC */ bool mFairyUsed;
/* 0x7FD */ bool m7FD;
/* 0x7FE */ bool m7FE;
/* 0x7FF */ bool m7FF;
/* 0x800 */ bool mbRanExecute;
/* 0x804 */ BOOL mbSetEyePos;
/* 0x808 */ bool mbAttention;
/* 0x809 */ bool m809;
/* 0x80A */ bool mHeadOnlyFollow;
/* 0x80B */ bool mbInDemo;
/* 0x80C */ s8 mActionIndex;
/* 0x80D */ s8 mActNo;
/* 0x80E */ u8 m80E;
/* 0x80F */ u8 mMesgAnimeTagInfo;
/* 0x810 */ s8 mBtpNum;
/* 0x811 */ s8 mAnmNum;
/* 0x812 */ s8 m812;
/* 0x813 */ s8 mStatus;
/* 0x814 */ s8 mPrevStatus;
/* 0x815 */ s8 mLookBackState;
/* 0x816 */ s8 mType;
/* 0x817 */ s8 mSpecificType;
/* 0x818 */ s8 m818;
/* 0x819 */ s8 m819;
}; // Size: 0x81C
#endif /* D_A_NPC_BA1_H */
+1 -1
View File
@@ -73,7 +73,7 @@ public:
u8 getMode() { return mMode; }
void setMode(u8 mode) { mMode = mode; }
bool isLinkMode() { return mMode == Mode_PLAYER_MOVE_e; }
void isBabaMode() {}
bool isBabaMode() { return mMode == Mode_BOTTLE_BABA_MOVE_e; }
u8 getSubMode() { return mSubMode; }
void setSubMode(u8 submode) { mSubMode = submode; }
-51
View File
@@ -10,7 +10,6 @@
#include "SSystem/SComponent/c_phase.h"
#include "d/d_path.h"
#include "d/d_lib.h"
#include "m_Do/m_Do_hostIO.h"
class daObj_Ikada_c : public fopAc_ac_c {
public:
@@ -185,54 +184,4 @@ public:
/* 0x1328 */ cXyz mInitPos;
};
class daObj_Ikada_HIO_c : public mDoHIO_entry_c {
public:
daObj_Ikada_HIO_c();
virtual ~daObj_Ikada_HIO_c() {}
void genMessage(JORMContext* ctx) {}
public:
/* 0x04 */ u8 mbDebugDraw;
/* 0x05 */ u8 m05;
/* 0x06 */ u8 m06;
/* 0x07 */ u8 mbNoRotAnim;
/* 0x08 */ u8 m08;
/* 0x09 */ u8 m09[0x0C - 0x09];
/* 0x0C */ Vec mFlagOffset;
/* 0x18 */ f32 mFlagScale;
/* 0x1C */ s16 m1C;
/* 0x1E */ s16 m1E;
/* 0x20 */ f32 m20;
/* 0x24 */ s16 m24;
/* 0x26 */ u8 m26[0x28 - 0x26];
/* 0x28 */ f32 m28;
/* 0x2C */ f32 mShipOffsY_Attention;
/* 0x30 */ f32 mShipOffsY_Eye;
/* 0x34 */ f32 mTerryWaveOffsZ;
/* 0x38 */ f32 mTerryWaveOffsY;
/* 0x3C */ f32 mTerryTrackOffsZ;
/* 0x40 */ f32 mSvWaveOffsX;
/* 0x44 */ f32 mSvTrackOffsX;
/* 0x48 */ f32 mSvOffsX[4];
/* 0x58 */ f32 mTrackIndTransY;
/* 0x5C */ f32 mTrackIndScaleY;
/* 0x60 */ f32 mSplashScaleMax;
/* 0x64 */ f32 mSplashMaxScaleTimer;
/* 0x68 */ f32 mWaveVelFade;
/* 0x6C */ f32 mTrackVel;
/* 0x70 */ f32 mWaveVelSpeed;
/* 0x74 */ f32 mWaveVelOffs;
/* 0x78 */ f32 mWaveMaxVelocity;
/* 0x7C */ Vec mWaveCollapsePos[2];
/* 0x94 */ s16 m94;
/* 0x96 */ s16 mPlayerStopDistance;
/* 0x98 */ s16 m98;
/* 0x9A */ s16 m9A;
/* 0x9C */ f32 m9C;
/* 0xA0 */ f32 mVelocityTargetTerry1;
/* 0xA4 */ f32 mVelocityTargetTerry3;
/* 0xA8 */ f32 mA8;
}; // size = 0xAC
#endif /* D_A_OBJ_IKADA_H */
+7 -2
View File
@@ -83,6 +83,7 @@ public:
class dDlst_2DOutFont_c {
public:
dDlst_2DOutFont_c() { m20 = NULL; m18 = NULL; m2C = NULL; m74 = 0; }
void setLeftUpPos(f32 x, f32 y) { mPosTopLeftX = x; mPosTopLeftY = y; }
void initial();
@@ -107,9 +108,13 @@ public:
/* 0x18 */ J2DPane* m18;
/* 0x1C */ u8 m1C[0x20 - 0x1C];
/* 0x20 */ JUTFont* m20;
/* 0x24 */ u8 m24[0x30 - 0x24];
/* 0x24 */ u8 m24[0x2C - 0x24];
/* 0x2C */ JUTFont* m2C;
/* 0x30 */ f32 mPosTopLeftX;
/* 0x34 */ f32 mPosTopLeftY;
};
/* 0x38 */ u8 m38[0x74 - 0x38];
/* 0x74 */ u8 m74;
/* 0x75 */ u8 m75[0x150 - 0x75];
}; // Size = 0x150
#endif /* D_2DNUMBER_H */
+1
View File
@@ -8,6 +8,7 @@
#include "d/d_drawlist.h"
#include "d/d_event.h"
#include "d/d_event_manager.h"
#include "d/d_item_data.h"
#include "d/d_map.h"
#include "d/d_particle.h"
#include "d/d_resorce.h"
+2 -2
View File
@@ -535,8 +535,8 @@ public:
J3DDrawBuffer* getXluList() { return mpXluList; }
J3DDrawBuffer* getXluListP1() { return mpXluListP1; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSysDrawBuf_Xlu); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, J3DSysDrawBuf_Opa); }
void setOpaList() { setOpaDrawList(mpOpaList); }
void setXluList() { setXluDrawList(mpXluList); }
void setOpaListInvisible() { setOpaDrawList(mpOpaListInvisible); }
+3
View File
@@ -52,6 +52,9 @@ public:
class CSTControl : public STControl {
public:
CSTControl(s16 a, s16 b, s16 c, s16 d, f32 e = 0.9f, f32 f = 0.5f, s16 g = 0, s16 h = 0x2000)
: STControl(a, b, c, d, e, f, g, h)
{}
virtual f32 getValueStick();
virtual s16 getAngleStick();
};
+2 -1
View File
@@ -5,13 +5,14 @@
class dMenu_base_c : public dDlst_base_c {
public:
virtual void draw() {}
virtual ~dMenu_base_c() {}
virtual void _create() {}
virtual void _delete() {}
virtual void _move() {}
virtual void _draw() {}
virtual bool _open() = 0;
virtual bool _close() = 0;
virtual void draw() {}
};
#endif //D_MENU_BASE_H
+19 -15
View File
@@ -20,6 +20,7 @@ class JUTFont;
class dMenu_Collect_c : public dMenu_base_c {
public:
~dMenu_Collect_c() {}
virtual void draw() { _draw(); }
void alphaChange(fopMsgM_pane_class* pane, float alpha) { pane->mInitAlpha *= alpha; }
@@ -32,15 +33,15 @@ public:
void setQuitArchive(JKRArchive* arc) { mpSaveArc = arc; }
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
mpFont = font;
mpRubyFont = rfont;
}
void setTactTexBuffer(void* ptr) { mTactTexBuffer = (ResTIMG*)ptr; }
void setMapTexBuffer(void* ptr) { mMapTexBuffer = (ResTIMG*)ptr; }
void setTriforceTexBuffer(int idx, void* ptr) { mTriforceTexBuffer[idx] = (ResTIMG*)ptr; }
void setSymbolTexBuffer(int idx, void* ptr) { mSymbolTexBuffer[idx] = ptr; }
void setItemTexBuffer(int idx, void* ptr) { mItemTexBuffer[idx] = ptr; }
void setSymbolTexBuffer(int idx, void* ptr) { mSymbolTexBuffer[idx] = (ResTIMG*)ptr; }
void setItemTexBuffer(int idx, void* ptr) { mItemTexBuffer[idx] = (ResTIMG*)ptr; }
void setTextArea(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) {
name[0] = name0;
@@ -58,7 +59,7 @@ public:
void initialize();
void cursorAnime();
int stickDirection(unsigned char);
int cursorMainMove();
u8 cursorMainMove();
u8 noteCheck();
void noteInit();
void noteAppear();
@@ -176,16 +177,21 @@ private:
/* 0x2464 */ JKRArchive* mpArc;
/* 0x2468 */ JKRArchive* mpOptArc;
/* 0x246C */ JKRArchive* mpSaveArc;
/* 0x2470 */ JUTFont* mFont;
/* 0x2474 */ JUTFont* mRFont;
/* 0x2470 */ JUTFont* mpFont;
/* 0x2474 */ JUTFont* mpRubyFont;
/* 0x2478 */ J2DPane* m2478;
/* 0x247C */ JPABaseEmitter* m247C[3];
/* 0x2488 */ J2DWindow::TContentsColor m2488;
/* 0x2498 */ ResTIMG* mTactTexBuffer;
/* 0x249C */ ResTIMG* mMapTexBuffer;
/* 0x24A0 */ ResTIMG* mTriforceTexBuffer[8];
/* 0x24C0 */ void* mSymbolTexBuffer[3];
/* 0x24CC */ void* mItemTexBuffer[5];
/* 0x24C0 */ ResTIMG* mSymbolTexBuffer[3];
/* 0x24CC */ ResTIMG* mItemTexBuffer[5];
#if VERSION == VERSION_PAL
/* 0x24E0 */ ResTIMG* mWordSaveTexBuffer;
/* 0x24E4 */ ResTIMG* mWordOptionTexBuffer;
/* 0x24E8 */ ResTIMG* mTitleCollectTexBuffer;
#endif
/* 0x24E0 */ fopMsgM_msgDataProc_c mMsgProc;
/* 0x2780 */ dMenu_Option_c* dMo_c;
/* 0x2784 */ dMenu_save_c* dMs_c;
@@ -197,12 +203,12 @@ private:
/* 0x27B8 */ char* note[2];
/* 0x27C0 */ char* dummy[2];
/* 0x27C8 */ u8 m27C8[0x27DC - 0x27C8];
/* 0x27DC */ u32 m27DC;
/* 0x27DC */ s32 m27DC;
/* 0x27E0 */ s16 m27E0;
/* 0x27E2 */ s16 mTimer;
/* 0x27E4 */ u16 m27E4;
/* 0x27E6 */ u16 m27E6;
/* 0x27E8 */ u16 m27E8;
/* 0x27E4 */ s16 m27E4;
/* 0x27E6 */ s16 m27E6;
/* 0x27E8 */ s16 m27E8;
/* 0x27EA */ u8 m27EA;
/* 0x27EB */ u8 m27EB;
/* 0x27EC */ u8 mTriggerInfo;
@@ -215,8 +221,6 @@ private:
/* 0x27F3 */ u8 m27F3;
}; // Size: 0x27F4
STATIC_ASSERT(sizeof(dMenu_Collect_c) == 0x27F4);
class dMc_HIO_c : public JORReflexible {
public:
dMc_HIO_c();
+9 -6
View File
@@ -11,16 +11,19 @@ struct fopMsgM_pane_class;
class JKRArchive;
class JUTFont;
class dMenu_Option_c : public dDlst_base_c {
class dMenu_Option_c {
public:
dMenu_Option_c() { }
virtual ~dMenu_Option_c() {}
void alphaChange(fopMsgM_pane_class*, f32) {}
u8 getQuitStatus() { return mE40; }
void setArchive(JKRArchive* archive) {
mpArchive = archive;
}
void setFont(JUTFont* font_1, JUTFont* font_2) {
mD2C = font_1;
mD30 = font_2;
void setFont(JUTFont* i_font, JUTFont* i_rubyFont) {
mpFont = i_font;
mpRubyFont = i_rubyFont;
}
void setTextArea(char* param_1, char* param_2, char* param_3, char* param_4) {
mD38 = param_1;
@@ -83,8 +86,8 @@ private:
/* 0xC80 */ fopMsgM_pane_class mC80[2];
/* 0xCF0 */ fopMsgM_pane_class mCF0;
/* 0xD28 */ JKRArchive* mpArchive;
/* 0xD2C */ JUTFont* mD2C;
/* 0xD30 */ JUTFont* mD30;
/* 0xD2C */ JUTFont* mpFont;
/* 0xD30 */ JUTFont* mpRubyFont;
/* 0xD34 */ STControl* stick;
/* 0xD38 */ char* mD38;
/* 0xD3C */ char* mD3C;
+5 -5
View File
@@ -45,12 +45,12 @@ public:
/* 0x0502 */ UNK_0502 = 0x0502,
/* 0x0501 */ UNK_0501 = 0x0501,
/* 0x0640 */ UNK_0640 = 0x0640,
/* 0x0608 */ UNK_0608 = 0x0608,
/* 0x0608 */ UNK_0608 = 0x0608, // Set by an unused dialogue
/* 0x0604 */ UNK_0604 = 0x0604,
/* 0x0602 */ UNK_0602 = 0x0602,
/* 0x0601 */ UNK_0601 = 0x0601,
/* 0x0602 */ UNK_0602 = 0x0602, // Grandma dialogue after sword obtained
/* 0x0601 */ UNK_0601 = 0x0601, // Grandma dialogue after Helmaroc cutscene (prologue)
/* 0x0780 */ UNK_0780 = 0x0780,
/* 0x0740 */ UNK_0740 = 0x0740,
/* 0x0740 */ UNK_0740 = 0x0740, // Grandma dialogue after Aryll kidnapped
/* 0x0720 */ UNK_0720 = 0x0720,
/* 0x0710 */ UNK_0710 = 0x0710,
/* 0x0704 */ UNK_0704 = 0x0704,
@@ -317,7 +317,7 @@ public:
/* 0x2901 */ UNK_2901 = 0x2901,
/* 0x2A80 */ UNK_2A80 = 0x2A80,
/* 0x2A40 */ UNK_2A40 = 0x2A40,
/* 0x2A20 */ UNK_2A20 = 0x2A20,
/* 0x2A20 */ GRANDMA_HEALED = 0x2A20,
/* 0x2A10 */ UNK_2A10 = 0x2A10,
/* 0x2A08 */ RODE_KORL = 0x2A08,
/* 0x2A04 */ UNK_2A04 = 0x2A04,
+1 -1
View File
@@ -79,7 +79,7 @@ enum {
/* 0x47 */ DSNAP_TYPE_UNK47,
/* 0x48 */ DSNAP_TYPE_UNK48,
/* 0x49 */ DSNAP_TYPE_NPC_LS1,
/* 0x4A */ DSNAP_TYPE_UNK4A,
/* 0x4A */ DSNAP_TYPE_NPC_BA1,
/* 0x4B */ DSNAP_TYPE_UNK4B,
/* 0x4C */ DSNAP_TYPE_UNK4C,
/* 0x4D */ DSNAP_TYPE_NPC_JI1,
+2
View File
@@ -29,8 +29,10 @@
#include "JSystem/JKernel/JKRFileFinder.h" // IWYU pragma: export
#include "d/d_bg_s_lin_chk.h" // IWYU pragma: export
#include "m_Do/m_Do_hostIO.h" // IWYU pragma: export
#include "m_Do/m_Do_graphic.h" // IWYU pragma: export
#include "d/d_cc_uty.h" // IWYU pragma: export
#include "d/d_magma.h" // IWYU pragma: export
#include "d/d_mesg.h" // IWYU pragma: export
#include "d/d_menu_base.h" // IWYU pragma: export
#endif /* DOLZEL_PCH */
+2
View File
@@ -42,6 +42,8 @@ extern "C" {
(reg) = ((u32) (reg) & ~(((1 << (nbits)) - 1) << (shift))) | \
((u32) (value) << (shift));
#define GET_REG_FIELD(reg, size, shift) ((int)((reg) >> (shift)) & ((1 << (size)) - 1))
#define SET_REG_FIELD(reg, size, shift, val) \
(reg) = ((u32)(reg) & ~(((1 << (size)) - 1) << (shift))) | ((u32)(val) << (shift)); \
+1
View File
@@ -36,6 +36,7 @@ void GXSetNumTexGens(u8 numTexGens);
void GXGetVtxAttrFmtv(GXVtxFmt param_0, GXVtxAttrFmtList* param_1);
void GXGetVtxAttrFmt(GXVtxFmt param_0, int param_1, GXCompCnt* param_2, GXCompType* param_3,
u8* param_4);
void GXGetVtxDesc(GXAttr attr, GXAttrType* type);
void GXGetVtxDescv(GXVtxDescList* attrPtr);
static inline void GXSetTexCoordGen(GXTexCoordID dst, GXTexGenType type, GXTexGenSrc src, u32 mtx) {
+1 -32
View File
@@ -28,7 +28,7 @@ typedef struct _THPComponent {
THPCoeff predDC;
} THPComponent;
typedef struct _THPFileInfo {
typedef struct _local_THPFileInfo {
THPQuantTab quantTabs[3];
THPHuffmanTab huffmanTabs[4];
THPComponent components[3];
@@ -116,37 +116,6 @@ typedef struct THPHeader {
#define THP_READ_BUFFER_COUNT 10
#define THP_TEXTURE_SET_COUNT 3
static u32 THPAudioDecode(s16* audioBuffer, u8* audioFrame, s32 flag);
static s32 __THPAudioGetNewSample(THPAudioDecodeInfo* info);
static void __THPAudioInitialize(THPAudioDecodeInfo* info, u8* ptr);
s32 __THPAudioGetNewSample(THPAudioDecodeInfo*);
void __THPAudioInitialize(THPAudioDecodeInfo*, u8*);
static void __THPSetupBuffers(void);
static u8 __THPReadFrameHeader(void);
static u8 __THPReadScaneHeader(void);
static u8 __THPReadQuantizationTable(void);
static u8 __THPReadHuffmanTableSpecification(void);
static void __THPHuffGenerateSizeTable(void);
static void __THPHuffGenerateCodeTable(void);
static void __THPHuffGenerateDecoderTables(u8 tabIndex);
static void __THPRestartDefinition(void);
static void __THPPrepBitStream(void);
static void __THPDecompressYUV(void* tileY, void* tileU, void* tileV);
static void __THPGQRRestore(void);
static void __THPDecompressiMCURow512x448(void);
static void __THPDecompressiMCURow640x480(void);
static void __THPDecompressiMCURowNxN(void);
static void __THPInverseDCTNoYPos(THPCoeff* in, u32 xPos);
static void __THPHuffDecodeDCTCompY(THPFileInfo* info, THPCoeff* block);
static void __THPHuffDecodeDCTCompU(THPFileInfo* info, THPCoeff* block);
static void __THPHuffDecodeDCTCompV(THPFileInfo* info, THPCoeff* block);
static void __THPInverseDCTY8(THPCoeff* in, u32 xPos);
static void __THPGQRSetup();
static s32 __THPHuffDecodeTab(THPFileInfo* info, THPHuffmanTab* h);
#ifdef __cplusplus
}
#endif
+12 -12
View File
@@ -17,7 +17,7 @@ public:
public:
/* 0x04 */ s8 mNo;
/* 0x05 */ u8 field_0x05;
/* 0x05 */ u8 mUsingHostIO;
/* 0x06 */ u8 mDisplayMeter;
/* 0x07 */ u8 mDisplayFlag;
/* 0x08 */ u8 field_0x08;
@@ -41,7 +41,7 @@ public:
/* 0x1D */ u8 field_0x1d;
/* 0x1E */ u8 field_0x1e;
/* 0x1F */ u8 field_0x1f;
/* 0x20 */ JUtility::TColor field_0x20;
/* 0x20 */ JUtility::TColor mColor;
/* 0x24 */ f32 mTriggerThreshLo;
/* 0x28 */ f32 mTriggerThreshHi;
/* 0x2C */ s16 mFbWidth;
@@ -58,16 +58,16 @@ public:
/* 0x39 */ u8 field_0x39;
/* 0x3A */ u8 field_0x3a;
/* 0x3B */ u8 field_0x3b;
/* 0x3C */ JUtility::TColor field_0x3c;
/* 0x40 */ JUtility::TColor field_0x40;
/* 0x44 */ JUtility::TColor field_0x44;
/* 0x48 */ JUtility::TColor field_0x48;
/* 0x4C */ u16 field_0x4c;
/* 0x4E */ u16 field_0x4e;
/* 0x50 */ u16 field_0x50;
/* 0x52 */ u16 field_0x52;
/* 0x54 */ u16 field_0x54;
/* 0x56 */ u8 field_0x56;
/* 0x3C */ JUtility::TColor mLetterTopColor;
/* 0x40 */ JUtility::TColor mLetterBottomColor;
/* 0x44 */ JUtility::TColor mLetterTopShadowColor;
/* 0x48 */ JUtility::TColor mLetterBottomShadowColor;
/* 0x4C */ u16 mLetterPositionX;
/* 0x4E */ u16 mLetterPositionY;
/* 0x50 */ u16 mLineSpacing;
/* 0x52 */ u16 mLetterSpacing;
/* 0x54 */ u16 mLetterFontSize;
/* 0x56 */ u8 mBackgroundAlpha;
}; // Size: 0x58
extern fapGm_HIO_c g_HIO;
+16 -16
View File
@@ -127,22 +127,6 @@ inline MtxP fopAcM_GetMtx(fopAc_ac_c* pActor) {
return pActor->cullMtx;
}
inline u32 fopAcM_CheckStatus(fopAc_ac_c* pActor, u32 status) {
return pActor->actor_status & status;
}
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
return pActor->actor_status & fopAcStts_CARRY_e;
}
inline void fopAcM_ClearStatusMap(fopAc_ac_c* pActor) {
pActor->actor_status &= ~0x3F;
}
inline bool fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
return fopAcM_CheckStatus(pActor, fopAcStts_HOOK_CARRY_e);
}
inline u32 fopAcM_GetParam(void* pActor) {
return fpcM_GetParam(pActor);
}
@@ -179,6 +163,10 @@ inline void fopAcM_SetGroup(fopAc_ac_c* pActor, u8 group) {
pActor->group = group;
}
inline u32 fopAcM_CheckStatus(fopAc_ac_c* pActor, u32 status) {
return pActor->actor_status & status;
}
inline void fopAcM_OnStatus(fopAc_ac_c* pActor, u32 flag) {
pActor->actor_status |= flag;
}
@@ -187,6 +175,14 @@ inline void fopAcM_OffStatus(fopAc_ac_c* pActor, u32 flag) {
pActor->actor_status &= ~flag;
}
inline u32 fopAcM_checkCarryNow(fopAc_ac_c* pActor) {
return pActor->actor_status & fopAcStts_CARRY_e;
}
inline bool fopAcM_checkHookCarryNow(fopAc_ac_c* pActor) {
return fopAcM_CheckStatus(pActor, fopAcStts_HOOK_CARRY_e);
}
inline BOOL fopAcM_CheckStatusMap(fopAc_ac_c* pActor, u32) {
// TODO: This implementation probably isn't right, the u32 argument is likely used for something
return (pActor->actor_status & fopAcStts_SHOWMAP_e) && (pActor->actor_status & 0x1F) == 0;
@@ -196,6 +192,10 @@ inline void fopAcM_SetStatusMap(fopAc_ac_c* pActor, u32 flag) {
pActor->actor_status = (pActor->actor_status & ~0x3F) | fopAcStts_SHOWMAP_e | flag;
}
inline void fopAcM_ClearStatusMap(fopAc_ac_c* pActor) {
pActor->actor_status &= ~0x3F;
}
inline fopAc_ac_c* fopAcM_Search(fopAcIt_JudgeFunc func, void* param) {
return (fopAc_ac_c*)fopAcIt_Judge(func, param);
}
+3 -1
View File
@@ -354,7 +354,9 @@ inline void mDoAud_tact_melodyPlay(s32 param_1) {
mDoAud_zelAudio_c::getTact().melodyPlay(param_1);
}
inline void mDoAud_tact_melodyStop() {}
inline void mDoAud_tact_melodyStop() {
mDoAud_zelAudio_c::getTact().melodyStop();
}
inline BOOL mDoAud_checkCbPracticePlay() {
return mDoAud_zelAudio_c::getInterface()->checkCbPracticePlay();
+4
View File
@@ -95,6 +95,10 @@ inline void cMtx_copy(CMtxP src, MtxP dst) {
mDoMtx_copy(src, dst);
}
inline void cMtx_trans(Mtx dst, f32 x, f32 y, f32 z) {
mDoMtx_trans(dst, x, y, z);
}
inline void cMtx_multVecArray(Mtx mtx, const Vec* src, Vec* dst, u32 count) {
mDoMtx_multVecArray(mtx, src, dst, count);
}