t_env *wolf3d_init(int ac, char **av) { t_env *env; if (!(env = (t_env*)malloc(sizeof(t_env)))) wolf3d_exit(&env, "wolf3d_init: malloc"); env->color = color_get(255, 255, 255, 0); env->dist = 0; env->ac = ac; env->av = av; env->ray.dir.x = 0; env->ray.inter.x = 0; env->ev_draw_map = 0; env->ev_color = 0; env->i = 0; wolf3d_map_load(env); if (wolf3d_player_init(env) == 0) wolf3d_exit(&env, "Place a '#' in map to have a spawn !"); if (((env)->mlx = mlx_init()) == NULL) wolf3d_exit(&env, "wolf3d_init: mlx_init"); if ((env->win = mlx_new_window(env->mlx, WIDTH, HEIGHT, TITLE)) == NULL) wolf3d_exit(&env, "wolf3d_init: mlx_new_window"); (env)->img = NULL; img_clear(env); init_texture(env); return (env); }
void _convolve(QSP_ARG_DECL Data_Obj *dpto,Data_Obj *dpfr,Data_Obj *dpfilt) { dimension_t i,j; float val, *frptr; dimension_t yos, offset; // where is the other error checking done??? INSIST_RAM_OBJ(dpto,convolve) INSIST_RAM_OBJ(dpfr,convolve) INSIST_RAM_OBJ(dpfilt,convolve) img_clear(dpto); frptr = (float *) OBJ_DATA_PTR(dpfr); j=OBJ_ROWS(dpto); while(j--){ yos = j * OBJ_ROW_INC(dpfr); i=OBJ_COLS(dpfr); while(i--){ offset = yos+i*OBJ_PXL_INC(dpfr); val = *(frptr+offset); add_impulse(val,dpto,dpfilt,i,j); } } }