X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fnlsop.git;a=blobdiff_plain;f=dfbapi.c;h=b922cc4d7febf045bd40b335d2c2db6199e7fd33;hp=58510fc03b9b2bba273f3be594db9614a00253cd;hb=HEAD;hpb=75ee7f0b14dae9fb66ba61f4eb30a1a61b40b4f3 diff --git a/dfbapi.c b/dfbapi.c index 58510fc..b922cc4 100644 --- a/dfbapi.c +++ b/dfbapi.c @@ -188,7 +188,7 @@ int d2_lattice_draw(d2_lattice *d2_l,int x,int y,int arg_c,char **arg_v,unsigned 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; @@ -199,7 +199,14 @@ int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v,un { for(z_c=0;z_cmax_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) @@ -357,6 +364,8 @@ int scan_event(d3_lattice *d3_l,int *x,int *y,int *z,int *q,int *esc,int *switch 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;