Merge pull request #975 from aap/lcs

loadscreens, not accurate
This commit is contained in:
aap 2021-01-22 00:59:13 +01:00 committed by GitHub
commit de10f0dda6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 31 deletions

View File

@ -5574,7 +5574,7 @@ CMenuManager::DrawQuitGameScreen(void)
static CSprite2d *splash = nil;
if (splash == nil)
splash = LoadSplash("OUTRO");
splash = LoadSplash("sceelee");
m_aFrontEndSprites[MENUSPRITE_VCLOGO].Draw(CRect(MENU_X(28.0f), MENU_Y(8.0f), MENU_X(157.0f), MENU_Y(138.0f)), CRGBA(255, 255, 255, -(m_nMenuFadeAlpha + 1)));

View File

@ -101,7 +101,7 @@ RwRGBA gColourTop;
bool gameAlreadyInitialised;
float NumberOfChunksLoaded;
#define TOTALNUMCHUNKS 95.0f
#define TOTALNUMCHUNKS 52.0f
bool g_SlowMode = false;
char version_name[64];
@ -572,11 +572,11 @@ GetRandomSplashScreen(void)
static char splashName[128];
static int splashIndex[12] = {
1, 2,
3, 4,
5, 11,
6, 8,
9, 10,
7, 12
3, 0,
1, 2,
3, 0,
1, 2,
3, 0
};
index = splashIndex[2*index2 + CGeneral::GetRandomNumberInRange(0, 2)];
@ -590,11 +590,12 @@ GetRandomSplashScreen(void)
Const char*
GetLevelSplashScreen(int level)
{
static Const char *splashScreens[4] = {
static Const char *splashScreens[5] = {
nil,
"splash1",
"splash2",
"splash3",
"loadsc0",
};
return splashScreens[level];
@ -606,7 +607,7 @@ ResetLoadingScreenBar()
NumberOfChunksLoaded = 0.0f;
}
//--MIAMI: done
//--LCS: not the real thing
void
LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
{
@ -618,7 +619,7 @@ LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
#endif
#ifndef RANDOMSPLASH
splashscreen = "LOADSC0";
splashscreen = "SCEELEE";
#endif
splash = LoadSplash(splashscreen);
@ -640,24 +641,27 @@ LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
NumberOfChunksLoaded += 1;
#ifndef RANDOMSPLASH
// this looks nice
float hpos = SCREEN_SCALE_X(40);
float length = SCREEN_WIDTH - SCREEN_SCALE_X(80);
float top = SCREEN_HEIGHT - SCREEN_SCALE_Y(14);
float bottom = top + SCREEN_SCALE_Y(5);
float top = SCREEN_HEIGHT - SCREEN_SCALE_Y(30);
float bottom = top + SCREEN_SCALE_Y(8);
#else
float hpos = SCREEN_STRETCH_X(40);
float length = SCREEN_STRETCH_X(440);
// this is rather weird
float top = SCREEN_STRETCH_Y(407.4f - 7.0f/3.0f);
float bottom = SCREEN_STRETCH_Y(407.4f + 7.0f/3.0f);
// should correspond to PS2 position
float hpos = SCREEN_STRETCH_X(44);
float length = SCREEN_STRETCH_X(176);
float top = SCREEN_STRETCH_Y(420);
float bottom = top + SCREEN_STRETCH_Y(8);
#endif
CSprite2d::DrawRect(CRect(hpos-1.0f, top-1.0f, hpos+length+1.0f, bottom+1.0f), CRGBA(40, 53, 68, 255));
CSprite2d::DrawRect(CRect(hpos+4.0f, top+6.0f, hpos+length+4.0f, bottom+6.0f), CRGBA(0, 0, 0, 200));
CSprite2d::DrawRect(CRect(hpos, top, hpos+length, bottom), CRGBA(155, 50, 125, 255));
CSprite2d::DrawRect(CRect(hpos, top, hpos+length, bottom), CRGBA(0, 0, 0, 255));
CSprite2d::DrawRect(CRect(hpos+1.0f, top+1.0f, hpos+length-1.0f, bottom-1.0f), CRGBA(99, 99, 99, 255));
length *= NumberOfChunksLoaded/TOTALNUMCHUNKS;
CSprite2d::DrawRect(CRect(hpos, top, hpos+length, bottom), CRGBA(255, 150, 225, 255));
CSprite2d::DrawRect(CRect(hpos+1.0f, top+1.0f, hpos+length-1.0f, bottom-1.0f), CRGBA(126, 15, 0, 255));
// this is done by the game but is unused
CFont::SetBackgroundOff();
@ -672,7 +676,7 @@ LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
// my attempt
static wchar tmpstr[80];
float yscale = SCREEN_SCALE_Y(0.9f);
top -= 45*yscale;
top = bottom+5*yscale;
CFont::SetScale(SCREEN_SCALE_X(0.75f), yscale);
CFont::SetPropOn();
CFont::SetRightJustifyOff();
@ -693,13 +697,13 @@ LoadingScreen(const char *str1, const char *str2, const char *splashscreen)
}
}
//--MIAMI: done
//--LCS: slightly fixed
void
LoadingIslandScreen(const char *levelName)
{
CSprite2d *splash;
splash = LoadSplash(nil);
splash = LoadSplash(GetLevelSplashScreen(CGame::currLevel));
if(!DoRWStuffStartOfFrame(0, 0, 0, 0, 0, 0, 255))
return;

View File

@ -1823,8 +1823,8 @@ main(int argc, char *argv[])
printf("Into TheGame!!!\n");
#else
LoadingScreen(nil, nil, "loadsc0");
// LoadingScreen(nil, nil, "loadsc0"); // duplicate
LoadingScreen(nil, nil, "sceelee");
// LoadingScreen(nil, nil, "sceelee"); // duplicate
#endif
if ( !CGame::InitialiseOnceAfterRW() )
RsGlobal.quit = TRUE;
@ -1840,8 +1840,8 @@ main(int argc, char *argv[])
#ifndef PS2_MENU
case GS_INIT_FRONTEND:
{
LoadingScreen(nil, nil, "loadsc0");
// LoadingScreen(nil, nil, "loadsc0"); // duplicate
LoadingScreen(nil, nil, "sceelee");
// LoadingScreen(nil, nil, "sceelee"); // duplicate
FrontEndMenuManager.m_bGameNotLoaded = true;

View File

@ -2347,8 +2347,8 @@ WinMain(HINSTANCE instance,
printf("Into TheGame!!!\n");
#else
LoadingScreen(nil, nil, "loadsc0");
// LoadingScreen(nil, nil, "loadsc0"); // duplicate
LoadingScreen(nil, nil, "sceelee");
// LoadingScreen(nil, nil, "sceelee"); // duplicate
#endif
if ( !CGame::InitialiseOnceAfterRW() )
RsGlobal.quit = TRUE;
@ -2365,8 +2365,8 @@ WinMain(HINSTANCE instance,
#ifndef PS2_MENU
case GS_INIT_FRONTEND:
{
LoadingScreen(nil, nil, "loadsc0");
// LoadingScreen(nil, nil, "loadsc0"); // duplicate
LoadingScreen(nil, nil, "sceelee");
// LoadingScreen(nil, nil, "sceelee"); // duplicate
FrontEndMenuManager.m_bGameNotLoaded = true;