Пример #1
0
int		expose_hook(t_env *env)
{
	ft_bzero(env->str, SCREEN_HEIGHT * env->sline);
	ft_draw_map(env);
	mlx_put_image_to_window(env->mlx, env->win, env->img, 0, 0);
	return (0);
}
Пример #2
0
int			key_hook(int keycode, t_mapinfo *map)
{
	t_mapinfo mapcpy;

	mapcpy = *map;
	mapcpy.points = ft_mapcopy(map);
	if (keycode == 53)
		exit(0);
	else if (keycode == 15)
		key_reset(map);
	else if (keycode >= 0 && keycode <= 14)
		key_rot(keycode, map);
	else if (keycode >= 123 && keycode <= 126)
		key_scale(keycode, map);
	mlx_clear_window(0, map->win);
	scale_points(&mapcpy, mapcpy.scale_x, mapcpy.scale_y);
	rotate_x(map->rot_x, &mapcpy);
	rotate_y(map->rot_y, &mapcpy);
	rotate_z(map->rot_z, &mapcpy);
	ft_centremap(&mapcpy);
	ft_draw_map(mapcpy);
	free_map(mapcpy);
	if (keycode == 15 || keycode == 34)
		ft_draw_instruct(*map);
	//ft_putnbr(keycode);
	//ft_putchar('\n');
	return (0);
}
Пример #3
0
void		moveleft(t_param *p)
{
	p->pos.a += 0.2;
	if (p->pos.a > (2 * M_PI))
		p->pos.a = 0.2;
	ft_draw_map(p);
	mlx_put_image_to_window(p->mlx, p->win, p->img.img_ptr, 0, 0);
}
Пример #4
0
void		moveright(t_param *p)
{
	p->pos.a -= 0.2;
	if (p->pos.a < 0.2)
		p->pos.a = 2 * M_PI;
	ft_draw_map(p);
	mlx_put_image_to_window(p->mlx, p->win, p->img.img_ptr, 0, 0);
}
Пример #5
0
int			ft_keyhook(int keycode, t_mlx *mlx)
{
	if ((keycode >= 123 && keycode <= 126) || (keycode == 69 || keycode == 78))
		mlx_clear_window(mlx->init, mlx->win);
	if (keycode == 53)
	{
		ft_free_bundle(mlx);
		mlx_destroy_window(mlx->init, mlx->win);
		exit(0);
	}
	else if (keycode == 35)
		mlx->vmp = ft_draw_map(mlx->vmp, mlx);
	else if (keycode == 126)
		ft_draw_map(ft_shift_up(mlx->vmp), mlx);
	else if (keycode == 125)
		ft_draw_map(ft_shift_down(mlx->vmp), mlx);
	else if (keycode == 124)
		ft_draw_map(ft_shift_right(mlx->vmp), mlx);
	else if (keycode == 123)
		ft_draw_map(ft_shift_left(mlx->vmp), mlx);
	else if (keycode == 69)
		ft_draw_map(ft_z_in(mlx->vmp), mlx);
	else if (keycode == 78)
		ft_draw_map(ft_z_out(mlx->vmp), mlx);
	return (0);
}
Пример #6
0
void		movedown(t_param *p)
{
	check_behind_wall(p);
	ft_draw_map(p);
	mlx_put_image_to_window(p->mlx, p->win, p->img.img_ptr, 0, 0);
}