summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-04-28 13:58:43 -0700
committerGitHub <noreply@github.com>2022-04-28 16:58:43 -0400
commitd91b1294bbe8bbe802bb49e0db9019ca26bbefbd (patch)
treeafa001295c4a119e68225e9d6a26fe9584dbf504 /include/d
parent07c5152e5acff18c08a92b3c773583ae0114c5f4 (diff)
d_name / d_s_name (#194)
* d_name * scnname
Diffstat (limited to 'include/d')
-rw-r--r--include/d/com/d_com_inf_game.h76
-rw-r--r--include/d/d_drawlist.h17
-rw-r--r--include/d/d_name.h143
-rw-r--r--include/d/kankyo/d_kankyo.h2
-rw-r--r--include/d/meter/d_meter2_info.h4
-rw-r--r--include/d/pane/d_pane_class.h7
-rw-r--r--include/d/s/d_s_logo.h1
-rw-r--r--include/d/s/d_s_play.h1
-rw-r--r--include/d/save/d_save.h6
9 files changed, 249 insertions, 8 deletions
diff --git a/include/d/com/d_com_inf_game.h b/include/d/com/d_com_inf_game.h
index bea6fd06c7..115a7a4bf7 100644
--- a/include/d/com/d_com_inf_game.h
+++ b/include/d/com/d_com_inf_game.h
@@ -332,6 +332,7 @@ public:
JKRArchive* getAnmArchive() { return mAnmArchive; }
JKRArchive* getCollectResArchive() { return mCollectResArchive; }
JKRArchive* getItemIconArchive() { return mItemIconArchive; }
+ JKRArchive* getNameResArchive() { return mNameResArchive; }
JKRAramArchive* getFieldMapArchive2() { return (JKRAramArchive*)mFieldMapArchive2; }
void setFieldMapArchive2(JKRArchive* arc) { mFieldMapArchive2 = arc; }
@@ -355,12 +356,14 @@ public:
void setMain2DArchive(JKRArchive* arc) { mMain2DArchive = arc; }
void setItemTable(void* data) { mItemTable = data; }
+ void setPlayer(int i, fopAc_ac_c* player) { mPlayer[i] = (daAlink_c*)player; }
void setPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] |= flag; }
void clearPlayerStatus(int param_0, int i, u32 flag) { mPlayerStatus[i] &= ~flag; }
bool checkPlayerStatus(int param_0, int i, u32 flag) { return flag & mPlayerStatus[i]; }
s8 getPlayerCameraID(int i) { return mPlayerCameraID[i]; }
void setCameraParamFileName(int i, char* name) { mCameraInfo[i].mCameraParamFileName = name; }
+ void setCamera(int i, camera_class* cam) { mCameraInfo[i].mCamera = cam; }
const char* getCameraParamFileName(int i) { return mCameraInfo[i].mCameraParamFileName; }
BOOL checkCameraAttentionStatus(int i, u32 flag) {
return mCameraInfo[i].mCameraAttentionStatus & flag;
@@ -376,6 +379,16 @@ public:
void setMesgCancelButton(u8 button) { mMesgCancelButton = button; }
int getMessageCountNumber() { return mMessageCountNum; }
+ void setWindowNum(u8 num) { mWindowNum = num; }
+ dDlst_window_c* getWindow(int i) { return &mWindow[i]; }
+ void setWindow(int i, f32 param_1, f32 param_2, f32 param_3, f32 param_4, f32 param_5,
+ f32 param_6, int camID, int mode) {
+ mWindow[i].setViewPort(param_1, param_2, param_3, param_4, param_5, param_6);
+ mWindow[i].setScissor(param_1, param_2, param_3, param_4);
+ mWindow[i].setCameraID(camID);
+ mWindow[i].setMode(mode);
+ }
+
public:
/* 0x00000 */ dBgS mBgs;
/* 0x01404 */ dCcS mCcs;
@@ -741,6 +754,7 @@ void dComIfGs_onOneZoneSwitch(int param_0, int param_1);
void dComIfGs_offZoneSwitch(int param_0, int param_1);
void dComIfGs_offOneZoneSwitch(int param_0, int param_1);
s8 dComIfGp_getReverb(int roomNo);
+void dComIfGs_gameStart();
inline void dComIfGs_onDungeonItemMap() {
g_dComIfG_gameInfo.info.getMemory().getBit().onDungeonItemMap();
@@ -1289,6 +1303,10 @@ inline void dComIfGs_initDan(s8 i_stageNo) {
g_dComIfG_gameInfo.info.initDan(i_stageNo);
}
+inline void dComIfGs_resetDan() {
+ g_dComIfG_gameInfo.info.resetDan();
+}
+
inline u16 dComIfGs_getRupeeMax() {
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getRupeeMax();
}
@@ -1321,6 +1339,22 @@ inline u8 dComIfGs_checkBombBag(u8 i_itemNo) {
return g_dComIfG_gameInfo.info.getPlayer().getItem().checkBombBag(i_itemNo);
}
+inline s64 dComIfGs_getTotalTime() {
+ return g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().getTotalTime();
+}
+
+inline void dComIfGs_setSaveTotalTime(s64 time) {
+ g_dComIfG_gameInfo.info.setSaveTotalTime(time);
+}
+
+inline void dComIfGs_setSaveStartTime(s64 time) {
+ g_dComIfG_gameInfo.info.setStartTime(time);
+}
+
+inline void dComIfGs_setNoFile(u8 file) {
+ g_dComIfG_gameInfo.info.setNoFile(file);
+}
+
void dComIfGp_setItemLifeCount(f32 amount, u8 type);
void dComIfGp_setItemRupeeCount(long amount);
void dComIfGp_setSelectItem(int index);
@@ -1400,6 +1434,10 @@ inline JKRArchive* dComIfGp_getItemIconArchive() {
return g_dComIfG_gameInfo.play.getItemIconArchive();
}
+inline JKRArchive* dComIfGp_getNameResArchive() {
+ return g_dComIfG_gameInfo.play.getNameResArchive();
+}
+
inline JKRArchive* dComIfGp_getMsgDtArchive(int idx) {
return g_dComIfG_gameInfo.play.getMsgDtArchive(idx);
}
@@ -1772,6 +1810,10 @@ inline void dComIfGp_setStatus(u16 status) {
g_dComIfG_gameInfo.play.setStatus(status);
}
+inline void dComIfGp_setPlayer(int i, fopAc_ac_c* player) {
+ g_dComIfG_gameInfo.play.setPlayer(i, player);
+}
+
inline void dComIfGp_setPlayerStatus0(int param_0, u32 flag) {
g_dComIfG_gameInfo.play.setPlayerStatus(param_0, 0, flag);
}
@@ -1908,10 +1950,28 @@ inline void dComIfGp_setCameraParamFileName(int i, char* name) {
g_dComIfG_gameInfo.play.setCameraParamFileName(i, name);
}
+inline void dComIfGp_setCamera(int i, camera_class* cam) {
+ g_dComIfG_gameInfo.play.setCamera(i, cam);
+}
+
inline const char* dComIfGp_getCameraParamFileName(int i) {
return g_dComIfG_gameInfo.play.getCameraParamFileName(i);
}
+inline void dComIfGp_setWindowNum(int num) {
+ g_dComIfG_gameInfo.play.setWindowNum(num);
+}
+
+inline dDlst_window_c* dComIfGp_getWindow(int i) {
+ return g_dComIfG_gameInfo.play.getWindow(i);
+}
+
+inline void dComIfGp_setWindow(u8 i, f32 param_1, f32 param_2, f32 param_3, f32 param_4,
+ f32 param_5, f32 param_6, int camID, int mode) {
+ g_dComIfG_gameInfo.play.setWindow(i, param_1, param_2, param_3, param_4, param_5, param_6,
+ camID, mode);
+}
+
inline s8 dComIfGp_getLayerOld() {
return g_dComIfG_gameInfo.play.getLayerOld();
}
@@ -2040,6 +2100,10 @@ inline void dComIfGp_particle_cleanup() {
g_dComIfG_gameInfo.play.getParticle()->cleanup();
}
+inline void dComIfGp_particle_removeScene(bool param_0) {
+ g_dComIfG_gameInfo.play.getParticle()->removeScene(param_0);
+}
+
inline u32 dComIfGp_particle_set(u32 param_0, 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,
@@ -2158,6 +2222,18 @@ inline void dComIfGd_peekZdata() {
g_dComIfG_gameInfo.drawlist.peekZdata();
}
+inline void dComIfGd_setView(view_class* view) {
+ g_dComIfG_gameInfo.drawlist.setView(view);
+}
+
+inline void dComIfGd_setWindow(dDlst_window_c* window) {
+ g_dComIfG_gameInfo.drawlist.setWindow(window);
+}
+
+inline void dComIfGd_setViewport(view_port_class* port) {
+ g_dComIfG_gameInfo.drawlist.setViewport(port);
+}
+
inline daPy_py_c* daPy_getLinkPlayerActorClass() {
return dComIfGp_getLinkPlayer();
}
diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h
index 54908ab78e..93df763497 100644
--- a/include/d/d_drawlist.h
+++ b/include/d/d_drawlist.h
@@ -191,6 +191,10 @@ public:
/* 80051AC0 */ void setViewPort(f32, f32, f32, f32, f32, f32);
/* 80051ADC */ void setScissor(f32, f32, f32, f32);
+ void setCameraID(int id) { mCameraID = id; }
+ void setMode(int mode) { mMode = mode; }
+ f32 getViewPort() { return mViewport; }
+
private:
/* 0x00 */ f32 mViewport;
/* 0x04 */ f32 field_0x04;
@@ -208,15 +212,11 @@ private:
STATIC_ASSERT(sizeof(dDlst_window_c) == 0x2C);
-struct view_port_class {};
-
-struct view_class {
- /* 0x00 */ u8 field_0x0[0xD0];
- /* 0xD0 */ f32 field_0xd0;
-};
-
extern u8 data_80450ED0; // Wipe
+struct view_port_class;
+struct view_class;
+
class dDlst_list_c {
public:
/* 800560F0 */ dDlst_list_c();
@@ -237,6 +237,9 @@ 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; }
+ void setView(view_class* view) { mView = view; }
+ void setWindow(dDlst_window_c* window) { mWindow = window; }
+ void setViewport(view_port_class* port) { mViewport = port; }
J3DDrawBuffer* getOpaListFilter() { return mListFilter; }
J3DDrawBuffer* getOpaListP0() { return mListP0; }
J3DDrawBuffer* getOpaListPacket() { return mOpaListPacket; }
diff --git a/include/d/d_name.h b/include/d/d_name.h
index aa8be77dd7..b2a4101efd 100644
--- a/include/d/d_name.h
+++ b/include/d/d_name.h
@@ -1,6 +1,149 @@
#ifndef D_D_NAME_H
#define D_D_NAME_H
+#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
+class dNm_HIO_c {
+public:
+ /* 8024E3E0 */ dNm_HIO_c();
+ /* 802511A4 */ virtual ~dNm_HIO_c();
+
+ /* 0x04 */ s8 field_0x4;
+ /* 0x08 */ f32 mMenuScale;
+ /* 0x0C */ f32 mSelCharScale;
+ /* 0x10 */ u8 field_0x10;
+};
+
+class dDlst_NameIN_c : public dDlst_base_c {
+public:
+ dDlst_NameIN_c() {}
+
+ /* 80251094 */ virtual void draw();
+ /* 8025115C */ virtual ~dDlst_NameIN_c();
+
+ /* 0x04 */ J2DScreen* NameInScr;
+ /* 0x08 */ JUTFont* font;
+ /* 0x0C */ J2DPane* field_0xc;
+ /* 0x10 */ J2DPane* field_0x10;
+};
+
+class ChrInfo_c {
+public:
+ /* 0x0 */ u8 mColumn;
+ /* 0x1 */ u8 mRow;
+ /* 0x2 */ u8 mMojiSet;
+ /* 0x3 */ u8 field_0x3;
+ /* 0x4 */ int mCharacter;
+}; // Size: 0x8
+
+class dName_c {
+public:
+ enum {
+ PROC_MOJI_SELECT,
+ PROC_MOJI_SEL_ANM,
+ PROC_MOJI_SEL_ANM2,
+ PROC_MOJI_SEL_ANM3,
+ PROC_MENU_SELECT,
+ PROC_MENU_SEL_ANM,
+ PROC_MENU_SEL_ANM2,
+ PROC_MENU_SEL_ANM3,
+ PROC_WAIT
+ };
+
+ enum {
+ MOJI_HIRA,
+ MOJI_KATA,
+ MOJI_EIGO,
+ };
+
+ enum {
+ MENU_HIRA,
+ MENU_KATA,
+ MENU_EIGO,
+ MENU_END,
+ };
+
+ /* 8024E408 */ dName_c(J2DPane*);
+ /* 8024E62C */ void _create();
+ /* 8024E6D4 */ void init();
+ /* 8024E7A4 */ void initial();
+ /* 8024E7EC */ void showIcon();
+ /* 8024E9A0 */ void _move();
+ /* 8024EC10 */ int nameCheck();
+ /* 8024EC4C */ void playNameSet(int);
+ /* 8024EC84 */ void cursorAnm();
+ /* 8024ED48 */ void Wait();
+ /* 8024ED4C */ void MojiSelect();
+ /* 8024F034 */ void MojiSelectAnmInit();
+ /* 8024F0E0 */ void MojiSelectAnm();
+ /* 8024F164 */ void MojiSelectAnm2();
+ /* 8024F1E8 */ void MojiSelectAnm3();
+ /* 8024F1EC */ int mojiChange(u8);
+ /* 8024F55C */ void selectMojiSet();
+ /* 8024F59C */ int getMoji();
+ /* 8024F634 */ void setMoji(int);
+ /* 8024F88C */ void setNameText();
+ /* 8024F914 */ void nameCursorMove();
+ /* 8024F994 */ void selectCursorMove();
+ /* 8024FAF4 */ void menuCursorPosSet();
+ /* 8024FB08 */ void MenuSelect();
+ /* 8024FDA0 */ void MenuSelectAnmInit();
+ /* 8024FDF4 */ void MenuSelectAnm();
+ /* 8024FEB4 */ void MenuSelectAnm2();
+ /* 8024FFA0 */ void MenuSelectAnm3();
+ /* 8024FFA4 */ void menuAbtnSelect();
+ /* 80250074 */ void backSpace();
+ /* 802501B0 */ void mojiListChange();
+ /* 80250284 */ void menuCursorMove();
+ /* 80250380 */ void menuCursorMove2();
+ /* 802504A0 */ void selectCursorPosSet(int);
+ /* 80250560 */ void _draw();
+ /* 802505CC */ void screenSet();
+ /* 80250CEC */ void displayInit();
+ /* 80250E54 */ void NameStrSet();
+ /* 80251048 */ s32 getMenuPosIdx(u8);
+
+ /* 8024E468 */ virtual ~dName_c();
+
+private:
+ /* 0x004 */ STControl* stick;
+ /* 0x008 */ JKRArchive* archive;
+ /* 0x00C */ dDlst_NameIN_c nameIn;
+ /* 0x020 */ dSelect_cursor_c* mSelIcon;
+ /* 0x024 */ J2DAnmColorKey* mCursorColorKey;
+ /* 0x028 */ int mCurColAnmF;
+ /* 0x02C */ J2DAnmTextureSRTKey* mCursorTexKey;
+ /* 0x030 */ int mCurTexAnmF;
+ /* 0x034 */ CPaneMgrAlpha* mNameCursor[8];
+ /* 0x054 */ char* mNameText[8];
+ /* 0x074 */ CPaneMgr* mMojiIcon[65];
+ /* 0x178 */ char* mMojiText[65];
+ /* 0x27C */ J2DPane* mMojiPane;
+ /* 0x280 */ J2DPane* mMenuPane;
+ /* 0x284 */ CPaneMgr* mMenuIcon[4];
+ /* 0x294 */ J2DTextBox* mMenuText[4];
+ /* 0x2A4 */ u8 mCursorDelay;
+ /* 0x2A5 */ u8 mCharColumn;
+ /* 0x2A6 */ u8 mPrevColumn;
+ /* 0x2A7 */ u8 mCharRow;
+ /* 0x2A8 */ u8 mPrevRow;
+ /* 0x2A9 */ u8 mMojiSet;
+ /* 0x2AA */ u8 mPrevMojiSet;
+ /* 0x2AB */ u8 mSelProc;
+ /* 0x2AC */ u8 field_0x2ac;
+ /* 0x2AD */ u8 field_0x2ad;
+ /* 0x2AE */ u8 field_0x2ae;
+ /* 0x2AF */ u8 mSelMenu;
+ /* 0x2B0 */ u8 mPrevSelMenu;
+ /* 0x2B1 */ u8 mCurPos;
+ /* 0x2B2 */ u8 mLastCurPos;
+ /* 0x2B3 */ u8 field_0x2b3;
+ /* 0x2B4 */ u8 mIsInputEnd;
+ /* 0x2B5 */ char mInputStr[23];
+ /* 0x2CC */ ChrInfo_c mChrInfo[8];
+ /* 0x30C */ u8 field_0x30c[4][4]; // ?
+ /* 0x31C */ char mNextNameStr[28];
+}; // Size: 0x338
+
#endif /* D_D_NAME_H */
diff --git a/include/d/kankyo/d_kankyo.h b/include/d/kankyo/d_kankyo.h
index 0adb1a27c1..093709a7c2 100644
--- a/include/d/kankyo/d_kankyo.h
+++ b/include/d/kankyo/d_kankyo.h
@@ -18,6 +18,8 @@ BOOL dKy_darkworld_spot_check(char const* stageName, int roomNo);
void dKy_darkworld_Area_set(char const* stageName, int roomNo);
void dKy_FiveSenses_fullthrottle_dark();
s32 dKy_daynight_check();
+void dKy_clear_game_init();
+void dKy_setLight_init();
struct LIGHT_INFLUENCE {
/* 800CFC7C */ ~LIGHT_INFLUENCE();
diff --git a/include/d/meter/d_meter2_info.h b/include/d/meter/d_meter2_info.h
index 58d9bdff40..0a052d2e5a 100644
--- a/include/d/meter/d_meter2_info.h
+++ b/include/d/meter/d_meter2_info.h
@@ -454,6 +454,10 @@ inline void dMeter2Info_setTableMapRegionNo(u8 regionNo) {
g_meter2_info.setTableMapRegionNo(regionNo);
}
+inline void dMeter2Info_changeWater(u8 bottleIdx) {
+ g_meter2_info.changeWater(bottleIdx);
+}
+
char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
diff --git a/include/d/pane/d_pane_class.h b/include/d/pane/d_pane_class.h
index f77aafc09b..9b948d2588 100644
--- a/include/d/pane/d_pane_class.h
+++ b/include/d/pane/d_pane_class.h
@@ -28,12 +28,17 @@ public:
/* 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);
+ /* 80254EBC */ Vec getGlobalVtxCenter(J2DPane*, bool, s16);
/* 80254FB8 */ void getBounds(J2DPane*);
+ Vec getGlobalVtxCenter(bool param_0, s16 param_1) {
+ return getGlobalVtxCenter(getPanePtr(), param_0, param_1);
+ }
+
void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); }
void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); }
+ void scaleAnimeStart(s16 v) { mScaleAnime = v; }
f32 getPosX() { return getPanePtr()->getBounds().i.x; }
f32 getPosY() { return getPanePtr()->getBounds().i.y; }
diff --git a/include/d/s/d_s_logo.h b/include/d/s/d_s_logo.h
index 6c8d2e1b91..086b209115 100644
--- a/include/d/s/d_s_logo.h
+++ b/include/d/s/d_s_logo.h
@@ -62,6 +62,7 @@ public:
/* 8025854C */ void setRenderMode();
public:
+ /* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ JKRExpHeap* field_0x1d0;
/* 0x1D4 */ JKRExpHeap* field_0x1d4;
/* 0x1D8 */ JKRHeap* mpHeap;
diff --git a/include/d/s/d_s_play.h b/include/d/s/d_s_play.h
index fb812dbf8d..e75bc46f51 100644
--- a/include/d/s/d_s_play.h
+++ b/include/d/s/d_s_play.h
@@ -69,6 +69,7 @@ public:
static bool isPause() { return struct_80451124 == 0; }
static void setPauseTimer(s8 time) { data_80451125 = time; }
+ /* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand;
/* 0x1D0 */ mDoDvdThd_mountXArchive_c* field_0x1d0;
/* 0x1D4 */ u8 field_0x1d4;
};
diff --git a/include/d/save/d_save.h b/include/d/save/d_save.h
index ea631aa5ef..7cccd00ae6 100644
--- a/include/d/save/d_save.h
+++ b/include/d/save/d_save.h
@@ -888,6 +888,8 @@ public:
void onItem(int i_no);
BOOL isItem(int i_no) const;
+ void reset() { mStageNo = -1; }
+
private:
/* 0x00 */ s8 mStageNo;
/* 0x01 */ u8 unk1;
@@ -1074,9 +1076,13 @@ public:
dSv_danBit_c& getDan() { return mDan; }
s64 getStartTime() const { return mStartTime; }
s64 getSaveTotalTime() const { return mSaveTotalTime; }
+ void setStartTime(s64 time) { mStartTime = time; }
+ void setSaveTotalTime(s64 time) { mSaveTotalTime = time; }
void initDan(s8 i_stage) { mDan.init(i_stage); }
+ void resetDan() { mDan.reset(); }
u8 getDataNum() const { return mDataNum; }
void removeZone(int zoneNo) { mZone[zoneNo].reset(); }
+ void setNoFile(u8 file) { mNoFile = file; }
static const int MEMORY_SWITCH = 0x80;
static const int DAN_SWITCH = 0x40;