This commit is contained in:
parent
36925da8e6
commit
40abc1e120
10 changed files with 294 additions and 16 deletions
|
@ -51,11 +51,13 @@ CD_FILESYS_LIB := CMXBoot
|
||||||
fileio_src := fileio \
|
fileio_src := fileio \
|
||||||
$($(FILE_SYSTEM)_FILESYS_SRC)
|
$($(FILE_SYSTEM)_FILESYS_SRC)
|
||||||
|
|
||||||
frontend_src := demomode \
|
frontend_src := credits \
|
||||||
|
demomode \
|
||||||
frontend \
|
frontend \
|
||||||
scrollbg \
|
|
||||||
maintitl \
|
maintitl \
|
||||||
options
|
options \
|
||||||
|
scrollbg \
|
||||||
|
start
|
||||||
|
|
||||||
game_src := game
|
game_src := game
|
||||||
|
|
||||||
|
|
171
source/frontend/credits.cpp
Normal file
171
source/frontend/credits.cpp
Normal file
|
@ -0,0 +1,171 @@
|
||||||
|
/*=========================================================================
|
||||||
|
|
||||||
|
credits.cpp
|
||||||
|
|
||||||
|
Author: PKG
|
||||||
|
Created:
|
||||||
|
Project: Spongebob
|
||||||
|
Purpose:
|
||||||
|
|
||||||
|
Copyright (c) 2000 Climax Development Ltd
|
||||||
|
|
||||||
|
===========================================================================*/
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Includes
|
||||||
|
-------- */
|
||||||
|
|
||||||
|
#include "frontend\credits.h"
|
||||||
|
|
||||||
|
#ifndef __GFX_SPRBANK_H__
|
||||||
|
#include "gfx\sprbank.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __LOCALE_TEXTDBASE_H__
|
||||||
|
#include "locale\textdbase.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __GFX_FADER_H__
|
||||||
|
#include "gfx\fader.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __PRIM_HEADER__
|
||||||
|
#include "gfx\prim.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __PAD_PADS_H__
|
||||||
|
#include "pad\pads.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Std Lib
|
||||||
|
------- */
|
||||||
|
|
||||||
|
/* Data
|
||||||
|
---- */
|
||||||
|
|
||||||
|
#ifndef __SPR_FRONTEND_H__
|
||||||
|
#include <frontend.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Tyepdefs && Defines
|
||||||
|
------------------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Structure defintions
|
||||||
|
-------------------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function Prototypes
|
||||||
|
------------------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Vars
|
||||||
|
---- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::init()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::shutdown()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::select()
|
||||||
|
{
|
||||||
|
m_shuttingDown=false;
|
||||||
|
CFader::setFadingIn();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::unselect()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::render()
|
||||||
|
{
|
||||||
|
POLY_G4 *g4;
|
||||||
|
|
||||||
|
g4=GetPrimG4();
|
||||||
|
setXYWH(g4,0,0,512,256);
|
||||||
|
setRGB0(g4,99,50,50);
|
||||||
|
setRGB1(g4,50,50,99);
|
||||||
|
setRGB2(g4,50,99,50);
|
||||||
|
setRGB3(g4,99,50,99);
|
||||||
|
AddPrimToList(g4,1001);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
void CFrontEndCredits::think(int _frames)
|
||||||
|
{
|
||||||
|
if(!m_shuttingDown)
|
||||||
|
{
|
||||||
|
if(PadGetDown(0)&(PAD_CROSS|PAD_START))
|
||||||
|
{
|
||||||
|
m_shuttingDown=true;
|
||||||
|
CFader::setFadingOut();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
int CFrontEndCredits::isReadyToExit()
|
||||||
|
{
|
||||||
|
return !CFader::isFading()&&m_shuttingDown;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Function:
|
||||||
|
Purpose:
|
||||||
|
Params:
|
||||||
|
Returns:
|
||||||
|
---------------------------------------------------------------------- */
|
||||||
|
CFrontEndScene::FrontEndMode CFrontEndCredits::getNextMode()
|
||||||
|
{
|
||||||
|
return CFrontEndScene::MODE__MAIN_TITLES;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*===========================================================================
|
||||||
|
end */
|
70
source/frontend/credits.h
Normal file
70
source/frontend/credits.h
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
/*=========================================================================
|
||||||
|
|
||||||
|
credits.h
|
||||||
|
|
||||||
|
Author: PKG
|
||||||
|
Created:
|
||||||
|
Project: Spongebob
|
||||||
|
Purpose:
|
||||||
|
|
||||||
|
Copyright (c) 2000 Climax Development Ltd
|
||||||
|
|
||||||
|
===========================================================================*/
|
||||||
|
|
||||||
|
#ifndef __FRONTEND_CREDITS_H__
|
||||||
|
#define __FRONTEND_CREDITS_H__
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Includes
|
||||||
|
-------- */
|
||||||
|
|
||||||
|
#ifndef __FRONTEND_FRONTEND_H__
|
||||||
|
#include "frontend\frontend.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* Std Lib
|
||||||
|
------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Tyepdefs && Defines
|
||||||
|
------------------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Structure defintions
|
||||||
|
-------------------- */
|
||||||
|
|
||||||
|
class CFrontEndCredits : 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;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Globals
|
||||||
|
------- */
|
||||||
|
|
||||||
|
/*----------------------------------------------------------------------
|
||||||
|
Functions
|
||||||
|
--------- */
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#endif /* __FRONTEND_CREDITS_H__ */
|
||||||
|
|
||||||
|
/*===========================================================================
|
||||||
|
end */
|
|
@ -133,7 +133,6 @@ void CFrontEndDemoMode::unselect()
|
||||||
void CFrontEndDemoMode::render()
|
void CFrontEndDemoMode::render()
|
||||||
{
|
{
|
||||||
sFrameHdr *fh;
|
sFrameHdr *fh;
|
||||||
POLY_FT4 *ft4;
|
|
||||||
|
|
||||||
// Game logo/title
|
// Game logo/title
|
||||||
fh=m_sprites->getFrameHeader(FRM__SBLOGO);
|
fh=m_sprites->getFrameHeader(FRM__SBLOGO);
|
||||||
|
|
|
@ -18,10 +18,6 @@
|
||||||
Includes
|
Includes
|
||||||
-------- */
|
-------- */
|
||||||
|
|
||||||
#ifndef __PRIM_HEADER__
|
|
||||||
#include "gfx\prim.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __FRONTEND_FRONTEND_H__
|
#ifndef __FRONTEND_FRONTEND_H__
|
||||||
#include "frontend\frontend.h"
|
#include "frontend\frontend.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -30,10 +30,18 @@
|
||||||
#include "frontend\options.h"
|
#include "frontend\options.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __FRONTEND_START_H__
|
||||||
|
#include "frontend\start.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef __FRONTEND_DEMOMODE_H__
|
#ifndef __FRONTEND_DEMOMODE_H__
|
||||||
#include "frontend\demomode.h"
|
#include "frontend\demomode.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef __FRONTEND_CREDITS_H__
|
||||||
|
#include "frontend\credits.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/* Std Lib
|
/* Std Lib
|
||||||
------- */
|
------- */
|
||||||
|
@ -59,14 +67,17 @@
|
||||||
|
|
||||||
static CFrontEndMainTitles s_frontEndModeMainTitles;
|
static CFrontEndMainTitles s_frontEndModeMainTitles;
|
||||||
static CFrontEndOptions s_frontEndModeOptions;
|
static CFrontEndOptions s_frontEndModeOptions;
|
||||||
|
static CFrontEndStart s_frontEndStart;
|
||||||
static CFrontEndDemoMode s_frontEndDemoMode;
|
static CFrontEndDemoMode s_frontEndDemoMode;
|
||||||
|
static CFrontEndCredits s_frontEndCredits;
|
||||||
|
|
||||||
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
|
CFrontEndMode *CFrontEndScene::s_modeCodes[]=
|
||||||
{
|
{
|
||||||
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
|
&s_frontEndModeMainTitles, // MODE__MAIN_TITLES
|
||||||
&s_frontEndModeOptions, // MODE__GAME_OPTIONS
|
&s_frontEndModeOptions, // MODE__GAME_OPTIONS
|
||||||
NULL, // MODE__CHOOSE_SLOT
|
&s_frontEndStart, // MODE__CHOOSE_SLOT
|
||||||
&s_frontEndDemoMode, // MODE__DEMO
|
&s_frontEndDemoMode, // MODE__DEMO
|
||||||
|
&s_frontEndCredits, // MODE__CREDITS
|
||||||
|
|
||||||
NULL, // MODE__NONE
|
NULL, // MODE__NONE
|
||||||
};
|
};
|
||||||
|
|
|
@ -43,6 +43,7 @@ public:
|
||||||
MODE__GAME_OPTIONS,
|
MODE__GAME_OPTIONS,
|
||||||
MODE__CHOOSE_SLOT,
|
MODE__CHOOSE_SLOT,
|
||||||
MODE__DEMO,
|
MODE__DEMO,
|
||||||
|
MODE__CREDITS,
|
||||||
|
|
||||||
MODE__NONE,
|
MODE__NONE,
|
||||||
} FrontEndMode;
|
} FrontEndMode;
|
||||||
|
|
|
@ -125,7 +125,7 @@ void CFrontEndMainTitles::init()
|
||||||
CGUIFactory::createValueButtonFrame(m_mainMenu,
|
CGUIFactory::createValueButtonFrame(m_mainMenu,
|
||||||
50,40,200,20,
|
50,40,200,20,
|
||||||
STR__FRONTEND__CREDITS,
|
STR__FRONTEND__CREDITS,
|
||||||
&m_gotoOptionsFlag,true);
|
&m_gotoCreditsFlag,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -155,6 +155,7 @@ void CFrontEndMainTitles::select()
|
||||||
|
|
||||||
m_startGameFlag=false;
|
m_startGameFlag=false;
|
||||||
m_gotoOptionsFlag=false;
|
m_gotoOptionsFlag=false;
|
||||||
|
m_gotoCreditsFlag=false;
|
||||||
|
|
||||||
m_demoTimeout=0;
|
m_demoTimeout=0;
|
||||||
|
|
||||||
|
@ -269,13 +270,18 @@ rsr=(rsr+(_frames*rspeed))&4095;
|
||||||
if(m_startGameFlag)
|
if(m_startGameFlag)
|
||||||
{
|
{
|
||||||
CFader::setFadingOut();
|
CFader::setFadingOut();
|
||||||
m_mode=MODE__START_GAME;
|
m_mode=MODE__GOTO_CHOOSE_SLOT;
|
||||||
}
|
}
|
||||||
else if(m_gotoOptionsFlag)
|
else if(m_gotoOptionsFlag)
|
||||||
{
|
{
|
||||||
CFader::setFadingOut();
|
CFader::setFadingOut();
|
||||||
m_mode=MODE__GOTO_OPTIONS;
|
m_mode=MODE__GOTO_OPTIONS;
|
||||||
}
|
}
|
||||||
|
else if(m_gotoCreditsFlag)
|
||||||
|
{
|
||||||
|
CFader::setFadingOut();
|
||||||
|
m_mode=MODE__GOTO_CREDITS;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -309,7 +315,7 @@ rsr=(rsr+(_frames*rspeed))&4095;
|
||||||
---------------------------------------------------------------------- */
|
---------------------------------------------------------------------- */
|
||||||
int CFrontEndMainTitles::isReadyToExit()
|
int CFrontEndMainTitles::isReadyToExit()
|
||||||
{
|
{
|
||||||
return !CFader::isFading()&&(m_mode==MODE__START_GAME||m_mode==MODE__GOTO_OPTIONS||m_mode==MODE__GOTO_DEMO);
|
return !CFader::isFading()&&(m_mode==MODE__GOTO_CHOOSE_SLOT||m_mode==MODE__GOTO_OPTIONS||m_mode==MODE__GOTO_DEMO||m_mode==MODE__GOTO_CREDITS);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -331,8 +337,8 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode()
|
||||||
ASSERT(0);
|
ASSERT(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODE__START_GAME:
|
case MODE__GOTO_CHOOSE_SLOT:
|
||||||
ret=CFrontEndScene::MODE__MAIN_TITLES;//MODE__CHOOSE_SLOT;
|
ret=CFrontEndScene::MODE__CHOOSE_SLOT;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODE__GOTO_OPTIONS:
|
case MODE__GOTO_OPTIONS:
|
||||||
|
@ -342,6 +348,10 @@ CFrontEndScene::FrontEndMode CFrontEndMainTitles::getNextMode()
|
||||||
case MODE__GOTO_DEMO:
|
case MODE__GOTO_DEMO:
|
||||||
ret=CFrontEndScene::MODE__DEMO;
|
ret=CFrontEndScene::MODE__DEMO;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case MODE__GOTO_CREDITS:
|
||||||
|
ret=CFrontEndScene::MODE__CREDITS;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -77,10 +77,11 @@ private:
|
||||||
{
|
{
|
||||||
MODE__PRESS_START,
|
MODE__PRESS_START,
|
||||||
MODE__SELECT_OPTION,
|
MODE__SELECT_OPTION,
|
||||||
MODE__START_GAME,
|
|
||||||
|
|
||||||
|
MODE__GOTO_CHOOSE_SLOT,
|
||||||
MODE__GOTO_OPTIONS,
|
MODE__GOTO_OPTIONS,
|
||||||
MODE__GOTO_DEMO,
|
MODE__GOTO_DEMO,
|
||||||
|
MODE__GOTO_CREDITS,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -102,6 +103,7 @@ private:
|
||||||
|
|
||||||
int m_startGameFlag;
|
int m_startGameFlag;
|
||||||
int m_gotoOptionsFlag;
|
int m_gotoOptionsFlag;
|
||||||
|
int m_gotoCreditsFlag;
|
||||||
|
|
||||||
int m_demoTimeout;
|
int m_demoTimeout;
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,14 @@ SOURCE=..\..\..\source\fileio\pcfile.h
|
||||||
# PROP Default_Filter ""
|
# PROP Default_Filter ""
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\frontend\credits.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\frontend\credits.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\..\..\source\frontend\demomode.cpp
|
SOURCE=..\..\..\source\frontend\demomode.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@ -163,6 +171,14 @@ SOURCE=..\..\..\source\frontend\scrollbg.cpp
|
||||||
|
|
||||||
SOURCE=..\..\..\source\frontend\scrollbg.h
|
SOURCE=..\..\..\source\frontend\scrollbg.h
|
||||||
# End Source File
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\frontend\start.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\..\..\source\frontend\start.h
|
||||||
|
# End Source File
|
||||||
# End Group
|
# End Group
|
||||||
# Begin Group "game"
|
# Begin Group "game"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue