diff options
Diffstat (limited to 'include/JSystem/JUtility')
| -rw-r--r-- | include/JSystem/JUtility/JUTNameTab.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/JSystem/JUtility/JUTNameTab.h b/include/JSystem/JUtility/JUTNameTab.h index 008473520a..ff0e7860e8 100644 --- a/include/JSystem/JUtility/JUTNameTab.h +++ b/include/JSystem/JUtility/JUTNameTab.h @@ -3,4 +3,34 @@ #include "dolphin/types.h" +struct ResNTAB { + u16 mEntryNum; + u16 mPad0; + struct Entry { + u16 mKeyCode; + u16 mOffs; + } mEntries[1]; + + inline const char* getName(u32 index) const { + return ((const char*)mEntries) + mEntries[index].mOffs - 4; + } +}; + +class JUTNameTab { +public: + JUTNameTab(); + JUTNameTab(const ResNTAB* pNameTable); + virtual ~JUTNameTab() {} + + void setResource(const ResNTAB* pNameTable); + s32 getIndex(char const*) const; + const char* getName(u16 index) const; + u16 calcKeyCode(char const* pName) const; + +private: + const ResNTAB* mpNameTable; + const char* mpStrData; + u16 mNameNum; +}; + #endif /* JUTNAMETAB_H */ |
