d_kankyo_wether / d_eye_hl (#178)

* d_eye_hl / d_kankyo_wether wip

* more d_kankyo_wether + format

* remove asm

* some d_kankyo wip

* fix dccs vtable

* some m_Do_graphic / d_meter2_draw work
This commit is contained in:
TakaRikka
2022-01-25 12:24:14 -08:00
committed by GitHub
parent 6f4d068f1d
commit 612f26c132
241 changed files with 3715 additions and 9755 deletions
+19 -21
View File
@@ -1,16 +1,16 @@
#ifndef DYNAMICLINK_H
#define DYNAMICLINK_H
#include "dolphin/types.h"
#include "dolphin/os/OSLink.h"
#include "m_Do/m_Do_dvd_thread.h"
#include "JSystem/JKernel/JKRFileCache.h"
#include "dolphin/os/OSLink.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_dvd_thread.h"
struct DynamicModuleControlBase {
/* 0x00 */u16 mLinkCount;
/* 0x02 */u16 mDoLinkCount;
/* 0x04 */DynamicModuleControlBase* mPrev;
/* 0x08 */DynamicModuleControlBase* mNext;
/* 0x00 */ u16 mLinkCount;
/* 0x02 */ u16 mDoLinkCount;
/* 0x04 */ DynamicModuleControlBase* mPrev;
/* 0x08 */ DynamicModuleControlBase* mNext;
/* 0x0C */ /*vtable*/
/* 802621CC */ virtual ~DynamicModuleControlBase();
@@ -30,9 +30,8 @@ struct DynamicModuleControlBase {
/* 802623EC */ bool load_async();
/* 8026242C */ bool force_unlink();
static inline DynamicModuleControlBase* getFirstClass() {return mFirst;}
inline DynamicModuleControlBase* getNextClass() {return mNext;}
static inline DynamicModuleControlBase* getFirstClass() { return mFirst; }
inline DynamicModuleControlBase* getNextClass() { return mNext; }
static DynamicModuleControlBase* mFirst;
static DynamicModuleControlBase* mLast;
@@ -54,21 +53,20 @@ struct DynamicModuleControl : DynamicModuleControlBase {
/* 802626D0 */ static JKRArchive* mountCallback(void*);
/* 8026275C */ bool initialize();
/* 80262794 */ static void* callback(void*);
/* 0x10 */OSModuleInfo* mModule;
/* 0x14 */void* mBss;
/* 0x18 */u32 unk_24;
/* 0x1c */const char* mName;
/* 0x20 */u8 mResourceType;
/* 0x21 */u8 unk_33;
/* 0x22 */u16 mChecksum;
/* 0x24 */s32 mSize;
/* 0x28 */mDoDvdThd_callback_c* mAsyncLoadCallback;
/* 0x10 */ OSModuleInfo* mModule;
/* 0x14 */ void* mBss;
/* 0x18 */ u32 unk_24;
/* 0x1c */ const char* mName;
/* 0x20 */ u8 mResourceType;
/* 0x21 */ u8 unk_33;
/* 0x22 */ u16 mChecksum;
/* 0x24 */ s32 mSize;
/* 0x28 */ mDoDvdThd_callback_c* mAsyncLoadCallback;
static u32 sAllocBytes;
static JKRArchive* sArchive;
static JKRFileCache* sFileCache;
};
#endif /* DYNAMICLINK_H */
+1
View File
@@ -103,6 +103,7 @@ public:
bool isVisible() const { return mVisible; }
void show() { mVisible = true; }
void hide() { mVisible = false; }
void initiate();
void initialize(J2DPane*, bool, u64, const JGeometry::TBox2<f32>&);
+2 -2
View File
@@ -63,8 +63,8 @@ public:
/* 80053C6C */ virtual void setBlack(JUtility::TColor);
/* 80053C44 */ virtual void setWhite(JUtility::TColor);
/* 8018BEE0 */ virtual void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 801DFA4C */ virtual void getBlack() const;
/* 801DFA40 */ virtual void getWhite() const;
/* 801DFA4C */ virtual JUtility::TColor getBlack() const;
/* 801DFA40 */ virtual JUtility::TColor getWhite() const;
/* 8025603C */ virtual bool getMaterial() const;
/* 802FDBFC */ virtual void drawFullSet(f32, f32, f32, f32, Mtx*);
/* 802FE380 */ virtual void drawTexCoord(f32, f32, f32, f32, s16, s16, s16, s16, s16, s16, s16,
+21
View File
@@ -19,6 +19,11 @@ enum J2DTextBoxHBinding {
class J2DTextBox : public J2DPane {
public:
struct TFontSize {
/* 0x0 */ f32 mSizeX;
/* 0x4 */ f32 mSizeY;
};
/* 803001E0 */ virtual ~J2DTextBox();
/* 80300C68 */ virtual s32 getTypeID() const;
/* 80300AF8 */ virtual void resize(f32, f32);
@@ -51,6 +56,22 @@ public:
/* 8030074C */ s32 setString(s16, char const*, ...);
/* 80300660 */ s32 setString(char const*, ...);
void setFontSize(f32 sizeX, f32 sizeY) {
if (sizeX > 0.0f) {
sizeX = 0.0f;
}
field_0x11c = sizeX;
if (sizeY > 0.0f) {
sizeY = 0.0f;
}
field_0x120 = sizeY;
}
void setFontSize(TFontSize size) { setFontSize(size.mSizeX, size.mSizeY); }
void setCharSpace(f32 space) { mCharSpacing = space; }
private:
/* 0x0100 */ JUTFont* mFont;
/* 0x0104 */ JUtility::TColor mCharColor;
@@ -30,6 +30,7 @@ public:
J3DMaterial* getMaterialNodePointer(u16 idx) const { return mMaterialNodePointer[idx]; }
J3DTexture* getTexture() const { return mTexture; }
JUTNameTab* getTextureName() const { return mTextureName; }
u16 getMaterialNum() const { return mMaterialNum; }
@@ -67,6 +67,7 @@ public:
J3DShapePacket* getShapePacket(u16 idx) const { return &mShapePacket[idx]; }
Mtx33* getBumpMtxPtr(int idx) const { return mMtxBuffer->getBumpMtxPtr(idx); }
Mtx33* getNrmMtxPtr() const { return mMtxBuffer->getNrmMtxPtr(); }
void setBaseScale(const Vec& scale) { mBaseScale = scale; }
// is there a better way to handle inlines with same name as non-inlines?
MtxP i_getAnmMtx(int p1) { return mMtxBuffer->getAnmMtx(p1); }
@@ -34,6 +34,7 @@ public:
J3DJoint* getJointNodePointer(u16 idx) const { return mJointTree.getJointNodePointer(idx); }
J3DJointTree& getJointTree() { return mJointTree; }
J3DTexture* getTexture() const { return mMaterialTable.getTexture(); }
JUTNameTab* getTextureName() const { return mMaterialTable.getTextureName(); }
u16 getWEvlpMtxNum() const { return mJointTree.getWEvlpMtxNum(); }
void* getVtxPosArray() const { return mVertexData.getVtxPosArray(); }
void* getVtxNrmArray() const { return mVertexData.getVtxNrmArray(); }
+1 -1
View File
@@ -66,7 +66,7 @@ public:
virtual bool entry(J3DDrawBuffer*);
virtual void draw();
virtual ~J3DPacket();
virtual ~J3DPacket() {}
public:
/* 0x04 */ J3DPacket* mpNextSibling;
+16 -1
View File
@@ -11,6 +11,11 @@ enum J3DError {
kJ3DError_Alloc = 4,
};
enum J3DSysDrawBuffer {
/* 0x0 */ OPA_BUFFER,
/* 0x1 */ XLU_BUFFER
};
class J3DMtxCalc;
class J3DModel;
class J3DMatPacket;
@@ -64,7 +69,7 @@ struct J3DSys {
/* 0x4 */ XLU,
};
Mtx* getViewMtx() { return &mViewMtx; }
MtxP getViewMtx() { return mViewMtx; }
void setDrawModeOpaTexEdge() { mDrawMode = OPA_TEX_EDGE; }
@@ -102,6 +107,16 @@ struct J3DSys {
GXSetArray(GX_NRM_MTX_ARRAY, mModelNrmMtx, sizeof(*mModelNrmMtx));
}
// Type 0: Opa Buffer
// Type 1: Xlu Buffer
void setDrawBuffer(J3DDrawBuffer* buffer, int type) { mDrawBuffer[type] = buffer; }
// Type 0: Opa Buffer
// Type 1: Xlu Buffer
J3DDrawBuffer* getDrawBuffer(int type) { return mDrawBuffer[type]; }
void setViewMtx(Mtx m) { PSMTXCopy(m, mViewMtx); }
static Mtx mCurrentMtx;
static Vec mCurrentS;
static Vec mParentS;
+4 -1
View File
@@ -9,13 +9,16 @@
class J3DTexture {
private:
/* 0x0 */ u16 mNum;
/* 0x4 */ ResTIMG** mpRes;
/* 0x4 */ ResTIMG* mpRes;
public:
/* 8031204C */ void loadGX(u16, _GXTexMapID) const;
/* 803121A4 */ void entryNum(u16);
/* 8031221C */ void addResTIMG(u16, ResTIMG const*);
/* 803366A4 */ virtual ~J3DTexture();
u16 getNum() const { return mNum; }
ResTIMG* getResTIMG(u16 entry) const { return &mpRes[entry]; }
};
struct J3DTextureSRTInfo {
+4
View File
@@ -218,4 +218,8 @@ inline JKRCompression JKRConvertAttrToCompressionType(u32 attr) {
return JKRArchive::convertAttrToCompressionType(attr);
}
inline void* JKRGetTypeResource(u32 tag, const char* name, JKRArchive* arc) {
return JKRArchive::getGlbResource(tag, name, arc);
}
#endif
+4
View File
@@ -54,4 +54,8 @@ public:
static JSUList<JKRFileLoader> sVolumeList;
};
inline void* JKRGetNameResource(const char* name, JKRFileLoader* loader) {
return JKRFileLoader::getGlbResource(name, loader);
}
#endif /* JKRFILELOADER_H */
+2 -2
View File
@@ -221,8 +221,8 @@ inline JKRHeap* JKRGetCurrentHeap() {
return JKRHeap::getCurrentHeap();
}
inline u32 JKRGetMemBlockSize(JKRHeap* heap,void* block) {
return JKRHeap::getSize(block,heap);
inline u32 JKRGetMemBlockSize(JKRHeap* heap, void* block) {
return JKRHeap::getSize(block, heap);
}
#endif /* JKRHEAP_H */
+2
View File
@@ -124,6 +124,8 @@ public:
return isPushingReset;
}
static s8 getPortStatus(u32 port) { return mPadStatus[port].error; }
struct CButton {
CButton(); // inline
void clear();
+2
View File
@@ -66,6 +66,8 @@ public:
void idleStart() { mIdle.start(255, 129, 30); }
void idleEnd() { mIdle.end(); }
void setCostFrame(int frame) { mCostFrame = frame; }
void setVisible(bool visible) { mVisible = visible; }
void setVisibleHeapBar(bool visible) { mHeapBarVisible = visible; }
static JUTProcBar* getManager() { return sManager; }
@@ -3,4 +3,6 @@
#include "dolphin/types.h"
extern "C" int memcmp(const void*, const void*, size_t);
#endif /* MSL_COMMON_SRC_MEM_H */
+10 -8
View File
@@ -48,15 +48,17 @@ inline u8 cLib_checkBit(u8& pVar, u8 pBit) {
}
template <typename T>
inline T cLib_minMaxLimit(T param_0, T min, T max) {
if (param_0 < min) {
return max;
inline T cLib_minMaxLimit(T val, T min, T max) {
T ret;
if (val < min) {
ret = min;
} else {
ret = max;
if (val <= max) {
ret = val;
}
}
min = param_0;
if (min > max) {
min = max;
}
return min;
return ret;
}
void MtxInit(void);
+3 -1
View File
@@ -21,7 +21,9 @@ struct Z2StatusMgr {
void setCameraGroupInfo(u8);
void setCameraInWaterDepth(float);
//! @todo there are a number of inlines only called from rels: see CHN_debug
void setHour(s32 hour) { mHour = hour; }
void setMinute(s32 min) { mMinute = min; }
void setWeekday(s32 day) { mWeekday = day; }
/* 0x00 */ u8 mHour;
/* 0x01 */ u8 mMinute;
+15 -13
View File
@@ -14,32 +14,34 @@ public:
/* 80085F28 */ void ChkShieldFrontRange(cCcD_Obj*, cCcD_Obj*, int, cXyz const*);
/* 800860F8 */ void ChkShield(cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cXyz const*);
/* 800861B0 */ void CalcTgPlusDmg(cCcD_Obj*, cCcD_Obj*, cCcD_Stts*, cCcD_Stts*);
/* 800861B4 */ bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*, cCcD_GObjInf const*,
cCcD_Stts*, cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
/* 80086240 */ void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
/* 80086360 */ void GetRank(u8);
/* 80086404 */ bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
/* 8008640C */ void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
/* 80086754 */ void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
/* 8008685C */ void ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*,
dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*,
dCcD_GStts*, cXyz*, bool);
/* 80086AC0 */ void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*,
cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
cCcD_GStts*, cXyz*);
/* 80086D8C */ void ChkCamera(cXyz&, cXyz&, f32, fopAc_ac_c*, fopAc_ac_c*, fopAc_ac_c*);
/* 80086FBC */ void chkCameraPoint(cXyz const&, cCcD_ShapeAttr::Shape*, fopAc_ac_c*,
fopAc_ac_c*);
/* 800872A8 */ void MoveAfterCheck();
/* 800872AC */ void DrawAfter();
/* 800872B0 */ void Move();
/* 800872D0 */ void Draw();
/* 8008730C */ void MassClear();
/* 80087330 */ void ChkAtTgMtrlHit(u8, u8);
/* 8008734C */ bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
cCcD_GStts*);
/* 8008640C */ virtual void SetPosCorrect(cCcD_Obj*, cXyz*, cCcD_Obj*, cXyz*, f32);
/* 80086240 */ virtual void SetCoGObjInf(bool, bool, cCcD_GObjInf*, cCcD_GObjInf*, cCcD_Stts*,
cCcD_Stts*, cCcD_GStts*, cCcD_GStts*);
/* 80086AC0 */ virtual void SetAtTgGObjInf(bool, bool, cCcD_Obj*, cCcD_Obj*, cCcD_GObjInf*,
cCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, cCcD_GStts*,
cCcD_GStts*, cXyz*);
/* 8008734C */ virtual bool ChkNoHitGAtTg(cCcD_GObjInf const*, cCcD_GObjInf const*, cCcD_GStts*,
cCcD_GStts*);
/* 800861B4 */ virtual bool ChkAtTgHitAfterCross(bool, bool, cCcD_GObjInf const*,
cCcD_GObjInf const*, cCcD_Stts*, cCcD_Stts*,
cCcD_GStts*, cCcD_GStts*);
/* 80086404 */ virtual bool ChkNoHitGCo(cCcD_Obj*, cCcD_Obj*);
/* 8002FF40 */ virtual ~dCcS() {}
/* 800872A8 */ virtual void MoveAfterCheck();
/* 80086754 */ virtual void CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*);
static u8 m_mtrl_hit_tbl[64];
+105 -4
View File
@@ -14,6 +14,7 @@
#include "d/particle/d_particle.h"
#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_camera_mng.h"
struct dTimer_c {
/* 8025D524 */ int deleteCheck();
@@ -46,8 +47,6 @@ public:
/* 0x4 */ JKRHeap* heap;
};
struct camera_class {};
class dComIfG_camera_info_class {
public:
dComIfG_camera_info_class() {}
@@ -241,6 +240,8 @@ public:
JKRArchive* getMain2DArchive() { return mMain2DArchive; }
JKRArchive* getAnmArchive() { return mAnmArchive; }
JKRArchive* getCollectResArchive() { return mCollectResArchive; }
JKRArchive* getItemIconArchive() { return mItemIconArchive; }
JKRExpHeap* getMsgExpHeap() { return mMsgExpHeap; }
J2DGrafContext* getCurrentGrafPort() { return mCurrentGrafPort; }
dVibration_c& getVibration() { return mVibration; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
@@ -257,6 +258,8 @@ public:
m3DSetFlag = flag;
}
void offPauseFlag() { mPauseFlag = false; }
camera_class* getCamera(int idx) { return mCameraInfo[idx].mCamera; }
s32 checkStatus(u16 flags) { return flags & mStatus; }
public:
/* 0x00000 */ dBgS mDBgS;
@@ -488,7 +491,7 @@ public:
/* 0x05F64 */ dDlst_list_c drawlist;
/* 0x1C104 */ u8 field_0x1C104[0x1F4];
/* 0x1C2F8 */ dRes_control_c mResControl;
/* 0x1DDF8 */ u8 field_0x1ddf8; // related to fade, controls brightness
/* 0x1DDF8 */ u8 mFadeBrightness;
/* 0x1DDF9 */ u8 mWorldDark;
/* 0x1DDFA */ s8 field_0x1ddfa;
/* 0x1DDFB */ s8 field_0x1ddfb;
@@ -509,6 +512,8 @@ STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c));
extern dComIfG_inf_c g_dComIfG_gameInfo;
extern GXColor g_blackColor;
extern GXColor g_clearColor;
extern GXColor g_whiteColor;
void dComIfGp_setItemLifeCount(float, u8);
void dComIfGp_setItemRupeeCount(long);
@@ -552,6 +557,8 @@ void dComIfGp_mapShow();
void dComIfGp_mapHide();
bool dComIfGp_checkMapShow();
s32 dComIfGp_setHeapLockFlag(u8);
s8 dComIfGs_sense_type_change_Get();
u8 dComIfGp_world_dark_get();
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -858,7 +865,7 @@ inline u8 dComIfGs_getOptVibration() {
return g_dComIfG_gameInfo.info.getPlayer().getConfig().getVibration();
}
inline s8 dComIfGp_roomControl_getStayNo() {
inline s32 dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
@@ -976,6 +983,10 @@ inline JKRExpHeap* dComIfGp_getExpHeap2D() {
return g_dComIfG_gameInfo.play.getExpHeap2D();
}
inline JKRExpHeap* dComIfGp_getMsgExpHeap() {
return g_dComIfG_gameInfo.play.getMsgExpHeap();
}
inline s16 dComIfGs_getOil() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getOil();
}
@@ -1144,6 +1155,10 @@ inline JKRArchive* dComIfGp_getCollectResArchive() {
return g_dComIfG_gameInfo.play.getCollectResArchive();
}
inline JKRArchive* dComIfGp_getItemIconArchive() {
return g_dComIfG_gameInfo.play.getItemIconArchive();
}
inline J2DGrafContext* dComIfGp_getCurrentGrafPort() {
return g_dComIfG_gameInfo.play.getCurrentGrafPort();
}
@@ -1198,6 +1213,21 @@ inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2,
param_10, param_11, 1.0f);
}
inline u32 dComIfGp_particle_set(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6,
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
const GXColor* param_10, const cXyz* param_11) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_1, param_2, param_3, param_4,
param_5, param_6, param_7, param_8,
param_9, param_10, param_11, 1.0f);
}
inline u32 dComIfGp_particle_set(u16 param_0, const cXyz* param_1, const csXyz* param_2,
const cXyz* param_3) {
return dComIfGp_particle_set(param_0, param_1, NULL, param_2, param_3, 0xFF, NULL, -1, NULL,
NULL, NULL);
}
inline void dComIfGp_particle_levelEmitterOnEventMove(u32 param_0) {
g_dComIfG_gameInfo.play.getParticle()->forceOnEventMove(param_0);
}
@@ -1444,4 +1474,75 @@ inline void dComIfGp_offPauseFlag() {
g_dComIfG_gameInfo.play.offPauseFlag();
}
inline view_class* dComIfGd_getView() {
return g_dComIfG_gameInfo.drawlist.getView();
}
inline J3DDrawBuffer* dComIfGd_getListFilter() {
return g_dComIfG_gameInfo.drawlist.getOpaListFilter();
}
inline J3DDrawBuffer* dComIfGd_getOpaListIndScreen() {
return g_dComIfG_gameInfo.drawlist.getOpaListP0();
}
inline void dComIfGd_setListSky() {
g_dComIfG_gameInfo.drawlist.setOpaListSky();
g_dComIfG_gameInfo.drawlist.setXluListSky();
}
inline void dComIfGd_setList() {
g_dComIfG_gameInfo.drawlist.setOpaList();
g_dComIfG_gameInfo.drawlist.setXluList();
}
inline void dComIfGd_setXluList2DScreen() {
g_dComIfG_gameInfo.drawlist.setXluList2DScreen();
}
inline void dComIfGd_setXluListBG() {
g_dComIfG_gameInfo.drawlist.setXluListBG();
}
inline camera_class* dComIfGp_getCamera(int idx) {
return g_dComIfG_gameInfo.play.getCamera(idx);
}
inline s32 dComIfGp_checkStatus(u16 flags) {
return g_dComIfG_gameInfo.play.checkStatus(flags);
}
inline s32 dComIfGp_roomControl_getTimePass() {
return g_dComIfG_gameInfo.play.getRoomControl()->GetTimePass();
}
inline u16 dComIfGs_getDate() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getDate();
}
inline void dComIfGs_setDate(u16 date) {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setDate(date);
}
inline f32 dComIfGs_getTime() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().getTime();
}
inline void dComIfGs_setTime(f32 time) {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusB().setTime(time);
}
inline u8 dComIfG_getBrightness() {
return g_dComIfG_gameInfo.mFadeBrightness;
}
inline void dComIfGd_drawListItem3d() {
g_dComIfG_gameInfo.drawlist.drawOpaListItem3d();
g_dComIfG_gameInfo.drawlist.drawXluListItem3d();
}
inline void dComIfGd_init() {
g_dComIfG_gameInfo.drawlist.init();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+15 -1
View File
@@ -167,7 +167,10 @@ STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
struct view_port_class {};
struct view_class {};
struct view_class {
/* 0x00 */ u8 field_0x0[0xD0];
/* 0xD0 */ f32 field_0xd0;
};
class dDlst_base_c {
public:
@@ -193,6 +196,17 @@ public:
void set2DOpa(dDlst_base_c* dlst) { set(field_0x1b4, field_0x1b8, dlst); }
void set2DOpaTop(dDlst_base_c* dlst) { set(field_0xac, field_0xb0, dlst); }
view_class* getView() { return mView; }
J3DDrawBuffer* getOpaListFilter() { return mListFilter; }
J3DDrawBuffer* getOpaListP0() { return mListP0; }
void setXluDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, XLU_BUFFER); }
void setOpaDrawList(J3DDrawBuffer* buffer) { j3dSys.setDrawBuffer(buffer, OPA_BUFFER); }
void setXluListSky() { setXluDrawList(mpXluListSky); }
void setOpaListSky() { setOpaDrawList(mOpaListSky); }
void setOpaList() { setOpaDrawList(mOpaList); }
void setXluList() { setXluDrawList(mXluList); }
void setXluListBG() { setXluDrawList(mXluListBG); }
void setXluList2DScreen() { setXluDrawList(mList2DScreen); }
static u8 mWipeDlst[72];
static u8 mWipeColor[4];
+9 -10
View File
@@ -10,19 +10,18 @@ class dEyeHL_c;
class dEyeHL_mng_c {
public:
/* 8009CA48 */ void update();
/* 8009CB14 */ void entry(dEyeHL_c*);
/* 8009CB34 */ void remove(dEyeHL_c*);
/* 8009CA48 */ static void update();
/* 8009CB14 */ static void entry(dEyeHL_c*);
/* 8009CB34 */ static void remove(dEyeHL_c*);
static u8 m_obj[4 + 4 /* padding */];
static dEyeHL_mng_c* m_obj;
private:
/* 0x00 */ void* vtable;
/* 0x04 */ ResTIMG* field_0x04;
/* 0x08 */ u16 field_0x08;
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ ResTIMG* m_timg;
/* 0x08 */ s16 m_lodBias;
/* 0x0A */ u8 field_0x0a[2];
/* 0x0C */ dEyeHL_mng_c* field_0x0c;
/* 0x10 */ dEyeHL_mng_c* field_0x10;
/* 0x0C */ dEyeHL_mng_c* m_pre;
/* 0x10 */ dEyeHL_mng_c* m_next;
};
class dEyeHL_c : public dEyeHL_mng_c {
+18 -2
View File
@@ -49,6 +49,10 @@ inline s16 dStage_stagInfo_GetUpButton(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 7;
}
inline u32 dStage_stagInfo_GetArg0(stage_stag_info_class* p_info) {
return (p_info->field_0x0c >> 0x14) & 0xFF;
}
struct stage_scls_info_class {
/* 0x0 */ char mStage[8];
/* 0x8 */ u8 mStart;
@@ -87,7 +91,19 @@ struct stage_actor_data_class {};
struct stage_actor_class {};
struct roomRead_class {};
struct roomRead_data_class {
/* 0x0 */ u8 field_0x0[2];
/* 0x2 */ u8 field_0x2;
};
struct roomRead_class {
/* 0x0 */ int field_0x0;
/* 0x4 */ roomRead_data_class** field_0x4;
};
inline s32 dStage_roomRead_dt_c_GetVrboxswitch(roomRead_data_class& data) {
return data.field_0x2 & 8;
}
struct dStage_FileList2_dt_c {};
@@ -542,7 +558,7 @@ public:
/* 80024940 */ static char* getArcBank(int);
/* 80024954 */ static int resetArchiveBank(int);
/* 80024DB0 */ static void SetTimePass(int);
static s8 GetTimePass();
static s32 GetTimePass();
inline static s8 getStayNo() { return struct_80450D64; }
s8 getMemoryBlockID(int i_roomNo) { return mStatus[i_roomNo].mMemBlockID; }
+108 -289
View File
@@ -2,11 +2,11 @@
#define D_KANKYO_D_KANKYO_H
#include "JSystem/J3DGraphAnimator/J3DModelData.h"
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "JSystem/J3DGraphBase/J3DStruct.h"
#include "JSystem/JParticle/JPAParticle.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/kankyo/d_kankyo_wether.h"
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
@@ -18,10 +18,10 @@ struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
/* 8019F4F8 */ LIGHT_INFLUENCE();
/* 0x00 */ cXyz field_0x00;
/* 0x0C */ _GXColorS10 mColor;
/* 0x14 */ float field_0x14;
/* 0x18 */ float field_0x18;
/* 0x00 */ cXyz mPosition;
/* 0x0C */ GXColorS10 mColor;
/* 0x14 */ f32 mPow;
/* 0x18 */ f32 mFluctuation; // ?
/* 0x1C */ int field_0x1c;
};
@@ -46,7 +46,7 @@ struct EFLIGHT_PROC {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x04 */ int field_0x4;
/* 0x08 */ LIGHT_INFLUENCE field_0x8;
/* 0x08 */ u8 field_0x8[0x20]; // LIGHT_INFLUENCE?
};
struct SND_INFLUENCE {
@@ -64,8 +64,16 @@ struct DUNGEON_LIGHT {
/* 8019F478 */ ~DUNGEON_LIGHT();
/* 8019F4B4 */ DUNGEON_LIGHT();
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ u8 field_0xc[0x20];
/* 0x00 */ cXyz mPosition;
/* 0x0C */ GXColor mColor;
/* 0x10 */ f32 mRefDistance;
/* 0x14 */ u8 field_0x14[4];
/* 0x18 */ f32 mCutoffAngle;
/* 0x1C */ f32 mAngleX;
/* 0x20 */ f32 mAngleY;
/* 0x24 */ u8 mAngleAttenuation;
/* 0x25 */ u8 mDistAttenuation;
/* 0x26 */ u8 field_0x26[6];
/* 0x2C */ // LIGHT_INFLUENCE field_0x2c; this breaks ctor for some reason
u8 field_0x2c[0x20];
}; // Size: 0x4C
@@ -87,7 +95,7 @@ struct BOSS_LIGHT {
}; // Size: 0x28
struct GB_WIND_INFLUENCE {
/* 0x00 */ cXyz pos;
/* 0x00 */ cXyz vec;
/* 0x0C */ int field_0xc;
/* 0x10 */ f32 pow;
};
@@ -104,7 +112,7 @@ struct EF_THUNDER {
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ u8 field_0x20[4];
/* 0x24 */ LIGHT_INFLUENCE field_0x24;
/* 0x24 */ u8 field_0x24[0x20]; // LIGHT_INFLUENCE?
};
struct GB_MAPLE_COL_CHANGE {
@@ -157,185 +165,6 @@ public:
STATIC_ASSERT(sizeof(dKy_tevstr_c) == 0x388);
class dKankyo_sun_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_sun_Packet();
private:
/* 0x10 */ cXyz field_0x10[2];
};
class dKankyo_sunlenz_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_sunlenz_Packet();
private:
/* 0x10 */ u8 field_0x10[0x14];
/* 0x24 */ cXyz field_0x24[8];
};
struct RAIN_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x1c];
}; // Size: 0x38
class dKankyo_rain_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_rain_Packet();
private:
/* 0x10 */ u8 field_0x10[8];
/* 0x18 */ RAIN_EFF field_0x18[250];
};
struct SNOW_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x1c];
}; // Size: 0x38
class dKankyo_snow_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_snow_Packet();
private:
/* 0x10 */ u8 field_0x10[4];
/* 0x14 */ SNOW_EFF field_0x14[500];
};
struct STAR_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x18];
}; // Size: 0x34
class dKankyo_star_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_star_Packet();
private:
/* 0x10 */ u8 field_0x10[4];
/* 0x14 */ STAR_EFF field_0x14[1];
};
struct HOUSI_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x28];
}; // Size: 0x50
class dKankyo_housi_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_housi_Packet();
private:
/* 0x10 */ u8 field_0x10[0x10];
/* 0x20 */ HOUSI_EFF field_0x18[300];
};
struct CLOUD_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x10];
}; // Size: 0x38
class dKankyo_cloud_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_cloud_Packet();
private:
/* 0x10 */ u8 field_0x10[8];
/* 0x18 */ CLOUD_EFF field_0x18[50];
};
struct VRKUMO_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x10];
}; // Size: 0x2C
class dKankyo_vrkumo_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_vrkumo_Packet();
private:
/* 0x10 */ u8 field_0x10[0x10];
/* 0x20 */ VRKUMO_EFF field_0x18[100];
};
// might be fake
class dKankyo_shstar_Packet : public J3DPacket {};
struct ODOUR_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x14];
}; // Size: 0x30
class dKankyo_odour_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_odour_Packet();
private:
/* 0x10 */ u8 field_0x10[4];
/* 0x14 */ ODOUR_EFF field_0x18[2000];
};
struct MUD_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x20];
}; // Size: 0x48
class dKankyo_mud_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_mud_Packet();
private:
/* 0x10 */ u8 field_0x10[8];
/* 0x18 */ MUD_EFF field_0x18[100];
};
struct EVIL_EFF {
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ csXyz field_0x1c;
/* 0x22 */ u8 field_0x22[0x22];
}; // Size: 0x44
class dKankyo_evil_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_evil_Packet();
private:
/* 0x10 */ u8 field_0x10[8];
/* 0x18 */ EVIL_EFF field_0x18[2000];
};
class fopAc_ac_c;
class dScnKy_env_light_c {
@@ -344,7 +173,7 @@ public:
/* 8019F4FC */ void setDaytime();
/* 8019F788 */ void setSunpos();
/* 8019FA08 */ f32 getDaytime();
/* 8019FBCC */ void getDarkDaytime();
/* 8019FBCC */ f32 getDarkDaytime();
/* 8019FBD4 */ void setLight_palno_get(u8*, u8*, u8*, u8*, u8*, u8*, u8*, u8*, f32*, int*, int*,
f32*, u8*);
/* 801A040C */ void setLight();
@@ -369,18 +198,18 @@ public:
public:
/* 0x0000 */ // vtable
/* 0x0004 */ void* field_0x4;
/* 0x0008 */ void* field_0x8;
/* 0x000C */ void* field_0xc;
/* 0x0010 */ void* field_0x10;
/* 0x0014 */ void* field_0x14;
/* 0x0018 */ LIGHT_INFLUENCE field_0x18;
/* 0x0004 */ void* mpDmPalet;
/* 0x0008 */ void* mpDmPselect;
/* 0x000C */ void* mpDmEnvr;
/* 0x0010 */ void* mpDmVrbox;
/* 0x0014 */ void* mpSchedule;
/* 0x0018 */ u8 field_0x18[0x20]; // LIGHT_INFLUENCE?
/* 0x0038 */ LIGHT_INFLUENCE field_0x38[30];
/* 0x03F8 */ LIGHT_INFLUENCE* mPLight[100];
/* 0x03F8 */ LIGHT_INFLUENCE* mPointLight[100];
/* 0x0588 */ LIGHT_INFLUENCE* mEfPLight[5];
/* 0x059C */ u8 field_0x59c[400];
/* 0x072C */ int field_0x72c[5];
/* 0x0740 */ LIGHT_INFLUENCE field_0x740;
/* 0x072C */ LIGHT_INFLUENCE* field_0x72c[5];
/* 0x0740 */ u8 field_0x740[0x20]; // LIGHT_INFLUENCE?
/* 0x0760 */ u8 field_0x760[4];
/* 0x0764 */ LIGHT_INFLUENCE mBGpartsActiveLight[2];
/* 0x07A4 */ EFLIGHT_PROC field_0x7a4;
@@ -390,10 +219,10 @@ public:
/* 0x0974 */ SND_INFLUENCE mSound;
/* 0x098C */ u8 field_0x98c;
/* 0x0990 */ DALKMIST_INFLUENCE* mDalkmistInf[10];
/* 0x09B8 */ DUNGEON_LIGHT field_0x9b8[8];
/* 0x09B8 */ DUNGEON_LIGHT mDungeonLights[8];
/* 0x0C18 */ BOSS_LIGHT field_0x0c18[8];
/* 0x0D58 */ BOSS_LIGHT field_0x0d58[6];
/* 0x0E48 */ GB_WIND_INFLUENCE field_0xe48;
/* 0x0E48 */ GB_WIND_INFLUENCE mWind;
/* 0x0E5C */ f32 custom_windpower;
/* 0x0E60 */ f32 field_0xe60;
/* 0x0E64 */ u16 field_0xe64;
@@ -404,46 +233,46 @@ public:
/* 0x0E6D */ u8 field_0xe6d;
/* 0x0E6E */ u8 field_0xe6e; // E5C - E6E might all be part of GB_WIND_INFLUENCE
/* 0x0E6F */ u8 field_0xe6f;
/* 0x0E70 */ u8 field_0xe70;
/* 0x0E74 */ dKankyo_sun_Packet* field_0xe74;
/* 0x0E78 */ dKankyo_sunlenz_Packet* field_0xe78;
/* 0x0E7C */ u8 field_0xe7c;
/* 0x0E80 */ int mRainCheck;
/* 0x0E84 */ dKankyo_rain_Packet* field_0xe84;
/* 0x0E88 */ u8 field_0xe88;
/* 0x0E8C */ int field_0xe8c;
/* 0x0E70 */ bool mSunPacketEnabled;
/* 0x0E74 */ dKankyo_sun_Packet* mpSunPacket;
/* 0x0E78 */ dKankyo_sunlenz_Packet* mpSunLenzPacket;
/* 0x0E7C */ bool mRainPacketEnabled;
/* 0x0E80 */ int mRainCount;
/* 0x0E84 */ dKankyo_rain_Packet* mpRainPacket;
/* 0x0E88 */ bool mSnowPacketEnabled;
/* 0x0E8C */ int mSnowCount;
/* 0x0E90 */ u8 field_0xe90;
/* 0x0E91 */ u8 field_0xe91;
/* 0x0E92 */ u8 field_0xe92;
/* 0x0E94 */ dKankyo_snow_Packet* field_0xe94;
/* 0x0E98 */ u8 field_0xe98;
/* 0x0E9C */ int field_0xe9c;
/* 0x0EA0 */ f32 field_0xea0;
/* 0x0EA4 */ dKankyo_star_Packet* field_0xea4;
/* 0x0EA8 */ u8 field_0xea8;
/* 0x0E92 */ bool field_0xe92;
/* 0x0E94 */ dKankyo_snow_Packet* mpSnowPacket;
/* 0x0E98 */ bool mStarPacketEnabled;
/* 0x0E9C */ int mStarCount;
/* 0x0EA0 */ f32 mStarDensity;
/* 0x0EA4 */ dKankyo_star_Packet* mpStarPacket;
/* 0x0EA8 */ bool mHousiPacketEnabled;
/* 0x0EA9 */ u8 field_0xea9;
/* 0x0EAC */ int field_0xeac;
/* 0x0EB0 */ dKankyo_housi_Packet* field_0xeb0;
/* 0x0EB4 */ u8 field_0xeb4;
/* 0x0EB0 */ dKankyo_housi_Packet* mpHousiPacket;
/* 0x0EB4 */ u8 mCloudPacketEnabled;
/* 0x0EB5 */ u8 field_0xeb5;
/* 0x0EB8 */ int field_0xeb8;
/* 0x0EBC */ f32 field_0xebc;
/* 0x0EC0 */ dKankyo_cloud_Packet* field_0xec0;
/* 0x0EC0 */ dKankyo_cloud_Packet* mpCloudPacket;
/* 0x0EC4 */ u8 field_0xec4;
/* 0x0EC8 */ int field_0xec8;
/* 0x0ECC */ f32 field_0xecc;
/* 0x0ED0 */ dKankyo_vrkumo_Packet* field_0xed0;
/* 0x0ED4 */ EF_THUNDER field_0xef4;
/* 0x0ED0 */ dKankyo_vrkumo_Packet* mpVrkumoPacket;
/* 0x0ED4 */ EF_THUNDER field_0xed4;
/* 0x0F18 */ u8 field_0xf18[4];
/* 0x0F1C */ dKankyo_shstar_Packet* field_0xf1c;
/* 0x0F20 */ u8 field_0xf20;
/* 0x0F1C */ dKankyo_shstar_Packet* mpShstarPacket;
/* 0x0F20 */ u8 mOdourPacketStatus;
/* 0x0F21 */ u8 field_0xf21;
/* 0x0F24 */ int field_0xf24;
/* 0x0F28 */ dKankyo_odour_Packet* field_0xf28;
/* 0x0F28 */ dKankyo_odour_Packet* mpOdourPacket;
/* 0x0F2C */ u8 field_0xf2c;
/* 0x0F30 */ J3DModel* field_0xf30;
/* 0x0F34 */ f32 field_0xf34;
/* 0x0F38 */ int field_0xf38;
/* 0x0F38 */ JKRSolidHeap* field_0xf38;
/* 0x0F3C */ u8 field_0xf3c;
/* 0x0F3D */ u8 field_0xf3d;
/* 0x0F40 */ f32 field_0xf40;
@@ -454,13 +283,13 @@ public:
/* 0x1038 */ u8 field_0x1038;
/* 0x103C */ int field_0x103c;
/* 0x1040 */ u8 field_0x1040[4];
/* 0x1044 */ u8 field_0x1044;
/* 0x1044 */ u8 mMudPacketEnabled;
/* 0x1048 */ int field_0x1048;
/* 0x104C */ dKankyo_mud_Packet* field_0x104c;
/* 0x1050 */ u8 field_0x1050;
/* 0x104C */ dKankyo_mud_Packet* mpMudPacket;
/* 0x1050 */ u8 mEvilPacketEnabled;
/* 0x1051 */ u8 field_0x1051;
/* 0x1054 */ int field_0x1054;
/* 0x1058 */ dKankyo_evil_Packet* field_0x1058;
/* 0x1058 */ dKankyo_evil_Packet* mpEvilPacket;
/* 0x105C */ mDoExt_btkAnm* field_0x105c;
/* 0x1060 */ fopAc_ac_c* field_0x1060;
/* 0x1064 */ f32 field_0x1064;
@@ -471,31 +300,13 @@ public:
/* 0x1088 */ cXyz field_0x1088;
/* 0x1094 */ cXyz field_0x1094;
/* 0x10A0 */ cXyz field_0x10a0;
/* 0x10AC */ GXFogAdjTable field_0x10ac;
/* 0x10C0 */ u16 field_0x10c0;
/* 0x10C2 */ u16 field_0x10c2;
/* 0x10C4 */ u16 field_0x10c4;
/* 0x10C6 */ u16 field_0x10c6;
/* 0x10C8 */ u16 field_0x10c8;
/* 0x10CA */ u16 field_0x10ca;
/* 0x10CC */ u16 field_0x10cc;
/* 0x10CE */ u16 field_0x10ce;
/* 0x10D0 */ u16 field_0x10d0;
/* 0x10D2 */ u16 field_0x10d2;
/* 0x10D4 */ u16 field_0x10d4;
/* 0x10D6 */ u16 field_0x10d6;
/* 0x10D8 */ u16 field_0x10d8;
/* 0x10DA */ u16 field_0x10da;
/* 0x10DC */ u16 field_0x10dc;
/* 0x10DE */ u16 field_0x10de;
/* 0x10E0 */ u16 field_0x10e0;
/* 0x10E2 */ u16 field_0x10e2;
/* 0x10E4 */ u16 field_0x10e4;
/* 0x10E6 */ u16 field_0x10e6;
/* 0x10E8 */ u16 field_0x10e8;
/* 0x10EA */ u16 field_0x10ea;
/* 0x10EC */ u16 field_0x10ec;
/* 0x10EE */ u16 field_0x10ee;
/* 0x10AC */ GXFogAdjTable mXFogTbl;
/* 0x10C0 */ GXColorS10 mSkyColor;
/* 0x10C8 */ GXColorS10 mUpperCloudColor;
/* 0x10D0 */ GXColorS10 mUnderCloudColor;
/* 0x10D8 */ GXColorS10 mUnderCloudShadowColor;
/* 0x10E0 */ GXColorS10 mCloudOuterHazeColor;
/* 0x10E8 */ GXColorS10 mCloudInnerHazeColor;
/* 0x10F0 */ s16 field_0x10f0;
/* 0x10F2 */ s16 field_0x10f2;
/* 0x10F4 */ s16 field_0x10f4;
@@ -504,23 +315,23 @@ public:
/* 0x10FA */ s16 field_0x10fa;
/* 0x10FC */ s16 field_0x10fc;
/* 0x10FE */ s16 field_0x10fe;
/* 0x1100 */ _GXColorS10 field_0x1100;
/* 0x1108 */ _GXColorS10 field_0x1108;
/* 0x1110 */ s16 field_0x1110;
/* 0x1112 */ s16 field_0x1112;
/* 0x1114 */ s16 field_0x1114;
/* 0x1116 */ s16 field_0x1116;
/* 0x1118 */ s16 field_0x1118;
/* 0x111A */ s16 field_0x111a;
/* 0x111C */ s16 field_0x111c;
/* 0x111E */ s16 field_0x111e;
/* 0x1120 */ s16 field_0x1120;
/* 0x1122 */ s16 field_0x1122;
/* 0x1124 */ s16 field_0x1124;
/* 0x1126 */ s16 field_0x1126;
/* 0x1100 */ _GXColorS10 mActorAmbience;
/* 0x1108 */ _GXColorS10 mTerrainAmbienceBG0;
/* 0x1110 */ s16 mTerrainAmbienceBG1_R;
/* 0x1112 */ s16 mTerrainAmbienceBG1_G;
/* 0x1114 */ s16 mTerrainAmbienceBG1_B;
/* 0x1116 */ s16 mWaterSurfaceAlphaA;
/* 0x1118 */ s16 mTerrainAmbienceBG2_R;
/* 0x111A */ s16 mTerrainAmbienceBG2_G;
/* 0x111C */ s16 mTerrainAmbienceBG2_B;
/* 0x111E */ s16 mAuxAlphaA2;
/* 0x1120 */ s16 mTerrainAmbienceBG3_R;
/* 0x1122 */ s16 mTerrainAmbienceBG3_G;
/* 0x1124 */ s16 mTerrainAmbienceBG3_B;
/* 0x1126 */ s16 mFakeFogA;
/* 0x1128 */ _GXColorS10 field_0x1128;
/* 0x1130 */ u8 field_0x1130[0x28];
/* 0x1158 */ _GXColorS10 field_0x1158;
/* 0x1158 */ _GXColorS10 mFogColor;
/* 0x1160 */ s16 field_0x1160;
/* 0x1162 */ s16 field_0x1162;
/* 0x1164 */ s16 field_0x1164;
@@ -559,8 +370,8 @@ public:
/* 0x11D8 */ f32 field_0x11d8;
/* 0x11DC */ f32 field_0x11dc;
/* 0x11E0 */ f32 field_0x11e0;
/* 0x11E4 */ f32 field_0x11e4;
/* 0x11E8 */ f32 field_0x11e8;
/* 0x11E4 */ f32 mFogNear;
/* 0x11E8 */ f32 mFogFar;
/* 0x11EC */ f32 field_0x11ec;
/* 0x11F0 */ f32 field_0x11f0;
/* 0x11F4 */ f32 field_0x11f4;
@@ -585,17 +396,17 @@ public:
/* 0x1240 */ f32 field_0x1240;
/* 0x1244 */ f32 mDaytime;
/* 0x1248 */ f32 mNexttime;
/* 0x124C */ f32 field_0x124c;
/* 0x124C */ f32 mTimeSpeed;
/* 0x1250 */ f32 mDarkDaytime;
/* 0x1254 */ f32 field_0x1254;
/* 0x1258 */ f32 field_0x1258;
/* 0x125C */ f32 field_0x125c;
/* 0x1260 */ f32 field_0x1260;
/* 0x125C */ f32 mPaletteTerrainLightEffect;
/* 0x1260 */ f32 mGrassLightEffectRate;
/* 0x1264 */ f32 field_0x1264;
/* 0x1268 */ f32 field_0x1268;
/* 0x126C */ f32 field_0x126c;
/* 0x1270 */ f32 field_0x1270;
/* 0x1274 */ f32 field_0x1274;
/* 0x1270 */ f32 mDemoAttentionPoint;
/* 0x1274 */ f32 mTime; // ?
/* 0x1278 */ f32 field_0x1278;
/* 0x127C */ f32 field_0x127c;
/* 0x1280 */ int field_0x1280;
@@ -612,13 +423,13 @@ public:
/* 0x12B4 */ int field_0x12b4;
/* 0x12B8 */ u8 field_0x12b8[4];
/* 0x12BC */ u16 field_0x12bc;
/* 0x12BE */ u16 field_0x12be;
/* 0x12C0 */ u16 field_0x12c0;
/* 0x12BE */ u16 mDate;
/* 0x12C0 */ u16 mActorLightEffect;
/* 0x12C2 */ u8 field_0x12c2;
/* 0x12C3 */ u8 field_0x12c3;
/* 0x12C4 */ u8 field_0x12c4;
/* 0x12C5 */ u8 mWeatherPalette;
/* 0x12C6 */ u8 field_0x12c6;
/* 0x12C6 */ s8 mNowRoom;
/* 0x12C7 */ u8 field_0x12c7;
/* 0x12C8 */ u8 field_0x12c8;
/* 0x12C9 */ u8 field_0x12c9;
@@ -632,19 +443,19 @@ public:
/* 0x12D1 */ u8 mItemGetCol_chg;
/* 0x12D2 */ u8 field_0x12d2;
/* 0x12D3 */ u8 field_0x12d3;
/* 0x12D4 */ u8 field_0x12d4;
/* 0x12D4 */ bool field_0x12d4; // related to vrbox color
/* 0x12D5 */ u8 field_0x12d5;
/* 0x12D6 */ u8 field_0x12d6;
/* 0x12D7 */ u8 mShadowMode;
/* 0x12D8 */ u8 mCameraInWater;
/* 0x12DC */ void* field_0x12dc;
/* 0x12E0 */ void* field_0x12e0;
/* 0x12E4 */ void* field_0x12e4;
/* 0x12E8 */ void* field_0x12e8;
/* 0x12EC */ void* field_0x12ec;
/* 0x12F0 */ void* field_0x12f0;
/* 0x12F4 */ void* field_0x12f4;
/* 0x12F8 */ u8 field_0x12f8;
/* 0x12DC */ void* mResPolEfftbl;
/* 0x12E0 */ void* mResPolEffcol;
/* 0x12E4 */ void* mResPolEfftbl2;
/* 0x12E8 */ void* mResPolEffcol2;
/* 0x12EC */ void* mResPolSound;
/* 0x12F0 */ void* mResPolArg;
/* 0x12F4 */ void* mResColorDataTbl;
/* 0x12F8 */ s8 mFogDensity;
/* 0x12F9 */ u8 field_0x12f9;
/* 0x12FA */ u8 field_0x12fa;
/* 0x12FB */ u8 field_0x12fb;
@@ -653,7 +464,7 @@ public:
/* 0x12FE */ u8 field_0x12fe;
/* 0x1300 */ u16 field_0x1300;
/* 0x1302 */ u16 field_0x1302;
/* 0x1304 */ f32 field_0x1304;
/* 0x1304 */ f32 mWaterSurfaceShineRate;
/* 0x1308 */ u8 field_0x1308;
/* 0x1309 */ u8 field_0x1309;
/* 0x130A */ u8 field_0x130a;
@@ -666,5 +477,13 @@ STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
BOOL dKy_darkworld_stage_check(char const*, int);
BOOL dKy_withwarp_capture_check();
bool dKy_darkworld_check();
void dKy_undwater_filter_draw();
BOOL dKy_camera_water_in_status_check();
static int dKy_Outdoor_check();
s32 dKy_getdaytime_hour();
s32 dKy_getdaytime_minute();
s32 dKy_get_dayofweek();
static void dKy_Sound_init();
void dKy_setLight_nowroom(char);
#endif /* D_KANKYO_D_KANKYO_H */
+37 -9
View File
@@ -3,7 +3,7 @@
#include "dolphin/types.h"
// Invented name; Used as u8 `darkLv` in dKyd_darkworldTblEntry.
// Invented name; Used as u8 `darkLv` in dKydata_darkworldInfo_c.
enum dKyd_DARKLV {
FARON = 0,
ELDIN = 1,
@@ -13,10 +13,16 @@ enum dKyd_DARKLV {
ALWAYS_DARK = 8, // Unused. Forces Twilight
};
// Invented name
struct dKyd_darkworldTblEntry {
char* stageName;
u8 darkLv;
class dKydata_darkworldInfo_c {
public:
/* 0x0 */ char* stageName;
/* 0x4 */ u8 darkLv;
}; // Size: 0x8
class dKydata_lightsizeInfo_c {
public:
/* 0x0 */ char* stageName;
/* 0x4 */ u8 size;
}; // Size: 0x8
// Invented name; adjust as needed in the future.
@@ -35,6 +41,28 @@ struct dKyd_lightSchejule {
u8 endTimeLight;
}; // Size: 0xC
enum BloomType {
/* 0x0 */ BLOOM_CLEAR,
/* 0x1 */ BLOOM_SOFT
};
#define BLOOMINFO_MAX 64
class dKydata_BloomInfo_c {
public:
/* 0x0 */ u8 mType;
/* 0x1 */ u8 mThreshold;
/* 0x2 */ u8 mBlurAmount;
/* 0x3 */ u8 mDensity;
/* 0x4 */ u8 mColorR;
/* 0x5 */ u8 mColorG;
/* 0x6 */ u8 mColorB;
/* 0x7 */ u8 mOrigDensity; // ?
/* 0x8 */ u8 mSaturateSubtractR;
/* 0x9 */ u8 mSaturateSubtractG;
/* 0xA */ u8 mSaturateSubtractB;
/* 0xB */ u8 mSaturateSubtractA;
}; // Size: 0xC
void* dKyd_dmpalet_getp();
void* dKyd_dmpselect_getp();
void* dKyd_dmenvr_getp();
@@ -43,9 +71,9 @@ dKyd_lightSchejule* dKyd_schejule_getp();
dKyd_lightSchejule* dKyd_schejule_boss_getp();
void dKyd_xfog_table_set(u8);
void* dKyd_maple_col_getp();
dKyd_darkworldTblEntry* dKyd_darkworld_tbl_getp();
void* dKyd_light_size_tbl_getp();
void* dKyd_light_tw_size_tbl_getp();
void* dKyd_BloomInf_tbl_getp(int);
dKydata_darkworldInfo_c* dKyd_darkworld_tbl_getp();
dKydata_lightsizeInfo_c* dKyd_light_size_tbl_getp();
dKydata_lightsizeInfo_c* dKyd_light_tw_size_tbl_getp();
dKydata_BloomInfo_c* dKyd_BloomInf_tbl_getp(int);
#endif /* D_KANKYO_D_KANKYO_DATA_H */
+37
View File
@@ -3,4 +3,41 @@
#include "dolphin/types.h"
struct cXyz;
struct _GXColor;
void dKyr_drawSun(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawLenzflare(f32 (*param_0)[4], cXyz* param_1, _GXColor& param_2, u8** param_3);
void dKyr_drawSibuki(f32 (*param_0)[4], u8** param_1);
void dKyr_drawRain(f32 (*param_0)[4], u8** param_1);
void dKyr_drawSnow(f32 (*param_0)[4], u8** param_1);
void dKyr_drawStar(f32 (*param_0)[4], u8** param_1);
void drawCloudShadow(f32 (*param_0)[4], u8** param_1);
void dKyr_drawHousi(f32 (*param_0)[4], u8** param_1);
void drawVrkumo(f32 (*param_0)[4], _GXColor& param_1, u8** param_2);
void dKyr_odour_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_mud_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_evil_draw(f32 (*param_0)[4], u8** param_1);
void dKyr_thunder_init();
void dKyr_thunder_move();
void dKyr_snow_init();
void dKyr_snow_move();
void dKyr_evil_init();
void dKyr_evil_move();
void dKyr_mud_init();
void dKyr_mud_move();
void dKyr_rain_init();
void dKyr_rain_move();
void cloud_shadow_move();
void dKyr_odour_init();
void dKyr_odour_move();
void dKyr_housi_init();
void dKyr_housi_move();
void dKyr_sun_move();
void dKyr_lenzflare_move();
void dKyr_star_init();
void dKyr_shstar_init();
void dKyr_star_move();
void dKyr_shstar_move();
#endif /* D_KANKYO_D_KANKYO_RAIN_H */
+256
View File
@@ -1,6 +1,9 @@
#ifndef D_KANKYO_D_KANKYO_WETHER_H
#define D_KANKYO_D_KANKYO_WETHER_H
#include "JSystem/J3DGraphBase/J3DPacket.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
void dKyw_wether_draw();
@@ -9,5 +12,258 @@ void dKyw_wether_move_draw2();
void dKyw_wether_draw2();
void dKyw_wether_delete2();
void dKyw_wether_init2();
static void dKyw_wind_init();
static void dKyw_pntwind_init();
f32 dKyw_get_wind_pow();
static void squal_proc();
class dKankyo_sun_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_sun_Packet();
/* 0x10 */ cXyz field_0x10[2];
/* 0x28 */ u8 field_0x28;
/* 0x29 */ u8 field_0x29;
/* 0x2C */ u8* mpResMoon;
/* 0x30 */ u8* mpResMoon_A;
/* 0x34 */ u8* mpResMoon_A_A00;
/* 0x38 */ u8* mpResMoon_A_A01;
/* 0x3C */ u8* mpResMoon_A_A02;
/* 0x40 */ u8* mpResMoon_A_A03;
/* 0x44 */ int field_0x44;
/* 0x48 */ int field_0x48;
/* 0x4C */ int field_0x4c;
/* 0x50 */ int field_0x50;
/* 0x54 */ int field_0x54;
/* 0x58 */ int field_0x58;
/* 0x5C */ f32 field_0x5c;
/* 0x60 */ f32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ GXColor mColor;
/* 0x74 */ u8 field_0x74[4];
}; // Size: 0x78
class dKankyo_sunlenz_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_sunlenz_Packet();
/* 0x10 */ GXColor field_0x10;
/* 0x14 */ u8* mpResBall;
/* 0x18 */ u8 field_0x18[4];
/* 0x1C */ u8* mpResRing_A;
/* 0x20 */ u8* mpResLenz;
/* 0x24 */ cXyz field_0x24[8];
/* 0x84 */ u8 field_0x84[8];
/* 0x8C */ f32 field_0x8c;
/* 0x90 */ f32 field_0x90;
/* 0x94 */ u8 field_0x94[4];
/* 0x98 */ f32 field_0x98;
/* 0x9C */ u8 field_0x9c[2];
/* 0x9E */ u8 field_0x9e;
}; // Size: 0xA0
struct RAIN_EFF {
/* 80056CD0 */ ~RAIN_EFF();
/* 80056D0C */ RAIN_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x1c];
}; // Size: 0x38
class dKankyo_rain_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_rain_Packet();
private:
/* 0x0010 */ u8* field_0x10;
/* 0x0014 */ u8 field_0x14[4];
/* 0x0018 */ RAIN_EFF field_0x18[250];
/* 0x36C8 */ u8 field_0x36c8[0x50];
}; // Size: 0x3718
struct SNOW_EFF {
/* 80056D58 */ ~SNOW_EFF();
/* 80056D94 */ SNOW_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x1c];
}; // Size: 0x38
class dKankyo_snow_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_snow_Packet();
private:
/* 0x10 */ u8* field_0x10;
/* 0x14 */ SNOW_EFF field_0x14[500];
};
struct STAR_EFF {
/* 80056DC8 */ ~STAR_EFF();
/* 80056E04 */ STAR_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x18];
}; // Size: 0x34
class dKankyo_star_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_star_Packet();
private:
/* 0x10 */ u8* field_0x10;
/* 0x14 */ STAR_EFF field_0x14[1];
};
struct HOUSI_EFF {
/* 80056EA8 */ ~HOUSI_EFF();
/* 80056EE4 */ HOUSI_EFF();
/* 0x00 */ u8 field_0x0;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x28];
}; // Size: 0x50
class dKankyo_housi_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_housi_Packet();
/* 0x0010 */ cXyz field_0x10;
/* 0x001C */ u8* mpResTex;
/* 0x0020 */ HOUSI_EFF field_0x18[300];
/* 0x5DE0 */ u8 field_0x5de0[8];
/* 0x5DE8 */ f32 field_0x5de8;
/* 0x5DEC */ u8 field_0x5dec[4];
}; // Size: 0x5DF0
struct CLOUD_EFF {
/* 80056E38 */ ~CLOUD_EFF();
/* 80056E74 */ CLOUD_EFF();
/* 0x00 */ u8 field_0x0;
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x10];
}; // Size: 0x38
class dKankyo_cloud_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_cloud_Packet();
/* 0x10 */ u8* mpResTex;
/* 0x14 */ int field_0x14;
/* 0x18 */ CLOUD_EFF field_0x18[50];
}; // Size: 0xB08
struct VRKUMO_EFF {
/* 80056F18 */ ~VRKUMO_EFF();
/* 80056F54 */ VRKUMO_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x10];
}; // Size: 0x2C
class dKankyo_vrkumo_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_vrkumo_Packet();
private:
/* 0x0010 */ GXColor field_0x10;
/* 0x0014 */ u8* mpResCloudtx_01;
/* 0x0018 */ u8* mpResCloudtx_02;
/* 0x001C */ u8* mpResCloudtx_03;
/* 0x0020 */ VRKUMO_EFF field_0x20[100];
/* 0x1150 */ f32 field_0x1150;
/* 0x1154 */ f32 field_0x1154;
}; // Size: 0x1158
// might be fake
class dKankyo_shstar_Packet : public J3DPacket {};
struct EF_ODOUR_EFF {
/* 80056F8C */ ~EF_ODOUR_EFF();
/* 80056FC8 */ EF_ODOUR_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ u8 field_0x1c[0x14];
}; // Size: 0x30
class dKankyo_odour_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_odour_Packet();
/* 0x00010 */ u8* mpResTex;
/* 0x00014 */ EF_ODOUR_EFF field_0x18[2000];
/* 0x17714 */ u8 field_0x17714[0x14];
}; // Size: 0x17728
struct EF_MUD_EFF {
/* 80056FFC */ ~EF_MUD_EFF();
/* 80057038 */ EF_MUD_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ cXyz field_0x1c;
/* 0x28 */ u8 field_0x28[0x20];
}; // Size: 0x48
class dKankyo_mud_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_mud_Packet();
/* 0x0010 */ int field_0x10;
/* 0x0014 */ u8* field_0x14;
/* 0x0018 */ EF_MUD_EFF field_0x18[100];
/* 0x13C8 */ u8 field_0x13c8[8];
};
struct EF_EVIL_EFF {
/* 8005706C */ ~EF_EVIL_EFF();
/* 800570A8 */ EF_EVIL_EFF();
/* 0x00 */ u8 field_0x0[4];
/* 0x04 */ cXyz field_0x04;
/* 0x10 */ cXyz field_0x10;
/* 0x1C */ csXyz field_0x1c;
/* 0x22 */ u8 field_0x22[0x22];
}; // Size: 0x44
class dKankyo_evil_Packet : public J3DPacket {
public:
virtual void draw();
virtual ~dKankyo_evil_Packet();
/* 0x00010 */ int field_0x10;
/* 0x00014 */ u8* field_0x14;
/* 0x00018 */ u8 field_0x18[4];
/* 0x0001C */ EF_EVIL_EFF field_0x1c[2000];
/* 0x2135C */ u8 field_0x2135c[8];
};
#endif /* D_KANKYO_D_KANKYO_WETHER_H */
+4 -4
View File
@@ -7,10 +7,10 @@
class dDrawPath_c : public dDlst_base_c {
public:
struct line_class {
/* 0x00 */ u8 unk0;
/* 0x01 */ u8 unk1;
/* 0x02 */ u8 unk2;
/* 0x03 */ u8 unk3;
/* 0x00 */ u8 unk0;
/* 0x01 */ u8 unk1;
/* 0x02 */ u8 unk2;
/* 0x03 */ u8 unk3;
/* 0x04 */ u16* unk4;
};
+1 -1
View File
@@ -311,7 +311,7 @@ public:
/* 801B7434 */ void getCrystalNum();
/* 801B749C */ void getMirrorNum();
/* 801B7504 */ void getMaskMdlVisible();
/* 801B75E8 */ void setupItem3D(f32 (*)[4]);
/* 801B75E8 */ static void setupItem3D(f32 (*)[4]);
/* 801B7660 */ void toItem3Dpos(f32, f32, f32, cXyz*);
/* 801B774C */ void calcViewMtx(f32 (*)[4]);
+52 -53
View File
@@ -90,7 +90,7 @@ public:
/* 80219788 */ void setButtonIconBAlpha(u8, u32, bool);
/* 80219A84 */ void setButtonIconMidonaAlpha(u32);
/* 80219E98 */ void setButtonIconAlpha(int, u8, u32, bool);
/* 8021A29C */ void getNumberTexture(int);
/* 8021A29C */ ResTIMG* getNumberTexture(int);
/* 8021A2F4 */ void getActionString(u8, u8, u8*);
/* 8021A468 */ void changeTextureItemB(u8);
/* 8021A71C */ void changeTextureItemXY(int, u8);
@@ -99,18 +99,18 @@ public:
/* 8021AB84 */ void setItemNum(u8, u8, u8);
/* 8021AEC8 */ void drawItemNum(u8, f32);
/* 8021AF78 */ void drawKanteraMeter(u8, f32);
/* 8021B0C8 */ void isButtonVisible();
/* 8021B0C8 */ u8 isButtonVisible();
/* 8021B104 */ void setItemParamX(u8);
/* 8021B364 */ void setItemParamY(u8);
/* 8021B5B0 */ void setItemParamZ(u8);
/* 8021B810 */ void setItemParamB(u8);
/* 8021BB6C */ void getFishingType();
/* 8021BBB4 */ void getCanoeFishing();
/* 8021BB6C */ bool getFishingType();
/* 8021BBB4 */ bool getCanoeFishing();
/* 8021BC24 */ void getCameraSubject();
/* 8021BC54 */ void getItemSubject();
/* 8021BCAC */ void getPlayerSubject();
/* 8021BCAC */ bool getPlayerSubject();
/* 8021BCC0 */ void isBButtonShow(bool);
/* 8021BDD0 */ void getButtonTimer();
/* 8021BDD0 */ s16 getButtonTimer();
/* 802102F8 */ virtual ~dMeter2Draw_c();
@@ -150,11 +150,11 @@ private:
/* 0x07C */ J2DScreen* mpKanteraScreen;
/* 0x080 */ J2DScreen* mpPikariScreen;
/* 0x084 */ J2DScreen* mpItemNumTex[2][3];
/* 0x09C */ int field_0x9c[3];
/* 0x09C */ CPaneMgr* field_0x9c[3];
/* 0x0A8 */ int field_0xa8;
/* 0x0AC */ dKantera_icon_c* mpKanteraMeter[2];
/* 0x0B4 */ u8 field_0xb4[8];
/* 0x0BC */ void* mpParent;
/* 0x0BC */ CPaneMgr* mpParent;
/* 0x0C0 */ CPaneMgr* mpAText[5];
/* 0x0D4 */ CPaneMgr* mpBText[5];
/* 0x0E8 */ CPaneMgr* mpXYText[5][3];
@@ -189,8 +189,7 @@ private:
/* 0x334 */ CPaneMgr* mpItemR;
/* 0x338 */ CPaneMgr* mpBTextA;
/* 0x33C */ CPaneMgr* mpBTextB;
/* 0x340 */ CPaneMgr* mpBTextXY[2];
/* 0x348 */ int field_0x348;
/* 0x340 */ CPaneMgr* mpBTextXY[3];
/* 0x34C */ CPaneMgr* mpTextA;
/* 0x350 */ CPaneMgr* mpTextB;
/* 0x354 */ CPaneMgr* mpTextXY[3];
@@ -211,11 +210,11 @@ private:
/* 0x514 */ J2DPicture* mpItemBPane;
/* 0x518 */ J2DPicture* mpItemXYPane[3];
/* 0x524 */ int field_0x524[2][2];
/* 0x534 */ u8 field_0x534[8];
/* 0x53C */ J2DAnmColorKey* field_0x53c;
/* 0x540 */ J2DAnmColorKey* field_0x540;
/* 0x544 */ J2DAnmColorKey* field_0x544;
/* 0x548 */ u8 field_0x548[8];
/* 0x534 */ J2DAnmTransformKey* mPikariBck;
/* 0x538 */ J2DAnmColorKey* mPikariBpk;
/* 0x53C */ J2DAnmColorKey* field_0x53c[3];
/* 0x548 */ JUtility::TColor field_0x548;
/* 0x54C */ JUtility::TColor field_0x54c;
/* 0x550 */ f32 field_0x550;
/* 0x554 */ f32 field_0x554;
/* 0x558 */ f32 field_0x558;
@@ -289,12 +288,12 @@ private:
/* 0x730 */ f32 field_0x730;
/* 0x734 */ f32 field_0x734;
/* 0x738 */ f32 field_0x738;
/* 0x73C */ u8 field_0x73c[4];
/* 0x73C */ f32 field_0x73c;
/* 0x740 */ u16 field_0x740;
/* 0x742 */ u16 field_0x742[3];
/* 0x748 */ u8 field_0x748[0xE];
/* 0x748 */ u8 field_0x748[0xC];
/* 0x756 */ u16 field_0x754;
/* 0x756 */ u16 field_0x756;
/* 0x756 */ s16 field_0x756;
/* 0x758 */ u8 field_0x758;
/* 0x759 */ u8 field_0x759;
/* 0x75A */ u8 field_0x75a;
@@ -318,55 +317,55 @@ private:
/* 0x771 */ u8 field_0x771;
/* 0x772 */ u8 field_0x772;
/* 0x773 */ u8 field_0x773[2];
/* 0x778 */ f32 field_0x778;
/* 0x77C */ f32 field_0x77c;
/* 0x780 */ f32 field_0x780;
/* 0x784 */ f32 field_0x784;
/* 0x788 */ f32 field_0x788;
/* 0x778 */ f32 mHUDScale;
/* 0x77C */ f32 mHUDAlpha;
/* 0x780 */ f32 mButtonsPosX;
/* 0x784 */ f32 mButtonsPosY;
/* 0x788 */ f32 mButtonsScale;
/* 0x78C */ f32 field_0x78c;
/* 0x790 */ f32 field_0x790;
/* 0x794 */ f32 field_0x794;
/* 0x798 */ f32 field_0x798;
/* 0x79C */ f32 field_0x79c;
/* 0x7A0 */ f32 field_0x7a0;
/* 0x794 */ f32 mLifeGaugeHeartAlpha;
/* 0x798 */ f32 mLifeGaugeBaseAlpha;
/* 0x79C */ f32 mHeartAlpha;
/* 0x7A0 */ f32 mLargeHeartAlpha;
/* 0x7A4 */ f32 field_0x7a4;
/* 0x7A8 */ f32 field_0x7a8;
/* 0x7AC */ f32 field_0x7ac;
/* 0x7A8 */ f32 mMagicMeterAlpha;
/* 0x7AC */ f32 mMagicMeterFrameAlpha;
/* 0x7B0 */ f32 field_0x7b0;
/* 0x7B4 */ f32 field_0x7b4;
/* 0x7B8 */ f32 field_0x7b8;
/* 0x7B4 */ f32 mLanternMeterAlpha;
/* 0x7B8 */ f32 mLanternMeterFrameAlpha;
/* 0x7BC */ f32 field_0x7bc;
/* 0x7C0 */ f32 field_0x7c0;
/* 0x7C4 */ f32 field_0x7c4;
/* 0x7C0 */ f32 mOxygenMeterAlpha;
/* 0x7C4 */ f32 mOxygenMeterFrameAlpha;
/* 0x7C8 */ f32 field_0x7c8;
/* 0x7CC */ f32 field_0x7cc;
/* 0x7D0 */ f32 field_0x7d0;
/* 0x7D4 */ f32 field_0x7d4;
/* 0x7D8 */ f32 field_0x7d8;
/* 0x7DC */ f32 field_0x7dc;
/* 0x7D4 */ f32 mRupeeAlpha;
/* 0x7D8 */ f32 mRupeeFrameAlpha;
/* 0x7DC */ f32 mRupeeCountAlpha;
/* 0x7E0 */ f32 field_0x7e0;
/* 0x7E4 */ f32 field_0x7e4;
/* 0x7E8 */ f32 field_0x7e8;
/* 0x7EC */ f32 field_0x7ec;
/* 0x7E8 */ f32 mKeyAlpha;
/* 0x7EC */ f32 mKeyNumAlpha;
/* 0x7F0 */ f32 field_0x7f0;
/* 0x7F4 */ f32 field_0x7f4;
/* 0x7F8 */ f32 field_0x7f8;
/* 0x7FC */ f32 field_0x7fc;
/* 0x800 */ f32 field_0x800;
/* 0x804 */ f32 field_0x804;
/* 0x808 */ f32 field_0x808;
/* 0x7F4 */ f32 mMainHUDButtonsAlpha;
/* 0x7F8 */ f32 mButtonDisplayBackAlpha;
/* 0x7FC */ f32 mAButtonAlpha;
/* 0x800 */ f32 mBButtonAlpha;
/* 0x804 */ f32 mXButtonAlpha;
/* 0x808 */ f32 mYButtonAlpha;
/* 0x80C */ f32 field_0x80c;
/* 0x810 */ f32 field_0x810;
/* 0x814 */ f32 field_0x814[2];
/* 0x81C */ f32 field_0x81c[2];
/* 0x824 */ f32 field_0x824[2];
/* 0x814 */ f32 mBItemBaseAlpha[2];
/* 0x81C */ f32 mXButtonItemBaseAlpha[2];
/* 0x824 */ f32 mYButtonItemBaseAlpha[2];
/* 0x82C */ f32 field_0x82c[2];
/* 0x834 */ f32 field_0x834;
/* 0x838 */ f32 field_0x838;
/* 0x83C */ f32 field_0x83c;
/* 0x840 */ f32 field_0x840;
/* 0x844 */ f32 field_0x844;
/* 0x848 */ f32 field_0x848;
/* 0x834 */ f32 mZButtonItemBaseAlpha;
/* 0x838 */ f32 mButtonBaseAlpha;
/* 0x83C */ f32 mAButtonFontSpacing;
/* 0x840 */ f32 mDPadButtonAlpha;
/* 0x844 */ f32 mDPadButtonITEMAlpha;
/* 0x848 */ f32 mDPadButtonMAPAlpha;
/* 0x84C */ u8 field_0x84c;
/* 0x84D */ u8 field_0x84d;
/* 0x84E */ u8 field_0x84e;
+32
View File
@@ -139,6 +139,12 @@ public:
bool isMenuInForce(int flag) { return unk152 & (1 << flag); }
u16 getMapKeyDirection() { return mMapKeyDirection; }
u8 getWindowStatus() { return mWindowStatus; }
void setMsgResource(void* res) { mMsgResource = res; }
void setStageMsgResource(void* res) { mStageMsgResource = res; }
void setMsgUnitResource(void* res) { mMsgUnitResource = res; }
void* getMsgResource() { return mMsgResource; }
void* getStageMsgResource() { return mStageMsgResource; }
void* getMsgUnitResource() { return mMsgUnitResource; }
public:
/* 0x04 */ u8 unk4[4];
@@ -369,4 +375,30 @@ inline u8 dMeter2Info_getWindowStatus() {
return g_meter2_info.getWindowStatus();
}
inline void dMeter2Info_setMsgResource(void* res) {
g_meter2_info.setMsgResource(res);
}
inline void dMeter2Info_setStageMsgResource(void* res) {
g_meter2_info.setStageMsgResource(res);
}
inline void dMeter2Info_setMsgUnitResource(void* res) {
g_meter2_info.setMsgUnitResource(res);
}
inline void* dMeter2Info_getMsgResource() {
return g_meter2_info.getMsgResource();
}
inline void* dMeter2Info_getStageMsgResource() {
return g_meter2_info.getStageMsgResource();
}
inline void* dMeter2Info_getMsgUnitResource() {
return g_meter2_info.getMsgUnitResource();
}
char* dMeter2Info_getNumberTextureName(int pIndex);
#endif /* D_METER_D_METER2_INFO_H */
+4 -8
View File
@@ -737,32 +737,28 @@ public:
/* 0x220 */ f32 mBItemBaseScale[2];
/* 0x228 */ f32 mBItemBasePosX[2];
/* 0x230 */ f32 mBItemBasePosY[2];
/* 0x238 */ f32 mBItemBaseAlpha;
/* 0x23C */ f32 field_0x23c;
/* 0x238 */ f32 mBItemBaseAlpha[2];
/* 0x240 */ f32 mXButtonItemBaseScale;
/* 0x244 */ f32 mXButtonItemBaseNoItemScale;
/* 0x248 */ f32 mXButtonItemBasePosX;
/* 0x24C */ f32 mXButtonItemBaseNoItemPosX;
/* 0x250 */ f32 mXButtonItemBasePosY;
/* 0x254 */ f32 mXButtonItemBaseNoItemPosY;
/* 0x258 */ f32 mXButtonItemBaseAlpha;
/* 0x25C */ f32 mXButtonItemBaseNoItemAlpha;
/* 0x258 */ f32 mXButtonItemBaseAlpha[2];
/* 0x260 */ f32 mYButtonItemBaseScale;
/* 0x264 */ f32 mYButtonItemBaseNoItemScale;
/* 0x268 */ f32 mYButtonItemBasePosX;
/* 0x26C */ f32 mYButtonItemBaseNoItemPosX;
/* 0x270 */ f32 mYButtonItemBasePosY;
/* 0x274 */ f32 mYButtonItemBaseNoItemPosY;
/* 0x278 */ f32 mYButtonItemBaseAlpha;
/* 0x27C */ f32 mYButtonItemBaseNoItemAlpha;
/* 0x278 */ f32 mYButtonItemBaseAlpha[2];
/* 0x280 */ f32 field_0x280;
/* 0x284 */ f32 field_0x284;
/* 0x288 */ f32 field_0x288;
/* 0x28C */ f32 field_0x28c;
/* 0x290 */ f32 field_0x290;
/* 0x294 */ f32 field_0x294;
/* 0x298 */ f32 field_0x298;
/* 0x29C */ f32 field_0x29c;
/* 0x298 */ f32 field_0x298[2];
/* 0x2A0 */ f32 mZButtonItemBaseScale;
/* 0x2A4 */ f32 mZButtonItemBasePosX;
/* 0x2A8 */ f32 mZButtonItemBasePosY;
+7 -3
View File
@@ -3,12 +3,12 @@
#include "JSystem/J2DGraph/J2DTextbox.h"
#include "d/com/d_com_inf_game.h"
#include "d/msg/d_msg_class.h"
#include "dolphin/types.h"
class msg_class;
class COutFont_c;
class dMsgObject_c {
class dMsgObject_c : public msg_class {
public:
/* 80233284 */ void _create(msg_class*);
/* 80233590 */ void _execute();
@@ -113,7 +113,7 @@ public:
char*, char*, s16*);
/* 80238174 */ void getMsgDtPtr();
/* 80238188 */ void setProcessID(unsigned int);
/* 8023819C */ void getActor();
/* 8023819C */ static fopAc_ac_c* getActor();
/* 802381C0 */ void getpTalkActor();
/* 802381D4 */ void getIdx();
/* 802381E8 */ void getNodeIdx();
@@ -149,8 +149,12 @@ public:
/* 8023860C */ void setEquipBombInfo();
/* 80238638 */ void getItemEquipButton();
/* 8023864C */ void setSelectCancelPos(u8);
/* 0x100 */ fopAc_ac_c* field_0x100;
};
s16 dMsgObject_getGroupID();
inline dMsgObject_c* dMsgObject_getMsgObjectClass() {
return dComIfGp_getMsgObjectClass();
}
+2 -1
View File
@@ -29,7 +29,7 @@ public:
/* 8025564C */ void isVisible();
/* 80255658 */ f32 rateCalc(s16, s16, u8);
/* 802557D0 */ void setAlphaRate(f32);
/* 80255828 */ void getAlphaRate();
/* 80255828 */ f32 getAlphaRate();
/* 80255878 */ void alphaAnime(s16, u8, u8, u8);
/* 80255964 */ void alphaAnimeLoop(s16, u8, u8, u8);
/* 80255A60 */ void childPaneCount(J2DPane*);
@@ -38,6 +38,7 @@ public:
J2DPane* getPanePtr() { return (J2DPane*)mWindow; }
u8 getAlpha() { return getPanePtr()->getAlpha(); }
s16 getAlphaTimer() { return mAlphaTimer; }
/* 0x04 */ J2DWindow* mWindow;
/* 0x08 */ JKRExpHeap* heap;
+11 -3
View File
@@ -108,9 +108,9 @@ public:
/* 8004C218 */ void setHitMark(u16, fopAc_ac_c*, cXyz const*, csXyz const*, cXyz const*, u32);
/* 8004C838 */ void setWaterRipple(u32*, cBgS_PolyInfo&, cXyz const*, f32, dKy_tevstr_c const*,
cXyz const*, s8);
/* 8004CA90 */ void set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*,
u8, dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*,
cXyz const*, f32);
/* 8004CA90 */ u32 set(u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*, cXyz const*, u8,
dPa_levelEcallBack*, s8, _GXColor const*, _GXColor const*, cXyz const*,
f32);
/* 8004D4CC */ u32 set(u32, u8, u16, cXyz const*, dKy_tevstr_c const*, csXyz const*,
cXyz const*, u8, dPa_levelEcallBack*, s8, _GXColor const*,
_GXColor const*, cXyz const*, f32);
@@ -141,6 +141,14 @@ public:
param_8, param_9, param_10, param_11, param_12);
}
u32 setNormal(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6,
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
const GXColor* param_10, const cXyz* param_11, f32 param_12) {
return set(0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8,
param_9, param_10, param_11, param_12);
}
static u8 mTsubo[64];
static u8 mLifeBall[24];
static u8 mWindViewMatrix[48];
+6 -2
View File
@@ -370,8 +370,8 @@ public:
u16& getMaxLife() { return mMaxLife; }
u16& getLife() { return mLife; }
u16& getRupee() { return mRupee; }
u16& getOil() { return mOil; }
u16& getMaxOil() { return mMaxOil; }
u16 getOil() { return mOil; }
u16 getMaxOil() { return mMaxOil; }
u8& getMagic() { return mMagic; }
u8& getMaxMagic() { return mMaxMagic; }
u8 getSelectEquip(int item) const { return mSelectEquip[item]; }
@@ -415,6 +415,10 @@ public:
BOOL isTransformLV(int) const;
void setDateIpl(s64 time) { mDateIpl = time; }
u16 getDate() const { return mDate; }
f32 getTime() const { return mTime; }
void setDate(u16 date) { mDate = date; }
void setTime(f32 time) { mTime = time; }
private:
/* 0x00 */ s64 mDateIpl;
+16
View File
@@ -994,6 +994,22 @@ inline void GXPosition1x16(u16 x) {
GFX_FIFO(u16) = x;
}
inline void GXPosition3s8(s8 x, s8 y, s8 z) {
GFX_FIFO(s8) = x;
GFX_FIFO(s8) = y;
GFX_FIFO(s8) = z;
}
inline void GXPosition2s8(s8 x, s8 y) {
GFX_FIFO(s8) = x;
GFX_FIFO(s8) = y;
}
inline void GXTexCoord2s8(s8 x, s8 y) {
GFX_FIFO(s8) = x;
GFX_FIFO(s8) = y;
}
inline void GXEnd() {}
};
+1 -1
View File
@@ -9,7 +9,7 @@ typedef float Mtx[3][4];
typedef float Mtx33[3][3];
typedef float Mtx23[2][3];
typedef f32 (*MtxP)[4];
typedef const f32 (*CMtxP)[4]; //Change name later?
typedef const f32 (*CMtxP)[4]; // Change name later?
extern "C" {
void PSMTXIdentity(Mtx matrix);
+19
View File
@@ -263,6 +263,25 @@ inline void OSf32tou8(f32* f, u8* out) {
*out = __OSf32tou8(*f);
}
inline void OSInitFastCast(void) {
// clang-format off
asm {
li r3, 4
oris r3, r3, 4
mtspr 0x392, r3
li r3, 5
oris r3, r3, 5
mtspr 0x393, r3
li r3, 6
oris r3, r3, 6
mtspr 0x394, r3
li r3, 7
oris r3, r3, 7
mtspr 0x395, r3
}
// clang-format on
}
}; // extern "C"
void OSSwitchFiberEx(u32, u32, u32, u32, u32, u32);
+4 -4
View File
@@ -8,12 +8,12 @@ struct OSSectionInfo {
u32 mSize;
};
struct OSModuleInfo {
struct OSModuleInfo {
u32 mId;
OSModuleInfo* mNext;
OSModuleInfo* mPrev;
u32 mNumSections;
struct { //Needed to get an assert correct; very likely bigger
struct { // Needed to get an assert correct; very likely bigger
u32 sectionInfoOffset;
} info;
u32 mModuleNameOffset;
@@ -28,7 +28,7 @@ struct OSModuleInfo {
u8 mUnresolvedSection;
u8 mBssSection;
u32 (*prolog)();
void(*epilog)();
void (*epilog)();
u32 mUnresolvedFuncOffset;
u32 mModuleAlignment;
u32 mBssAlignment;
@@ -36,7 +36,7 @@ struct OSModuleInfo {
};
extern "C" BOOL OSLink(OSModuleInfo*);
extern "C" BOOL OSLinkFixed(OSModuleInfo*,u32);
extern "C" BOOL OSLinkFixed(OSModuleInfo*, u32);
extern "C" BOOL OSUnlink(OSModuleInfo*);
#endif /* OSLINK_H */
+10 -10
View File
@@ -16,16 +16,16 @@ typedef enum PADMask {
} PADMask;
typedef struct PADStatus {
u16 button;
s8 stick_x;
s8 stick_y;
s8 substick_x;
s8 substick_y;
u8 trigger_left;
u8 trigger_right;
u8 analog_a;
u8 analog_b;
s8 error;
/* 0x0 */ u16 button;
/* 0x2 */ s8 stick_x;
/* 0x3 */ s8 stick_y;
/* 0x4 */ s8 substick_x;
/* 0x5 */ s8 substick_y;
/* 0x6 */ u8 trigger_left;
/* 0x7 */ u8 trigger_right;
/* 0x8 */ u8 analog_a;
/* 0x9 */ u8 analog_b;
/* 0xA */ s8 error;
} PADStatus;
extern "C" {
+11 -1
View File
@@ -18,7 +18,7 @@ public:
/* 0x10 */ f32 field_0x10;
/* 0x14 */ bool mUsingHostIO;
/* 0x15 */ bool mDisplayMeter;
/* 0x16 */ bool mDisplayPrint;
/* 0x16 */ u8 mDisplayPrint;
/* 0x17 */ bool mDisplay2D;
/* 0x18 */ bool mDisplayParticle;
/* 0x19 */ bool mDisplayProcessID;
@@ -41,4 +41,14 @@ public:
extern fapGm_HIO_c g_HIO;
inline bool fapGmHIO_isMenu() {
return g_HIO.mDisplayPrint & 2;
}
inline bool fapGmHIO_isPrint() {
return g_HIO.mDisplayPrint & 1;
}
inline bool fapGmHIO_getMeter() {
return g_HIO.mDisplayMeter;
}
#endif /* F_AP_F_AP_GAME_H */
+8 -11
View File
@@ -36,17 +36,14 @@ public:
bool checkCommandTalk() { return mCommand == 1; }
bool checkCommandItem() { return mCommand == 4; }
private:
/* 0x04 */ u16 mCommand;
/* 0x06 */ u16 mCondition;
/* 0x08 */ s16 mEventId;
/* 0x0A */ u8 mMapToolId;
public:
/* 0x0B */ u8 mIndex;
/* 0x0C */ char* mArchiveName;
/* 0x10 */ void* field_0x10;
/* 0x14 */ void* field_0x14;
/* 0x04 */ u16 mCommand;
/* 0x06 */ u16 mCondition;
/* 0x08 */ s16 mEventId;
/* 0x0A */ u8 mMapToolId;
/* 0x0B */ u8 mIndex;
/* 0x0C */ char* mArchiveName;
/* 0x10 */ void* field_0x10;
/* 0x14 */ void* field_0x14;
}; // Size = 0x18
struct actor_place {
+5 -1
View File
@@ -1,6 +1,7 @@
#ifndef F_F_OP_CAMERA_MNG_H_
#define F_F_OP_CAMERA_MNG_H_
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/types.h"
#include "f_op/f_op_draw_tag.h"
#include "f_pc/f_pc_leaf.h"
@@ -9,7 +10,10 @@ class camera_class {
public:
/* 0x000 */ u8 field_0x00[0xB0];
/* 0x0B0 */ u32 parameter;
/* 0x0B4 */ u8 field_0xB4[0x15C];
/* 0x0B4 */ u8 field_0xB4[0x24];
/* 0x0D8 */ cXyz field_0xd8;
/* 0x0E4 */ cXyz field_0xe4;
/* 0x0F0 */ u8 field_0xf0[0x120];
/* 0x210 */ create_tag_class pCreateTag;
/* 0x224 */ leafdraw_method_class* pMthd;
};
+12
View File
@@ -35,4 +35,16 @@ inline void mDoAud_bgmSetSwordUsing(s32 id) {
Z2AudioMgr::getInterface()->mSeqMgr.bgmSetSwordUsing(id);
}
inline void mDoAud_setHour(s32 hour) {
Z2AudioMgr::getInterface()->mStatusMgr.setHour(hour);
}
inline void mDoAud_setMinute(s32 min) {
Z2AudioMgr::getInterface()->mStatusMgr.setMinute(min);
}
inline void mDoAud_setWeekday(s32 day) {
Z2AudioMgr::getInterface()->mStatusMgr.setWeekday(day);
}
#endif /* M_DO_M_DO_AUDIO_H */
+2
View File
@@ -8,6 +8,7 @@
class mDoCPd_c {
public:
// Controller Ports 1 - 4
enum { PAD_0, PAD_1, PAD_2, PAD_3 };
static void create();
@@ -57,6 +58,7 @@ public:
static s16 getSubStickAngle(u32 pad) { return getCpadInfo(pad).mCStickAngle; }
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 JUTGamePad* m_gamePad[4];
static interface_of_controller_pad m_cpadInfo[4];
+2 -2
View File
@@ -16,8 +16,8 @@ public:
public:
/* 800158FC */ virtual ~mDoDvdThd_command_c();
/* 80015B74 */ mDoDvdThd_command_c();
inline s32 sync() {return mIsDone;}
inline void destroy() {delete this;}
inline s32 sync() { return mIsDone; }
inline void destroy() { delete this; }
virtual s32 execute() = 0;
}; // Size = 0x14
+15
View File
@@ -14,6 +14,9 @@ public:
/* 8000D320 */ void initPlay(s16, int, f32, s16, s16);
/* 8000D428 */ void play();
void setPlaySpeed(f32 speed) { mFrameCtrl.setRate(speed); }
f32 getFrame() { return mFrameCtrl.getFrame(); }
private:
/* 0x0 */ J3DFrameCtrl mFrameCtrl;
}; // Size: 0x14
@@ -33,6 +36,13 @@ public:
/* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16);
/* 8000D6D8 */ void entry(J3DMaterialTable*, f32);
void entry(J3DModelData* data) { entry(data, getFrame()); }
void entry(J3DModelData* data, f32 frame) { entry(&data->getMaterialTable(), frame); }
void init(J3DModelData* data, J3DAnmTextureSRTKey* key, int param_2, int param_3, f32 param_4,
s16 param_5, s16 param_6) {
init(&data->getMaterialTable(), key, param_2, param_3, param_4, param_5, param_6);
}
private:
/* 0x14 */ u32 mBtkAnm;
}; // Size: 0x18
@@ -177,6 +187,11 @@ JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(u32, u32);
JKRSolidHeap* mDoExt_createSolidHeapFromGameToCurrent(JKRHeap**, u32, u32);
JKRHeap* mDoExt_getCurrentHeap();
void mDoExt_removeMesgFont();
void mDoExt_modelUpdateDL(J3DModel*);
J3DModel* mDoExt_J3DModel__create(J3DModelData*, u32, u32);
struct JUTFont;
JUTFont* mDoExt_getMesgFont();
extern JKRExpHeap* zeldaHeap;
extern JKRExpHeap* gameHeap;
+31 -19
View File
@@ -6,42 +6,54 @@
#include "dolphin/gx/GX.h"
#include "dolphin/types.h"
void mDoGph_Create();
int mDoGph_Create();
struct ResTIMG;
class mDoGph_gInf_c {
public:
class bloom_c {
public:
// bloom_c() { m_buffer = NULL; } matches sinit
/* 80009544 */ void create();
/* 800095F8 */ void remove();
/* 80009650 */ void draw();
/* 0x00 */ GXColor mBlendColor;
/* 0x04 */ GXColor mMonoColor;
/* 0x08 */ u8 mEnable;
/* 0x09 */ u8 mMode;
/* 0x0A */ u8 mPoint;
/* 0x0B */ u8 mBlureSize;
/* 0x0C */ u8 mBlureRatio;
/* 0x10 */ void* m_buffer;
};
/* 80007E44 */ void create();
/* 80007F90 */ void beginRender();
/* 800080D0 */ void fadeOut(f32);
/* 80007FD8 */ void fadeOut(f32, _GXColor&);
/* 80008028 */ void fadeOut_f(f32, _GXColor&);
/* 800080A0 */ void onBlure(f32 const (*)[4]);
/* 80008078 */ void onBlure();
/* 80008330 */ void calcFade();
/* 80007E44 */ static void create();
/* 80007F90 */ static void beginRender();
/* 800080D0 */ static void fadeOut(f32);
/* 80007FD8 */ static void fadeOut(f32, _GXColor&);
/* 80008028 */ static void fadeOut_f(f32, _GXColor&);
/* 800080A0 */ static void onBlure(const Mtx);
/* 80008078 */ static void onBlure();
/* 80008330 */ static void calcFade();
static JUTFader* getFader() { return mFader; }
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 endFrame() { JFWDisplay::getManager()->endFrame(); }
static u8 mFrameBufferTexObj[32];
static u8 mZbufferTexObj[32];
static u8 m_bloom[20];
static u8 mBlureMtx[48 + 4 /* padding */];
static u8 mBackColor[4];
static u8 mFadeColor[4];
static GXTexObj mFrameBufferTexObj;
static GXTexObj mZbufferTexObj;
static bloom_c m_bloom;
static Mtx mBlureMtx;
static GXColor mBackColor;
static GXColor mFadeColor;
static JUTFader* mFader;
static u8 mFrameBufferTimg[4];
static u8 mFrameBufferTex[4];
static u8 mZbufferTimg[4];
static u8 mZbufferTex[4];
static ResTIMG* mFrameBufferTimg;
static void* mFrameBufferTex;
static ResTIMG* mZbufferTimg;
static void* mZbufferTex;
static f32 mFadeRate;
static f32 mFadeSpeed;
};
+7
View File
@@ -15,4 +15,11 @@ void exceptionRestart();
void myExceptionCallback(u16, OSContext*, u32, u32);
void my_SysPrintHeap(char const*, void*, u32);
class mDoMch_render_c {
public:
static GXRenderModeObj* getRenderModeObj() { return mRenderModeObj; }
static GXRenderModeObj* mRenderModeObj;
};
#endif /* M_DO_M_DO_MACHINE_H */
+4 -2
View File
@@ -1,8 +1,8 @@
#ifndef M_DO_M_DO_MTX_H
#define M_DO_M_DO_MTX_H
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_sxyz.h"
#include "SSystem/SComponent/c_xyz.h"
#include "dolphin/mtx/mtx.h"
#include "dolphin/mtx/quat.h"
#include "dolphin/types.h"
@@ -34,7 +34,7 @@ public:
/* 8000CF7C */ static void quatM(Quaternion const*);
/* 8000D070 */ ~mDoMtx_stack_c(); // inline
static Mtx* get() { return &now; }
static MtxP get() { return now; }
static void transS(f32 x, f32 y, f32 z) { PSMTXTrans(now, x, y, z); }
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
@@ -49,6 +49,8 @@ public:
static Mtx* end;
};
extern Mtx g_mDoMtx_identity;
class mDoMtx_quatStack_c {
public:
~mDoMtx_quatStack_c(); // inline