コード例 #1
0
ファイル: tekpaint.c プロジェクト: PierreBougon/Chroma
int		main(int ac, char **av)
{
  t_data	data;

  set_max_heap_size(30);
  data.sup = bunny_malloc(sizeof(struct s_support));
  if (ac == 2)
    data.sup->name = av[1];
  else
    data.sup->name = NULL;
  data.sup->pos.x = 0;
  data.sup->pos.y = 0;
  if (init_button(&data) == 1)
    return (1);
  init_main_variables(&data);
  init_all_pixarray(&data);
  data.window = bunny_start(WIN_WIDTH, WIN_HEIGHT, 0, "Chroma");
  display_it(&data, data.pixbg, 0, 0);
  display_it(&data, data.pixbgtool, WIN_WIDTH - 255, 150);
  display_it(&data, data.pixbgcalc, WIN_WIDTH - 255, WIN_HEIGHT - 282);
  bunny_set_loop_main_function(mainloop);
  bunny_set_key_response(key_actions);
  bunny_set_click_response(click_actions);
  bunny_loop(data.window, 60, &data);
  bunny_stop(data.window);
  delete_all_clipables(&data);
  empty_list(data.tool, free_calc);
  bunny_free(data.tool);
  return (0);
}
コード例 #2
0
ファイル: main.c プロジェクト: ubertil/my_projects
int			main(int ac, char **av)
{
  t_ray			*ray;

  if (ac < 2)
    {
      my_putstr_err("Error : No .ini file.\nAborting...\n");
      return (0);
    }
  if ((ray = bunny_malloc(sizeof(t_ray))) == NULL)
    return (1);
  if ((init_my_struct(ray)) == 1)
    {
      my_putstr_err("Fatal error ! Malloc failed\n");
      return (1);
    }
  ini_loader(ac, av, ray);
  if ((ray->pix = bunny_new_pixelarray(ray->width, ray->height)) == NULL)
    return (1);
  ray->win = bunny_start(ray->width, ray->height, false,
			 "Raytracer 1 | uberti_l");
  bunny_set_loop_main_function(main_loop);
  bunny_loop(ray->win, 60, ray);
  bunny_delete_clipable(&ray->pix->clipable);
  bunny_stop(ray->win);
  bunny_free(ray);
  return (0);
}
コード例 #3
0
ファイル: main.c プロジェクト: Blanchard-A/TekAdventure
int		main(int ac, char **av, char **env)
{
  t_data	*data;
  int		nb;

  (void) ac;
  (void) av;
#ifdef	DEBUG
  memory_check = 1;
#endif
  if (*env == NULL || (nb = bunny_set_max_ram()) == - 1)
    return (1);
  set_max_heap_size(nb);
  if ((data = my_init_data()) == NULL)
    return (1);
  bunny_set_loop_main_function((t_bunny_loop)mainloop);
  bunny_set_key_response((t_bunny_key)escape);
  bunny_set_move_response((t_bunny_move)move);
  bunny_set_click_response((t_bunny_click)click);
  if (bunny_loop(data->win, 90, data) == EXIT_ON_ERROR)
    return (1);
 #ifdef	DEBUG
  write(1, "STATUS: OK\n", 11);
#endif
  return (0);
}
コード例 #4
0
ファイル: main.c プロジェクト: mairesb/my_epi_work
int			main(int ac, char **av)
{
  t_lapin		*lapin;
  t_bunny_pixelarray 	*tmp;

  set_max_heap_size(30);
  lapin = bunny_malloc(sizeof *lapin);
  if (lapin == NULL)
    return (84);
  lapin->format = parse(ac, av);
  if (lapin->format == 1)
    tmp = load_bitmap(av[1]);
  else if (lapin->format == 2)
    tmp = load_ftn(av[1]);
  if (lapin->format == -1)
    return (1);
  if (lapin->format != -1 && tmp == NULL)
    tmp = NULL;
  lapin->pixelarray_2 = tmp;
  lapin = set_lapin(lapin);
  lapin->str = av[1];
  if (lapin )
    bunny_set_loop_main_function(&refresh_my_game);
  bunny_loop(lapin->window_1, 250, lapin);
  free_all(lapin);
  return (0);
}
コード例 #5
0
ファイル: main.c プロジェクト: DarmaN1/Wolf3D
int	main(int ac, char **av)
{
  t_data		data;
  /*  t_color		color[2];

  color[0].full = BLACK;
  color[1].full = RED;*/
  if (ac != 2)
    return (-1);
  data.ini = av[1];
  if (data.win == NULL)
    return  (-1);
  if ((data.wolf = init_map(data.ini)) == (t_wolf *)-1)
    return (EXIT_ON_ERROR);
  data.win = bunny_start(1200, 800, false, "Wolf3D");
  data.pix = bunny_new_pixelarray(1200, 800);
  data.color[0].argb[0] = 100;
  data.color[0].argb[1] = 100;
  data.color[0].argb[2] = 100;
  data.color[0].argb[3] = 255;
  init_value(data.wolf);
  bunny_set_loop_main_function((t_bunny_loop)main_loop);
  bunny_loop(data.win, 22, &data);
  bunny_free(data.wolf);
  bunny_delete_clipable(&data.pix->clipable);
  bunny_stop(data.win);
  return (0);
}
コード例 #6
0
ファイル: template.c プロジェクト: thecyril/Wolf3D
int			main(void)
{
  int			w;
  int			i;

  assert((win = bunny_start(800, 600, false, "The Lapins Noirs")) != NULL);
  assert((pic[0] = bunny_new_picture(NORM(800, 600), NORM(800, 600))) != NULL);
  assert((pic[1] = bunny_new_picture(NORM(800, 600), NORM(800, 600))) != NULL);
  assert((bunny = bunny_load_picture("bigbunny.png")) != NULL);

  bunny->origin.x = bunny->buffer.width / 2;
  bunny->origin.y = bunny->buffer.height / 2;
  pic[0]->origin.x = pic[0]->buffer.width / 2;
  pic[0]->origin.y = pic[0]->buffer.height / 2;
  pic[1]->origin.x = pic[1]->buffer.width / 2;
  pic[1]->origin.y = pic[1]->buffer.height / 2;
  bunny_clear(&pic[0]->buffer, 0);
  bunny_clear(&pic[1]->buffer, 0);
  for (i = 0, w = 50; i < pic[0]->buffer.width; i += 100)
    {
      square(pic[0], i, 0, w, pic[0]->buffer.height, ALPHA(150, rand()));
      square(pic[1], i, 0, w, pic[1]->buffer.height, ALPHA(150, rand()));
    }
  reset(pic[0]);
  reset(pic[1]);
  bunny_set_loop_main_function(loop);
  bunny_set_key_response(key);
  bunny_loop(win, 50, NULL);
  bunny_delete_clipable(pic[0]);
  bunny_delete_clipable(pic[1]);
  bunny_stop(win);
  return (EXIT_FAILURE);
}
コード例 #7
0
ファイル: lvl2.c プロジェクト: bachinblack/totorun
void	init_lvl2(t_bunny_pixelarray *newpix)
{
  if ((newpix = bunny_load_pixelarray("./pictures/sky.png")) == NULL)
    {
      puts("missing_sky\n");
      exit (EXIT_FAILURE);
    }
  bunny_set_loop_main_function(bunny_vellement);
}
コード例 #8
0
ファイル: explorer.c プロジェクト: AurelienBauer/gfx_tekpaint
char	explorer_reset(t_tekpaint *tekpaint, t_explorer *explorer)
{
  bunny_stop(explorer->win);
  bunny_set_key_response(NULL);
  bunny_set_loop_main_function((t_bunny_loop)main_loop);
  bunny_delete_clipable(&explorer->buffer->clipable);
  explorer->buffer = NULL;
  tekpaint->tool.explorer->win = NULL;
  tekpaint->tool.explorer = NULL;
}
コード例 #9
0
ファイル: load.c プロジェクト: PierreBougon/Chroma
int	main(int ac, char **av)
{
  t_data		data;

  ac = ac;
  if ((data.image = load_bmp(&data, av[1])) == NULL)
    return (1);
  data.window = bunny_start(data.bmp.width, data.bmp.height, 0, "load_functions, It Woks Well");
  bunny_set_loop_main_function(main_loop);
  bunny_loop(data.window, 60, &data);
  return (0);
}
コード例 #10
0
ファイル: main.c プロジェクト: Damdoshi/LibLapin
int			main(void)
{
  inc = 0;
  visible = true;
  puts("Appuyez sur espace pour faire apparaitre ou disparaitre la souris.");
  win = bunny_start(800, 600, false, "");
  bunny_set_key_response(key);
  bunny_set_loop_main_function(loop);
  bunny_loop(win, 25, NULL);
  bunny_stop(win);
  return (0);
}
コード例 #11
0
ファイル: main.c プロジェクト: plean/CPE
static void	destroy_windows(t_struct a)
{
  bunny_set_loop_main_function(&refresh_princeofbelair);
  bunny_set_key_response(&my_exit);
  bunny_set_click_response(&mouse_click);
  bunny_loop(a.win, 30, (void*)&a);
  if (a.music != NULL)
    {
      bunny_sound_stop(&a.music->sound);
      bunny_delete_sound(&a.music->sound);
    }
  bunny_stop(a.win);
  bunny_delete_clipable(&(a.pix->clipable));
}
コード例 #12
0
ファイル: flame.c プロジェクト: ubertil/my_projects
int			main(void)
{
    t_fire		*fire;

    if ((fire = bunny_malloc(sizeof(t_fire))) == NULL)
        return (1);
    fire->win = bunny_start(WIDTH, HEIGHT, false, "Effet de flamme uberti_l");
    fire->pix = bunny_new_pixelarray(WIDTH, HEIGHT);
    set_gradient(fire);
    set_background(fire->pix, 0x00000000);
    fixed_col(fire);
    bunny_set_loop_main_function(main_loop);
    bunny_loop(fire->win, 60, fire);
    free_all(fire);
    return (0);
}
コード例 #13
0
ファイル: main.c プロジェクト: Damdoshi/LibLapin
int			main(void)
{
  t_bunny_window	*win;
  t_bunny_music		*music;

  printl("Click on the window to stop this insanity.");
  assert(win = bunny_start(800, 600, false, "Never gonna give you up!"));
  assert(music = bunny_load_music("music.ogg"));
  signal(SIGINT, SIG_IGN);
  bunny_sound_play(&music->sound);
  bunny_set_click_response(click);
  bunny_set_loop_main_function(loop);
  bunny_loop(win, 5, win);
  bunny_sound_stop(&music->sound);
  bunny_stop(win);
  return (EXIT_SUCCESS);
}
コード例 #14
0
ファイル: kala_style.c プロジェクト: rotarui/42sh
void	kala_end_fade(t_kala *data)
{
  if (data->intro.state == 5)
    {
      bunny_fill(&data->bg->buffer, data->intro.black.full);
      bunny_blit(&data->win->buffer, data->bg, NULL);
      bunny_display(data->win);
      data->intro.black.argb[3] += 1;
      if (data->intro.black.argb[3] >= 70)
	data->intro.state = 6;
    }
  if (data->intro.state == 6)
    {
      bunny_delete_clipable(data->logo);
      bunny_delete_clipable(data->shard);
      bunny_sound_stop((t_bunny_sound *)data->draa);
      bunny_delete_sound((t_bunny_sound *)data->draa);
      bunny_set_loop_main_function((t_bunny_loop)kala_loop);
    }
}
コード例 #15
0
ファイル: main.c プロジェクト: TetraSomia/Wolf3D
int	main(int ac, char **av)
{
  t_win	win;

  if ((win.win = bunny_start(W_X, W_Y, false, "wolfd3d")) == NULL)
    return (1);
  if ((win.array = bunny_new_pixelarray(W_X, W_Y)) == NULL)
    return (1);
  if (ac == 2 && set_data(av[1], "level1", &win) == -1)
    return (1);
  else if (ac != 2 && set_def_map(&win) == 1)
    return (1);
  set_cols(&win);
  bunny_set_key_response(&press_key);
  bunny_set_loop_main_function(mainloop);
  bunny_loop(win.win, 60, &win);
  free_map(&win.map);
  bunny_delete_clipable(&win.array->clipable);
  bunny_stop(win.win);
  return (0);
}
コード例 #16
0
ファイル: main.c プロジェクト: kotra97/wolf3D
int		main()
{
  t_data	data;

  if ((data.map = bunny_malloc(sizeof(t_map))) == NULL)
    return (-1);
  if ((data.pl = bunny_malloc(sizeof(t_player))) == NULL)
    return (-1);
  data.music_play = 0;
  data.ini = bunny_load_ini("ress/map/level0.ini\0");
  initialisation(&data);
  if (data.ini == NULL)
    return (0);
  if ((get_map(&data)) == -1)
    return (-1);
  bunny_set_loop_main_function(mainloop);
  bunny_loop(data.win, 25, &data);
  bunny_stop(data.win);
  clean(&data);
  return (0);
}
コード例 #17
0
ファイル: explorer.c プロジェクト: AurelienBauer/gfx_tekpaint
char			explorer(t_tekpaint *tekpaint, t_explorer *explorer)
{
  tekpaint->tool.explorer = explorer;
  explorer->current_path = "./";
  explorer->img = NULL;
  explorer->win = bunny_start_style(EXPLORER_WIDTH,
			  EXPLORER_HEIGHT, TITLEBAR | CLOSE_BUTTON,
			  explorer->win_name);
  explorer->buffer = bunny_new_pixelarray(EXPLORER_WIDTH, EXPLORER_HEIGHT);
  if (explorer->buffer == NULL)
    return (0);
  fill_buffer(explorer->buffer, BLACK);
  read_files(explorer);
  display_files(tekpaint, explorer, 0);
  bunny_set_key_response(explorer_on_key);
  bunny_set_click_response(NULL);
  bunny_set_loop_main_function((t_bunny_loop)main_loop_explorer);
  bunny_loop(explorer->win, 50, tekpaint);
  explorer_reset(tekpaint, explorer);
  return (1);
}
コード例 #18
0
ファイル: setter.c プロジェクト: MeixDev/gfx_tekpaint_2015
void		fox_window_starter(t_fox_window *window)
{
  if (window->loop == NULL)
    {
      my_printf(1, "[Fox] no loop set !\n");
      return ;
    }
  bunny_set_loop_main_function(window->loop);
  if (window->key != NULL)
    {
      my_printf(1, "[Fox] Listening keyboard event...\n");
      bunny_set_key_response(window->key);
    }
  if (window->move != NULL && window->click != NULL)
    {
      my_printf(1, "[Fox] Listening mouse event...\n");
      bunny_set_click_response(window->click);
      bunny_set_move_response(window->move);
    }
  bunny_loop(window->win, 60, window);
}
コード例 #19
0
ファイル: palette.c プロジェクト: AurelienBauer/gfx_tekpaint
char			open_palette(t_tekpaint *tekpaint)
{
  t_bunny_position	pos;
  t_palette		*palette;

  palette = &tekpaint->tool.palette;
  palette->win = bunny_start_style(PALETTE_WIDTH, PALETTE_HEIGHT,
				   TITLEBAR | CLOSE_BUTTON,
				   "Palette de couleurs");
  if (NULL == (palette->buffer = load_bmp("res/palette.bmp")))
    return (0);
  pos.x = 0;
  pos.y = 0;
  bunny_blit(&palette->win->buffer, &palette->buffer->clipable, &pos);
  bunny_set_click_response(on_palette_event_click);
  bunny_set_loop_main_function((t_bunny_loop)main_loop_palette);
  bunny_loop(palette->win, 50, tekpaint);
  bunny_stop(palette->win);
  palette_reset(palette);
  return (1);
}
コード例 #20
0
ファイル: main.c プロジェクト: Damdoshi/LibLapin
int			main(int		argc,
			     char		**argv)
{
  const char		*key_content = "abcdef";
  size_t		len = strlen(key_content);
  t_bunny_cipher_key	*key = bunny_alloca(sizeof(*key) + len + 1);

  strcpy(&key->key[0], key_content);
  key->length = len;

  gl_bunny_ressource_ciphering = ashiciph;
  gl_bunny_ressource_data = key;

  if (argc != 2)
    {
      printf("%s picture_file\n", argv[0]);
      return (EXIT_FAILURE);
    }

  if ((pic = bunny_load_picture(argv[1])) == NULL)
    return (EXIT_FAILURE);
  if ((win = bunny_start
       (pic->buffer.width, pic->buffer.height, false, "Picture cipher")) == NULL)
    {
      bunny_delete_clipable(pic);
      return (EXIT_FAILURE);
    }

  bunny_set_key_response(keyexit);
  bunny_set_loop_main_function(loop);

  bunny_blit(&win->buffer, pic, NULL);
  bunny_loop(win, 20, NULL);

  bunny_delete_clipable(pic);
  bunny_stop(win);

  return (EXIT_SUCCESS);
}
コード例 #21
0
ファイル: bmploader.c プロジェクト: PierreBougon/RayTracer
char			loadmap(char *file)
{
  t_head		head;
  t_bmp			bmp;
  int			ret;
  int			fd;
  t_loop		loop;

  if ((fd = open(file, O_RDONLY)) < 0 ||
      (ret = read(fd, &head, sizeof(t_head))) < 0 ||
      (ret = read(fd, &bmp, sizeof(t_bmp))) < 0 ||
      lseek(fd, head.offset, SEEK_SET) < 0 ||
      read_pixels(&loop, fd, bmp.height, bmp.width) ||
      (loop.win = bunny_start(bmp.width, bmp.height, 0, file)) == NULL)
    return (1);
  bunny_set_key_response(my_esc);
  bunny_set_loop_main_function(main_loop);
  bunny_loop(loop.win, 24, &loop);
  bunny_delete_clipable(&loop.pix->clipable);
  bunny_stop(loop.win);
  close(fd);
  return (0);
}
コード例 #22
0
int main(void)
{
  t_main_data main_data;

  main_data.win = bunny_start(600, 600, false, "Dancing lines and circles");
  main_data.step = 1.0;

  // key_event_response will be called on key pressed and key released events
  bunny_set_key_response(key_event_response);

  // loop_function will be called regulary at 25Hz (see bunny_loop call)
  bunny_set_loop_main_function(loop_function);

  // display_function will be called when the program need to refresh the display
  bunny_set_display_function(display_function);

  // The third parameter will be sent as last parameter of every functions called by bunny_loop.
  bunny_loop(main_data.win, 25, &main_data);

  // When getting out of bunny_loop, close the window
  bunny_stop(main_data.win);
  return (EXIT_SUCCESS);
}
コード例 #23
0
ファイル: main.c プロジェクト: tchikl-h/Boxpop_solver
int			main()
{
  t_box			data;
  t_bunny_loop		main_loop;

  main_loop = &loop;
  if (!(data.graph = malloc(sizeof(*data.graph))))
    return (ERROR);
  if (!(data.maillon = malloc(sizeof(*data.maillon))))
    return (-1);
  data.maillon->pos.x = -1;
  data.maillon->pos.y = -1;
  data.pause = 0;
  data.graph->pix = bunny_new_pixelarray(1000, 1000);
  data.graph->win = bunny_start(1000, 1000, false, "BoxPop");
  if (init_board(&data) == ERROR)
    return (ERROR);
  bunny_set_loop_main_function(main_loop);
  bunny_loop(data.graph->win, 10, &data);
  bunny_stop(data.graph->win);
  bunny_delete_clipable(&data.graph->pix->clipable);
  return (SUCCESS);
}
コード例 #24
0
ファイル: main.c プロジェクト: ubertil/my_projects
int		main(int ac, char **av)
{
  t_visu	*visu;

  if (ac == 2 && my_strcmp(av[1], "--help") == 0)
    return (show_help());
  if ((visu = bunny_malloc(sizeof(t_visu))) == NULL)
    return (-1);
  visu->start_rendu = 0;
  if (!(visu->win = bunny_start(WIDTH, HEIGHT, false, "LEMIN DISPLAYER"))
      || (!(visu->pix = bunny_new_pixelarray(WIDTH, HEIGHT)))
      || (check_args(visu) == -1) || (load_ant(visu, av[1]) == -1)
      || (load_screen(visu, av[1]) == -1) || (start_music(visu, av[1]) == -1)
      || (init_ant_struct(visu) == -1))
    return (-1);
  visu->rooms = reverse_rooms(visu->rooms);
  bunny_set_key_response(events);
  bunny_set_loop_main_function(main_loop);
  bunny_loop(visu->win, 60, visu);
  close_music(visu);
  delete_all_clipables(visu);
  free_all(visu);
  return (0);
}
コード例 #25
0
ファイル: palette.c プロジェクト: AurelienBauer/gfx_tekpaint
void	palette_reset(t_palette *palette)
{
  bunny_set_click_response(on_win_click);
  bunny_set_loop_main_function((t_bunny_loop)main_loop);
  palette->win = NULL;
}