diff --git a/makefile.gaz b/makefile.gaz index e2ec80425..9fa005c7d 100644 --- a/makefile.gaz +++ b/makefile.gaz @@ -88,6 +88,8 @@ fileio_src := fileio \ frontend_src := credits \ demomode \ frontend \ + fmvthq \ + fmvintro \ maintitl \ options \ scrollbg \ diff --git a/source/frontend/fmvintro.cpp b/source/frontend/fmvintro.cpp index 418d5ebb6..42ccd005f 100644 --- a/source/frontend/fmvintro.cpp +++ b/source/frontend/fmvintro.cpp @@ -16,7 +16,7 @@ Includes -------- */ -#include "frontend\fmvthq.h" +#include "frontend\fmvintro.h" #ifndef __FMV_HEADER__ #include "fmv\fmv.h" @@ -60,7 +60,7 @@ Params: Returns: ---------------------------------------------------------------------- */ -bool fmvPerFrameFunc() +static bool fmvPerFrameFunc() { PadUpdate(); if(PadGetDown(0)&(PAD_START|PAD_CROSS)) @@ -79,7 +79,7 @@ bool fmvPerFrameFunc() ---------------------------------------------------------------------- */ void CFrontEndFMVIntro::select() { - FMV_play(FMV_THQ,&fmvPerFrameFunc); + FMV_play(FMV_INTRO,&fmvPerFrameFunc); } /*---------------------------------------------------------------------- diff --git a/source/frontend/fmvthq.cpp b/source/frontend/fmvthq.cpp index 4569794ab..f8e4d2d58 100644 --- a/source/frontend/fmvthq.cpp +++ b/source/frontend/fmvthq.cpp @@ -54,45 +54,21 @@ Vars ---- */ -static bool s_finished; - - /*---------------------------------------------------------------------- Function: Purpose: Params: Returns: ---------------------------------------------------------------------- */ -bool fmvPerFrameFunc() +static bool fmvPerFrameFunc() { PadUpdate(); if(PadGetDown(0)&(PAD_START|PAD_CROSS)) { PadUpdate(); - s_finished=true; + return true; } - return s_finished; -} - - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CFrontEndFMVTHQ::init() -{ -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CFrontEndFMVTHQ::shutdown() -{ + return false; } /*---------------------------------------------------------------------- @@ -103,39 +79,7 @@ void CFrontEndFMVTHQ::shutdown() ---------------------------------------------------------------------- */ void CFrontEndFMVTHQ::select() { - s_finished=false; FMV_play(FMV_THQ,&fmvPerFrameFunc); - s_finished=true; -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CFrontEndFMVTHQ::unselect() -{ -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CFrontEndFMVTHQ::render() -{ -} - -/*---------------------------------------------------------------------- - Function: - Purpose: - Params: - Returns: - ---------------------------------------------------------------------- */ -void CFrontEndFMVTHQ::think(int _frames) -{ } /*---------------------------------------------------------------------- @@ -146,7 +90,7 @@ void CFrontEndFMVTHQ::think(int _frames) ---------------------------------------------------------------------- */ int CFrontEndFMVTHQ::isReadyToExit() { - return s_finished; + return true; } /*---------------------------------------------------------------------- @@ -157,7 +101,7 @@ int CFrontEndFMVTHQ::isReadyToExit() ---------------------------------------------------------------------- */ CFrontEndScene::FrontEndMode CFrontEndFMVTHQ::getNextMode() { - return CFrontEndScene::MODE__MAIN_TITLES; + return CFrontEndScene::MODE__FMV_INTRO; } /*=========================================================================== diff --git a/source/frontend/fmvthq.h b/source/frontend/fmvthq.h index d0f4958cf..ac3c170b2 100644 --- a/source/frontend/fmvthq.h +++ b/source/frontend/fmvthq.h @@ -37,20 +37,10 @@ class CFrontEndFMVTHQ : public CFrontEndMode { public: - void init(); - void shutdown(); void select(); - void unselect(); - void render(); - void think(int _frames); int isReadyToExit(); CFrontEndScene::FrontEndMode getNextMode(); - - -private: - int m_shuttingDown; - }; diff --git a/source/frontend/frontend.cpp b/source/frontend/frontend.cpp index c0208d909..ca4302dd1 100644 --- a/source/frontend/frontend.cpp +++ b/source/frontend/frontend.cpp @@ -26,6 +26,14 @@ #include "frontend\maintitl.h" #endif +#ifndef __FRONTEND_FMVTHQ_H__ +#include "frontend\fmvthq.h" +#endif + +#ifndef __FRONTEND_FMVINTRO_H__ +#include "frontend\fmvintro.h" +#endif + #ifndef __FRONTEND_OPTIONS_H__ #include "frontend\options.h" #endif @@ -90,6 +98,8 @@ Vars ---- */ +static CFrontEndFMVTHQ s_frontEndFMVTHQ; +static CFrontEndFMVIntro s_frontEndFMVIntro; static CFrontEndMainTitles s_frontEndModeMainTitles; static CFrontEndOptions s_frontEndModeOptions; static CFrontEndStart s_frontEndStart; @@ -98,6 +108,8 @@ static CFrontEndCredits s_frontEndCredits; CFrontEndMode *CFrontEndScene::s_modeCodes[]= { + &s_frontEndFMVTHQ, // MODE__FMV_THQ + &s_frontEndFMVIntro, // MODE__FMV_INTRO &s_frontEndModeMainTitles, // MODE__MAIN_TITLES &s_frontEndModeOptions, // MODE__GAME_OPTIONS &s_frontEndStart, // MODE__CHOOSE_SLOT @@ -119,6 +131,8 @@ CFrontEndScene FrontEndScene; SpriteBank *m_sprites; FontBank *m_font; +static int s_runOnce=false; + /*---------------------------------------------------------------------- Function: @@ -138,7 +152,15 @@ void CFrontEndScene::init() #if defined(__USER_art__) || defined(__USER_sbart__) setMode(MODE__CHOOSE_SLOT); #else - setMode(MODE__MAIN_TITLES); + if(s_runOnce) + { + setMode(MODE__FMV_INTRO); + } + else + { + s_runOnce=true; + setMode(MODE__FMV_THQ); + } #endif m_sprites=new ("MainTitle Sprites") SpriteBank(); diff --git a/source/frontend/frontend.h b/source/frontend/frontend.h index 7d6219abc..4b864ab92 100644 --- a/source/frontend/frontend.h +++ b/source/frontend/frontend.h @@ -39,6 +39,8 @@ class CFrontEndScene : public CScene public: typedef enum { + MODE__FMV_THQ, + MODE__FMV_INTRO, MODE__MAIN_TITLES, MODE__GAME_OPTIONS, MODE__CHOOSE_SLOT, @@ -85,12 +87,12 @@ private: class CFrontEndMode { public: - virtual void init()=0; - virtual void shutdown()=0; - virtual void select()=0; - virtual void unselect()=0; - virtual void render()=0; - virtual void think(int _frames)=0; + virtual void init() {;} + virtual void shutdown() {;} + virtual void select() {;} + virtual void unselect() {;} + virtual void render() {;} + virtual void think(int _frames) {;} virtual int isReadyToExit()=0; virtual CFrontEndScene::FrontEndMode getNextMode()=0; diff --git a/source/frontend/maintitl.cpp b/source/frontend/maintitl.cpp index a664776db..914024425 100644 --- a/source/frontend/maintitl.cpp +++ b/source/frontend/maintitl.cpp @@ -357,10 +357,12 @@ void CFrontEndMainTitles::think(int _frames) m_demoTimeout+=_frames; if(m_demoTimeout>DEMO_TIMEOUT_IN_SECONDS*GameState::getOneSecondInFrames()) { +/* CFader::setFadingOut(); m_mode=MODE__GOTO_DEMO; if(m_mainMenu->isSelected()) m_mainMenu->unselect(); +*/ } } else diff --git a/users/paul/spongebob project/spongebob project.dsp b/users/paul/spongebob project/spongebob project.dsp index a96bc9d64..e4da275c2 100644 --- a/users/paul/spongebob project/spongebob project.dsp +++ b/users/paul/spongebob project/spongebob project.dsp @@ -289,6 +289,22 @@ SOURCE=..\..\..\source\frontend\demomode.h # End Source File # Begin Source File +SOURCE=..\..\..\source\frontend\fmvintro.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\frontend\fmvintro.h +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\frontend\fmvthq.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\frontend\fmvthq.h +# End Source File +# Begin Source File + SOURCE=..\..\..\source\frontend\frontend.cpp # End Source File # Begin Source File @@ -1196,6 +1212,18 @@ SOURCE=..\..\..\source\utils\utils.cpp SOURCE=..\..\..\source\utils\utils.h # End Source File # End Group +# Begin Group "fmv" + +# PROP Default_Filter "" +# Begin Source File + +SOURCE=..\..\..\source\fmv\fmv.cpp +# End Source File +# Begin Source File + +SOURCE=..\..\..\source\fmv\fmv.h +# End Source File +# End Group # End Group # Begin Group "makefiles"