84 lines
1.9 KiB
C++
84 lines
1.9 KiB
C++
//7 has graphics
|
||
|
||
$SP,"",BI=1$
|
||
|
||
|
||
|
||
|
||
|
||
$SP,"",BI=2$$SP,"",BI=3$
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
F64 t0=Beat;
|
||
|
||
U0 DrawIt(CTask *,CDC *dc)
|
||
{
|
||
F64 y,dt=Beat-t0;
|
||
if (dt>=24.0)
|
||
Sprite3(dc,0,0,0,$IB,"<3>",BI=3$);
|
||
else {
|
||
y=Sin(2*ã*FullSaw(dt,4));
|
||
Sprite3(dc,0,5.0*y,0,$IB,"<1>",BI=1$);
|
||
Sprite3(dc,0,-5.0*y,0,$IB,"<3>",BI=3$);
|
||
}
|
||
}
|
||
|
||
U0 Song()
|
||
{
|
||
CTask *task;
|
||
SettingsPush; //See $LK,"SettingsPush",A="MN:SettingsPush"$
|
||
Fs->text_attr=CYAN<<4+BLACK;
|
||
Fs->draw_it=&DrawIt;
|
||
Fs->task_end_cb=&SndTaskEndCB;
|
||
MusicSettingsRst;
|
||
music.tempo=2.5;
|
||
try {
|
||
task=PopUpViewPrint("$LK,"BF:Mark,4:37"$\n");
|
||
TaskWait(task);
|
||
WinHorz(Fs->win_left,Fs->win_right,task);
|
||
WinVert(Fs->win_bottom+3,Fs->win_bottom+15,task);
|
||
while (!ScanKey) {
|
||
t0=Beat;
|
||
DocClear;
|
||
"$$FD,WHITE$$$$BG,CYAN$$\n";
|
||
Play("3qEsGEGEqDsCCCCqBsDEDEqFG",
|
||
"Lord, \0there's \0 \0a \0 \0storm \0u\0 \0 \0 \0"
|
||
"pon \0the \0 \0 \0 \0sea.\n\0 \0");
|
||
Play("EsGEGEqDsCCCCqBsDEDEqFG",
|
||
"Lord, \0there's \0 \0a \0 \0storm \0u\0 \0 \0 \0"
|
||
"pon \0the \0 \0 \0 \0sea.\n\0 \0");
|
||
Play("GEC2G3etB2G3FGGEDBBeBE",
|
||
"$$RED$$Re\0lax \0fel\0las.$$FG$$\n\0"
|
||
" \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
|
||
Play("qGEC2G3etB2G3FGGEDBBeBE",
|
||
"(Sea \0be\0came \0glass.)\n\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0");
|
||
}
|
||
} catch
|
||
PutExcept;
|
||
SettingsPop;
|
||
}
|
||
|
||
Song;
|
||
|