From b9d4b60486e224261990c0732852513e86dd94ff Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Fri, 2 Oct 2015 23:48:34 +0800 Subject: Add BLR3 files. Modify Readme. Currently BLR3 is VERY primitive!! --- src/ui/mainmenu.cpp | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 src/ui/mainmenu.cpp (limited to 'src/ui/mainmenu.cpp') diff --git a/src/ui/mainmenu.cpp b/src/ui/mainmenu.cpp new file mode 100644 index 0000000..7bb62b8 --- /dev/null +++ b/src/ui/mainmenu.cpp @@ -0,0 +1,69 @@ +#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,960,720);whitea=0xFF;whitexf->setZ(1); + sceneMgr->registerScene(this,"MainMenu",990); + menu=new menuLCD(43,20,7,360,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(0xFF000000); + if(whitea>6)whitea-=6;else whitea=0; + whitexf->setColor(SETA(0x00FFFFFF,whitea)); + menubEnt->render(0,0); + menu->render(); + whitexf->render(0,0); + return false; +} +mainMenuScene *mainMenuScn; -- cgit v1.2.3