TempleOSCD_150720.ISO

This commit is contained in:
Terry A. Davis authored and minexew committed 2018-09-08 21:46:22 +02:00
1 parent 401601816c
commit f8c05f98f4
554 files changed
+26046 -24853

No files matched your search

+5 -4
View File
@@ -59,8 +59,9 @@ U8 *Ball2CSprite()
{
//See $LK,"::/Adam/Gr/GrSpritePlot.CPP",A="FL:::/Adam/Gr/GrSpritePlot.CPP,1"$ for how CSprite are stored.
U8 *result=MAlloc(sizeof(CSpriteMeshU8s)+
b->vertex_cnt*sizeof(CD3I32)+b->tri_cnt*sizeof(CMeshTri)+sprite_elem_base_sizes[SPT_END]),
*dst=result;
b->vertex_cnt*sizeof(CD3I32)+b->tri_cnt*sizeof(CMeshTri)
+sprite_elem_base_sizes[SPT_END]),
*dst=result;
*dst++ =SPT_MESH;
*dst(I32 *)++ =b->vertex_cnt;
*dst(I32 *)++ =b->tri_cnt;
@@ -82,7 +83,7 @@ public U8 *BallGen()
BDInit(&bd1);
while (TRUE) {
if (!DocFormDo(&bd1))
if (!DocForm(&bd1))
return NULL;
MemCpy(&bd2,&bd1,sizeof(BallDefineStruct));
BDCorrect(&bd2);
@@ -110,7 +111,7 @@ public U8 *BallGen()
AddTri(&bd2,c,p3,p2,p4);
}
}
result=Ball2CSprite;
"%h7c",'\n';
Sprite(result,"\t\t$$SP,\"<1>\",BI=%d$$");
+107 -76
View File
@@ -13,39 +13,67 @@ class Man
class ManDefineStruct
{
F64 head_rad fmtstr "$$DA-TRM,32,RT=F64,A=\"Head Radius :%8.3f\"$$\n";
F64 head_rad fmtstr
"$$DA-TRM,32,RT=F64,A=\"Head Radius :%8.3f\"$$\n";
F64 torso_len fmtstr "$$DA-TRM,32,RT=F64,A=\"Torso Length :%8.3f\"$$\n";
F64 arm_len fmtstr "$$DA-TRM,32,RT=F64,A=\"Arm Length :%8.3f\"$$\n";
F64 hand_len fmtstr "$$DA-TRM,32,RT=F64,A=\"Hand Length :%8.3f\"$$\n";
F64 leg_len fmtstr "$$DA-TRM,32,RT=F64,A=\"Leg Length :%8.3f\"$$\n";
F64 foot_len fmtstr "$$DA-TRM,32,RT=F64,A=\"Foot Length :%8.3f\"$$\n";
F64 torso_width fmtstr "$$DA-TRM,32,RT=F64,A=\"Torso Width :%8.3f\"$$\n";
F64 torso_depth fmtstr "$$DA-TRM,32,RT=F64,A=\"Torso Depth :%8.3f\"$$\n";
F64 arm_rad fmtstr "$$DA-TRM,32,RT=F64,A=\"Arm Radius :%8.3f\"$$\n";
F64 hand_rad fmtstr "$$DA-TRM,32,RT=F64,A=\"Hand Radius :%8.3f\"$$\n";
F64 leg_rad fmtstr "$$DA-TRM,32,RT=F64,A=\"Leg Radius :%8.3f\"$$\n";
F64 foot_rad fmtstr "$$DA-TRM,32,RT=F64,A=\"Foot Radius :%8.3f\"$$\n\n";
F64 torso_len fmtstr
"$$DA-TRM,32,RT=F64,A=\"Torso Length :%8.3f\"$$\n";
F64 arm_len fmtstr
"$$DA-TRM,32,RT=F64,A=\"Arm Length :%8.3f\"$$\n";
F64 hand_len fmtstr
"$$DA-TRM,32,RT=F64,A=\"Hand Length :%8.3f\"$$\n";
F64 leg_len fmtstr
"$$DA-TRM,32,RT=F64,A=\"Leg Length :%8.3f\"$$\n";
F64 foot_len fmtstr
"$$DA-TRM,32,RT=F64,A=\"Foot Length :%8.3f\"$$\n";
F64 torso_width fmtstr
"$$DA-TRM,32,RT=F64,A=\"Torso Width :%8.3f\"$$\n";
F64 torso_depth fmtstr
"$$DA-TRM,32,RT=F64,A=\"Torso Depth :%8.3f\"$$\n";
F64 arm_rad fmtstr
"$$DA-TRM,32,RT=F64,A=\"Arm Radius :%8.3f\"$$\n";
F64 hand_rad fmtstr
"$$DA-TRM,32,RT=F64,A=\"Hand Radius :%8.3f\"$$\n";
F64 leg_rad fmtstr
"$$DA-TRM,32,RT=F64,A=\"Leg Radius :%8.3f\"$$\n";
F64 foot_rad fmtstr
"$$DA-TRM,32,RT=F64,A=\"Foot Radius :%8.3f\"$$\n\n";
F64 r_shoulder_a1 fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Shoulder Front/Back Angle:%8.3f\"$$\n";
F64 l_shoulder_a1 fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Shoulder Front/Back Angle:%8.3f\"$$\n";
F64 r_hip_a1 fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Hip Front/Back Angle :%8.3f\"$$\n";
F64 l_hip_a1 fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Hip Front/Back Angle :%8.3f\"$$\n";
F64 r_shoulder_a1 fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Shoulder Front/Back Angle:%8.3f\"$$\n";
F64 l_shoulder_a1 fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Shoulder Front/Back Angle:%8.3f\"$$\n";
F64 r_hip_a1 fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Hip Front/Back Angle :%8.3f\"$$\n";
F64 l_hip_a1 fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Hip Front/Back Angle :%8.3f\"$$\n";
F64 r_shoulder_a2 fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Shoulder Side Angle :%8.3f\"$$\n";
F64 l_shoulder_a2 fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Shoulder Side Angle :%8.3f\"$$\n";
F64 r_hip_a2 fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Hip Side Angle :%8.3f\"$$\n";
F64 l_hip_a2 fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Hip Side Angle :%8.3f\"$$\n";
F64 r_shoulder_a2 fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Shoulder Side Angle :%8.3f\"$$\n";
F64 l_shoulder_a2 fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Shoulder Side Angle :%8.3f\"$$\n";
F64 r_hip_a2 fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Hip Side Angle :%8.3f\"$$\n";
F64 l_hip_a2 fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Hip Side Angle :%8.3f\"$$\n";
F64 r_elbow_a fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Elbow Angle :%8.3f\"$$\n";
F64 l_elbow_a fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Elbow Angle :%8.3f\"$$\n";
F64 r_knee_a fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Knee Angle :%8.3f\"$$\n";
F64 l_knee_a fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Knee Angle :%8.3f\"$$\n";
F64 r_elbow_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Elbow Angle :%8.3f\"$$\n";
F64 l_elbow_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Elbow Angle :%8.3f\"$$\n";
F64 r_knee_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Knee Angle :%8.3f\"$$\n";
F64 l_knee_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Knee Angle :%8.3f\"$$\n";
F64 r_wrist_a fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Wrist Angle :%8.3f\"$$\n";
F64 l_wrist_a fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Wrist Angle :%8.3f\"$$\n";
F64 r_ankle_a fmtstr "$$DA-TRM,32,RT=F64,A=\"R.Ankle Angle :%8.3f\"$$\n";
F64 l_ankle_a fmtstr "$$DA-TRM,32,RT=F64,A=\"L.Ankle Angle :%8.3f\"$$\n";
F64 r_wrist_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Wrist Angle :%8.3f\"$$\n";
F64 l_wrist_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Wrist Angle :%8.3f\"$$\n";
F64 r_ankle_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"R.Ankle Angle :%8.3f\"$$\n";
F64 l_ankle_a fmtstr
"$$DA-TRM,32,RT=F64,A=\"L.Ankle Angle :%8.3f\"$$\n";
};
@@ -131,23 +159,25 @@ I64 AddTri(ManDefineStruct *,I64 c,I64 n0,I64 n1,I64 n2)
return result;
}
U0 AddBox(ManDefineStruct *md,I64 c,I64 x1,I64 y1,I64 z1,F64 w,F64 h,F64 d,F64 h2,F64 h3,F64 az,F64 ay,F64 ax,
I64 *ox,I64 *oy,I64 *oz)
U0 AddBox(ManDefineStruct *md,I64 c,I64 x1,I64 y1,I64 z1,
F64 w,F64 h,F64 d,F64 h2,F64 h3,F64 az,F64 ay,F64 ax,
I64 *ox,I64 *oy,I64 *oz)
{
I64 *r;
I64 p1a,p2a,p3a,p4a;
I64 p1b,p2b,p3b,p4b;
I64 wx=w/2,wy=0,wz=0,hx=0,hy=h,hz=0,h2x=0,h2y=h2,h2z=0,h3x=0,h3y=h3,h3z=0,dx=0,dy=0,dz=d/2;
I64 wx=w/2,wy=0,wz=0,hx=0,hy=h,hz=0,h2x=0,h2y=h2,h2z=0,
h3x=0,h3y=h3,h3z=0,dx=0,dy=0,dz=d/2;
r=GrIdentNew;
GrRotZEqu(r,az*ã/180.0);
GrRotYEqu(r,ay*ã/180.0);
GrRotXEqu(r,ax*ã/180.0);
GrRot(r,&wx,&wy,&wz);
GrRot(r,&hx,&hy,&hz);
GrRot(r,&h2x,&h2y,&h2z);
GrRot(r,&h3x,&h3y,&h3z);
GrRot(r,&dx,&dy,&dz);
r=Mat4x4IdentNew;
Mat4x4RotZ(r,az*ã/180.0);
Mat4x4RotY(r,ay*ã/180.0);
Mat4x4RotX(r,ax*ã/180.0);
Mat4x4MulXYZ(r,&wx,&wy,&wz);
Mat4x4MulXYZ(r,&hx,&hy,&hz);
Mat4x4MulXYZ(r,&h2x,&h2y,&h2z);
Mat4x4MulXYZ(r,&h3x,&h3y,&h3z);
Mat4x4MulXYZ(r,&dx,&dy,&dz);
p1a=AddVertex(md,x1+dx -wx+h2x,y1+dy -wy+h2y,z1+dz -wz+h2z);
p2a=AddVertex(md,x1+dx +wx+h2x,y1+dy +wy+h2y,z1+dz +wz+h2z);
@@ -183,8 +213,9 @@ U8 *Man2CSprite()
{
//See $LK,"::/Adam/Gr/GrSpritePlot.CPP",A="FL:::/Adam/Gr/GrSpritePlot.CPP,1"$ for how CSprite are stored.
U8 *result=MAlloc(sizeof(CSpriteMeshU8s)+
m->vertex_cnt*sizeof(CD3I32)+m->tri_cnt*sizeof(CMeshTri)+sprite_elem_base_sizes[SPT_END]),
*dst=result;
m->vertex_cnt*sizeof(CD3I32)+m->tri_cnt*sizeof(CMeshTri)+
sprite_elem_base_sizes[SPT_END]),
*dst=result;
*dst++ =SPT_MESH;
*dst(I32 *)++ =m->vertex_cnt;
*dst(I32 *)++ =m->tri_cnt;
@@ -204,7 +235,7 @@ public U8 *ManGen()
MDInit(&md1);
while (TRUE) {
if (!DocFormDo(&md1))
if (!DocForm(&md1))
return NULL;
MemCpy(&md2,&md1,sizeof(ManDefineStruct));
MDCorrect(&md2);
@@ -222,57 +253,57 @@ public U8 *ManGen()
//Head
AddBox(&md2,c3,0,md2.torso_len+md2.head_rad*2,0,
md2.head_rad*2,-md2.head_rad*2,md2.head_rad*2,0,0, 0,0,0,
&x,&y,&z);
md2.head_rad*2,-md2.head_rad*2,md2.head_rad*2,0,0, 0,0,0,
&x,&y,&z);
//Torso
//Torso
AddBox(&md2,c1,0,md2.torso_len,0,
md2.torso_width,-md2.torso_len,md2.torso_depth,0,0, 0,0,0,
&x,&y,&z);
md2.torso_width,-md2.torso_len,md2.torso_depth,0,0, 0,0,0,
&x,&y,&z);
//Right Arm
//Right Arm
AddBox(&md2,c1,-md2.torso_width/2-md2.arm_rad,md2.torso_len-md2.arm_rad,0,
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,md2.arm_rad,0,
md2.r_shoulder_a2,0,md2.r_shoulder_a1,&x,&y,&z);
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,md2.arm_rad,0,
md2.r_shoulder_a2,0,md2.r_shoulder_a1,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,0,0,
md2.r_shoulder_a2,0,md2.r_elbow_a,&x,&y,&z);
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,0,0,
md2.r_shoulder_a2,0,md2.r_elbow_a,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.arm_rad*2,-md2.hand_len,md2.hand_rad*2,0,0,
md2.r_shoulder_a2,0,md2.r_wrist_a,&x,&y,&z);
md2.arm_rad*2,-md2.hand_len,md2.hand_rad*2,0,0,
md2.r_shoulder_a2,0,md2.r_wrist_a,&x,&y,&z);
//Left Arm
//Left Arm
AddBox(&md2,c1,md2.torso_width/2+md2.arm_rad,md2.torso_len-md2.arm_rad,0,
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,md2.arm_rad,0,
md2.l_shoulder_a2,0,md2.l_shoulder_a1,&x,&y,&z);
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,md2.arm_rad,0,
md2.l_shoulder_a2,0,md2.l_shoulder_a1,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,0,0,
md2.l_shoulder_a2,0,md2.l_elbow_a,&x,&y,&z);
md2.arm_rad*2,-md2.arm_len/2,md2.arm_rad*2,0,0,
md2.l_shoulder_a2,0,md2.l_elbow_a,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.arm_rad*2,-md2.hand_len,md2.hand_rad*2,0,0,
md2.l_shoulder_a2,0,md2.l_wrist_a,&x,&y,&z);
md2.arm_rad*2,-md2.hand_len,md2.hand_rad*2,0,0,
md2.l_shoulder_a2,0,md2.l_wrist_a,&x,&y,&z);
//Right Leg
//Right Leg
AddBox(&md2,c2,-md2.torso_width/2+md2.leg_rad,0,0,
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,0,
md2.r_hip_a2,0,md2.r_hip_a1,&x,&y,&z);
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,0,
md2.r_hip_a2,0,md2.r_hip_a1,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,md2.foot_rad,
md2.r_hip_a2,0,md2.r_knee_a,&x,&y,&z);
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,md2.foot_rad,
md2.r_hip_a2,0,md2.r_knee_a,&x,&y,&z);
AddBox(&md2,c4,x,y,z,
md2.leg_rad*2,-md2.foot_len,md2.foot_rad*2,md2.leg_rad,0,
md2.r_hip_a2,0,md2.r_ankle_a,&x,&y,&z);
md2.leg_rad*2,-md2.foot_len,md2.foot_rad*2,md2.leg_rad,0,
md2.r_hip_a2,0,md2.r_ankle_a,&x,&y,&z);
//Left Leg
//Left Leg
AddBox(&md2,c2,md2.torso_width/2-md2.leg_rad,0,0,
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,0,
md2.l_hip_a2,0,md2.l_hip_a1,&x,&y,&z);
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,0,
md2.l_hip_a2,0,md2.l_hip_a1,&x,&y,&z);
AddBox(&md2,c3,x,y,z,
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,md2.foot_rad,
md2.l_hip_a2,0,md2.l_knee_a,&x,&y,&z);
md2.leg_rad*2,-md2.leg_len/2,md2.leg_rad*2,0,md2.foot_rad,
md2.l_hip_a2,0,md2.l_knee_a,&x,&y,&z);
AddBox(&md2,c4,x,y,z,
md2.leg_rad*2,-md2.foot_len,md2.foot_rad*2,md2.leg_rad,0,
md2.l_hip_a2,0,md2.l_ankle_a,&x,&y,&z);
md2.leg_rad*2,-md2.foot_len,md2.foot_rad*2,md2.leg_rad,0,
md2.l_hip_a2,0,md2.l_ankle_a,&x,&y,&z);
result=Man2CSprite;
"%h7c",'\n';
+1 -1
View File
@@ -11,7 +11,7 @@ U0 Models()
"\n\n$$BT,\"Man\",LE=T_MAN$$\n\n";
"\n\n$$BT,\"Ball\",LE=T_BALL$$\n\n";
"$$LM,0$$";
i=DocMenuDo(DocPut);
i=DocMenu(DocPut);
LBEqu(&(DocPut)->flags,DOCf_FORM,old_form);
DocBottom;
switch (i) {