Example #1
0
 void SessionImpl::transmit( const Response& response, const function< void ( const error_code&, size_t ) >& callback ) const
 {
     auto hdrs = m_settings->get_default_headers( );
     
     if ( m_resource not_eq nullptr )
     {
         const auto m_resource_headers = m_resource->m_pimpl->m_default_headers;
         hdrs.insert( m_resource_headers.begin( ), m_resource_headers.end( ) );
     }
     
     hdrs.insert( m_headers.begin( ), m_headers.end( ) );
     
     auto response_headers = response.get_headers( );
     hdrs.insert( response_headers.begin( ), response_headers.end( ) );
     
     auto payload = make_shared< Response >( );
     payload->set_headers( hdrs );
     payload->set_body( response.get_body( ) );
     payload->set_version( response.get_version( ) );
     payload->set_protocol( response.get_protocol( ) );
     payload->set_status_code( response.get_status_code( ) );
     payload->set_status_message( response.get_status_message( ) );
     
     if ( payload->get_status_message( ).empty( ) )
     {
         payload->set_status_message( m_settings->get_status_message( payload->get_status_code( ) ) );
     }
     
     m_request->m_pimpl->m_socket->start_write( Http::to_bytes( payload ), callback );
 }
Example #2
0
void
game_reset (void)
{
  stop_anim ();
  gtk_action_set_sensitive (undo_action, FALSE);
  gtk_action_set_sensitive (hint_action, FALSE);

  who_starts = (who_starts == PLAYER1) ? PLAYER2 : PLAYER1;
  player = who_starts;

  gameover = TRUE;
  player_active = FALSE;
  winner = NOBODY;
  column = 3;
  column_moveto = 3;
  row = 0;
  row_dropto = 0;

  clear_board ();
  set_status_message (NULL);
  gfx_draw_all ();

  move_cursor (column);
  gameover = FALSE;
  prompt_player ();
  if (!is_player_human ()) {
    if (player == PLAYER1) {
      vstr[0] = vlevel[p.level[PLAYER1]];
    } else {
      vstr[0] = vlevel[p.level[PLAYER2]];
    }
    game_process_move (playgame (vstr, vboard) - 1);
  }
}
Example #3
0
void
remove_watch_cursor_on_thread(gchar *message, struct con_win *cwin)
{
	gdk_threads_enter ();
	if(message != NULL)
		set_status_message(message, cwin);
	gdk_window_set_cursor(GDK_WINDOW(cwin->mainwindow->window), NULL);
	gdk_threads_leave ();
}
static void
network_message_cb (int opcode)
{
  /* message and associated data arrived safely */

  switch (opcode) {
  case msgseat:
    if (variables.num == 0) {
      set_status_message (_("Waiting for an opponent to join the game."));
    } else {
      prompt_player ();
    }

    break;
  case msgplayers:
    /* Not implemented. */
    break;
  case reqmove:
    player_active = TRUE;
    prompt_player ();
    break;
  case rspmove:
    if (!variables.status) {
      process_move (variables.column);
      player_active = FALSE;
    }

    break;
  case msgmove:
    process_move (variables.column2);
    break;
  case sndsync:
    /* Not implemented yet. */
    break;
  case msggameover:
    player_active = FALSE;
    break;
  case reqoptions:
    variables.boardheight2 = BOARDY;
    variables.boardwidth2 = BOARDX;
    variables.connectlength2 = TILES;
    ggzcomm_sndoptions ();
    break;
  case msgoptions:
    /* Not supported yet. */
    break;

  default:
    printf ("Unknown opcode.\n");
    break;
  }

}
Example #5
0
static void
on_game_hint (GtkMenuItem * m, gpointer data)
{
  gchar *s;
  gint c;

  if (timeout)
    return;
  if (gameover)
    return;

  gtk_action_set_sensitive (hint_action, FALSE);
  gtk_action_set_sensitive (undo_action, FALSE);

  set_status_message (_("Thinking..."));

  vstr[0] = vlevel[LEVEL_STRONG];
  c = playgame (vstr, vboard) - 1;

  column_moveto = c;
  if (p.do_animate) {
    while (timeout)
      gtk_main_iteration ();
    anim = ANIM_HINT;
    timeout = g_timeout_add (SPEED_MOVE, (GSourceFunc) on_animate, NULL);
  } else {
    move_cursor (column_moveto);
  }

  blink_tile (0, c, gboard[0][c], 6);

  s = g_strdup_printf (_("Hint: Column %d"), c + 1);
  set_status_message (s);
  g_free (s);

  gtk_action_set_sensitive (hint_action, TRUE);
  gtk_action_set_sensitive (undo_action, (moves > 0));
}
Example #6
0
void set_camera_mode (camera *raw, camera_modes mode, int auto_edit)
{
	ASSERT (raw);

/*
	if ((mode >= 0) && (mode < NUM_CAMERA_MODES))
	{
		debug_log ("Setting camera mode to %s", camera_mode_names[mode]);
	}*/

	// Jabberwock 031009 - Satellite view - only satellite view for sites
	if (get_local_entity_type (raw->external_view_entity) == ENTITY_TYPE_KEYSITE)
	{ 
		mode = CAMERA_MODE_SATELLITE;
		auto_edit = 0;
	}
	// Jabberwock 031009 ends
	
	
	if (auto_edit)
	{
		if (!raw->auto_edit)
		{
			set_status_message (get_trans ("Auto-action camera"), STATUS_MESSAGE_TYPE_CAMERA);
		}
	}
	else
	{
		const char
			*s;

		s = get_camera_mode_name (mode);

		if (s)
		{
			set_status_message (get_trans (s), STATUS_MESSAGE_TYPE_CAMERA);
		}
	}
	
	switch (mode)
	{
		////////////////////////////////////////
		case CAMERA_MODE_CHASE:
		////////////////////////////////////////
		{
			reset_chase_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_END_OF_MISSION:
		////////////////////////////////////////
		{
			reset_end_of_mission_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_DROP:
		////////////////////////////////////////
		{
			reset_drop_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_STATIC:
		////////////////////////////////////////
		{
			reset_static_camera (raw);

			break;
		}
		
		// Jabberwock 031009 Satellite view
		case CAMERA_MODE_SATELLITE:
		////////////////////////////////////////
		{
			reset_satellite_camera (raw);

			break;
		}
		
		// Jabberwock 031009 ends
		
		////////////////////////////////////////
		case CAMERA_MODE_EJECT:
		////////////////////////////////////////
		{
			reset_eject_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_FLY_BY:
		////////////////////////////////////////
		{
			reset_fly_by_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_CINEMATIC:
		////////////////////////////////////////
		{
			reset_cinematic_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_BUILDING:
		////////////////////////////////////////
		{
			reset_building_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_WEAPON:
		////////////////////////////////////////
		{
			if (weapon_camera_valid (raw))
			{
				reset_weapon_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_WEAPON_EXPLOSION:
		////////////////////////////////////////
		{
			reset_weapon_explosion_camera (raw);

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_DEBRIEFING:
		////////////////////////////////////////
		{
			if (debriefing_camera_valid (raw))
			{
				reset_debriefing_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_RECOGNITION_GUIDE_TOP_VIEW:
		////////////////////////////////////////
		{
			if (recognition_guide_top_view_camera_valid (raw))
			{
				reset_recognition_guide_top_view_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_RECOGNITION_GUIDE_SIDE_VIEW:
		////////////////////////////////////////
		{
			if (recognition_guide_side_view_camera_valid (raw))
			{
				reset_recognition_guide_side_view_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_RECOGNITION_GUIDE_FRONT_VIEW:
		////////////////////////////////////////
		{
			if (recognition_guide_front_view_camera_valid (raw))
			{
				reset_recognition_guide_front_view_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_RECOGNITION_GUIDE_3D_VIEW:
		////////////////////////////////////////
		{
			if (recognition_guide_3d_view_camera_valid (raw))
			{
				reset_recognition_guide_3d_view_camera (raw);
			}
			else
			{
				mode = CAMERA_MODE_CHASE;

				reset_chase_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		case CAMERA_MODE_FREE:
		////////////////////////////////////////
		{
			{
				mode = CAMERA_MODE_FREE;

				reset_free_camera (raw);
			}

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal ("Invalid camera mode = %d", mode);

			break;
		}
	}

	raw->camera_mode = mode;

	raw->auto_edit = auto_edit;
}
Example #7
0
static void feature_disabled_event (event *ev)
{
	set_status_message ("Feature disabled in demo version", STATUS_MESSAGE_TYPE_NONE);
}
Example #8
0
void
prompt_player (void)
{
  gint players = get_n_human_players ();
  gint human = is_player_human ();
  const gchar *who = NULL;
  gchar *str = NULL;

  gtk_action_set_visible (new_game_action, TRUE);
  gtk_action_set_visible (hint_action, TRUE);
  gtk_action_set_visible (undo_action, TRUE);

  gtk_action_set_sensitive (new_game_action, (human || gameover));
  gtk_action_set_sensitive (hint_action, (human || gameover));

  switch (players) {
  case 0:
    gtk_action_set_sensitive (undo_action, FALSE);
    break;
  case 1:
    gtk_action_set_sensitive (undo_action,
			      ((human && moves > 1) || (!human && gameover)));
    break;
  case 2:
    gtk_action_set_sensitive (undo_action, (moves > 0));
    break;
  }

  if (gameover && winner == NOBODY) {
    if (score[NOBODY] == 0) {
      set_status_message ("");
    } else {
      set_status_message (_("It's a draw!"));
    }
    return;
  }

  switch (players) {
  case 1:
    if (human) {
      if (gameover)
	set_status_message (_("You win!"));
      else
	set_status_message (_("It is your move."));
    } else {
      if (gameover)
	set_status_message (_("I win!"));
      else
	set_status_message (_("Thinking..."));
    }
    break;
  case 2:
  case 0:
    if (player == PLAYER1)
	who = _(theme_get_player (PLAYER1));
    else
	who = _(theme_get_player (PLAYER2));

    if (gameover) {
	str = g_strdup_printf (_("%s wins!"), who);
      }
    if (player_active) {
      set_status_message (_("It is your move."));
      return;

    } else {
      str = g_strdup_printf (_("Waiting for %s to move."), who);
    }

    set_status_message (str);
    g_free (str);
    break;
  }
}
Example #9
0
void set_camera_mode (camera *raw, camera_modes mode, int auto_edit)
{
    ASSERT (raw);

    if ((mode >= 0) && (mode < NUM_CAMERA_MODES))
    {
        debug_log ("Setting camera mode to %s", camera_mode_names[mode]);
    }

    if (auto_edit)
    {
        if (!raw->auto_edit)
        {
            set_status_message (get_trans ("Auto-action camera"), STATUS_MESSAGE_TYPE_CAMERA);
        }
    }
    else
    {
        char
        *s;

        s = get_camera_mode_name (mode);

        if (s)
        {
            set_status_message (get_trans (s), STATUS_MESSAGE_TYPE_CAMERA);
        }
    }

    switch (mode)
    {
    ////////////////////////////////////////
    case CAMERA_MODE_CHASE:
        ////////////////////////////////////////
    {
        reset_chase_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_END_OF_MISSION:
        ////////////////////////////////////////
    {
        reset_end_of_mission_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_DROP:
        ////////////////////////////////////////
    {
        reset_drop_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_STATIC:
        ////////////////////////////////////////
    {
        reset_static_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_EJECT:
        ////////////////////////////////////////
    {
        reset_eject_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_FLY_BY:
        ////////////////////////////////////////
    {
        reset_fly_by_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_CINEMATIC:
        ////////////////////////////////////////
    {
        reset_cinematic_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_BUILDING:
        ////////////////////////////////////////
    {
        reset_building_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_WEAPON:
        ////////////////////////////////////////
    {
        if (weapon_camera_valid (raw))
        {
            reset_weapon_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_WEAPON_EXPLOSION:
        ////////////////////////////////////////
    {
        reset_weapon_explosion_camera (raw);

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_DEBRIEFING:
        ////////////////////////////////////////
    {
        if (debriefing_camera_valid (raw))
        {
            reset_debriefing_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_RECOGNITION_GUIDE_TOP_VIEW:
        ////////////////////////////////////////
    {
        if (recognition_guide_top_view_camera_valid (raw))
        {
            reset_recognition_guide_top_view_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_RECOGNITION_GUIDE_SIDE_VIEW:
        ////////////////////////////////////////
    {
        if (recognition_guide_side_view_camera_valid (raw))
        {
            reset_recognition_guide_side_view_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_RECOGNITION_GUIDE_FRONT_VIEW:
        ////////////////////////////////////////
    {
        if (recognition_guide_front_view_camera_valid (raw))
        {
            reset_recognition_guide_front_view_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    case CAMERA_MODE_RECOGNITION_GUIDE_3D_VIEW:
        ////////////////////////////////////////
    {
        if (recognition_guide_3d_view_camera_valid (raw))
        {
            reset_recognition_guide_3d_view_camera (raw);
        }
        else
        {
            mode = CAMERA_MODE_CHASE;

            reset_chase_camera (raw);
        }

        break;
    }
    ////////////////////////////////////////
    default:
        ////////////////////////////////////////
    {
        debug_fatal ("Invalid camera mode = %d", mode);

        break;
    }
    }

    raw->camera_mode = mode;

    raw->auto_edit = auto_edit;
}