Ejemplo n.º 1
0
void	display_loading(t_env *e, int u, int v)
{
	static int	prev = 0;
	int			percent;
	float		progress;
	float		goal;

	progress = u * (v + 1);
	goal = e->win.w * e->win.h;
	percent = progress / goal * 100;
	if (percent != prev)
	{
		if (e->scene.resync)
		{
			mlx_put_image_to_window(e->mlx, e->win.adr, e->cam->img.adr, 0, 0);
			mlx_do_sync(e->mlx);
		}
		if (e->scene.percent)
		{
			system("clear");
			ft_printf("%d%%\n", percent);
		}
		prev = percent;
	}
}
Ejemplo n.º 2
0
void	draw_grid(t_env *e, t_point **grid, int i, int j)
{
	grid = map_to_point(e);
	grid = (e->proj == 0) ? isometric(grid, e) : parallel(grid, e);
	i = 0;
	while ((i + 1) < e->map[0][0] - 1)
	{
		j = 0;
		while ((j + 1) < e->map[i + 1][0] - 1)
		{
			(grid[i][j + 1].x) ? putl(e, grid[i][j], grid[i][j + 1]) : 1;
			(grid[i + 1][j].x) ? putl(e, grid[i][j], grid[i + 1][j]) : 1;
			if (j + 1 == e->map[i + 1][0] - 2
				&& e->map[i + 1][0] <= e->map[i + 2][0])
				putl(e, grid[i][j + 1], grid[i + 1][j + 1]);
			if (i + 1 == e->map[0][0] - 2)
				putl(e, grid[i + 1][j], grid[i + 1][j + 1]);
			j++;
		}
		i++;
	}
	mlx_put_image_to_window(e->mlx, e->win, e->img, 0, 0);
	print_state(e);
	mlx_do_sync(e->mlx);
}
Ejemplo n.º 3
0
Archivo: main.c Proyecto: sganon/RTv1
int		expose_hook(t_env *e)
{
	if (!e->img_ptr)
		create_image(e);
	cast(e, e->begin_list);
	mlx_do_sync(e->mlx);
	mlx_put_image_to_window(e->mlx, e->win, e->img_ptr, 0, 0);
	ft_bzero(e->img, (WIN_X * e->bpp / 8 + WIN_Y * e->sl));
	return (1);
}
Ejemplo n.º 4
0
int				expose_hook(t_env *env)
{
	if (env->image == NULL)
		create_image(env);
	ft_draw_image(env);
	mlx_put_image_to_window(env->mlx, env->win ,env->image, 0, 0);
	if (env->ui == 1)
	{
		display_key(env);
		ft_display_variable(env);
	}
	mlx_do_sync(env->mlx);
	ft_clean(env);
	return (0);
}
Ejemplo n.º 5
0
Archivo: draw.c Proyecto: Horsell/42
void	draw(t_env *e)
{
	t_pt	start;

	ft_bzero(e->data, e->size_line * 900);
	if (e->fract_type == 2)
	{
		start.x = 970 - 100 * e->decalx;
		start.y = 540 - 100 * e->decaly;
		draw_tree(e, start, -(M_PI / 2), e->depth);
		draw_tree(e, start, (M_PI / 2), e->depth);
	}
	else
		loop(e);
	control_bar(e);
	mlx_put_image_to_window(e->mlx, e->win, e->img, 0, 0);
	btext(e);
	mlx_do_sync(e->mlx);
}
Ejemplo n.º 6
0
int		main(int argc, char **argv)
{
	t_env	*env;

	if (argc > 1 && argc <= 3)
	{
		env = (t_env *)malloc(sizeof(t_env));
		if (ft_strcmp(argv[1], "/dev/random") == 0)
			return (0);
		read_that_file(argv[1], env);
		if (init_struct(env) == 0 || env->map == NULL )
		{
			ft_putstr("d1\n");
			return (0);
		}
		if (argc == 3)
			check_argv(argv[2], env);
		mlx_key_hook(env->win, ft_key_hook, env);
		mlx_expose_hook(env->win, expose_hook, env);
		mlx_do_sync(env->mlx);
		mlx_loop(env->mlx);
	}
	return (0);
}
Ejemplo n.º 7
0
Archivo: mainator.c Proyecto: gabfou/RT
static int	loop_hook(t_env *e)
{
	mlx_put_image_to_window(e->mlx, e->win, e->img, 0, 0);
	mlx_do_sync(e->mlx);
	return (1);
}