Files
TempleOS-Rijn/Apps/Psalmody/Examples/furnishing.CPP
T
2018-09-08 21:46:22 +02:00

84 lines
5.2 KiB
C++

//8 has graphics
$SP,"<1>",BI=1$
#define SIDE 20
#define BLADES (SIDE*SIDE)
F64 blades_é[BLADES];
F64 t0=Beat;
U0 DrawIt(CTask *,CDC *dc)
{
I64 i,j,k;
F64 x,y,x2,y2,dt=Beat-t0;
DCDepthBufAlloc(dc);
dc->x=300;
dc->y=30;
dc->z=GR_Z_ALL;
dc->flags|=DCF_TRANSFORMATION;
if (dt<16)
Mat4x4RotZ(dc->r,(dt+5)*ă/4);
else
Mat4x4RotZ(dc->r,5*ă/4);
Mat4x4RotX(dc->r,-5*ă/4);
Mat4x4Scale(dc->r,0.75);
Sprite3(dc,0,0,0,$IB,"<1>",BI=1$);
if (dt>=16) {
dc->color=GREEN;
dt=0.5*(dt-16);
k=0;
for (i=0,y=-50;i<SIDE;i++,y+=100.0/SIDE)
for (j=0,x=-50;j<SIDE;j++,x+=100.0/SIDE) {
P2R(&x2,&y2,dt,blades_é[k++]);
GrLine3(dc,x,y,-40,x+x2,y+y2,-40+dt*2);
}
}
}
U0 Song()
{
I64 i;
for (i=0;i<BLADES;i++)
blades_é[i]=2*ă*Rand;
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) {
t0=Beat;
Play("3etAAA2eGF3A2GqF3etAAA2eGF3A2GqF",
"Je\0 \0sus \0 \0made \0fur\0ni\0ture.\n\0"
"Je\0 \0sus \0 \0made \0fur\0ni\0ture.\n\0");
Play("etGGG3eAB2G3A2qGetGGG3eAB2G3A2qG",
"God \0 \0 \0made \0 \0all \0Na\0ture.\n\0"
"God \0 \0 \0made \0 \0all \0Na\0ture.\n\0");
Play("G3etGDC2qG3eCDetDACCA2G3sBABA2eG3F");
Play("2qG3etGDC2qG3eCDetDACCA2G3sBABA2eG3F");
}
} catch
PutExcept;
SettingsPop;
}
Song;
ęx”ç˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ç˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ç˙˙˙ç˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ě˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙ç˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙Ř˙˙˙ç˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙â˙˙˙(ě˙˙˙â˙˙˙(ě˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ě˙˙˙â˙˙˙(â˙˙˙(ç˙˙˙(ç˙˙˙(ç˙˙˙(ç˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙ě˙˙˙ç˙˙˙â˙˙˙(ě˙˙˙â˙˙˙(ě˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙(ç˙˙˙ç˙˙˙ě˙˙˙ě˙˙˙ě˙˙˙â˙˙˙(â˙˙˙(ç˙˙˙(ç˙˙˙(ç˙˙˙(

  


 


!  !&%$$#&%$ $ $ #$!% !&%&#&!+*))(+0/..-0/.*.)*.)((-.+/*+0/0-(0(+534352:9887:9848348322785945:9:72:25?>==<?DCBBADCB>B=>B=<<AB?C>?DCDA<D<?IGHGIFNMLLKNMLHLGHLGFFKLIMHINMNKFNFI(

2(SRQQPSXVWVXUWVRVQRVQPPUVSWRSXWXUPXPS]\[[Z]ba``_ba`\`[\`[ZZ_`]a\]bab_ZbZ]gfeedgljkjlikjfjefjeddijgkfglklidldgqpoonqvuttsvutptoptonnstqupqvuvsnvnq_
U_