function paint_fill(VECTOR* pPos)
{
paint_pixel2 = pixel_for_bmap(paint_bmap,pPos.x,pPos.y);
pixel_to_vec(pv_a,NULL,paint_txtype,paint_pixel2);
paint_point(pPos,pv_d); //Only line changed, moved up from bottom of function.
if (pPos.x>0)
{
paint_pixel = pixel_for_bmap(paint_bmap,pPos.x-1,pPos.y);
pixel_to_vec(pv_b,NULL,paint_txtype,paint_pixel);
if (vec_dist(pv_a,pv_b)<=16) paint_fill(vector(pPos.x-1,pPos.y,0));
}
if (pPos.y>0)
{
paint_pixel = pixel_for_bmap(paint_bmap,pPos.x,pPos.y-1);
pixel_to_vec(pv_b,NULL,paint_txtype,paint_pixel);
if (vec_dist(pv_a,pv_b)<=16) paint_fill(vector(pPos.x,pPos.y-1,0));
}
if (pPos.x<paint_w)
{
paint_pixel = pixel_for_bmap(paint_bmap,pPos.x+1,pPos.y);
pixel_to_vec(pv_b,NULL,paint_txtype,paint_pixel);
if (vec_dist(pv_a,pv_b)<=16) paint_fill(vector(pPos.x+1,pPos.y,0));
}
if (pPos.y<paint_h)
{
paint_pixel = pixel_for_bmap(paint_bmap,pPos.x,pPos.y+1);
pixel_to_vec(pv_b,NULL,paint_txtype,paint_pixel);
if (vec_dist(pv_a,pv_b)<=16) paint_fill(vector(pPos.x,pPos.y+1,0));
}
}