mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 19:50:00 +00:00
Original GXT support
This commit is contained in:
parent
a99457ee29
commit
d68ffc2da6
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
static wchar WideErrorString[25];
|
static wchar WideErrorString[25];
|
||||||
|
|
||||||
CText TheText;
|
CText *CText::msInstance = nil;
|
||||||
|
|
||||||
CText::CText(void)
|
CText::CText(void)
|
||||||
{
|
{
|
||||||
|
@ -41,7 +41,7 @@ CText::Load(void)
|
||||||
CFileMgr::SetDir("TEXT");
|
CFileMgr::SetDir("TEXT");
|
||||||
switch(FrontEndMenuManager.m_PrefsLanguage){
|
switch(FrontEndMenuManager.m_PrefsLanguage){
|
||||||
case CMenuManager::LANGUAGE_AMERICAN:
|
case CMenuManager::LANGUAGE_AMERICAN:
|
||||||
sprintf(filename, "AMERICAN.GXT");
|
sprintf(filename, "ENGLISH.GXT");
|
||||||
break;
|
break;
|
||||||
case CMenuManager::LANGUAGE_FRENCH:
|
case CMenuManager::LANGUAGE_FRENCH:
|
||||||
sprintf(filename, "FRENCH.GXT");
|
sprintf(filename, "FRENCH.GXT");
|
||||||
|
@ -93,11 +93,13 @@ CText::Load(void)
|
||||||
keyArray.Update(data.chars);
|
keyArray.Update(data.chars);
|
||||||
CFileMgr::CloseFile(file);
|
CFileMgr::CloseFile(file);
|
||||||
CFileMgr::SetDir("");
|
CFileMgr::SetDir("");
|
||||||
|
bIsLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CText::Unload(void)
|
CText::Unload(void)
|
||||||
{
|
{
|
||||||
|
bIsLoaded = false;
|
||||||
CMessages::ClearAllMessagesDisplayedByGame();
|
CMessages::ClearAllMessagesDisplayedByGame();
|
||||||
keyArray.Unload();
|
keyArray.Unload();
|
||||||
data.Unload();
|
data.Unload();
|
||||||
|
@ -307,6 +309,11 @@ CText::LoadMissionText(char *MissionTableName)
|
||||||
bIsMissionTextLoaded = true;
|
bIsMissionTextLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CText::IsLoaded()
|
||||||
|
{
|
||||||
|
return bIsLoaded;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CKeyArray::Load(size_t length, int file, size_t* offset)
|
CKeyArray::Load(size_t length, int file, size_t* offset)
|
||||||
|
|
|
@ -58,7 +58,7 @@ public:
|
||||||
uint32 offset;
|
uint32 offset;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {MAX_MISSION_TEXTS = 90}; // beware that LCS has more
|
enum {MAX_MISSION_TEXTS = 200};
|
||||||
|
|
||||||
Entry data[MAX_MISSION_TEXTS];
|
Entry data[MAX_MISSION_TEXTS];
|
||||||
uint16 size; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
uint16 size; // You can make this size_t if you want to exceed 32-bit boundaries, everything else should be ready.
|
||||||
|
@ -84,6 +84,9 @@ class CText
|
||||||
bool bIsMissionTextLoaded;
|
bool bIsMissionTextLoaded;
|
||||||
char szMissionTableName[8];
|
char szMissionTableName[8];
|
||||||
CMissionTextOffsets MissionTextOffsets;
|
CMissionTextOffsets MissionTextOffsets;
|
||||||
|
bool bIsLoaded;
|
||||||
|
|
||||||
|
static CText *msInstance;
|
||||||
public:
|
public:
|
||||||
CText(void);
|
CText(void);
|
||||||
void Load(void);
|
void Load(void);
|
||||||
|
@ -94,6 +97,15 @@ public:
|
||||||
void GetNameOfLoadedMissionText(char *outName);
|
void GetNameOfLoadedMissionText(char *outName);
|
||||||
void ReadChunkHeader(ChunkHeader *buf, int32 file, size_t *bytes_read);
|
void ReadChunkHeader(ChunkHeader *buf, int32 file, size_t *bytes_read);
|
||||||
void LoadMissionText(char *MissionTableName);
|
void LoadMissionText(char *MissionTableName);
|
||||||
|
bool IsLoaded();
|
||||||
|
void GetUTF8(const char*, char*, int); // TODO but unused
|
||||||
|
|
||||||
|
static CText &Instance()
|
||||||
|
{
|
||||||
|
if (!msInstance)
|
||||||
|
msInstance = new CText;
|
||||||
|
return *msInstance;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
extern CText TheText;
|
#define TheText CText::Instance()
|
||||||
|
|
Loading…
Reference in a new issue