t_item *new_sphere(t_env *env) { t_item *item; item = new_t_item(env); item->sp = new_t_sphere(100, 0, 0, 3); item->next = NULL; itemadator(env, item); return (item); }
t_item *new_cyl(t_env *env) { t_item *item; item = new_t_item(env); item->cyl = t_cyl_creator(new_t_vec(0, 0, 0), new_t_vec(1, 0, 0), 3); item->next = NULL; itemadator(env, item); return (item); }
int give_to_client(t_cli *c, enum e_rsrc type, int quantity) { t_item *item; char const *str; if (!c || !c->inventory || quantity <= 0 || !(str = get_rsrc_string_from_enum(type))) return (0); if (!(item = ht_get_entry(c->inventory, str, strlen(str)))) { if (!(item = new_t_item(type, quantity))) return (TRACE("new_t_item() failed"), 0); if (!ht_add_entry(c->inventory, item, str, strlen(str))) return (TRACE("ht_add_entry() failed"), free(item), 0); } else item->amount += quantity; return (quantity); }