- range check option gives big problems

This commit is contained in:
carl 2002-02-22 21:45:24 +00:00
parent 9a9382dcbc
commit 9b580d5d41

View File

@ -43,6 +43,7 @@ Still BP compatible, Gameunit contains some BP alternatives for Go32
procedures needed.}
PROGRAM voxel;
{$R-}
USES Crt,Dos {$IFDEF FPC}, Go32{$ENDIF};
@ -84,13 +85,13 @@ begin
if (x2-x1<2) and (y2-y1<2) then
exit;
p1:=mp^[WORD(256*y1+x1)]; p2:=mp^[WORD(256*y2+x1)]; p3:=mp^[WORD(256*y1+x2)];
p4:=mp^[WORD(256*y2+x2)]; xn:=(x2+x1) shr 1; yn:=(y2+y1) shr 1;
p4:=mp^[WORD(256*y2+x2)]; xn:=((x2+x1) shr 1) and $ffff; yn:=((y2+y1) shr 1) and $ffff;
dxy:=5*(x2-x1+y2-y1) div 3;
if mp^[WORD(256*y1+xn)]=0 then mp^[WORD(256*y1+xn)]:=ncol(p1+p3,dxy,2);
if mp^[WORD(256*yn+x1)]=0 then mp^[WORD(256*yn+x1)]:=ncol(p1+p2,dxy,2);
if mp^[WORD(256*yn+x2)]=0 then mp^[WORD(256*yn+x2)]:=ncol(p3+p4,dxy,2);
if mp^[WORD(256*y2+xn)]=0 then mp^[WORD(256*y2+xn)]:=ncol(p2+p4,dxy,2);
mp^[WORD(256*yn+xn)]:=ncol(p1+p2+p3+p4,dxy,4);
mp^[WORD(word(256*yn)+xn)]:=ncol(word(p1+p2+p3+p4),word(dxy),4);
plasma(x1,y1,xn,yn); plasma(xn,y1,x2,yn);
plasma(x1,yn,xn,y2); plasma(xn,yn,x2,y2);
end;
@ -99,7 +100,7 @@ procedure draw(xp,yp,dir:integer);
var z,zobs,ix,iy,iy1,iyp,ixp,x,y,s,csf,snf,mpc,i,j:integer;
begin
fillchar(rng,sizeof(rng),200); zobs:=100+mp^[WORD(256*yp+xp)];
csf:=round(256*cos(Real(dir)/180*pi)); snf:=round(256*sin(Real(dir)/180*pi));
csf:=round(256*cos((dir)/180*pi)); snf:=round(256*sin((dir)/180*pi));
fillchar(scr^,64000,0);
for iy:=yp to yp+55 do
begin
@ -152,12 +153,12 @@ begin
#75:dec(dir,10);
#77:inc(dir,10);
#72:begin
y:=y+round(5*cos(Real(dir)/180*pi));
x:=x+round(5*sin(Real(dir)/180*pi));
y:=y+round(5*cos((dir)/180*pi));
x:=x+round(5*sin((dir)/180*pi));
end;
#80:begin
y:=y-round(5*cos(Real(dir)/180*pi));
x:=x-round(5*sin(Real(dir)/180*pi));
y:=y-round(5*cos((dir)/180*pi));
x:=x-round(5*sin((dir)/180*pi));
end;
end;
#27: begin
@ -170,7 +171,10 @@ begin
end.
{
$Log$
Revision 1.1 2001-05-03 21:39:33 peter
Revision 1.2 2002-02-22 21:45:24 carl
- range check option gives big problems
Revision 1.1 2001/05/03 21:39:33 peter
* moved to own module
Revision 1.2 2000/07/13 11:33:09 michael