예제 #1
0
int
main(int argc,
     char *argv[])
{
  GstElement *playbin;

  if (argc < 2) {
    fprintf (stderr, "Usage:\n\t%s <uri>\n\n", argv[0]);
    return -1;
  }

  if (!init_sdl ())
    return -1;

  gst_init (&argc, &argv);

  playbin = create_gst_playbin ();
  if (!set_gst_sdl_video_overlay (playbin, 20, 20, 760, 560))
    fprintf (stderr, "Not using Window overlay.\n");

  g_object_set (playbin, "uri", argv[1], NULL);
  gst_element_set_state (playbin, GST_STATE_PLAYING);

  main_loop ();

  gst_element_set_state (playbin, GST_STATE_NULL);
  gst_object_unref (playbin);

  return 0;
}
예제 #2
0
파일: ppu.c 프로젝트: JohnCorsi/znes
void init_ppu(void)
{
	init_sdl();
	p.frame = 0;
	p.addr_count = 0;
	p.mem = calloc(1, 0x4000);
}
예제 #3
0
파일: main.c 프로젝트: ilm/puae
int main (int argc, char **argv)
{
    init_sdl ();
    gui_init (argc, argv);
    real_main (argc, argv);
    return 0;
}
예제 #4
0
파일: life2.cpp 프로젝트: JDongian/enigne
int main(int argc, char** argv) {
    uint32_t last_frame_time = 0;
    uint32_t width = 640;
    uint32_t height = 480;
    bool quit = false;
    SDL_Window* window = NULL;
    SDL_Renderer* ren = NULL;
    SDL_Texture* texture = NULL;
    static uint32_t* pxbuf = NULL;
    static uint8_t* bug_data = NULL;
    //Initialize game
    pxbuf = new uint32_t[width*height];
    bug_data = new uint8_t[width*height];
    memset(pxbuf, 0x00, width*height); 
    memset(bug_data, 0x00, width*height); 

    if(init_sdl(width, height, &window, &ren, &texture)) {
        return 1;
    }   printf("SDL successfully initialized.\n");

    while (!quit) {
        last_frame_time = SDL_GetTicks();
        if (process_events() == -1) {
            quit = true;
        }
        update_bugs(width, height, bug_data);
        update_world(width, height, pxbuf, bug_data, texture);
        draw_world(width, height, texture, ren);
        printf("FPS: %f  \r", 1000./(SDL_GetTicks()-last_frame_time));
    }
    SDL_Quit();
    return 0;
}
예제 #5
0
void init()
{
    srand ( (unsigned int)time(NULL) );
    dbgoutf("Initialisation en cours...");
    init_sdl();
    init_buttons();
}
예제 #6
0
파일: main.c 프로젝트: mattjakob/s3d
int main(int argc, char **argv)
{
  Poly *l, *p, *c = poly_alloc(3);
  Item *i;

  init_sdl();
  s = scene_read();
  init_render();

  for (o = s->objs; o != NULL; o = o->next) {
    for (l = prim_uv_decomp(o->u.prim, 1.); l != NULL; l = l->next) {
      p = poly_transform(prim_polys(o->u.prim, l), mclip);
      if (!is_backfacing(p, v3_unit(v3_scale(-1, poly_centr(p)))))
	hither_clip(VIEW_ZMIN(s->view), p, z_store, plist_free);
    }
  }
  z = z_sort(z);

  for (i = z->head; i != NULL; i = i->next) { 
    gouraud_shade(c, P(i), N(i), s->view->center, rc, M(i));
    p = poly_homoxform(S(i),mdpy);
    scan_poly(p, gouraud_paint, gouraud_set(g,c,s->img));
  }
  img_write(s->img, "stdout", 0);
  exit(0);
}
예제 #7
0
파일: main.c 프로젝트: simenheg/bomberman
int init(void)
{
  if (init_video() != 0)
    {
      fprintf(stderr, "Failed to initialize video\n");
      return -1;
    }

  if (init_script() != 0)
    {
      fprintf(stderr, "Failed to initialize scripting engine\n");
      return -1;
    }

  if (init_gfx() != 0)
    {
      fprintf(stderr, "Failed to initialize graphics\n");
      return -1;
    }

  if (init_audio() != 0)
    {
      fprintf(stderr, "Failed to initialize audio\n");
      return -1;
    }

  if (init_sdl() != 0)
    {
      fprintf(stderr, "Failed to initialize SDL\n");
      return -1;
    }

  return 0;
}
예제 #8
0
파일: main.c 프로젝트: mattjakob/s3d
int main(int argc, char **argv)
{
  Poly *l, *p, *q = poly_alloc(3);
  Hpoly *t = hpoly_alloc(3);
  Item *i;

  init_sdl();
  s = scene_read();
  init_render();

  for (o = s->objs; o != NULL; o = o->next) {
    for (l = prim_uv_decomp(o->u.prim, 1.); l != NULL; l = l->next) {
      p = poly_transform(prim_polys(o->u.prim, l), mclip);
      if (!is_backfacing(p, v3_unit(v3_scale(-1, poly_centr(p)))))
	hither_clip(0, p, z_store, plist_free);
    }
  }
  z = z_sort(z);

  for (i = z->head; i != NULL; i = i->next) {
    t = hpoly_polyxform(t, S(i), mdpy);
    q = poly_wz_hpoly(q, W(i), t);
    texture_wscale(W(i), T(i));
    scan_spoly3(q, 2, texture_shadepaint,
             texture_set(td,W(i),T(i),P(i),N(i),DU(i),DV(i),rc,M(i)));
  }
  img_write(s->img, "stdout", 0);
  exit(0);
}
예제 #9
0
int main(int argc, char **argv) {

  process_cmdline(argc, argv);
  init_sdl();
  convert_shp_to_bmp();
  return 0;
}
예제 #10
0
int		custom_settings(t_chopstick **sticks, t_philosopher **philo)
{
    char		*buff;
    t_infos	*data;

    if ((buff = malloc(sizeof(char) * 512)) == NULL
            || (data = malloc(sizeof(t_infos))) == NULL)
        return (-1);
    else if (ask_questions(data, buff) == -1)
        return (-1);
    free(buff);
    if (data->nb_philo == 0
            || (*sticks = malloc(sizeof(t_chopstick) * data->nb_philo)) == NULL
            || (*philo = malloc(sizeof(t_philosopher) * data->nb_philo)) == NULL
            || data->time_eating < 1
            || data->time_thinking < 1
            || data->nb_philo == 7 && init_sdl() != 0)
    {
        free(data);
        return (-1);
    }
    printf("Fine ! We're all set. I guess they should be able \
to resolve the starvation in the world now.\n");
    return (set_informations(sticks, philo, data));
}
예제 #11
0
int main(int argc, char *argv[])
{
	bool running = false;
	
	// Two verbosity levels
	myPrintf[QUIET] = quietprint;
	myPrintf[VERBOSE] = printf;
	
	// Before continuing, read the arguments
	running = readArguments( argc, argv );

	// If the arguments are correct, start a simulation
	while ( running ) {
		myPrintf[ verbosemode ] ( "main : running is true\n" );

		// Init graphics
		SDL_Surface * screen = NULL;
		screen = init_sdl();

		// Simulates
		simulation ( screen );

		// End of graphics
		SDL_FreeSurface(screen);
		quit_sdl();

		// Quit running mode
		running = false;
	};

	return 0;
}
예제 #12
0
파일: main.c 프로젝트: pikhq/cmako
static void render_screen()
{
	static int screen_inited;

	static SDL_Surface *real_screen;
	static SDL_Surface *mako_screen;

	if(!inited_sdl)
		init_sdl();

	if(!screen_inited) {
		const SDL_VideoInfo *info = SDL_GetVideoInfo();

		if(info->wm_available) {
			if(!SDL_SetVideoMode(320, 240, 0,
						SDL_HWSURFACE | SDL_ANYFORMAT | SDL_DOUBLEBUF | SDL_RESIZABLE)) {
				fprintf(stderr, "%s.\n", SDL_GetError());
				exit(1);
			}
		} else {
			if(!SDL_SetVideoMode(info->current_w, info->current_h, 0,
						SDL_HWSURFACE | SDL_ANYFORMAT | SDL_DOUBLEBUF | SDL_RESIZABLE)) {
				fprintf(stderr, "%s.\n", SDL_GetError());
				exit(1);
			}
			SDL_ShowCursor(SDL_DISABLE);
		}

		real_screen = SDL_GetVideoSurface();
		mako_screen = SDL_CreateRGBSurfaceFrom(framebuf, 320, 240, 32,
				320*sizeof(uint32_t), 0xFF0000, 0xFF00, 0xFF, 0);

		screen_inited = 1;
	}

	if(real_screen->h == 240 && real_screen->w == 320)
		SDL_BlitSurface(mako_screen, NULL, real_screen, NULL);
	else {
		int desired_h = real_screen->w * 3 / 4;
		if(desired_h > real_screen->h)
			desired_h = real_screen->h;
		int desired_w = desired_h * 4 / 3;

		SDL_Rect rect = {
			.x = (real_screen->w - desired_w)/2,
			.y = (real_screen->h - desired_h)/2,
			.w = desired_w,
			.h = desired_h
		};

		SDL_SoftStretch(mako_screen, NULL, real_screen, &rect);
	}

	SDL_Flip(real_screen);
}

static void delay()
{
	SDL_framerateDelay(&fps);
}
예제 #13
0
static gboolean
process (GeglOperation       *operation,
         GeglBuffer          *input,
         const GeglRectangle *result,
         gint                 level)
{
  GeglChantO   *o = GEGL_CHANT_PROPERTIES (operation);
  SDLState     *state = NULL;

  if(!o->chant_data)
      o->chant_data = g_new0 (SDLState, 1);
  state = o->chant_data;

  init_sdl ();

  if (!handle)
    handle = g_timeout_add (500, idle, NULL);

  if (!state->screen ||
       state->width  != result->width ||
       state->height != result->height)
    {
      state->screen = SDL_SetVideoMode (result->width, result->height, 32, SDL_SWSURFACE);
      if (!state->screen)
        {
          fprintf (stderr, "Unable to set SDL mode: %s\n",
                   SDL_GetError ());
          return -1;
        }

      state->width  = result->width ;
      state->height = result->height;
    }

  /*
   * There seems to be a valid faster path to the SDL desired display format
   * in B'G'R'A, perhaps babl should have been able to figure this out ito?
   *
   */
  gegl_buffer_get (input,
       NULL,
       1.0,
       babl_format_new (babl_model ("R'G'B'A"),
                        babl_type ("u8"),
                        babl_component ("B'"),
                        babl_component ("G'"),
                        babl_component ("R'"),
                        babl_component ("A"),
                        NULL),
       state->screen->pixels, GEGL_AUTO_ROWSTRIDE,
       GEGL_ABYSS_NONE);

  SDL_UpdateRect (state->screen, 0, 0, 0, 0);
  SDL_WM_SetCaption (o->window_title, o->icon_title);

  state->width = result->width ;
  state->height = result->height;

  return  TRUE;
}
예제 #14
0
파일: main.c 프로젝트: mattjakob/s3d
main(int argc, char **argv)
{
  Prim *o;
  Color c; int u, v;
  Ray r; Inode *l;

  o = sphere_instance(&sphere_funcs);
  init_sdl();
  s = scene_read();
  init_render();

  for (v = s->view->sc.ll.y; v < s->view->sc.ur.y; v += 1) {
    for (u = s->view->sc.ll.x; u < s->view->sc.ur.x; u += 1) {
      r = ray_unit(ray_transform(ray_view(u, v), mclip));
      if ((l = ray_intersect(s->objs, r)) != NULL) 
        c = point_tshade(ray_point(r, l->t), l->n, s->view->center, rc, l->m, o);
      else 
	c = bgcolor;
      inode_free(l);
      img_putc(s->img, u, v, col_dpymap(c));
    }
  }
  img_write(s->img,"stdout",0);
  exit(0);
}
예제 #15
0
Graphic_Util::Graphic_Util() {
	std::cout << "GRAPHIC UTIL" << std::endl;
	//Init SDL Opengl COntext at startup
	
	init_sdl();
	build_shader();
}
예제 #16
0
파일: game_init.c 프로젝트: Protoxy-/LemIPC
int	first_step(t_util *util)
{
  int	pid;

  util->id = 0;
  util->shm_id = shmget(util->key, (sizeof(char) * (MAP_X * MAP_Y)),
			IPC_CREAT | SHM_R | SHM_W);
  util->msg_id = msgget(util->key, IPC_CREAT | SHM_R | SHM_W);
  util->sem_id = semget(util->key, 1, IPC_CREAT | SHM_R | SHM_W);
  if (util->shm_id == -1 || util->msg_id == -1 ||  util->sem_id == -1)
    return (err_msg(": the creation of a shared memory fail"));
  util->addr = shmat(util->shm_id, NULL, SHM_R | SHM_W);
  init_map(util);
  semctl(util->sem_id, 0, SETVAL, 1);
  pid = fork();
  if (pid != 0)
    {
      display(util->addr, init_sdl());
      SDL_Quit();
      return (1);
    }
  if (new_player(util) == -1)
    return (-1);
  return (1);
}
예제 #17
0
파일: main.c 프로젝트: Sun42/Zappy
int			main(int argc, char **argv)
{
  SDL_Rect		pos;
  t_world		new_world;
  t_bag			new_bag;
  SDLNet_SocketSet	set;

  if (signal(SIGINT, free_all) == SIG_ERR)
    exit(EXIT_FAILURE);
  if (argc != 3)
    write(2, USAGE, strlen(USAGE));
  else
    {
      init_buf_msg(&(gl_screen.my_msg));
      gl_screen.info_bag = &new_bag;
      gl_screen.pos = &pos;
      gl_screen.world = &new_world;
      init_screen(&gl_screen);
      init_net(argv[1], (unsigned)atoi(argv[2]), &set, &gl_screen);
      init_sdl(&gl_screen);
      events(&gl_screen, &set);
      SDLNet_FreeSocketSet(set);
      SDLNet_TCP_Close(gl_screen.sock_server);
      free_gui(&gl_screen);
    }
  return (EXIT_SUCCESS);
}
예제 #18
0
int			launch_sdl(t_sdl *sdl)
{
  TTF_Font		*font288;
  TTF_Font		*font200;
  SDL_Event		event;

  sdl->screen = NULL;
  sdl->music = NULL;
  if ((sdl->screen = init_sdl(sdl->screen)) == NULL)
    return (EXIT_FAILURE);
  if ((font288 = TTF_OpenFont("game_over.ttf", FONT_SIZE1)) == NULL)
    abort();
  if ((font200 = TTF_OpenFont("game_over.ttf", 100)) == NULL)
    abort();
  intro_corewar(font288, "CoreWar", sdl->screen, 0);
  intro_corewar(font200, "An original game by Victor A. Vyssotsky, Robert " \
		"Morris Sr. & M. Douglas McIlroy", sdl->screen, 100);
  intro_corewar(font200, "Coded by Le Gang de la Toundra", sdl->screen, 200);
  intro_corewar(font200, "(Insert coin to play)", sdl->screen, 400);
  SDL_Flip(sdl->screen);
  while (1)
    {
      SDL_WaitEvent(&event);
      if (event.type == SDL_KEYUP)
	break;
    }
  sdl->music = play_music(sdl->music);
  return (EXIT_SUCCESS);
}
예제 #19
0
파일: main.c 프로젝트: callaa/luola
int main (int argc, char *argv[]) {
    int rval, r;
    /* Parse command line arguments */
    init_startup_options ();
    if (argc > 1) {
        for (r = 1; r < argc; r++) {
            if (strcmp (argv[r], "--help") == 0) {
                print_help ();
                return 0;
            } else if (strcmp (argv[r], "--version") == 0)
                show_version ();
            else if ((r = parse_argument (r, argc, argv)) == 0)
                return 0;
        }
    }
    /* Check if luola's home directory exists and create it if necessary */
    check_homedir ();

    /* Seed the random number generator */
    srand (time (NULL));

    /* Initialize */
    init_sdl ();
    init_video ();

    if (luola_options.sounds)
        init_audio ();

    if(init_font()) return 1;
    if(load_data()) return 1;

    scan_levels(0);
    scan_levels(1);
    if (game_settings.levels == NULL)
        no_levels_found ();

    init_level();
    init_hotseat();
    if (luola_options.mbg_anim)
        init_demos ();

    /* Set sound effect volume */
    audio_setsndvolume(game_settings.sound_vol);

    /* Enable key repeat (useful in menus. Will be disabled during game) */
    SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY,SDL_DEFAULT_REPEAT_INTERVAL);

    /* Enter game loop */
    while (1) {
        /* Intro screen */
        rval = game_menu_screen ();
        if (rval == INTRO_RVAL_EXIT)
            break;
        /* Play ! */
        if (rval == INTRO_RVAL_STARTGAME)
            hotseat_game ();
    }
    return 0;
}
예제 #20
0
ATSAPI void ATSCALL
ats_context_init()
{
	context.width = ATS_INIT_CONTEXT_WIDTH;
	context.height = ATS_INIT_CONTEXT_HEIGHT;
	init_sdl();
	context.active = true;
}
예제 #21
0
Window::Window( int w, int h, int buffer  )
{
    // initialisation de la SDL
    init_sdl();

    // création d'une nouvelle fenêtre
    creer_fenetre( w, h, buffer );
}
예제 #22
0
파일: main.c 프로젝트: ramonelalto/gambas
static void my_main(int *argc, char **argv)
{
	init_sdl();

	CLASS_Window = GB.FindClass("Window");
	CLASS_Image = GB.FindClass("Image");
	CLASS_Font = GB.FindClass("Font");
}
예제 #23
0
int main(int argc, char **argv) {
    init_sdl();
    init_opengl();

    while (1) {
        render_frame();
        handle_input();
    }
    
    return 0;
}
예제 #24
0
/*
int main(int argc, char **argv) {
  for (int i = 1 ; i < argc ; ++i) {
    if (argv[i][0] == 'w') {
      fullscreen = false;
      scrWidth = 800;
      scrHeight = 450;
    }
    else if (argv[i][0] == 'l') {
      blinkenlichts();
    }
  }
*/
void _start() {
#ifdef WINDOWED
  fullscreen = false;
  scrWidth = 800;
  scrHeight = 450;
#endif

#ifdef BLINKENLICHTS
  blinkenlichts();
#endif

  //  link();

  init_sdl();
  //on_exit(cleanup, 0);
  load();
  resize(scrWidth, scrHeight);
  SDL_ShowCursor(SDL_DISABLE);

  SDL_Event event;
  bool running = true;
  SDL_PauseAudio(0);

  while (running) {
    while (SDL_PollEvent(&event)) {
      switch( event.type ) {
      case SDL_KEYDOWN:
	if (event.key.keysym.sym == SDLK_ESCAPE)
	  running = false;
	break;
      case SDL_QUIT:
        running = false;
        break;

      default:
        break;
      }
    }
    
    uint32_t time = SDL_GetTicks();
    render(time);
    SDL_GL_SwapBuffers();
    if (time > 32 * 1000) running = false;
  }

  unload();
  SDL_Quit();

  __asm__ (
  "movl $1,%eax\n"
  "xor %ebx,%ebx\n"
  "int $128\n"
  );
}
예제 #25
0
파일: fileio.c 프로젝트: tredpath/GnGeo-pb
SDL_bool init_game(char *rom_name) {
    DRIVER *dr;
    char *drconf,*gpath;
    dr=dr_get_by_name(rom_name);
    if (!dr) {
#ifdef USE_GUI
	gui_error_box(20,80,264,60,
		      "Error!","No valid romset found for\n%s\n",
		      file_basename(rom_name));
#else
	printf("No valid romset found for %s\n",rom_name);
#endif
	return SDL_FALSE;
    }

    if (conf.game!=NULL) {
	save_nvram(conf.game);
	if (conf.sound) {
	    close_sdl_audio();
	    YM2610_sh_stop();
	    streams_sh_stop();
	}
	free_game_memory();
    }


    /* open transpack if need */
    trans_pack_open(CF_STR(cf_get_item_by_name("transpack")));

    //open_rom(rom_name);
    if (dr_load_game(dr,rom_name)==SDL_FALSE) {
#ifdef USE_GUI
	gui_error_box(20,80,264,60,
		      "Error!","Couldn't load\n%s\n",
		      file_basename(rom_name));
#else
	printf("Can't load %s\n",rom_name);
#endif
	return SDL_FALSE;
    }
    /* per game config */
    gpath=get_gngeo_dir();
    drconf=alloca(strlen(gpath)+strlen(dr->name)+strlen(".cf")+1);
    sprintf(drconf,"%s%s.cf",gpath,dr->name);
    cf_open_file(drconf);
    open_bios();
    open_nvram(conf.game);
    init_sdl();
    sdl_set_title(conf.game);
    init_neo(conf.game);
    if (conf.sound) 
	init_sdl_audio();
    return SDL_TRUE;
}
예제 #26
0
파일: field.c 프로젝트: marco-m/netrobots
/* can be used to add a background to the window*/
void init_cairo()
{
    cairo_ctx = init_sdl();
#if 0
    cairo_surface_t* png_map = cairo_image_surface_create_from_png(
        "background.png");
    map_context = create_cairo_context();
    cairo_set_source_surface(map_context, png_map, 0, 0);
    cairo_paint(map_context);
    cairo_surface_destroy(png_map);
#endif
}
예제 #27
0
파일: main.cpp 프로젝트: biagioli/3D-World
int main(int argc, char* argv[])
{
	init_sdl();

	//Do fun game stuff here....
	//init_game();

	main_loop();
	
	exit_sdl();
	return 0;
}
예제 #28
0
int main(int argc, char **argv)
{
    init_sdl(&Render_Context::sdlWindow, &Render_Context::sdlRenderer,
             &Render_Context::sdlTexture, &Render_Context::screen, SCREEN_WIDTH, SCREEN_HEIGHT);

    Render_Context::windowID = SDL_GetWindowID(Render_Context::sdlWindow);
    //SDL_SetWindowSize(Render_Context::sdlWindow, 1024+100, 768+100);

    //fprintf(stderr, "screen = %d\n", Render_Context::screen);
    App app(argc, argv, 32000);
    app.run();
}
예제 #29
0
Err		open_window(t_info *info, t_args *args)
{
  Err		err;
  int		w, h;

  memcpy(&w, args->data, sizeof(w));
  memcpy(&h, args->data + sizeof(w), sizeof(h));
  if ((err = init_sdl(info)))
    return (err);
  if ((err = create_windows(info, w, h)))
    return (err);
  return (0);
}
예제 #30
0
/*
 * Amiga-specific main entry
 */
int main (int argc, char *argv[])
{
    fromWB = argc == 0;

    init_libs ();

#ifdef USE_SDL
    init_sdl ();
#endif

    real_main (argc, argv);

    return 0;
}