diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2022-04-28 13:58:43 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-28 16:58:43 -0400 |
| commit | d91b1294bbe8bbe802bb49e0db9019ca26bbefbd (patch) | |
| tree | afa001295c4a119e68225e9d6a26fe9584dbf504 /include/d | |
| parent | 07c5152e5acff18c08a92b3c773583ae0114c5f4 (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.h | 76 | ||||
| -rw-r--r-- | include/d/d_drawlist.h | 17 | ||||
| -rw-r--r-- | include/d/d_name.h | 143 | ||||
| -rw-r--r-- | include/d/kankyo/d_kankyo.h | 2 | ||||
| -rw-r--r-- | include/d/meter/d_meter2_info.h | 4 | ||||
| -rw-r--r-- | include/d/pane/d_pane_class.h | 7 | ||||
| -rw-r--r-- | include/d/s/d_s_logo.h | 1 | ||||
| -rw-r--r-- | include/d/s/d_s_play.h | 1 | ||||
| -rw-r--r-- | include/d/save/d_save.h | 6 |
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; |
