Nightly update (ISO SHA-1 54758c6)

This commit is contained in:
TempleOS-bot committed 2017-03-15 00:27:25 -04:00
1 parent 4f77433555
commit f9fe277d40
59 files changed
+212 -200

No files matched your search

Binary file not shown.
+4 -4
View File
@@ -30,9 +30,9 @@ public class CSpriteDitherColor : CSpriteBase
U16 dither_color;
};
public class CSpriteW : CSpriteBase
public class CSpriteT : CSpriteBase
{
I32 width;
I32 thick;
};
public class CSpritePt : CSpriteBase
@@ -120,7 +120,7 @@ public class CSpritePtMeshU8s : CSpriteBase
#define SPT_END 0 //$LK,"CSpriteBase",A="MN:CSpriteBase"$
#define SPT_COLOR 1 //$LK,"CSpriteColor",A="MN:CSpriteColor"$
#define SPT_DITHER_COLOR 2 //$LK,"CSpriteDitherColor",A="MN:CSpriteDitherColor"$
#define SPT_WIDTH 3 //$LK,"CSpriteW",A="MN:CSpriteW"$
#define SPT_THICK 3 //$LK,"CSpriteT",A="MN:CSpriteT"$
#define SPT_PLANAR_SYMMETRY 4 //$LK,"CSpritePtPt",A="MN:CSpritePtPt"$
#define SPT_TRANSFORM_ON 5 //$LK,"CSpriteBase",A="MN:CSpriteBase"$
#define SPT_TRANSFORM_OFF 6 //$LK,"CSpriteBase",A="MN:CSpriteBase"$
@@ -163,7 +163,7 @@ public class CSprite
CSpriteBase b;
CSpriteColor c;
CSpriteDitherColor d;
CSpriteW w;
CSpriteT t;
CSpritePt p;
CSpritePtPt pp;
CSpritePtPtAng ppa;
+3 -3
View File
@@ -2,7 +2,7 @@
Option(OPTf_WARN_HEADER_MISMATCH,OFF);
public Bool GrPlot0(CDC *dc=gr.dc,I64 x,I64 y)
{//2D. No clipping or transformation or pen width.
{//2D. No clipping or transformation or thick.
U8 *dst;
I32 *db;
I64 d,dist;
@@ -1662,7 +1662,7 @@ gr_done:
}
public I64 GrHLine(CDC *dc=gr.dc,I64 x1,I64 x2,I64 y,I64 z1=0,I64 z2=0)
{//3D. No transformation or pen width.
{//3D. No transformation or thick.
//Returns cnt of pixs changed
//Uses $LK,"fixed-point",A="FI:::/Demo/Lectures/FixedPoint.HC"$.
I64 dist,dx,dz,z,res=0,i,j,d;
@@ -1831,7 +1831,7 @@ gr_done:
}
public I64 GrVLine(CDC *dc=gr.dc,I64 x,I64 y1,I64 y2,I64 z1=0,I64 z2=0)
{//3D. No transformation or pen width.
{//3D. No transformation or thick.
//Returns cnt of pixs changed
//Uses $LK,"fixed-point",A="FI:::/Demo/Lectures/FixedPoint.HC"$.
I64 dist,dy,dz,z,res=0,i,j,d;
+8 -8
View File
@@ -92,7 +92,7 @@ public I64 GrRect3(CDC *dc=gr.dc,I64 x,I64 y,I64 z,I64 w,I64 h)
public U0 GrBorder(CDC *dc=gr.dc,I64 x1,I64 y1,I64 x2,I64 y2,
I64 step=1,I64 start=0)
{//2D. Transformation with pen width.
{//2D. Transformation with thick.
//Can be used with ROPF_DITHER+WHITE<<16+BLACK for dotted rect.
GrLine3(dc,x1,y1,0,x2,y1,0,step,start);
GrLine3(dc,x2,y1,0,x2,y2,0,step,start);
@@ -102,7 +102,7 @@ public U0 GrBorder(CDC *dc=gr.dc,I64 x1,I64 y1,I64 x2,I64 y2,
public Bool GrArrow3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,
I64 x2,I64 y2,I64 z2,F64 w=2.75,I64 step=1,I64 start=0)
{//3D. Transformation with pen width.
{//3D. Transformation with thick.
I64 _x1,_y1,_z1,_x2,_y2,_z2,dx,dy;
F64 d;
Bool res=FALSE,was_transform=FALSE,was_symmetry=FALSE;
@@ -121,7 +121,7 @@ public Bool GrArrow3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,
res=Line(dc,_x1,_y1,_z1,_x2,_y2,_z2,&GrPlot3,step,start);
dx=_x2-_x1; dy=_y2-_y1;
if (d=Sqrt(dx*dx+dy*dy)) {
d=w*dc->pen_width/d;
d=w*dc->thick/d;
res|=Line(dc,_x2-dx*d+dy*d+0.5,_y2-dy*d-dx*d+0.5,_z2,
_x2,_y2,_z2,&GrPlot3,step);
res|=Line(dc,_x2-dx*d-dy*d+0.5,_y2-dy*d+dx*d+0.5,_z2,
@@ -134,7 +134,7 @@ public Bool GrArrow3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,
res|=Line(dc,x1,y1,z1,x2,y2,z2,&GrPlot3,step,start);
dx=x2-x1; dy=y2-y1;
if (d=Sqrt(dx*dx+dy*dy)) {
d=w*dc->pen_width/d;
d=w*dc->thick/d;
res|=Line(dc,x2-dx*d+dy*d+0.5,y2-dy*d-dx*d+0.5,z2,
x2,y2,z2,&GrPlot3,step);
res|=Line(dc,x2-dx*d-dy*d+0.5,y2-dy*d+dx*d+0.5,z2,
@@ -299,7 +299,7 @@ public U0 DrawStdMs(CDC *dc,I64 x,I64 y)
{//This is a callback. See $LK,"::/Demo/Graphics/Grid.HC"$.
//Called by $LK,"DrawMs",A="MN:DrawMs"$() which is
//called by $LK,"WinFinalUpdate",A="MN:WinFinalUpdate"$().
dc->pen_width=1;
dc->thick=1;
dc->flags&=~(DCF_TRANSFORMATION|DCF_SYMMETRY);
GrArrow3(dc,x+8,y+8,0,x,y,0);
}
@@ -308,16 +308,16 @@ gr.fp_draw_ms=&DrawStdMs;
public U0 DrawWaitMs(CDC *dc,I64 x,I64 y)
{//This is a callback. See $LK,"::/Demo/Graphics/Grid.HC"$.
I64 old_pen_width=dc->pen_width;
I64 old_pen_width=dc->thick;
CColorROPU32 old_color=dc->color;
dc->pen_width=3;
dc->thick=3;
dc->color=LTRED;
GrCircle3(dc,x,y,0,7);
GrLine3(dc,x-6,y+6,0,x+6,y-6,0);
dc->color=RED;
GrCircle(dc,x,y,7);
GrLine(dc,x-6,y+6,x+6,y-6);
dc->pen_width=old_pen_width;
dc->thick=old_pen_width;
dc->color=old_color;
}
+4 -4
View File
@@ -46,7 +46,7 @@ public I64 Mat4x4NormSqr65536(I64 *r)
public U0 DCMat4x4Set(CDC *dc=NULL,I64 *r)
{//Set device context's rot matrix. Will be $LK,"Free",A="MN:Free"$d() in $LK,"DCDel",A="MN:DCDel"$().Uses $LK,"fixed-point",A="FI:::/Demo/Lectures/FixedPoint.HC"$.
//The main purpose is to set matrix norm for pen width scaling.
//The main purpose is to set matrix norm for thick scaling.
//NULL as dc means gr.dc
if (!dc) dc=gr.dc;
dc->r=r;
@@ -95,7 +95,7 @@ public U0 DCLighting(CDC *dc,
//TempleOS will generate a random U16
//and compare to dither_probability_u16 and
//will pick from two colors.
//Probability dithering does not work with pen_width>1 at this time.
//Probability dithering does not work with thick>1 at this time.
if (color.c0.rop&ROPBF_TWO_SIDED) {
color.c0.rop&=~ROPBF_TWO_SIDED;
i=AbsI64(i)<<1;
@@ -137,7 +137,7 @@ public U0 DCRst(CDC *dc)
dc->color2=BLACK;
dc->bkcolor=BLACK;
dc->collision_cnt=0;
dc->pen_width=1;
dc->thick=1;
dc->ls.x=37837; //1<<16/Sqrt(3)
dc->ls.y=37837;
dc->ls.z=37837;
@@ -365,7 +365,7 @@ public CDC *DCLoad(U8 *src,I64 *_size=NULL,CTask *task=NULL)
MemCpy(res->body,ptr,body_size);
ptr+=body_size;
}
res->pen_width=1;
res->thick=1;
res->r=Mat4x4IdentNew(task);
res->r_norm.u32[1]=1;
res->dc_signature=DCS_SIGNATURE_VAL;
+1 -1
View File
@@ -4,5 +4,5 @@ extern I64 GrBlot3(CDC *dc,I64 x1,I64 y1,I64 z1,CDC *img);
extern I64 *Mat4x4New(I64 *src,CTask *mem_task=NULL);
extern U8 *SpriteQue2Sprite(CSprite *head,I64 *_size=NULL);
extern CSprite *SpriteSetSettings(CDC *dc=NULL,CSprite *head,I64 elem_num,
I64 x=0,I64 y=0,CColorROPU32 *_color=NULL,I64 *_width=NULL,
I64 x=0,I64 y=0,CColorROPU32 *_color=NULL,I64 *_thick=NULL,
I64 *_xx=NULL,I64 *_yy=NULL);
+2 -2
View File
@@ -4,7 +4,7 @@ U0 GrInit1()
{
DefineLstLoad("ST_SPRITE_ELEM_TYPES",
"End\0Color\0Dither Color\0"
"Width\0Planar Symmetry\0Transform On\0Transform Off\0Shift\0"
"Thick\0Planar Symmetry\0Transform On\0Transform Off\0Shift\0"
"Point\0PolyPoint\0Line\0PolyLine\0Rect\0Rotated Rect\0"
"Circle\0Ellipse\0Polygon\0BSpline2\0BSpline2 Closed\0"
"BSpline3\0BSpline3 Closed\0"
@@ -12,7 +12,7 @@ U0 GrInit1()
"Arrow\0Text\0Text Box\0Text Diamond\0");
DefineLstLoad("ST_SPRITE_ELEM_CODES",
"End\0Color\0Color\0"
"Width\0PlanarSymmetry\0Transform\0Transform\0Shift\0"
"Thick\0PlanarSymmetry\0Transform\0Transform\0Shift\0"
"Pt\0PolyPt\0Line\0PolyLine\0Rect\0Rect\0"
"Circle\0Ellipse\0Polygon\0BSpline2\0BSpline2\0BSpline3\0BSpline3\0"
"FloodFill\0FloodFill\0BitMap\0Mesh\0Mesh\0"
+7 -7
View File
@@ -160,15 +160,15 @@ public I64 *Mat4x4Scale(I64 *m,F64 s)
return m;
}
public U0 DCPenWidthScale(CDC *dc=gr.dc)
{//Scale device context's pen width by norm of transformation.
public U0 DCThickScale(CDC *dc=gr.dc)
{//Scale device context's thick by norm of transformation.
I64 d;
if (dc->flags&DCF_TRANSFORMATION) {
if (dc->pen_width) {
d=dc->pen_width*dc->r_norm+0x80000000; //Round
dc->pen_width=d.i32[1];
if (dc->pen_width<1)
dc->pen_width=1;
if (dc->thick) {
d=dc->thick*dc->r_norm+0x80000000; //Round
dc->thick=d.i32[1];
if (dc->thick<1)
dc->thick=1;
}
}
}
+37 -37
View File
@@ -49,7 +49,7 @@ Bool DCClipLine(CDC *dc=gr.dc,I64 *x1,I64 *y1,I64 *x2,I64 *y2,
}
public Bool GrPlot(CDC *dc=gr.dc,I64 x,I64 y)
{//2D. Clipping but No transformation or pen width.
{//2D. Clipping but No transformation or thick.
I32 *db=dc->depth_buf;
CTask *win_task;
CColorROPU32 old_color;
@@ -79,7 +79,7 @@ public Bool GrPlot(CDC *dc=gr.dc,I64 x,I64 y)
}
Bool GrPlot1(CDC *dc=gr.dc,I64 x,I64 y)
{//Clipping but No transformation or pen width, called with db_z set
{//Clipping but No transformation or thick, called with db_z set
CTask *win_task;
CColorROPU32 old_color;
if (dc->brush) {
@@ -410,7 +410,7 @@ public I64 GrFillCircle(CDC *dc=gr.dc,I64 cx,I64 cy,I64 z=0,I64 diameter)
}
public Bool GrPlot3B(CDC *dc=gr.dc,I64 x,I64 y,I64 z)
{//3D. Clipping and transformation but no pen_width.
{//3D. Clipping and transformation but no thick.
I64 _x,_y,_z;
Bool was_transform=FALSE,was_symmetry=FALSE;
if (dc->flags & DCF_TRANSFORMATION) {
@@ -439,7 +439,7 @@ gr_done:
}
public Bool GrPlot3(CDC *dc=gr.dc,I64 x,I64 y,I64 z)
{//3D. Clipping and transformation and pen width.
{//3D. Clipping and transformation and thick.
I64 _x,_y,_z,w,dist;
CColorROPU32 old_color=dc->color;
Bool record,was_transform=FALSE,was_symmetry=FALSE;
@@ -458,57 +458,57 @@ public Bool GrPlot3(CDC *dc=gr.dc,I64 x,I64 y,I64 z)
if (dc->flags&DCF_JUST_MIRROR)
goto gr_done;
}
w=dc->pen_width>>1;
w=dc->thick>>1;
dc->db_z=z;
if (dc->brush || w<=0)
GrPlot1(dc,x,y);
else if (dc->pen_width<GR_PEN_BRUSHES_NUM) {
else if (dc->thick<GR_PEN_BRUSHES_NUM) {
if (dc->color.c0.rop!=ROPB_COLLISION)
dc->color.c0.rop=ROPB_MONO;
if (dc->depth_buf) {
if (dc->color.c1.rop&ROPBF_DITHER) {
dc->color.c1.rop=dc->color.c0.rop;
if (((x-w)^(y-w))&1) {
record=GrBlot3(dc,x-w,y-w,z,gr.odd_pen_brushes[dc->pen_width]);
record=GrBlot3(dc,x-w,y-w,z,gr.odd_pen_brushes[dc->thick]);
dc->color.c0=dc->color.c1;
record=GrBlot3(dc,x-w,y-w,z,gr.even_pen_brushes[dc->pen_width]);
record=GrBlot3(dc,x-w,y-w,z,gr.even_pen_brushes[dc->thick]);
} else {
record=GrBlot3(dc,x-w,y-w,z,gr.even_pen_brushes[dc->pen_width]);
record=GrBlot3(dc,x-w,y-w,z,gr.even_pen_brushes[dc->thick]);
dc->color.c0=dc->color.c1;
record=GrBlot3(dc,x-w,y-w,z,gr.odd_pen_brushes[dc->pen_width]);
record=GrBlot3(dc,x-w,y-w,z,gr.odd_pen_brushes[dc->thick]);
}
} else {
if (dc->color.c0.rop==ROPB_COLLISION) {
if (dc->color.c0.color!=dc->bkcolor.c0.color &&
dc->color.c0.color!=TRANSPARENT)
record=GrBlot3(dc,x-w,y-w,z,
gr.collision_pen_brushes[dc->pen_width]);
gr.collision_pen_brushes[dc->thick]);
else
record=FALSE;
} else
record=GrBlot3(dc,x-w,y-w,z,gr.pen_brushes[dc->pen_width]);
record=GrBlot3(dc,x-w,y-w,z,gr.pen_brushes[dc->thick]);
}
} else {
if (dc->color.c1.rop&ROPBF_DITHER) {
dc->color.c1.rop=dc->color.c0.rop;
if (((x-w)^(y-w))&1) {
record=GrBlot(dc,x-w,y-w,gr.odd_pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.odd_pen_brushes[dc->thick]);
dc->color.c0=dc->color.c1;
record=GrBlot(dc,x-w,y-w,gr.even_pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.even_pen_brushes[dc->thick]);
} else {
record=GrBlot(dc,x-w,y-w,gr.even_pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.even_pen_brushes[dc->thick]);
dc->color.c0=dc->color.c1;
record=GrBlot(dc,x-w,y-w,gr.odd_pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.odd_pen_brushes[dc->thick]);
}
} else {
if (dc->color.c0.rop==ROPB_COLLISION) {
if (dc->color.c0.color!=dc->bkcolor.c0.color &&
dc->color.c0.color!=TRANSPARENT)
record=GrBlot(dc,x-w,y-w,gr.collision_pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.collision_pen_brushes[dc->thick]);
else
record=FALSE;
} else
record=GrBlot(dc,x-w,y-w,gr.pen_brushes[dc->pen_width]);
record=GrBlot(dc,x-w,y-w,gr.pen_brushes[dc->thick]);
}
}
if (record) {
@@ -525,7 +525,7 @@ public Bool GrPlot3(CDC *dc=gr.dc,I64 x,I64 y,I64 z)
if (dc->flags & DCF_RECORD_EXTENTS) {
if (x-w<dc->min_x) dc->min_x=x-w;
if (y-w<dc->min_y) dc->min_y=y-w;
if (dc->pen_width & 1) {
if (dc->thick & 1) {
if (x+w>dc->max_x) dc->max_x=x+w;
if (y+w>dc->max_y) dc->max_y=y+w;
} else {
@@ -535,7 +535,7 @@ public Bool GrPlot3(CDC *dc=gr.dc,I64 x,I64 y,I64 z)
}
}
} else
GrFillCircle(dc,x,y,dc->db_z,dc->pen_width);
GrFillCircle(dc,x,y,dc->db_z,dc->thick);
gr_done:
dc->color=old_color;
if (was_transform)
@@ -615,7 +615,7 @@ public Bool GrRegPoly(CDC *dc=gr.dc,
I64 step=1,
F64 start_radians=0,
F64 len_radians=2*ã)
{//2D. Clipping but no transform or pen width.
{//2D. Clipping but no transform or thick.
Bool res;
I32 *db=dc->depth_buf;
dc->depth_buf=NULL;
@@ -626,22 +626,22 @@ public Bool GrRegPoly(CDC *dc=gr.dc,
}
public Bool Gr2Bezier(CDC *dc=gr.dc,CD3I32 *ctrl)
{//2nd order. Clipping but no transform or pen width.
{//2nd order. Clipping but no transform or thick.
return Bezier2(dc,ctrl,&GrLinePlot);
}
public Bool Gr3Bezier(CDC *dc=gr.dc,CD3I32 *ctrl)
{//3rd order. Clipping but no transform or pen width.
{//3rd order. Clipping but no transform or thick.
return Bezier3(dc,ctrl,&GrLinePlot);
}
public Bool Gr2BSpline(CDC *dc=gr.dc,CD3I32 *ctrl,I64 cnt,Bool closed=FALSE)
{//2nd order. Clipping but no transform or pen width.
{//2nd order. Clipping but no transform or thick.
return BSpline2(dc,ctrl,cnt,&GrLinePlot,closed);
}
public Bool Gr3BSpline(CDC *dc=gr.dc,CD3I32 *ctrl,I64 cnt,Bool closed=FALSE)
{//3rd order. Clipping but no transform or pen width.
{//3rd order. Clipping but no transform or thick.
return BSpline3(dc,ctrl,cnt,&GrLinePlot,closed);
}
@@ -769,7 +769,7 @@ I64 GrLineFat3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,I64 x2,I64 y2,I64 z2,
public Bool GrLine3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,I64 x2,I64 y2,I64 z2,
I64 step=1,I64 start=0)
{//3D. Transformation with pen width.
{//3D. Transformation with thick.
I64 _x1,_y1,_z1,_x2,_y2,_z2;
Bool res=FALSE,was_transform=FALSE,was_symmetry=FALSE;
if (dc->flags & DCF_TRANSFORMATION) {
@@ -785,11 +785,11 @@ public Bool GrLine3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,I64 x2,I64 y2,I64 z2,
DCReflect(dc,&_x2,&_y2,&_z2);
dc->flags&=~DCF_SYMMETRY;
if (step==1 && !dc->brush) {
if (!start && dc->pen_width<2 && !dc->depth_buf) {//TODO: clip z depbuf
if (!start && dc->thick<2 && !dc->depth_buf) {//TODO: clip z depbuf
if (DCClipLine(dc,&_x1,&_y1,&_x2,&_y2))
res=Line(dc,_x1,_y1,0,_x2,_y2,0,&GrLinePlot0,step,start);
} else {
if (GrLineFat3(dc,_x1,_y1,_z1,_x2,_y2,_z2,dc->pen_width,start))
if (GrLineFat3(dc,_x1,_y1,_z1,_x2,_y2,_z2,dc->thick,start))
res=TRUE;
}
} else
@@ -799,11 +799,11 @@ public Bool GrLine3(CDC *dc=gr.dc,I64 x1,I64 y1,I64 z1,I64 x2,I64 y2,I64 z2,
goto gr_done;
}
if (step==1 && !dc->brush) {
if (!start && dc->pen_width<2 && !dc->depth_buf) {//TODO: clip z depbuf
if (!start && dc->thick<2 && !dc->depth_buf) {//TODO: clip z depbuf
if (DCClipLine(dc,&x1,&y1,&x2,&y2))
res|=Line(dc,x1,y1,0,x2,y2,0,&GrLinePlot0,step,start);
} else {
if (GrLineFat3(dc,x1,y1,z1,x2,y2,z2,dc->pen_width,start))
if (GrLineFat3(dc,x1,y1,z1,x2,y2,z2,dc->thick,start))
res=TRUE;
}
} else
@@ -856,7 +856,7 @@ public Bool GrEllipse3(CDC *dc=gr.dc,
I64 step=1,
F64 start_radians=0,
F64 len_radians=2*ã)
{//3D. Transformation with pen width.
{//3D. Transformation with thick.
Bool res;
I64 x,y,z,xx,yy,zz;
F64 m1,arg1,m2,arg2,s,c;
@@ -905,7 +905,7 @@ public Bool GrEllipse3(CDC *dc=gr.dc,
public Bool GrCircle3(CDC *dc=gr.dc,I64 cx,I64 cy,I64 cz,I64 radius,
I64 step=1,F64 start_radians=0,F64 len_radians=2*ã)
{//3D. Transformation with pen width.
{//3D. Transformation with thick.
if (dc->flags & DCF_TRANSFORMATION)
return GrEllipse3(dc,cx,cy,cz,radius,radius,0,step,
start_radians,len_radians);
@@ -921,7 +921,7 @@ public Bool GrRegPoly3(CDC *dc=gr.dc,
I64 step=1,
F64 start_radians=0,
F64 len_radians=2*ã)
{//3D. Clipping and transform and pen width.
{//3D. Clipping and transform and thick.
Bool res;
I64 x,y,z,xx,yy,zz;
F64 m1,arg1,m2,arg2,s,c;
@@ -1215,7 +1215,7 @@ Option(OPTf_WARN_HEADER_MISMATCH,ON);
#help_index "Graphics"
public Bool Gr2Bezier3(CDC *dc=gr.dc,CD3I32 *ctrl)
{//2nd order. Clipping and transform and pen width.
{//2nd order. Clipping and transform and thick.
Bool res=FALSE;
I64 i,x,y,z,
old_flags=dc->flags;
@@ -1260,7 +1260,7 @@ gr_done:
}
public Bool Gr3Bezier3(CDC *dc=gr.dc,CD3I32 *ctrl)
{//3rd order. Clipping and transform and pen width.
{//3rd order. Clipping and transform and thick.
Bool res=FALSE;
I64 i,x,y,z,
old_flags=dc->flags;
@@ -1305,7 +1305,7 @@ gr_done:
}
public I64 Gr2BSpline3(CDC *dc=gr.dc,CD3I32 *ctrl,I64 cnt,Bool closed=FALSE)
{//2nd order. Clipping and transform and pen width.
{//2nd order. Clipping and transform and thick.
Bool res=FALSE;
I64 i,x,y,z,
old_flags=dc->flags;
@@ -1350,7 +1350,7 @@ gr_done:
}
public Bool Gr3BSpline3(CDC *dc=gr.dc,CD3I32 *ctrl,I64 cnt,Bool closed=FALSE)
{//3rd order. Clipping and transform and pen width.
{//3rd order. Clipping and transform and thick.
Bool res=FALSE;
I64 i,x,y,z,
old_flags=dc->flags;
+5 -5
View File
@@ -20,7 +20,7 @@ public U0 Sprite3(CDC *dc=gr.dc,I64 x,I64 y,I64 z,U8 *elems,
{//Plot a sprite into a CDC.
CSprite *tmpg=elems-offset(CSprite.start);
I64 i,j,k,x1,y1,z1,x2,y2,
*old_r,*r2,old_flags=dc->flags,old_pen_width=dc->pen_width;
*old_r,*r2,old_flags=dc->flags,old_pen_width=dc->thick;
I32 *ptr;
CColorROPU32 old_color=dc->color;
CDC *img;
@@ -39,9 +39,9 @@ public U0 Sprite3(CDC *dc=gr.dc,I64 x,I64 y,I64 z,U8 *elems,
tmpg->d.dither_color.u8[0]|
tmpg->d.dither_color.u8[1]<<COLORROP_BITS|ROPF_DITHER;
break;
case SPT_WIDTH:
dc->pen_width=tmpg->w.width;
DCPenWidthScale(dc);
case SPT_THICK:
dc->thick=tmpg->t.thick;
DCThickScale(dc);
break;
case SPT_TRANSFORM_ON:
if (!(dc->flags&DCF_TRANSFORMATION)) {
@@ -237,7 +237,7 @@ public U0 Sprite3(CDC *dc=gr.dc,I64 x,I64 y,I64 z,U8 *elems,
}
MemCpy(&dc->sym,&old_sym,sizeof(CGrSym));
dc->color=old_color;
dc->pen_width=old_pen_width;
dc->thick=old_pen_width;
dc->flags=dc->flags&~(DCF_SYMMETRY|DCF_TRANSFORMATION) |
old_flags&(DCF_SYMMETRY|DCF_TRANSFORMATION);
}
+13 -13
View File
@@ -219,7 +219,7 @@ I64 SpriteBitMapEd(CDoc *,CDocEntry *doc_e,CDC *dc,I64 *_xx1,I64 *_yy1,
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
dc->color=ROPF_DITHER+WHITE<<16+BLACK;
dc->pen_width=1;
dc->thick=1;
GrBorder(dc,xx1-1,yy1-1,xx2,yy2);//This is done little bit too often.
while (msg_code=ScanMsg(&arg1,&arg2,1<<MSG_MS_L_DOWN|1<<MSG_MS_L_UP|
@@ -308,7 +308,7 @@ bm_menu:
if (i>=0) color=i;
goto bm_menu;
case SPBM_WIDTH:
i=PopUpRangeI64(1,16,1,"Pen Width\n");
i=PopUpRangeI64(1,16,1,"Thick\n");
if (i>=0) width=i;
goto bm_menu;
case SPBM_UNDO:
@@ -357,7 +357,7 @@ bm_menu:
switch (mode) {
case SPBM_PT:
img->color=color;
img->pen_width=width;
img->thick=width;
GrPlot3(img,arg1-xx1,arg2-yy1,0);
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
break;
@@ -367,7 +367,7 @@ bm_menu:
x1=arg1; y1=arg2;
down=TRUE;
dc->color=color;
dc->pen_width=width;
dc->thick=width;
case SPBM_LINE:
GrLine3(dc,x1,y1,0,arg1,arg2,0);
break;
@@ -383,7 +383,7 @@ bm_menu:
case SPBM_COPY:
case SPBM_DELETE:
dc->color=ROPF_DITHER+WHITE<<16+BLACK;
dc->pen_width=1;
dc->thick=1;
GrBorder(dc,x1,y1,x1,y1);
break;
end:
@@ -434,7 +434,7 @@ bm_menu:
x1=arg1; y1=arg2;
down=TRUE;
dc->color=color;
dc->pen_width=width;
dc->thick=width;
GrLine3(dc,x1,y1,0,arg1,arg2,0);
}
break;
@@ -442,7 +442,7 @@ bm_menu:
x1=arg1; y1=arg2;
down=TRUE;
img->color=color;
img->pen_width=width;
img->thick=width;
GrLine3(img,x1-xx1,y1-yy1,0,arg1-xx1,arg2-yy1,0);
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
break;
@@ -456,7 +456,7 @@ bm_menu:
if (down) {
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
dc->color=color;
dc->pen_width=width;
dc->thick=width;
if (mode==SPBM_ARROW)
GrArrow3(dc,x1,y1,0,arg1,arg2,0);
else
@@ -503,7 +503,7 @@ bm_menu:
y22=y1;
}
dc->color=ROPF_DITHER+WHITE<<16+BLACK;
dc->pen_width=1;
dc->thick=1;
GrBorder(dc,x11,y11,x22,y22);
}
break;
@@ -511,7 +511,7 @@ bm_menu:
if (down) {
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
dc->color=color;
dc->pen_width=width;
dc->thick=width;
GrCircle3(dc,x1,y1,0,Sqrt(SqrI64(arg1-x1)+SqrI64(arg2-y1)));
}
break;
@@ -549,7 +549,7 @@ bm_menu:
case SPBM_POLYPT:
if (down) {
img->color=color;
img->pen_width=width;
img->thick=width;
GrLine3(img,x1-xx1,y1-yy1,0,arg1-xx1,arg2-yy1,0);
GrBitMapEdPrepPersistentDC(dc,xx1,yy1,img);
x1=arg1; y1=arg2;
@@ -564,7 +564,7 @@ bm_menu:
case SPBM_POLYPT:
case SPBM_POLYLINE:
img->color=color;
img->pen_width=width;
img->thick=width;
if (mode==SPBM_ARROW)
GrArrow3(img,x1-xx1,y1-yy1,0,arg1-xx1,arg2-yy1,0);
else
@@ -621,7 +621,7 @@ bm_menu:
goto bm_menu;
case SPBM_CIRCLE:
img->color=color;
img->pen_width=width;
img->thick=width;
GrCircle3(img,x1-xx1,y1-yy1,0,
Sqrt(SqrI64(arg1-x1)+SqrI64(arg2-y1)));
down=FALSE;
+5 -5
View File
@@ -51,8 +51,8 @@ U0 SpriteElem2Code(CDoc *doc,CSprite *tmpg)
case SPT_CIRCLE:
DocPrint(doc,"{(%d,%d):%d}",tmpg->pr.x1,tmpg->pr.y1,tmpg->pr.radius);
break;
case SPT_WIDTH:
DocPrint(doc,"{%d}",tmpg->w.width);
case SPT_THICK:
DocPrint(doc,"{%d}",tmpg->t.thick);
break;
case SPT_ELLIPSE:
DocPrint(doc,"{(%d,%d):(%d,%d),%0.4f}",tmpg->pwha.x1,tmpg->pwha.y1,
@@ -280,10 +280,10 @@ CSprite *Code2SpriteElem(CCmpCtrl *cc,I64 type)
else
g.type=SPT_FLOOD_FILL;
break;
case SPT_WIDTH:
case SPT_THICK:
Lex(cc); //Skip {
g.w.width=LexExpressionI64(cc);
g.type=SPT_WIDTH;
g.t.thick=LexExpressionI64(cc);
g.type=SPT_THICK;
break;
case SPT_CIRCLE:
Lex(cc); //Skip {
+9 -9
View File
@@ -1,11 +1,11 @@
#help_index "Graphics/Sprite;Sprites"
CSprite *SpriteSetSettings(CDC *dc=NULL,CSprite *head,I64 elem_num,
I64 x=0,I64 y=0,CColorROPU32 *_color=NULL,I64 *_width=NULL,
I64 x=0,I64 y=0,CColorROPU32 *_color=NULL,I64 *_thick=NULL,
I64 *_xx=NULL,I64 *_yy=NULL)
{
CSprite *res=head->next;
I64 width=1,xx=0,yy=0;
I64 thick=1,xx=0,yy=0;
CColorROPU32 color=BLACK;
if (dc) DCRst(dc);
while (elem_num-->0 && res!=head) {
@@ -19,9 +19,9 @@ CSprite *SpriteSetSettings(CDC *dc=NULL,CSprite *head,I64 elem_num,
res->d.dither_color.u8[1]<<COLORROP_BITS|ROPF_DITHER;
if (dc) dc->color=color;
break;
case SPT_WIDTH:
width=res->w.width;
if (dc) dc->pen_width=width;
case SPT_THICK:
thick=res->t.thick;
if (dc) dc->thick=thick;
break;
case SPT_SHIFT:
xx+=res->p.x1;
@@ -43,7 +43,7 @@ CSprite *SpriteSetSettings(CDC *dc=NULL,CSprite *head,I64 elem_num,
res=res->next;
}
if (_color) *_color=color;
if (_width) *_width=width;
if (_thick) *_thick=thick;
if (_xx) *_xx=xx;
if (_yy) *_yy=yy;
return res;
@@ -380,9 +380,9 @@ U0 SpriteTransformQue(CSprite *head,I64 *r)
while (tmpg!=head) {
if (Bt(&tmpg->type,SPf_SEL))
switch (tmpg->type&SPG_TYPE_MASK) {
case SPT_WIDTH:
tmpg->w.width*=Sqrt(Mat4x4NormSqr65536(r))/65536;
if (tmpg->w.width<0) tmpg->w.width=0;
case SPT_THICK:
tmpg->t.thick*=Sqrt(Mat4x4NormSqr65536(r))/65536;
if (tmpg->t.thick<0) tmpg->t.thick=0;
break;
case SPT_PLANAR_SYMMETRY:
case SPT_ARROW:
+23 -23
View File
@@ -23,7 +23,7 @@ I64 PopUpSpriteMain(CSprite **_head,I64 *_cur_elem_num,
DocPrint(doc,"$$MU-UL,\"Color (4-bit)\",LE=SPT_COLOR$$\n"
"$$MU-UL,\"Dither Color (4-bit)\",LE=SPT_DITHER_COLOR$$\n"
"$$MU-UL,\"Width\",LE=SPT_WIDTH$$\n"
"$$MU-UL,\"Thick\",LE=SPT_THICK$$\n"
"$$MU-UL,\"Planar Symmetry\",LE=SPT_PLANAR_SYMMETRY$$\n"
"\n$$MU-UL,\"Point\",LE=SPT_PT$$\n"
"$$MU-UL,\"Line\",LE=SPT_LINE$$\n"
@@ -104,13 +104,13 @@ Bool PopUpExtents(I64 *_x1,I64 *_x2,I64 *_y1,I64 *_y2)
U0 SpriteScrnInit(CDC *dc,I64,I64)
{
//Uses $LK,"fixed-point",A="FI:::/Demo/Lectures/FixedPoint.HC"$.
I64 xx,yy,old_pen_width=dc->pen_width;
I64 xx,yy,old_pen_width=dc->thick;
CColorROPU32 old_color=dc->color;
Refresh;
DCFill(dc);
if (dc->flags&DCF_SYMMETRY) {
dc->flags&=~DCF_SYMMETRY;
dc->pen_width=1;
dc->thick=1;
xx=dc->sym.sny*8192;
yy=-dc->sym.snx*8192;
dc->color=RED;
@@ -125,7 +125,7 @@ U0 SpriteScrnInit(CDC *dc,I64,I64)
dc->flags|=DCF_SYMMETRY;
}
dc->color=old_color;
dc->pen_width=old_pen_width;
dc->thick=old_pen_width;
}
CSprite *SMLine(CDC *dc,I64 x,I64 y,I64 arg1,I64 arg2,CColorROPU32 color)
@@ -176,10 +176,10 @@ CSprite *SMPlanarSymmetry(CDC *dc,I64 x,I64 y,I64 arg1,I64 arg2)
{
I64 msg_code,x1=arg1,y1=arg2,x2=arg1,y2=arg2,old_width,old_flags;
CSprite *res;
old_width=dc->pen_width;
old_width=dc->thick;
old_flags=dc->flags;
dc->flags&=~DCF_SYMMETRY;
dc->pen_width=1;
dc->thick=1;
do {
dc->color=ROPF_DITHER+WHITE<<16+BLACK;
GrLine3(dc,x1,y1,0,x2,y2,0);
@@ -188,7 +188,7 @@ CSprite *SMPlanarSymmetry(CDC *dc,I64 x,I64 y,I64 arg1,I64 arg2)
x2=arg1; y2=arg2;
} while (msg_code!=MSG_MS_L_UP);
dc->flags=old_flags&DCF_SYMMETRY|dc->flags&~DCF_SYMMETRY;
dc->pen_width=old_width;
dc->thick=old_width;
res=CAlloc(SpriteElemQuedBaseSize(SPT_PLANAR_SYMMETRY));
res->type=SPT_PLANAR_SYMMETRY;
res->pp.x1=x1-x;
@@ -238,8 +238,8 @@ CSprite *SMScrnBitMap(I64 eletype,CDC *dc,CDC *dc2,I64 x,I64 y,
xx1=arg1,yy1=arg2,xx2=arg1,yy2=arg2,old_width;
CDC *dc3,*img;
CSprite *res;
old_width=dc2->pen_width;
dc2->pen_width=1;
old_width=dc2->thick;
dc2->thick=1;
do {
dc2->color=ROPF_DITHER+WHITE<<16+BLACK;
GrBorder(dc2,xx1+Fs->pix_left+Fs->scroll_x,yy1+Fs->pix_top+Fs->scroll_y,
@@ -279,7 +279,7 @@ CSprite *SMScrnBitMap(I64 eletype,CDC *dc,CDC *dc2,I64 x,I64 y,
MemCpy(&res->pwhu.u,img->body,((xx2-xx1+7)&~7)*(yy2-yy1));
DCDel(img);
DCDel(dc3);
dc2->pen_width=old_width;
dc2->thick=old_width;
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS
-WIF_SELF_BORDER-WIF_SELF_GRAB_SCROLL;
return res;
@@ -596,8 +596,8 @@ I64 SMBitMap(I64 eletype,CDoc *doc,CDocEntry *doc_ce,CSprite *head,
if (sel) {
xx1=arg1; yy1=arg2;
xx2=arg1; yy2=arg2;
old_width=dc->pen_width;
dc->pen_width=1;
old_width=dc->thick;
dc->thick=1;
do {
dc->color=ROPF_DITHER+WHITE<<16+BLACK;
GrBorder(dc,xx1,yy1,xx2,yy2);
@@ -615,7 +615,7 @@ I64 SMBitMap(I64 eletype,CDoc *doc,CDocEntry *doc_ce,CSprite *head,
yy1=y1; yy2=y2;
}
} while (msg_code!=MSG_MS_L_UP);
dc->pen_width=old_width;
dc->thick=old_width;
}
xx2++; yy2++;
@@ -812,7 +812,7 @@ U0 SMTaskTitleSet(I64 eletype)
I64 SpriteMainEd(CDoc *doc)
{
CDocEntry *doc_ce=doc->cur_entry;
I64 res,i,x,y,arg1,arg2,xx,yy,xx1,yy1,xx2,yy2,width,eletype=SPT_MENU,
I64 res,i,x,y,arg1,arg2,xx,yy,xx1,yy1,xx2,yy2,thick,eletype=SPT_MENU,
cur_elem_num,old_border_src=Fs->border_src,old_title_src=Fs->title_src,
old_de_flags=doc_ce->de_flags;
CColorROPU32 bm_bkcolor,color;
@@ -831,7 +831,7 @@ I64 SpriteMainEd(CDoc *doc)
while (TRUE) {
insert_pt=SpriteSetSettings(dc,head,cur_elem_num,xx,yy,
&color,&width,&x,&y);
&color,&thick,&x,&y);
x+=xx; y+=yy;
DCFill;
if (eletype==SPT_MENU) {
@@ -847,7 +847,7 @@ I64 SpriteMainEd(CDoc *doc)
eletype=PopUpSpriteMain(&head,&cur_elem_num,doc,doc_ce);
xx+=StrLen(doc_ce->tag)*FONT_WIDTH;
insert_pt=SpriteSetSettings(dc,head,cur_elem_num,x,y,
&color,&width,&x,&y);
&color,&thick,&x,&y);
x+=xx; y+=yy;
SpriteEdUpdate(doc,doc_ce,head);
@@ -982,14 +982,14 @@ I64 SpriteMainEd(CDoc *doc)
Fs->win_inhibit=WIG_TASK_DFT|WIF_FOCUS_TASK_MS_L|WIF_FOCUS_TASK_MS_R|
WIF_FOCUS_TASK_BORDER-WIF_SELF_FOCUS-WIF_SELF_GRAB_SCROLL;
break;
case SPT_WIDTH:
case SPT_THICK:
doc_ce->de_flags|=DOCEF_DONT_DRAW;
i=PopUpRangeI64(1,16,1,"Pen Width\n");
i=PopUpRangeI64(1,16,1,"Thick\n");
if (i>=1) {
width=i;
tmpg=CAlloc(SpriteElemQuedBaseSize(SPT_WIDTH));
tmpg->type=SPT_WIDTH;
tmpg->w.width=width;
thick=i;
tmpg=CAlloc(SpriteElemQuedBaseSize(SPT_THICK));
tmpg->type=SPT_THICK;
tmpg->t.thick=thick;
QueIns(tmpg,insert_pt->last);
SpriteEdUpdate(doc,doc_ce,head);
cur_elem_num++;
@@ -1027,7 +1027,7 @@ I64 SpriteMainEd(CDoc *doc)
if (eletype!=SPT_MENU) {
insert_pt=SpriteSetSettings(dc,head,cur_elem_num,xx,yy,
&color,&width,&x,&y);
&color,&thick,&x,&y);
x+=xx; y+=yy;
SpriteScrnInit(dc,x,y);
if (eletype==SPT_EXIT) {
+2 -2
View File
@@ -800,7 +800,7 @@ U0 DrawIt(CTask *task,CDC *dc)
else
dc->color=ROP_XOR+TRANSPARENT;
GrPrint(dc,0,0,"%6.3f%% (%d,%d,%d)",e->view_scale*100,x,y,z);
dc->pen_width=1;
dc->thick=1;
dc->color&=0xF;
if (Blink(10))
dc->color^=0xF;
@@ -808,7 +808,7 @@ U0 DrawIt(CTask *task,CDC *dc)
if (e->sel_rect) {
dc->flags&=~DCF_TRANSFORMATION;
dc->pen_width=1;
dc->thick=1;
if (Blink)
dc->color=ROPF_DITHER+RED<<16+WHITE;
else
+3 -3
View File
@@ -7,7 +7,7 @@ I64 sprite_elem_base_sizes[SPT_TYPES_NUM]={
sizeof(CSpriteBase), //SPT_END
sizeof(CSpriteColor), //SPT_COLOR
sizeof(CSpriteDitherColor), //SPT_DITHER_COLOR
sizeof(CSpriteW), //SPT_WIDTH
sizeof(CSpriteT), //SPT_THICK
sizeof(CSpritePtPt), //SPT_PLANAR_SYMMETRY
sizeof(CSpriteBase), //SPT_TRANSFORM_ON
sizeof(CSpriteBase), //SPT_TRANSFORM_OFF
@@ -153,8 +153,8 @@ public U8 *SpriteElem2Summary(CSprite *tmpg)
case SPT_CIRCLE:
CatPrint(buf," (%d,%d):%dR",tmpg->pr.x1,tmpg->pr.y1,tmpg->pr.radius);
break;
case SPT_WIDTH:
CatPrint(buf," %d",tmpg->w.width);
case SPT_THICK:
CatPrint(buf," %d",tmpg->t.thick);
break;
case SPT_TEXT:
case SPT_TEXT_BOX:
+1 -1
View File
@@ -90,7 +90,7 @@ U0 DrawWinGrid(CDC *dc)
{
F64 d;
dc->color=BLACK;
dc->pen_width=1;
dc->thick=1;
for (d=ms_grid.x_offset;d<GR_WIDTH; d+=ms_grid.x)
GrLine(dc,d,0,d,GR_HEIGHT-1);
for (d=ms_grid.y_offset;d<GR_HEIGHT;d+=ms_grid.y)
+1 -1
View File
@@ -308,7 +308,7 @@ U0 DrawIt(CTask *task,CDC *dc)
dc->ls.y*=d;
dc->ls.z*=d;
dc->pen_width=2;
dc->thick=2;
dc->color=RED;
GrBorder(dc,COURT_BORDER,COURT_BORDER,
task->pix_width -1-COURT_BORDER,
+1 -1
View File
@@ -19,7 +19,7 @@ F64 base_compression_strength,base_tensile_strength,
base_const,base_cost;
CColorROPU32 color;
I32 pen_width;
I32 thick;
};
CMathODE *ode=NULL;
+8 -8
View File
@@ -33,7 +33,7 @@ U0 DrawIt(CTask *task,CDC *dc)
while (tmps!=&ode->next_spring) {
if (!(tmps->flags&SSF_INACTIVE)) {
dc->color=tmps->color;
dc->pen_width=tmps->pen_width;
dc->thick=tmps->thick;
GrLine3(dc,tmps->end1->x,tmps->end1->y,0,
tmps->end2->x,tmps->end2->y,0);
}
@@ -42,7 +42,7 @@ U0 DrawIt(CTask *task,CDC *dc)
if (cursor_mass) {
dc->color=RED;
dc->pen_width=2;
dc->thick=2;
GrLine3(dc,ms.pos.x-task->pix_left-task->scroll_x,
ms.pos.y-task->pix_top-task->scroll_y,0,
cursor_mass->x,cursor_mass->y,0);
@@ -137,15 +137,15 @@ U0 DrawSpring(CDC *dc,MyMass *tmpm,I64 x,I64 y)
switch (mode_bttn.state) {
case MD_CONCRETE:
dc->color=LTGRAY;
dc->pen_width=2;
dc->thick=2;
break;
case MD_STEEL:
dc->color=DKGRAY;
dc->pen_width=2;
dc->thick=2;
break;
case MD_WIRE:
dc->color=RED;
dc->pen_width=1;
dc->thick=1;
break;
}
GrLine3(dc,tmpm->x,tmpm->y,0,x,y,0);
@@ -164,7 +164,7 @@ U0 PlaceSpring(MyMass *tmpm1,MyMass *tmpm2)
tmps->base_cost = 0.30*COST_SCALE;
NullSpring(tmps,1.0);
tmps->color=LTGRAY;
tmps->pen_width=2;
tmps->thick=2;
break;
case MD_STEEL:
tmps->base_const = 1.00*SPRING_SCALE;
@@ -173,7 +173,7 @@ U0 PlaceSpring(MyMass *tmpm1,MyMass *tmpm2)
tmps->base_cost = 1.00*COST_SCALE;
NullSpring(tmps,1.0);
tmps->color=DKGRAY;
tmps->pen_width=2;
tmps->thick=2;
break;
case MD_WIRE:
tmps->base_const = 0.25*SPRING_SCALE;
@@ -182,7 +182,7 @@ U0 PlaceSpring(MyMass *tmpm1,MyMass *tmpm2)
tmps->base_cost = 0.10*COST_SCALE;
NullSpring(tmps,WIRE_PERCENT);
tmps->color=RED;
tmps->pen_width=1;
tmps->thick=1;
tmps->flags|=SSF_NO_COMPRESSION;
break;
}
+1 -1
View File
@@ -339,7 +339,7 @@ U0 DrawIt(CTask *task,CDC *dc)
Sprite3(dc,ls[i].x,yy,0,ls[i].img);
}
dc->pen_width=3;
dc->thick=3;
dc->color=BROWN;
GrLine3(dc,0, (finish_line-scroll_y)&(MAP_HEIGHT-1),0,
GR_WIDTH,(finish_line-scroll_y)&(MAP_HEIGHT-1),0);
Binary file not shown.
+3 -3
View File
@@ -150,10 +150,10 @@ U0 DrawRivers()
rivers[r][c]) {
RowCol2XY(&x2,&y2,r,c);
map_dc->color=LTBLUE;
map_dc->pen_width=4;
map_dc->thick=4;
GrLine3(map_dc,x1,y1,0,x2,y2,0);
map_dc->color=BLUE;
map_dc->pen_width=2;
map_dc->thick=2;
GrLine3(map_dc,x1,y1,0,x2,y2,0);
}
}
@@ -166,7 +166,7 @@ U0 DrawRoads()
I64 i,j,k,r,c;
F64 x1,y1,x2,y2;
map_dc->color=RED;
map_dc->pen_width=3;
map_dc->thick=3;
for (j=0;j<map_rows;j++)
for (i=0;i<map_cols;i++) {
if (roads[j][i]) {
Binary file not shown.
+1 -1
View File
@@ -21,6 +21,7 @@ extern U0 StreamDir();
public extern I64 StreamExePrint(U8 *fmt,...);
public extern U0 StreamPrint(U8 *fmt,...);
public extern Bool Trace(Bool val=ON);
#help_index "Compiler/Lex"
#help_file "::/Doc/Lex"
extern U0 ClassMemberLstDel(CHashClass *c);
@@ -71,7 +72,6 @@ public extern U0 Ui(U8 *buf,U8 **_rip,I64 seg_size=64,
I64 *_jmp_dst=NULL,Bool just_ins=FALSE);
public extern I64 Un(U8 *rip,I64 cnt=0x80,I64 seg_size=64);
extern CUAsmGlbls uasm;
#help_index "Hash/System"
public extern I64 HashEntrySize(CHashSrcSym *tmph);
public extern I64 HashEntrySize2(CHashSrcSym *tmph);
+11 -3
View File
@@ -71,7 +71,7 @@ $WW,1$$FG,5$$TX+CX,"TODO"$$FG$
* Reset MPs with $LK,"Core0StartMP",A="MN:Core0StartMP"$() after boot. Free old task memory?
* Use pen_width and pen_height when clipping with pen_width>1.
* Use thick and pen_height when clipping with thick>1.
* $LK,"~/Sup1/Sup1Games/Rocks.HC"$.
@@ -256,7 +256,7 @@ $FG,5$$TX+CX,"Committee Needed"$$FG$
* $LK,"TRANSPARENT",A="MN:TRANSPARENT"$ does not work with $LK,"ROPF_DITHER",A="MN:ROPF_DITHER"$.
* $LK,"ROP_XOR",A="MN:ROP_XOR"$ with pen_width>1 is broken.
* $LK,"ROP_XOR",A="MN:ROP_XOR"$ with thick>1 is broken.
* $LK,"GrPutChar3",A="MN:GrPutChar3"$() with depth buf?
@@ -303,6 +303,8 @@ $FG,5$$TX+CX,"Committee Needed"$$FG$
$FG,5$$TX+CX,"Inspirational Ideas"$$FG$
* Redo videos, make more professional.
* Add icons.
* Use standard terminology from "the literature".
* Striped and other dither patterns. Brushes?
@@ -443,7 +445,7 @@ $FG,5$$TX+CX,"Misc Notes"$$FG$
Erik van der Karbargenbok: $LK,"TempleBot",A="PI:~/Sup1/Sup1Bin/TempleBot"$.
Intel CEO's name: Brian Krzanich
>$FG,2$lspci -v$FG$
Size:$TX,"17402KB",D="DD_TEMPLEOSCD_K_SIZE"$
Size:$TX,"17400KB",D="DD_TEMPLEOSCD_K_SIZE"$
$FG,5$$TX+CX,"My Web Bookmarks"$$FG$$WW,0$
$TX,"My FireFox Bookmarks",HTML="http://www.templeos.org/Wb/Home/Sup1/Sup1Blog/Bookmarks"$
@@ -464,6 +466,10 @@ Zinger $HC,"<center><img src=\"http://media.shopwell.com/gladson/00041300000031
Dianna Throne $HC,"<center><img src=\"http://i.imgur.com/RtcK6iX.jpg%EF%BB%BF\" width=\"640\" height=\"746\" alt=\"\"></center>"$
170310 Terry $HC,"<center><img src=\"http://www.templeos.org/images/170310TerryADavis.jpg\" width=\"640\" height=\"640\" alt=\"\"></center>"$
$TX,"Linus Torvalds (Dec 28, 1969)",HTML="https://en.wikipedia.org/wiki/Linus_Torvalds"$
$TX,"John Carmack (Aug 20, 1970)",HTML="https://en.wikipedia.org/wiki/John_Carmack"$
$TX,"Terry A. Davis (Dec 15, 1969)",HTML="https://motherboard.vice.com/en_us/article/gods-lonely-programmer"$
$TX,"SimStructure",HTML="http://www.templeos.org/files/SimStrSetUp.zip"$
$TX,"ASU_Transcripts",HTML="http://www.templeos.org/files/ASU_Transcripts.pdf"$ $TX,"ASU Course Catalog (See page 261)",HTML="https://catalog.asu.edu/files/shared/archives/1994-1996/general/UG1994-1996.pdf/1994-1996-UG-241-267.pdf"$
$TX,"Dr. David Pheanis",HTML="https://webapp4.asu.edu/directory/person/77201"$ $TX,"Dr. Konstantinos S. Tsakalis",HTML="http://ecee.engineering.asu.edu/directory/tenured-and-tenure-track-faculty/kostantinos-s-tsakalis"$ $TX,"Dr. Walter Higgins",HTML="https://webapp4.asu.edu/directory/directorysearch?cn=Walter+Higgins"$
@@ -471,6 +477,8 @@ $TX,"Peter Gadwa",HTML="http://www.wired.com/magazine/2010/11/mf_ticketmaster/al
$TX,"Tom Foley",HTML="http://web.gccaz.edu/~tfoley/perspage.html"$
$TX,"Graphic Technologies",HTML="https://web.archive.org/web/20020811060541/http://www.graphic-technologies.com/"$ $TX,"Lexmark vs Static Control",HTML="https://en.wikipedia.org/wiki/Lexmark_International,_Inc._v._Static_Control_Components,_Inc."$
$TX,"Stephen Davis",HTML="https://photos.google.com/share/AF1QipM4HI3mb_9qe8wDQ--nRfjIzOKyGG8heqWH-tbGBIIoxChWe4GeBegNzgHRy4Z1Qw?key=eGR0R0tyZG5tenRWd0tDN2RHRFRNTmI4NXdhc25B"$
3qEeEGCAsBABAqFDBeE2G33qEeEGCAsBABAqFDBeE2G33qCsBDBDq2G3s2G3F2G3FqAet2G32G3AEDAqF3qCsBDBDq2G3s2G3F2G3FqAet2G32G3AEDAqF
+5 -5
View File
@@ -2,7 +2,7 @@ $TR-UL,"Adam"$
$ID,2$$TR,"SysMsgFlags"$
$ID,2$sys_msg_flags[0]=0xFF;
$ID,-2$$TR,"SysRegVer"$
$ID,2$registry_version=5.020;
$ID,2$registry_version=5.030;
$ID,-2$$TR,"InsReg"$
$ID,2$#help_index "Registry/Install Registration"
MemSet(&ins_reg,0,sizeof(CInsReg));
@@ -50,7 +50,7 @@ $ID,-2$$TR,"Wenceslas"$
$ID,2$F64 best_score=43.9944;
$ID,-2$$TR,"OSTestSuite"$
$ID,2$progress1_tf=0.000;progress2_tf=0.000;
progress3_tf=0.000;progress4_tf=229.844;
progress3_tf=0.000;progress4_tf=227.554;
$ID,-2$$TR,"XCaliber"$
$ID,2$I64 best_score=90;
I64 msg_flags=2;
@@ -62,7 +62,7 @@ $ID,-2$$TR,"Titanium"$
$ID,2$I64 best_score=16469;
$ID,-2$$TR,"TOSRegen"$
$ID,2$progress1_tf=0.000;progress2_tf=0.000;
progress3_tf=0.000;progress4_tf=196.000;
progress3_tf=0.000;progress4_tf=196.786;
$ID,-2$$TR,"TempleTetris"$
$ID,2$I64 hiscore=1000;
$ID,-2$$ID,-2$$TR,"Once"$
@@ -70,7 +70,7 @@ $ID,2$$TR,"Adam"$
$ID,2$$ID,-2$$TR,"User"$
$ID,2$$ID,-2$$ID,-2$$TR,"DemoCompany"$
$ID,2$$TR,"Game1"$
$ID,2$F64 best_score=224.65542;
$ID,2$F64 best_score=202.07117;
$TR,"SimpleVal"$
$ID,2$1238;
$ID,2$1239;
$ID,-2$$ID,-2$$ID,-2$
+10 -10
View File
@@ -250,7 +250,7 @@ U0 MakeStaffDistro()
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOS_STAFF_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - T.S. Company Internal Distro (%0.1fMB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -277,7 +277,7 @@ U0 MakeDbgDistro()
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOS_DBG_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Debug Distro (%0.1fMB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -303,7 +303,7 @@ U0 MakeStdDistro()
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSCD_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
0.1*(10*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -312,7 +312,7 @@ U0 MakeStdRedSeaDistro()
StdDistroPrep;
RedSeaISO(TOS_ISO_C_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOSCD_RS_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
0.1*(10*Size(TOS_ISO_C_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -345,7 +345,7 @@ U0 MakeUltraDistro()
ISO9660ISO(TOS_ISO_NAME,TOS_DISTRO_DIR "/*",,
TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOS_ULTRA_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
0.01*(100*Size(TOS_ISO_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -354,7 +354,7 @@ U0 MakeUltraRedSeaDistro()
UltraDistroPrep;
RedSeaISO(TOS_ISO_C_NAME,TOS_DISTRO_DIR,TOS_DISTRO_DIR BOOT_DIR_KERNEL_BIN_C);
DefinePrint("DD_TEMPLEOS_ULTRA_RS_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
0.01*(100*Size(TOS_ISO_C_NAME,"+s")/1024/1024));
Drv('C');
}
@@ -364,28 +364,28 @@ U0 UpdateISODocDefines()
try {
#if MAKE_STD
DefinePrint("DD_TEMPLEOSCD_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard Distro (%0.1fMB)",
0.1*(10*Size("D:/Wb/TempleOSCD.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSCD_K_SIZE",
"%dKB",Size("D:/Wb/TempleOSCD.ISO","+s")/1024);
#endif
#if MAKE_STD_RS
DefinePrint("DD_TEMPLEOSCD_RS_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - Standard RedSea Distro (%0.1fMB)",
0.1*(10*Size("D:/Wb/TempleOSCDRS.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOSCD_RS_K_SIZE",
"%dKB",Size("D:/Wb/TempleOSCDRS.ISO","+s")/1024);
#endif
#if MAKE_ULTRA
DefinePrint("DD_TEMPLEOS_ULTRA_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall Distro (%0.2fMB)",
0.01*(100*Size("D:/Wb/TempleOSUltra.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOS_ULTRA_K_SIZE",
"%dKB",Size("D:/Wb/TempleOSUltra.ISO","+s")/1024);
#endif
#if MAKE_ULTRA_RS
DefinePrint("DD_TEMPLEOS_ULTRA_RS_SIZE",
"Download $TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
"Download $TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$ - UltraSmall RedSea Distro (%0.2fMB)",
0.01*(100*Size("D:/Wb/TempleOSUltraRS.ISO","+s")/1024/1024));
DefinePrint("DD_TEMPLEOS_ULTRA_RS_K_SIZE",
"%dKB",Size("D:/Wb/TempleOSUltraRS.ISO","+s")/1024);
+2 -2
View File
@@ -189,7 +189,7 @@ public CDoc *Doc2Html(CDoc *doc_in,U8 *html_header=NULL,U8 *body_header=NULL,
"<head>\n"
"<meta http-equiv=\"Content-Type\" "
"content=\"text/html;charset=US-ASCII\">\n"
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$\">\n";
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$\">\n";
if (!body_header) body_header=
"<body>\n"
"<pre style=\"font-family:courier;font-size:10pt\">\n";
@@ -430,7 +430,7 @@ U0 TOSWebFile(U8 *name,Bool line_nums=FALSE)
"<meta name=\"keywords\" "
"content=\"Operating System,64-Bit,64 Bit,"
"Temple,OS,TempleOS,Free,Open Source,Public Domain,x86_64\">\n"
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$\">\n",
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$\">\n",
"<body style=\"background-color:#55FFFF; border-style:solid;
border-width:8px; border-color:#0000AA;
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -341,7 +341,7 @@ U0 DrawIt(CTask *task,CDC *dc)
dc->y=task->pix_height-2*map_height;
dc->z=0;
dc->transform=&DCTransform;
dc->pen_width=2;
dc->thick=2;
for (i=0;i<map_height;i++)
for (j=0;j<map_width;j++) {
dc->color=map[(map_height-1-i)*map_width+j];
+4 -4
View File
@@ -102,7 +102,7 @@ U0 RiverMake()
for (y=MAP_BORDER;y<MAP_HEIGHT-MAP_BORDER;y++) {
if (!(waterfall_y-9<y<waterfall_y+WATERFALL_HEIGHT+9)) {
map_dc->color=YELLOW;
map_dc->pen_width=r_width[y]+10;
map_dc->thick=r_width[y]+10;
GrPlot3(map_dc,r_x[y]+x.i32[1],y,0);
}
x=ClampI64(x+RandI32,-6*U32_MAX,6*U32_MAX);
@@ -111,7 +111,7 @@ U0 RiverMake()
//Plot water
for (y=MAP_BORDER;y<MAP_HEIGHT-MAP_BORDER;y++) {
map_dc->color=BLUE;
map_dc->pen_width=r_width[y];
map_dc->thick=r_width[y];
GrPlot3(map_dc,r_x[y],y,0);
}
}
@@ -471,7 +471,7 @@ U0 ReInit()
//Plot fence
for (i=FENCE_WIDTH;i>0;i-=16)
Sprite3(map_dc,i,FENCE_HEIGHT,0,$IB,"<9>",BI=9$);
map_dc->pen_width=1;
map_dc->thick=1;
map_dc->color=BROWN;
for (i=0;i<FENCE_HEIGHT-16;i+=16)
GrLine(map_dc,FENCE_WIDTH-1,i,FENCE_WIDTH-1,i+7);
@@ -479,7 +479,7 @@ U0 ReInit()
GrLine(map_dc,FENCE_WIDTH,0,FENCE_WIDTH,FENCE_HEIGHT-6);
RedrawGate;
map_dc->pen_width=MAP_BORDER;
map_dc->thick=MAP_BORDER;
map_dc->color=RED;
GrBorder(map_dc,MAP_BORDER/2,MAP_BORDER/2,
MAP_WIDTH-(MAP_BORDER+1)/2,MAP_HEIGHT-(MAP_BORDER+1)/2);
+3 -3
View File
@@ -462,14 +462,14 @@ U0 ClawDraw(CDC *dc,I64 x1,I64 y1,I64 x2,I64 y2,I64 w,I64 segments,Bool talon)
{
I64 i,j;
for (i=0,j=segments;i<segments;i++,j--) {
dc->pen_width=w;
dc->thick=w;
dc->color=BLACK;
GrLine3(dc,
j*x1/segments+i*x2/segments,
j*y1/segments+i*y2/segments,0,
(j-1)*x1/segments+(i+1)*x2/segments,
(j-1)*y1/segments+(i+1)*y2/segments,0);
dc->pen_width=w-2;
dc->thick=w-2;
dc->color=YELLOW;
GrLine3(dc,
j*x1/segments+i*x2/segments,
@@ -907,7 +907,7 @@ U0 Core0Talons()
}
}
dc->pen_width=2;
dc->thick=2;
if (game_tf && fish_left)
dc->color=WHITE;
else
+3 -3
View File
@@ -4,14 +4,14 @@ I64 board_y[9]={150,150,150,250,250,250,350,350,350};
U0 DrawX(CDC *dc,I64 x,I64 y)
{
dc->pen_width=5;
dc->thick=5;
GrLine3(dc,x-20,y-20,0,x+20,y+20,0);
GrLine3(dc,x+20,y-20,0,x-20,y+20,0);
}
U0 DrawO(CDC *dc,I64 x,I64 y)
{
dc->pen_width=5;
dc->thick=5;
GrCircle3(dc,x,y,0,25);
}
@@ -20,7 +20,7 @@ U0 DrawBoard(I64 player)
I64 i;
CDC *dc=DCAlias;
DCFill;
dc->pen_width=5;
dc->thick=5;
GrLine3(dc,200,100,0,200,400,0);
GrLine3(dc,300,100,0,300,400,0);
GrLine3(dc,100,200,0,400,200,0);
+1 -1
View File
@@ -79,7 +79,7 @@ U0 DrawIt(CTask *task,CDC *dc)
GrLine(dc,u[i].x,u[i].y,u[u[i].link].x,u[u[i].link].y);
if (Blink) {
dc->color=BLUE;
dc->pen_width=6;
dc->thick=6;
GrPlot3(dc,(u[i].x+u[u[i].link].x)>>1,(u[i].y+u[u[i].link].y)>>1,0);
}
}
+3 -3
View File
@@ -313,7 +313,7 @@ U0 InitTrack()
GrRect(track_map,0,0,track_map->width,track_map->height);
tmpt=track_head.next;
track_map->color=YELLOW;
track_map->pen_width=3;
track_map->thick=3;
while (tmpt!=&track_head) {
GrPlot3(track_map,track_map->width-(tmpt->x-t_minx)>>MAP_BITS,
(tmpt->z-t_minz)>>MAP_BITS,0);
@@ -473,7 +473,7 @@ U0 DrawIt(CTask *task,CDC *dc)
//Map
GrBlot(dc,w-track_map->width,h-track_map->height,track_map);
dc->pen_width=2;
dc->thick=2;
for (i=0;i<CARS_NUM;i++) {
if (i)
dc->color=LTPURPLE;
@@ -571,7 +571,7 @@ U0 InitBushes()
Bush *tmpb;
I64 i,j,x,z;
track_map->color=LTGREEN;
track_map->pen_width=1;
track_map->thick=1;
for (i=0;i<BUSHES_NUM;i++) {
tmpb=&b[i];
+5 -5
View File
@@ -126,7 +126,7 @@ U0 DrawIt(CTask *task,CDC *dc)
Peasant *tmpp;
F64 tt;
dc->pen_width=1;
dc->thick=1;
for (i=0;i<TREES_NUM;i++) {
if (trees[i].y<=h/2) {//Draw trees behind house
if (trees[i].fire_frame_idx) {
@@ -163,14 +163,14 @@ U0 DrawIt(CTask *task,CDC *dc)
dc->color=DKGRAY;
else
dc->color=LTGRAY;
dc->pen_width=4;
dc->thick=4;
GrPlot3(dc,tmpst->x,tmpst->y,0);
tmpst=tmpst->next;
}
DCDepthBufAlloc(dc);
dc->flags|=DCF_TRANSFORMATION;
dc->pen_width=1;
dc->thick=1;
tmpp=peasant_head.next;
while (tmpp!=&peasant_head) {
Mat4x4IdentEqu(r);
@@ -188,7 +188,7 @@ U0 DrawIt(CTask *task,CDC *dc)
tmpp=tmpp->next;
}
dc->pen_width=1;
dc->thick=1;
Mat4x4IdentEqu(r);
Mat4x4RotY(r,king_é+ã/2);
Mat4x4RotX(r,ã/6);
@@ -202,7 +202,7 @@ U0 DrawIt(CTask *task,CDC *dc)
Free(tmps);
}
dc->pen_width=1;
dc->thick=1;
dc->color=ROP_MONO|WHITE;
for (y=snow_y%SNOW_TILE_SIZE-SNOW_TILE_SIZE;y<=h;y+=SNOW_TILE_SIZE)
for (x=snow_x%SNOW_TILE_SIZE-SNOW_TILE_SIZE;x<=w;x+=SNOW_TILE_SIZE)
Binary file not shown.
+2 -2
View File
@@ -3,7 +3,7 @@ CDC *img1=DCNew(64,64);
CDC *img2=DCNew(512,512);
img1->color=COLOR_MONO;
img1->pen_width=3;
img1->thick=3;
GrCircle(img1,30,30,20);
GrFloodFill3(img1,30,30,0,TRUE);
GrLine3(img1,60,0,0,0,60,0);
@@ -13,7 +13,7 @@ img2->color=RED;
img2->brush=img1;
GrCircle(img2,256-30,256-30,128,67);
img2->color=BLUE;
img2->pen_width=6;
img2->thick=6;
img2->brush=NULL;
GrLine3(img2,128,128,0,256+128,256+128,0);
GrLine3(img2,256+128,128,0,128,256+128,0);
+1 -1
View File
@@ -3,7 +3,7 @@ I64 glbl_r[4][4];
U0 DrawIt(CTask *,CDC *dc)
{
I64 *old_r=dc->r;
dc->pen_width=2;
dc->thick=2;
dc->color=RED;
dc->x=200;
dc->y=200;
+1 -1
View File
@@ -25,7 +25,7 @@ U0 Doodle()
x1=arg1; y1=arg2;
x2=arg1; y2=arg2;
dc->color=ROP_XOR+color^TRANSPARENT;
dc->pen_width=7;
dc->thick=7;
do {
GrLine3(dc,x1,y1,0,x2,y2,0);
msg_code=GetMsg(&arg1,&arg2,1<<MSG_MS_L_UP+1<<MSG_MS_MOVE);
Binary file not shown.
+1 -1
View File
@@ -2,7 +2,7 @@
U0 DrawMyMs(CDC *dc,I64 x,I64 y)
{
dc->pen_width=1;
dc->thick=1;
dc->flags&=~(DCF_TRANSFORMATION|DCF_SYMMETRY);
GrRect(dc,x,y,GRID,GRID);
}
+1 -1
View File
@@ -75,7 +75,7 @@ public U0 Life()
while (msg_code!=MSG_MS_L_UP) {
restart=TRUE;
dc[cur_dc]->color=GREEN;
dc[cur_dc]->pen_width=0.04*ms.speed;
dc[cur_dc]->thick=0.04*ms.speed;
GrLine3(dc[cur_dc],x1,y1,0,x2,y2,0);
restart=TRUE;
msg_code=GetMsg(&arg1,&arg2,1<<MSG_MS_L_UP+1<<MSG_MS_MOVE);
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -39,7 +39,7 @@ U0 Lighting(CDC *dc,CD3I32 *ls,CD3I32 *poly,I64 color)
//TempleOS will generate a random U16
//and compare to dither_probability_u16 and
//will pick from two colors.
//Probability dithering does not work with pen_width>1 at this time.
//Probability dithering does not work with thick>1 at this time.
if (i<0) {
dc->color=ROPF_PROBABILITY_DITHER+BLACK<<16+color;
dc->dither_probability_u16=-i;
+1 -1
View File
@@ -28,7 +28,7 @@ public U0 SpeedLineDemo()
x2=arg1; y2=arg2;
cnt=0;
while (msg_code!=MSG_MS_L_UP) {
dc->pen_width=0.04*ms.speed;
dc->thick=0.04*ms.speed;
GrLine3(dc,x1,y1,0,x2,y2,0);
msg_code=GetMsg(&arg1,&arg2,
1<<MSG_MS_L_UP+1<<MSG_MS_MOVE);
Binary file not shown.
+1 -1
View File
@@ -69,7 +69,7 @@ U0 MPAdd()
for (i=0;i<TESTS_NUM-1;i++) {
dc->color=RED;
dc->pen_width=2;
dc->thick=2;
GrLine3(dc,i*h/(TESTS_NUM-1), v-ress[i ]/PERCENT_MAX*v,0,
(i+1)*h/(TESTS_NUM-1),v-ress[i+1]/PERCENT_MAX*v,0);
dc->color=GREEN;
@@ -16,7 +16,7 @@ $TX,"Source Code By Sym",HTML="http://www.templeos.org/Wb/Home/Web/SymsAlpha.htm
$LK,"TempleOS Credits",A="FI:::/Doc/Credits.DD"$ $LK,"History of TempleOS",A="FI:~/Web/History.DD"$
$LK,"Why 640x480?",A="FI:~/Web/640x480.DD"$
$LK,"Why 640x480?",A="FI:~/Web/640x480.DD"$ $LK,"Dianna Cowern",A="FI:~/Web/DLC/DLC.DD"$
$FG$
$LK,"Change Log",A="FI:::/Doc/ChgLog.DD"$ $LK,"Terry Davis",A="FI:~/Web/TAD/TAD.DD"$
@@ -183,7 +183,7 @@ $HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://w
$HC,"<object width=\"640\" height=\"520\"><param name=\"movie\" value=\"http://www.youtube.com/v/W_b4zMxfLvA\"></param><param name=\"allowscriptaccess\" value=\"always\"></param><embed src=\"http://www.youtube.com/v/W_b4zMxfLvA\" type=\"application/x-shockwave-flash\" allowscriptaccess=\"always\" width=\"640\" height=\"520\"></embed></object>"$
I wrote all $LK,"120,793",A="FF:~/Web/LineRep.DD,Kernel.PRJ",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the last $TX,"13.6",D="DD_TEMPLEOS_AGE"$ years, full-time, including the 64-bit compiler. It was called, at various times, "$FG,4$$TX,"Hoppy",HTML="http://web.archive.org/web/*/http://www.simstructure.hare.com/*"$$FG$", "$FG,4$$TX,"The J Operating System",HTML="http://wayback.archive.org/web/*/http://www.justrighteous.org/*"$$FG$", "$FG,4$$TX,"LoseThos",HTML="http://web.archive.org/web/*/http://www.losethos.com/*"$$FG$" and "$FG,4$$TX,"SparrowOS",HTML="http://web.archive.org/web/*/http://www.sparrowos.com/*"$$FG$". Here are my $FG,4$$TX,"college transcripts",HTML="http://www.templeos.org/files/ASU_Transcripts.pdf"$$FG$. I've been a professional operating system developer since 1990 when I was hired to work on Ticketmaster's VAX OS.
I wrote all $LK,"120,834",A="FF:~/Web/LineRep.DD,Kernel.PRJ",D="DD_TEMPLEOS_LOC"$ lines of TempleOS over the last $TX,"13.6",D="DD_TEMPLEOS_AGE"$ years, full-time, including the 64-bit compiler. It was called, at various times, "$FG,4$$TX,"Hoppy",HTML="http://web.archive.org/web/*/http://www.simstructure.hare.com/*"$$FG$", "$FG,4$$TX,"The J Operating System",HTML="http://wayback.archive.org/web/*/http://www.justrighteous.org/*"$$FG$", "$FG,4$$TX,"LoseThos",HTML="http://web.archive.org/web/*/http://www.losethos.com/*"$$FG$" and "$FG,4$$TX,"SparrowOS",HTML="http://web.archive.org/web/*/http://www.sparrowos.com/*"$$FG$". Here are my $FG,4$$TX,"college transcripts",HTML="http://www.templeos.org/files/ASU_Transcripts.pdf"$$FG$. I've been a professional operating system developer since 1990 when I was hired to work on Ticketmaster's VAX OS.
$FG,8$
* "Commodore 64" is a trademark owned by Polabe Holding NV.
+1 -1
View File
@@ -184,7 +184,7 @@ public CDoc *Doc2Html(CDoc *doc_in,U8 *html_header=NULL,U8 *body_header=NULL,
"<head>\n"
"<meta http-equiv=\"Content-Type\" "
"content=\"text/html;charset=US-ASCII\">\n"
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$\">\n";
"<meta name=\"generator\" content=\"$TX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$\">\n";
if (!body_header) body_header=
"<body>\n"
"<pre style=\"font-family:courier;font-size:10pt\">\n";
+5 -1
View File
@@ -2,7 +2,11 @@ $WW,1$$FG,5$$TX+CX,"Change Log"$$FG$
Use $LK,"R",A="MN:R"$() to rename if I change a label.
$IV,1$----03/13/17 19:04:38----$IV,0$
$IV,1$----03/14/17 19:57:06----$IV,0$
$IV,1$----03/14/17 00:14:39----$IV,0$
* $BK,1$TempleOS version 5.03 Released$BK,0$
* $LK,"R",A="MN:R"$("pen_width","thick");
$IV,1$----02/05/17 16:37:39----$IV,0$
* Added $LK,"::/Doc/BlkChain.DD"$.
Binary file not shown.
+1 -1
View File
@@ -1,4 +1,4 @@
$WW+H,1$$FG,5$$TX+CX,"TempleOS V5.02",D="DD_OS_NAME_VERSION"$$FG$
$WW+H,1$$FG,5$$TX+CX,"TempleOS V5.03",D="DD_OS_NAME_VERSION"$$FG$
$TX+CX,"Public Domain Operating System"$
+1 -1
View File
@@ -13,7 +13,7 @@ U8 *rev_bits_table, //Table with U8 bits revd
*set_bits_table; //Table with count of set bits in a U8
CDate local_time_offset;
F64 *pow10_I64,
sys_os_version=5.020;
sys_os_version=5.030;
CAutoCompleteDictGlbls acd;
CAutoCompleteGlbls ac;
+2 -2
View File
@@ -3665,11 +3665,11 @@ public class CDC
//Set with $LK,"DCMat4x4Set",A="MN:DCMat4x4Set"$(). $LK,"Free",A="MN:Free"$() before setting.
I64 *r, //rotation matrix of quads decimal in lo
r_norm; //shifted 32 bits. Used for scaling pen width
r_norm; //shifted 32 bits. Used for scaling thick
//public (Change directly)
I32 x,y,z,
pen_width;
thick;
//Can be changed from the default $LK,"DCTransform",A="MN:DCTransform"$()
U0 (*transform)(CDC *dc,I64 *x,I64 *y,I64 *z);
+1 -1
View File
@@ -534,7 +534,6 @@ public extern I64 ScanChar();
public extern Bool ScanKey(I64 *_ch=NULL,I64 *_scan_code=NULL,Bool echo=FALSE);
public extern Bool YorN();
public extern CKbdStateGlbls kbd;
#help_index "Math"
public extern I64 CeilI64(I64 num,I64 to);
public extern U64 CeilU64(U64 num,U64 to);
@@ -674,6 +673,7 @@ public extern F64 Ona2Freq(I64 ona);
public extern U0 Snd(I8 ona=ONA_REST);
public extern U0 SndRst();
public extern CSndGlbls snd;
#help_index "StdIn"
#help_file "::/Doc/Streams"