projects
/
physik
/
nlsop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reimplemented the ratio amount
[physik/nlsop.git]
/
dfbapi.c
diff --git
a/dfbapi.c
b/dfbapi.c
index
b9b2656
..
b922cc4
100644
(file)
--- a/
dfbapi.c
+++ b/
dfbapi.c
@@
-97,7
+97,7
@@
int d3_lattice_release(d3_lattice *d3_l)
int dx_lattice_get_color(unsigned char *status,unsigned char *r,unsigned char *g,unsigned char *b,unsigned char mode)
{
*g=0;
int dx_lattice_get_color(unsigned char *status,unsigned char *r,unsigned char *g,unsigned char *b,unsigned char mode)
{
*g=0;
- if(
!mode
)
+ if(
(!mode)||mode==3
)
{
if((*status)&RED)
{
{
if((*status)&RED)
{
@@
-185,10
+185,10
@@
int d2_lattice_draw(d2_lattice *d2_l,int x,int y,int arg_c,char **arg_v,unsigned
return 1;
}
return 1;
}
-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)
+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 x_c,y_c,z_c;
- int i;
+ int i
,sum
;
unsigned char foobar;
unsigned char r,g,b,a;
unsigned char foobar;
unsigned char r,g,b,a;
@@
-199,7
+199,23
@@
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_c<d3_l->max_z;z_c++)
{
{
for(z_c=0;z_c<d3_l->max_z;z_c++)
{
- if(!mode) 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)
+ {
+ r=0xff;
+ g=0xff;
+ b=0xff;
+ }
+ }
if(mode==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
if(mode==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
@@
-229,7
+245,16
@@
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_c<d3_l->max_z;z_c++)
{
{
for(z_c=0;z_c<d3_l->max_z;z_c++)
{
- if(!mode) 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) 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==3)
+ {
+ if((int)(d3_l->max_y*(1.0*p2[z_c]/max2))==y_c)
+ {
+ r=0xff;
+ g=0xff;
+ b=0xff;
+ }
+ }
if(mode==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
if(mode==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
@@
-259,7
+284,7
@@
int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v,un
{
for(y_c=0;y_c<d3_l->max_y;y_c++)
{
{
for(y_c=0;y_c<d3_l->max_y;y_c++)
{
- if(
!mode
) 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
) 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==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
if(mode==1)
{
foobar=(unsigned char)(*(d3_l->extra+x_c+y_c*d3_l->max_x+z_c*d3_l->max_x*d3_l->max_y)*255/max_extra);
@@
-296,32
+321,12
@@
int d3_lattice_draw(d3_lattice *d3_l,int x,int y,int z,int arg_c,char **arg_v,un
d3_l->p_surface->DrawRectangle(d3_l->p_surface,
d3_l->info_x,d3_l->info_y,
d3_l->info_w,d3_l->info_h);
d3_l->p_surface->DrawRectangle(d3_l->p_surface,
d3_l->info_x,d3_l->info_y,
d3_l->info_w,d3_l->info_h);
- /* old style
- d3_l->p_surface->DrawLine(d3_l->p_surface,
- d3_l->info_x+d3_l->info_w/2,
- d3_l->info_y,
- d3_l->info_x+d3_l->info_w/2,
- d3_l->info_y+d3_l->info_h);
- */
d3_l->p_surface->SetColor(d3_l->p_surface,0x80,0x80,0xff,0xff);
for(i=1;i<=arg_c;i++)
d3_l->p_surface->SetColor(d3_l->p_surface,0x80,0x80,0xff,0xff);
for(i=1;i<=arg_c;i++)
- {
- // if(i<13)
- // {
d3_l->p_surface->DrawString(d3_l->p_surface,arg_v[i],-1,
d3_l->info_x+d3_l->fakt_x,
d3_l->info_y+2*d3_l->fakt_y+d3_l->font_h+(i-1)*d3_l->font_h,
DSTF_LEFT);
d3_l->p_surface->DrawString(d3_l->p_surface,arg_v[i],-1,
d3_l->info_x+d3_l->fakt_x,
d3_l->info_y+2*d3_l->fakt_y+d3_l->font_h+(i-1)*d3_l->font_h,
DSTF_LEFT);
- // } else
- // {
- /* old style
- d3_l->p_surface->DrawString(d3_l->p_surface,arg_v[i],-1,
- d3_l->info_x+d3_l->info_w/2+d3_l->fakt_x,
- d3_l->info_y+2*d3_l->fakt_y+d3_l->font_h+(i%13-1)*d3_l->font_h,
- DSTF_LEFT);
- */
- // }
- }
/* now we flip all to surface */
d3_l->p_surface->Flip(d3_l->p_surface,NULL,0);
/* now we flip all to surface */
d3_l->p_surface->Flip(d3_l->p_surface,NULL,0);
@@
-359,17
+364,27
@@
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_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_Q) *q=1;
if(ke.key_id==DIKI_ESCAPE) *esc=1;
- if(ke.key_id==DIKI_M) *switchmode=(*switchmode+1)%
3
;
+ if(ke.key_id==DIKI_M) *switchmode=(*switchmode+1)%
4
;
if(ke.key_id==DIKI_1) *bmp=1;
if(ke.key_id==DIKI_2) *bmp=2;
if(ke.key_id==DIKI_3) *bmp=3;
if(ke.key_id==DIKI_4) *bmp=4;
if(ke.key_id==DIKI_5) *bmp=5;
if(ke.key_id==DIKI_1) *bmp=1;
if(ke.key_id==DIKI_2) *bmp=2;
if(ke.key_id==DIKI_3) *bmp=3;
if(ke.key_id==DIKI_4) *bmp=4;
if(ke.key_id==DIKI_5) *bmp=5;
+ if(ke.key_id==DIKI_6) *bmp=6;
+ if(ke.key_id==DIKI_7) *bmp=7;
+ if(ke.key_id==DIKI_8) *bmp=8;
+ if(ke.key_id==DIKI_9) *bmp=9;
+ if(ke.key_id==DIKI_W) *bmp=10;
+ if(ke.key_id==DIKI_E) *bmp=11;
+ if(ke.key_id==DIKI_R) *bmp=12;
if(ke.key_id==DIKI_A) *ac_distr=1;
if(ke.key_id==DIKI_C) *ac_distr=2;
if(ke.key_id==DIKI_B) *ac_distr=3;
if(ke.key_id==DIKI_A) *ac_distr=1;
if(ke.key_id==DIKI_C) *ac_distr=2;
if(ke.key_id==DIKI_B) *ac_distr=3;
+ if(ke.key_id==DIKI_X) *ac_distr=4;
}
return 1;
}
return 1;