#include "menus.hpp" #include "../master/resources.hpp" #include "../core/corepublic.hpp" #include smAnmFile menubg; smEntity2D *menubEnt; smEntity2D *whitexf; BYTE whitea; bool exitPressed(int key){if((key==SMK_ENTER)||(key==SMK_Z))return true;return false;} bool startPressed(int key) //stub { if((key==SMK_ENTER)||(key==SMK_Z)) { extern sceneManager *sceneMgr; gameScn=new gameScene; sceneMgr->registerScene(gameScn,"GameScene",900); sceneMgr->activateScene("GameScene"); sceneMgr->deactivateScene("MainMenu"); sceneMgr->startUpdate(); } return false; } SMELT* mainMenuScene::sm=NULL; mainMenuScene::mainMenuScene() { extern sceneManager *sceneMgr; sm=smGetInterface(SMELT_APILEVEL); menubg.loadAnmFromMemory(blrdtp.getFilePtr("menu.anm"),blrdtp.getFileSize("menu.anm")); menubEnt=new smEntity2D(menubg.getTextureInfo("menubg")->tex,menubg.getTextureInfo("menubg")->rect); whitexf=new smEntity2D(0,0,0,1280,720);whitea=0xFF;whitexf->setZ(1); sceneMgr->registerScene(this,"MainMenu",990); menu=new menuLCD(43,20,7,520,370,&lcdfont); menu->addCtrl(new menuCtrlLCD(0,20,&lcdfont)); menu->getCtrl(0)->setText(NULL,"START"); menu->getCtrl(0)->onKeyPressed(startPressed); menu->addCtrl(new menuCtrlLCD(1,20,&lcdfont)); menu->getCtrl(1)->setText(NULL,"HIGHSCORE"); menu->addCtrl(new menuCtrlLCD(2,20,&lcdfont)); menu->getCtrl(2)->setText(NULL,"REPLAY"); menu->addCtrl(new menuCtrlLCD(3,20,&lcdfont)); menu->getCtrl(3)->setText(NULL,"CONSOLE"); menu->addCtrl(new menuCtrlLCD(4,20,&lcdfont)); menu->getCtrl(4)->setText(NULL,"NOW PLAYING"); menu->addCtrl(new menuCtrlLCD(5,20,&lcdfont)); menu->getCtrl(5)->setText(NULL,"OPTIONS"); menu->addCtrl(new menuCtrlLCD(6,20,&lcdfont)); menu->getCtrl(6)->setText(NULL,"HELP"); menu->addCtrl(new menuCtrlLCD(7,20,&lcdfont)); menu->getCtrl(7)->setText(NULL,"EXIT"); menu->getCtrl(7)->onKeyPressed(exitPressed); } mainMenuScene::~mainMenuScene() { delete menu;delete menubEnt;delete whitexf; menubg.close();sm->smRelease(); } bool mainMenuScene::sceneUpdate(){return menu->update();} bool mainMenuScene::sceneRender() { sm->smClrscr(0xFF102848); if(whitea>6)whitea-=6;else whitea=0; whitexf->setColor(SETA(0x00FFFFFF,whitea)); menubEnt->render(160,0); menu->render(); whitexf->render(0,0); return false; } mainMenuScene *mainMenuScn;