mirror of
https://github.com/zeldaret/oot-vc.git
synced 2026-09-26 13:33:20 -04:00
107fc0c144
* various improvements * other improvements
87 lines
2.6 KiB
C
87 lines
2.6 KiB
C
#ifndef _STRINGTABLE_H
|
|
#define _STRINGTABLE_H
|
|
|
|
#include "revolution/types.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define ENCODING_NAME_LENGTH 18
|
|
|
|
typedef enum StringTableID {
|
|
TID_NONE = 0,
|
|
TID_ERRORS = 0x2842C987,
|
|
TID_COMMENTS = 0x3D2C2A7C
|
|
} StringTableID;
|
|
|
|
typedef enum StringID {
|
|
SID_NONE = 0,
|
|
SID_ERROR_BLANK = 0xA4E943CC,
|
|
SID_ERROR_CHOICE_OK = 0xF6C5198F,
|
|
SID_ERROR_CHOICE_PRESS_A_TO_RETURN_TO_MENU = 0xBB628DD1,
|
|
SID_ERROR_DATA_CORRUPT = 0x14A5B6E2,
|
|
SID_ERROR_DVD_STATE_FATAL_ERROR = 0xEBB077F2,
|
|
SID_ERROR_DVD_STATE_NO_DISK = 0x3A1F93A8,
|
|
SID_ERROR_DVD_STATE_RETRY = 0x25D38BC6,
|
|
SID_ERROR_DVD_STATE_WRONG_DISK = 0x7527596C,
|
|
SID_ERROR_FATAL = 0x27A3CCC2,
|
|
SID_ERROR_GAMECUBE_CONTROLLER_CONNECTED = 0xD6E8882D,
|
|
SID_ERROR_INS_INNODE = 0xE136B8C3,
|
|
SID_ERROR_INS_SPACE = 0xFBB27B1C,
|
|
SID_ERROR_INS_SPACE_PLURAL = 0x92FBDC3E,
|
|
SID_ERROR_MAX_BLOCKS = 0xC0192EA3,
|
|
SID_ERROR_MAX_FILES = 0x5D3A795B,
|
|
SID_ERROR_NEED_CLASSIC = 0x2F8DCDD7,
|
|
SID_ERROR_NO_CONTROLLER = 0x1786067E,
|
|
SID_ERROR_NWC24_CORRUPTED_FILE = 0x19C2F27E,
|
|
SID_ERROR_NWC24_ERROR_BUFFER = 0xB958D7EE,
|
|
SID_ERROR_NWC24_FATAL_ERROR = 0xECC5F9D8,
|
|
SID_ERROR_NWC24_SYSTEM_MENU_UPDATE_REQUIRED = 0x0522BEC0,
|
|
SID_ERROR_NWC24_UNAVAILABLE = 0xE1347C92,
|
|
SID_ERROR_REMOTE_BATTERY = 0x80E449BF,
|
|
SID_ERROR_REMOTE_COMMUNICATION = 0xB35ABA8B,
|
|
SID_ERROR_SYS_CORRUPT = 0x57D16861,
|
|
SID_ERROR_TIME_UP_OF_THE_TRIAL_VER = 0xA2B7EF38,
|
|
SID_COMMENT_GAME_NAME = 0x30690AFB,
|
|
SID_COMMENT_EMPTY = 0x30690AFD,
|
|
SID_ERROR_PHOTO_ALREADY_POSTED = 0x4016043D,
|
|
SID_ERROR_PHOTO_CANT_POST = 0xB93DC9EA,
|
|
SID_ERROR_PHOTO_POSTED = 0x24B1085E,
|
|
SID_ERROR_SYS_CORRUPT_REDOWNLOAD = 0x3D24B5C1,
|
|
SID_ERROR_SYS_MEM_CANT_ACCESS = 0xE46954BD,
|
|
SID_ERROR_SYS_MEM_CANT_ACCESS_2 = 0xEE30A5E0,
|
|
} StringID;
|
|
|
|
typedef struct STEntry {
|
|
/* 0x00 */ u32 nStringID;
|
|
/* 0x04 */ s32 nTextOffset1;
|
|
/* 0x08 */ s32 nTextOffset2; // same as `nTextOffset1`
|
|
/* 0x0C */ s16 nTextSize1;
|
|
/* 0x0E */ s16 nTextSize2; // same as `nTextSize1`
|
|
} STEntry; // size = 0x10
|
|
|
|
typedef struct STHeader {
|
|
/* 0x00 */ s32 magic;
|
|
/* 0x04 */ StringTableID eTableID;
|
|
/* 0x08 */ u16 nEntries;
|
|
/* 0x0A */ char szEncoding[ENCODING_NAME_LENGTH];
|
|
/* 0x1C */ char unk1C[2];
|
|
/* 0x1E */ u8 nSizeEntry;
|
|
/* 0x20 */ u8* entries;
|
|
} STHeader; // size = 0x24
|
|
|
|
typedef struct StringTable {
|
|
/* 0x00 */ STHeader header;
|
|
/* 0x24 */ char* szStrings;
|
|
} StringTable; // size = 0x28
|
|
|
|
STEntry* tableGetEntry(StringTable* pStringTable, StringID eStringID);
|
|
char* tableGetString(void* pSTBuffer, StringID eStringID);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|