From d1572f59cae6edf8819901949bff41760e3ec6b7 Mon Sep 17 00:00:00 2001 From: Daveo Date: Mon, 6 Aug 2001 13:04:29 +0000 Subject: [PATCH] --- source/level/level.cpp | 48 ++++++++++++++++++++++++++---------------- source/level/level.h | 2 +- 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/source/level/level.cpp b/source/level/level.cpp index e3908a7a8..3118e3f97 100644 --- a/source/level/level.cpp +++ b/source/level/level.cpp @@ -285,42 +285,54 @@ bool Finished=false; /*****************************************************************************/ void CLevel::DisplayLoadingScreen(int LevelNo) { -sLvlTab *lvlTab=&LvlTable[LevelNo]; ScalableFontBank font; char buf[256]; u8 *s_image; int i; + + if (LevelNo==-1) + { // default loading screen + s_image=LoadPakScreen(LOADINGSCREENS_BOOTSCREEN_GFX); + } + else + { + s_image=LoadPakScreen(loadingScreens[LvlTable[LevelNo].Chapter-1]); + sprintf(buf,"%s\n\n%s",TranslationDatabase::getString(LvlTable[LevelNo].ChapterLoadingText),TranslationDatabase::getString(LvlTable[LevelNo].LevelLoadingText)); + } + ASSERT(s_image); + SetScreenImage(s_image); + font.initialise(&standardFont); font.setJustification(FontBank::JUST_CENTRE); font.setScale(370); - sprintf(buf,"%s\n\n%s",TranslationDatabase::getString(lvlTab->ChapterLoadingText),TranslationDatabase::getString(lvlTab->LevelLoadingText)); - s_image=LoadPakScreen(loadingScreens[lvlTab->Chapter-1]); - ASSERT(s_image); - SetScreenImage(s_image); for(i=0;i<2;i++) { - font.setColour(255,255,255); - font.print(256 ,90 ,buf); - font.setColour(0,0,0); - font.print(256-1,90-1,buf); - font.print(256-1,90 ,buf); - font.print(256-1,90+1,buf); - font.print(256 ,90-1,buf); - font.print(256 ,90+1,buf); - font.print(256+1,90-1,buf); - font.print(256+1,90 ,buf); - font.print(256+1,90+1,buf); + if (LevelNo!=-1) + { + font.setColour(255,255,255); + font.print(256 ,90 ,buf); + font.setColour(0,0,0); + font.print(256-1,90-1,buf); + font.print(256-1,90 ,buf); + font.print(256-1,90+1,buf); + font.print(256 ,90-1,buf); + font.print(256 ,90+1,buf); + font.print(256+1,90-1,buf); + font.print(256+1,90 ,buf); + font.print(256+1,90+1,buf); + } PrimDisplay(); VSync(0); VidSwapDraw(); } + font.dump(); + ClearScreenImage(); MemFree(s_image); - VSync(20); - font.dump(); StartLoad(); + VSync(0); } /*****************************************************************************/ diff --git a/source/level/level.h b/source/level/level.h index a9256fb22..20b262196 100644 --- a/source/level/level.h +++ b/source/level/level.h @@ -91,7 +91,7 @@ static void setBossHealth( s32 newBossHealth ) {m_bossHealth=newBossHealth;} static CNpcCheckpointHazard *getCurrentCheckpoint() {return( m_checkpoint );} static void setCurrentCheckpoint( CNpcCheckpointHazard *newCheckpoint ) {m_checkpoint = newCheckpoint;} -static void DisplayLoadingScreen(int LevelNo=25); +static void DisplayLoadingScreen(int LevelNo=-1); private: void initLayers();