GML
a = (ds_list_size(lista) div szerokość_kolumny)+1
for(i = 0; i < a; i += 1)
for(j = 0; j < szerokość_kolumny; j += 1)
{
if(j+(i*szerokość_kolumny) > ds_list_size(lista)) break
draw_sprite(ds_list_find_value(lista,j+(i*szerokość_kolumny)),-1,j*32,i*32)
}
Nie sprawdzałem, ale powinno działać.