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

+15 -11
View File
@@ -20,10 +20,13 @@ U0 HoldCourt()
DocDblBufStart;
'\n';
accused=RandU32%3;
"%s",LstSub(accused,"A man \0A woman \0A child \0");
"%s",LstSub(accused,
"A man \0A woman \0A child \0");
crime=RandU32&3;
"%s",LstSub(crime,"commits murder\0commits adultery\0commits blasphemy\0commits idolatry\0");
"%s",LstSub(crime,
"commits murder\0commits adultery\0"
"commits blasphemy\0commits idolatry\0");
if (crime<=1) {
'' CH_SPACE;
@@ -35,13 +38,13 @@ U0 HoldCourt()
else
'.';
"\n\n\n\n"
"$$LM,4$$"
"\n\n$$BT,\"Show Mercy\",LE=0$$\n\n"
"\n\n$$BT,\"Punish\",LE=1$$\n\n"
"\n\n$$BT,\"Really Punish\",LE=2$$\n\n"
"$$LM,0$$";
"$$LM,4$$"
"\n\n$$BT,\"Show Mercy\",LE=0$$\n\n"
"\n\n$$BT,\"Punish\",LE=1$$\n\n"
"\n\n$$BT,\"Really Punish\",LE=2$$\n\n"
"$$LM,0$$";
DocDblBufEnd;
DocMenuDo(DocPut);
DocMenu(DocPut);
LBEqu(&(DocPut)->flags,DOCf_FORM,old_form);
DocBottom;
@@ -73,7 +76,7 @@ Bool TakeTurn()
Kill(Fs->song_task);
DocDblBufStart;
"$$LM,4$$"
"$$LM,4$$"
"\n\n$$BT,\"Break Camp\",LE=T_BREAK_CAMP$$\n\n"
"\n\n$$BT,\"Talk with God\",LE=T_TALK_WITH_GOD$$\n\n"
"\n\n$$BT,\"View Clouds\",LE=T_VIEW_CLOUDS$$\n\n"
@@ -87,7 +90,7 @@ Bool TakeTurn()
"\n\n$$BT,\"Quit\",LE=T_QUIT$$\n\n"
"$$LM,0$$";
DocDblBufEnd;
i=DocMenuDo(DocPut,DOF_DONT_TEXT_ATTR);
i=DocMenu(DocPut,DOF_DONT_TEXT_ATTR);
LBEqu(&(DocPut)->flags,DOCf_FORM,old_form);
DocBottom;
@@ -146,7 +149,8 @@ U0 TMsg(CDC *dc,U8 *msg)
dc->color=BLACK;
GrRect(dc,2,GR_HEIGHT-FONT_HEIGHT*3+2,GR_WIDTH-4,FONT_HEIGHT*2-4);
dc->color=YELLOW;
GrPrint(dc,(GR_WIDTH-StrLen(msg)*FONT_WIDTH)/2,GR_HEIGHT-5*FONT_HEIGHT/2,"%s",msg);
GrPrint(dc,(GR_WIDTH-StrLen(msg)*FONT_WIDTH)/2,
GR_HEIGHT-5*FONT_HEIGHT/2,"%s",msg);
WinMgrSync;
if (ScanChar)
throw;
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+18 -16
View File
@@ -9,16 +9,17 @@ U0 MPDrawHoreb(CDC *dc2)
F64 s,m,a,x1,y1,x2,y2;
Obj *tempo;
GrIdentEqu(r);
GrRotYEqu(r,-é);
GrRotXEqu(r,77*ã/180);
Mat4x4IdentEqu(r);
Mat4x4RotY(r,-é);
Mat4x4RotX(r,77*ã/180);
for (i=Gs->num;i<O_NUM_OBJS+O_NUM_PEBBLES;i+=mp_cnt) {
tempo=&objs[i];
tempo->x1=tempo->x+vx; tempo->y1=tempo->y; tempo->z1=tempo->z+vz;
GrRot(r,&tempo->x1,&tempo->y1,&tempo->z1);
if (tempo->type==OT_SHEEP || tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
Mat4x4MulXYZ(r,&tempo->x1,&tempo->y1,&tempo->z1);
if (tempo->type==OT_SHEEP ||
tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
dx=100*tempo->dx; dy=100*tempo->dy; dz=100*tempo->dz;
GrRot(r,&dx,&dy,&dz);
Mat4x4MulXYZ(r,&dx,&dy,&dz);
if (dx<0)
tempo->sym=TRUE;
else
@@ -27,13 +28,14 @@ U0 MPDrawHoreb(CDC *dc2)
if (tempo->z1>=0) {
s=100.0/(AbsI64(tempo->z1)+50);
if (tempo->type) {
GrIdentEqu(dc->r);
GrScaleEqu(dc->r,s*2);
GrSetRotMat(dc,dc->r);
Mat4x4IdentEqu(dc->r);
Mat4x4Scale(dc->r,s*2);
DCMat4x4Set(dc,dc->r);
dc->flags|=DCF_TRANSFORMATION;
if (tempo->sym) {
dc->flags|=DCF_SYMMETRY|DCF_JUST_MIRROR;
GrSetSymmetry(dc,s*tempo->x1+cx,s*tempo->y1+h,s*tempo->x1+cx,s*tempo->y1+h+10);
DCSymmetrySet(dc,s*tempo->x1+cx,s*tempo->y1+h,
s*tempo->x1+cx,s*tempo->y1+h+10);
}
Sprite3B(dc,s*tempo->x1+cx,s*tempo->y1+h,tempo->z1,imgs[tempo->type]);
} else {
@@ -69,12 +71,12 @@ U0 DrawHoreb(CTask *task,CDC *dc)
{
I64 i,x,y,z,w=task->pix_width,h=task->pix_height,r[16],cx=w>>1,cy=h>>1;
F64 s;
GrIdentEqu(r);
GrRotYEqu(r,-é);
GrRotXEqu(r,77*ã/180);
//Sun
Mat4x4IdentEqu(r);
Mat4x4RotY(r,-é);
Mat4x4RotX(r,77*ã/180);
//Sun
x=vx; y=0; z=1000000+vz;
GrRot(r,&x,&y,&z);
Mat4x4MulXYZ(r,&x,&y,&z);
s=100.0/(AbsI64(z)+50);
if (y<0) {
dc->color=BROWN;
@@ -82,7 +84,7 @@ U0 DrawHoreb(CTask *task,CDC *dc)
dc->color=YELLOW;
GrFloodFill(dc,s*x+cx,15);
}
DCAllocDepthBuf(dc);
DCDepthBufAlloc(dc);
mp_not_done_flags=1<<mp_cnt-1;
for (i=0;i<mp_cnt;i++)
JobQue(&MPDrawHoreb,dc,i);
+16 -14
View File
@@ -8,19 +8,19 @@ I64 ObjCompare(Obj *o1,Obj *o2)
U0 DrawHoreb(CTask *task,CDC *dc)
{
I64 i,j,x,y,z,dx,dy,dz,
w=task->pix_width,
h=task->pix_height,r[16],
cx=w>>1,cy=h>>1;
w=task->pix_width,
h=task->pix_height,r[16],
cx=w>>1,cy=h>>1;
F64 s,m,a,x1,y1,x2,y2;
Obj *o_sort[O_NUM_OBJS+O_NUM_PEBBLES],*tempo;
GrIdentEqu(r);
GrRotYEqu(r,-é);
GrRotXEqu(r,77*ã/180);
Mat4x4IdentEqu(r);
Mat4x4RotY(r,-é);
Mat4x4RotX(r,77*ã/180);
//Sun
x=vx; y=0; z=1000000+vz;
GrRot(r,&x,&y,&z);
Mat4x4MulXYZ(r,&x,&y,&z);
s=100.0/(AbsI64(z)+50);
if (y<0) {
dc->color=BROWN;
@@ -33,10 +33,11 @@ U0 DrawHoreb(CTask *task,CDC *dc)
tempo=&objs[i];
o_sort[i]=tempo;
tempo->x1=tempo->x+vx; tempo->y1=tempo->y; tempo->z1=tempo->z+vz;
GrRot(r,&tempo->x1,&tempo->y1,&tempo->z1);
if (tempo->type==OT_SHEEP || tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
Mat4x4MulXYZ(r,&tempo->x1,&tempo->y1,&tempo->z1);
if (tempo->type==OT_SHEEP ||
tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
dx=100*tempo->dx; dy=100*tempo->dy; dz=100*tempo->dz;
GrRot(r,&dx,&dy,&dz);
Mat4x4MulXYZ(r,&dx,&dy,&dz);
if (dx<0)
tempo->sym=TRUE;
else
@@ -50,13 +51,14 @@ U0 DrawHoreb(CTask *task,CDC *dc)
if (tempo->z1<0) break;
s=100.0/(AbsI64(tempo->z1)+50);
if (tempo->type) {
GrIdentEqu(dc->r);
GrScaleEqu(dc->r,s*2);
GrSetRotMat(dc,dc->r);
Mat4x4IdentEqu(dc->r);
Mat4x4Scale(dc->r,s*2);
DCMat4x4Set(dc,dc->r);
dc->flags|=DCF_TRANSFORMATION;
if (tempo->sym) {
dc->flags|=DCF_SYMMETRY|DCF_JUST_MIRROR;
GrSetSymmetry(dc,s*tempo->x1+cx,s*tempo->y1+h,s*tempo->x1+cx,s*tempo->y1+h+10);
DCSymmetrySet(dc,s*tempo->x1+cx,s*tempo->y1+h,
s*tempo->x1+cx,s*tempo->y1+h+10);
}
Sprite3B(dc,s*tempo->x1+cx,s*tempo->y1+h,0,imgs[tempo->type]);
} else {
+5 -3
View File
@@ -7,7 +7,8 @@ U0 AnimateTask(I64)
t=tS;
for (i=0;i<O_NUM_OBJS+O_NUM_PEBBLES;i++) {
tempo=&objs[i];
if (tempo->type==OT_SHEEP || tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
if (tempo->type==OT_SHEEP ||
tempo->type==OT_GOAT1 || tempo->type==OT_GOAT2) {
tempo->x+=tempo->dx;
tempo->y+=tempo->dy;
tempo->z+=tempo->dz;
@@ -97,11 +98,12 @@ U0 Horeb()
SettingsPush(Fs,TSF_SAME_SONG); //See $LK,"SettingsPush",A="MN:SettingsPush"$
try {
Fs->text_attr=YELLOW<<4+BLUE;
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS-WIF_SELF_GRAB_SCROLL-WIF_FOCUS_TASK_MENU;
Fs->win_inhibit=WIG_TASK_DFT-WIF_SELF_FOCUS
-WIF_SELF_GRAB_SCROLL-WIF_FOCUS_TASK_MENU;
AutoComplete;
WinMax;
WinBorder;
Preempt(OFF);
Preempt;
DocClear;
"$$BG,LTCYAN$$%h6c",'\n';
+10 -9
View File
@@ -24,14 +24,14 @@ U0 DrawMap(CTask *,CDC *dc)
U0 AEMap()
{
I64 i=0,
cx=Fs->pix_width>>1,
cy=Fs->pix_height>>1,
c_min=MinI64(cx,cy),
*r=NULL,
x1=0,y1=0,z1=0,
x_last=x1,y_last=y1;
cx=Fs->pix_width>>1,
cy=Fs->pix_height>>1,
c_min=MinI64(cx,cy),
*r=NULL,
x1=0,y1=0,z1=0,
x_last=x1,y_last=y1;
F64 a,a1=(AE1_MAX+AE1_MIN)/2,a2=(AE2_MAX+AE2_MIN)/2,a2_total=a2,
x_scale=ToF64(cx)/c_min,y_scale=ToF64(cy)/c_min;
x_scale=ToF64(cx)/c_min,y_scale=ToF64(cy)/c_min;
CDC *dc=DCAlias;
SettingsPush(Fs,TSF_SAME_SONG); //See $LK,"SettingsPush",A="MN:SettingsPush"$
@@ -48,8 +48,9 @@ U0 AEMap()
if ( 0.0<=a<=AE1_MIN) a=AE1_MIN;
if (-AE1_MIN<=a<=0.0) a=-AE1_MIN;
Free(r);
r=GrRotZNew(a);
GrRot(r,&x1,&y1,&z1);
r=Mat4x4IdentNew;
Mat4x4RotZ(r,a);
Mat4x4MulXYZ(r,&x1,&y1,&z1);
a2=Clamp(Wrap(a2+(AE2_MAX+AE2_MIN)/5.0*(Rand-0.5)),-AE2_MAX,AE2_MAX);
a=a2;
Binary file not shown.
+9 -5
View File
@@ -5,15 +5,19 @@ U0 BgtAcctsUpdate()
tempb=b_root.next;
while (tempb!=&b_root) {
if (tempb->type!=BE_TEMPLATE_COPY) {
tempb->credit_index =StrFileAdd(tempb->credit,&accts_table_strs,accts_table);
tempb->debit_index =StrFileAdd(tempb->debit,&accts_table_strs,accts_table);
tempb->credit_index=StrFileAdd(tempb->credit,
&accts_table_strs,accts_table);
tempb->debit_index =StrFileAdd(tempb->debit,
&accts_table_strs,accts_table);
}
tempb=tempb->next;
}
tempt=t_root.next;
while (tempt!=&t_root) {
tempt->b.credit_index =StrFileAdd(tempt->b.credit,&accts_table_strs,accts_table);
tempt->b.debit_index =StrFileAdd(tempt->b.debit,&accts_table_strs,accts_table);
tempt->b.credit_index=StrFileAdd(tempt->b.credit,
&accts_table_strs,accts_table);
tempt->b.debit_index =StrFileAdd(tempt->b.debit,
&accts_table_strs,accts_table);
tempt=tempt->next;
}
}
@@ -71,7 +75,7 @@ U8 *BgtPopUpAcct(U8 *header=NULL,U8 *dft=NULL)
if (doc_dft) {
doc->cur_entry=doc_dft;
doc->cur_data_col=0;
doc->cur_col=0;
}
result=PopUpMenu(doc,DOF_DONT_HOME);
DocDel(doc);
+29 -25
View File
@@ -9,7 +9,8 @@ Bool BgtPutKey(CDoc *doc,U8 *,I64 ch,I64 sc)
U8 *st;
switch (ch) {
case '\n':
if ((doc_ce=doc->cur_entry) && doc_ce!=doc && doc_ce->type_u8==DOCT_MENU_VAL) {
if ((doc_ce=doc->cur_entry) && doc_ce!=doc &&
doc_ce->type_u8==DOCT_MENU_VAL) {
tempb=doc_ce->user_data;
if (tempt=tempb->template) {
if (tempt1=BgtTemplatePmt(tempt)) {
@@ -32,7 +33,8 @@ Bool BgtPutKey(CDoc *doc,U8 *,I64 ch,I64 sc)
}
return TRUE;
case CH_CTRLY:
if ((doc_ce=doc->cur_entry) && doc_ce!=doc && doc_ce->type_u8==DOCT_MENU_VAL) {
if ((doc_ce=doc->cur_entry) && doc_ce!=doc &&
doc_ce->type_u8==DOCT_MENU_VAL) {
tempb=doc_ce->user_data;
if (tempt=tempb->template) {
QueRem(tempt);
@@ -48,8 +50,8 @@ Bool BgtPutKey(CDoc *doc,U8 *,I64 ch,I64 sc)
return TRUE;
case 'a':
PopUpOk( "Set the name and color of your accounts.\n"
"To delete accounts, manually edit\n"
"$$GREEN$$/Home/Budget/Accts.TXT.Z$$FG$$.");
"To delete accounts, manually edit\n"
"$$GREEN$$/Home/Budget/Accts.TXT.Z$$FG$$.");
if (PopUpEd(BGT_ACCTS_FILE,Fs)) {
BgtAcctsRead;
BgtRegen;
@@ -75,7 +77,8 @@ Bool BgtPutKey(CDoc *doc,U8 *,I64 ch,I64 sc)
}
return TRUE;
case 'c':
if ((doc_ce=doc->cur_entry) && doc_ce!=doc && doc_ce->type_u8==DOCT_MENU_VAL)
if ((doc_ce=doc->cur_entry) && doc_ce!=doc &&
doc_ce->type_u8==DOCT_MENU_VAL)
tempb=doc_ce->user_data;
else
tempb=NULL;
@@ -107,7 +110,8 @@ U0 BgtRegen()
color=c;
DocPrint(doc,"$$FG,%d$$",color);
}
tempb->doc_e=DocPrint(doc,"$$MU-UL,\"%D %8ts %8ts:%8.2f %8.2f:%Q\",U=0x%X$$\n",
tempb->doc_e=DocPrint(doc,
"$$MU-UL,\"%D %8ts %8ts:%8.2f %8.2f:%Q\",U=0x%X$$\n",
tempb->date,tempb->credit,tempb->debit,balance,
tempb->amount,tempb->desc,tempb);
tempb=tempb->next;
@@ -116,7 +120,7 @@ U0 BgtRegen()
if (pdoc=Fs->put_doc) {
DocLock(pdoc);
//Now, we want to preserve old position in doc, using ugly brute force.
//Now, we want to preserve old position in doc, using ugly brute force.
//It's tricky -- can't use old line num because of editor filters.
//The price we pay for using the standard document editor is this kludge.
@@ -134,7 +138,7 @@ U0 BgtRegen()
while (tempb!=&b_root) {
if (tempb==tempb_ce) {
doc->cur_entry=tempb->doc_e;
doc->cur_data_col=0;
doc->cur_col=0;
DocCenter(doc);
goto br_cont;
}
@@ -144,7 +148,7 @@ U0 BgtRegen()
}
}
br_cont:
br_cont:
ddoc=Fs->display_doc;
Fs->put_doc =doc;
Fs->display_doc=doc;
@@ -165,22 +169,22 @@ U0 Budget()
WinBorder;
AutoComplete;
MenuPush(
"File {"
" Abort(,CH_SHIFT_ESC);"
" Exit(,CH_ESC);"
"}"
"Edit {"
" NewEntry(,'n');"
" CopyEntry(,'c');"
" EditEntry(,'\n');"
" DeleteEntry(,CH_CTRLY);"
" NewTemplate(,'t');"
" AcctsFile(,'a');"
"}"
"View {"
" ViewAcct(,'v');"
"}"
);
"File {"
" Abort(,CH_SHIFT_ESC);"
" Exit(,CH_ESC);"
"}"
"Edit {"
" NewEntry(,'n');"
" CopyEntry(,'c');"
" EditEntry(,'\n');"
" DeleteEntry(,CH_CTRLY);"
" NewTemplate(,'t');"
" AcctsFile(,'a');"
"}"
"View {"
" ViewAcct(,'v');"
"}"
);
StrCpy(view_acct,"BANK");
DocMax;
old_put =Fs->put_doc;
+4 -2
View File
@@ -1,6 +1,7 @@
#define SFT_GENERIC 1
public U8 **StrFileRead(U8 *name,I64 *_max_num=NULL,U8 **_colors=NULL,Bool no_nums=FALSE)
public U8 **StrFileRead(U8 *name,I64 *_max_num=NULL,
U8 **_colors=NULL,Bool no_nums=FALSE)
{
CDoc *doc=DocRead(name,DOCF_DBL_DOLLARS|DOCF_NO_CURSOR);
CDocEntry *doc_e=doc->root.next;
@@ -53,7 +54,8 @@ public U0 StrFileArrDel(U8 **a,I64 max_num)
Free(a);
}
public I64 StrFileAdd(U8 *st,I64 *_num,CHashTable *table,I64 color=COLOR_INVALID)
public I64 StrFileAdd(U8 *st,I64 *_num,
CHashTable *table,I64 color=COLOR_INVALID)
{
CHashGeneric *temph;
if (!st) return 0;
+1 -1
View File
@@ -133,7 +133,7 @@ CBgtTemplate *BgtTemplatePmt(CBgtTemplate *dft_t=NULL)
}
while (TRUE)
if (PopUpForm(&t) && ((t.type==BT_INTERVAL && t.period>0) ||
t.type>BT_INTERVAL)) {
t.type>BT_INTERVAL)) {
if (tempb=BgtEntryPmt(dft_b)) {
tempt=CAlloc(sizeof(CBgtTemplate));
MemCpy(&tempt->start,&t.start,BT_SIZE);
+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) {
+59 -45
View File
@@ -194,7 +194,8 @@ This is just a video game. Relax.
#define HEAD_Z_OFFSET 200
#define HAND_X_OFFSET 30
#define HAND_Y_OFFSET 20
#define HAND_SQR_OFFSET (HAND_X_OFFSET*HAND_X_OFFSET+HAND_Y_OFFSET*HAND_Y_OFFSET)
#define HAND_SQR_OFFSET \
(HAND_X_OFFSET*HAND_X_OFFSET+HAND_Y_OFFSET*HAND_Y_OFFSET)
#define HAND_Z_OFFSET 110
#define FIRST_STANDING 0
@@ -213,19 +214,26 @@ This is just a video game. Relax.
#define NUM_STOPPED_DRIBBLING_IMGS 2
#define FIRST_STOPPED_DRIBBLING (LAST_DRIBBLING+1)
#define LAST_STOPPED_DRIBBLING (FIRST_STOPPED_DRIBBLING+NUM_STOPPED_DRIBBLING_IMGS-1)
#define LAST_STOPPED_DRIBBLING \
(FIRST_STOPPED_DRIBBLING+NUM_STOPPED_DRIBBLING_IMGS-1)
Frame imgs[LAST_STOPPED_DRIBBLING+1]={
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},{{$IB,"<2>",BI=2$,$IB,"<3>",BI=3$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},{{$IB,"<4>",BI=4$,$IB,"<5>",BI=5$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<8>",BI=8$,$IB,"<9>",BI=9$},0.1},{{$IB,"<10>",BI=10$,$IB,"<11>",BI=11$},0.2},{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.2},{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.1},{{$IB,"<14>",BI=14$,$IB,"<15>",BI=15$},0.1},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},{{$IB,"<16>",BI=16$,$IB,"<17>",BI=17$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},{{$IB,"<18>",BI=18$,$IB,"<19>",BI=19$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},{{$IB,"<22>",BI=22$,$IB,"<23>",BI=23$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<2>",BI=2$,$IB,"<3>",BI=3$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<6>",BI=6$,$IB,"<7>",BI=7$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<4>",BI=4$,$IB,"<5>",BI=5$},2*DRIBBLE_T/NUM_RUNNING_IMGS},
{{$IB,"<8>",BI=8$,$IB,"<9>",BI=9$},0.1},{{$IB,"<10>",BI=10$,$IB,"<11>",BI=11$},0.2},
{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.2},{{$IB,"<12>",BI=12$,$IB,"<13>",BI=13$},0.1},{{$IB,"<14>",BI=14$,$IB,"<15>",BI=15$},0.1},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<16>",BI=16$,$IB,"<17>",BI=17$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<18>",BI=18$,$IB,"<19>",BI=19$},2*DRIBBLE_T/NUM_DRIBBLING_IMGS},
{{$IB,"<20>",BI=20$,$IB,"<21>",BI=21$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},
{{$IB,"<22>",BI=22$,$IB,"<23>",BI=23$},DRIBBLE_T/NUM_STOPPED_DRIBBLING_IMGS},
};
AcctRegSetDftEntry("TempleOS/KeepAway","I64 best_score0=0,best_score1=9999;\n");
AcctRegExeBranch("TempleOS/KeepAway");
RegSetDftEntry("TempleOS/KeepAway","I64 best_score0=0,best_score1=9999;\n");
RegExeBranch("TempleOS/KeepAway");
F64 game_t_end,foul_t_end;
I64 score0,score1;
@@ -272,8 +280,8 @@ U0 DrawObj(CDC *dc,Obj *o,F64 tt)
Sprite3(dc,o->x,(o->y-o->z)/2,GR_Z_ALL-o->y,$IB,"<1>",BI=1$);
else {
temps=SpriteInterpolate(imgs[o->last_img].img[o->team],
imgs[o->next_img].img[o->team],
(tt-o->last_t0)/(o->next_t0-o->last_t0));
imgs[o->next_img].img[o->team],
(tt-o->last_t0)/(o->next_t0-o->last_t0));
SpriteY3B(dc,o->x,(o->y-o->z)/2,GR_Z_ALL-o->y,temps,o->ay);
Free(temps);
}
@@ -290,7 +298,7 @@ U0 DrawIt(CTask *task,CDC *dc)
I64 i;
Obj *o_sort[NUM_OBJS],*o;
DCAllocDepthBuf(dc);
DCDepthBufAlloc(dc);
dc->ls.x=10000;
dc->ls.y=60000;
dc->ls.z=10000;
@@ -302,14 +310,14 @@ U0 DrawIt(CTask *task,CDC *dc)
dc->pen_width=2;
dc->color=RED;
GrBorder(dc,COURT_BORDER,COURT_BORDER,
task->pix_width -1-COURT_BORDER,
task->pix_height-1-COURT_BORDER);
task->pix_width -1-COURT_BORDER,
task->pix_height-1-COURT_BORDER);
for (i=0;i<NUM_OBJS;i++) {
o=o_sort[i]=&objs[i];
if (o!=ball) {
if (o->has_ball) {
ball->x=o->x+HAND_X_OFFSET*Cos(o->ay-ã/2)+HAND_Y_OFFSET*Cos(o->ay);
//The factor 2 is because the man is not transformed.
//The factor 2 is because the man is not transformed.
ball->y=o->y+HAND_X_OFFSET*Sin(o->ay-ã/2)/2+HAND_Y_OFFSET*Sin(o->ay)/2;
if (ball->z+ball->radius*2>o->z+HAND_Z_OFFSET)
ball->z=o->z+HAND_Z_OFFSET-ball->radius*2;
@@ -319,15 +327,19 @@ U0 DrawIt(CTask *task,CDC *dc)
ball->z=o->z+HEAD_Z_OFFSET;
}
if (tt>o->next_t0) {
if (o->has_ball && (ball->z+ball->radius*2>=o->z+HAND_Z_OFFSET || Abs(ball->DzDt)<30)) {
//This is an approximation. My instinct tells me the viscosity term needs an $LK,"Exp",A="MN:Exp"$().
//However, we should be syncronized to img frames, so we don't have to be perfect.
if (o->has_ball && (ball->z+ball->radius*2>=o->z+HAND_Z_OFFSET ||
Abs(ball->DzDt)<30)) {
//This is an approximation. My instinct tells me the viscosity term
//needs an $LK,"Exp",A="MN:Exp"$(). However, we should be syncronized to img frames,
//so we don't have to be perfect.
d_down=1.0;
d_up =1.0/COLLISION_DAMP; //Up bounce takes higher percentage because speed lost in collision.
ball->DzDt=-((d_down+d_up)*(o->z+HAND_Z_OFFSET-ball->radius*4)/(1.0-AIR_VISCOSITY)+
0.5*GRAVITY_ACCELERATION*(
Sqr(DRIBBLE_T*d_up/(d_down+d_up))-
Sqr(DRIBBLE_T*d_down/(d_down+d_up)) ))/DRIBBLE_T;
d_up =1.0/COLLISION_DAMP;
//Up bounce takes higher % because speed lost in collision.
ball->DzDt=-((d_down+d_up)*
(o->z+HAND_Z_OFFSET-ball->radius*4)/(1.0-AIR_VISCOSITY)+
0.5*GRAVITY_ACCELERATION*(
Sqr(DRIBBLE_T*d_up/(d_down+d_up))-
Sqr(DRIBBLE_T*d_down/(d_down+d_up)) ))/DRIBBLE_T;
}
o->last_t0=tt;
o->last_img=o->next_img++;
@@ -379,13 +391,13 @@ U0 DrawIt(CTask *task,CDC *dc)
tt=0;
if (Blink)
GrPrint(dc,(task->pix_width-FONT_WIDTH*9)>>1,
(task->pix_height-FONT_HEIGHT)>>1,"Game Over");
(task->pix_height-FONT_HEIGHT)>>1,"Game Over");
} else {
if (tS<foul_t_end) {
dc->color=LTRED;
if (Blink)
GrPrint(dc,(task->pix_width-FONT_WIDTH*4)>>1,
(task->pix_height-FONT_HEIGHT)>>1,"Foul");
(task->pix_height-FONT_HEIGHT)>>1,"Foul");
}
dc->color=BLACK;
}
@@ -506,7 +518,8 @@ U0 AnimateTask(CTask *parent_task)
if (t0>o->foul_t0+0.15) {
d=(dx-objs[j].DxDt)*dx2+(dy-objs[j].DyDt)*dy2;
if (o==human && t0>o->foul_t0+1.0 &&
dt && d/dt>FOUL_VELOCITY_THRESHOLD && objs[j].team) {
dt && d/dt>FOUL_VELOCITY_THRESHOLD &&
objs[j].team) {
Noise(250,500,500);
score1+=1;
foul_t_end=t0+1.0;
@@ -572,7 +585,7 @@ U0 AnimateTask(CTask *parent_task)
}
}
WinMgrSync;
WinMgrSync;
}
}
@@ -608,29 +621,29 @@ U0 KeepAway()
I64 msg_code,a1,a2;
PopUpOk(
"$$RED$$Pass or hand-off to score points.$$FG$$\n\n"
"Left-Click to pass.\n"
"Right-Click to jump.\n");
"$$RED$$Pass or hand-off to score points.$$FG$$\n\n"
"Left-Click to pass.\n"
"Right-Click to jump.\n");
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->text_attr=BLACK+YELLOW<<4;
WinMax;
WinBorder;
Preempt(OFF);
Preempt;
Fs->win_inhibit|=WIG_DBL_CLICK;
AutoComplete;
MenuPush(
"File {"
" Abort(,CH_SHIFT_ESC);"
" Exit(,CH_ESC);"
"}"
"Play {"
" Restart(,'\n');"
" Shoot(,CH_SPACE);"
" Jump(,'j');"
"}"
);
"File {"
" Abort(,CH_SHIFT_ESC);"
" Exit(,CH_ESC);"
"}"
"Play {"
" Restart(,'\n');"
" Shoot(,CH_SPACE);"
" Jump(,'j');"
"}"
);
Init;
DocCursor;
@@ -640,7 +653,8 @@ U0 KeepAway()
try {
while (TRUE) {
msg_code=GetMsg(&a1,&a2,1<<MSG_IP_L_DOWN|1<<MSG_IP_R_DOWN|1<<MSG_KEY_DOWN);
msg_code=GetMsg(&a1,&a2,
1<<MSG_IP_L_DOWN|1<<MSG_IP_R_DOWN|1<<MSG_KEY_DOWN);
switch (msg_code) {
case MSG_IP_L_DOWN:
ka_shoot:
@@ -672,8 +686,8 @@ ka_done: //Don't goto out of try
} catch
PutExcept;
SettingsPop;
AcctRegWriteBranch("TempleOS/KeepAway","I64 best_score0=%d,best_score1=%d;\n",
best_score0,best_score1);
RegWriteBranch("TempleOS/KeepAway","I64 best_score0=%d,best_score1=%d;\n",
best_score0,best_score1);
CleanUp;
MenuPop;
}
+6 -6
View File
@@ -82,7 +82,7 @@ U0 GetGates()
U8 *st;
"\nEnter the available gate types in the order you prefer them to be used.\n"
"Your choices are:\n";
"Your choices are:\n";
for (i=GT_FIRST_REAL_GATE;i<GT_NUM_ENTRIES;i++)
"%z ",i,gate_type_lst;
'\n';
@@ -162,7 +162,7 @@ U0 Init()
else {
if (gate_type_table[i]==GT_INPUT)
"To produce this output, connect to input %C\n",
'A'+input1_table[i];
'A'+input1_table[i];
else if (gate_type_table[i]==GT_OUTPUT)
"Duplicate\n";
else {
@@ -181,8 +181,8 @@ U0 Init()
U0 DrawDesign(CDC *dc,I64 *_y,I64 output,I64 depth,I64 *_x_out,I64 *_y_out)
{
I64 y=*_y,type=gate_type_table[output],
xx=(passes-depth)*(GATE_WIDTH+CONNECT_WIDTH),yy=y,
x1,y1,x2,y2,x3,y3;
xx=(passes-depth)*(GATE_WIDTH+CONNECT_WIDTH),yy=y,
x1,y1,x2,y2,x3,y3;
if (_x_out) *_x_out=xx;
if (_y_out) *_y_out=yy;
if (Bt(displayed_design,output) && type!=GT_INPUT) {
@@ -528,7 +528,7 @@ I64 FillGateTable()
chged=FALSE;
MemSet(added_this_pass,0,(table_size+7)/8);
for (current_gate=0;current_gate<num_selected_gates &&
num_outputs_found<num_outputs_entered;current_gate++) {
num_outputs_found<num_outputs_entered;current_gate++) {
switch (selected_gates[current_gate]) {
case GT_NOT: FillNot (&chged,&num_outputs_found); break;
case GT_AND: FillAnd (&chged,&num_outputs_found); break;
@@ -542,7 +542,7 @@ I64 FillGateTable()
case GT_NOR3: FillNOr3 (&chged,&num_outputs_found); break;
}
}
}
}
ProgressBarsRst;
return num_outputs_found;
}
+74
View File
@@ -0,0 +1,74 @@
//9 has graphics
#define X 330
#define Y 15
#define NUM_BEAMS 256
F64 beams_r[NUM_BEAMS],beams_é[NUM_BEAMS];
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 r,x1,y1,x2,y2;
dc->color=YELLOW;
GrCircle(dc,X,Y,10);
GrFloodFill(dc,X,Y,10);
dc->color=BROWN;
GrCircle(dc,X,Y,10);
dc->color=YELLOW;
for (i=0;i<NUM_BEAMS;i++) {
r=125.0*((0.25*Beat+beams_r[i])%1.0);
P2R(&x1,&y1,r ,beams_é[i]);
P2R(&x2,&y2,r+10.0,beams_é[i]);
GrLine(dc,x1+X,y1+Y,x2+X,y2+Y);
}
}
U0 Song()
{
CTask *task;
I64 i;
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->text_attr=LTCYAN<<4+BLACK;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo= 2.480;
music.stacatto_factor= 0.902;
for (i=0;i<NUM_BEAMS;i++) {
beams_r[i]=Rand;
beams_é[i]=2*ã*Rand;
}
try {
task=PopUpViewPrint(
"$LK,"Numbers,6:25",A="BF:Numbers,6:25"$\n"
"$LK,"Psalms,31:16",A="BF:Psalms,31:16"$\n"
"$LK,"Psalms,67:1",A="BF:Psalms,67:1"$\n"
"$LK,"Psalms,80:3",A="BF:Psalms,80:3"$\n"
"$LK,"Psalms,80:19",A="BF:Psalms,80:19"$\n"
"$LK,"Psalms,119:135",A="BF:Psalms,119:135"$\n"
"$LK,"Daniel,9:17",A="BF:Daniel,9:17"$\n"
);
TaskWait(task);
WinHorz(Fs->win_left,Fs->win_right,task);
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
"$$BG+H,LTCYAN$$$$FD+H,BLACK$$";
while (!ScanKey) {
"$$WHITE$$To God...\n$$FG$$";
Play("3etCFEsDDDDD2G3D2G3qC2eG3EqEetAAF2qG",
"I \0am \0a\0biding \0 \0 \0 \0in \0 \0Your \0 \0"
"presence.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("3etCFEsDDDDD2G3D2G3qC2eG3EqEetAAF2qG",
"I \0am \0a\0biding \0 \0 \0 \0in \0 \0Your \0 \0"
"presence.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("3DBsFGFG2eG3FRDqEGeBE",
"What \0a \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qDBsFGFG2eG3FRDqEGeBE",
"I'm \0so \0coy!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
SettingsPop;
}
Song;
+39 -4
View File
@@ -1,7 +1,39 @@
//7 has words
//7 has graphics
F64 t0=Beat;
U0 DrawIt(CTask *task,CDC *dc)
{
I64 i,j,w=task->pix_width,h=task->pix_height;
F64 dt=Beat-t0,num;
num=MinI64(Exp(0.9*dt),3000);
dc->color=LTGRAY;
for (i=0;i<num;i++) {
j=RandU32;
GrPlot(dc,j.u16[0]%w,j.u16[1]%h);
}
num=MinI64(Exp(0.6*dt),6000);
dc->color=DKGRAY;
for (i=0;i<num;i++) {
j=RandU32;
GrPlot(dc,j.u16[0]%w,j.u16[1]%h);
}
num=MinI64(Exp(0.3*dt),9000);
dc->color=BLACK;
for (i=0;i<num;i++) {
j=RandU32;
GrPlot(dc,j.u16[0]%w,j.u16[1]%h);
}
}
U0 Song()
{
CTask *task;
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo= 2.480;
@@ -20,6 +52,7 @@ U0 Song()
WinHorz(Fs->win_left,Fs->win_right,task);
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
t0=Beat;
Play("3sBBBBqCq.BeAqBh.A",
"Can't \0 \0 \0 \0get \0there, \0from \0he\0re.\n\0");
Play("M2/4");
@@ -29,13 +62,15 @@ U0 Song()
Play("M2/4");
Play("eDDqDM4/4");
Play("DeEDqGCeF2G3qGsFGFGeDC",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0"
"ver\0 \0y \0 \0wrong!\n\0 \0");
Play("qDeEDqGCeF2G3qGsFGFGeDC",
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0ver\0 \0y \0 \0wrong!\n\0 \0");
"Oh, \0my \0 \0God, \0some\0thing's... \0 \0 \0"
"ver\0 \0y \0 \0wrong!\n\0 \0");
}
} catch
PutExcept;
Snd(0);
SettingsPop;
}
Song;
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3eCsAAeCsAAeDABRCqEsBBeEDFE");
Play("CAqCsDDAAeBRCDsCCBBeEAFsEE");
Play("G2G3G2G3qGeBBBFsD2G3eDsB2G3B2G3eBAsGF2eG");
Play("3sG2G3G2G3qGeBBBFsD2G3eDsB2G3B2G3eBAsGF2eG");
}
while (!ScanKey) {
Play("3eCsAAeCsAAeDABRCqEsBBeEDFE");
Play("CAqCsDDAAeBRCDsCCBBeEAFsEE");
Play("G2G3G2G3qGeBBBFsD2G3eDsB2G3B2G3eBAsGF2eG");
Play("3sG2G3G2G3qGeBBBFsD2G3eDsB2G3B2G3eBAsGF2eG");
}
} catch
PutExcept;
Snd(0);
+10 -10
View File
@@ -5,16 +5,16 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0righ\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0migh\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qFFEEeEBqFCB",
"Al\0read\0y, \0 \0I've \0 \0seen \0en\0ough.\n\0");
Play("FFEEeEBqFCB",
"Oh \0bo\0y, \0 \0was \0 \0that \0rough.\n\0 \0");
}
while (!ScanKey) {
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0righ\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2qG3etC2GG3qARR2etG3FBqEeFE",
"All \0migh\0 \0 \0ty.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qFFEEeEBqFCB",
"Al\0read\0y, \0 \0I've \0 \0seen \0en\0ough.\n\0");
Play("FFEEeEBqFCB",
"Oh \0bo\0y, \0 \0was \0 \0that \0rough.\n\0 \0");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -6,16 +6,20 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("2q.GeGqG3sBBCB2q.GeGqG3sBBCB",
"I'm \0a\0lone.\n\0$$RED$$No, \0you're \0 \0not.\n$$FG$$\0I'm \0a\0lone.\n\0$$RED$$No, \0you're \0 \0not.\n\0");
Play("q.C2eG3CsDC2eGG3qC2G3eCsDC2eGG",
"You \0are \0not \0a\0lone.\n\0 \0 \0Def\0inately, \0not \0a\0lone.\n\0 \0 \0");
Play("3sEAEAeCsCReRsDAe.GsBFFFFeEsAGeCsGDeDG",
"If \0 \0you \0 \0on\0ly \0 \0 \0 \0 \0knew.\n\0 \0His \0 \0 \0 \0Spir\0it \0 \0 \0is \0 \0with \0you.\n\0");
Play("sEAEAeCsCReRsDAe.GsBFFFFeEsAGeCsGDeDG",
"If \0 \0you \0 \0on\0ly \0 \0 \0 \0 \0knew.\n\0 \0His \0 \0 \0 \0Spir\0it \0 \0 \0is \0 \0with \0you.\n$$FG$$\0");
}
while (!ScanKey) {
Play("2q.GeGqG3sBBCB2q.GeGqG3sBBCB",
"I'm \0a\0lone.\n\0$$RED$$No, \0you're \0 \0not.\n$$FG$$\0"
"I'm \0a\0lone.\n\0$$RED$$No, \0you're \0 \0not.\n\0");
Play("q.C2eG3CsDC2eGG3qC2G3eCsDC2eGG",
"You \0are \0not \0a\0lone.\n\0 \0 \0Def\0inately, \0"
"not \0a\0lone.\n\0 \0 \0");
Play("3sEAEAeCsCReRsDAe.GsBFFFFeEsAGeCsGDeDG",
"If \0 \0you \0 \0on\0ly \0 \0 \0 \0 \0knew.\n\0 \0"
"His \0 \0 \0 \0Spir\0it \0 \0 \0is \0 \0with \0you.\n\0");
Play("sEAEAeCsCReRsDAe.GsBFFFFeEsAGeCsGDeDG",
"If \0 \0you \0 \0on\0ly \0 \0 \0 \0 \0knew.\n\0 \0"
"His \0 \0 \0 \0Spir\0it \0 \0 \0is \0 \0with \0you.\n$$FG$$\0");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -5,16 +5,20 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("3etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
Play("3EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("3etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0"
"You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("etDGDqGeCGetAE2G3eEFsGBGBqEG",
"Thanks, \0 \0 \0God! \0 \0 \0"
"You \0 \0are \0might\0y \0 \0good \0 \0to \0me.\n\0 \0");
Play("EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0"
"I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
Play("3EsBGBGeEC2G3AqF2G3sC2G3C2GqG",
" \0 \0 \0 \0 \0 \0 \0"
"I \0won't \0tell.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+8 -4
View File
@@ -54,13 +54,17 @@ U0 Song()
while (!ScanKey) {
"$$GREEN$$Jesus talking...$$FG$$\n";
Play("3eBCqB2sG3D2G3DetCGFsCBCBetCGBeBGsBCBC",
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("eBCqB2sG3D2G3DetCGFsCBCBetCGBeBGsBCBC",
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"Stay \0a\0wake.\n\0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qDsDBDBetA2G3GqB2G3sADADqDetGFD",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0am \0a \0dead \0 \0man.\n\0");
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0"
"I \0 \0am \0a \0dead \0 \0man.\n\0");
Play("qDsDBDBetA2G3GqB2G3sADADqDetGFD",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0am \0a \0dead \0 \0man.\n\0");
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0"
"I \0 \0am \0a \0dead \0 \0man.\n\0");
}
} catch
PutExcept;
Binary file not shown.
+8 -4
View File
@@ -37,13 +37,17 @@ U0 Song()
while (!ScanKey) {
t0=Beat;
Play("3qBeB2G3qAeFAsFAFAqC2sG3A2G3ARBRB",
"New \0day \0is \0born.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"New \0day \0is \0born.\n\0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qBeB2G3qAeFAsFAFAqC2sG3A2G3ARBRB",
"Though \0it's \0the \0mourn',\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"Though \0it's \0the \0mourn',\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("eDDRCqG2eGR3qEetEAFqCsDGDG",
"cheer-\0up \0 \0the \0heart\n\0 \0 \0 \0 \0 \0 \0 \0 \0as \0 \0you \0");
"cheer-\0up \0 \0the \0heart\n\0 \0 \0 \0 \0 \0"
" \0 \0 \0as \0 \0you \0");
Play("eDDRCqG2eGR3qEetEAFqCsDGDG",
"hitch-\0up \0 \0the \0cart.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"hitch-\0up \0 \0the \0cart.\n\0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
+10 -8
View File
@@ -6,14 +6,16 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qEsCDCDqCDeEGsEBEBeCBsDADA",
"Be \0like \0 \0a \0 \0child \0 \0 \0 \0some \0 \0re\0 \0spect.\n\0 \0 \0 \0 \0 \0");
Play("qEsCDCDqCDeEGsEBEBeCBsDADA",
"Ma\0tur\0 \0i\0 \0ty \0 \0 \0 \0don't \0 \0ne\0 \0glect.\n\0 \0 \0 \0 \0 \0");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
}
while (!ScanKey) {
Play("3qEsCDCDqCDeEGsEBEBeCBsDADA",
"Be \0like \0 \0a \0 \0child \0 \0 \0 \0"
"some \0 \0re\0 \0spect.\n\0 \0 \0 \0 \0 \0");
Play("qEsCDCDqCDeEGsEBEBeCBsDADA",
"Ma\0tur\0 \0i\0 \0ty \0 \0 \0 \0don't \0 \0"
"ne\0 \0glect.\n\0 \0 \0 \0 \0 \0");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
Play("eBDqF2sG3A2G3AqAAAetDAAsDBDB");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -6,16 +6,20 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qBAeEEqAeAEDB2qG3F",
"$$RED$$You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n\0");
Play("BAeEEqAeAEDB2qG3F",
"You \0need \0help!\n\0 \0 \0 \0Po\0-o\0-o\0r \0dear.\n$$FG$$\0");
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
}
while (!ScanKey) {
Play("3qBAeEEqAeAEDB2qG3F",
"$$RED$$You \0need \0help!\n\0 \0 \0 \0"
"Po\0-o\0-o\0r \0dear.\n\0");
Play("BAeEEqAeAEDB2qG3F",
"You \0need \0help!\n\0 \0 \0 \0"
"Po\0-o\0-o\0r \0dear.\n$$FG$$\0");
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0"
"Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
Play("4eFGqDetFEDeDEetADEC3G4GqD3G",
"Pat\0ron\0ize? \0No, \0 \0thank \0you!\n\0 \0"
"Too \0 \0man\0y \0strings \0a\0ttach\0ed.\n\0");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+16 -16
View File
@@ -6,22 +6,22 @@ U0 Song()
music.tempo= 3.966;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("DeCCCCqCDCCR",
"Do \0You \0 \0think \0 \0 \0I'll \0app\0laud?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("GDGeGA2G3FqFeDRqB",
"$$RED$$Be\0-e-\0cause \0 \0 \0 \0I \0 \0a\0 \0m.\n\0");
Play("GDGeGA2G3FqFeDRqB",
"Are \0 \0you \0 \0 \0 \0a \0 \0fan?\n$$FG$$\0 \0 \0");
"$$GREEN$$(If God talks, how can you be sure it's not Him?\n"
"You can't, so harden not your heart.)\n$$FG$$";
}
while (!ScanKey) {
Play("3qABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("DeCCCCqCDCCR",
"Do \0You \0 \0think \0 \0 \0I'll \0app\0laud?\n\0 \0");
Play("ABeCCqABAAR",
"What \0makes \0You \0 \0 \0think \0You're \0God?\n\0 \0");
Play("GDGeGA2G3FqFeDRqB",
"$$RED$$Be\0-e-\0cause \0 \0 \0 \0I \0 \0a\0 \0m.\n\0");
Play("GDGeGA2G3FqFeDRqB",
"Are \0 \0you \0 \0 \0 \0a \0 \0fan?\n$$FG$$\0 \0 \0");
"$$GREEN$$(If God talks, how can you be sure it's not Him?\n"
"You can't, so harden not your heart.)\n$$FG$$";
}
} catch
PutExcept;
Snd(0);
+4 -2
View File
@@ -16,9 +16,11 @@ U0 Song()
Play("etGREqDDBRGCB",
"If \0 \0we \0reach \0 \0the \0 \0end \0ev\0er.\n\0");
Play("2sG3E2G3EqGsGBGBqDsFCFCqBRsCBCB",
"Hand \0 \0of \0 \0God, \0 \0just \0 \0might, \0 \0in\0 \0ter\0 \0cedes.\n\0 \0 \0 \0 \0 \0");
"Hand \0 \0of \0 \0God, \0 \0just \0 \0might, \0 \0"
"in\0 \0ter\0 \0cedes.\n\0 \0 \0 \0 \0 \0");
Play("2G3E2G3EqGsGBGBqDsFCFCqBRsCBCB",
"If \0 \0it's \0 \0not \0 \0deemed \0 \0right, \0 \0won't \0 \0suc\0 \0ceed.\n\0 \0 \0 \0 \0 \0");
"If \0 \0it's \0 \0not \0 \0deemed \0 \0right, \0 \0"
"won't \0 \0suc\0 \0ceed.\n\0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
+10 -10
View File
@@ -6,16 +6,16 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M9/8");
Play("3hDeFhDeFhDC");
Play("FeDhFeDhFE");
Play("M4/4");
Play("qD2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
Play("D2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
}
while (!ScanKey) {
Play("M9/8");
Play("3hDeFhDeFhDC");
Play("FeDhFeDhFE");
Play("M4/4");
Play("qD2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
Play("D2G3AeBFFE2qG3DA",
"Hold \0 \0on!\n\0 \0It's \0gon\0na \0be \0fine.\n\0 \0");
}
} catch
PutExcept;
Snd(0);
+10 -8
View File
@@ -5,14 +5,16 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("3sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("ACeCCsBBBBqEsCCCCqAE");
Play("ACeCCsBBBBqEsCCCCqAE");
}
while (!ScanKey) {
Play("3sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0"
"loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("sEAEAeFFsA2G3A2G3FGFGqCCBA",
"All \0 \0 \0 \0hell \0 \0breaks \0 \0 \0 \0"
"loose.\n\0 \0 \0 \0I \0will \0get \0through.\n\0");
Play("ACeCCsBBBBqEsCCCCqAE");
Play("ACeCCsBBBBqEsCCCCqAE");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+14 -12
View File
@@ -6,18 +6,20 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M3/4");
Play("3eECqAAeECqAA",
"I \0hate \0you.\n\0 \0I \0hate \0you.\n\0 \0");
Play("eDCqAAeECqAR",
" \0 \0 \0 \0I \0hate \0you.\n\0 \0");
Play("M6/8");
Play("etABGqCsGEGEetGBDqCsCDCD",
"$$RED$$Don't \0 \0 \0smile.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("etABGqCsGEGEetGBDqCsCDCD",
"Don't \0 \0 \0smile.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("M3/4");
Play("3eECqAAeECqAA",
"I \0hate \0you.\n\0 \0I \0hate \0you.\n\0 \0");
Play("eDCqAAeECqAR",
" \0 \0 \0 \0I \0hate \0you.\n\0 \0");
Play("M6/8");
Play("etABGqCsGEGEetGBDqCsCDCD",
"$$RED$$Don't \0 \0 \0smile.\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0");
Play("etABGqCsGEGEetGBDqCsCDCD",
"Don't \0 \0 \0smile.$$FG$$\n\0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+13 -8
View File
@@ -4,14 +4,19 @@ U0 Song()
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo=2.5;
while (TRUE) {
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0figured \0 \0 \0out.\n\0");
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0figured \0 \0 \0out.\n\0");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
}
try {
while (TRUE) {
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0"
"figured \0 \0 \0out.\n\0");
Play("et2G32G3Gq2G3qCq2G3sFAFAq2G3etGDAqA",
"Don't \0 \0need \0 \0help. \0 \0Got \0 \0it \0 \0all \0"
"figured \0 \0 \0out.\n\0");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
Play("etCCCq2G3qDeDFetCF2G3qBeGFsAGAG");
}
} catch
PutExcept;
}
Song;
+53 -12
View File
@@ -1,24 +1,65 @@
//8 has words
//8 has graphics
#define NUM 10
#define RAD_PROP 60
#define RAD_PRISM 8
I32 rainbow_10[NUM]={
RED,LTRED,BROWN,YELLOW,GREEN,LTGREEN,BLUE,LTBLUE,PURPLE,LTPURPLE};
#define X 320
#define Y 35
F64 t0=Beat;
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 dt=16*Sin(ã*(Beat-t0)/8),é;
dc->color=WHITE;
é=ã*dt+0.5;
GrLine(dc,X+RAD_PRISM*Cos(é) ,Y+RAD_PRISM*Sin(é),
X+RAD_PRISM*Cos(é+2*ã/3),Y+RAD_PRISM*Sin(é+2*ã/3));
GrLine(dc,X+RAD_PRISM*Cos(é+2*ã/3),Y+RAD_PRISM*Sin(é+2*ã/3),
X+RAD_PRISM*Cos(é+4*ã/3),Y+RAD_PRISM*Sin(é+4*ã/3));
GrLine(dc,X+RAD_PRISM*Cos(é+4*ã/3),Y+RAD_PRISM*Sin(é+4*ã/3),
X+RAD_PRISM*Cos(é),Y+RAD_PRISM*Sin(é));
for (i=0;i<NUM;i++) {
é=ã/8*ToF64(i)/NUM*(3+2*Sin(ã*dt/8))/3+ã*dt;
dc->color=WHITE;
GrLine(dc,X,Y,X-RAD_PROP*Cos(é),Y-RAD_PROP*Sin(é));
dc->color=rainbow_10[i];
GrLine(dc,X,Y,X+RAD_PROP*Cos(é),Y+RAD_PROP*Sin(é));
}
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->text_attr=BLACK<<4+WHITE;
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0I\0mag\0 \0ine.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0 \0Fa\0 \0thom.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("GFGFEBEBeCB2qG3sFAFAqCEA",
"Hi-\0 \0i-\0gh \0as \0 \0your \0 \0thoughts \0will \0go.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("sGFGFEBEBeCB2qG3sFAFAqCEA",
"Deep \0 \0 \0as \0 \0 \0we \0 \0ought \0to \0know.\n\0 \0 \0 \0 \0 \0 \0 \0");
}
"$$BG+H,BLACK$$$$FD+H,WHITE$$";
while (!ScanKey) {
t0=Beat;
Play("3qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0I\0mag\0 \0ine.\n\0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qAsDGDGqAsCACAeCBsFDFDetCGAsADAD",
" \0 \0Fa\0 \0thom.\n\0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("GFGFEBEBeCB2qG3sFAFAqCEA",
"Hi-\0 \0i-\0gh \0as \0 \0your \0 \0thoughts \0"
"will \0go.\n\0 \0 \0 \0 \0 \0 \0 \0");
Play("sGFGFEBEBeCB2qG3sFAFAqCEA",
"Deep \0 \0 \0as \0 \0 \0we \0 \0ought \0to \0"
"know.\n\0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
SettingsPop;
}
Song;
+10 -8
View File
@@ -5,14 +5,16 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0 \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0 \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
Play("3sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
}
while (!ScanKey) {
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0"
" \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("2qG3sDADAeF2G3etFDCBA2G3qAetGFC2eG3E",
" \0Let's \0 \0try. \0 \0 \0 \0O\0oh\0 \0h. \0"
" \0 \0 \0Didn't \0 \0 \0work.\n\0 \0");
Play("sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
Play("3sA2G3A2G3eBCsE2G3E2G3qGsFEFEDBDBeAG2etG3B2G");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+9 -8
View File
@@ -6,14 +6,15 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
"$$GREEN$$To God...$$FG$$\n";
Play("M5/4");
Play("3eEqCeEFEDCqBeEqCeEFEDCqB",
"Fa\0ther, \0for\0give \0them \0if \0you \0must.\n\0I'd \0like \0to \0see \0them \0turn \0to \0dust.\n\0");
Play("M4/4");
Play("sGBGBetAF2G3eEFsEGEGqDsBDBDGFGF2etG3GB");
}
while (!ScanKey) {
"$$GREEN$$To God...$$FG$$\n";
Play("M5/4");
Play("3eEqCeEFEDCqBeEqCeEFEDCqB",
"Fa\0ther, \0for\0give \0them \0if \0you \0must.\n\0"
"I'd \0like \0to \0see \0them \0turn \0to \0dust.\n\0");
Play("M4/4");
Play("sGBGBetAF2G3eEFsEGEGqDsBDBDGFGF2etG3GB");
}
} catch
PutExcept;
Snd(0);
+16 -8
View File
@@ -9,11 +9,15 @@ U0 Song()
try {
task=PopUpViewPrint(
"$$WW+H,1$$You get what you pray for. "
"Most people are fools like King Midas. People have laughable notions of Heaven. "
"You'd be surprised -- I can't imagine things being much better than Earth "
"Most people are fools like King Midas."
" People have laughable notions of Heaven. "
"You'd be surprised -- I can't imagine things being "
"much better than Earth "
"because we need a sense of purpose. "
"Don't ask for stuff, let God pick, but He might get annoyed at that. "
"God wants us to be happy. He tries hard. If you do get what you pray for, you damn "
"Don't ask for stuff, let God pick, but He might get "
"annoyed at that. "
"God wants us to be happy. He tries hard. If you do get what "
"you pray for, you damn "
"well better be happy, lil' sonfabitch!\n\n"
"$LK,"Ecclesiastes,3:13",A="BF:Ecclesiastes,3:13"$\n"
"$LK,"John,16:24",A="BF:John,16:24"$\n"
@@ -24,13 +28,17 @@ U0 Song()
DocRecalc(DocPut(task)); //Reformat word-wrap with new window size.
while (!ScanKey) {
Play("3qBeCDqCAetAACeECsF2G3F2GqG",
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0God.\n\0 \0 \0 \0 \0");
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0"
"God.\n\0 \0 \0 \0 \0");
Play("3BeCDqCAetAACeECsF2G3F2GqG",
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0God.\n\0 \0 \0 \0 \0");
"I'm \0on \0a \0mis\0sion \0from \0 \0 \0my \0 \0"
"God.\n\0 \0 \0 \0 \0");
Play("3etEDDDGABG2GeG3E2G3GqF2G3etGCD",
"He \0 \0 \0told \0 \0 \0me \0 \0 \0 \0to \0 \0be \0hap\0py.\n\0 \0 \0 \0");
"He \0 \0 \0told \0 \0 \0me \0 \0 \0 \0to \0 \0"
"be \0hap\0py.\n\0 \0 \0 \0");
Play("EDDDGABG2GeG3E2G3GqF2G3etGCD",
"He \0 \0 \0said \0 \0 \0to \0 \0 \0 \0make \0 \0it \0snap\0py.\n\0 \0 \0 \0");
"He \0 \0 \0said \0 \0 \0to \0 \0 \0 \0make \0 \0"
"it \0snap\0py.\n\0 \0 \0 \0");
}
} catch
PutExcept;
+8 -4
View File
@@ -23,13 +23,17 @@ U0 Song()
DocClear;
"$$BG,LTCYAN$$$$BLACK$$";
Play("3eEDsBABA2qG3etGECFDBECFCBReBE",
"Come \0and \0sing \0 \0a\0 \0long. \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
"Come \0and \0sing \0 \0a\0 \0long. \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
Play("EDsBABA2qG3etGECFDBECFCBReBE",
"Of\0fer \0praise \0 \0to \0 \0God. \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
"Of\0fer \0praise \0 \0to \0 \0God. \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0\n\0 \0 \0 \0");
Play("qBeDF2qG3eFRqBetFFGeACDF",
"Up \0in \0His \0hea\0ven \0 \0He \0is \0 \0 \0glor\0i\0ous.\n\0 \0");
"Up \0in \0His \0hea\0ven \0 \0He \0is \0 \0"
" \0glor\0i\0ous.\n\0 \0");
Play("qBeDF2qG3eFRqBetFFGeACDF",
"Break \0in\0to \0song. \0 \0 \0Strike-\0up \0 \0 \0the \0chor\0us.\n\0 \0");
"Break \0in\0to \0song. \0 \0 \0Strike-\0up \0 \0 \0"
"the \0chor\0us.\n\0 \0");
}
} catch
PutExcept;
+14 -12
View File
@@ -4,15 +4,15 @@ U0 DrawIt(CTask *,CDC *dc)
I64 i;
F64 dt=Beat%8.0,z,w,x1,y1,z1,x2,y2,z2;
Bool first=TRUE;
DCAllocDepthBuf(dc);
DCDepthBufAlloc(dc);
dc->flags|=DCF_TRANSFORMATION;
dc->x=30*dt+20.0*Sin(dt)+25;
dc->y=10*dt-15;
dc->z=GR_Z_ALL;
GrRotXEqu(dc->r,0.75*dt);
GrRotYEqu(dc->r,0.45*dt);
GrRotZEqu(dc->r,0.50*dt);
GrScaleEqu(dc->r,0.5);
Mat4x4RotX(dc->r,0.75*dt);
Mat4x4RotY(dc->r,0.45*dt);
Mat4x4RotZ(dc->r,0.50*dt);
Mat4x4Scale(dc->r,0.5);
for (i=-50;i<40;i+=2) {
if (i&2)
dc->color=LTGRAY;
@@ -46,13 +46,15 @@ U0 Song()
try {
"$$BG+H,LTCYAN$$";
while (!ScanKey) {
Play("3qEAAetF2G3GqDFetFED2eG3G",
"A\0dam... \0 \0no \0 \0 \0long\0er \0sees \0Your \0face.\n\0 \0 \0");
Play("qEAAetF2G3GqDFetFED2eG3G",
"Oh! \0 \0 \0What \0 \0a \0wretch\0ed \0bar\0ren \0waste!\n\0 \0 \0");
Play("qACFeBCB2GqG3ED",
" \0 \0 \0 \0 \0 \0 \0 \0Ex\0iled.\n\0");
Play("ACFeBCB2GqG3ED");
Play("3qEAAetF2G3GqDFetFED2eG3G",
"A\0dam... \0 \0no \0 \0 \0long\0er \0sees \0"
"Your \0face.\n\0 \0 \0");
Play("qEAAetF2G3GqDFetFED2eG3G",
"Oh! \0 \0 \0What \0 \0a \0wretch\0ed \0bar\0"
"ren \0waste!\n\0 \0 \0");
Play("qACFeBCB2GqG3ED",
" \0 \0 \0 \0 \0 \0 \0 \0Ex\0iled.\n\0");
Play("ACFeBCB2GqG3ED");
}
} catch
PutExcept;
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("eGE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
Play("GE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
}
while (!ScanKey) {
Play("3e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("e.C2sG3qEe.FsBeCCsFGeBAAetAREeEsCB");
Play("eGE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
Play("GE2qG3sCDCDe.EsGqCsDCDCe.AsReGE");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+6 -3
View File
@@ -18,14 +18,17 @@ U0 Song()
"$$WW+H,1$$";
while (!ScanKey) {
Play("3qGGsEAEAqAsF2G3F2G3qCeEFqD",
"Life, \0life, \0isn't \0 \0 \0 \0fair. \0Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
"Life, \0life, \0isn't \0 \0 \0 \0fair. \0"
"Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
Play("GGsEAEAqAsF2G3F2G3qCeEFqD",
"Waaa, \0waaa, \0isn't \0 \0 \0 \0fair. \0Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
"Waaa, \0waaa, \0isn't \0 \0 \0 \0fair. \0"
"Isn't \0 \0 \0 \0fair.\n\0 \0 \0 \0");
Play("eFCqEBDBE2eG3EsFEFE",
" \0 \0I \0 \0ne\0ver \0sin.\n\0 \0 \0 \0 \0 \0 \0");
Play("eFCqEBDBE2eG3EsFEFE",
" \0 \0I \0 \0ne\0ver \0win.\n\0 \0 \0 \0 \0 \0 \0");
"$$GREEN$$(A warning on presumption. 'Who loves more man -- forgiven big debt or little?' See prodigal son.)$$FG$$\n";
"$$GREEN$$(A warning on presumption. 'Who loves more man --"
" forgiven big debt or little?' See prodigal son.)$$FG$$\n";
}
} catch
PutExcept;
+15 -11
View File
@@ -6,17 +6,21 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.857;
try {
while (!ScanKey) {
Play("3eEDEFqDDeEDEDqCC",
"$$CL$$Sit\0ting \0in \0a \0church\n\0 \0wond\0ering \0to \0my\0self,\n\0 \0");
Play("eD2G3BCqDsGGGGeD2G3BCqDsGGGG",
"\"Is \0 \0God \0 \0real?\"\n\0 \0 \0 \0 \0\"At \0 \0the \0 \0wheel?\"\n\0 \0 \0 \0 \0");
"$$GREEN$$God talking...\n$$FG$$";
Play("qFFFetREAqGsGFGFGEGEqC",
"$$RED$$Oh, \0Hell \0yes!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("FFFetREAqGsGFGFGEGEqC",
"Pass \0the \0test.$$FG$$\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("3eEDEFqDDeEDEDqCC",
"$$CL$$Sit\0ting \0in \0a \0church\n\0 \0"
"wond\0ering \0to \0my\0self,\n\0 \0");
Play("eD2G3BCqDsGGGGeD2G3BCqDsGGGG",
"\"Is \0 \0God \0 \0real?\"\n\0 \0 \0 \0 \0"
"\"At \0 \0the \0 \0wheel?\"\n\0 \0 \0 \0 \0");
"$$GREEN$$God talking...\n$$FG$$";
Play("qFFFetREAqGsGFGFGEGEqC",
"$$RED$$Oh, \0Hell \0yes!\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("FFFetREAqGsGFGFGEGEqC",
"Pass \0the \0test.$$FG$$\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
Binary file not shown.
Binary file not shown.
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("3sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sGBGB2etG3EGqFED2G3eBADG");
Play("sGBGB2etG3EGqFED2G3eBADG");
}
while (!ScanKey) {
Play("3sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sDDeBCsAAeB2G3A2F3sCCeDsFFeEsFFEEeDE");
Play("sGBGB2etG3EGqFED2G3eBADG");
Play("sGBGB2etG3EGqFED2G3eBADG");
}
} catch
PutExcept;
Snd(0);
+10 -8
View File
@@ -6,14 +6,16 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.714;
try {
while (!ScanKey) {
Play("3sBBBBEBDBeEBqDeBBEDEBqD",
" \0 \0 \0 \0Had \0 \0a \0 \0pass\0ing \0thought.\n\0 \0 \0Not \0a \0thought \0I \0ought.\n\0");
Play("sFEFEeFEDBqDeEFEBABqD",
"Can't \0 \0 \0 \0clear \0my \0head \0of \0thought.\n\0In \0this \0trap \0my \0mind \0is \0caught.\n\0");
Play("eDGqEeBAABqFeBDqEA");
Play("eDGqEeBAABqFeBDqEA");
}
while (!ScanKey) {
Play("3sBBBBEBDBeEBqDeBBEDEBqD",
" \0 \0 \0 \0Had \0 \0a \0 \0pass\0ing \0"
"thought.\n\0 \0 \0Not \0a \0thought \0I \0ought.\n\0");
Play("sFEFEeFEDBqDeEFEBABqD",
"Can't \0 \0 \0 \0clear \0my \0head \0of \0"
"thought.\n\0In \0this \0trap \0my \0mind \0is \0caught.\n\0");
Play("eDGqEeBAABqFeBDqEA");
Play("eDGqEeBAABqFeBDqEA");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
Binary file not shown.
+14 -10
View File
@@ -6,16 +6,20 @@ U0 Song()
music.tempo= 1.930;
music.stacatto_factor= 0.604;
try {
while (!ScanKey) {
Play("3sEqAsDeCqAsEqAsDeCqAsDeEqEsE",
"Jes\0us \0kind \0of \0freaks,\n\0Jes\0us \0kind \0of \0freaks,\n\0are \0dif\0ferent \0 \0");
Play("eDqCsDeCqBsBeBqAetBEDqBeCB",
"from \0 \0oth\0er\n\0 \0 \0peo\0ple.\n\0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG3FsCDCDqFetBACBEDqBeCB",
"care,\n\0for \0God \0 \0is \0their \0 \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG3FsCDCDqFetBAC",
"care,\n\0for \0God \0 \0is \0their \0 \0joy!\n\0 \0 \0 \0");
}
while (!ScanKey) {
Play("3sEqAsDeCqAsEqAsDeCqAsDeEqEsE",
"Jes\0us \0kind \0of \0freaks,\n\0"
"Jes\0us \0kind \0of \0freaks,\n\0are \0dif\0ferent \0 \0");
Play("eDqCsDeCqBsBeBqAetBEDqBeCB",
"from \0 \0oth\0er\n\0 \0 \0"
"peo\0ple.\n\0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG3FsCDCDqFetBACBEDqBeCB",
"care,\n\0for \0God \0 \0is \0"
"their \0 \0joy!\n\0 \0 \0 \0 \0 \0 \0 \0They \0don't \0");
Play("2qGeG3FsCDCDqFetBAC",
"care,\n\0for \0God \0 \0is \0"
"their \0 \0joy!\n\0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+13 -10
View File
@@ -24,10 +24,10 @@ U0 DrawIt(CTask *,CDC *dc)
return;
dc->flags|=DCF_TRANSFORMATION;
GrRotXEqu(dc->r,ã/4);
Mat4x4RotX(dc->r,ã/4);
é=Wrap(ã-Windé);
GrRotZEqu(dc->r,-ã/2+é/10);
Mat4x4RotZ(dc->r,-ã/2+é/10);
dc->color=BLUE;
dc->x=x;
@@ -42,10 +42,10 @@ U0 DrawIt(CTask *,CDC *dc)
r=tempb->radius*Min(1.0,0.25+2*(Beat-tempb->t0));
for (é=0;é<2*ã;é+=ã/2) {
x1=10*Cos(é);y1=10*Sin(é);z1=0;
GrTransform(dc,&x1,&y1,&z1);
DCTransform(dc,&x1,&y1,&z1);
x2=r*Cos(é);y2=r*Sin(é);z2=0;
GrTransform(dc,&x2,&y2,&z2);
DCTransform(dc,&x2,&y2,&z2);
GrLine(dc,x1,y1,tempb->x-x+x2,tempb->y-y+y2);
}
@@ -57,7 +57,7 @@ U0 DrawIt(CTask *,CDC *dc)
GrCircle(dc,tempb->x,tempb->y,tempb->radius);
dc->color=LTGRAY;
GrCircle(dc,tempb->x+0.65*tempb->radius*Cos(5*ã/8),
tempb->y-0.65*tempb->radius*Sin(5*ã/8),1.0+0.2*tempb->radius);
tempb->y-0.65*tempb->radius*Sin(5*ã/8),1.0+0.2*tempb->radius);
tempb=tempb->last;
}
LBtr(&flags,0);
@@ -103,7 +103,7 @@ U0 AnimateTask(I64)
tempb->y +=-dt*(20*Sin(é)+tempb->dy);
if (!(0<=tempb->x<task->pix_width) ||
!(0<=tempb->y<task->pix_height) ) {
!(0<=tempb->y<task->pix_height) ) {
QueRem(tempb);
Free(tempb);
}
@@ -133,7 +133,7 @@ U0 Song()
{
CTask *task;
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Preempt(OFF);
Preempt;
Init;
Fs->animate_task=Spawn(&AnimateTask,NULL,"Animate",,Fs);
Fs->draw_it=&DrawIt;
@@ -148,11 +148,14 @@ U0 Song()
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("3qEEBeBDsBBBBqDsBFBFD2G3D2G",
"Free \0will... \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0 \0fail.\n\0 \0 \0 \0");
"Free \0will... \0 \0 \0 \0 \0 \0 \0 \0 \0"
"I \0 \0 \0 \0fail.\n\0 \0 \0 \0");
Play("3qEEBeBDsBBBBqDsBFBFD2G3D2G",
"God \0still... \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0 \0hail.\n\0 \0 \0 \0");
"God \0still... \0 \0 \0 \0 \0 \0 \0 \0 \0"
"I \0 \0 \0 \0hail.\n\0 \0 \0 \0");
Play("3qD2G3eA2G3qCetECAqBsACACqA",
"All \0things \0work \0for \0good... \0to \0the \0Lord.\n\0 \0 \0 \0 \0 \0 \0");
"All \0things \0work \0for \0good... \0"
"to \0the \0Lord.\n\0 \0 \0 \0 \0 \0 \0");
Play("D2G3eA2G3qCetECAqBsACACqA",
"It's \0all \0good... \0 \0 \0as\0 \0sured.\n\0 \0 \0 \0 \0 \0 \0");
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+12 -10
View File
@@ -6,16 +6,18 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qAeCDqEAeCDECDECsCC",
"I \0don't \0 \0know.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qAeCDqEAeCDECDECsCC",
"Let's \0go \0 \0slow.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("eDAGAqDsECECCBCBeAFsDCeGDE",
"You \0 \0say \0 \0that, \0God?\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("DAGAqDsECECCBCBeAFsDCeGDE",
"It \0 \0sounds \0 \0odd.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("3qAeCDqEAeCDECDECsCC",
"I \0don't \0 \0know.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qAeCDqEAeCDECDECsCC",
"Let's \0go \0 \0slow.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("eDAGAqDsECECCBCBeAFsDCeGDE",
"You \0 \0say \0 \0that, \0God?\n\0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("DAGAqDsECECCBCBeAFsDCeGDE",
"It \0 \0sounds \0 \0odd.\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.758;
try {
while (!ScanKey) {
Play("3qBeABqA2G3AB2hG");
Play("3sCCCCqBsAAAA2qG3sCCCCqE2GR");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
}
while (!ScanKey) {
Play("3qBeABqA2G3AB2hG");
Play("3sCCCCqBsAAAA2qG3sCCCCqE2GR");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
Play("3sBDBDA2G3A2G3etAAEsGCGCetFFEqDFeE2G");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+74 -3
View File
@@ -1,6 +1,75 @@
//7 has words
//7 has graphics
#define WIDTH 17.0
#define X 290
#define Y 25
F64 t0=Beat;
U0 DrawIt(CTask *,CDC *dc)
{
F64 dt=Beat-t0,d,y,x1,y1,x2,y2;
I64 i,j;
dc->color=BLACK;
dc->pen_width=7;
for (i=0;i<4;i++) {
y=0;
d=dt%4;
if (d<1) {
d+=0.25*i;
if (d<1.0)
y=Tri(d,1)`2.0;
}
x1=X+(i-2.5)*WIDTH;
y1=50-20*y;
GrLine3(dc,x1,y1,0,(X*3+x1)/4,Y,0);
}
x1=X+1.3*WIDTH;
y1=37;
GrLine3(dc,x1,y1,0,(X*3+x1)/4,Y,0);
for (i=0;i<4;i++) {
y=0;
d=dt%4;
if (d<1) {
d+=0.25*i;
if (d<1.0)
y=Tri(d,1)`2.0;
}
x1=X+(i-2.5)*WIDTH;
y1=50-20*y;
dc->color=YELLOW;
dc->pen_width=5;
GrLine3(dc,x1,y1,0,(X*3+x1)/4,Y,0);
dc->color=BLACK;
for (j=0;j<4;j++) {
x2=(x1*(4-j)+(X*3+x1)/4*j)/4;
y2=(y1*(4-j)+Y*j)/4;
GrLine(dc,x2-2,y2,x2,y2-1);
GrLine(dc,x2,y2-1,x2+1,y2);
}
}
x1=X+1.3*WIDTH;
y1=37;
dc->color=YELLOW;
dc->pen_width=5;
GrLine3(dc,x1,y1,0,(X*3+x1)/4,Y,0);
dc->color=BLACK;
x2=0.6*x1+0.4*(X*3+x1)/4;
y2=0.6*y1+0.4*Y;
GrLine(dc,x2,y2-1,x2-1,y2+1);
x2=0.2*x1+0.8*(X*3+x1)/4;
y2=0.2*y1+0.8*Y;
GrLine(dc,x2-1,y2,x2-1,y2+2);
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
CTask *task;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
@@ -16,18 +85,20 @@ U0 Song()
WinHorz(Fs->win_left,Fs->win_right,task);
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
t0=Beat;
Play("3qBBE2GG3FFC",
"We \0are \0in \0the \0image \0of \0God.\n\0 \0");
Play("BBE2GG3FFC",
"Some \0people's \0prayer \0is \0ver\0y \0odd.\n\0 \0");
Play("eGDqCB2G3eGEqEC2G",
"They \0don't \0love \0Him.\n\0 \0They \0love \0their \0neigh\0bor.\n\0");
"They \0don't \0love \0Him.\n\0 \0"
"They \0love \0their \0neigh\0bor.\n\0");
Play("3eGDqCB2G3eGEqEC2G",
"Pest\0er\0ing \0Him.\n\0 \0Ask\0ing \0for \0fav\0ors.\n\0");
}
} catch
PutExcept;
Snd(0);
SettingsPop;
}
Song;
Binary file not shown.
Binary file not shown.
+4 -2
View File
@@ -12,9 +12,11 @@ U0 Song()
"$$WW+H,1$$";
while (!ScanKey) {
Play("3eGAetCCCFFDqAeAAFAAFqG",
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0the \0 \0 \0com\0mands.\n\0");
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0"
"the \0 \0 \0com\0mands.\n\0");
Play("eGAetCCCFFDqAeAAFAAFqG",
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0the \0 \0 \0com\0mands.\n\0");
"I \0 \0have \0 \0 \0kept \0 \0 \0 \0 \0 \0"
"the \0 \0 \0com\0mands.\n\0");
Play("EeEGqEeEEqDBetCCGqC",
"What \0 \0 \0else \0 \0 \0must \0I \0do?\n\0 \0 \0 \0");
Play("EeEGqEeEEqDBetCCGqC",
+75 -17
View File
@@ -1,29 +1,87 @@
//7 has words
//9 has graphics
#define RAD 20
#define WIDTH 16
F64 t0=Beat;
U0 DrawIt(CTask *,CDC *dc)
{
F64 dt=Beat-t0,x1,y1,x2,y2,z,dé;
I64 i;
DCDepthBufAlloc(dc);
dc->x=200;
dc->y=70;
dc->z=GR_Z_ALL;
dc->flags|=DCF_TRANSFORMATION;
Mat4x4RotX(dc->r,ã/4);
Mat4x4RotY(dc->r,Sin(ã*dt/23)/5);
if (dt<28)
dé=-2*ã/8+(dt+16)*Sin(-ã*dt)/3000;
else if (dt<32)
dé=-2*ã/8-2*ã/8*(dt-28)/4;
else
dé=-2*ã/4;
z=WIDTH*3;
x1=-12; y1=0;
x2=x1-RAD/2*Cos(dé);
y2=y1+RAD*Sin(dé);
dc->color=BLACK;
dc->pen_width=14;
GrLine3(dc,x1,y1,z,x2,y2,z);
dc->color=YELLOW;
dc->pen_width=12;
GrLine3(dc,x1,y1,z,x2,y2,z);
for (z=0;z<WIDTH*4;z+=WIDTH) {
x1=-RAD; y1=0;
for (i=0;i<4;i++) {
x2=x1-RAD*Cos(dé*i);
y2=y1+RAD*Sin(dé*i);
dc->color=BLACK;
dc->pen_width=10;
GrLine3(dc,x1,y1,z,x2,y2,z);
dc->color=YELLOW;
dc->pen_width=8;
GrLine3(dc,x1,y1,z,x2,y2,z);
x1=x2; y1=y2;
}
}
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("M4/4");
Play("3qBsEGeBDe.AsCeA2qF3sBBeACBBsBB",
"I \0could \0 \0 \0die.\n\0 \0 \0 \0 \0 \0 \0 \0Could \0I \0kill?\n\0 \0 \0");
Play("qBsEGeBDe.AsCeA2qF3sBBeACBBsBB",
"I'm \0not \0 \0 \0spry.\n\0 \0 \0 \0 \0 \0 \0 \0I \0best \0chill.\n\0 \0 \0");
Play("eDDsGFGFeEBqGM5/4",
"If \0 \0God \0 \0 \0 \0 \0 \0asked,\n\0");
Play("eBGF4A3e.FsEqAAM4/4",
" \0\"$$RED$$Can \0 \0 \0you \0 \0Kill?$$FG$$\"\n\0 \0");
Play("eDDsGFGFeEBqGM5/4",
"I \0 \0think, \0 \0 \0 \0 \0 \0\"Yeah.\"\n\0");
Play("eBGF4A3e.FsEqAA",
" \0\"Right \0 \0 \0my \0 \0will.\"\n\0 \0");
}
while (!ScanKey) {
t0=Beat;
Play("M4/4");
Play("3qBsEGeBDe.AsCeA2qF3sBBeACBBsBB",
"I \0could \0 \0 \0die.\n\0 \0 \0"
" \0 \0 \0 \0 \0Could \0I \0kill?\n\0 \0 \0");
Play("qBsEGeBDe.AsCeA2qF3sBBeACBBsBB",
"I'm \0not \0 \0 \0spry.\n\0 \0 \0 \0 \0 \0"
" \0 \0I \0best \0chill.\n\0 \0 \0");
Play("eDDsGFGFeEBqGM5/4",
"If \0 \0God \0 \0 \0 \0 \0 \0asked,\n\0");
Play("eBGF4A3e.FsEqAAM4/4",
" \0\"$$RED$$Can \0 \0 \0you \0 \0Kill?$$FG$$\"\n\0 \0");
Play("eDDsGFGFeEBqGM5/4",
"I \0 \0think, \0 \0 \0 \0 \0 \0\"Yeah.\"\n\0");
Play("eBGF4A3e.FsEqAA",
" \0\"Right \0 \0 \0my \0 \0will.\"\n\0 \0");
}
} catch
PutExcept;
Snd(0);
SettingsPop;
}
Song;
Binary file not shown.
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.976;
music.stacatto_factor= 0.538;
try {
while (!ScanKey) {
Play("3qEDCDeEEqEeDDqD");
Play("EDCDeEEqEeDDqD");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
}
while (!ScanKey) {
Play("3qEDCDeEEqEeDDqD");
Play("EDCDeEEqEeDDqD");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
Play("eDAsFDFDqFsFBFB2qG3etBBBqFC");
}
} catch
PutExcept;
Snd(0);
+5 -5
View File
@@ -2,7 +2,7 @@
U0 DrawIt(CTask *task,CDC *dc)
{
F64 x1,x2,y1,y2,x3,y3,radius,pedals,é,t=Beat,
cx=335,cy=task->pix_height>>1;
cx=335,cy=task->pix_height>>1;
Bool first=TRUE;
radius=cy*(1.0+Sin(2*ã*t));
@@ -36,13 +36,13 @@ U0 Song()
try {
while (TRUE) {
Play("qBq2G3sGAGAetCBBqAq2G3sBBBBeFE",
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
Play("qBq2G3sGAGAetCBBqAq2G3sBBBBeFE",
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
"I \0am \0feeling \0 \0 \0 \0 \0 \0brave.\n\0");
Play("qCsDEDEq2G3qDqBqAqGq2G3",
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
Play("qCsDEDEq2G3qDqBqAqGq2G3",
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
"Test \0me \0 \0 \0 \0Lord. \0See \0if \0I'm \0wor\0thy.\n\0");
}
} catch
PutExcept;
Binary file not shown.
+15 -11
View File
@@ -5,17 +5,21 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
"$$WW+H,1$$";
while (!ScanKey) {
Play("3qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0 \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0 \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
}
"$$WW+H,1$$";
while (!ScanKey) {
Play("3qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0"
"Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("qAAsG2G3G2G3qGF2eG3FqEetCBA",
"Let's \0ask \0Mike\0 \0 \0 \0y; \0"
"Hates \0 \0every\0thing.\n\0 \0 \0 \0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0"
" \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
Play("2eG3GqE2eG3FqF2sG3G2G3GqAetGEBqD",
"What \0do \0YOU \0 \0 \0know. \0"
" \0 \0 \0 \0 \0It's \0 \0kosh\0er!\n\0");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("eG2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
Play("3G2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
}
while (!ScanKey) {
Play("3sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("sCGCGetADD2sG3G2G3GFAFADDDDqGsB2G3B2G3qG");
Play("eG2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
Play("3G2G3qEeAsA2G3qAsEAEADEDEqFeA2G");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+8 -8
View File
@@ -5,14 +5,14 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("C2G3sGFGFDCDCetE2G3CGFAqDeFC");
Play("qC2G3sGFGFDCDCetE2G3CGFAqDeFC");
}
while (!ScanKey) {
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("2eG3DGDqGetA2G3B2qG3GCE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0It's \0ko\0sher.\n\0");
Play("C2G3sGFGFDCDCetE2G3CGFAqDeFC");
Play("qC2G3sGFGFDCDCetE2G3CGFAqDeFC");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -5,16 +5,20 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("qRsR2GRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0He \0 \0is \0 \0 \0our \0 \0 \0 \0per\0son\0al \0sav\0ior.\n\0");
Play("qRsRGRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0We \0 \0can \0ne\0 \0ver \0 \0 \0 \0re\0turn \0the \0fav\0or.\n\0");
Play("3CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0 \0 \0 \0 \0works \0 \0 \0for \0me.\n\0");
Play("CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0 \0 \0It's \0 \0works \0 \0 \0for \0me.\n\0");
}
while (!ScanKey) {
Play("qRsR2GRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0He \0 \0is \0 \0 \0our \0 \0 \0 \0"
"per\0son\0al \0sav\0ior.\n\0");
Play("qRsRGRGeGR3qA2etG3EEqEeDCB2G",
" \0 \0We \0 \0can \0ne\0 \0ver \0 \0 \0 \0"
"re\0turn \0the \0fav\0or.\n\0");
Play("3CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0"
" \0 \0 \0 \0works \0 \0 \0for \0me.\n\0");
Play("CBBGsF2G3F2G3qBsBBBB2eG3AetBBGeBF",
" \0 \0 \0That's \0 \0O.\0 \0K. \0 \0 \0 \0"
" \0 \0It's \0 \0works \0 \0 \0for \0me.\n\0");
}
} catch
PutExcept;
Snd(0);
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.780;
try {
while (!ScanKey) {
Play("3eCDBCA2FFF3C2F3E2F3A2F3sEEeD");
Play("F2FFF3qCeF2F3F2FFF3qCeF2F");
Play("3qGsEAEAqBetDCF2qG3DsGDGDetCRC");
Play("qGsEAEAqBetDCF2qG3DsGDGDetCRC");
}
while (!ScanKey) {
Play("3eCDBCA2FFF3C2F3E2F3A2F3sEEeD");
Play("F2FFF3qCeF2F3F2FFF3qCeF2F");
Play("3qGsEAEAqBetDCF2qG3DsGDGDetCRC");
Play("qGsEAEAqBetDCF2qG3DsGDGDetCRC");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -6,16 +6,20 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qGsARARCBCBeACACGCGBAsEA",
"I'm \0mak\0 \0ing \0 \0some\0 \0thing \0 \0 \0 \0 \0 \0for \0 \0God.\n\0 \0 \0 \0 \0");
Play("qGsARARCBCBeACACGCGBAsEA",
"I'm \0mak\0 \0ing \0 \0some\0 \0thing \0 \0 \0 \0 \0 \0for \0 \0God.\n\0 \0 \0 \0 \0");
Play("eAsCEqEsDECEqAsDACAeAGFsBDeCB",
" \0 \0 \0I \0hope \0 \0He \0 \0 \0likes \0 \0it.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("AsCEqEsDECEqAsDACAeAGFsBDeCB",
" \0 \0 \0I \0hope \0 \0He \0 \0 \0likes \0 \0it.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("3qGsARARCBCBeACACGCGBAsEA",
"I'm \0mak\0 \0ing \0 \0some\0 \0thing \0"
" \0 \0 \0 \0 \0for \0 \0God.\n\0 \0 \0 \0 \0");
Play("qGsARARCBCBeACACGCGBAsEA",
"I'm \0mak\0 \0ing \0 \0some\0 \0thing \0"
" \0 \0 \0 \0 \0for \0 \0God.\n\0 \0 \0 \0 \0");
Play("eAsCEqEsDECEqAsDACAeAGFsBDeCB",
" \0 \0 \0I \0hope \0 \0He \0 \0 \0likes \0"
" \0it.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("AsCEqEsDECEqAsDACAeAGFsBDeCB",
" \0 \0 \0I \0hope \0 \0He \0 \0 \0likes \0"
" \0it.\n\0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+47 -9
View File
@@ -1,17 +1,55 @@
//8 has words
//8 has graphics
#define X 25
#define H 5
F64 t0=Beat;
U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 dt=Beat-t0;
dc->x=325;
dc->y=40;
dc->z=GR_Z_ALL;
dc->flags|=DCF_TRANSFORMATION;
Mat4x4RotZ(dc->r,ã*dt/8);
Mat4x4RotX(dc->r,3*ã/8);
for (i=0;i<=2*H;i+=H) {
GrLine3(dc,-X,-X,i,X,-X,i);
GrLine3(dc,X,-X,i,X,X,i);
GrLine3(dc,X,X,i,-X,X,i);
GrLine3(dc,-X,X,i,-X,-X,i);
}
GrLine3(dc,-X,-X,0,-X,-X,2*H);
GrLine3(dc,X,-X,0,X,-X,2*H);
GrLine3(dc,-X,X,0,-X,X,2*H);
GrLine3(dc,X,X,0,X,X,2*H);
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo=2.5;
while (TRUE) {
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0Hope \0we're \0right.\n\0");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0Hope \0we're \0right.\n\0");
}
try {
while (TRUE) {
t0=Beat;
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("qCqAqAsEDEDqBqBetGGEs2G3C2G3C");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0"
"Hope \0we're \0right.\n\0");
Play("etCD2G3etEE2G3qFqFqAsACACsAFAFetECC",
"In \0my \0 \0corn\0 \0 \0er? \0 \0 \0 \0 \0 \0 \0"
"Hope \0we're \0right.\n\0");
}
} catch
PutExcept;
SettingsPop;
}
Song;
Binary file not shown.
+12 -11
View File
@@ -6,17 +6,18 @@ U0 Song()
music.tempo= 3.360;
music.stacatto_factor= 0.846;
try {
while (!ScanKey) {
Play("M5/4");
Play("2qGGG3qtCBA2qGGG3qtCetBBqtA",
"Hymn's \0not \0long.\n\0 \0 \0 \0Nor \0this \0song.\n\0 \0 \0 \0 \0");
Play("qEeCCqDqtCBAM4/4",
"For\0 \0 \0give!\n\0 \0 \0 \0");
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"That's \0 \0 \0all \0 \0I \0 \0say.\n\0 \0 \0 \0 \0 \0 \0");
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"This \0 \0 \0I \0 \0 \0 \0pray.\n\0 \0 \0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("M5/4");
Play("2qGGG3qtCBA2qGGG3qtCetBBqtA",
"Hymn's \0not \0long.\n\0 \0 \0 \0"
"Nor \0this \0song.\n\0 \0 \0 \0 \0");
Play("qEeCCqDqtCBAM4/4",
"For\0 \0 \0give!\n\0 \0 \0 \0");
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"That's \0 \0 \0all \0 \0I \0 \0say.\n\0 \0 \0 \0 \0 \0 \0");
Play("qDeA2G3DG2G3DFFAC2qG3eAE",
"This \0 \0 \0I \0 \0 \0 \0pray.\n\0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+9 -8
View File
@@ -6,14 +6,15 @@ U0 Song()
music.tempo= 2.646;
music.stacatto_factor= 0.989;
try {
while (!ScanKey) {
Play("2q.G3sCCqAeBB2qG3CeAAqB");
Play("q.CsCCeCCCCBDDDDDqB",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0Go!\n\0");
Play("e.AsADCeAetDDDeAsEGeBFsFDFDeEsFACGeC",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0Go!\n\0");
Play("e.AsADCeAetDDDeAsEGeBFsFDFDeEsFACGeC");
}
while (!ScanKey) {
Play("2q.G3sCCqAeBB2qG3CeAAqB");
Play("q.CsCCeCCCCBDDDDDqB",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0Go!\n\0");
Play("e.AsADCeAetDDDeAsEGeBFsFDFDeEsFACGeC",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0Go!\n\0");
Play("e.AsADCeAetDDDeAsEGeBFsFDFDeEsFACGeC");
}
} catch
PutExcept;
Snd(0);
+14 -10
View File
@@ -5,16 +5,20 @@ U0 Song()
MusicSettingsRst;
music.tempo=2.5;
try {
while (!ScanKey) {
Play("3sF2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"In \0 \0the \0 \0twi\0light \0zone,\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("F2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"keep \0 \0a \0 \0friend\0ly \0tone.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Mind \0 \0in \0 \0knots? \0 \0 \0 \0Skip \0 \0de \0 \0bait.\n\0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Watch \0 \0those \0 \0thoughts. \0 \0 \0 \0Head \0 \0on \0 \0straight.\n\0 \0 \0 \0 \0");
}
while (!ScanKey) {
Play("3sF2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"In \0 \0the \0 \0twi\0light \0zone,\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("F2G3F2G3eGDA2GqG3eEDsAAAA2eG3FsFGFG",
"keep \0 \0a \0 \0friend\0ly \0tone.\n\0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Mind \0 \0in \0 \0knots? \0 \0 \0 \0Skip \0"
" \0de \0 \0bait.\n\0 \0 \0 \0 \0");
Play("C2G3C2G3qFG2GG3sGDGDqGsDCDC",
"Watch \0 \0those \0 \0thoughts. \0 \0 \0 \0"
"Head \0 \0on \0 \0straight.\n\0 \0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+8 -4
View File
@@ -22,13 +22,17 @@ U0 Song()
DocRecalc(DocPut(task)); //Reformat word-wrap with new window size.
while (!ScanKey) {
Play("3qGsB2G3B2G3eF2G3sGGGGeRFC2G3qFC",
"Where's \0my \0 \0 \0next \0 \0 \0meal!!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"Where's \0my \0 \0 \0next \0 \0 \0meal!!\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("GsB2G3B2G3eF2G3sGGGGeRFC2G3qFC",
"God, \0we \0 \0 \0had \0 \0a \0deal!!\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"God, \0we \0 \0 \0had \0 \0a \0deal!!\n\0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0");
Play("B2GsG3A2G3AeCCsCECEqACsGFGF",
"Day \0old \0bread?\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"Day \0old \0bread?\n\0 \0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0");
Play("qB2GsG3A2G3AeCCsCECEqACsGFGF",
"'Dai\0ly' \0I \0 \0 \0 \0said.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"'Dai\0ly' \0I \0 \0 \0 \0said.\n\0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
+14 -10
View File
@@ -6,16 +6,20 @@ U0 Song()
music.tempo= 1.820;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3eC2G3DDEDqCeEEGFGFqE",
"Sit\0ting \0 \0 \0on \0the \0fence,\n\0is \0 \0 \0 \0no \0de\0fence.\n\0");
Play("sFFeGFEFEqDsCCeDCBqBB",
"Is \0this \0seat \0 \0 \0tak\0 \0en?\n\0An\0 \0y\0one \0op\0 \0pose?\n\0");
Play("etB2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0a \0step.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("B2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0the \0step,\n\0 \0 \0 \0 \0 \0 \0 \0not \0back.\n\0 \0 \0 \0");
}
while (!ScanKey) {
Play("3eC2G3DDEDqCeEEGFGFqE",
"Sit\0ting \0 \0 \0on \0the \0fence,\n\0is \0"
" \0 \0 \0no \0de\0fence.\n\0");
Play("sFFeGFEFEqDsCCeDCBqBB",
"Is \0this \0seat \0 \0 \0tak\0 \0en?\n\0An\0"
" \0y\0one \0op\0 \0pose?\n\0");
Play("etB2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0a \0step.\n\0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0");
Play("B2GG3qE2eG3FEEetFBAqFDetFCC",
"Take \0 \0the \0step,\n\0 \0 \0 \0 \0 \0 \0"
" \0not \0back.\n\0 \0 \0 \0");
}
} catch
PutExcept;
Snd(0);
+6 -3
View File
@@ -13,11 +13,14 @@ U0 Song()
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
while (!ScanKey) {
Play("3sDDDACCADDACCAe.DsCCC2G3FD2G3FD2G3CCAe.D",
"I \0 \0 \0 \0got \0 \0 \0paid, \0 \0 \0to\0 \0 \0day.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"I \0 \0 \0 \0got \0 \0 \0paid, \0 \0 \0to\0 \0 \0"
"day.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("qD2sG3G2G3GetGDAeF2GqG3etFBAEACECE",
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0can't \0 \0 \0get \0 \0to \0");
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0I \0 \0 \0"
"can't \0 \0 \0get \0 \0to \0");
Play("qD2sG3G2G3GetGDAeF2GqG3etFBAEACECE",
"sleep.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
"sleep.\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0"
" \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
+13 -12
View File
@@ -27,7 +27,7 @@ U0 Bird(CDC *dc,F64 wing_
p[1].x=0; p[1].y=0; p[1].z=BODY;
p[2].x=WING*Cos(wing_é); p[2].y=-WING*Sin(wing_é); p[2].z=0;
GrFillPoly3(dc,3,p);
dc->color=ROPF_DITHER+WHITE<<16+LTGRAY;
GrLine3(dc,0,0,-BODY,0,0,BODY);
}
@@ -41,7 +41,7 @@ U0 DrawIt(CTask *,CDC *dc)
{
I64 i;
F64 é,dt=Beat-t0;
DCAllocDepthBuf(dc);
DCDepthBufAlloc(dc);
dc->x=325;
dc->y=95;
dc->z=GR_Z_ALL;
@@ -50,11 +50,12 @@ U0 DrawIt(CTask *,CDC *dc)
bx[i]=Clamp(bx[i]+0.25*SignI64(RandI16),-RANGE,RANGE);
by[i]=Clamp(by[i]+0.25*SignI64(RandI16),-RANGE,RANGE);
é=ã/2*i/NUM_BIRDS+0.2*ã*dt+ã/2;
GrIdentEqu(dc->r);
GrRotXEqu(dc->r,ã/2);
GrRotZEqu(dc->r,é);
GrSetTranslation(dc->r,50*Cos(é)+bx[i],50*Sin(é)+by[i],30*i/NUM_BIRDS+4*dt);
GrRotXEqu(dc->r,0.35*ã);
Mat4x4IdentEqu(dc->r);
Mat4x4RotX(dc->r,ã/2);
Mat4x4RotZ(dc->r,é);
Mat4x4TranslationEqu(dc->r,50*Cos(é)+bx[i],50*Sin(é)+by[i],
30*i/NUM_BIRDS+4*dt);
Mat4x4RotX(dc->r,0.35*ã);
Bird(dc,Sin(2*ã*dt+i*2*ã/NUM_BIRDS));
}
}
@@ -76,11 +77,11 @@ U0 Song()
try {
"$$BG+H,LTCYAN$$";
while (!ScanKey) {
t0=Beat;
Play("3eDEqFFetEEFqDeCDDEetCGF");
Play("eDEqFFetEEFqDeCDDEetCGF");
Play("eDCqDEeAAetEEFEDGBDCqF");
Play("eDCqDEeAAetEEFEDGBDCqF");
t0=Beat;
Play("3eDEqFFetEEFqDeCDDEetCGF");
Play("eDEqFFetEEFqDeCDDEetCGF");
Play("eDCqDEeAAetEEFEDGBDCqF");
Play("eDCqDEeAAetEEFEDGBDCqF");
}
} catch
PutExcept;
+6 -6
View File
@@ -6,12 +6,12 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3eCGFsDAe.C2sG3eGDqCDeGsGG2qG");
Play("3eCGFsDAe.C2sG3eGDqCDeGsGG2qG");
Play("3eGECGCAFCsCBCBe.GsG2qG3B");
Play("eGECGCAFCsCBCBe.GsG2qG3B");
}
while (!ScanKey) {
Play("3eCGFsDAe.C2sG3eGDqCDeGsGG2qG");
Play("3eCGFsDAe.C2sG3eGDqCDeGsGG2qG");
Play("3eGECGCAFCsCBCBe.GsG2qG3B");
Play("eGECGCAFCsCBCBe.GsG2qG3B");
}
} catch
PutExcept;
Snd(0);
Binary file not shown.
+17 -16
View File
@@ -6,22 +6,23 @@ U0 Song()
music.tempo= 2.480;
music.stacatto_factor= 0.902;
try {
while (!ScanKey) {
Play("3qFCeEAEAqDeCEqBA",
"This \0 \0 \0 \0 \0 \0sand\0wich \0is \0bland.\n\0 \0");
Play("eCCqDeDDqEeAECECEqA",
"God \0 \0damn, \0my \0 \0tastes \0 \0 \0 \0sure \0 \0are \0grand.\n\0");
Play("M6/8");
Play("FEB2G3sAGeCqE",
"Ho \0hum. \0 \0 \0 \0How \0 \0rude!\n\0");
Play("FEB2G3sAGeCqE",
"That \0bum \0 \0 \0 \0likes \0his \0food.\n\0");
Play("2G3sAGeDqGFEB",
" \0 \0Likes \0his \0food!\n\0 \0 \0 \0");
Play("2G3sAAeEqD2G3sDBDB2eGG");
Play("3AsEDqAeAsBGEBEB2qG3sDBDB");
Play("2eGG3AsEDqAeAsBGEBEB");
}
while (!ScanKey) {
Play("3qFCeEAEAqDeCEqBA",
"This \0 \0 \0 \0 \0 \0sand\0wich \0is \0bland.\n\0 \0");
Play("eCCqDeDDqEeAECECEqA",
"God \0 \0damn, \0my \0 \0tastes \0 \0 \0 \0"
"sure \0 \0are \0grand.\n\0");
Play("M6/8");
Play("FEB2G3sAGeCqE",
"Ho \0hum. \0 \0 \0 \0How \0 \0rude!\n\0");
Play("FEB2G3sAGeCqE",
"That \0bum \0 \0 \0 \0likes \0his \0food.\n\0");
Play("2G3sAGeDqGFEB",
" \0 \0Likes \0his \0food!\n\0 \0 \0 \0");
Play("2G3sAAeEqD2G3sDBDB2eGG");
Play("3AsEDqAeAsBGEBEB2qG3sDBDB");
Play("2eGG3AsEDqAeAsBGEBEB");
}
} catch
PutExcept;
Snd(0);
+94
View File
@@ -0,0 +1,94 @@
//7 has graphics
F64 t0=Beat;
U0 MyCircle3(CDC *dc,I64 x,I64 y,I64 z,I64 r)
{
F64 é,dé=1.0/r;
for (é=0;é<2*ã;é+=dé)
GrPlot3(dc,x+r*Cos(é),y+r*Sin(é),z);
}
U0 MyCylinder(CDC *dc,I64 x,I64 y,I64 z1,I64 z2,I64 r)
{
I64 z;
for (z=z1;z<z2;z++)
MyCircle3(dc,x,y,z,r);
}
U0 DrawIt(CTask *,CDC *dc)
{
F64 dt=Beat-t0,r1=12,r2=10,w1=25,w2=20,w3=18;
DCDepthBufAlloc(dc);
dc->x=300;
dc->y=35;
dc->z=GR_Z_ALL;
dc->flags|=DCF_TRANSFORMATION;
Mat4x4RotX(dc->r,Sin(ã*dt/4)/8);
Mat4x4RotY(dc->r,ã*dt/16);
w1+=3*Sin(ã*dt/3);
dc->color=BROWN;
MyCylinder(dc,0,0,-w3,w3,r2);
dc->color=YELLOW;
MyCylinder(dc,0,0,-w1-w2/2+0,-w1-w2/2+1,r1);
dc->color=BLACK;
MyCylinder(dc,0,0,-w1-w2/2+1,-w1-w2/2+2,r1);
dc->color=LTGRAY;
MyCylinder(dc,0,0,-w1-w2/2+2,-w1+w2/2-2,r1);
dc->color=BLACK;
MyCylinder(dc,0,0,-w1+w2/2-2,-w1+w2/2-1,r1);
dc->color=YELLOW;
MyCylinder(dc,0,0,-w1+w2/2-1,-w1+w2/2,r1);
dc->color=BLACK;
GrLine3(dc,r1,0,-w1-w2/2+1, r1,0,-w1-w2/2+w2-2);
dc->color=YELLOW;
MyCylinder(dc,0,0,w1-w2/2+0,w1-w2/2+1,r1);
dc->color=BLACK;
MyCylinder(dc,0,0,w1-w2/2+1,w1-w2/2+2,r1);
dc->color=LTGRAY;
MyCylinder(dc,0,0,w1-w2/2+2,w1+w2/2-2,r1);
dc->color=BLACK;
MyCylinder(dc,0,0,w1+w2/2-2,w1+w2/2-1,r1);
dc->color=YELLOW;
MyCylinder(dc,0,0,w1+w2/2-1,w1+w2/2,r1);
dc->color=BLACK;
GrLine3(dc,r1,0,w1-w2/2+1, r1,0,w1-w2/2+w2-2);
}
U0 Song()
{
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
Fs->draw_it=&DrawIt;
Fs->task_end_cb=&SndTaskEndCB;
MusicSettingsRst;
music.tempo= 2.480;
music.stacatto_factor= 0.824;
try {
while (!ScanKey) {
t0=Beat;
Play("2eG3sEAeADDG2qG3sFGeCGBsDE2eG3EB",
"Was \0 \0Ga\0li\0le\0o \0 \0wrong?\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("2G3sEAeADsDDeG2qG3sFGeCGBsDE2eG3EB",
"His \0 \0brain \0 \0was \0might\0 \0y \0strong.\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("etEDE4A3GFeEGqDsDGeAsAGAGqAeEC",
"Did \0you \0 \0real\0ly \0want \0to \0 \0win?\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
Play("etEDE4A3GFeEGqDsDGeAsAGAGqAeEC",
"We \0have \0 \0us, \0a \0real \0Huck \0 \0Finn.\n\0"
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
}
} catch
PutExcept;
SettingsPop;
}
Song;
Binary file not shown.
Loaded 100 of 554 files, more files were not shown because too many files have changed in this diff. Show more