diff --git a/Graphics/backdrop/Nick.tga b/Graphics/backdrop/Nick.tga index cbaa10f01..54cf33840 100644 Binary files a/Graphics/backdrop/Nick.tga and b/Graphics/backdrop/Nick.tga differ diff --git a/data/DataCache.scr b/data/DataCache.scr index 5be04ec27..54f7a002f 100644 --- a/data/DataCache.scr +++ b/data/DataCache.scr @@ -116,6 +116,7 @@ backdrop/start4.gfx backdrop/gameover.gfx backdrop/shop.gfx backdrop/partybackdrop.gfx +backdrop/nick.gfx loadingscreens/culture.gfx loadingscreens/karate.gfx loadingscreens/monitor.gfx diff --git a/makefile.gaz b/makefile.gaz index f980e6841..e41d830ee 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -194,6 +194,7 @@ frontend_src := demomode \ fmvthq \ fmvintro \ maintitl \ + nicklogo \ options \ scrollbg \ start diff --git a/makefile.gfx b/makefile.gfx index 1b0ca45d6..bf46cfdd4 100644 --- a/makefile.gfx +++ b/makefile.gfx @@ -453,7 +453,7 @@ GFX_DATA_OUT += $(TRANS_OUT_DAT) # Big TGA backdrops #---------------------------------------------------------------------------- BACKDROPS_IN_DIR := $(GRAF_DIR)/backdrop -BACKDROPS_IN := credits start1 start2 start3 start4 gameover shop partybackdrop +BACKDROPS_IN := credits start1 start2 start3 start4 gameover shop partybackdrop nick BACKDROPS_OUT_DIR := $(DATA_OUT)/backdrop BACKDROPS_OUT := $(foreach SCREEN,$(BACKDROPS_IN),$(BACKDROPS_OUT_DIR)/$(SCREEN).gfx) diff --git a/source/frontend/frontend.cpp b/source/frontend/frontend.cpp index 8dae201f9..52b228884 100644 --- a/source/frontend/frontend.cpp +++ b/source/frontend/frontend.cpp @@ -22,6 +22,10 @@ #include "mem\memory.h" #endif +#ifndef __FRONTEND_NICKLOGO_H__ +#include "frontend\nicklogo.h" +#endif + #ifndef __FRONTEND_MAINTITL_H__ #include "frontend\maintitl.h" #endif @@ -102,6 +106,7 @@ Vars ---- */ +static CFrontEndNickLogo s_nickLogo; static CFrontEndFMVTHQ s_frontEndFMVTHQ; static CFrontEndFMVIntro s_frontEndFMVIntro; static CFrontEndMainTitles s_frontEndModeMainTitles; @@ -111,6 +116,7 @@ static CFrontEndDemoMode s_frontEndDemoMode; CFrontEndMode *CFrontEndScene::s_modeCodes[]= { + &s_nickLogo, // MODE__NICK_LOGO &s_frontEndFMVTHQ, // MODE__FMV_THQ &s_frontEndFMVIntro, // MODE__FMV_INTRO &s_frontEndModeMainTitles, // MODE__MAIN_TITLES @@ -158,7 +164,7 @@ void CFrontEndScene::init() else { s_runOnce=true; - setMode(MODE__FMV_THQ); + setMode(MODE__NICK_LOGO); } m_sprites=new ("MainTitle Sprites") SpriteBank(); diff --git a/source/frontend/frontend.h b/source/frontend/frontend.h index 83bd520b3..b245ee440 100644 --- a/source/frontend/frontend.h +++ b/source/frontend/frontend.h @@ -46,6 +46,7 @@ class CFrontEndScene : public CScene public: typedef enum { + MODE__NICK_LOGO, MODE__FMV_THQ, MODE__FMV_INTRO, MODE__MAIN_TITLES, diff --git a/source/frontend/nicklogo.cpp b/source/frontend/nicklogo.cpp index fcb0419e4..0ba968a05 100644 --- a/source/frontend/nicklogo.cpp +++ b/source/frontend/nicklogo.cpp @@ -22,8 +22,12 @@ #include "gfx\fader.h" #endif -#ifndef __PAD_PADS_H__ -#include "pad\pads.h" +#ifndef _FILEIO_HEADER_ +#include "fileio\fileio.h" +#endif + +#ifndef __VID_HEADER_ +#include "system\vid.h" #endif @@ -57,6 +61,42 @@ ---------------------------------------------------------------------- */ void CFrontEndNickLogo::select() { + m_readyToExit=false; + + m_image=CFileIO::loadFile(BACKDROP_NICK_GFX); + ASSERT(m_image); + SetScreenImage(m_image); + + CFader::setFadingIn(); + m_frameCount=0; +} + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CFrontEndNickLogo::unselect() +{ + MemFree(m_image); m_image=NULL; +} + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CFrontEndNickLogo::think(int _frames) +{ + m_frameCount+=_frames; + + if(m_frameCount>DISPLAY_FRAMES&!m_readyToExit) + { + CFader::setFadingOut(); + m_readyToExit=true; + } } /*---------------------------------------------------------------------- @@ -67,7 +107,7 @@ void CFrontEndNickLogo::select() ---------------------------------------------------------------------- */ int CFrontEndNickLogo::isReadyToExit() { - return false; + return !CFader::isFading()&&m_readyToExit; } /*---------------------------------------------------------------------- diff --git a/source/frontend/nicklogo.h b/source/frontend/nicklogo.h index 80c7f4bc4..f2a012ace 100644 --- a/source/frontend/nicklogo.h +++ b/source/frontend/nicklogo.h @@ -37,10 +37,23 @@ class CFrontEndNickLogo : public CFrontEndMode { public: - void select(); + virtual void select(); + virtual void unselect(); + virtual void think(int _frames); + + virtual int isReadyToExit(); + virtual CFrontEndScene::FrontEndMode getNextMode(); + +private: + enum + { + DISPLAY_FRAMES=60*6, + }; + + int m_readyToExit; + unsigned char *m_image; + int m_frameCount; - int isReadyToExit(); - CFrontEndScene::FrontEndMode getNextMode(); }; diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index 02d12a775..c8ce6c3b5 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -577,6 +577,14 @@ SOURCE=..\..\..\source\frontend\maintitl.h # End Source File # Begin Source File +SOURCE=..\..\..\source\frontend\nicklogo.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\frontend\nicklogo.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\frontend\options.cpp # End Source File # Begin Source File