Exemple #1
0
void menuLoadAll()
{
	MenuMain = menuCreateNew(MenuMain, 0, "OPTIONS", actNetwork);
	MenuMain = menuCreateNew(MenuMain, 1, "CONNECT/DISCONNECT", actConnect);
	MenuMain = menuCreateNew(MenuMain, 2, "EXIT", actQuit);

	MenuNetwork = menuCreateNew(MenuNetwork, 0, "NETWORK SETTINGS", actOptions);
	MenuNetwork = menuCreateNew(MenuNetwork, 1, "", NULL );

	MenuNetwork = menuCreateNew(MenuNetwork, 2, "LOAD NETWORK", actNetworks );
	MenuNetwork = menuCreateNew(MenuNetwork, 3, "SAVE NETWORK", actProfileSave );

	MenuNetwork = menuCreateNew(MenuNetwork, 4, "", NULL );
	MenuNetwork = menuCreateNew(MenuNetwork, 5, "BACK", actNetworkBack );


	//MenuOptions = menuCreateNew(MenuOptions, 0, "MODE", actOptionsMode);
	MenuOptions = menuCreateNew(MenuOptions, 0, "ESSID", actOptionsESSID);
	MenuOptions = menuCreateNew(MenuOptions, 1, "ENCRYPTION", actOptionsEnc);
	MenuOptions = menuCreateNew(MenuOptions, 2, "PASSWORD", actOptionsPassword);
	//MenuOptions = menuCreateNew(MenuOptions, 4, "DHCP", actOptionsDHCP);
	//MenuOptions = menuCreateNew(MenuOptions, 5, "IP", actOptionsIP);
	//MenuOptions = menuCreateNew(MenuOptions, 6, "NETMASK", actOptionsNETMASK);
	MenuOptions = menuCreateNew(MenuOptions, 3, "SHOW/HIDE PASS", actOptionsTogglePasswordVisibility);
	MenuOptions = menuCreateNew(MenuOptions, 4, "", NULL);
	MenuOptions = menuCreateNew(MenuOptions, 5, "BACK", actOptionsBack);

	CurrentMenu = MenuMain;
	SelectedItem = menuSwitchItem(CurrentMenu, 0);
}
Exemple #2
0
void game (gamedata &g){

  SDL_Event event;
  quit = false;

  // Set first tick interval
  Uint32 next_time = SDL_GetTicks() + TICK_INTERVAL;

  while (!quit){
	  if(g.winner){
		finish_game(g);
		setup_game(g);
		GameState = STATE_INTRO;
		CurrentMenu = MenuMainIntro;
		SelectedItem = menuSwitchItem(CurrentMenu, 0);
		demo = true;
	  }
	 else if (g.winner == 0){

	    Uint8 *keys = SDL_GetKeyState(NULL);

	    if (SDL_PollEvent(&event) == 1){
	      switch (event.type){

	      case SDL_QUIT: {
		printf("Quit requested, quitting.\n");
		quit = true;
	      }
	      break;
	      }
	    }

	    if(GameState == STATE_INTRO || GameState == STATE_MENU)
	    {
		    menuInput(g);
	    }
	    else if(GameState == STATE_MENU_PLANE_SELECT)
	    {
		    menuPlanes(g);
	    }
	    else if(GameState == STATE_MENU_PLAYER_CONTROL_SELECT)
	    {
		    menuSelectPlayer(g);
	    }
	    else if(GameState == STATE_GAME)
	    {
		    if ((keys[SDLK_ESCAPE] == SDL_PRESSED) || (keys[51] == SDL_PRESSED)){
			keys[SDLK_ESCAPE] = SDL_RELEASED;
			GameState = STATE_MENU;
			CurrentMenu = MenuMain;
			SelectedItem = menuSwitchItem(CurrentMenu, 0);
		      //quit = true;
		    }
	    }

	    // Go through each plane individually
	    g.p.reset();
	    while (g.p.next()){

	      // Setup virtual joystick
	      int jx = 0;

	      int jy = 0;
	      bool jb = false;

	      if (g.p().state < 2){
		control(g, keys, jx, jy, jb);
		controlJoy(g, jx, jy, jb);
	      }
	      // Then move the plane
	      act(g, jx, jy, jb);
	      // Remove expunged planes
	      if (g.p().state == 4){
		g.drakms.fighter[g.p().id-7] = false;
		g.drakms.fightersout--;
		g.dp.reset();
		while(g.dp.next()){
		  if (g.dp().id == g.p().id) g.dp.kill();
		}
		g.p.kill();
	      }

	    }

	    // Then do everything else
	    all(g);
	    drawall(g);

	    // Delay for time remaining in TICK_INTERVAL
	    SDL_Delay(time_left(next_time));
	    next_time = SDL_GetTicks() + TICK_INTERVAL;

	  }
  }
}
Exemple #3
0
void menuInput()
{
	MenuItem *NewItem = NULL;
	int newItemNumber = SelectedItem->number;

	if(!keyDelayCheck(SDLK_UP, 15))
	{
		newItemNumber--;
	}
	else if(!keyDelayCheck(SDLK_DOWN, 15))
	{
		newItemNumber++;
	}

	if(newItemNumber < 0)
	{
		newItemNumber = CurrentMenu->size - 1;
	}

	if(newItemNumber >= CurrentMenu->size)
	{
		newItemNumber = 0;
	}

	if(newItemNumber != SelectedItem->number)
	{
		NewItem = menuSwitchItem(CurrentMenu, newItemNumber);
		if(NewItem != NULL)
		{
			while(NewItem->callback == NULL)
			{
				if(NewItem->number < SelectedItem->number)
				{
					newItemNumber--;
				}
				else if(NewItem->number > SelectedItem->number)
				{
					newItemNumber++;
				}
				else
				{
					return;
				}

				NewItem = menuSwitchItem(CurrentMenu, newItemNumber);
			}

			SelectedItem = NewItem;
		}
	}

	if(keystate[SDLK_RETURN])
	{
		keystate[SDLK_RETURN] = 0;
		//menuAction(SelectedItem);
		SelectedItem->callback(SelectedItem);
	}
	if(keystate[SDLK_LCTRL])
	{
		keystate[SDLK_LCTRL] = 0;
		//menuAction(SelectedItem);
		SelectedItem->callback(SelectedItem);
	}
}
Exemple #4
0
void controlJoy(gamedata &g, int &jx, int &jy, bool &jb){
	int deadzone = 250;
	int x;
	int y;

	switch(g.p().control){
		case 1:
		{
			if(g.playerJoy[0] == -1)
				break;

			SDL_Joystick *joy = SDL_JoystickOpen(g.playerJoy[0]);
			if(demo)
			{
				//computer_ai(g, g.p(), jx, jy, jb);
			}
			else
			{
				x = SDL_JoystickGetAxis(joy, 0); // left-right
				y = SDL_JoystickGetAxis(joy, 1); // up-down

				if(x < -deadzone)
					jx = -1;
				else if(x > deadzone)
					jx = 1;
				//else
				//	jx = 0;


				if(y < -deadzone)
					jy = -1;
				//else if(y > deadzone)
				//	jy = 1; // drop bomb
				//else
				//	jy = 0;

				if(!jb)
					jb = (bool)SDL_JoystickGetButton(joy, g.playerJoyBut[0][0]); // fire
				if(SDL_JoystickGetButton(joy, g.playerJoyBut[0][1])) // drop bomb
					jy = 1;

				if(SDL_JoystickGetButton(joy, g.playerJoyBut[0][2]) && GameState == STATE_GAME)
				{
					GameState = STATE_MENU;
					CurrentMenu = MenuMain;
					SelectedItem = menuSwitchItem(CurrentMenu, 0);
				}
			}
		}
			break;
		case 2:
		{
			if(g.playerJoy[1] == -1)
				break;

			SDL_Joystick *joy = SDL_JoystickOpen(g.playerJoy[1]);
			if(demo)
			{
				//computer_ai(g, g.p(), jx, jy, jb);
			}
			else
			{
				x = SDL_JoystickGetAxis(joy, 0); // left-right
				y = SDL_JoystickGetAxis(joy, 1); // up-down

				if(x < -deadzone)
					jx = -1;
				else if(x > deadzone)
					jx = 1;
				//else
				//	jx = 0;


				if(y < -deadzone)
					jy = -1;
				//else if(y > deadzone)
				//	jy = 1; // drop bomb
				//else
				//	jy = 0;

				if(!jb)
					jb = (bool)SDL_JoystickGetButton(joy, g.playerJoyBut[1][0]); // fire
				if(SDL_JoystickGetButton(joy, g.playerJoyBut[1][1])) // drop bomb
					jy = 1;
			}
		}
			break;

		default:
			computer_ai(g, g.p(), jx, jy, jb);
		break;
	}
}