move J2D / JUTResFont (#144)

* move some JSystem and meter2_info stuff

* more J2D / JUTTexture / JUTPalette

* setup dScnKy_env_light_c
This commit is contained in:
TakaRikka
2021-08-28 07:25:03 -07:00
committed by GitHub
parent e14b04c54a
commit daf45f768d
167 changed files with 3800 additions and 5691 deletions
+1 -1
View File
@@ -307,7 +307,7 @@ public:
/* 8009D87C */ bool getE3Zhint();
/* 8009D884 */ char* getAlinkArcName();
/* 8009DA60 */ static bool checkStageName(char const*);
/* 8009DA98 */ void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DA98 */ static void tgHitCallback(fopAc_ac_c*, dCcD_GObjInf*, dCcD_GObjInf*);
/* 8009DB64 */ void coHitCallback(fopAc_ac_c*, dCcD_GObjInf*);
/* 8009DC6C */ void setMatrixWorldAxisRot(f32 (*)[4], s16, s16, s16, int, cXyz const*);
/* 8009DD90 */ void jointControll(int);
+38
View File
@@ -110,6 +110,8 @@ public:
void setSelectItem(int idx, u8 itemId) { mSelectItem[idx] = itemId; }
void setSelectEquip(int idx, u8 item_id) { mSelectEquip[idx] = item_id; }
u8 getSelectItem(int idx) { return mSelectItem[idx]; }
void setZStatus(u8 status, u8 flag) {
@@ -161,6 +163,7 @@ public:
inline JKRHeap* getExpHeap2D() { return mExpHeap2D; }
inline dEvent_manager_c& getEvtManager() { return mEvtManager; }
inline dAttention_c& getAttention() { return mAttention; }
JKRArchive* getMsgDtArchive(int idx) { return mMsgDtArchive[idx]; }
public:
/* 0x00000 */ dBgS mDBgS;
@@ -453,6 +456,9 @@ int dComIfGp_checkEmptySubHeap2D();
int dComIfGp_searchUseSubHeap2D(int);
void dComIfGs_setLastWarpMarkItemData(const char*, cXyz, s16, s8, u8, u8);
u16 dComIfGs_getMaxLifeGauge();
void dComIfGs_setWarpMarkFlag(u8);
void dComIfGs_setSelectEquipSword(u8);
void dComIfGs_setSelectEquipShield(u8);
inline void dComIfGp_setRStatus(u8 status, u8 flag) {
g_dComIfG_gameInfo.play.setRStatus(status, flag);
@@ -937,4 +943,36 @@ inline void dComIfGs_addBottleNum(u8 param_0, s16 param_1) {
g_dComIfG_gameInfo.info.getPlayer().getItemRecord().addBottleNum(param_0, param_1);
}
inline void dComIfGs_resetLastWarpAcceptStage() {
g_dComIfG_gameInfo.info.getPlayer().getPlayerLastMarkInfo().resetWarpAcceptStage();
}
inline void dComIfGp_setSelectEquipClothes(u8 i_clothId) {
g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_CLOTHING, i_clothId);
}
inline void dComIfGp_setSelectEquipSword(u8 i_swordId) {
g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_SWORD, i_swordId);
}
inline void dComIfGp_setSelectEquipShield(u8 i_shieldId) {
g_dComIfG_gameInfo.play.setSelectEquip(COLLECT_SHIELD, i_shieldId);
}
inline void dComIfGs_offItemFirstBit(u8 param_0) {
g_dComIfG_gameInfo.info.getPlayer().getGetItem().offFirstBit(param_0);
}
inline BOOL dComIfGs_isLetterGetFlag(int param_0) {
return g_dComIfG_gameInfo.info.getPlayer().getLetterInfo().isLetterGetFlag(param_0);
}
inline JKRArchive* dComIfGp_getMsgDtArchive(int idx) {
return g_dComIfG_gameInfo.play.getMsgDtArchive(idx);
}
inline u8 dComIfGs_getArrowNum() {
return g_dComIfG_gameInfo.info.getPlayer().getItemRecord().getArrowNum();
}
#endif /* D_COM_D_COM_INF_GAME_H */
+594
View File
@@ -1,10 +1,15 @@
#ifndef D_KANKYO_D_KANKYO_H
#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 "dolphin/gx/GXTexture.h"
#include "dolphin/types.h"
#include "m_Do/m_Do_ext.h"
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
@@ -26,6 +31,85 @@ struct WIND_INFLUENCE {
/* 0x29 */ u8 field_0x29;
};
struct WIND_INF_ENTITY {
/* 8019F4B8 */ ~WIND_INF_ENTITY();
/* 8019F4F4 */ WIND_INF_ENTITY();
/* 0x00 */ u8 field_0x0[0x10];
/* 0x10 */ WIND_INFLUENCE field_0x10;
}; // Size: 0x3C
struct EFLIGHT_PROC {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x04 */ int field_0x4;
/* 0x08 */ LIGHT_INFLUENCE field_0x8;
};
struct SND_INFLUENCE {
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ u32 field_0x14;
};
struct DALKMIST_INFLUENCE {
/* 0x00 */ u8 field_0x0[0x10];
};
struct DUNGEON_LIGHT {
/* 8019F478 */ ~DUNGEON_LIGHT();
/* 8019F4B4 */ DUNGEON_LIGHT();
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ u8 field_0xc[0x20];
/* 0x2C */ // LIGHT_INFLUENCE field_0x2c; this breaks ctor for some reason
u8 field_0x2c[0x20];
}; // Size: 0x4C
struct BOSS_LIGHT {
/* 8019F438 */ ~BOSS_LIGHT();
/* 8019F474 */ BOSS_LIGHT();
/* 0x00 */ cXyz field_0x0;
/* 0x0C */ int field_0xc;
/* 0x10 */ int field_0x10;
/* 0x14 */ int field_0x14;
/* 0x18 */ int field_0x18;
/* 0x1C */ int field_0x1c;
/* 0x20 */ int field_0x20;
/* 0x24 */ u8 field_0x24;
/* 0x25 */ u8 field_0x25;
/* 0x26 */ u8 field_0x26;
}; // Size: 0x28
struct GB_WIND_INFLUENCE {
/* 0x00 */ cXyz pos;
/* 0x0C */ int field_0xc;
/* 0x10 */ f32 pow;
};
struct EF_THUNDER {
/* 0x00 */ u8 field_0x0;
/* 0x01 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2;
/* 0x04 */ int field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ u8 field_0x20[4];
/* 0x24 */ LIGHT_INFLUENCE field_0x24;
};
struct GB_MAPLE_COL_CHANGE {
/* 8019F400 */ GB_MAPLE_COL_CHANGE();
/* 0x00 */ J3DLightObj field_0x0;
}; // Size: 0x74
class dKy_tevstr_c {
public:
private:
@@ -63,6 +147,516 @@ private:
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];
};
struct GXFogAdjTable {
u16 field_0x0[10];
};
class fopAc_ac_c;
class dScnKy_env_light_c {
public:
/* 8019F2E8 */ dScnKy_env_light_c();
/* 8019F4FC */ void setDaytime();
/* 8019F788 */ void setSunpos();
/* 8019FA08 */ f32 getDaytime();
/* 8019FBCC */ void getDarkDaytime();
/* 8019FBD4 */ void setLight_palno_get(u8*, u8*, u8*, u8*, u8*, u8*, u8*, u8*, f32*, int*, int*,
f32*, u8*);
/* 801A040C */ void setLight();
/* 801A133C */ void setLight_bg(dKy_tevstr_c*, _GXColorS10*, _GXColorS10*, f32*, f32*);
/* 801A16C0 */ void setLight_actor(dKy_tevstr_c*, _GXColorS10*, f32*, f32*);
/* 801A1D64 */ void settingTevStruct_colget_actor(cXyz*, dKy_tevstr_c*, _GXColorS10*,
_GXColorS10*, f32*, f32*);
/* 801A1F58 */ void settingTevStruct_colget_player(dKy_tevstr_c*);
/* 801A2128 */ void settingTevStruct_plightcol_plus(cXyz*, dKy_tevstr_c*, _GXColorS10,
_GXColorS10, u8);
/* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*);
/* 801A441C */ void setLightTevColorType(J3DModelData*, dKy_tevstr_c*);
/* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*);
/* 801A4E90 */ void CalcTevColor();
/* 801A4F24 */ void Sndpos();
/* 801A4F64 */ void Eflight_flush_proc();
/* 801A516C */ void SetBaseLight();
/* 801A5288 */ void exeKankyo();
/* 801A56DC */ void drawKankyo();
/* 801ADBBC */ virtual ~dScnKy_env_light_c();
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;
/* 0x0038 */ LIGHT_INFLUENCE field_0x38[30];
/* 0x03F8 */ LIGHT_INFLUENCE* mPLight[100];
/* 0x0588 */ LIGHT_INFLUENCE* mEfPLight[5];
/* 0x059C */ u8 field_0x59c[400];
/* 0x072C */ int field_0x72c[5];
/* 0x0740 */ LIGHT_INFLUENCE field_0x740;
/* 0x0760 */ u8 field_0x760[4];
/* 0x0764 */ LIGHT_INFLUENCE mBGpartsActiveLight[2];
/* 0x07A4 */ EFLIGHT_PROC field_0x7a4;
/* 0x07CC */ void* stagPlightInfo; // might be part of EFLIGHT_PROC
/* 0x07D0 */ WIND_INFLUENCE* mPntWind[30];
/* 0x0848 */ WIND_INF_ENTITY field_0x848[5];
/* 0x0974 */ SND_INFLUENCE mSound;
/* 0x098C */ u8 field_0x98c;
/* 0x0990 */ DALKMIST_INFLUENCE* mDalkmistInf[10];
/* 0x09B8 */ DUNGEON_LIGHT field_0x9b8[8];
/* 0x0C18 */ BOSS_LIGHT field_0x0c18[8];
/* 0x0D58 */ BOSS_LIGHT field_0x0d58[6];
/* 0x0E48 */ GB_WIND_INFLUENCE field_0xe48;
/* 0x0E5C */ f32 custom_windpower;
/* 0x0E60 */ f32 field_0xe60;
/* 0x0E64 */ u16 field_0xe64;
/* 0x0E66 */ u16 field_0xe66;
/* 0x0E68 */ s16 field_0xe68;
/* 0x0E6A */ s16 field_0xe6a;
/* 0x0E6C */ u8 field_0xe6c;
/* 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;
/* 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;
/* 0x0EA9 */ u8 field_0xea9;
/* 0x0EAC */ int field_0xeac;
/* 0x0EB0 */ dKankyo_housi_Packet* field_0xeb0;
/* 0x0EB4 */ u8 field_0xeb4;
/* 0x0EB5 */ u8 field_0xeb5;
/* 0x0EB8 */ int field_0xeb8;
/* 0x0EBC */ f32 field_0xebc;
/* 0x0EC0 */ dKankyo_cloud_Packet* field_0xec0;
/* 0x0EC4 */ u8 field_0xec4;
/* 0x0EC8 */ int field_0xec8;
/* 0x0ECC */ f32 field_0xecc;
/* 0x0ED0 */ dKankyo_vrkumo_Packet* field_0xed0;
/* 0x0ED4 */ EF_THUNDER field_0xef4;
/* 0x0F18 */ u8 field_0xf18[4];
/* 0x0F1C */ dKankyo_shstar_Packet* field_0xf1c;
/* 0x0F20 */ u8 field_0xf20;
/* 0x0F21 */ u8 field_0xf21;
/* 0x0F24 */ int field_0xf24;
/* 0x0F28 */ dKankyo_odour_Packet* field_0xf28;
/* 0x0F2C */ u8 field_0xf2c;
/* 0x0F30 */ J3DModel* field_0xf30;
/* 0x0F34 */ f32 field_0xf34;
/* 0x0F38 */ int field_0xf38;
/* 0x0F3C */ u8 field_0xf3c;
/* 0x0F3D */ u8 field_0xf3d;
/* 0x0F40 */ f32 field_0xf40;
/* 0x0F44 */ JPABaseEmitter* field_0xf44;
/* 0x0F48 */ JPABaseEmitter* field_0xf48;
/* 0x0F4C */ JPABaseEmitter* field_0xf4c;
/* 0x0F50 */ GB_MAPLE_COL_CHANGE field_0xf50[2];
/* 0x1038 */ u8 field_0x1038;
/* 0x103C */ int field_0x103c;
/* 0x1040 */ u8 field_0x1040[4];
/* 0x1044 */ u8 field_0x1044;
/* 0x1048 */ int field_0x1048;
/* 0x104C */ dKankyo_mud_Packet* field_0x104c;
/* 0x1050 */ u8 field_0x1050;
/* 0x1051 */ u8 field_0x1051;
/* 0x1054 */ int field_0x1054;
/* 0x1058 */ dKankyo_evil_Packet* field_0x1058;
/* 0x105C */ mDoExt_btkAnm* field_0x105c;
/* 0x1060 */ fopAc_ac_c* field_0x1060;
/* 0x1064 */ f32 field_0x1064;
/* 0x1068 */ f32 field_0x1068;
/* 0x106C */ f32 field_0x106c;
/* 0x1070 */ cXyz field_0x1070;
/* 0x107C */ cXyz mPLightNearPos;
/* 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;
/* 0x10F0 */ s16 field_0x10f0;
/* 0x10F2 */ s16 field_0x10f2;
/* 0x10F4 */ s16 field_0x10f4;
/* 0x10F6 */ s16 field_0x10f6;
/* 0x10F8 */ s16 field_0x10f8;
/* 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;
/* 0x1128 */ _GXColorS10 field_0x1128;
/* 0x1130 */ u8 field_0x1130[0x28];
/* 0x1158 */ _GXColorS10 field_0x1158;
/* 0x1160 */ s16 field_0x1160;
/* 0x1162 */ s16 field_0x1162;
/* 0x1164 */ s16 field_0x1164;
/* 0x1166 */ u8 field_0x1166[10];
/* 0x1170 */ s16 field_0x1170;
/* 0x1172 */ s16 field_0x1172;
/* 0x1174 */ s16 field_0x1174;
/* 0x1176 */ u8 field_0x1176[10];
/* 0x1180 */ s16 field_0x1180;
/* 0x1182 */ s16 field_0x1182;
/* 0x1184 */ s16 field_0x1184;
/* 0x1186 */ u8 field_0x1186[10];
/* 0x1190 */ s16 field_0x1190;
/* 0x1192 */ s16 field_0x1192;
/* 0x1194 */ s16 field_0x1194;
/* 0x1196 */ u8 field_0x1196[10];
/* 0x11A0 */ s16 field_0x11a0;
/* 0x11A2 */ s16 field_0x11a2;
/* 0x11A4 */ s16 field_0x11a4;
/* 0x11A6 */ u8 field_0x11a6[10];
/* 0x11B0 */ s16 field_0x11b0;
/* 0x11B2 */ s16 field_0x11b2;
/* 0x11B4 */ s16 field_0x11b4;
/* 0x11B6 */ s16 field_0x11b6;
/* 0x11B8 */ s16 field_0x11b8;
/* 0x11BA */ s16 field_0x11ba;
/* 0x11BC */ s16 field_0x11bc;
/* 0x11BE */ u8 field_0x11be[2];
/* 0x11C0 */ s16 field_0x11c0;
/* 0x11C2 */ s16 field_0x11c2;
/* 0x11C4 */ s16 field_0x11c4;
/* 0x11C8 */ f32 field_0x11c8;
/* 0x11CC */ f32 field_0x11cc;
/* 0x11D0 */ f32 field_0x11d0;
/* 0x11D4 */ f32 field_0x11d4;
/* 0x11D8 */ f32 field_0x11d8;
/* 0x11DC */ f32 field_0x11dc;
/* 0x11E0 */ f32 field_0x11e0;
/* 0x11E4 */ f32 field_0x11e4;
/* 0x11E8 */ f32 field_0x11e8;
/* 0x11EC */ f32 field_0x11ec;
/* 0x11F0 */ f32 field_0x11f0;
/* 0x11F4 */ f32 field_0x11f4;
/* 0x11F8 */ f32 field_0x11f8;
/* 0x11FC */ f32 field_0x11fc;
/* 0x1200 */ f32 field_0x1200;
/* 0x1204 */ f32 field_0x1204;
/* 0x1208 */ f32 field_0x1208;
/* 0x120C */ f32 field_0x120c;
/* 0x1210 */ f32 field_0x1210;
/* 0x1214 */ f32 mAllcolRatio;
/* 0x1218 */ f32 mActcolRatio;
/* 0x121C */ f32 mBgcolRatio;
/* 0x1220 */ f32 mFogcolRatio;
/* 0x1224 */ f32 mVrboxSoracolRatio;
/* 0x1228 */ f32 mVrboxKumocolRatio;
/* 0x122C */ f32 field_0x122c;
/* 0x1230 */ f32 field_0x1230;
/* 0x1234 */ f32 field_0x1234;
/* 0x1238 */ f32 field_0x1238;
/* 0x123C */ f32 field_0x123c;
/* 0x1240 */ f32 field_0x1240;
/* 0x1244 */ f32 mDaytime;
/* 0x1248 */ f32 mNexttime;
/* 0x124C */ f32 field_0x124c;
/* 0x1250 */ f32 mDarkDaytime;
/* 0x1254 */ f32 field_0x1254;
/* 0x1258 */ f32 field_0x1258;
/* 0x125C */ f32 field_0x125c;
/* 0x1260 */ f32 field_0x1260;
/* 0x1264 */ f32 field_0x1264;
/* 0x1268 */ f32 field_0x1268;
/* 0x126C */ f32 field_0x126c;
/* 0x1270 */ f32 field_0x1270;
/* 0x1274 */ f32 field_0x1274;
/* 0x1278 */ f32 field_0x1278;
/* 0x127C */ f32 field_0x127c;
/* 0x1280 */ int field_0x1280;
/* 0x1284 */ u8 field_0x1284[4];
/* 0x1288 */ int field_0x1288;
/* 0x128C */ u8 field_0x128c[12];
/* 0x1298 */ int field_0x1298;
/* 0x129C */ int field_0x129c;
/* 0x12A0 */ int field_0x12a0;
/* 0x12A4 */ int field_0x12a4;
/* 0x12A8 */ int field_0x12a8;
/* 0x12AC */ u8 field_0x12ac[4];
/* 0x12B0 */ int field_0x12b0;
/* 0x12B4 */ int field_0x12b4;
/* 0x12B8 */ u8 field_0x12b8[4];
/* 0x12BC */ u16 field_0x12bc;
/* 0x12BE */ u16 field_0x12be;
/* 0x12C0 */ u16 field_0x12c0;
/* 0x12C2 */ u8 field_0x12c2;
/* 0x12C3 */ u8 field_0x12c3;
/* 0x12C4 */ u8 field_0x12c4;
/* 0x12C5 */ u8 field_0x12c5;
/* 0x12C6 */ u8 field_0x12c6;
/* 0x12C7 */ u8 field_0x12c7;
/* 0x12C8 */ u8 field_0x12c8;
/* 0x12C9 */ u8 field_0x12c9;
/* 0x12CA */ u8 field_0x12ca;
/* 0x12CB */ u8 field_0x12cb;
/* 0x12CC */ u8 field_0x12cc;
/* 0x12CD */ u8 field_0x12cd;
/* 0x12CE */ u8 field_0x12ce;
/* 0x12CF */ u8 field_0x12cf;
/* 0x12D0 */ u8 field_0x12d0;
/* 0x12D1 */ u8 mItemGetCol_chg;
/* 0x12D2 */ u8 field_0x12d2;
/* 0x12D3 */ u8 field_0x12d3;
/* 0x12D4 */ u8 field_0x12d4;
/* 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;
/* 0x12F9 */ u8 field_0x12f9;
/* 0x12FA */ u8 field_0x12fa;
/* 0x12FB */ u8 field_0x12fb;
/* 0x12FC */ u8 field_0x12fc;
/* 0x12FD */ u8 mDarktimeWeek;
/* 0x12FE */ u8 field_0x12fe;
/* 0x1300 */ u16 field_0x1300;
/* 0x1302 */ u16 field_0x1302;
/* 0x1304 */ f32 field_0x1304;
/* 0x1308 */ u8 field_0x1308;
/* 0x1309 */ u8 field_0x1309;
/* 0x130A */ u8 field_0x130a;
/* 0x130B */ u8 field_0x130b;
/* 0x130C */ u8 field_0x130c;
}; // Size: 0x1310
STATIC_ASSERT(sizeof(dScnKy_env_light_c) == 4880);
BOOL dKy_darkworld_stage_check(char const*, int);
#endif /* D_KANKYO_D_KANKYO_H */
+31 -23
View File
@@ -5,19 +5,19 @@
#include "d/d_resorce.h"
#include "d/menu/d_menu_window.h"
#include "d/msg/d_msg_flow.h"
#include "d/pane/d_pane_class.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
//#include "JSystem/JUtility/JUTFont.h"
struct dMsgObject_c {
/* 802384C4 */ void setLetterNameID(u16);
/* 802384C4 */ static void setLetterNameID(u16);
/* 802379AC */ void setKillMessageFlag();
/* 8023822C */ void getStatus();
};
class dMeterMap_c {
public:
/* 8020D900 */ bool isMapOpenCheck();
/* 8020D900 */ static bool isMapOpenCheck();
/* 8020D650 */ void isEnableDispMapAndMapDispSizeTypeNo();
/* 8020D874 */ void setDispPosInsideFlg_SE_On();
/* 8020D8BC */ void setDispPosOutsideFlg_SE_On();
@@ -31,18 +31,26 @@ struct J2DTextBox {
/* 8021C7F4 */ void getFont() const;
};
struct JUTFont {};
struct dMenu_LetterData {
u16 mSubject;
u16 mName;
u16 mText;
u16 mEventFlag;
};
struct dMenu_Letter {
static u8 letter_data[512];
static u16 getLetterSubject(int idx) { return letter_data[idx].mSubject; }
static u16 getLetterName(int idx) { return letter_data[idx].mName; }
static u16 getLetterText(int idx) { return letter_data[idx].mText; }
static u16 getLetterEventFlag(int idx) { return letter_data[idx].mEventFlag; }
static dMenu_LetterData letter_data[64];
};
struct dItem_data {
static void* item_resource[1530];
};
struct CPaneMgr {};
class dMw_c;
class dMeter2_c {
@@ -65,7 +73,7 @@ public:
dMeter2Info_c();
virtual ~dMeter2Info_c();
void init(void);
void setFloatingMessage(u16, s16, bool);
int setFloatingMessage(u16, s16, bool);
void setFloatingFlow(u16, s16, bool);
int isFloatingMessageVisible(void);
int decFloatingMessageTimer(void);
@@ -115,8 +123,7 @@ public:
private:
/* 0x04 */ u8 unk4[4];
/* 0x08 */ u32 unk8;
/* 0x0C */ u32 unk12;
/* 0x08 */ u64 unk8;
/* 0x10 */ void* mMsgResource;
/* 0x14 */ void* mStageMsgResource;
/* 0x18 */ void* mMsgUnitResource;
@@ -161,26 +168,27 @@ private:
/* 0xBA */ u8 unk186;
/* 0xBB */ u8 mMaxCount;
/* 0xBC */ u8 mNowCount;
/* 0xBD */ u8 mShopTalkFlag;
/* 0xBD */ bool mShopTalkFlag;
/* 0xBE */ u8 unk190;
/* 0xBF */ u8 mMapStatus;
/* 0xC0 */ u8 mWarpStatus;
/* 0xC1 */ u8 mPauseStatus;
/* 0xC2 */ u8 mGameOverType;
/* 0xC3 */ u8 mInsectSelectType;
/* 0xC4 */ u32 unk196;
/* 0xC8 */ u32 unk200;
/* 0xC4 */ u8 unk196[4];
/* 0xC8 */ u8 unk200[4];
/* 0xCC */ u8 unk204;
/* 0xCD */ u8 unk205;
/* 0xCE */ u8 unk206;
/* 0xCF */ u8 unk207;
/* 0xD0 */ f64 unk208;
/* 0xD8 */ u8 unk216;
/* 0xD9 */ u8 unk217;
/* 0xDA */ u8 unk218;
/* 0xDB */ u8 unk219;
/* 0xCD */ u8 unk205; // arrow num
/* 0xCE */ u8 unk206; // item 1
/* 0xCF */ u8 unk207; // item 2
/* 0xD0 */ u8 unk208[4];
/* 0xD4 */ u8 unk212[4];
/* 0xD8 */ u8 unk216; // bomb num
/* 0xD9 */ u8 unk217; // arrow num?
/* 0xDA */ u8 unk218; // item 1?
/* 0xDB */ u8 unk219; // item 2
/* 0xDC */ u8 mRentalBombBag;
/* 0xDD */ u8 mMiniGameItemSetFlag;
/* 0xDD */ u8 mMiniGameItemSetFlag; // 1: rented in game, 3: rented not in game
/* 0xDE */ u8 mMiniGameCount;
/* 0xDF */ u8 mCollectCursorPosX;
/* 0xE0 */ u8 mCollectCursorPosY;
@@ -191,7 +199,7 @@ private:
/* 0xE7 */ u8 unk231;
/* 0xE8 */ u8 mItemExplainWindowStatus;
/* 0xE9 */ char mSaveStageName[8];
/* 0xF1 */ u8 mFloatingMessageWakuVisible;
/* 0xF1 */ bool mFloatingMessageWakuVisible;
/* 0xF2 */ u8 mMapDrugFlag;
/* 0xF3 */ u8 unk243[5];
};
+48
View File
@@ -1,6 +1,54 @@
#ifndef D_METER_D_METER_HIO_H
#define D_METER_D_METER_HIO_H
#include "JSystem/JUtility.h"
#include "SSystem/SComponent/c_Xyz.h"
#include "SSystem/SComponent/c_sXyz.h"
#include "dolphin/types.h"
class dMeter_drawCollectHIO_c {
public:
dMeter_drawCollectHIO_c();
virtual ~dMeter_drawCollectHIO_c();
private:
/* 0x00 */ // vtable
/* 0x04 */ u8 field_0x04[4];
/* 0x08 */ f32 mItemScaleSmall;
/* 0x0C */ f32 mItemScaleLarge;
/* 0x10 */ f32 mSaveOptionItemScaleSmall;
/* 0x14 */ f32 mSaveOptionItemScaleLarge;
/* 0x18 */ f32 mBlueFuzzPosX;
/* 0x1C */ f32 mBlueFuzzPosY;
/* 0x20 */ f32 mBlueFuzzScale;
/* 0x24 */ f32 mBlueFuzzAlpha;
/* 0x28 */ cXyz mMaskMirrorPos;
/* 0x34 */ f32 mMaskMirrorScale;
/* 0x38 */ f32 mMaskMirrorAnimation;
/* 0x3C */ f32 mHeartVesselPosX;
/* 0x40 */ f32 mHeartVesselPosY;
/* 0x44 */ f32 mHeartVesselScale;
/* 0x48 */ f32 mAButtonPosX;
/* 0x4C */ f32 mAButtonPosY;
/* 0x50 */ f32 mAButtonScale;
/* 0x54 */ f32 mBButtonPosX;
/* 0x58 */ f32 mBButtonPosY;
/* 0x5C */ f32 mBButtonScale;
/* 0x60 */ f32 mAButtonTextPosX;
/* 0x64 */ f32 mAButtonTextPosY;
/* 0x68 */ f32 mAButtonTextScale;
/* 0x6C */ f32 mBButtonTextPosX;
/* 0x70 */ f32 mBButtonTextPosY;
/* 0x74 */ f32 mBButtonTextScale;
/* 0x78 */ JUtility::TColor mBasBlack[2]; // ht_n_bas, h_kaz_n
/* 0x80 */ JUtility::TColor mBasWhite[2]; // same as above
/* 0x88 */ f32 mHeartPiecePosX;
/* 0x8C */ f32 mHeartPiecePosY;
/* 0x90 */ f32 mHeartPieceScale;
/* 0x94 */ csXyz mMaskMirrorAngle;
/* 0x9A */ bool field_0x9a;
/* 0x9B */ bool mColorDebugON;
/* 0x9C */ bool mButtonDebugON;
}; // Size = 0xA0
#endif /* D_METER_D_METER_HIO_H */
+15 -9
View File
@@ -4,9 +4,15 @@
#include "dolphin/types.h"
#include "f_op/f_op_actor.h"
struct mesg_flow_node_branch {};
struct mesg_flow_node_branch {
/* 0x00 */ int field_0x0;
/* 0x04 */ u16 param;
};
struct mesg_flow_node_event {};
struct mesg_flow_node_event {
/* 0x00 */ int field_0x0;
/* 0x04 */ u8 param;
};
struct mesg_flow_node {};
@@ -34,9 +40,9 @@ public:
/* 8024AD54 */ void branchNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024ADEC */ void eventNodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024AFF8 */ void nodeProc(fopAc_ac_c*, fopAc_ac_c**);
/* 8024B0F0 */ void getParam(u16*, u16*, u8*);
/* 8024B0F0 */ int getParam(u16*, u16*, u8*);
/* 8024B108 */ void getParam(u8*, u8*);
/* 8024B130 */ void getParam(u8*);
/* 8024B130 */ int getParam(u8*);
/* 8024B138 */ void query001(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B180 */ void query002(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024B208 */ void query003(mesg_flow_node_branch*, fopAc_ac_c*, int);
@@ -90,11 +96,11 @@ public:
/* 8024C340 */ void query051(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3A0 */ void query052(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3D4 */ void query053(mesg_flow_node_branch*, fopAc_ac_c*, int);
/* 8024C3FC */ void event000(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C488 */ void event001(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C514 */ void event002(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C550 */ void event003(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C590 */ void event004(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C3FC */ int event000(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C488 */ int event001(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C514 */ int event002(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C550 */ int event003(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C590 */ int event004(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C5F0 */ void event005(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C654 */ void event006(mesg_flow_node_event*, fopAc_ac_c*);
/* 8024C694 */ void event007(mesg_flow_node_event*, fopAc_ac_c*);
+44
View File
@@ -1,6 +1,50 @@
#ifndef D_PANE_D_PANE_CLASS_H
#define D_PANE_D_PANE_CLASS_H
#include "d/pane/d_pane_class_alpha.h"
#include "dolphin/types.h"
class CPaneMgr : public CPaneMgrAlpha {
public:
/* 80253A18 */ virtual ~CPaneMgr();
/* 80253AB4 */ virtual void setAlpha(u8);
/* 80253984 */ CPaneMgr(J2DScreen*, u64, u8, JKRExpHeap*);
/* 80253930 */ CPaneMgr();
/* 80253B2C */ void reinit();
/* 80253C08 */ void initiate(J2DPane*, JKRExpHeap*);
/* 80254018 */ void childPaneGetSize(J2DPane*);
/* 80254134 */ void childPaneSetSize(J2DPane*, f32, f32);
/* 802542E8 */ void getGlobalPosX();
/* 80254364 */ void getGlobalPosY();
/* 80254458 */ void setBlackWhite(JUtility::TColor, JUtility::TColor);
/* 802545B0 */ void paneTrans(f32, f32);
/* 80254638 */ void paneScale(f32, f32);
/* 802547CC */ void scaleAnime(s16, f32, f32, u8);
/* 802548BC */ void colorAnime(s16, JUtility::TColor, JUtility::TColor, JUtility::TColor,
JUtility::TColor, u8);
/* 80254C90 */ void getGlobalVtx(J2DPane*, f32 (*)[3][4], u8, bool, s16);
/* 80254EBC */ void getGlobalVtxCenter(J2DPane*, bool, s16);
/* 80254FB8 */ void getBounds(J2DPane*);
private:
/* 0x1C */ void* field_0x1c;
/* 0x20 */ void* field_0x20;
/* 0x24 */ JGeometry::TVec2<f32> mInitPos;
/* 0x2C */ JGeometry::TVec2<f32> mGlobalPos;
/* 0x34 */ JGeometry::TVec2<f32> mInitSize;
/* 0x3C */ JGeometry::TVec2<f32> mInitScale;
/* 0x44 */ JGeometry::TVec2<f32> field_0x44;
/* 0x4C */ f32 field_0x4c;
/* 0x50 */ JGeometry::TVec2<f32> field_0x50;
/* 0x58 */ JUtility::TColor mInitWhite;
/* 0x5C */ JUtility::TColor mInitBlack;
/* 0x60 */ s16 field_0x60;
/* 0x62 */ s16 field_0x62;
/* 0x64 */ s16 mScaleAnime;
/* 0x66 */ s16 field_0x66;
/* 0x68 */ s16 field_0x68;
/* 0x6A */ s16 mColorAnime;
};
#endif /* D_PANE_D_PANE_CLASS_H */
+43
View File
@@ -1,6 +1,49 @@
#ifndef D_PANE_D_PANE_CLASS_ALPHA_H
#define D_PANE_D_PANE_CLASS_ALPHA_H
#include "JSystem/J2DGraph/J2DScreen.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "dolphin/types.h"
struct CPaneMgrAlphaMorf {
/* 80255C68 */ CPaneMgrAlphaMorf(J2DScreen*, u64, u8, JKRExpHeap*);
/* 80255CAC */ ~CPaneMgrAlphaMorf();
/* 80255D48 */ void initiateAlphaMorf();
/* 80255DD0 */ void setBackupAlpha();
/* 80255E28 */ void setAlphaMorfRate(f32);
/* 80255E98 */ void childPaneBackupAlpha(J2DPane*);
/* 80255F28 */ void childPaneSetAlphaMorf(J2DPane*, f32);
};
class CPaneMgrAlpha {
public:
/* 8025546C */ virtual ~CPaneMgrAlpha();
/* 80255758 */ virtual void setAlpha(u8);
/* 802553EC */ CPaneMgrAlpha();
/* 802553FC */ CPaneMgrAlpha(J2DScreen*, u64, u8, JKRExpHeap*);
/* 802554E0 */ void initiateAlpha(J2DPane*, JKRExpHeap*);
/* 802555C8 */ void show();
/* 80255608 */ void hide();
/* 8025564C */ void isVisible();
/* 80255658 */ void rateCalc(s16, s16, u8);
/* 802557D0 */ void setAlphaRate(f32);
/* 80255828 */ void getAlphaRate();
/* 80255878 */ void alphaAnime(s16, u8, u8, u8);
/* 80255964 */ void alphaAnimeLoop(s16, u8, u8, u8);
/* 80255A60 */ void childPaneCount(J2DPane*);
/* 80255ACC */ void childPaneGetAlpha(J2DPane*);
/* 80255B5C */ void childPaneSetAlpha(J2DPane*, u8);
private:
/* 0x04 */ J2DPane* mPanePtr;
/* 0x08 */ JKRHeap* heap;
/* 0x0C */ void* field_0x0c;
/* 0x10 */ int field_0x10;
/* 0x14 */ s16 mChildPaneCount;
/* 0x16 */ s16 mAlphaTimer;
/* 0x18 */ u8 mInitAlpha;
/* 0x19 */ u8 mFlags;
};
#endif /* D_PANE_D_PANE_CLASS_ALPHA_H */
+326 -298
View File
@@ -22,310 +22,335 @@
#define ITEM_ZONE_MAX 0x20
#define ITEM_ONE_ZONE_MAX 0x10
enum Wallets { WALLET, BIG_WALLET, GIANT_WALLET };
enum Wallets {
/* 0x0 */ WALLET,
/* 0x1 */ BIG_WALLET,
/* 0x2 */ GIANT_WALLET
};
enum ItemSlots {
SLOT_0,
SLOT_1,
SLOT_2,
SLOT_3,
SLOT_4,
SLOT_5,
SLOT_6,
SLOT_7,
SLOT_8,
SLOT_9,
SLOT_10,
SLOT_11,
SLOT_12,
SLOT_13,
SLOT_14,
SLOT_15,
SLOT_16,
SLOT_17,
SLOT_18,
SLOT_19,
SLOT_20,
SLOT_21,
SLOT_22,
SLOT_23
/* 0x00 */ SLOT_0,
/* 0x01 */ SLOT_1,
/* 0x02 */ SLOT_2,
/* 0x03 */ SLOT_3,
/* 0x04 */ SLOT_4,
/* 0x05 */ SLOT_5,
/* 0x06 */ SLOT_6,
/* 0x07 */ SLOT_7,
/* 0x08 */ SLOT_8,
/* 0x09 */ SLOT_9,
/* 0x0A */ SLOT_10,
/* 0x0B */ SLOT_11,
/* 0x0C */ SLOT_12,
/* 0x0D */ SLOT_13,
/* 0x0E */ SLOT_14,
/* 0x0F */ SLOT_15,
/* 0x10 */ SLOT_16,
/* 0x11 */ SLOT_17,
/* 0x12 */ SLOT_18,
/* 0x13 */ SLOT_19,
/* 0x14 */ SLOT_20,
/* 0x15 */ SLOT_21,
/* 0x16 */ SLOT_22,
/* 0x17 */ SLOT_23
};
enum ItemTable {
HEART,
GREEN_RUPEE,
BLUE_RUPEE,
YELLOW_RUPEE,
RED_RUPEE,
PURPLE_RUPEE,
ORANGE_RUPEE,
SILVER_RUPEE,
S_MAGIC,
L_MAGIC,
BOMB_5,
BOMB_10,
BOMB_20,
BOMB_30,
ARROW_10,
ARROW_20,
ARROW_30,
ARROW_1,
PACHINKO_SHOT,
noentry1,
noentry2,
noentry3,
WATER_BOMB_5,
WATER_BOMB_10,
WATER_BOMB_20,
WATER_BOMB_30,
BOMB_INSECT_5,
BOMB_INSECT_10,
BOMB_INSECT_20,
BOMB_INSECT_30,
RECOVERY_FAILY,
TRIPLE_HEART,
SMALL_KEY,
KAKERA_HEART,
UTAWA_HEART,
MAP,
COMPUS,
DUNGEON_EXIT,
BOSS_KEY,
DUNGEON_BACK,
SWORD,
MASTER_SWORD,
WOOD_SHIELD,
SHIELD,
HYLIA_SHIELD,
TKS_LETTER,
WEARS_CASUAL,
WEAR_KOKIRI,
ARMOR,
WEAR_ZORA,
MAGIC_LV1,
DUNGEON_EXIT_2,
WALLET_LV1,
WALLET_LV2,
WALLET_LV3,
noentry4,
noentry5,
noentry6,
noentry7,
noentry8,
noentry9,
ZORAS_JEWEL,
HAWK_EYE,
WOOD_STICK,
BOOMERANG,
SPINNER,
IRONBALL,
BOW,
HOOKSHOT,
HVY_BOOTS,
COPY_ROD,
W_HOOKSHOT,
KANTERA,
LIGHT_SWORD,
FISHING_ROD_1,
PACHINKO,
COPY_ROD_2,
noentry10,
noentry11,
BOMB_BAG_LV2,
BOMB_BAG_LV1,
BOMB_IN_BAG,
noentry12,
LIGHT_ARROW,
ARROW_LV1,
ARROW_LV2,
ARROW_LV3,
noentry13,
LURE_ROD,
BOMB_ARROW,
HAWK_ARROW,
BEE_ROD,
JEWEL_ROD,
WORM_ROD,
JEWEL_BEE_ROD,
JEWEL_WORM_ROD,
EMPTY_BOTTLE,
RED_BOTTLE,
GREEN_BOTTLE,
BLUE_BOTTLE,
MILK_BOTTLE,
HALF_MILK_BOTTLE,
OIL_BOTTLE,
WATER_BOTTLE,
OIL_BOTTLE_2,
RED_BOTTLE_2,
UGLY_SOUP,
HOT_SPRING,
FAIRY,
HOT_SPRING_2,
OIL2,
OIL,
NORMAL_BOMB,
WATER_BOMB,
POKE_BOMB,
FAIRY_DROP,
WORM,
DROP_BOTTLE,
BEE_CHILD,
CHUCHU_RARE,
CHUCHU_RED,
CHUCHU_BLUE,
CHUCHU_GREEN,
CHUCHU_YELLOW,
CHUCHU_PURPLE,
LV1_SOUP,
LV2_SOUP,
LV3_SOUP,
LETTER,
BILL,
WOOD_STATUE,
IRIAS_PENDANT,
HORSE_FLUTE,
noentry14,
noentry15,
noentry16,
noentry17,
noentry18,
noentry19,
noentry20,
noentry21,
noentry22,
noentry23,
noentry24,
RAFRELS_MEMO,
ASHS_SCRIBBLING,
noentry25,
noentry26,
noentry27,
noentry28,
noentry29,
noentry30,
noentry31,
noentry32,
noentry33,
noentry34,
CHUCHU_YELLOW2,
OIL_BOTTLE3,
SHOP_BEE_CHILD,
CHUCHU_BLACK,
LIGHT_DROP,
DROP_CONTAINER,
DROP_CONTAINER02,
DROP_CONTAINER03,
FILLED_CONTAINER,
MIRROR_PIECE_2,
MIRROR_PIECE_3,
MIRROR_PIECE_4,
noentry35,
noentry36,
noentry37,
noentry38,
noentry39,
noentry40,
noentry41,
noentry42,
SMELL_YELIA_POUCH,
SMELL_PUMPKIN,
SMELL_POH,
SMELL_FISH,
SMELL_CHILDREN,
SMELL_MEDICINE,
noentry43,
noentry44,
noentry45,
noentry46,
noentry47,
noentry48,
noentry49,
noentry50,
noentry51,
noentry52,
M_BEETLE,
F_BEETLE,
M_BUTTERFLY,
F_BUTTERFLY,
M_STAG_BEETLE,
F_STAG_BEETLE,
M_GRASSHOPPER,
F_GRASSHOPPER,
M_NANAFUSHI,
F_NANAFUSHI,
M_DANGOMUSHI,
F_DANGOMUSHI,
M_MANTIS,
F_MANTIS,
M_LADYBUG,
F_LADYBUG,
M_SNAIL,
F_SNAIL,
M_DRAGONFLY,
F_DRAGONFLY,
M_ANT,
F_ANT,
M_MAYFLY,
F_MAYFLY,
noentry53,
noentry54,
noentry55,
noentry56,
noentry57,
noentry58,
noentry59,
noentry60,
POU_SPIRIT,
noentry61,
noentry62,
noentry63,
noentry64,
noentry65,
noentry66,
noentry67,
noentry68,
ANCIENT_DOCUMENT,
AIR_LETTER,
ANCIENT_DOCUMENT2,
LV7_DUNGEON_EXIT,
LINKS_SAVINGS,
SMALL_KEY2,
POU_FIRE1,
POU_FIRE2,
POU_FIRE3,
POU_FIRE4,
BOSSRIDER_KEY,
TOMATO_PUREE,
TASTE,
LV5_BOSS_KEY,
SURFBOARD,
KANTERA2,
L2_KEY_PIECES1,
L2_KEY_PIECES2,
L2_KEY_PIECES3,
KEY_OF_CARAVAN,
LV2_BOSS_KEY,
KEY_OF_FILONE,
NO_ITEM
/* 0x00 */ HEART,
/* 0x01 */ GREEN_RUPEE,
/* 0x02 */ BLUE_RUPEE,
/* 0x03 */ YELLOW_RUPEE,
/* 0x04 */ RED_RUPEE,
/* 0x05 */ PURPLE_RUPEE,
/* 0x06 */ ORANGE_RUPEE,
/* 0x07 */ SILVER_RUPEE,
/* 0x08 */ S_MAGIC,
/* 0x09 */ L_MAGIC,
/* 0x0A */ BOMB_5,
/* 0x0B */ BOMB_10,
/* 0x0C */ BOMB_20,
/* 0x0D */ BOMB_30,
/* 0x0E */ ARROW_10,
/* 0x0F */ ARROW_20,
/* 0x10 */ ARROW_30,
/* 0x11 */ ARROW_1,
/* 0x12 */ PACHINKO_SHOT,
/* 0x13 */ noentry1,
/* 0x14 */ noentry2,
/* 0x15 */ noentry3,
/* 0x16 */ WATER_BOMB_5,
/* 0x17 */ WATER_BOMB_10,
/* 0x18 */ WATER_BOMB_20,
/* 0x19 */ WATER_BOMB_30,
/* 0x1A */ BOMB_INSECT_5,
/* 0x1B */ BOMB_INSECT_10,
/* 0x1C */ BOMB_INSECT_20,
/* 0x1D */ BOMB_INSECT_30,
/* 0x1E */ RECOVERY_FAILY,
/* 0x1F */ TRIPLE_HEART,
/* 0x20 */ SMALL_KEY,
/* 0x21 */ KAKERA_HEART,
/* 0x22 */ UTAWA_HEART,
/* 0x23 */ MAP,
/* 0x24 */ COMPUS,
/* 0x25 */ DUNGEON_EXIT,
/* 0x26 */ BOSS_KEY,
/* 0x27 */ DUNGEON_BACK,
/* 0x28 */ SWORD,
/* 0x29 */ MASTER_SWORD,
/* 0x2A */ WOOD_SHIELD,
/* 0x2B */ SHIELD,
/* 0x2C */ HYLIA_SHIELD,
/* 0x2D */ TKS_LETTER,
/* 0x2E */ WEARS_CASUAL,
/* 0x2F */ WEAR_KOKIRI,
/* 0x30 */ ARMOR,
/* 0x31 */ WEAR_ZORA,
/* 0x32 */ MAGIC_LV1,
/* 0x33 */ DUNGEON_EXIT_2,
/* 0x34 */ WALLET_LV1,
/* 0x35 */ WALLET_LV2,
/* 0x36 */ WALLET_LV3,
/* 0x37 */ noentry4,
/* 0x38 */ noentry5,
/* 0x39 */ noentry6,
/* 0x3A */ noentry7,
/* 0x3B */ noentry8,
/* 0x3C */ noentry9,
/* 0x3D */ ZORAS_JEWEL,
/* 0x3E */ HAWK_EYE,
/* 0x3F */ WOOD_STICK,
/* 0x40 */ BOOMERANG,
/* 0x41 */ SPINNER,
/* 0x42 */ IRONBALL,
/* 0x43 */ BOW,
/* 0x44 */ HOOKSHOT,
/* 0x45 */ HVY_BOOTS,
/* 0x46 */ COPY_ROD,
/* 0x47 */ W_HOOKSHOT,
/* 0x48 */ KANTERA,
/* 0x49 */ LIGHT_SWORD,
/* 0x4A */ FISHING_ROD_1,
/* 0x4B */ PACHINKO,
/* 0x4C */ COPY_ROD_2,
/* 0x4D */ noentry10,
/* 0x4E */ noentry11,
/* 0x4F */ BOMB_BAG_LV2,
/* 0x50 */ BOMB_BAG_LV1,
/* 0x51 */ BOMB_IN_BAG,
/* 0x52 */ noentry12,
/* 0x53 */ LIGHT_ARROW,
/* 0x54 */ ARROW_LV1,
/* 0x55 */ ARROW_LV2,
/* 0x56 */ ARROW_LV3,
/* 0x57 */ noentry13,
/* 0x58 */ LURE_ROD,
/* 0x59 */ BOMB_ARROW,
/* 0x5A */ HAWK_ARROW,
/* 0x5B */ BEE_ROD,
/* 0x5C */ JEWEL_ROD,
/* 0x5D */ WORM_ROD,
/* 0x5E */ JEWEL_BEE_ROD,
/* 0x5F */ JEWEL_WORM_ROD,
/* 0x60 */ EMPTY_BOTTLE,
/* 0x61 */ RED_BOTTLE,
/* 0x62 */ GREEN_BOTTLE,
/* 0x63 */ BLUE_BOTTLE,
/* 0x64 */ MILK_BOTTLE,
/* 0x65 */ HALF_MILK_BOTTLE,
/* 0x66 */ OIL_BOTTLE,
/* 0x67 */ WATER_BOTTLE,
/* 0x68 */ OIL_BOTTLE_2,
/* 0x69 */ RED_BOTTLE_2,
/* 0x6A */ UGLY_SOUP,
/* 0x6B */ HOT_SPRING,
/* 0x6C */ FAIRY,
/* 0x6D */ HOT_SPRING_2,
/* 0x6E */ OIL2,
/* 0x6F */ OIL,
/* 0x70 */ NORMAL_BOMB,
/* 0x71 */ WATER_BOMB,
/* 0x72 */ POKE_BOMB,
/* 0x73 */ FAIRY_DROP,
/* 0x74 */ WORM,
/* 0x75 */ DROP_BOTTLE,
/* 0x76 */ BEE_CHILD,
/* 0x77 */ CHUCHU_RARE,
/* 0x78 */ CHUCHU_RED,
/* 0x79 */ CHUCHU_BLUE,
/* 0x7A */ CHUCHU_GREEN,
/* 0x7B */ CHUCHU_YELLOW,
/* 0x7C */ CHUCHU_PURPLE,
/* 0x7D */ LV1_SOUP,
/* 0x7E */ LV2_SOUP,
/* 0x7F */ LV3_SOUP,
/* 0x80 */ LETTER,
/* 0x81 */ BILL,
/* 0x82 */ WOOD_STATUE,
/* 0x83 */ IRIAS_PENDANT,
/* 0x84 */ HORSE_FLUTE,
/* 0x85 */ noentry14,
/* 0x86 */ noentry15,
/* 0x87 */ noentry16,
/* 0x88 */ noentry17,
/* 0x89 */ noentry18,
/* 0x8A */ noentry19,
/* 0x8B */ noentry20,
/* 0x8C */ noentry21,
/* 0x8D */ noentry22,
/* 0x8E */ noentry23,
/* 0x8F */ noentry24,
/* 0x90 */ RAFRELS_MEMO,
/* 0x91 */ ASHS_SCRIBBLING,
/* 0x92 */ noentry25,
/* 0x93 */ noentry26,
/* 0x94 */ noentry27,
/* 0x95 */ noentry28,
/* 0x96 */ noentry29,
/* 0x97 */ noentry30,
/* 0x98 */ noentry31,
/* 0x99 */ noentry32,
/* 0x9A */ noentry33,
/* 0x9B */ noentry34,
/* 0x9C */ CHUCHU_YELLOW2,
/* 0x9D */ OIL_BOTTLE3,
/* 0x9E */ SHOP_BEE_CHILD,
/* 0x9F */ CHUCHU_BLACK,
/* 0xA0 */ LIGHT_DROP,
/* 0xA1 */ DROP_CONTAINER,
/* 0xA2 */ DROP_CONTAINER02,
/* 0xA3 */ DROP_CONTAINER03,
/* 0xA4 */ FILLED_CONTAINER,
/* 0xA5 */ MIRROR_PIECE_2,
/* 0xA6 */ MIRROR_PIECE_3,
/* 0xA7 */ MIRROR_PIECE_4,
/* 0xA8 */ noentry35,
/* 0xA9 */ noentry36,
/* 0xAA */ noentry37,
/* 0xAB */ noentry38,
/* 0xAC */ noentry39,
/* 0xAD */ noentry40,
/* 0xAE */ noentry41,
/* 0xAF */ noentry42,
/* 0xB0 */ SMELL_YELIA_POUCH,
/* 0xB1 */ SMELL_PUMPKIN,
/* 0xB2 */ SMELL_POH,
/* 0xB3 */ SMELL_FISH,
/* 0xB4 */ SMELL_CHILDREN,
/* 0xB5 */ SMELL_MEDICINE,
/* 0xB6 */ noentry43,
/* 0xB7 */ noentry44,
/* 0xB8 */ noentry45,
/* 0xB9 */ noentry46,
/* 0xBA */ noentry47,
/* 0xBB */ noentry48,
/* 0xBC */ noentry49,
/* 0xBD */ noentry50,
/* 0xBE */ noentry51,
/* 0xBF */ noentry52,
/* 0xC0 */ M_BEETLE,
/* 0xC1 */ F_BEETLE,
/* 0xC2 */ M_BUTTERFLY,
/* 0xC3 */ F_BUTTERFLY,
/* 0xC4 */ M_STAG_BEETLE,
/* 0xC5 */ F_STAG_BEETLE,
/* 0xC6 */ M_GRASSHOPPER,
/* 0xC7 */ F_GRASSHOPPER,
/* 0xC8 */ M_NANAFUSHI,
/* 0xC9 */ F_NANAFUSHI,
/* 0xCA */ M_DANGOMUSHI,
/* 0xCB */ F_DANGOMUSHI,
/* 0xCC */ M_MANTIS,
/* 0xCD */ F_MANTIS,
/* 0xCE */ M_LADYBUG,
/* 0xCF */ F_LADYBUG,
/* 0xD0 */ M_SNAIL,
/* 0xD1 */ F_SNAIL,
/* 0xD2 */ M_DRAGONFLY,
/* 0xD3 */ F_DRAGONFLY,
/* 0xD4 */ M_ANT,
/* 0xD5 */ F_ANT,
/* 0xD6 */ M_MAYFLY,
/* 0xD7 */ F_MAYFLY,
/* 0xD8 */ noentry53,
/* 0xD9 */ noentry54,
/* 0xDA */ noentry55,
/* 0xDB */ noentry56,
/* 0xDC */ noentry57,
/* 0xDD */ noentry58,
/* 0xDE */ noentry59,
/* 0xDF */ noentry60,
/* 0xE0 */ POU_SPIRIT,
/* 0xE1 */ noentry61,
/* 0xE2 */ noentry62,
/* 0xE3 */ noentry63,
/* 0xE4 */ noentry64,
/* 0xE5 */ noentry65,
/* 0xE6 */ noentry66,
/* 0xE7 */ noentry67,
/* 0xE8 */ noentry68,
/* 0xE9 */ ANCIENT_DOCUMENT,
/* 0xEA */ AIR_LETTER,
/* 0xEB */ ANCIENT_DOCUMENT2,
/* 0xEC */ LV7_DUNGEON_EXIT,
/* 0xED */ LINKS_SAVINGS,
/* 0xEE */ SMALL_KEY2,
/* 0xEF */ POU_FIRE1,
/* 0xF0 */ POU_FIRE2,
/* 0xF1 */ POU_FIRE3,
/* 0xF2 */ POU_FIRE4,
/* 0xF3 */ BOSSRIDER_KEY,
/* 0xF4 */ TOMATO_PUREE,
/* 0xF5 */ TASTE,
/* 0xF6 */ LV5_BOSS_KEY,
/* 0xF7 */ SURFBOARD,
/* 0xF8 */ KANTERA2,
/* 0xF9 */ L2_KEY_PIECES1,
/* 0xFA */ L2_KEY_PIECES2,
/* 0xFB */ L2_KEY_PIECES3,
/* 0xFC */ KEY_OF_CARAVAN,
/* 0xFD */ LV2_BOSS_KEY,
/* 0xFE */ KEY_OF_FILONE,
/* 0xFF */ NO_ITEM
};
enum CollectItem { COLLECT_CLOTHING, COLLECT_SWORD, COLLECT_SHIELD, COLLECT_SMELL, B_BUTTON_ITEM };
enum CollectItem {
/* 0x0 */ COLLECT_CLOTHING,
/* 0x1 */ COLLECT_SWORD,
/* 0x2 */ COLLECT_SHIELD,
/* 0x3 */ COLLECT_SMELL,
/* 0x4 */ B_BUTTON_ITEM
};
enum Swords {
COLLECT_ORDON_SWORD,
COLLECT_MASTER_SWORD,
COLLECT_WOODEN_SWORD,
COLLECT_LIGHT_SWORD
/* 0x0 */ COLLECT_ORDON_SWORD,
/* 0x1 */ COLLECT_MASTER_SWORD,
/* 0x2 */ COLLECT_WOODEN_SWORD,
/* 0x3 */ COLLECT_LIGHT_SWORD
};
enum Shields { COLLECT_WOODEN_SHIELD, COLLECT_ORDON_SHIELD, COLLECT_HYLIAN_SHIELD };
enum Shields {
/* 0x0 */ COLLECT_WOODEN_SHIELD,
/* 0x1 */ COLLECT_ORDON_SHIELD,
/* 0x2 */ COLLECT_HYLIAN_SHIELD
};
enum Armors { KOKIRI_CLOTHES_FLAG };
enum Clothes {
/* 0x0 */ KOKIRI_CLOTHES_FLAG
};
enum LightDropStages { FARON_VESSEL, ELDIN_VESSEL, LANAYRU_VESSEL };
enum LightDropStages {
/* 0x0 */ FARON_VESSEL,
/* 0x1 */ ELDIN_VESSEL,
/* 0x2 */ LANAYRU_VESSEL
};
enum ItemMax { ARROW_MAX, NORMAL_BOMB_MAX, WATER_BOMB_MAX, POKE_BOMB_MAX = 6 };
enum ItemMax {
/* 0x0 */ ARROW_MAX,
/* 0x1 */ NORMAL_BOMB_MAX,
/* 0x2 */ WATER_BOMB_MAX,
/* 0x6 */ POKE_BOMB_MAX = 6
};
class dSv_player_status_a_c {
public:
@@ -451,6 +476,7 @@ public:
s16 getAngleY() { return mAngleY; }
s8 getRoomNo() { return mRoomNo; }
char getWarpAcceptStage() { return mWarpAcceptStage; }
void resetWarpAcceptStage() { mWarpAcceptStage = -1; }
private:
/* 0x00 */ cXyz mPos;
@@ -514,6 +540,7 @@ public:
u8 addBottleNum(u8, s16);
u8 getBottleNum(u8) const;
u8 getArrowNum() const { return mArrowNum; }
void setArrowNum(u8 amount) { mArrowNum = amount; }
u8 getPachinkoNum() const { return mPachinkoNum; }
void setPachinkoNum(u8 num) { mPachinkoNum = num; }
@@ -680,6 +707,7 @@ public:
dSv_light_drop_c& getLightDrop() { return mLightDrop; }
dSv_player_get_item_c& getGetItem() { return mGetItem; }
dSv_player_config_c& getConfig() { return mConfig; }
dSv_letter_info_c& getLetterInfo() { return mLetterInfo; }
private:
/* 0x000 */ dSv_player_status_a_c mPlayerStatusA;
@@ -704,14 +732,14 @@ private:
class dSv_memBit_c {
public:
enum {
MAP,
COMPASS,
BOSS_KEY,
STAGE_BOSS_ENEMY,
STAGE_LIFE,
STAGE_BOSS_DEMO,
OOCCOO_NOTE,
STAGE_BOSS_ENEMY_2
/* 0x0 */ MAP,
/* 0x1 */ COMPASS,
/* 0x2 */ BOSS_KEY,
/* 0x3 */ STAGE_BOSS_ENEMY,
/* 0x4 */ STAGE_LIFE,
/* 0x5 */ STAGE_BOSS_DEMO,
/* 0x6 */ OOCCOO_NOTE,
/* 0x7 */ STAGE_BOSS_ENEMY_2
};
void init();