mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-01 11:28:53 -04:00
d_name mostly done (#1082)
This commit is contained in:
@@ -114,7 +114,7 @@ public:
|
||||
void setCornerColor(JUtility::TColor c) { setCornerColor(c, c, c, c); }
|
||||
|
||||
void setBinding(J2DBinding v) { mBinding = v; }
|
||||
void setMirror(J2DMirror v) {} // untested { mFlag = (mFlag & ~0x03) | v; }
|
||||
void setMirror(J2DMirror v) { mFlag = (mFlag & 0x04) | v; }
|
||||
J2DMirror getMirror() const { return J2DMirror(mFlag & 0x03); }
|
||||
|
||||
void setTumble(bool v) {} // untested { mFlag = (mFlag & ~0x04) | (v << 2); }
|
||||
|
||||
@@ -593,6 +593,7 @@ public:
|
||||
void setFontArchive(JKRArchive * pArc) { mpFont0Archive = pArc; }
|
||||
void setMsgDtArchive(JKRArchive * pArc) { mpEnglishTextArchive = pArc; }
|
||||
JKRArchive* getMsgDtArchive() { return mpEnglishTextArchive; }
|
||||
JKRArchive* getNameResArchive() { return mpNameResArchive; }
|
||||
#if VERSION > VERSION_JPN
|
||||
void setMsgDt2Archive(JKRArchive * pArc) { mpHyruleTextArchive = pArc; }
|
||||
JKRArchive* getMsgDt2Archive() { return mpHyruleTextArchive; }
|
||||
@@ -3880,6 +3881,7 @@ inline void dComIfGp_setWindResArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.p
|
||||
inline void dComIfGp_setFontArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setFontArchive(pArc); }
|
||||
inline void dComIfGp_setMsgDtArchive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgDtArchive(pArc); }
|
||||
inline JKRArchive* dComIfGp_getMsgDtArchive() { return g_dComIfG_gameInfo.play.getMsgDtArchive(); }
|
||||
inline JKRArchive* dComIfGp_getNameResArchive() { return g_dComIfG_gameInfo.play.getNameResArchive(); }
|
||||
#if VERSION > VERSION_JPN
|
||||
inline void dComIfGp_setMsgDt2Archive(JKRArchive * pArc) { g_dComIfG_gameInfo.play.setMsgDt2Archive(pArc); }
|
||||
inline JKRArchive* dComIfGp_getMsgDt2Archive() { return g_dComIfG_gameInfo.play.getMsgDt2Archive(); }
|
||||
|
||||
+177
-25
@@ -3,35 +3,122 @@
|
||||
|
||||
#include "d/d_drawlist.h"
|
||||
#include "m_Do/m_Do_hostIO.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
|
||||
class dNm_HIO_c {
|
||||
class dNm_HIO_c : public JORReflexible {
|
||||
public:
|
||||
dNm_HIO_c();
|
||||
virtual ~dNm_HIO_c() {}
|
||||
|
||||
void genMessage(JORMContext* ctx) { /* TODO */ }
|
||||
|
||||
/* 0x04 */ s8 id;
|
||||
/* 0x05 */ u8 field_0x5;
|
||||
/* 0x06 */ u8 field_0x6;
|
||||
/* 0x07 */ u8 field_0x7;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x09 */ u8 field_0x9;
|
||||
/* 0x0A */ u8 field_0xa;
|
||||
/* 0x0B */ u8 field_0xb;
|
||||
/* 0x0C */ u8 field_0xc;
|
||||
/* 0x0D */ u8 field_0xd;
|
||||
/* 0x0E */ u8 field_0xe;
|
||||
/* 0x0F */ u8 field_0xf;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x13 */ u8 field_0x13;
|
||||
/* 0x14 */ u8 field_0x14;
|
||||
/* 0x15 */ u8 field_0x15;
|
||||
/* 0x16 */ u8 field_0x16;
|
||||
/* 0x17 */ u8 field_0x17;
|
||||
/* 0x18 */ u8 field_0x18;
|
||||
/* 0x19 */ u8 field_0x19;
|
||||
/* 0x1A */ u8 field_0x1a;
|
||||
/* 0x1B */ u8 field_0x1b;
|
||||
/* 0x1C */ u8 field_0x1c;
|
||||
/* 0x1D */ u8 field_0x1d;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
/* 0x1F */ u8 field_0x1f;
|
||||
/* 0x20 */ u8 field_0x20;
|
||||
/* 0x21 */ u8 field_0x21;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
/* 0x23 */ u8 field_0x23;
|
||||
/* 0x24 */ u8 field_0x24[0x26 - 0x24];
|
||||
/* 0x26 */ s16 field_0x26;
|
||||
/* 0x28 */ s16 field_0x28;
|
||||
/* 0x2A */ s16 field_0x2a[3];
|
||||
/* 0x30 */ s16 field_0x30[3];
|
||||
/* 0x36 */ s16 field_0x36[3];
|
||||
/* 0x3C */ s16 field_0x3c[3];
|
||||
/* 0x42 */ s16 field_0x42;
|
||||
/* 0x44 */ s16 field_0x44;
|
||||
/* 0x46 */ s16 field_0x46;
|
||||
/* 0x48 */ s16 field_0x48;
|
||||
};
|
||||
|
||||
class J2DScreen;
|
||||
|
||||
class dDlst_NameIN_c : public dDlst_base_c {
|
||||
public:
|
||||
virtual ~dDlst_NameIN_c() {}
|
||||
void draw();
|
||||
|
||||
/* 0x4 */ J2DScreen* NameInScr;
|
||||
/* 0x8 */ JUTFont* font;
|
||||
};
|
||||
|
||||
class STControl;
|
||||
|
||||
class ChrInfo_c {
|
||||
public:
|
||||
/* 0x0 */ u8 column;
|
||||
/* 0x1 */ u8 row;
|
||||
/* 0x2 */ u8 set;
|
||||
/* 0x3 */ u8 field_0x3;
|
||||
/* 0x4 */ int character;
|
||||
};
|
||||
|
||||
class dName_c {
|
||||
public:
|
||||
enum {
|
||||
PROC_MOJI_SELECT,
|
||||
PROC_MENU_SELECT,
|
||||
PROC_MENU_BUTTON_ANIME,
|
||||
PROC_END_WAIT
|
||||
};
|
||||
|
||||
enum {
|
||||
MOJI_HIRA, // hiragana characters
|
||||
MOJI_KATA, // katakana characters
|
||||
MOJI_EIGO, // english characters
|
||||
};
|
||||
|
||||
enum {
|
||||
MENU_HIRA, // (JPN )hiragana menu, (PAL) uppercase menu
|
||||
MENU_KATA, // (JPN )katakana menu, (PAL) lowercase menu
|
||||
#if VERSION < VERSION_PAL
|
||||
MENU_EIGO, // english menu
|
||||
#endif
|
||||
MENU_BACKSPACE,
|
||||
MENU_END,
|
||||
|
||||
MENU_MAX = 5,
|
||||
};
|
||||
|
||||
dName_c() {}
|
||||
virtual ~dName_c() {}
|
||||
|
||||
void draw() { _draw(); }
|
||||
int isInputEnd() { return mIsInputEnd; }
|
||||
char* getInputStrPtr() { return mInputStr; }
|
||||
void setNextNameStr(char* i_name) { strcpy(mNextNameStr, i_name); }
|
||||
int isInputEnd() { return isInputEnd_; }
|
||||
char* getInputStrPtr() { return inputStr; }
|
||||
void setNextNameStr(char* i_name) { strcpy(nextNameStr, i_name); }
|
||||
|
||||
void _create();
|
||||
void initial();
|
||||
void _delete();
|
||||
void _move();
|
||||
void nameCheck();
|
||||
int nameCheck();
|
||||
void playNameSet(int);
|
||||
bool _open();
|
||||
bool _close();
|
||||
@@ -39,9 +126,9 @@ public:
|
||||
void nameCursorAnime();
|
||||
void EndWait();
|
||||
void MojiSelect();
|
||||
void mojiChange(u8);
|
||||
int mojiChange(u8);
|
||||
void selectMojiSet();
|
||||
void getMoji();
|
||||
int getMoji();
|
||||
void setMoji(int);
|
||||
void setNameText();
|
||||
void nameCursorMove();
|
||||
@@ -60,28 +147,93 @@ public:
|
||||
void _draw();
|
||||
void screenSet();
|
||||
void paneTransInit();
|
||||
void PaneTranceTitle(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceName(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceBase0(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceBase(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceHira(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceKata(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceEisu(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceArrow(s16, u8, f32, f32, u8, int);
|
||||
void PaneTranceEnd(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceTitle(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceName(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceBase0(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceBase(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceHira(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceKata(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceEisu(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceArrow(s16, u8, f32, f32, u8, int);
|
||||
int PaneTranceEnd(s16, u8, f32, f32, u8, int);
|
||||
void displayInit();
|
||||
void NameStrSet();
|
||||
|
||||
/* 0x0004 */ u8 field_0x4[0x0008 - 0x0004];
|
||||
/* 0x0008 */ dDlst_NameIN_c field_0x8;
|
||||
/* 0x000C */ u8 field_0xc[0x290B - 0x000C];
|
||||
/* 0x290B */ u8 mIsInputEnd;
|
||||
/* 0x290C */ u8 field_0x290c[0x2A5C - 0x290C];
|
||||
/* 0x2A5C */ char mInputStr[8];
|
||||
/* 0x2A64 */ u8 field_0x2964[0x2AD0 - 0x2A64];
|
||||
/* 0x2AD0 */ char mNextNameStr[0x2AE8 - 0x2AD0];
|
||||
void _deleteSp();
|
||||
|
||||
#if VERSION <= VERSION_JPN
|
||||
BOOL checkDakuon(int, u8);
|
||||
BOOL setDakuon(int, u8);
|
||||
#endif
|
||||
|
||||
/* 0x0004 */ JKRArchive* archive;
|
||||
/* 0x0008 */ dDlst_NameIN_c nameIn;
|
||||
/* 0x0014 */ fopMsgM_pane_class field_0x14;
|
||||
/* 0x004C */ fopMsgM_pane_class eisuMojiPanes[13];
|
||||
/* 0x0324 */ fopMsgM_pane_class kataMojiPanes[13];
|
||||
/* 0x05FC */ fopMsgM_pane_class hiraMojiPanes[13];
|
||||
/* 0x08D4 */ fopMsgM_pane_class field_0x8d4[3];
|
||||
/* 0x097C */ fopMsgM_pane_class field_0x97c[5];
|
||||
/* 0x0A94 */ fopMsgM_pane_class finBtnPane;
|
||||
/* 0x0ACC */ fopMsgM_pane_class field_0xacc[10];
|
||||
/* 0x0CFC */ fopMsgM_pane_class field_0xcfc[5];
|
||||
/* 0x0E14 */ fopMsgM_pane_class yazBtnPane;
|
||||
/* 0x0E4C */ fopMsgM_pane_class field_0xe4c[10];
|
||||
/* 0x107C */ fopMsgM_pane_class field_0x107c[5];
|
||||
/* 0x1194 */ fopMsgM_pane_class englBtnPane;
|
||||
/* 0x11CC */ fopMsgM_pane_class field_0x11cc[10];
|
||||
/* 0x13FC */ fopMsgM_pane_class field_0x13fc[5];
|
||||
/* 0x1514 */ fopMsgM_pane_class kanaBtnPane;
|
||||
/* 0x154C */ fopMsgM_pane_class field_0x154c[10];
|
||||
/* 0x177C */ fopMsgM_pane_class field_0x177c[5];
|
||||
/* 0x1894 */ fopMsgM_pane_class hiraBtnPane;
|
||||
/* 0x18CC */ fopMsgM_pane_class field_0x18cc[10];
|
||||
/* 0x1AFC */ fopMsgM_pane_class field_0x1afc[5];
|
||||
/* 0x1C14 */ fopMsgM_pane_class namePane;
|
||||
/* 0x1C4C */ fopMsgM_pane_class field_0x1c4c;
|
||||
/* 0x1C84 */ fopMsgM_pane_class field_0x1c84[5];
|
||||
/* 0x1D9C */ fopMsgM_pane_class field_0x1d9c[7];
|
||||
/* 0x1F24 */ fopMsgM_pane_class field_0x1f24[7];
|
||||
/* 0x20AC */ fopMsgM_pane_class titlePane;
|
||||
/* 0x20E4 */ fopMsgM_pane_class field_0x20e4[5];
|
||||
/* 0x21FC */ fopMsgM_pane_class field_0x21fc[7];
|
||||
/* 0x2384 */ fopMsgM_pane_class field_0x2384[7];
|
||||
/* 0x250C */ fopMsgM_pane_class field_0x250c[9];
|
||||
/* 0x2704 */ fopMsgM_pane_class field_0x2704[9];
|
||||
/* 0x28FC */ STControl* stick;
|
||||
/* 0x2900 */ u8 charColumn;
|
||||
/* 0x2901 */ u8 charRow;
|
||||
/* 0x2902 */ u8 mojiSet;
|
||||
/* 0x2903 */ u8 selProc;
|
||||
/* 0x2904 */ u8 selMenu;
|
||||
/* 0x2905 */ u8 field_0x2905;
|
||||
/* 0x2906 */ u8 field_0x2906;
|
||||
/* 0x2907 */ u8 curPos;
|
||||
/* 0x2908 */ u8 field_0x2908;
|
||||
/* 0x2909 */ u8 field_0x2909;
|
||||
/* 0x290A */ u8 field_0x290a;
|
||||
/* 0x290B */ u8 isInputEnd_;
|
||||
/* 0x290C */ u8 prevMojiSet;
|
||||
/* 0x290D */ u8 field_0x290d;
|
||||
/* 0x290E */ u8 field_0x290E[0x2910 - 0x290E];
|
||||
/* 0x2910 */ s16 paneTransTimer;
|
||||
/* 0x2912 */ u8 field_0x2912[0x2914 - 0x2912];
|
||||
/* 0x2914 */ char nameBuffer[320];
|
||||
/* 0x2A54 */ char* pCurTxt;
|
||||
/* 0x2A58 */ char* pNameTxt;
|
||||
/* 0x2A5C */ char inputStr[20];
|
||||
/* 0x2A70 */ ChrInfo_c chrInfo[8];
|
||||
/* 0x2AB0 */ u8 field_0x2ab0[MENU_MAX][4];
|
||||
/* 0x2AC4 */ f32 field_0x2ac4;
|
||||
/* 0x2AC8 */ f32 field_0x2ac8;
|
||||
/* 0x2ACC */ f32 field_0x2acc;
|
||||
/* 0x2AD0 */ char nextNameStr[20];
|
||||
/* 0x2AE4 */ u32 inputCompleteSound;
|
||||
#if VERSION == VERSION_PAL
|
||||
/* 0x2AE8 */ char* field_0x2ae8;
|
||||
#endif
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(dName_c) == 0x2AE8);
|
||||
//STATIC_ASSERT(sizeof(dName_c) == 0x2AE8);
|
||||
|
||||
#endif /* D_NAME_H */
|
||||
|
||||
@@ -73,4 +73,10 @@ extern void __sync();
|
||||
#define DEMO_SELECT(DEMO, RETAIL) (RETAIL)
|
||||
#endif
|
||||
|
||||
#ifdef __MWERKS__
|
||||
#define SJIS(character, value) character
|
||||
#else
|
||||
#define SJIS(character, value) ((u32)value)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
+2077
-70
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user