This commit is contained in:
parent
d279d098d3
commit
e69ccf257a
154
source/backend/gameover.cpp
Normal file
154
source/backend/gameover.cpp
Normal file
@ -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 <trans.h>
|
||||
#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 */
|
71
source/backend/gameover.h
Normal file
71
source/backend/gameover.h
Normal file
@ -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 */
|
Loading…
Reference in New Issue
Block a user