123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- #include "TileInterfaces.h"
- #include "ParticleEngine.h"
- ITileGame::ITileGame( ITileRenderer *renderer, int x, int y, int width, int height ) {
- m_renderer = renderer;
- m_pengine = new CParticleEngine( renderer );
- m_logoState = 0;
- m_hudState = 0;
- m_state = eTILEGAMESTATE_NOTSET;
- setGameArea( x,y,width,height );
- };
- ITileGame::~ITileGame() {
- if (m_pengine) {
- delete m_pengine;
- };
- // destroy something?
- };
- void ITileGame::click( int fixedx, int fixedy, eMOUSEEVENT etype ) {
- // TODO, transfer basic functionality here.
- gameClick( fixedx, fixedy, etype );
- };
- void ITileGame::setGameState( eTILEGAMESTATE state ) {
- switch ( state ) {
- case eTILEGAMESTATE_MENU:
- m_renderer->effectNotify( eEFFECT_MENU, 0, 0);
- break;
- case eTILEGAMESTATE_GAMEOVER:
- m_renderer->effectNotify( eEFFECT_GAMEOVER, 0, 0);
- break;
- }
- m_state = state;
- gameStateChanged(); // notify
- };
- int ITileGame::run( int fixedFrameTime16Bit ) {
-
- //fixedFrameTime16Bit /= 8;
- int hudStateTarget = 0;
- int logoStateTarget = 0;
- switch ( m_state ) {
- case eTILEGAMESTATE_NOTSET:
- if (load() == 1) {
- setGameState( eTILEGAMESTATE_PAUSED );
- } else setGameState( eTILEGAMESTATE_MENU );
- break;
- case eTILEGAMESTATE_MENU:
- logoStateTarget = 65535;
- break;
- case eTILEGAMESTATE_RUNGAME:
- {
- hudStateTarget = 65535;
- };
- break;
- };
- m_logoState += (((logoStateTarget-m_logoState) * fixedFrameTime16Bit) >> 13);
- m_hudState += (((hudStateTarget-m_hudState) * fixedFrameTime16Bit) >> 14);
- int grun = gameRun( fixedFrameTime16Bit );
- m_pengine->run( fixedFrameTime16Bit);
-
- return 1;
- };
- int ITileGame::draw() {
- m_renderer->renderBackground(0); // game will render bg
- int rval = gameDraw();
- //m_pengine->draw();
- m_renderer->renderForeground(0);
- return rval;
- };
- // helpers
|