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); }
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); }
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); }
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); }
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); }
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); }