Beispiel #1
0
int main(int argc, char **argv){
    initEverything();
    
    loadScoreFile();
    canRun = mainMenu;
    while (canRun != leave) {
        quit = 0;
        switch (canRun) {
               case mainMenu:
            initMainMenu();
            break;

               case highScore:
            initHighScore();
            break;

               case credits:
            initCredits();
            break;

               case onePlayer:
            initOnePlayer();
            break;

               case twoPlayers:
            initTwoPlayers();
            break;

               case showWinner:
            InitWinner();
            break;
        }
    }
    return 0;
}
Beispiel #2
0
Click			Menu::drawMainMenu()
{
  initMainMenu();
  sizeM = imgMenu->getSize();
  position0.X = 0;
  position0.Y = 0;
  position1.X = sizeM.Width;
  position1.Y = sizeM.Height;
  rectangle.UpperLeftCorner = position0;
  rectangle.LowerRightCorner = position1;
  driver->draw2DImage(imgMenu, position0, rectangle, 0,
		      irr::video::SColor(255, 255, 255, 255), true);
  play->draw();
  load->draw();
  option->draw();
  quit->draw();
  if (event->getChoice() == Click::PLAY) {
    return Click::PLAY;
  } else if (event->getChoice() == Click::OPTION) {
    return Click::OPTION;
  } else if (event->getChoice() == Click::LOAD) {
    return Click::LOAD;
  } else if (event->getChoice() == Click::QUIT) {
    std::cout << "QUIT" << std::endl;
    return Click::QUIT;
  }
  return Click::NOP;
}
CMenuVorticon::CMenuVorticon( char menu_mode, CMap &Map, CSavedGame &SavedGame,
			 bool &restartVideo, bool &hideobjects ) :
CMenu(menu_mode, SavedGame,
	DLG_THEME_VORTICON, restartVideo),
m_Map(Map),
mp_InfoScene(NULL),
m_hideobjects(hideobjects)
{
	initMainMenu();
}
Beispiel #4
0
void initMenu() {
	xmusic=soundhs[0][0]+((double)opt_music/64*(soundhs[0][2]-44));
	xsound=soundhs[1][0]+((double)opt_sound/255*(soundhs[1][2]-44));

	if(opt_lang==-1)
		initLangMenu();
	else {
	    if( curtext == 0) {
            setLanguage();
	    }
		initMainMenu();
	}
}
Beispiel #5
0
/* on "init" you need to initialize your instance */
bool GameMenuScene::init()
{
    //////////////////////////////
    // 1. super init first
    if (!Layer::init()) {
            return false;
    }
    
    initEnvironment();
    initBackground();
    initMainMenu();
    initAircraft();
    
    return true;
}
Beispiel #6
0
void initMyMenu(MyMenu *m, Sugoroku *s) {
  int i;
  initMainMenu(&m->main_menu);
  initMenu(&m->target_menu, s->player_num + 1);
  initMenu(&m->shop_menu, s->shop.size + 1);
  setMenuStr(&m->target_menu, 0, "Back");
  setMenuStr(&m->shop_menu, 0, "Back");
  m->item_menu = (Menu *)malloc(sizeof(Menu)*s->player_num);
  for(i = 0; i < s->player_num; i++) {
    initMenu(&m->item_menu[i], 2);
    setMenuStr(&m->item_menu[i], 0, "Back");
    setMenuStr(&m->target_menu, i+1, s->player[i].name);
  }

  /*
  for(i = 0; i < s->shop.size; i++) {
    setMenuStr(&m->shop_menu, i+1, s->item[s->shop.item[i].item_id].name);
  }*/
  setShopMenu(m, s);
}
Beispiel #7
0
static void showMainMenu()
{
	game.menu = initMainMenu();

	game.drawMenu = &drawMainMenu;
}
Beispiel #8
0
MyGame::MyGame(int argc, char* argv[]) : Game(640, 480, -1, "Engine Sandbox", argc, argv){
    // Força o carregamento de imagens, sons, arquivos de mapas e itens de forma relativa.
    setRelativePaths();
    MyGame::getParams(argc, argv);
    initMainMenu();
    initGameMenu();
    
    BackgroundMusic::loadSong("/Users/alexpeixoto/Downloads/AF/menu.ogg");
    BackgroundMusic::setVolume(20);
    BackgroundMusic::play();
    
    //Inicia screenlog
    sl=new ScreenLog("/Developer/times.ttf");;
    
    //Define a janela principal para render de imagem e texto
    Core::Image::setWindow(Game::window);
    Core::TextControl::setWindow(Game::window);
    
    // Define arquivos genericos de itens e sons.
    ItemManager::loadFromFile("/Users/alexpeixoto/Desktop/item.list");

    
    
    // Inicializa um screenLog estático.
    sl->setPosition(Point2i(Game::window->getSize().x-250, 0));
    sl->setSize(Vector2i(250, 100));
    sl->setSpacing(5);
    sl->setScale(.5);
    
    // Inicializa debug
    Debug::LogManager::addLevelDestiny(Debug::LogLevel::WARNING, Debug::Destiny::Console);
    LogManager::addLevelDestiny(Debug::LogLevel::MESSAGE, Debug::Destiny::Screen, sl);
    LogManager::addLevelDestiny(Debug::LogLevel::WARNING, Debug::Destiny::Console, sl);
    
    bs=new Core::BackgroundShape();
    
    bs->setBorderSize(2);
    bs->setBorderColor(10, 100, 10, 255);
    bs->setInsideColor(100, 100, 0, 180);
    bs->setSize(Vector2i(260, 110));
    bs->setPosition(Point2i(Game::window->getSize().x-262, 2));
    
    //!Escreve no TTY, Caso deseje utilizar esta função abra o terminal e digite tty. Coloque o valor retornado no lugar do /dev/ttys000
    //LogManager::addLevelDestiny(Debug::LogLevel::ERROR, Debug::Destiny::Device, "/dev/ttys000", true);
    //LogManager::log(Debug::LogLevel::ERROR, "Teste", "");
    //LogManager::log(Debug::LogLevel::ERROR, "Teste", "");
    //LogManager::removeLevelDestiny(Debug::LogLevel::ERROR, Debug::Destiny::Device);

    thread t([=](){
        map<string, string> params;
        while(1){
            params.clear();
            //Aqui é verificado de onde veio a solicitação de mudança de nivel.
            if(Adventure::LevelManager::changeTo==0 && (loaded==-1 || loaded==0))
                LevelManager::changeLevel<ClosedMap>(params);
            else if(Adventure::LevelManager::changeTo==1 && (loaded==-1 || loaded==0))
                LevelManager::changeLevel<TestMap>(params);
            else if(Adventure::LevelManager::changeTo==2 && (loaded==-1 || loaded==0))
                LevelManager::changeLevel<ObjectMapGame>(params);
            
            else if(Adventure::LevelManager::changeTo==0 && loaded==1){
                params.insert(make_pair("position", "outHouse"));
                LevelManager::changeLevel<BeginMap>(params);
            }
            else if(Adventure::LevelManager::changeTo==0 && loaded==2){
                params.insert(make_pair("position", "outTest"));
                LevelManager::changeLevel<BeginMap>(params);
            }
            else if(Adventure::LevelManager::changeTo==0 && loaded==3){
                params.insert(make_pair("position", "outObject"));
                LevelManager::changeLevel<BeginMap>(params);
            }
            this_thread::sleep_for(chrono::milliseconds(100));
        }
    });
    t.detach();
}
Beispiel #9
0
Common::Error KyraEngine_MR::go() {
	bool running = true;
	preinit();
	_screen->hideMouse();
	initMainMenu();

	_screen->clearPage(0);
	_screen->clearPage(2);

	const bool firstTimeGame = !saveFileLoadable(0);

	if (firstTimeGame) {
		playVQA("K3INTRO");
		_wasPlayingVQA = false;
	}

	if (_gameToLoad != -1 || firstTimeGame) {
		while (!_screen->isMouseVisible())
			_screen->showMouse();

		uninitMainMenu();
		_musicSoundChannel = -1;
		startup();
		runLoop();
		running = false;
	}

	while (running && !shouldQuit()) {
		_screen->_curPage = 0;
		_screen->clearPage(0);

		_screen->setScreenPalette(_screen->getPalette(0));

		playMenuAudioFile();

		for (int i = 0; i < 64 && !shouldQuit(); ++i) {
			uint32 nextRun = _system->getMillis() + 3 * _tickLength;
			_menuAnim->displayFrame(i, 0, 0, 0, 0, 0, 0);
			_screen->updateScreen();
			delayUntil(nextRun);
		}

		for (int i = 64; i > 29 && !shouldQuit(); --i) {
			uint32 nextRun = _system->getMillis() + 3 * _tickLength;
			_menuAnim->displayFrame(i, 0, 0, 0, 0, 0, 0);
			_screen->updateScreen();
			delayUntil(nextRun);
		}

		_eventList.clear();

		switch (_menu->handle(3)) {
		case 2:
			_menuDirectlyToLoad = true;
			// fall through

		case 0:
			uninitMainMenu();

			fadeOutMusic(60);
			_screen->fadeToBlack(60);
			_musicSoundChannel = -1;
			startup();
			runLoop();
			running = false;
			break;

		case 1:
			playVQA("K3INTRO");
			_wasPlayingVQA = false;
			_screen->hideMouse();
			break;

		case 3:
			fadeOutMusic(60);
			_screen->fadeToBlack(60);
			uninitMainMenu();
			quitGame();
			running = false;
			break;

		default:
			break;
		}
	}

	if (_showOutro && !shouldQuit())
		playVQA("CREDITS");

	return Common::kNoError;
}
Beispiel #10
0
int menuWiimote(WPADData *wd, u32 wpaddown) {
	checkSelected(wd);

	// button A selects an option
	if(wpaddown & WPAD_BUTTON_A) {
		switch(curmenunum) {
			case MAIN_MENU :
				switch(msel) {
					case 0:
                        //play menu
						playClick();
						killMainMenu();
						initPlayMenu();
						break;
					case 1 :
                        //hi score
						playClick();
                        killMainMenu();
                        initHighscoreMenu();
						break;
					case 2 :
                        //optionsmenu
						playClick();
						killMainMenu();
						initOptionMenu();
						break;
					case 3 :
                        //sound menu
						playClick();
						killMainMenu();
						initSoundMenu();
						break;
					case 4 :
                        //exit
						playClick();
						killMainMenu();
						return EXIT;
				}
				break;
			case PLAY_MENU :
				switch(msel) {
					case 0 :
						playClick();
						killPlayMenu();
						return ONE_PLAYER_GAME;
						break;
					case 1 :
						playClick();
						killPlayMenu();
						return TWO_PLAYER_COOP;
						break;
					case 2 :
						playClick();
						killPlayMenu();
						return TWO_PLAYER_VERSUS;
						break;
					case 3 :
						playClick();
						killPlayMenu();
						initMainMenu();
						break;
				}
				break;
			case OPTIONS_MENU :
				switch(msel) {
					case 0 :
						// change tileset
						playClick();
						killMenu();
						initTilesetMenu();
						break;
					case 1 :
						// change layout
						playClick();
						killMenu();
						initLayoutMenu();
						break;
					case 2 :
						// hover hint
						playWrong();
						break;
					case 3 :
						// language selection
						playClick();
						killMenu();
						initLangMenu();
						break;
					case 4 :
						// rumble on/off
						if(opt_rumble)
							opt_rumble=false;
						else
							opt_rumble=true;
						playClick();
						break;
					case 5 :
						// widescreen on/off
						if(opt_widescreen)
							opt_widescreen=false;
						else
							opt_widescreen=true;
						GRRLIB_Widescreen(opt_widescreen);
						playClick();
						break;
					case 6 :
						// back
						playClick();
						killMenu();
						initMainMenu();
						break;
				}
				break;
			case SOUND_MENU :
				switch(msel) {
					case 2 :
						playClick();
						killSoundMenu();
						initMainMenu();
						break;
				}
				break;
			case LANG_MENU :
				if(msel>-1) {
					int tmp_lang=msel + (curpage==0?0:9);
					if(tmp_lang>NORWEGIAN) return NOTHING;
					opt_lang=tmp_lang;
					setLanguage();
					playClick();
					killLangMenu();
					initOptionMenu();
				}
				if(btnover) {
				    curpage++;
					curpage = curpage % 2;
					playClick();
				}
				break;
			case LAYOUT_MENU :
				if(msel>-1) {
					playClick();
					int tmp_sel = msel + (curpage==0?0:6);
					opt_layout=tmp_sel;
					killLayoutMenu();
					initOptionMenu();
				}
				if(btnover) {
				    curpage++;
					curpage = curpage % 2;
					playClick();
				}
				break;
			case TILESET_MENU :
			{
				if(msel>-1) {
					playClick();
					opt_tileset=msel;
					killTilesetMenu();
					initOptionMenu();
				}
			}
			break;

			case HIGHSCORE_MENU:
			{
                playClick();
                killHighscoreMenu();
                initMainMenu();
			}
			break;
		}
	}

	if (curmenunum==SOUND_MENU && wd->btns_h & WPAD_BUTTON_A) {
		switch(msel) {
			case 0 :
				xmusic=wd->ir.x;
				opt_music = (int) (((double)xmusic-soundhs[0][0])/soundhs[0][2]*64);
				return MUSIC_BAR + opt_music;
				break;
			case 1 :
				xsound=wd->ir.x;
				opt_sound = (int) (((double)xsound-soundhs[1][0])/soundhs[1][2]*255);
				playWrong();
				break;
		}
	}

	// button B acts the same as back
	if(wpaddown & WPAD_BUTTON_B) {
		switch(curmenunum) {
			case MAIN_MENU :
				break;
			case PLAY_MENU :
				playClick();
				killPlayMenu();
				initMainMenu();
				break;
			case OPTIONS_MENU :
				playClick();
				killMenu();
				initMainMenu();
				break;
			case SOUND_MENU :
				playClick();
				killSoundMenu();
				initMainMenu();
				break;
			case LANG_MENU :
				playClick();
				killLangMenu();
				initOptionMenu();
				break;
			case LAYOUT_MENU :
				playClick();
				killLayoutMenu();
				initOptionMenu();
				break;
			case TILESET_MENU :
			{
				playClick();
				killTilesetMenu();
				initOptionMenu();
			}
			break;

			case HIGHSCORE_MENU:
			{
                playClick();
                killHighscoreMenu();
                initMainMenu();
			}
			break;
		}
	}

	if(wpaddown & WPAD_BUTTON_PLUS) {
		if((curmenunum==LANG_MENU || curmenunum==LAYOUT_MENU) && curpage==0) curpage++;
	}

	if(wpaddown & WPAD_BUTTON_MINUS) {
		if((curmenunum==LANG_MENU || curmenunum==LAYOUT_MENU) && curpage==1) curpage--;
	}

	return NOTHING;
}