mirror of
https://github.com/GTAmodding/re3.git
synced 2021-02-19 17:49:54 +01:00
island load screen, some more CText
This commit is contained in:
parent
0711bfacd4
commit
38a7b74b1a
@ -132,7 +132,7 @@ CCollision::LoadCollisionWhenINeedIt(bool forceChange)
|
||||
|
||||
FindPlayerCoors(playerCoors);
|
||||
sx = CWorld::GetSectorIndexX(playerCoors.x);
|
||||
sy = CWorld::GetSectorIndexX(playerCoors.y);
|
||||
sy = CWorld::GetSectorIndexY(playerCoors.y);
|
||||
multipleLevels = false;
|
||||
|
||||
veh = FindPlayerVehicle();
|
||||
|
31
src/Text.cpp
31
src/Text.cpp
@ -15,7 +15,7 @@ CText::CText(void)
|
||||
keyArray.numEntries = 0;
|
||||
data.chars = nil;
|
||||
data.numChars = 0;
|
||||
unknown = 101; // What's this? version number?
|
||||
encoding = 101;
|
||||
memset(WideErrorString, 0, sizeof(WideErrorString));
|
||||
}
|
||||
|
||||
@ -96,6 +96,25 @@ CText::Get(const char *key)
|
||||
return keyArray.Search(key);
|
||||
}
|
||||
|
||||
wchar
|
||||
CText::GetUpperCase(wchar c)
|
||||
{
|
||||
// TODO: do this depending on encoding
|
||||
if(islower(c))
|
||||
return toupper(c);
|
||||
return c;
|
||||
}
|
||||
|
||||
void
|
||||
CText::UpperCase(wchar *s)
|
||||
{
|
||||
while(*s){
|
||||
*s = GetUpperCase(*s);
|
||||
s++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
CKeyArray::Load(uint32 length, uint8 *data, int *offset)
|
||||
{
|
||||
@ -186,9 +205,15 @@ CData::Unload(void)
|
||||
}
|
||||
|
||||
void
|
||||
AsciiToUnicode(const char *cs, uint16 *ws)
|
||||
AsciiToUnicode(const char *src, uint16 *dst)
|
||||
{
|
||||
while((*ws++ = *cs++) != '\0');
|
||||
while((*dst++ = *src++) != '\0');
|
||||
}
|
||||
|
||||
void
|
||||
TextCopy(wchar *dst, const wchar *src)
|
||||
{
|
||||
while((*dst++ = *src++) != '\0');
|
||||
}
|
||||
|
||||
STARTPATCHES
|
||||
|
@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
void AsciiToUnicode(const char *cs, wchar *ws);
|
||||
void AsciiToUnicode(const char *src, wchar *dst);
|
||||
void TextCopy(wchar *dst, const wchar *src);
|
||||
|
||||
struct CKeyEntry
|
||||
{
|
||||
@ -37,13 +38,15 @@ class CText
|
||||
{
|
||||
CKeyArray keyArray;
|
||||
CData data;
|
||||
int8 unknown;
|
||||
int8 encoding;
|
||||
public:
|
||||
CText(void);
|
||||
~CText(void);
|
||||
void Load(void);
|
||||
void Unload(void);
|
||||
wchar *Get(const char *key);
|
||||
wchar GetUpperCase(wchar c);
|
||||
void UpperCase(wchar *s);
|
||||
};
|
||||
|
||||
extern CText &TheText;
|
||||
|
40
src/main.cpp
40
src/main.cpp
@ -598,10 +598,46 @@ ResetLoadingScreenBar(void)
|
||||
NumberOfChunksLoaded = 0.0f;
|
||||
}
|
||||
|
||||
WRAPPER void
|
||||
void
|
||||
LoadingIslandScreen(const char *levelName)
|
||||
{
|
||||
EAXJMP(0x48DA50);
|
||||
CSprite2d *splash;
|
||||
wchar *name;
|
||||
char str[100];
|
||||
wchar wstr[80];
|
||||
CRGBA col;
|
||||
|
||||
splash = LoadSplash(nil);
|
||||
name = TheText.Get(levelName);
|
||||
if(!DoRWStuffStartOfFrame(0, 0, 0, 0, 0, 0, 255))
|
||||
return;
|
||||
|
||||
CSprite2d::SetRecipNearClip();
|
||||
CSprite2d::InitPerFrame();
|
||||
CFont::InitPerFrame();
|
||||
DefinedState();
|
||||
col = CRGBA(255, 255, 255, 255);
|
||||
splash->Draw(CRect(0.0f, 0.0f, SCREENW, SCREENH), col, col, col, col);
|
||||
CFont::SetBackgroundOff();
|
||||
CFont::SetScale(1.5f, 1.5f);
|
||||
CFont::SetPropOn();
|
||||
CFont::SetRightJustifyOn();
|
||||
CFont::SetRightJustifyWrap(150.0f);
|
||||
CFont::SetFontStyle(FONT_HEADING);
|
||||
sprintf(str, "WELCOME TO");
|
||||
AsciiToUnicode(str, wstr);
|
||||
CFont::SetDropColor(CRGBA(0, 0, 0, 255));
|
||||
CFont::SetDropShadowPosition(3);
|
||||
CFont::SetColor(CRGBA(243, 237, 71, 255));
|
||||
CFont::SetScale(SCREEN_STRETCH_X(1.2f), SCREEN_STRETCH_Y(1.2f));
|
||||
CFont::PrintString(SCREENW - 20, SCREEN_STRETCH_FROM_BOTTOM(110.0f), TheText.Get("WELCOME"));
|
||||
TextCopy(wstr, name);
|
||||
TheText.UpperCase(wstr);
|
||||
CFont::SetColor(CRGBA(243, 237, 71, 255));
|
||||
CFont::SetScale(SCREEN_STRETCH_X(1.2f), SCREEN_STRETCH_Y(1.2f));
|
||||
CFont::PrintString(SCREENW-20, SCREEN_STRETCH_FROM_BOTTOM(80.0f), wstr);
|
||||
CFont::DrawFonts();
|
||||
DoRWStuffEndOfFrame();
|
||||
}
|
||||
|
||||
char*
|
||||
|
Loading…
Reference in New Issue
Block a user