Ejemplo n.º 1
0
void HUD::on_render()
{
	if(!gameclient.snap.gameobj)
		return;
		
	width = 300*gfx_screenaspect();

	bool spectate = false;
	if(gameclient.snap.local_info && gameclient.snap.local_info->team == -1)
		spectate = true;
	
	if(!config.cl_clear_hud && !config.cl_clear_all && gameclient.snap.local_character && !spectate && !(gameclient.snap.gameobj && gameclient.snap.gameobj->game_over))
	{
		render_healthandammo();
		render_speed();
	}

	render_goals();
	render_fps();
	if(client_state() != CLIENTSTATE_DEMOPLAYBACK)
		render_connectionwarning();
	render_teambalancewarning();
	if(config.cl_render_vote && !config.cl_clear_all)	
		render_voting();
	if(config.cl_render_crosshair && !config.cl_clear_hud && !config.cl_clear_all)
		render_cursor();
	if(config.cl_render_viewmode && !config.cl_clear_hud && !config.cl_clear_all && spectate && !(gameclient.snap.gameobj && gameclient.snap.gameobj->game_over))
		render_spectate();
}
Ejemplo n.º 2
0
void render()
{
  if(quit)
    return;
  //clear renderer
  SDL_SetRenderTarget(renderer, NULL);
  SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
  SDL_RenderClear(renderer);

  //clear camera
  SDL_SetRenderTarget(renderer, camera.game_texture.sdl_texture);
  SDL_SetRenderDrawColor(renderer, 0, 0, 255, 255);
  SDL_RenderClear(renderer);

  render_board(&board);
  render_striker(&striker);
  render_chips();

  if(game_state == PLAY && striker.state == WITH_PLAYER)
  {
    render_orientation(&striker);
  }


  //render camera in viewport
  SDL_SetRenderTarget(renderer, NULL);
  SDL_Rect dest_rect = { VIEWPORT_X, VIEWPORT_Y, VIEWPORT_HEIGHT, VIEWPORT_WIDTH };
  SDL_RenderCopy(renderer, camera.game_texture.sdl_texture, NULL, &dest_rect);
  

  if(game_state == MAIN_MENU)
  {
    render_main_menu();
  }

  if(game_state == INSTRUCTION)
  {
    render_instructions();
  }

  if(game_state == GAME_OVER)
  {
    render_game_over_state();
  }

  if(game_state == PLAY && striker.state == WITH_PLAYER)
  {
    render_speed(&striker);
    // render_orientation_text(&striker);
  }

  if(game_state == PLAY)
  {
    render_main_instruction();
  }

  render_scores();
  SDL_RenderPresent(renderer);
}