void ft_solve(t_piece **pieces, int size, int n) { t_tet tets[n + 1]; char **result; unsigned short map[16]; (tets + n)->blocs = 0; ft_memset(map, 0, 18); ft_get_tets(tets, pieces); ft_make_idents(tets, n); while (ft_rec(map, tets, tets, size) == -1) size++; result = ft_create(size); ft_fill(result, tets, pieces); ft_print(result); ft_clear((void **)result); ft_clear((void **)pieces); free(result); }
void ft_render(t_surface *ptr[], t_surface *screen) { int x; ft_clear(screen); for (x = 0; x < E_TYPE_LAST; x++) ft_blit(ptr[x], screen, ptr[x]->pos.x, ptr[x]->pos.y); ft_flip(screen); }
int ft_loop(int key, t_env **env) { if (key == ESC) { ft_clear(*env); exit(0); } if (key == LE || key == RI || key == ENT || key == UP || key == DO || key == PL || key == MI) { ft_change_view(env, key); ft_ray_cast_threads(*env); } return (0); }
static int ft_manage_inputs(t_env *e, char *inputs) { int value; if ((inputs[0] == 4 || inputs[0] == 10) && inputs[1] == 0 && inputs[2] == 0 && inputs[3] == 0 && inputs[4] == 0 && inputs[5] == 0 && inputs[6] == 0) return (ft_quit(e, inputs)); else if (!ft_delete(e, inputs)) if (!ft_arrows(e, inputs)) if (!ft_clear(e, inputs)) if (ft_isprint(inputs[0]) || inputs[0] == 9) if ((value = ft_process_char(e, inputs)) != 2) return (value); return (-1); }
int ft_checkpath(char *s, t_list **begin, t_param *param) { char *path; char **tmp; int i; i = 0; ft_check_builtin(s, begin); if ((path = get_env(g_env, "PATH")) == NULL) return (0); tmp = ft_strsplit(path, ':'); ft_process(tmp, s, i, begin); ft_clear(tmp); if (*begin != NULL) del_word(s, param, &STR); return (0); }
void ft_keys(char *buf, t_control *list, char **modetab) { if (ARROW) ft_arrows(buf, list, modetab); else if (SPACE) ft_addselected(list, modetab); else if (BACKSPACE || SUPPR) { ft_delete_node(list, list->active); ft_clear(modetab, list, 1); } else if (ENTER) ft_quit(modetab, list, 0, ft_calcret(list)); else if (MINUS) ft_multiselect(list, 0, modetab); else if (PLUS) ft_multiselect(list, 1, modetab); else if (SLASH) ft_search(list, modetab); else if (QUESTIONMARK) ft_printhelp(list, modetab); else if (buf[0] == 'c' && !buf[1]) ft_selectskin(list, modetab); }