int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v,unsigned char mode,int max_extra,u32 *p1,u32 max1,u32 *p2,u32 max2)
{
int x_c,y_c,z_c;
- int i;
+ int i,sum;
unsigned char foobar;
unsigned char r,g,b,a;
{
for(z_c=0;z_c<d3_l->max_z;z_c++)
{
- if((!mode)||mode==3) dx_lattice_get_color((*d3_l).status+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y,&r,&g,&b,mode);
+ if((!mode)||mode==3)
+ {
+ sum=0;
+ for(i=-2;i<=2;i++)
+ if(*(d3_l->status+x_c+((y_c+i+d3_l->max_y)%d3_l->max_y)*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)&RED) sum+=0xff;
+ g=0; b=0;
+ r=(unsigned char)(sum/5);
+ }
if(mode==3)
{
if(d3_l->max_x*p1[z_c]/max1==x_c)
if(ke.key_id==DIKI_DOWN && *y!=d3_l->max_y-1) *y+=1;
if(ke.key_id==DIKI_PAGE_UP && *z!=0) *z-=1;
if(ke.key_id==DIKI_PAGE_DOWN && *z!=d3_l->max_z-1) *z+=1;
+ if(ke.key_id==DIKI_END && *z<=d3_l->max_z-10) *z+=10;
+ if(ke.key_id==DIKI_HOME && *z>=10) *z-=10;
if(ke.key_id==DIKI_Q) *q=1;
if(ke.key_id==DIKI_ESCAPE) *esc=1;
if(ke.key_id==DIKI_M) *switchmode=(*switchmode+1)%4;