summaryrefslogtreecommitdiff
path: root/include/JSystem/JUtility
diff options
context:
space:
mode:
Diffstat (limited to 'include/JSystem/JUtility')
-rw-r--r--include/JSystem/JUtility/JUTNameTab.h30
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 */