-int distrib_c_old(d3_lattice *d3_l,int t_c,double a,double b)
-{
- int i,j,k,total,area;
- double sum;
- int temp,left;
- int *area_h;
- u32 x,y,z;
-
- area=d3_l->max_x*d3_l->max_y;
- area_h=(int *)malloc(d3_l->max_z*sizeof(int));
-
- total=0;
- sum=b*d3_l->max_z+a*d3_l->max_z*(d3_l->max_z+1)/2;
- for(i=0;i<d3_l->max_z;i++)
- {
- area_h[i]=0;
- for(j=0;j<area;j++)
- {
- if(!(*(d3_l->status+(i*area)+j)&AMORPH))
- {
- area_h[i]+=1;
- }
- }
- temp=(int)((i+1)*a+b)*t_c/(sum*area_h[i]);
- for(j=0;j<area;j++)
- {
- if(!(*(d3_l->status+(i*area)+j)&AMORPH))
- {
- *(d3_l->extra+(i*area)+j)=temp;
- total+=temp;
- }
- }
- left=(int)(((i+1)*a+b)*t_c/sum)%area_h[i];
- while(left)
- {
- x=get_rand(d3_l->max_x);
- y=get_rand(d3_l->max_y);
- if(!(*(d3_l->status+(i*area)+x+y*d3_l->max_x)&AMORPH))
- {
- *(d3_l->extra+(i*area)+x+y*d3_l->max_x)+=1;
- total+=1;
- left-=1;
- }
- }
- }
- left=t_c-total;
- while(left)
- {
- x=get_rand(d3_l->max_x);
- y=get_rand(d3_l->max_y);
- z=get_rand_lgp(d3_l->max_z,a,b);
- if(!(*(d3_l->status+x+y*d3_l->max_x+z*area)&AMORPH))
- {
- *(d3_l->extra+x+y*d3_l->max_x+z*area)+=1;
- left-=1;
- }
- }
- free(area_h);
-
- return 1;
-}
-