projects
/
physik
/
nlsop.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
-
[physik/nlsop.git]
/
nlsop.c
diff --git
a/nlsop.c
b/nlsop.c
index
ff89e7c
..
edbc860
100644
(file)
--- a/
nlsop.c
+++ b/
nlsop.c
@@
-307,7
+307,7
@@
int calc_max_extra(d3_lattice *d3_l)
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
{
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
{
- int fd,i,j,size=0;
+ int fd,i,j,size=0
,foo=0
;
int width=0,height=0;
char bmpfile[MAX_CHARS];
char buf[128];
int width=0,height=0;
char bmpfile[MAX_CHARS];
char buf[128];
@@
-315,23
+315,26
@@
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
if(window==1)
{
sprintf(bmpfile,"x-z_%d.bmp",y);
if(window==1)
{
sprintf(bmpfile,"x-z_%d.bmp",y);
- size=x*z;
- width=x;
- height=z;
+ foo=3*d3_l->max_x;
+ size=(foo+(4-foo%4))*d3_l->max_z;
+ width=d3_l->max_x;
+ height=d3_l->max_z;
}
if(window==2)
{
sprintf(bmpfile,"y-z_%d.bmp",x);
}
if(window==2)
{
sprintf(bmpfile,"y-z_%d.bmp",x);
- size=y*z;
- width=y;
- height=z;
+ foo=3*d3_l->max_y;
+ size=(foo+(4-foo%4))*d3_l->max_z;
+ width=d3_l->max_y;
+ height=d3_l->max_z;
}
if(window==3)
{
sprintf(bmpfile,"x-y_%d.bmp",z);
}
if(window==3)
{
sprintf(bmpfile,"x-y_%d.bmp",z);
- size=x*y;
- width=x;
- height=y;
+ foo=3*d3_l->max_x;
+ size=(foo+(4-foo%4))*d3_l->max_y;
+ width=d3_l->max_x;
+ height=d3_l->max_y;
}
if((fd=open(bmpfile,O_WRONLY|O_CREAT))<0)
}
if((fd=open(bmpfile,O_WRONLY|O_CREAT))<0)
@@
-379,11
+382,11
@@
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
}
if(window==1)
{
}
if(window==1)
{
- for(
i=0;i<d3_l->max_x;i
++)
+ for(
j=0;j<d3_l->max_z;j
++)
{
{
- for(
j=0;j<d3_l->max_z;j
++)
+ for(
i=0;i<d3_l->max_x;i
++)
{
{
- if(*(d3_l->status+i+y*d3_l->max_x+
j
*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
+ if(*(d3_l->status+i+y*d3_l->max_x+
(d3_l->max_z-j-1)
*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
@@
-391,15
+394,24
@@
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
return-1;
}
}
return-1;
}
}
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
}
}
if(window==2)
{
}
}
if(window==2)
{
- for(
i=0;i<d3_l->max_y;i
++)
+ for(
j=0;j<d3_l->max_z;j
++)
{
{
- for(
j=0;j<d3_l->max_z;j
++)
+ for(
i=0;i<d3_l->max_y;i
++)
{
{
- if(*(d3_l->status+x+i*d3_l->max_x+
j
*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
+ if(*(d3_l->status+x+i*d3_l->max_x+
(d3_l->max_z-j-1)
*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
@@
-407,15
+419,24
@@
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
return-1;
}
}
return-1;
}
}
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
}
}
if(window==3)
{
}
}
if(window==3)
{
- for(
i=0;i<d3_l->max_x;i
++)
+ for(
j=0;j<d3_l->max_y;j
++)
{
{
- for(
j=0;j<d3_l->max_y;j
++)
+ for(
i=0;i<d3_l->max_x;i
++)
{
{
- if(*(d3_l->status+i+
j
*d3_l->max_x+z*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
+ if(*(d3_l->status+i+
(d3_l->max_y-j-1)
*d3_l->max_x+z*d3_l->max_x*d3_l->max_y)&RED) memset(buf,0xff,3);
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
else memset(buf,0,3);
if(write(fd,buf,3)<3)
{
@@
-423,6
+444,15
@@
int write_bmp(d3_lattice *d3_l,int window,u32 x,u32 y,u32 z)
return -1;
}
}
return -1;
}
}
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
}
}
close(fd);
}
}
close(fd);