diff --git a/source/backend/gameover.cpp b/source/backend/gameover.cpp new file mode 100644 index 000000000..ed0bbe1ef --- /dev/null +++ b/source/backend/gameover.cpp @@ -0,0 +1,154 @@ +/*========================================================================= + + gameover.cpp + + Author: PKG + Created: + Project: Spongebob + Purpose: + + Copyright (c) 2001 Climax Development Ltd + +===========================================================================*/ + + +/*---------------------------------------------------------------------- + Includes + -------- */ + +#include "backend\gameover.h" + +#ifndef __GFX_FONT_H__ +#include "gfx\font.h" +#endif + +#ifndef __PAD_PADS_H__ +#include "pad\pads.h" +#endif + +#ifndef __PRIM_HEADER__ +#include "gfx\prim.h" +#endif + +#ifndef __FRONTEND_FRONTEND_H__ +#include "frontend\frontend.h" +#endif + +#ifndef __GFX_FADER_H__ +#include "gfx\fader.h" +#endif + + +/* Std Lib + ------- */ + +/* Data + ---- */ + +#ifndef __STRING_ENUMS__ +#include +#endif + + +/*---------------------------------------------------------------------- + Tyepdefs && Defines + ------------------- */ + +/*---------------------------------------------------------------------- + Structure defintions + -------------------- */ + +/*---------------------------------------------------------------------- + Function Prototypes + ------------------- */ + +/*---------------------------------------------------------------------- + Vars + ---- */ + +CGameOverScene GameOverScene; + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CGameOverScene::init() +{ + m_font=new ("game over font") FontBank(); + m_font->initialise(&standardFont); + m_font->setJustification(FontBank::JUST_CENTRE); + m_font->setOt(10); + + m_readyToExit=false; +} + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CGameOverScene::shutdown() +{ + m_font->dump(); delete m_font; +} + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CGameOverScene::render() +{ + POLY_F4 *f4; + + f4=GetPrimF4(); + setXYWH(f4,0,0,512,256); + setRGB0(f4,0,0,0); + AddPrimToList(f4,20); + + m_font->setColour(255,255,255); + m_font->print(256,100,STR__BACKEND__GAME_OVER); +} + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +void CGameOverScene::think(int _frames) +{ + if(!m_readyToExit) + { + if(PadGetDown(0)&(PAD_CROSS|PAD_START)) + { + m_readyToExit=true; + CFader::setFadingOut(); + GameState::setNextScene(&FrontEndScene); + } + } +} + + +/*---------------------------------------------------------------------- + Function: + Purpose: + Params: + Returns: + ---------------------------------------------------------------------- */ +int CGameOverScene::readyToShutdown() +{ + return m_readyToExit&&!CFader::isFading(); +} + + +/*=========================================================================== + end */ \ No newline at end of file diff --git a/source/backend/gameover.h b/source/backend/gameover.h new file mode 100644 index 000000000..2e9d99d29 --- /dev/null +++ b/source/backend/gameover.h @@ -0,0 +1,71 @@ +/*========================================================================= + + gameover.h + + Author: PKG + Created: + Project: Spongebob + Purpose: + + Copyright (c) 2001 Climax Development Ltd + +===========================================================================*/ + +#ifndef __BACKEND_GAMEOVER_H__ +#define __BACKEND_GAMEOVER_H__ + +/*---------------------------------------------------------------------- + Includes + -------- */ + +#ifndef __SYSTEM_GSTATE_H__ +#include "system\gstate.h" +#endif + + +/* Std Lib + ------- */ + +/*---------------------------------------------------------------------- + Tyepdefs && Defines + ------------------- */ + +/*---------------------------------------------------------------------- + Structure defintions + -------------------- */ + +class CGameOverScene: public CScene +{ +public: + void init(); + void shutdown(); + void render(); + void think(int _frames); + int readyToShutdown(); + char *getSceneName() {return"GameOver";} + + +private: + class FontBank *m_font; + int m_readyToExit; + +}; + + +/*---------------------------------------------------------------------- + Globals + ------- */ + +extern CGameOverScene GameOverScene; + + +/*---------------------------------------------------------------------- + Functions + --------- */ + +/*---------------------------------------------------------------------- */ + +#endif /* __BACKEND_GAMEOVER_H__ */ + +/*=========================================================================== + end */