mirror of
https://git.rip/DMCA_FUCKER/re3.git
synced 2024-12-23 14:40:00 +00:00
Fix CFont type uint16 -> wchar
This commit is contained in:
parent
6e6912b613
commit
92ec403191
|
@ -116,7 +116,7 @@ int16 CFont::Size[3][193] = {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
uint16 foreign_table[128] = {
|
wchar foreign_table[128] = {
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
|
@ -228,7 +228,7 @@ CFont::InitPerFrame(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::PrintChar(float x, float y, uint16 c)
|
CFont::PrintChar(float x, float y, wchar c)
|
||||||
{
|
{
|
||||||
if(x <= 0.0f || x > SCREEN_WIDTH ||
|
if(x <= 0.0f || x > SCREEN_WIDTH ||
|
||||||
y <= 0.0f || y > SCREEN_HEIGHT) // BUG: game uses SCREENW again
|
y <= 0.0f || y > SCREEN_HEIGHT) // BUG: game uses SCREENW again
|
||||||
|
@ -274,14 +274,14 @@ CFont::PrintChar(float x, float y, uint16 c)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::PrintString(float xstart, float ystart, uint16 *s)
|
CFont::PrintString(float xstart, float ystart, wchar *s)
|
||||||
{
|
{
|
||||||
CRect rect;
|
CRect rect;
|
||||||
int numSpaces;
|
int numSpaces;
|
||||||
float lineLength;
|
float lineLength;
|
||||||
float x, y;
|
float x, y;
|
||||||
bool first;
|
bool first;
|
||||||
uint16 *start, *t;
|
wchar *start, *t;
|
||||||
|
|
||||||
if(*s == '*')
|
if(*s == '*')
|
||||||
return;
|
return;
|
||||||
|
@ -357,11 +357,11 @@ CFont::PrintString(float xstart, float ystart, uint16 *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
CFont::GetNumberLines(float xstart, float ystart, uint16 *s)
|
CFont::GetNumberLines(float xstart, float ystart, wchar *s)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
float x, y;
|
float x, y;
|
||||||
uint16 *t;
|
wchar *t;
|
||||||
|
|
||||||
n = 0;
|
n = 0;
|
||||||
if(Details.centre || Details.rightJustify)
|
if(Details.centre || Details.rightJustify)
|
||||||
|
@ -400,12 +400,12 @@ CFont::GetNumberLines(float xstart, float ystart, uint16 *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::GetTextRect(CRect *rect, float xstart, float ystart, uint16 *s)
|
CFont::GetTextRect(CRect *rect, float xstart, float ystart, wchar *s)
|
||||||
{
|
{
|
||||||
int numLines;
|
int numLines;
|
||||||
float x, y;
|
float x, y;
|
||||||
int16 maxlength;
|
int16 maxlength;
|
||||||
uint16 *t;
|
wchar *t;
|
||||||
|
|
||||||
maxlength = 0;
|
maxlength = 0;
|
||||||
numLines = 0;
|
numLines = 0;
|
||||||
|
@ -469,9 +469,9 @@ CFont::GetTextRect(CRect *rect, float xstart, float ystart, uint16 *s)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
CFont::PrintString(float x, float y, uint16 *start, uint16 *end, float spwidth)
|
CFont::PrintString(float x, float y, wchar *start, wchar *end, float spwidth)
|
||||||
{
|
{
|
||||||
uint16 *s, c, unused;
|
wchar *s, c, unused;
|
||||||
|
|
||||||
for(s = start; s < end; s++){
|
for(s = start; s < end; s++){
|
||||||
if(*s == '~')
|
if(*s == '~')
|
||||||
|
@ -487,7 +487,7 @@ CFont::PrintString(float x, float y, uint16 *start, uint16 *end, float spwidth)
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
float
|
||||||
CFont::GetCharacterWidth(uint16 c)
|
CFont::GetCharacterWidth(wchar c)
|
||||||
{
|
{
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
if (Details.proportional)
|
if (Details.proportional)
|
||||||
|
@ -503,7 +503,7 @@ CFont::GetCharacterWidth(uint16 c)
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
float
|
||||||
CFont::GetCharacterSize(uint16 c)
|
CFont::GetCharacterSize(wchar c)
|
||||||
{
|
{
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
if(Details.proportional)
|
if(Details.proportional)
|
||||||
|
@ -519,7 +519,7 @@ CFont::GetCharacterSize(uint16 c)
|
||||||
}
|
}
|
||||||
|
|
||||||
float
|
float
|
||||||
CFont::GetStringWidth(uint16 *s, bool spaces)
|
CFont::GetStringWidth(wchar *s, bool spaces)
|
||||||
{
|
{
|
||||||
float w;
|
float w;
|
||||||
|
|
||||||
|
@ -537,8 +537,8 @@ CFont::GetStringWidth(uint16 *s, bool spaces)
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16*
|
wchar*
|
||||||
CFont::GetNextSpace(uint16 *s)
|
CFont::GetNextSpace(wchar *s)
|
||||||
{
|
{
|
||||||
for(; *s != ' ' && *s != '\0'; s++)
|
for(; *s != ' ' && *s != '\0'; s++)
|
||||||
if(*s == '~'){
|
if(*s == '~'){
|
||||||
|
@ -551,8 +551,8 @@ CFont::GetNextSpace(uint16 *s)
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16*
|
wchar*
|
||||||
CFont::ParseToken(uint16 *s, uint16*)
|
CFont::ParseToken(wchar *s, wchar*)
|
||||||
{
|
{
|
||||||
s++;
|
s++;
|
||||||
if(Details.color.r || Details.color.g || Details.color.b)
|
if(Details.color.r || Details.color.g || Details.color.b)
|
||||||
|
@ -582,7 +582,7 @@ CFont::DrawFonts(void)
|
||||||
CSprite2d::DrawBank(Details.bank+2);
|
CSprite2d::DrawBank(Details.bank+2);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint16
|
wchar
|
||||||
CFont::character_code(uint8 c)
|
CFont::character_code(uint8 c)
|
||||||
{
|
{
|
||||||
if(c < 128)
|
if(c < 128)
|
||||||
|
@ -596,10 +596,10 @@ STARTPATCHES
|
||||||
InjectHook(0x500BA0, CFont::Shutdown, PATCH_JUMP);
|
InjectHook(0x500BA0, CFont::Shutdown, PATCH_JUMP);
|
||||||
InjectHook(0x500BE0, CFont::InitPerFrame, PATCH_JUMP);
|
InjectHook(0x500BE0, CFont::InitPerFrame, PATCH_JUMP);
|
||||||
InjectHook(0x500C30, CFont::PrintChar, PATCH_JUMP);
|
InjectHook(0x500C30, CFont::PrintChar, PATCH_JUMP);
|
||||||
InjectHook(0x500F50, (void (*)(float, float, uint16*))CFont::PrintString, PATCH_JUMP);
|
InjectHook(0x500F50, (void (*)(float, float, wchar*))CFont::PrintString, PATCH_JUMP);
|
||||||
InjectHook(0x501260, CFont::GetNumberLines, PATCH_JUMP);
|
InjectHook(0x501260, CFont::GetNumberLines, PATCH_JUMP);
|
||||||
InjectHook(0x5013B0, CFont::GetTextRect, PATCH_JUMP);
|
InjectHook(0x5013B0, CFont::GetTextRect, PATCH_JUMP);
|
||||||
InjectHook(0x501730, (void (*)(float, float, uint16*, uint16*, float))CFont::PrintString, PATCH_JUMP);
|
InjectHook(0x501730, (void (*)(float, float, wchar*, wchar*, float))CFont::PrintString, PATCH_JUMP);
|
||||||
InjectHook(0x5017E0, CFont::GetCharacterWidth, PATCH_JUMP);
|
InjectHook(0x5017E0, CFont::GetCharacterWidth, PATCH_JUMP);
|
||||||
InjectHook(0x501840, CFont::GetCharacterSize, PATCH_JUMP);
|
InjectHook(0x501840, CFont::GetCharacterSize, PATCH_JUMP);
|
||||||
InjectHook(0x5018A0, CFont::GetStringWidth, PATCH_JUMP);
|
InjectHook(0x5018A0, CFont::GetStringWidth, PATCH_JUMP);
|
||||||
|
|
|
@ -64,18 +64,18 @@ public:
|
||||||
static void Initialise(void);
|
static void Initialise(void);
|
||||||
static void Shutdown(void);
|
static void Shutdown(void);
|
||||||
static void InitPerFrame(void);
|
static void InitPerFrame(void);
|
||||||
static void PrintChar(float x, float y, uint16 c);
|
static void PrintChar(float x, float y, wchar c);
|
||||||
static void PrintString(float x, float y, uint16 *s);
|
static void PrintString(float x, float y, wchar *s);
|
||||||
static int GetNumberLines(float xstart, float ystart, uint16 *s);
|
static int GetNumberLines(float xstart, float ystart, wchar *s);
|
||||||
static void GetTextRect(CRect *rect, float xstart, float ystart, uint16 *s);
|
static void GetTextRect(CRect *rect, float xstart, float ystart, wchar *s);
|
||||||
static void PrintString(float x, float y, uint16 *start, uint16 *end, float spwidth);
|
static void PrintString(float x, float y, wchar *start, wchar *end, float spwidth);
|
||||||
static float GetCharacterWidth(uint16 c);
|
static float GetCharacterWidth(wchar c);
|
||||||
static float GetCharacterSize(uint16 c);
|
static float GetCharacterSize(wchar c);
|
||||||
static float GetStringWidth(uint16 *s, bool spaces = false);
|
static float GetStringWidth(wchar *s, bool spaces = false);
|
||||||
static uint16 *GetNextSpace(uint16 *s);
|
static wchar *GetNextSpace(wchar *s);
|
||||||
static uint16 *ParseToken(uint16 *s, uint16*);
|
static wchar *ParseToken(wchar *s, wchar*);
|
||||||
static void DrawFonts(void);
|
static void DrawFonts(void);
|
||||||
static uint16 character_code(uint8 c);
|
static wchar character_code(uint8 c);
|
||||||
|
|
||||||
static CFontDetails GetDetails() { return Details; }
|
static CFontDetails GetDetails() { return Details; }
|
||||||
static void SetScale(float x, float y) { Details.scaleX = x; Details.scaleY = y; }
|
static void SetScale(float x, float y) { Details.scaleX = x; Details.scaleY = y; }
|
||||||
|
|
Loading…
Reference in a new issue